tarsk 0.5.76 → 0.5.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/index.js +159 -45
  2. package/dist/public/assets/account-view-DqN6PuZx.js +1 -0
  3. package/dist/public/assets/api-BEi04Nbw.js +2 -0
  4. package/dist/public/assets/{async-error-boundary-BX1G17o9.js → async-error-boundary-p7xL6pqw.js} +1 -1
  5. package/dist/public/assets/{async-loading-fallback-V0EaQ_Kn.js → async-loading-fallback-cCtsF_26.js} +1 -1
  6. package/dist/public/assets/browser-tab-D8O7Fv9w.js +12 -0
  7. package/dist/public/assets/{button-kWtLAMpB.js → button-D1ArHt_o.js} +1 -1
  8. package/dist/public/assets/{card-B_EASkic.js → card-Bp7fZl_f.js} +1 -1
  9. package/dist/public/assets/chat-dock-context-BlxEXa9b.js +1 -0
  10. package/dist/public/assets/commit-dialog-DY4D8-I1.js +1 -0
  11. package/dist/public/assets/{commit-error-dialog-CdcGI69P.js → commit-error-dialog-DBXZAW1l.js} +1 -1
  12. package/dist/public/assets/{commit-method-fields-BtEHb0_G.js → commit-method-fields-C335Y5Id.js} +1 -1
  13. package/dist/public/assets/{context-menu-BcM6I0Sx.js → context-menu-BUjcm0iJ.js} +1 -1
  14. package/dist/public/assets/conversation-history-view-DQ_PXqZ9.js +1 -0
  15. package/dist/public/assets/{create-project-dialog-a6Wgq-Z8.js → create-project-dialog-fc3B-dqb.js} +2 -2
  16. package/dist/public/assets/create-repo-dialog-DchKq-aa.js +1 -0
  17. package/dist/public/assets/delete-confirm-dialog-DEuqA4Wk.js +1 -0
  18. package/dist/public/assets/diff-view-CVlpWjUp.js +4 -0
  19. package/dist/public/assets/dist-BGVtJOIV.js +2 -0
  20. package/dist/public/assets/{dist-C2G92uPn.js → dist-BQOHvuU5.js} +1 -1
  21. package/dist/public/assets/{dist-CHhgoHp6.js → dist-BrrQ4RKZ.js} +1 -1
  22. package/dist/public/assets/{dist-D-2G8xGB.js → dist-CRRMWh4A.js} +1 -1
  23. package/dist/public/assets/{dist-c_QADQ5u.js → dist-DLuGyArC.js} +1 -1
  24. package/dist/public/assets/{dist-DoxvnNEY.js → dist-DSd8c-dh.js} +1 -1
  25. package/dist/public/assets/{dist-DD4GtbiM.js → dist-DTleMiQ4.js} +1 -1
  26. package/dist/public/assets/{dist-DsmF-KJ-.js → dist-bBjaCw3d.js} +1 -1
  27. package/dist/public/assets/{dist-yM5kyz9Q.js → dist-sGpOBecq.js} +1 -1
  28. package/dist/public/assets/{es2015-BlPKkFZZ.js → es2015-SVM3tAoD.js} +1 -1
  29. package/dist/public/assets/{explorer-monaco-editor-BdZ_bBqh.js → explorer-monaco-editor-DuU68YH9.js} +1 -1
  30. package/dist/public/assets/explorer-tab-view-CHQ0mxMq.js +2 -0
  31. package/dist/public/assets/explorer-tree-BHqNnEtP.js +1 -0
  32. package/dist/public/assets/explorer-view-CgdDN1D-.js +76 -0
  33. package/dist/public/assets/{git-history-dialog-DL0Trxiz.js → git-history-dialog-BAWqdcQy.js} +1 -1
  34. package/dist/public/assets/index-BHXl-V4W.js +3665 -0
  35. package/dist/public/assets/{index-BLNUy5nZ.css → index-CLo6-Tya.css} +1 -1
  36. package/dist/public/assets/{model-list-controls-I67L2x3H.js → model-list-controls-BTd-p6XD.js} +1 -1
  37. package/dist/public/assets/onboarding-dialog-DXg4wTyD.js +1 -0
  38. package/dist/public/assets/project-coding-view-R1jPpXkA.js +1 -0
  39. package/dist/public/assets/{project-danger-zone-view-CkvKOQrl.js → project-danger-zone-view-B8gSJxHw.js} +1 -1
  40. package/dist/public/assets/project-env-vars-view-CHfsOYa_.js +1 -0
  41. package/dist/public/assets/project-model-aliases-view-DnEbS87g.js +1 -0
  42. package/dist/public/assets/project-settings-view-34BqFxN-.js +1 -0
  43. package/dist/public/assets/project-tools-view-DCBhdS_I.js +1 -0
  44. package/dist/public/assets/providers-list-view-m6xHKltt.js +1 -0
  45. package/dist/public/assets/pull-request-dialog-Bmtin2Mh.js +1 -0
  46. package/dist/public/assets/{pull-with-changes-dialog-V3_km2zQ.js → pull-with-changes-dialog-Cmh1vFmo.js} +1 -1
  47. package/dist/public/assets/{push-before-pr-dialog-CarrD3y2.js → push-before-pr-dialog-CxboQlmj.js} +1 -1
  48. package/dist/public/assets/{radio-group-Dn_pN-pn.js → radio-group-DzcDTzWb.js} +1 -1
  49. package/dist/public/assets/{scroll-area-lkVMElz5.js → scroll-area-DgahW31C.js} +1 -1
  50. package/dist/public/assets/settings-general-view-XHYGeoAk.js +1 -0
  51. package/dist/public/assets/{settings-list-DiiYzOxn.js → settings-list-D-51AyVy.js} +1 -1
  52. package/dist/public/assets/{settings-logs-view-DbKM1SNk.js → settings-logs-view-BiY8r9HI.js} +3 -3
  53. package/dist/public/assets/settings-mcp-servers-view-DEmqI7is.js +5 -0
  54. package/dist/public/assets/settings-models-view-CB6htSan.js +1 -0
  55. package/dist/public/assets/settings-skills-view-QL-AL_vP.js +3 -0
  56. package/dist/public/assets/settings-slack-view-Bo1oDUFr.js +1 -0
  57. package/dist/public/assets/settings-slash-commands-view-CUY_SkzD.js +1 -0
  58. package/dist/public/assets/settings-statistics-view-B1iibWb7.js +1 -0
  59. package/dist/public/assets/settings-storage-view-BClnyDai.js +1 -0
  60. package/dist/public/assets/settings-subagents-view-D4OEJJk8.js +2 -0
  61. package/dist/public/assets/settings-system-prompt-view-e6CgLFVs.js +1 -0
  62. package/dist/public/assets/settings-view-Bk-knKOJ.js +2 -0
  63. package/dist/public/assets/{slug-utils-CQ8PMWUL.js → slug-utils-DgUDtDRP.js} +1 -1
  64. package/dist/public/assets/store-IJouqtOd.js +9 -0
  65. package/dist/public/assets/{table-A3cgauiZ.js → table-CYtkHxHy.js} +1 -1
  66. package/dist/public/assets/tasks-view-DpGp9_WH.js +1 -0
  67. package/dist/public/assets/{terminal-panel-DIh6it7K.js → terminal-panel-OW4yyorA.js} +3 -3
  68. package/dist/public/assets/{toggle-group-Q36wRGKA.js → toggle-group-rSptomuG.js} +1 -1
  69. package/dist/public/assets/{tooltip-Db8UeYxm.js → tooltip-BqGy0Y1-.js} +1 -1
  70. package/dist/public/assets/{use-active-dock-panel-instance-DRfRj6MV.js → use-active-dock-panel-instance-DjhNdiNZ.js} +1 -1
  71. package/dist/public/assets/use-installed-ai-files-BcrX9Nna.js +1 -0
  72. package/dist/public/assets/{useBaseQuery-34f0-SVd.js → useBaseQuery-BytIT4Si.js} +1 -1
  73. package/dist/public/assets/{web-Bn9n5e7r.js → web-BogjYrUi.js} +1 -1
  74. package/dist/public/assets/{web-Dk3GAfTy.js → web-C28hpsuV.js} +1 -1
  75. package/dist/public/assets/{web-DycfRH4j.js → web-CWmUhqaq.js} +1 -1
  76. package/dist/public/assets/{web-C2KGFouM.js → web-HPHkrB3q.js} +1 -1
  77. package/dist/public/index.html +22 -26
  78. package/package.json +1 -1
  79. package/dist/public/assets/account-view-CWtpznW2.js +0 -1
  80. package/dist/public/assets/alert-dialog-BxMfaLuO.js +0 -7
  81. package/dist/public/assets/api-DX1ny6q-.js +0 -2
  82. package/dist/public/assets/browser-tab-D_5MLhxE.js +0 -12
  83. package/dist/public/assets/chat-dock-context-8K8Ikjgy.js +0 -1
  84. package/dist/public/assets/commit-dialog-CSXPoomw.js +0 -1
  85. package/dist/public/assets/conversation-history-view-CuzU9qF6.js +0 -1
  86. package/dist/public/assets/create-project-workspace-Dv_lEfZx.js +0 -2
  87. package/dist/public/assets/create-repo-dialog-BTIQ5Nw4.js +0 -1
  88. package/dist/public/assets/delete-confirm-dialog-Dl76vaxb.js +0 -1
  89. package/dist/public/assets/diff-view-DA1uT9tc.js +0 -4
  90. package/dist/public/assets/dist-CTLFS4dn.js +0 -2
  91. package/dist/public/assets/explorer-tab-view-CewTYYOm.js +0 -2
  92. package/dist/public/assets/explorer-tree-C0VDhihz.js +0 -1
  93. package/dist/public/assets/explorer-view-RCfDm3p5.js +0 -76
  94. package/dist/public/assets/index-B3-5kIOf.js +0 -3658
  95. package/dist/public/assets/merged-pr-dialog-BzND8nzx.js +0 -1
  96. package/dist/public/assets/onboarding-dialog-DY8v11hv.js +0 -1
  97. package/dist/public/assets/project-coding-view-DxOwsjtt.js +0 -1
  98. package/dist/public/assets/project-env-vars-view-DYLWA7s0.js +0 -1
  99. package/dist/public/assets/project-model-aliases-view-DWu9khLA.js +0 -1
  100. package/dist/public/assets/project-settings-view-DJfmaWn6.js +0 -1
  101. package/dist/public/assets/project-tools-view-BEjBkghz.js +0 -1
  102. package/dist/public/assets/providers-list-view-jMEPJCci.js +0 -1
  103. package/dist/public/assets/pull-request-dialog-B_JCqT53.js +0 -1
  104. package/dist/public/assets/settings-general-view-BhrfHGfQ.js +0 -1
  105. package/dist/public/assets/settings-mcp-servers-view-4FpPIeYV.js +0 -5
  106. package/dist/public/assets/settings-models-view-CJVeo9ad.js +0 -1
  107. package/dist/public/assets/settings-skills-view-DoRPGbHG.js +0 -3
  108. package/dist/public/assets/settings-slack-view-Cc1NgVkx.js +0 -1
  109. package/dist/public/assets/settings-slash-commands-view-CmlWqqmi.js +0 -1
  110. package/dist/public/assets/settings-statistics-view-DRuyEbcN.js +0 -1
  111. package/dist/public/assets/settings-storage-view-DihbtUYb.js +0 -1
  112. package/dist/public/assets/settings-subagents-view-B2RvxDZI.js +0 -2
  113. package/dist/public/assets/settings-system-prompt-view-CvVbgjNN.js +0 -1
  114. package/dist/public/assets/settings-view-CPUAjTMa.js +0 -2
  115. package/dist/public/assets/store-BSzKIu5G.js +0 -9
  116. package/dist/public/assets/tasks-view-CvFFLPeD.js +0 -1
  117. package/dist/public/assets/use-installed-ai-files-C8nNWGC7.js +0 -1
  118. package/dist/public/assets/use-suspense-resource-Dakt9lfT.js +0 -1
  119. package/dist/public/assets/use-toast-xpb5jNtN.js +0 -1
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{a as i,n as a,r as o}from"./chat-dock-context-BlxEXa9b.js";import{B as s,Dt as c,H as l,N as u,U as d,V as f,W as p,d as m,q as h}from"./dist-BGVtJOIV.js";import{n as g,r as _,tt as v}from"./store-IJouqtOd.js";import{m as y,r as b,t as x}from"./button-D1ArHt_o.js";import{$ as S,O as C,Ot as w,Pn as T,bt as E,fn as D,it as O,j as k,mn as A,ot as j,q as ee,rt as te,v as M,wn as ne,y as re}from"./dist-DLuGyArC.js";import{i as ie,n as ae,r as oe,t as se}from"./tooltip-BqGy0Y1-.js";import{Dt as N,Jt as P,d as ce,yt as le}from"./api-BEi04Nbw.js";import{n as ue,r as de}from"./scroll-area-DgahW31C.js";import{t as fe}from"./suspense-resource-BFrb_XJX.js";import{$t as pe,At as F,Bn as me,Bt as he,Cr as ge,Dr as I,En as _e,Er as L,Ft as ve,Gn as ye,Gt as be,Hn as xe,Jn as Se,Jt as R,Kn as Ce,Kt as we,L as Te,Ln as Ee,Mt as z,Or as B,Pt as De,Qt as Oe,Rn as ke,Sr as V,Tn as Ae,Tr as je,Un as Me,Vn as Ne,Wn as Pe,Wt as Fe,Xt as Ie,Yn as Le,Yt as H,Zn as Re,Zt as ze,_n as Be,an as Ve,bn as He,br as U,cn as Ue,dn as We,dr as W,en as Ge,fn as Ke,gn as G,gr as K,hn as q,in as qe,j as Je,jt as Ye,ln as Xe,mn as Ze,mr as J,nn as Qe,on as $e,p as et,pn as tt,pr as Y,qn as nt,qt as rt,rn as it,rt as at,sn as ot,tn as st,un as ct,vn as lt,wn as ut,wr as dt,xn as ft,xr as pt,yn as mt,zt as ht}from"./index-BHXl-V4W.js";import{t as gt}from"./async-error-boundary-p7xL6pqw.js";var X=e(n(),1),Z=t(),Q=r();function _t(e){let t=(0,Z.c)(10),{tag:n,className:r}=e,i;t[0]===r?i=t[1]:(i=b(c.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let a;t[2]===n.color?a=t[3]:(a=(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:n.color}}),t[2]=n.color,t[3]=a);let o;t[4]===n.name?o=t[5]:(o=(0,Q.jsx)(`span`,{className:`truncate`,children:n.name}),t[4]=n.name,t[5]=o);let s;return t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,Q.jsxs)(`span`,{className:i,children:[a,o]}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}var vt={Plan:`#EAB308`,Build:`#3B82F6`,Test:`#8B5CF6`,Review:`#F97316`,Done:`#22C55E`};function yt(e){let t=(0,Z.c)(10),{status:n,className:r}=e,i;t[0]===r?i=t[1]:(i=b(c.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let a=vt[n],o;t[2]===a?o=t[3]:(o=(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:a}}),t[2]=a,t[3]=o);let s;t[4]===n?s=t[5]:(s=(0,Q.jsx)(`span`,{className:`truncate`,children:n}),t[4]=n,t[5]=s);let l;return t[6]!==i||t[7]!==o||t[8]!==s?(l=(0,Q.jsxs)(`span`,{className:i,children:[o,s]}),t[6]=i,t[7]=o,t[8]=s,t[9]=l):l=t[9],l}var bt=u(`app.run-history-dialog`),xt={schedule:{label:`Schedule`,icon:ne},event:{label:`Event`,icon:M},manual:{label:`Manual`,icon:O}};function St(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function Ct(e){let t=(0,Z.c)(6),{trigger:n}=e,r=xt[n],i=r.icon,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=b(c.compact,`inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-1.5 py-0.5 text-muted-foreground`),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=(0,Q.jsx)(i,{className:`h-3 w-3`}),t[1]=i,t[2]=o);let s;return t[3]!==r.label||t[4]!==o?(s=(0,Q.jsxs)(`span`,{className:a,children:[o,r.label]}),t[3]=r.label,t[4]=o,t[5]=s):s=t[5],s}function wt(e){let t=(0,Z.c)(23),{run:n,canOpen:r,onOpenRun:i}=e,a=r?`hover:bg-accent/40`:`cursor-default`,o;t[0]===a?o=t[1]:(o=b(`flex w-full items-center gap-2 rounded-md px-2 py-2 text-left transition-colors`,a),t[0]=a,t[1]=o);let s;t[2]!==i||t[3]!==n?(s=()=>i(n),t[2]=i,t[3]=n,t[4]=s):s=t[4];let l=!r,u,d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(E,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),d=b(c.body,`min-w-0 flex-1 truncate`),t[5]=u,t[6]=d):(u=t[5],d=t[6]);let f=n.threadTitle??`Conversation deleted`,p;t[7]===f?p=t[8]:(p=(0,Q.jsx)(`span`,{className:d,children:f}),t[7]=f,t[8]=p);let m;t[9]===n.trigger?m=t[10]:(m=(0,Q.jsx)(Ct,{trigger:n.trigger}),t[9]=n.trigger,t[10]=m);let h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=b(c.caption,`shrink-0 tabular-nums text-muted-foreground`),t[11]=h):h=t[11];let g;t[12]===n.createdAt?g=t[13]:(g=St(n.createdAt),t[12]=n.createdAt,t[13]=g);let _;t[14]===g?_=t[15]:(_=(0,Q.jsx)(`span`,{className:h,children:g}),t[14]=g,t[15]=_);let v;return t[16]!==_||t[17]!==o||t[18]!==s||t[19]!==l||t[20]!==p||t[21]!==m?(v=(0,Q.jsxs)(`button`,{type:`button`,className:o,onClick:s,disabled:l,children:[u,p,m,_]}),t[16]=_,t[17]=o,t[18]=s,t[19]=l,t[20]=p,t[21]=m,t[22]=v):v=t[22],v}function Tt(e){let t=(0,Z.c)(19),{open:n,onOpenChange:r,projectId:i,taskId:a,onOpenRun:o}=e,[s,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(null),m,h;t[0]!==n||t[1]!==i||t[2]!==a?(m=()=>{if(!n)return;let e=!1;return d(!0),p(null),G(i,a).then(t=>{e||l(t)}).catch(t=>{bt.error(`Failed to load task run history:`,t),e||p(t instanceof Error?t.message:String(t))}).finally(()=>{e||d(!1)}),()=>{e=!0}},h=[n,i,a],t[0]=n,t[1]=i,t[2]=a,t[3]=m,t[4]=h):(m=t[3],h=t[4]),(0,X.useEffect)(m,h);let g=!!o,_;t[5]!==r||t[6]!==o?(_=function(e){o&&(r(!1),o(e.threadId))},t[5]=r,t[6]=o,t[7]=_):_=t[7];let v=_,y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsxs)(I,{children:[(0,Q.jsx)(B,{children:`Run History`}),(0,Q.jsx)(je,{children:`Conversations created when this task ran, newest first.`})]}),t[8]=y):y=t[8];let x;t[9]!==g||t[10]!==f||t[11]!==v||t[12]!==u||t[13]!==s?(x=(0,Q.jsxs)(dt,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-lg`,children:[y,u?(0,Q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-8 text-muted-foreground`,children:[(0,Q.jsx)(w,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{className:c.bodyMuted,children:`Loading runs…`})]}):f?(0,Q.jsxs)(`p`,{className:b(c.bodyMuted,`py-8 text-center text-destructive`),children:[`Failed to load run history: `,f]}):s&&s.length>0?(0,Q.jsx)(de,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-1 py-2`,children:s.map(e=>(0,Q.jsx)(wt,{run:e,canOpen:g&&!!e.threadTitle,onOpenRun:v},e.id))})}):(0,Q.jsx)(`p`,{className:b(c.bodyMuted,`py-8 text-center`),children:`No runs yet. Runs appear here after the task is triggered by its schedule, an event, or Run Now.`})]}),t[9]=g,t[10]=f,t[11]=v,t[12]=u,t[13]=s,t[14]=x):x=t[14];let S;return t[15]!==r||t[16]!==n||t[17]!==x?(S=(0,Q.jsx)(ge,{open:n,onOpenChange:r,children:x}),t[15]=r,t[16]=n,t[17]=x,t[18]=S):S=t[18],S}function Et(e){let t=(0,Z.c)(6);if(!e.show)return null;let n;return t[0]!==e.onOpenChange||t[1]!==e.onOpenRun||t[2]!==e.open||t[3]!==e.task.id||t[4]!==e.task.projectId?(n=(0,Q.jsx)(Tt,{open:e.open,onOpenChange:e.onOpenChange,projectId:e.task.projectId,taskId:e.task.id,onOpenRun:e.onOpenRun}),t[0]=e.onOpenChange,t[1]=e.onOpenRun,t[2]=e.open,t[3]=e.task.id,t[4]=e.task.projectId,t[5]=n):n=t[5],n}function Dt(e){let t=(0,Z.c)(3),{show:n,onSelect:r}=e;if(!n)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(K,{}),t[0]=i):i=t[0];let a;return t[1]===r?a=t[2]:(a=(0,Q.jsxs)(Q.Fragment,{children:[i,(0,Q.jsx)(J,{onClick:r,children:`Run History`})]}),t[1]=r,t[2]=a),a}function Ot({task:e,disabled:t=!1,showRunHistory:n=!1,onStartInNewWorkspace:r,onMarkDone:i,onRunNow:a,onOpenRun:o}){let[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(!1),d=$e(e)&&!e.triggerType,f=e.status!==`Done`&&!e.triggerType,p=ot(e),m=t||s;async function h(e){c(!0);try{await e()}finally{c(!1)}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(s||e.working)&&(0,Q.jsx)(Re,{size:`sm`}),(0,Q.jsxs)(W,{children:[(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsxs)(x,{variant:`ghost`,size:`icon`,className:b(`h-8 w-8 shrink-0`,e.working&&`text-primary`),disabled:m,children:[(0,Q.jsx)(A,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Task actions`})]})}),(0,Q.jsxs)(Y,{align:`end`,children:[p&&(0,Q.jsx)(J,{onClick:()=>void h(()=>a(e)),children:`Run Now`}),d&&(0,Q.jsx)(J,{onClick:()=>void h(()=>r(e)),children:`Start in a new workspace`}),f&&(0,Q.jsx)(J,{onClick:()=>void h(()=>i(e)),children:`Mark as Done`}),(0,Q.jsx)(Dt,{show:n,onSelect:()=>u(!0)})]})]})]}),(0,Q.jsx)(Et,{show:n,open:l,onOpenChange:u,task:e,onOpenRun:o})]})}function kt(e){return!!(e.tags&&e.tags.length>0)}function At(e){return e.status!==`Ready`||e.modified||kt(e)||Xe(e)}function jt(e){let t=(0,Z.c)(14),{task:n,className:r}=e,i;t[0]===n.status?i=t[1]:(i=n.status!==`Ready`&&(0,Q.jsx)(yt,{status:n.status}),t[0]=n.status,t[1]=i);let a;t[2]===n.modified?a=t[3]:(a=n.modified&&(0,Q.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-brand/15 px-2 py-0.5 text-[11px] font-medium leading-none text-brand`,children:`modified`}),t[2]=n.modified,t[3]=a);let o;t[4]===n?o=t[5]:(o=Xe(n)&&(0,Q.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-red-500/15 px-2 py-0.5 text-[11px] font-medium leading-none text-red-600 dark:text-red-400`,children:`paused`}),t[4]=n,t[5]=o);let s;t[6]===n.tags?s=t[7]:(s=n.tags?.map(function(e){return(0,Q.jsx)(_t,{tag:e},e.id)}),t[6]=n.tags,t[7]=s);let c;return t[8]!==r||t[9]!==i||t[10]!==a||t[11]!==o||t[12]!==s?(c=(0,Q.jsxs)(`div`,{className:r,children:[i,a,o,s]}),t[8]=r,t[9]=i,t[10]=a,t[11]=o,t[12]=s,t[13]=c):c=t[13],c}function Mt(e){let t=(0,Z.c)(10),{task:n,onThreadSelect:r}=e;if(!n.threadId||!r)return null;let i=n.threadId,a;t[0]!==r||t[1]!==i?(a=()=>r(i),t[0]=r,t[1]=i,t[2]=a):a=t[2];let o,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(D,{className:`h-4 w-4`}),s=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open chat`}),t[3]=o,t[4]=s):(o=t[3],s=t[4]);let c;t[5]===a?c=t[6]:(c=(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsxs)(x,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:a,children:[o,s]})}),t[5]=a,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(ae,{children:`Open chat`}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,Q.jsxs)(se,{children:[c,l]}),t[8]=c,t[9]=u),u}function Nt(e){let t=(0,Z.c)(51),{task:n,now:r,onOpenEdit:i,showRunHistory:a,onThreadSelect:o,onStartInNewWorkspace:s,onMarkDone:l,onRunNow:u,onOpenRun:d}=e,f;t[0]!==r||t[1]!==n?(f=Ue(n,r),t[0]=r,t[1]=n,t[2]=f):f=t[2];let p=f,m;t[3]!==i||t[4]!==n?(m=()=>i(n),t[3]=i,t[4]=n,t[5]=m):m=t[5];let h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=b(c.label,`truncate leading-normal`),t[6]=h):h=t[6];let g;t[7]===n.title?g=t[8]:(g=(0,Q.jsx)(`p`,{className:h,children:n.title}),t[7]=n.title,t[8]=g);let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=b(c.caption,`mt-1 line-clamp-2 break-all text-muted-foreground max-sm:hidden`),t[9]=_):_=t[9];let v;t[10]===n.description?v=t[11]:(v=(0,Q.jsx)(`p`,{className:_,children:n.description}),t[10]=n.description,t[11]=v);let y;t[12]===p?y=t[13]:(y=p&&(0,Q.jsx)(`p`,{className:b(c.caption,`mt-1 text-muted-foreground`),children:p}),t[12]=p,t[13]=y);let x;t[14]===n?x=t[15]:(x=At(n)&&(0,Q.jsx)(jt,{task:n,className:`mt-2 flex flex-wrap gap-1`}),t[14]=n,t[15]=x);let S;t[16]!==m||t[17]!==g||t[18]!==v||t[19]!==y||t[20]!==x?(S=(0,Q.jsxs)(`button`,{type:`button`,className:`col-start-1 row-start-1 block min-w-0 overflow-hidden text-left sm:flex-1`,onClick:m,children:[g,v,y,x]}),t[16]=m,t[17]=g,t[18]=v,t[19]=y,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==i||t[23]!==n?(C=()=>i(n),t[22]=i,t[23]=n,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=b(c.caption,`line-clamp-4 break-all text-muted-foreground`),t[25]=w):w=t[25];let T;t[26]===n.description?T=t[27]:(T=(0,Q.jsx)(`p`,{className:w,children:n.description}),t[26]=n.description,t[27]=T);let E;t[28]!==C||t[29]!==T?(E=(0,Q.jsx)(`button`,{type:`button`,className:`col-span-2 row-start-2 block min-w-0 overflow-hidden text-left sm:hidden`,onClick:C,children:T}),t[28]=C,t[29]=T,t[30]=E):E=t[30];let D;t[31]===n?D=t[32]:(D=At(n)&&(0,Q.jsx)(jt,{task:n,className:`col-span-2 row-start-3 flex min-w-0 flex-wrap gap-1 sm:hidden`}),t[31]=n,t[32]=D);let O;t[33]!==o||t[34]!==n?(O=(0,Q.jsx)(Mt,{task:n,onThreadSelect:o}),t[33]=o,t[34]=n,t[35]=O):O=t[35];let k;t[36]!==l||t[37]!==d||t[38]!==u||t[39]!==s||t[40]!==a||t[41]!==n?(k=(0,Q.jsx)(Ot,{task:n,showRunHistory:a,onStartInNewWorkspace:s,onMarkDone:l,onRunNow:u,onOpenRun:d}),t[36]=l,t[37]=d,t[38]=u,t[39]=s,t[40]=a,t[41]=n,t[42]=k):k=t[42];let A;t[43]!==O||t[44]!==k?(A=(0,Q.jsxs)(`div`,{className:`col-start-2 row-start-1 flex shrink-0 items-center gap-1.5 self-start`,children:[O,k]}),t[43]=O,t[44]=k,t[45]=A):A=t[45];let j;return t[46]!==E||t[47]!==D||t[48]!==A||t[49]!==S?(j=(0,Q.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] grid-rows-[auto_auto] gap-x-2 gap-y-1 px-4 py-3 hover:bg-accent/40 sm:flex sm:items-start sm:gap-4`,children:[S,E,D,A]}),t[46]=E,t[47]=D,t[48]=A,t[49]=S,t[50]=j):j=t[50],j}function Pt(e){let t=(0,Z.c)(32),{automationsOnly:n,onSearchTermChange:r}=e,[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(``),c;t[0]===r?c=t[1]:(c=function(e){s(e),r(e)},t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=function(){s(``),r(``),a(!1)},t[2]=r,t[3]=u);let d=u,f;t[4]!==d||t[5]!==i?(f=()=>{i?d():a(!0)},t[4]=d,t[5]=i,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(ee,{className:`h-4 w-4`}),t[7]=p):p=t[7];let m=n?`Search automations`:`Search tasks`,h;t[8]===m?h=t[9]:(h=(0,Q.jsx)(`span`,{className:`sr-only`,children:m}),t[8]=m,t[9]=h);let g;t[10]!==i||t[11]!==f||t[12]!==h?(g=(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsxs)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:f,"aria-expanded":i,children:[p,h]})}),t[10]=i,t[11]=f,t[12]=h,t[13]=g):g=t[13];let _=n?`Search Automations`:`Search tasks`,v;t[14]===_?v=t[15]:(v=(0,Q.jsx)(ae,{children:_}),t[14]=_,t[15]=v);let y;t[16]!==g||t[17]!==v?(y=(0,Q.jsxs)(se,{children:[g,v]}),t[16]=g,t[17]=v,t[18]=y):y=t[18];let S=i?`ml-1 w-44 opacity-100`:`w-0 opacity-0`,C;t[19]===S?C=t[20]:(C=b(`overflow-hidden transition-[width,opacity] duration-200`,S),t[19]=S,t[20]=C);let w;t[21]!==d||t[22]!==l||t[23]!==i||t[24]!==o?(w=i&&(0,Q.jsx)(V,{type:`search`,value:o,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Escape`&&d()},placeholder:`Search`,"aria-label":`Search tasks`,autoFocus:!0,className:`h-8 min-w-44 px-2`}),t[21]=d,t[22]=l,t[23]=i,t[24]=o,t[25]=w):w=t[25];let T;t[26]!==C||t[27]!==w?(T=(0,Q.jsx)(`div`,{className:C,children:w}),t[26]=C,t[27]=w,t[28]=T):T=t[28];let E;return t[29]!==y||t[30]!==T?(E=(0,Q.jsxs)(`div`,{className:`flex items-center`,children:[y,T]}),t[29]=y,t[30]=T,t[31]=E):E=t[31],E}function Ft(e){let t=(0,Z.c)(17),{automationsOnly:n,projectTags:r,hiddenTagIds:i,onToggleHiddenTag:a,onSearchTermChange:o,isRefreshing:s,onRefresh:c,onManageTags:l}=e,{setActions:u}=Je(),d;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=function(e){return i.has(e.id)},t[3]=i,t[4]=e),d=r.some(e),t[0]=i,t[1]=r,t[2]=d}else d=t[2];let f=d,p,m;return t[5]!==n||t[6]!==f||t[7]!==i||t[8]!==s||t[9]!==l||t[10]!==c||t[11]!==o||t[12]!==a||t[13]!==r||t[14]!==u?(p=()=>(u((0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Pt,{automationsOnly:n,onSearchTermChange:o}),(0,Q.jsxs)(se,{children:[(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsxs)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>c(),disabled:s,children:[(0,Q.jsx)(S,{className:b(`h-4 w-4`,s&&`animate-spin`)}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Refresh tasks`})]})}),(0,Q.jsx)(ae,{children:`Refresh`})]}),(0,Q.jsxs)(W,{children:[(0,Q.jsxs)(se,{children:[(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsxs)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{className:`relative`,children:[(0,Q.jsx)(k,{className:`h-4 w-4`}),f&&(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -right-1 -top-1 h-1.5 w-1.5 rounded-full bg-primary`})]}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Filter and manage tags`})]})})}),(0,Q.jsx)(ae,{children:`Tags`})]}),(0,Q.jsxs)(Y,{align:`end`,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-56 overflow-y-auto`,children:[r.length===0?(0,Q.jsx)(J,{disabled:!0,className:`text-muted-foreground`,children:`No tags yet`}):r.map(function(e){let t=!i.has(e.id);return(0,Q.jsxs)(J,{className:`[&_svg]:size-6`,onSelect:function(t){t.preventDefault(),a(e.id)},children:[(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:b(`flex h-7 w-7 shrink-0 items-center justify-center rounded-full border shadow-sm`,t?`border-transparent bg-foreground text-background`:`border-border bg-muted`),children:t&&(0,Q.jsx)(T,{className:`h-6 w-6`})})]},e.id)}),(0,Q.jsx)(K,{}),(0,Q.jsxs)(J,{onClick:l,children:[(0,Q.jsx)(j,{className:`h-4 w-4`}),`Edit Tags`]})]})]})]})),()=>u(null)),m=[u,n,r,i,f,a,s,c,l,o],t[5]=n,t[6]=f,t[7]=i,t[8]=s,t[9]=l,t[10]=c,t[11]=o,t[12]=a,t[13]=r,t[14]=u,t[15]=p,t[16]=m):(p=t[15],m=t[16]),(0,X.useEffect)(p,m),null}function It({selectedTags:e,existingTags:t,onChange:n,placeholder:r=`Add tags...`,allowCreate:i=!0,className:a}){let[o,u]=(0,X.useState)(``),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(0),v=(0,X.useRef)(null),y=(0,X.useMemo)(()=>new Set(e.map(e=>l(e.name))),[e]),S=e.length>=10,C=(0,X.useMemo)(()=>{let e=o.trim(),n=e.toLowerCase(),r=new Map;for(let e of t){let t=l(e.name);y.has(t)||r.set(t,{name:e.name,color:e.color})}for(let e of s){let t=l(e);!y.has(t)&&!r.has(t)&&r.set(t,{name:e,color:f(t)})}let a=(n?[...r.values()].filter(e=>e.name.toLowerCase().includes(n)):[...r.values()]).map(e=>({name:e.name,color:e.color,isCreate:!1}));if(e&&i&&!S){let t=d(e),n=l(t),i=y.has(n)||r.has(n),o=!p(t);!i&&o&&a.push({name:t,color:f(n),isCreate:!0})}return a},[o,t,y,S]);(0,X.useEffect)(()=>{_(0)},[o]),(0,X.useEffect)(function(){if(!m||S)return;let e=requestAnimationFrame(function(){v.current?.focus()});return function(){cancelAnimationFrame(e)}},[m,S]);function w(r){if(S)return;let i=d(r),a=l(i);if(y.has(a))return;let o=t.find(e=>l(e.name)===a)??{id:`new:${a}`,name:i,color:f(a)};n([...e,o]),u(``)}function T(t){n(e.filter(e=>e.id!==t.id))}function E(e){let t=e.currentTarget;t.scrollHeight>t.clientHeight&&e.stopPropagation()}function D(t){if(t.key===`ArrowDown`)t.preventDefault(),m||h(!0),_(e=>(e+1)%Math.max(C.length,1));else if(t.key===`ArrowUp`)t.preventDefault(),_(e=>(e-1+C.length)%Math.max(C.length,1));else if(t.key===`Enter`){t.preventDefault();let e=C[g];e&&w(e.name)}else t.key===`Backspace`&&!o&&e.length>0?T(e[e.length-1]):t.key===`Escape`&&(h(!1),v.current?.blur())}return(0,Q.jsxs)(ut,{open:m,onOpenChange:function(e){h(e),e||u(``)},children:[(0,Q.jsxs)(`div`,{className:b(`flex flex-wrap items-center gap-1.5`,a),children:[e.map(function(e){return(0,Q.jsxs)(W,{children:[(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,className:`rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Q.jsx)(_t,{tag:e,className:`cursor-pointer transition-colors hover:border-border hover:bg-muted/40`})})}),(0,Q.jsx)(Y,{align:`start`,sideOffset:6,children:(0,Q.jsx)(J,{onSelect:()=>T(e),children:`Delete`})})]},e.id)}),(0,Q.jsx)(oe,{children:(0,Q.jsxs)(se,{children:[(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsx)(_e,{asChild:!0,children:(0,Q.jsx)(x,{type:`button`,variant:`outline`,size:`icon-xs`,disabled:S,"aria-label":S?`Max 10 tags`:`Add tag`,className:b(`h-6 w-6 rounded-full border-dashed text-muted-foreground`,S&&`opacity-50`),children:(0,Q.jsx)(te,{className:`h-3 w-3`})})})}),(0,Q.jsx)(ae,{children:`Add Tag`})]})})]}),(0,Q.jsxs)(Ae,{align:`start`,className:`w-72 p-0`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Q.jsx)(`div`,{className:`border-b border-border p-2`,children:(0,Q.jsx)(`input`,{ref:v,type:`text`,value:o,onChange:function(e){u(e.target.value)},onKeyDown:D,placeholder:S?`Max 10 tags`:r,disabled:S,className:b(c.body,`w-full rounded-md border border-input bg-background px-3 py-2 outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`)})}),(0,Q.jsx)(`div`,{className:`overflow-y-auto overscroll-contain`,style:{maxHeight:220},onWheel:E,onTouchMove:E,children:C.length===0?(0,Q.jsx)(`p`,{className:b(c.bodyMuted,`px-3 py-4 text-center`),children:S?`Tag limit reached`:`No tags found`}):C.map(function(e,t){return(0,Q.jsxs)(`button`,{type:`button`,className:b(c.body,`flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent`,g===t&&`bg-accent`),onClick:function(){w(e.name),h(!1)},children:[(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),e.isCreate?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Create`}),(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:e.name})]}):(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]},e.isCreate?`create:${e.name}`:e.name)})})]})]})}var Lt=[{value:`0`,label:`Sunday`},{value:`1`,label:`Monday`},{value:`2`,label:`Tuesday`},{value:`3`,label:`Wednesday`},{value:`4`,label:`Thursday`},{value:`5`,label:`Friday`},{value:`6`,label:`Saturday`}],Rt=Array.from({length:60},function(e,t){return{value:String(t),label:String(t).padStart(2,`0`)}});function $(e,t){return{...e,...t}}function zt(e){let t=(0,Z.c)(7),{value:n,onChange:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(pt,{htmlFor:`schedule-once-at`,children:`Run at`}),t[0]=i):i=t[0];let a;t[1]!==r||t[2]!==n?(a=e=>r($(n,{scheduledAtLocal:e.target.value})),t[1]=r,t[2]=n,t[3]=a):a=t[3];let o;return t[4]!==a||t[5]!==n.scheduledAtLocal?(o=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[i,(0,Q.jsx)(V,{id:`schedule-once-at`,type:`datetime-local`,value:n.scheduledAtLocal,onChange:a})]}),t[4]=a,t[5]=n.scheduledAtLocal,t[6]=o):o=t[6],o}function Bt(e){let t=e.trim();if(t===``)return NaN;let n=Number(t);return Number.isNaN(n)?NaN:n}function Vt(e){return Math.min(m,Math.max(1,e))}function Ht(e){let t=(0,Z.c)(9),{value:n,onChange:r}=e,i;t[0]!==r||t[1]!==n?(i=n.preset===`weekly`&&(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(pt,{children:`Day`}),(0,Q.jsxs)(F,{value:String(n.dayOfWeek),onValueChange:e=>r($(n,{dayOfWeek:Number(e)})),children:[(0,Q.jsx)(De,{children:(0,Q.jsx)(ve,{})}),(0,Q.jsx)(Ye,{children:Lt.map(function(e){return(0,Q.jsx)(z,{value:e.value,children:e.label},e.value)})})]})]}),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]!==r||t[4]!==n?(a=n.preset===`interval`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(pt,{htmlFor:`schedule-interval-minutes`,children:`Minutes`}),(0,Q.jsx)(V,{id:`schedule-interval-minutes`,type:`number`,min:1,max:m,step:1,placeholder:`5`,value:Number.isNaN(n.presetIntervalMinutes)?``:String(n.presetIntervalMinutes),onChange:e=>r($(n,{presetIntervalMinutes:Bt(e.target.value)})),onBlur:()=>{let e=n.presetIntervalMinutes;!Number.isNaN(e)&&e!==Vt(e)&&r($(n,{presetIntervalMinutes:Vt(e)}))}})]}):n.preset===`hourly`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(pt,{children:`Minute`}),(0,Q.jsxs)(F,{value:String(n.presetMinute),onValueChange:e=>r($(n,{presetMinute:Number(e)})),children:[(0,Q.jsx)(De,{children:(0,Q.jsx)(ve,{})}),(0,Q.jsx)(Ye,{children:Rt.map(function(e){return(0,Q.jsx)(z,{value:e.value,children:e.label},e.value)})})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(pt,{htmlFor:`schedule-time`,children:`Time`}),(0,Q.jsx)(V,{id:`schedule-time`,type:`time`,value:n.presetTime,onChange:e=>r($(n,{presetTime:e.target.value}))})]}),t[3]=r,t[4]=n,t[5]=a):a=t[5];let o;return t[6]!==i||t[7]!==a?(o=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[i,a]}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}var Ut=`once`,Wt=`event`;function Gt(e){let t=(0,Z.c)(22),{value:n,onChange:r,error:i,showRemove:a,onRemove:o}=e,s=a===void 0?!1:a,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(pt,{children:`Trigger`}),t[0]=c):c=t[0];let l=n.kind===`event`?Wt:n.scheduleMode===`once`?Ut:n.preset,u;t[1]!==r||t[2]!==n?(u=e=>{r(e===Wt?$(n,{kind:`event`}):e===Ut?$(n,{kind:`schedule`,scheduleMode:`once`}):$(n,{kind:`schedule`,scheduleMode:`repeating`,preset:e}))},t[1]=r,t[2]=n,t[3]=u):u=t[3];let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(De,{children:(0,Q.jsx)(ve,{})}),t[4]=d):d=t[4];let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsxs)(Ye,{children:[(0,Q.jsx)(z,{value:Ut,children:`Once`}),(0,Q.jsx)(z,{value:`interval`,children:`Interval`}),(0,Q.jsx)(z,{value:`hourly`,children:`Hourly`}),(0,Q.jsx)(z,{value:`daily`,children:`Daily`}),(0,Q.jsx)(z,{value:`weekdays`,children:`Weekdays`}),(0,Q.jsx)(z,{value:`weekly`,children:`Weekly`}),(0,Q.jsx)(z,{value:Wt,children:`Event`})]}),t[5]=f):f=t[5];let p;t[6]!==l||t[7]!==u?(p=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[c,(0,Q.jsxs)(F,{value:l,onValueChange:u,children:[d,f]})]}),t[6]=l,t[7]=u,t[8]=p):p=t[8];let m;t[9]!==i||t[10]!==r||t[11]!==n?(m=n.kind===`event`?(0,Q.jsx)(qt,{value:n,onChange:r,error:i}):n.scheduleMode===`once`?(0,Q.jsx)(zt,{value:n,onChange:r}):(0,Q.jsx)(Ht,{value:n,onChange:r}),t[9]=i,t[10]=r,t[11]=n,t[12]=m):m=t[12];let h;t[13]!==p||t[14]!==m?(h=(0,Q.jsxs)(`div`,{className:`grid flex-1 gap-3 sm:grid-cols-2`,children:[p,m]}),t[13]=p,t[14]=m,t[15]=h):h=t[15];let g;t[16]!==o||t[17]!==s?(g=s&&(0,Q.jsxs)(x,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground`,onClick:()=>o?.(),children:[(0,Q.jsx)(re,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Remove trigger`})]}),t[16]=o,t[17]=s,t[18]=g):g=t[18];let _;return t[19]!==g||t[20]!==h?(_=(0,Q.jsx)(`div`,{className:`space-y-3`,children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[h,g]})}),t[19]=g,t[20]=h,t[21]=_):_=t[21],_}function Kt(e){return!!(e&&pe(e))}function qt(e){let t=(0,Z.c)(16),{value:n,onChange:r,error:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(pt,{htmlFor:`event-key`,children:`Event Key`}),t[0]=a):a=t[0];let o=n.eventKey,s;t[1]===i?s=t[2]:(s=Kt(i),t[1]=i,t[2]=s);let l;t[3]!==r||t[4]!==n?(l=e=>r($(n,{eventKey:e.target.value})),t[3]=r,t[4]=n,t[5]=l):l=t[5];let u;t[6]!==s||t[7]!==l||t[8]!==n.eventKey?(u=(0,Q.jsx)(V,{id:`event-key`,value:o,placeholder:`door.opened`,"aria-invalid":s,onChange:l}),t[6]=s,t[7]=l,t[8]=n.eventKey,t[9]=u):u=t[9];let d;t[10]!==i||t[11]!==n.eventKey?(d=Kt(i)?(0,Q.jsx)(`p`,{className:b(c.caption,`text-destructive`),children:i}):(0,Q.jsxs)(`p`,{className:b(c.caption,`text-muted-foreground`),children:[`Test in chat with `,(0,Q.jsxs)(`code`,{children:[`/send-event `,n.eventKey.trim()||`event.key`]})]}),t[10]=i,t[11]=n.eventKey,t[12]=d):d=t[12];let f;return t[13]!==u||t[14]!==d?(f=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[a,u,d]}),t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function Jt(e){let t=(0,Z.c)(3),{error:n,kind:r}=e;if(!n||r===`event`)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=b(c.caption,`text-destructive`),t[0]=i):i=t[0];let a;return t[1]===n?a=t[2]:(a=(0,Q.jsx)(`p`,{className:i,children:n}),t[1]=n,t[2]=a),a}function Yt(e){let t=(0,Z.c)(20),{value:n,onChange:r,onTriggerRemoved:i,showRemoveControl:a,error:o}=e,s=a===void 0?!1:a,l=o===void 0?null:o,u;t[0]!==r||t[1]!==i||t[2]!==n?(u=()=>{r($(n,{kind:`manual`})),i?.()},t[0]=r,t[1]=i,t[2]=n,t[3]=u):u=t[3];let d;t[4]!==l||t[5]!==r||t[6]!==s||t[7]!==u||t[8]!==n?(d=(0,Q.jsx)(Gt,{value:n,onChange:r,error:l,showRemove:s,onRemove:u}),t[4]=l,t[5]=r,t[6]=s,t[7]=u,t[8]=n,t[9]=d):d=t[9];let f;t[10]!==l||t[11]!==n.kind?(f=(0,Q.jsx)(Jt,{error:l,kind:n.kind}),t[10]=l,t[11]=n.kind,t[12]=f):f=t[12];let p;t[13]!==r||t[14]!==n?(p=n.kind!==`manual`&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n.kind!==`event`&&(0,Q.jsxs)(`p`,{className:b(c.caption,`text-muted-foreground`),children:[`Timezone: `,n.timezone]}),(0,Q.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Q.jsx)(et,{id:`trigger-paused`,checked:!n.enabled,onCheckedChange:e=>{r($(n,{enabled:e!==!0}))}}),(0,Q.jsx)(pt,{htmlFor:`trigger-paused`,className:c.caption,children:`Paused`})]})]}),t[13]=r,t[14]=n,t[15]=p):p=t[15];let m;return t[16]!==d||t[17]!==f||t[18]!==p?(m=(0,Q.jsxs)(`div`,{className:`mt-4 space-y-4 rounded-lg border border-border p-4`,children:[d,f,p]}),t[16]=d,t[17]=f,t[18]=p,t[19]=m):m=t[19],m}var Xt=u(`app.task-list.add-dialog`);function Zt({open:e,automationsOnly:t,projectId:n,projectTags:r,thread:i,getTriggerValidationError:a,onOpenChange:o,onTaskCreated:s,onTaskUpdated:c}){let[l,u]=(0,X.useState)(``),[d,f]=(0,X.useState)([]),[p,m]=(0,X.useState)(R),[h,g]=(0,X.useState)(!0),[_,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(!1),[S,C]=(0,X.useState)(!1);(0,X.useEffect)(()=>{e&&(u(``),f([]),m(t?H():R()),g(!t))},[e,t]);let T=(0,X.useCallback)((e,t)=>{u(n=>t?.replace||!n.trim()?e:`${n.trimEnd()} ${e}`)},[]);function E(){return!!(l.trim()||d.length||!h&&JSON.stringify(p)!==JSON.stringify(H()))}function D(e){if(e){o(!0);return}if(E()){b(!0);return}v(null),o(!1)}function O(){b(!1),o(!1)}async function k(e){e.preventDefault(),await A()&&b(!1)}async function A(){if(!l.trim())return!1;let e=a(h,p);if(e)return v(e),!1;v(null),C(!0);try{let e=be({description:l,tagNames:d.map(e=>e.name),triggerCollapsed:h,triggerForm:p,thread:rt({selectedThreadId:i.selectedThreadId,selectedThreadModel:i.selectedThreadModel,selectedThread:i.selectedThread})}),t=await We(n,e.description,e.context);return s(t),o(!1),Ze(n,t.id,{...e.context,expectedTitle:t.title}).then(c).catch(e=>Xt.error(`Failed to generate task title:`,e)),u(``),f([]),v(null),!0}catch(e){return v(Ie(e,`Failed to add task`)),Xt.error(`Failed to add task:`,e),!1}finally{C(!1)}}return(0,Q.jsxs)(ge,{open:e,onOpenChange:D,children:[(0,Q.jsxs)(dt,{className:`max-w-2xl flex flex-col overflow-hidden max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:max-h-[calc(100svh-2rem)]`,children:[(0,Q.jsx)(I,{className:`shrink-0`,children:(0,Q.jsxs)(se,{children:[(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsx)(B,{className:`w-fit cursor-help`,children:t?`Add Automation`:`New Task`})}),(0,Q.jsx)(ae,{side:`top`,className:`max-w-xs`,children:`A title will be generated automatically from your description.`})]})}),(0,Q.jsx)(de,{type:`auto`,className:`min-h-0 flex-1`,children:(0,Q.jsxs)(`div`,{className:`py-2 pl-1`,children:[(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(Te,{placeholder:`Describe what needs to be done...`,value:l,onChange:e=>u(e.target.value),rows:12,className:`max-h-[min(16rem,40svh)] resize-none pe-12 pb-10 text-base sm:max-h-none`,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&A()}}),(0,Q.jsx)(It,{selectedTags:d,existingTags:r,onChange:f,allowCreate:!1,className:`absolute bottom-3 start-3 max-w-[calc(100%-4rem)]`}),(0,Q.jsx)(`div`,{className:`absolute bottom-3 end-3`,children:(0,Q.jsx)(at,{onTranscript:T,threadId:i.selectedThreadId??void 0,provider:i.selectedThreadModel?.provider,model:i.selectedThreadModel?.id,children:({onClick:e,disabled:t,icon:n,label:r,isRecording:i,isTranscribing:a})=>(0,Q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":r,onClick:e,disabled:t||S,className:i||a?`text-destructive`:void 0,children:n})})})]}),!h&&(0,Q.jsx)(Yt,{value:p,onChange:e=>{m(e),v(null)},showRemoveControl:!0,onTriggerRemoved:()=>{g(!0),m(R())},error:_})]})}),(0,Q.jsxs)(L,{className:`shrink-0`,children:[t&&h&&(0,Q.jsx)(x,{type:`button`,variant:`outline`,disabled:S,onClick:()=>{g(!1),m(H())},children:`Add automation`}),(0,Q.jsxs)(x,{onClick:()=>void A(),disabled:S||!l.trim(),children:[`Add`,S?(0,Q.jsx)(w,{className:`ml-1 h-3 w-3 animate-spin`}):null]})]})]}),(0,Q.jsx)(me,{open:y,onOpenChange:b,children:(0,Q.jsxs)(Me,{children:[(0,Q.jsxs)(Ce,{children:[(0,Q.jsxs)(nt,{children:[`Save your `,t?`automation`:`task`,`?`]}),(0,Q.jsx)(Pe,{children:`You have unsaved changes. Would you like to save them before closing?`})]}),(0,Q.jsxs)(ye,{children:[(0,Q.jsx)(xe,{children:`Keep editing`}),(0,Q.jsx)(Ne,{onClick:O,children:`Discard`}),(0,Q.jsx)(Ne,{onClick:k,children:`Save`})]})]})})]})}function Qt(e){let t=(0,Z.c)(6),[n,r]=(0,X.useState)(``),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0];let[a,o]=(0,X.useState)(i),[s,c]=(0,X.useState)(R),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(null);if(e!==d&&(f(e),e)){let t=Ge(e);r(e.description),o(e.tags??[]),c(t),u(!Oe(t))}let p;return t[1]!==n||t[2]!==a||t[3]!==l||t[4]!==s?(p={description:n,setDescription:r,editTags:a,setEditTags:o,editTriggerForm:s,setEditTriggerForm:c,editTriggerCollapsed:l,setEditTriggerCollapsed:u},t[1]=n,t[2]=a,t[3]=l,t[4]=s,t[5]=p):p=t[5],p}var $t=u(`app.task-list.edit-dialog`);function en({task:e,automationsOnly:t,projectId:n,projectTags:r,thread:i,getTriggerValidationError:a,onOpenChange:o,onTaskSaved:s,onTaskDeleted:c}){let{description:l,setDescription:u,editTags:d,setEditTags:f,editTriggerForm:p,setEditTriggerForm:m,editTriggerCollapsed:h,setEditTriggerCollapsed:g}=Qt(e),[_,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(!1),[S,C]=(0,X.useState)(!1);function T(){return e?we({task:e,description:l,tagNames:d.map(e=>e.name),triggerForm:p,thread:rt({selectedThreadId:i.selectedThreadId,selectedThreadModel:i.selectedThreadModel,selectedThread:i.selectedThread})}).kind!==`unchanged`:!1}function E(e){if(e){o(!0);return}if(T()){C(!0);return}v(null),o(!1)}function D(){C(!1),o(!1)}async function O(e){e.preventDefault(),await A()&&C(!1)}function k(){if(!l.trim()||!e)return!1;let t=a(!Oe(p),p);return t?(v(t),!1):!0}async function A(){if(!k())return!1;v(null),b(!0);try{return await j(),!0}catch(e){return ee(e),!1}finally{b(!1)}}async function j(){if(!e)return;let t=we({task:e,description:l,tagNames:d.map(e=>e.name),triggerForm:p,thread:rt({selectedThreadId:i.selectedThreadId,selectedThreadModel:i.selectedThreadModel,selectedThread:i.selectedThread})});if(t.kind===`unchanged`){o(!1);return}let r=await He(n,e.id,t.payload),a=e.status===`Done`!=(r.status===`Done`);s(r,{tagsChanged:t.tagsChanged,completedChanged:a}),o(!1)}function ee(e){v(Ie(e,`Failed to save task`)),$t.error(`Failed to save task:`,e)}async function te(){if(e){b(!0);try{await tt(n,e.id),c(e.id),o(!1)}catch(e){$t.error(`Failed to delete task:`,e)}finally{b(!1)}}}return(0,Q.jsxs)(ge,{open:e!==null,onOpenChange:E,children:[(0,Q.jsxs)(dt,{className:`max-w-2xl flex flex-col overflow-hidden max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:max-h-[calc(100svh-2rem)]`,children:[(0,Q.jsx)(I,{className:`shrink-0`,children:(0,Q.jsx)(B,{children:t?`Edit Automation`:`Edit Task`})}),(0,Q.jsx)(de,{type:`auto`,className:`min-h-0 flex-1`,children:(0,Q.jsxs)(`div`,{className:`py-2 pl-1`,children:[(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(Te,{placeholder:`Describe what needs to be done...`,value:l,onChange:e=>u(e.target.value),rows:12,className:`max-h-[min(16rem,40svh)] resize-none pe-12 pb-10 text-base sm:max-h-none`,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&A()}}),(0,Q.jsx)(It,{selectedTags:d,existingTags:r,onChange:f,allowCreate:!1,className:`absolute bottom-3 start-3 max-w-[calc(100%-4rem)]`})]}),!h&&(0,Q.jsx)(Yt,{value:p,onChange:e=>{m(e),v(null)},showRemoveControl:!0,onTriggerRemoved:()=>{g(!0),m(R()),v(null)},error:_})]})}),(0,Q.jsxs)(L,{className:`flex-row shrink-0 justify-between gap-2 sm:justify-between sm:gap-0`,children:[(0,Q.jsx)(x,{variant:`destructive`,onClick:()=>void te(),disabled:y,children:`Delete`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t&&h&&(0,Q.jsx)(x,{type:`button`,variant:`outline`,disabled:y,onClick:()=>{g(!1),m(H())},children:`Add automation`}),(0,Q.jsxs)(x,{onClick:()=>void A(),disabled:y||!l.trim(),className:`w-auto`,children:[`Save`,y?(0,Q.jsx)(w,{className:`ml-1 h-3 w-3 animate-spin`}):null]})]})]})]}),(0,Q.jsx)(me,{open:S,onOpenChange:C,children:(0,Q.jsxs)(Me,{children:[(0,Q.jsxs)(Ce,{children:[(0,Q.jsx)(nt,{children:`Save your changes?`}),(0,Q.jsx)(Pe,{children:`You have unsaved changes. Would you like to save them before closing?`})]}),(0,Q.jsxs)(ye,{children:[(0,Q.jsx)(xe,{children:`Keep editing`}),(0,Q.jsx)(Ne,{onClick:D,children:`Discard`}),(0,Q.jsx)(Ne,{onClick:O,children:`Save`})]})]})})]})}function tn({open:e,onOpenChange:t,projectId:n,tags:r,onTagsChanged:i}){let[a,o]=(0,X.useState)(null),[s,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(null);function S(e){o(e.id),l(e.name),_(null)}function E(){o(null),l(``),_(null)}async function D(){let e=u.trim();if(e){h(!0),_(null);try{let t=await ct(n,e);i([...r,t]),d(``)}catch(e){_(e instanceof Error?e.message:`Failed to create tag`)}finally{h(!1)}}}async function O(e){let t=s.trim();if(t){p(!0),_(null);try{let a=await lt(n,e,t);i(r.map(e=>e.id===a.id?{...e,name:a.name,color:a.color}:e)),E()}catch(e){_(e instanceof Error?e.message:`Failed to rename tag`)}finally{p(!1)}}}async function k(e){p(!0),_(null);try{await Ke(n,e),i(r.filter(t=>t.id!==e)),y(null),a===e&&E()}catch(e){_(e instanceof Error?e.message:`Failed to delete tag`)}finally{p(!1)}}return(0,Q.jsx)(ge,{open:e,onOpenChange:t,children:(0,Q.jsxs)(dt,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-md`,children:[(0,Q.jsx)(I,{children:(0,Q.jsx)(B,{children:`Manage Tags`})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,Q.jsx)(V,{value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D(),e.key===`Escape`&&d(``)},placeholder:`New tag name...`,className:`h-8 flex-1`,disabled:m}),(0,Q.jsx)(x,{size:`sm`,className:`h-8 shrink-0 bg-foreground text-background hover:bg-foreground/90`,onClick:()=>void D(),disabled:m||!u.trim(),children:m?(0,Q.jsx)(w,{className:`h-3.5 w-3.5 animate-spin`}):`Add`})]}),r.length===0?(0,Q.jsx)(`p`,{className:b(c.bodyMuted,`py-4 text-center`),children:`No tags yet. Create one above to get started.`}):(0,Q.jsx)(de,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-1 py-2 pr-3`,children:r.map(e=>{let t=a===e.id,n=v===e.id;return(0,Q.jsx)(`div`,{className:b(`group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40`,!t&&!n&&!f&&`cursor-pointer`),onClick:()=>{!f&&!t&&!n&&S(e)},children:t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(V,{value:s,onChange:e=>l(e.target.value),onKeyDown:t=>{t.key===`Enter`&&O(e.id),t.key===`Escape`&&E()},className:`h-8 flex-1 text-sm`,autoFocus:!0,disabled:f}),(0,Q.jsx)(x,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void O(e.id),disabled:f||!s.trim(),children:f?(0,Q.jsx)(w,{className:`h-4 w-4 animate-spin`}):(0,Q.jsx)(T,{className:`h-4 w-4`})}),(0,Q.jsx)(x,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:E,disabled:f,children:(0,Q.jsx)(re,{className:`h-4 w-4`})})]}):n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:b(c.body,`flex-1 truncate`),children:[`Delete `,e.name,`? Removes from `,e.taskCount,` `,e.taskCount===1?`task`:`tasks`,`.`]}),(0,Q.jsx)(x,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive hover:text-destructive`,onClick:()=>void k(e.id),disabled:f,children:f?(0,Q.jsx)(w,{className:`h-4 w-4 animate-spin`}):(0,Q.jsx)(T,{className:`h-4 w-4`})}),(0,Q.jsx)(x,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>y(null),disabled:f,children:(0,Q.jsx)(re,{className:`h-4 w-4`})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:b(c.body,`min-w-0 flex-1 truncate`),children:e.name}),(0,Q.jsxs)(`span`,{className:b(c.caption,`shrink-0 text-muted-foreground`),children:[e.taskCount,` `,e.taskCount===1?`task`:`tasks`]}),(0,Q.jsx)(x,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive opacity-0 pointer-events-none transition-opacity can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto focus-visible:opacity-100 focus-visible:pointer-events-auto can-hover:hover:text-destructive`,onClick:t=>{t.stopPropagation(),y(e.id)},disabled:f,"aria-label":`Delete ${e.name}`,children:(0,Q.jsx)(C,{className:`h-3.5 w-3.5`})})]})},e.id)})})}),g&&(0,Q.jsx)(`p`,{className:b(c.caption,`text-destructive`),children:g})]})})}var nn=u(`app.task-list.sync`);function rn({projectId:e,initialTasks:t,refreshTrigger:n,project:r,onRefreshTags:i}){let a=g(),[o,s]=(0,X.useState)(t),[c,l]=(0,X.useState)(!1),u=(0,X.useRef)(n??0),d=(0,X.useRef)({}),f=r?.tasksModifiedCount??0,p=(0,X.useCallback)(async function(){l(!0);try{await ce(e),s(await Be(e)),Ve(e),i(),P();let t=await N();a({type:v.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){nn.error(`Failed to refresh project tasks:`,e)}finally{l(!1)}},[e,a,i]);(0,X.useEffect)(()=>{n==null||n===u.current||(u.current=n,p())},[n,p]),(0,X.useEffect)(()=>{let t=d.current[e]??0;if(f===0){d.current[e]=0;return}t!==f&&(d.current[e]=f,f>t&&p())},[f,e,p]);let m=o.some(e=>e.working);return(0,X.useEffect)(()=>{if(!m)return;let t=setInterval(async()=>{try{s(await Be(e))}catch(e){nn.error(`Failed to poll project tasks:`,e)}},2e3);return()=>clearInterval(t)},[m,e]),(0,X.useEffect)(()=>{s(t)},[t]),{tasks:o,setTasks:s,isRefreshing:c,handleRefreshTasks:p}}var an=u(`app.task-list.ui`);function on(e){let t=(0,Z.c)(15),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],t[0]=n):n=t[0];let[r,i]=(0,X.useState)(n),a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=new Set,t[1]=a):a=t[1];let[o,s]=(0,X.useState)(a),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(!1),f,p;t[2]===e?(f=t[3],p=t[4]):(f=()=>{q(e).then(i).catch(cn)},p=[e],t[2]=e,t[3]=f,t[4]=p),(0,X.useEffect)(f,p);let m;t[5]===e?m=t[6]:(m=function(){q(e).then(i).catch(sn)},t[5]=e,t[6]=m);let h=m,g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=function(e){s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[7]=g):g=t[7];let _=g,v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=function(){d(!0)},t[8]=v):v=t[8];let y=v,b;return t[9]!==o||t[10]!==u||t[11]!==r||t[12]!==h||t[13]!==c?(b={projectTags:r,setProjectTags:i,hiddenTagIds:o,setHiddenTagIds:s,searchTerm:c,setSearchTerm:l,manageTagsOpen:u,setManageTagsOpen:d,refreshProjectTags:h,toggleHiddenTag:_,openManageTags:y},t[9]=o,t[10]=u,t[11]=r,t[12]=h,t[13]=c,t[14]=b):b=t[14],b}function sn(e){return an.error(`Failed to refresh project tags:`,e)}function cn(e){return an.error(`Failed to fetch project tags:`,e)}function ln(e){let t=(0,Z.c)(15),n=_(hn),r=_(mn),i=_(pn),a=_(fn),o=_(dn),s=_(un),c,l;if(t[0]!==e||t[1]!==n||t[2]!==r){let i;t[5]===e?i=t[6]:(i=t=>t.projectId===e,t[5]=e,t[6]=i),c=n.find(i),l=c?.threads.find(e=>e.threadId===r),t[0]=e,t[1]=n,t[2]=r,t[3]=c,t[4]=l}else c=t[3],l=t[4];let u=l,d=r?s[r]:void 0,f;return t[7]!==a||t[8]!==i||t[9]!==c||t[10]!==o||t[11]!==u||t[12]!==r||t[13]!==d?(f={project:c,selectedThreadId:r,selectedThread:u,selectedThreadModel:d,processingThreadIds:i,pendingChatMessage:a,queuedChatMessages:o},t[7]=a,t[8]=i,t[9]=c,t[10]=o,t[11]=u,t[12]=r,t[13]=d,t[14]=f):f=t[14],f}function un(e){return e.projectModelSelections}function dn(e){return e.queuedChatMessages}function fn(e){return e.pendingChatMessage}function pn(e){return e.processingThreadIds}function mn(e){return e.selectedThreadId}function hn(e){return e.projects}function gn(){let e=(0,Z.c)(3),{modelAliases:t,isLoading:n}=ht(),r;return e[0]!==t||e[1]!==n?(r=function(e,r){if(e)return null;let i=Qe(r);if(i)return ze(i);if(n)return null;let a=st(r,t);return a?ze(a):null},e[0]=t,e[1]=n,e[2]=r):r=e[2],r}function _n(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsxs)(`div`,{className:`text-center`,children:[(0,Q.jsx)(Re,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:b(c.bodyMuted,`mt-2`),children:`Loading tasks`})]})}),e[0]=t):t=e[0],t}function vn(e){let t=(0,Z.c)(5),{projectId:n,resourceKey:r,children:i}=e,a;t[0]===n?a=t[1]:(a=function(){return it(n)},t[0]=n,t[1]=a);let o=Se(r,a),s;return t[2]!==i||t[3]!==o?(s=i(o),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function yn({projectId:e,children:t}){let[n,r]=(0,X.useState)(0),i=qe(e,n),a=(0,X.useRef)(null);a.current!==i&&(a.current=i,fe(i));function o(){fe(i),r(function(e){return e+1})}return(0,Q.jsx)(gt,{fallbackTitle:`Failed to load tasks`,onRetry:o,children:(0,Q.jsx)(X.Suspense,{fallback:(0,Q.jsx)(_n,{}),children:(0,Q.jsx)(vn,{projectId:e,resourceKey:i,children:t},i)})},e)}var bn=u(`app.task-list.ui`);function xn(e){let t=(0,Z.c)(137),{projectId:n,onThreadSelect:r,initialTasks:a,refreshTrigger:s,automationsOnly:l}=e,u=l===void 0?!1:l,d=g(),{project:f,selectedThreadId:p,selectedThread:m,selectedThreadModel:h}=ln(n),[_,S]=(0,X.useState)(!1),[C,w]=(0,X.useState)(null),{projectTags:T,setProjectTags:E,hiddenTagIds:D,setHiddenTagIds:O,searchTerm:k,setSearchTerm:A,manageTagsOpen:j,setManageTagsOpen:ee,refreshProjectTags:M,toggleHiddenTag:ne,openManageTags:re}=on(n),oe;t[0]!==a||t[1]!==f||t[2]!==n||t[3]!==M||t[4]!==s?(oe={projectId:n,initialTasks:a,refreshTrigger:s,project:f,onRefreshTags:M},t[0]=a,t[1]=f,t[2]=n,t[3]=M,t[4]=s,t[5]=oe):oe=t[5];let{tasks:N,setTasks:P,isRefreshing:ce,handleRefreshTasks:le}=rn(oe),de=ke(Ee,u),fe;t[6]!==de||t[7]!==u?(fe=u?new Date(de):void 0,t[6]=de,t[7]=u,t[8]=fe):fe=t[8];let pe=fe,F=gn(),me=i(),ge;t[9]===me?ge=t[10]:(ge=function(){me.invalidateQueries({queryKey:o.conversations.unreadAll()})},t[9]=me,t[10]=ge);let I=ge,_e;t[11]!==M||t[12]!==P||t[13]!==N?(_e=function(e){let t=N.find(t=>t.id===e.id);P(t=>t.map(t=>t.id===e.id?e:t)),t&&t.status===`Done`!=(e.status===`Done`)&&M()},t[11]=M,t[12]=P,t[13]=N,t[14]=_e):_e=t[14];let L=_e,ve;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(ve=function(e){w({task:e})},t[15]=ve):ve=t[15];let ye=ve,be;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(be=function(){w(null)},t[16]=be):be=t[16];let xe=be,Se;t[17]!==n||t[18]!==M||t[19]!==P?(Se=function(e){P(t=>[...t,e]),Ve(n),M()},t[17]=n,t[18]=M,t[19]=P,t[20]=Se):Se=t[20];let R=Se,Ce;t[21]!==n||t[22]!==P?(Ce=function(e){P(t=>t.map(t=>t.id===e.id?e:t)),Ve(n)},t[21]=n,t[22]=P,t[23]=Ce):Ce=t[23];let we=Ce,Te;t[24]!==n||t[25]!==M||t[26]!==P?(Te=function(e,t){P(t=>t.map(t=>t.id===e.id?e:t)),Ve(n),(t.tagsChanged||t.completedChanged)&&M()},t[24]=n,t[25]=M,t[26]=P,t[27]=Te):Te=t[27];let z=Te,B;t[28]!==n||t[29]!==M||t[30]!==P?(B=function(e){P(t=>t.filter(t=>t.id!==e)),Ve(n),M()},t[28]=n,t[29]=M,t[30]=P,t[31]=B):B=t[31];let De=B,Oe;t[32]!==n||t[33]!==O||t[34]!==E||t[35]!==P?(Oe=function(e){let t=ft(e),r=new Set(t.map(function(e){return e.id}));E(t),O(function(e){return new Set([...e].filter(e=>r.has(e)))}),Be(n).then(P).catch(Sn)},t[32]=n,t[33]=O,t[34]=E,t[35]=P,t[36]=Oe):Oe=t[36];let V=Oe,Ae;t[37]!==d||t[38]!==L||t[39]!==n||t[40]!==I?(Ae=async function(e){try{await he({projectId:n,dispatch:d,onUpdate:L},e),I()}catch(e){let t=e;Le({title:`Could not start the task`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},t[37]=d,t[38]=L,t[39]=n,t[40]=I,t[41]=Ae):Ae=t[41];let je=Ae,Me;t[42]!==L||t[43]!==n||t[44]!==I?(Me=async function(e){L(await mt(n,e.id)),Ve(n),I()},t[42]=L,t[43]=n,t[44]=I,t[45]=Me):Me=t[45];let Ne=Me,Pe;t[46]!==d||t[47]!==r||t[48]!==n?(Pe=async function(e){r?await r(e):d({type:v.SelectThread,threadId:e,projectId:n})},t[46]=d,t[47]=r,t[48]=n,t[49]=Pe):Pe=t[49];let Ie=Pe,H;t[50]!==L||t[51]!==n?(H=async function(e){L(await He(n,e.id,{status:`Done`,working:!1})),Ve(n)},t[50]=L,t[51]=n,t[52]=H):H=t[52];let Re=H,ze;t[53]!==m||t[54]!==p||t[55]!==h?(ze={selectedThreadId:p,selectedThreadModel:h,selectedThread:m},t[53]=m,t[54]=p,t[55]=h,t[56]=ze):ze=t[56];let U=ze,Ue,We,W,Ge,Ke,G;if(t[57]!==pe||t[58]!==u||t[59]!==Re||t[60]!==Ie||t[61]!==le||t[62]!==Ne||t[63]!==je||t[64]!==D||t[65]!==ce||t[66]!==r||t[67]!==re||t[68]!==f||t[69]!==T||t[70]!==k||t[71]!==A||t[72]!==N||t[73]!==ne){let{viewTasks:e,visibleTasks:n,emptyListMessage:i,noMatchMessage:a}=Fe(N,{automationsOnly:u,hiddenTagIds:D,searchTerm:k,projectName:f?y(f):void 0});Ke=`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,t[80]!==u||t[81]!==le||t[82]!==D||t[83]!==ce||t[84]!==re||t[85]!==T||t[86]!==A||t[87]!==ne?(G=(0,Q.jsx)(Ft,{automationsOnly:u,projectTags:T,hiddenTagIds:D,onToggleHiddenTag:ne,onSearchTermChange:A,isRefreshing:ce,onRefresh:le,onManageTags:re}),t[80]=u,t[81]=le,t[82]=D,t[83]=ce,t[84]=re,t[85]=T,t[86]=A,t[87]=ne,t[88]=G):G=t[88],Ue=ue,Ge=`min-h-0 min-w-0 flex-1 overflow-hidden`,We=`pb-14`,W=e.length===0?(0,Q.jsx)(`p`,{className:b(c.bodyMuted,`px-4 py-8 text-center`),children:i}):n.length===0?(0,Q.jsx)(`p`,{className:b(c.bodyMuted,`px-4 py-8 text-center`),children:a}):(0,Q.jsx)(`div`,{className:`min-w-0 w-full divide-y divide-border`,children:n.map(function(e){return(0,Q.jsx)(Nt,{task:e,now:pe,onOpenEdit:ye,showRunHistory:u,onThreadSelect:r,onStartInNewWorkspace:je,onMarkDone:Re,onRunNow:Ne,onOpenRun:Ie},e.id)})}),t[57]=pe,t[58]=u,t[59]=Re,t[60]=Ie,t[61]=le,t[62]=Ne,t[63]=je,t[64]=D,t[65]=ce,t[66]=r,t[67]=re,t[68]=f,t[69]=T,t[70]=k,t[71]=A,t[72]=N,t[73]=ne,t[74]=Ue,t[75]=We,t[76]=W,t[77]=Ge,t[78]=Ke,t[79]=G}else Ue=t[74],We=t[75],W=t[76],Ge=t[77],Ke=t[78],G=t[79];let K;t[89]!==We||t[90]!==W?(K=(0,Q.jsx)(`div`,{className:We,children:W}),t[89]=We,t[90]=W,t[91]=K):K=t[91];let q;t[92]!==Ue||t[93]!==Ge||t[94]!==K?(q=(0,Q.jsx)(Ue,{className:Ge,children:K}),t[92]=Ue,t[93]=Ge,t[94]=K,t[95]=q):q=t[95];let qe,Je;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(qe=()=>S(!0),Je=(0,Q.jsx)(te,{className:`h-5 w-5`}),t[96]=qe,t[97]=Je):(qe=t[96],Je=t[97]);let Ye=u?`Add Automation`:`New task`,Xe;t[98]===Ye?Xe=t[99]:(Xe=(0,Q.jsx)(ie,{asChild:!0,children:(0,Q.jsxs)(x,{size:`icon`,className:`absolute bottom-6 right-6 z-10 h-10 w-10 rounded-full shadow-lg`,onClick:qe,children:[Je,(0,Q.jsx)(`span`,{className:`sr-only`,children:Ye})]})}),t[98]=Ye,t[99]=Xe);let Ze=u?`Add Automation`:`New task`,J;t[100]===Ze?J=t[101]:(J=(0,Q.jsx)(ae,{children:Ze}),t[100]=Ze,t[101]=J);let Qe;t[102]!==Xe||t[103]!==J?(Qe=(0,Q.jsxs)(se,{children:[Xe,J]}),t[102]=Xe,t[103]=J,t[104]=Qe):Qe=t[104];let $e;t[105]!==_||t[106]!==u||t[107]!==F||t[108]!==R||t[109]!==we||t[110]!==n||t[111]!==T||t[112]!==U?($e=(0,Q.jsx)(Zt,{open:_,automationsOnly:u,projectId:n,projectTags:T,thread:U,getTriggerValidationError:F,onOpenChange:S,onTaskCreated:R,onTaskUpdated:we}),t[105]=_,t[106]=u,t[107]=F,t[108]=R,t[109]=we,t[110]=n,t[111]=T,t[112]=U,t[113]=$e):$e=t[113];let et=C?.task??null,tt;t[114]!==u||t[115]!==F||t[116]!==De||t[117]!==z||t[118]!==n||t[119]!==T||t[120]!==et||t[121]!==U?(tt=(0,Q.jsx)(en,{task:et,automationsOnly:u,projectId:n,projectTags:T,thread:U,getTriggerValidationError:F,onOpenChange:xe,onTaskSaved:z,onTaskDeleted:De}),t[114]=u,t[115]=F,t[116]=De,t[117]=z,t[118]=n,t[119]=T,t[120]=et,t[121]=U,t[122]=tt):tt=t[122];let Y;t[123]!==V||t[124]!==j||t[125]!==n||t[126]!==T||t[127]!==ee?(Y=(0,Q.jsx)(tn,{open:j,onOpenChange:ee,projectId:n,tags:T,onTagsChanged:V}),t[123]=V,t[124]=j,t[125]=n,t[126]=T,t[127]=ee,t[128]=Y):Y=t[128];let nt;return t[129]!==Ke||t[130]!==G||t[131]!==q||t[132]!==Qe||t[133]!==$e||t[134]!==tt||t[135]!==Y?(nt=(0,Q.jsxs)(`div`,{className:Ke,children:[G,q,Qe,$e,tt,Y]}),t[129]=Ke,t[130]=G,t[131]=q,t[132]=Qe,t[133]=$e,t[134]=tt,t[135]=Y,t[136]=nt):nt=t[136],nt}function Sn(e){return bn.error(`Failed to refresh tasks after tag change:`,e)}function Cn(e){let t=(0,Z.c)(5),n;t[0]===e?n=t[1]:(n=function(t){return(0,Q.jsx)(xn,{...e,initialTasks:t})},t[0]=e,t[1]=n);let r=n,i;return t[2]!==e.projectId||t[3]!==r?(i=(0,Q.jsx)(yn,{projectId:e.projectId,children:r}),t[2]=e.projectId,t[3]=r,t[4]=i):i=t[4],i}var wn=u(`app.tasks-view.ui`);async function Tn(){return P(),N()}function En(e,t,n,r,i){r===t&&i===n||e({type:v.SelectThread,threadId:t,projectId:n})}async function Dn(e){try{let t=await le();e({type:v.SetProcessingThreads,threadIds:t})}catch(e){wn.error(`Failed to fetch processing threads after thread selection:`,e)}}function On(e){let t=(0,Z.c)(16),{projectId:n,refreshTrigger:r,view:i}=e,o=i===void 0?`tasks`:i,s=g(),c=_(jn),l=_(An),u=_(kn),{expandWindow:d,hasOpenWindows:f}=a(),p,m;t[0]===s?(p=t[1],m=t[2]):(p=()=>{let e=!1;return(async()=>{try{let t=await Tn();e||s({type:v.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){let t=e;wn.error(`Failed to refresh projects on tasks view mount:`,t)}})(),()=>{e=!0}},m=[s],t[0]=s,t[1]=p,t[2]=m),(0,X.useEffect)(p,m);let y;t[3]!==s||t[4]!==d||t[5]!==f||t[6]!==n||t[7]!==c||t[8]!==u||t[9]!==l?(y=async function(e){if(!c.find(e=>e.projectId===n))return;f&&d(h);let t=null;try{t=await Tn(),s({type:v.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){let t=e;wn.error(`Failed to refresh projects for thread selection:`,t)}t&&!t.projects.find(e=>e.projectId===n)?.threads.find(t=>t.threadId===e)||(En(s,e,n,l,u),await Dn(s))},t[3]=s,t[4]=d,t[5]=f,t[6]=n,t[7]=c,t[8]=u,t[9]=l,t[10]=y):y=t[10];let b=y,x=o===`automations`,S;return t[11]!==b||t[12]!==n||t[13]!==r||t[14]!==x?(S=(0,Q.jsx)(`div`,{className:`relative flex h-full min-w-0 flex-col overflow-hidden`,children:(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,Q.jsx)(Cn,{projectId:n,refreshTrigger:r,onThreadSelect:b,automationsOnly:x})})}),t[11]=b,t[12]=n,t[13]=r,t[14]=x,t[15]=S):S=t[15],S}function kn(e){return e.selectedProjectId}function An(e){return e.selectedThreadId}function jn(e){return e.projects}export{On as TasksView};