tarsk 0.5.49 → 0.5.51

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 (90) hide show
  1. package/README.md +85 -3
  2. package/dist/index.js +10869 -8554
  3. package/dist/public/assets/{account-view-DxHV7OtO.js → account-view-CGokQA1o.js} +1 -1
  4. package/dist/public/assets/api-BRrGio-B.js +1 -0
  5. package/dist/public/assets/browser-tab-B3BybVD0.js +1 -0
  6. package/dist/public/assets/commit-dialog-BLzHl6oN.js +1 -0
  7. package/dist/public/assets/context-menu-yKNgVtVk.js +1 -0
  8. package/dist/public/assets/create-repo-dialog-DHFloJc3.js +1 -0
  9. package/dist/public/assets/{dialogs-config-BEazgV7k.js → dialogs-config-BF_RyK5j.js} +14 -14
  10. package/dist/public/assets/diff-view-DONeogdk.js +3 -0
  11. package/dist/public/assets/explorer-tab-view-C1Dex751.js +2 -0
  12. package/dist/public/assets/{explorer-tree-CiPMm5ck.js → explorer-tree-BmsrsMXJ.js} +1 -1
  13. package/dist/public/assets/explorer-view-1fAca9It.js +1 -0
  14. package/dist/public/assets/git-history-dialog-DXsSt3e0.js +1 -0
  15. package/dist/public/assets/git-ops-button-Cj3j4bvy.js +2 -0
  16. package/dist/public/assets/history-view-COEFPP2U.js +9 -0
  17. package/dist/public/assets/index-Dsj5zHdU.js +73 -0
  18. package/dist/public/assets/index-DzUALYN4.css +1 -0
  19. package/dist/public/assets/mcp-server-card-3bFOnHFO.js +1 -0
  20. package/dist/public/assets/merged-pr-dialog-C5vgSXwq.js +1 -0
  21. package/dist/public/assets/model-star-rating-GWRgO9pY.js +1 -0
  22. package/dist/public/assets/onboarding-B_n7I3ri.js +1 -0
  23. package/dist/public/assets/project-settings-view-DsVEiQM_.js +1 -0
  24. package/dist/public/assets/providers-list-view-BT5XZP-F.js +1 -0
  25. package/dist/public/assets/pull-request-dialog-BO_7fALs.js +1 -0
  26. package/dist/public/assets/pull-with-changes-dialog-DQSC-HUH.js +1 -0
  27. package/dist/public/assets/push-before-pr-dialog-B9evx_c7.js +1 -0
  28. package/dist/public/assets/radio-group-CNuRXtN5.js +1 -0
  29. package/dist/public/assets/react-vendor-D-z0br-z.js +16 -0
  30. package/dist/public/assets/settings-general-view-BaTUBgdM.js +1 -0
  31. package/dist/public/assets/settings-instructions-view-Bit7tYRh.js +1 -0
  32. package/dist/public/assets/settings-list-Cc_0YmxB.js +1 -0
  33. package/dist/public/assets/settings-mcp-servers-view-BcuuyWhI.js +5 -0
  34. package/dist/public/assets/{settings-models-skeleton-Cse6L-Nd.js → settings-models-skeleton-BfIx9XDs.js} +1 -1
  35. package/dist/public/assets/{settings-models-view-BAxf3eJq.js → settings-models-view-CNFB1Iqn.js} +1 -1
  36. package/dist/public/assets/settings-rules-view-BvelCH4j.js +8 -0
  37. package/dist/public/assets/settings-skills-view-DV-cA6cj.js +3 -0
  38. package/dist/public/assets/settings-slash-commands-view-CKxQnzse.js +1 -0
  39. package/dist/public/assets/settings-subagents-view-DAl5Db-p.js +2 -0
  40. package/dist/public/assets/{settings-system-prompt-view-B1vc2cgC.js → settings-system-prompt-view-BdwsxqMo.js} +1 -1
  41. package/dist/public/assets/settings-view-BxiazdKG.js +2 -0
  42. package/dist/public/assets/{skeleton-6mGMglV0.js → skeleton-DJZ5x6e0.js} +1 -1
  43. package/dist/public/assets/{slug-utils-BT1eqWhW.js → slug-utils-D4uxO5qv.js} +1 -1
  44. package/dist/public/assets/{tabs-iUSYYupj.js → tabs-TGCt-ze0.js} +1 -1
  45. package/dist/public/assets/{terminal-panel-DIpnKR-N.js → terminal-panel-Bh_CKydu.js} +2 -2
  46. package/dist/public/assets/todos-view-DDSSplmi.js +17 -0
  47. package/dist/public/assets/{ui-components-kSaUEA_X.js → ui-components-JEH8JAJ7.js} +1 -1
  48. package/dist/public/assets/{use-deferred-search-DGJskNBr.js → use-deferred-search-BZg7Bt7W.js} +1 -1
  49. package/dist/public/assets/{utils-CECQ_-6N.js → utils-H-1x3dmp.js} +1 -1
  50. package/dist/public/assets/{vosk-speech-CgILeNJR.js → vosk-speech-FJiKHPe4.js} +2 -2
  51. package/dist/public/assets/{web-DGalafxk.js → web-B4cuelyi.js} +1 -1
  52. package/dist/public/assets/{web-BD1sqxMq.js → web-CQpWcSn8.js} +1 -1
  53. package/dist/public/assets/{web-BWAZk7ug.js → web-Cq4yC7dg.js} +1 -1
  54. package/dist/public/assets/{web-Dt5YgbhM.js → web-DOZOaJlj.js} +1 -1
  55. package/dist/public/index.html +8 -8
  56. package/package.json +1 -1
  57. package/dist/public/assets/api-Dhzdgb40.js +0 -1
  58. package/dist/public/assets/browser-tab-qhf-xKwZ.js +0 -1
  59. package/dist/public/assets/commit-dialog-DcVXFOBP.js +0 -1
  60. package/dist/public/assets/context-menu-PIC-g8wy.js +0 -1
  61. package/dist/public/assets/create-repo-dialog-CsjpTBPU.js +0 -1
  62. package/dist/public/assets/diff-view-CGEl0YbC.js +0 -3
  63. package/dist/public/assets/explorer-tab-view--ib_BjId.js +0 -2
  64. package/dist/public/assets/explorer-view-odyQutTO.js +0 -1
  65. package/dist/public/assets/git-history-dialog-qUZ7Qsp4.js +0 -1
  66. package/dist/public/assets/git-ops-button-Bced-_39.js +0 -2
  67. package/dist/public/assets/history-view-BMVTxWTg.js +0 -9
  68. package/dist/public/assets/index-C7FLshNp.css +0 -1
  69. package/dist/public/assets/index-_SOdLUMq.js +0 -73
  70. package/dist/public/assets/mcp-server-card-ChdAZekt.js +0 -1
  71. package/dist/public/assets/merged-pr-dialog-DAXqT4Xe.js +0 -1
  72. package/dist/public/assets/model-star-rating-BzpXBjSo.js +0 -1
  73. package/dist/public/assets/onboarding-Bi5MieW-.js +0 -1
  74. package/dist/public/assets/project-settings-view-CHV6lJG4.js +0 -1
  75. package/dist/public/assets/providers-list-view-Dgid2Wui.js +0 -1
  76. package/dist/public/assets/pull-request-dialog-BFgRF5AH.js +0 -1
  77. package/dist/public/assets/pull-with-changes-dialog-oGP-j8Yw.js +0 -1
  78. package/dist/public/assets/push-before-pr-dialog-BQ0QC6Qu.js +0 -1
  79. package/dist/public/assets/radio-group-n9qyUxmu.js +0 -1
  80. package/dist/public/assets/react-vendor-iDwBzcYF.js +0 -16
  81. package/dist/public/assets/settings-general-view-Vwi9J6Tn.js +0 -1
  82. package/dist/public/assets/settings-instructions-view-8YIr0PO3.js +0 -1
  83. package/dist/public/assets/settings-list-owWkHWxE.js +0 -1
  84. package/dist/public/assets/settings-mcp-servers-view-CCXW_uet.js +0 -5
  85. package/dist/public/assets/settings-rules-view-D3KLTKVZ.js +0 -8
  86. package/dist/public/assets/settings-skills-view-DaqOna-w.js +0 -3
  87. package/dist/public/assets/settings-slash-commands-view-CN8_DTYX.js +0 -1
  88. package/dist/public/assets/settings-subagents-view-BIejA-ck.js +0 -2
  89. package/dist/public/assets/settings-view-DLBIkYoA.js +0 -2
  90. package/dist/public/assets/todos-view-BK6i_oPT.js +0 -17
@@ -0,0 +1,17 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dialogs-config-BF_RyK5j.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$n as t,$r as n,Ba as r,Bo as i,D as a,Dt as o,Fr as s,Ir as c,It as l,Jn as u,Mi as d,Pi as f,Qn as p,Qr as m,Rn as h,Rr as ee,Wn as g,Xr as _,Yn as v,c as te,ds as y,ei as b,fs as x,ho as S,ms as C,ni as w,nn as T,qn as E,ta as D,ti as O,ts as k,xt as A}from"./dialogs-config-BF_RyK5j.js";import{r as j}from"./monaco-CZnIWXyV.js";import{I as M,a as N,l as P,n as F,o as I,s as ne}from"./history-view-COEFPP2U.js";import{C as L,E as re,F as R,L as z,R as B,S as ie,V,j as ae,x as oe,z as H}from"./index-Dsj5zHdU.js";import{i as se,n as ce,r as le,t as ue}from"./tabs-TGCt-ze0.js";var U=e(C(),1),W=x(),G=y();async function K(e){return v(`api/projects/${u(e)}/todos`)}async function de(e,n){return t(`api/projects/${u(e)}/todos`,{description:n})}async function q(e,t,n){return p(`api/projects/${u(e)}/todos/${u(t)}`,n)}async function fe(e,t){await E(`api/projects/${u(e)}/todos/${u(t)}`)}function J(e,t){return`project-todos:${e}:${t}`}function pe(e){return e.status===`Done`?`Done`:e.working?`Working`:`Ready`}function me(e){return e.status!==`Done`&&!e.working}function he(e,t){if(t)return t;let n=e?.threads.map(e=>e.title)??[],r=/^thread-(\d+)$/i,i=0;for(let e of n){let t=e.match(r);t&&(i=Math.max(i,parseInt(t[1],10)))}return`thread-${i+1}`}async function ge(e){T(),ne(`projects:bootstrap:`);let t=await o();e({type:V.SetProjects,projects:t.projects}),e({type:V.SetProjectsLoading,projectsLoading:!1})}async function _e(e){let t=await K(e),n=t.filter(e=>e.threadId&&e.status!==`Done`),r=[...t];return await Promise.all(n.map(async t=>{try{await l(t.threadId)}catch(n){if(n instanceof Error&&n.message.includes(`not found`)){let n=await q(e,t.id,{status:`Done`}),i=r.findIndex(e=>e.id===t.id);i!==-1&&(r[i]=n)}}})),r}async function ve(e,t){let n=e.getReader(),r=new TextDecoder,i=``,a=null;try{for(;;){let{done:e,value:o}=await n.read();if(e)break;i+=r.decode(o,{stream:!0});let s=i.split(`
3
+ `);i=s.pop()??``;for(let e of s){let n=e.trim();if(n)try{let e=JSON.parse(n);e.type===`progress`&&typeof e.threadId==`string`&&!a&&(a=e.threadId,t(a))}catch{}}}}catch{}return a}function ye(e){return[...e].sort((e,t)=>e.status===`Done`&&t.status!==`Done`?1:e.status!==`Done`&&t.status===`Done`||e.working&&!t.working?-1:!e.working&&t.working?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())}async function be(e,t){let n=await l(t),r=n.model,i=n.modelProvider;if(r&&i)return{model:r,provider:i};try{let t=(await v(`api/threads?projectId=${encodeURIComponent(e)}`)||[]).map(e=>{let t=e;return{model:t.model??void 0,modelProvider:t.modelProvider??void 0}}).find(e=>e.model&&e.modelProvider);if(t?.model&&t.modelProvider)return{model:t.model,provider:t.modelProvider}}catch(e){console.error(`Failed to get project threads:`,e)}return null}function xe(e,t,n,r){e({type:V.SetProjectModel,threadId:t,model:{id:n,provider:r,name:n,description:``}}),g(t,{model:n,modelProvider:r})}async function Se(e,t,n,r,i,a){i||a(await q(e,t.id,{status:n,working:!0,threadId:r}))}function Ce({todo:e,disabled:t=!1,onImplement:n,onMarkDone:r}){let[i,a]=(0,U.useState)(!1),o=pe(e),s=me(e),c=e.status!==`Done`,l=t||i||!s&&!c;async function u(e){a(!0);try{await e()}finally{a(!1)}}return(0,G.jsxs)(oe,{children:[(0,G.jsx)(re,{asChild:!0,children:(0,G.jsxs)(d,{variant:`outline`,size:`sm`,className:f(`shrink-0 gap-1.5`,e.working&&`border-primary/50`),disabled:l,children:[(i||e.working)&&(0,G.jsx)(S,{className:`h-3.5 w-3.5 animate-spin`}),(0,G.jsx)(`span`,{children:o}),!l&&(0,G.jsx)(k,{className:`h-3.5 w-3.5 opacity-60`})]})}),(0,G.jsxs)(ie,{align:`end`,children:[s&&(0,G.jsx)(L,{onClick:()=>void u(()=>n(e)),children:`Implement`}),c&&(0,G.jsx)(L,{onClick:()=>void u(()=>r(e)),children:`Mark done`})]})]})}var we=M(e=>(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-border px-4 py-3`,children:[(0,G.jsx)(`h2`,{className:e.v0,children:`Tasks`}),e.v1]}),e.v2,e.v3,e.v4]}),{name:`TaskListContent_1`,portals:[`v1`,`v2`,`v3`,`v4`]}),Te=function({projectId:e,onThreadSelect:t,initialTodos:n}){let r=B(),o=H(e=>e.projects).find(t=>t.projectId===e),[l,u]=(0,U.useState)(n),[p,h]=(0,U.useState)(!1),[g,v]=(0,U.useState)(null),[y,x]=(0,U.useState)(``),[C,T]=(0,U.useState)(!1);(0,U.useEffect)(()=>{if(!l.some(e=>e.working))return;let t=setInterval(async()=>{try{let n=await K(e);u(n),n.some(e=>e.working)||clearInterval(t)}catch(e){console.error(`Failed to poll project todos:`,e)}},2e3);return()=>clearInterval(t)},[l,e]),(0,U.useEffect)(()=>{p&&x(``)},[p]);function E(e){u(t=>t.map(t=>t.id===e.id?e:t))}function k(e){x(e.description),v({todo:e})}function A(){v(null),x(``)}async function j(){if(y.trim()){T(!0);try{let t=await de(e,y);u(e=>[...e,t]),h(!1),x(``)}finally{T(!1)}}}async function M(){if(!(!y.trim()||!g)){T(!0);try{let t=await q(e,g.todo.id,{description:y});u(e=>e.map(e=>e.id===t.id?t:e)),A()}finally{T(!1)}}}async function N(){if(g){T(!0);try{await fe(e,g.todo.id),u(e=>e.filter(e=>e.id!==g.todo.id)),A()}finally{T(!1)}}}async function P(n){let i=await a(e);if(!i)return;let s=null,c=null,l=await ve(i,t=>{c||(c=t,r({type:V.AddCreatingThread,projectId:e,threadId:t,title:he(o)}),r({type:V.AddProcessingThread,threadId:t})),q(e,n.id,{status:`Build`,working:!0,threadId:t}).then(e=>{s=e,E(e)})});if(!l){c&&(r({type:V.RemoveCreatingThread,projectId:e,threadId:c}),r({type:V.RemoveProcessingThread,threadId:c}));return}r({type:V.RemoveProcessingThread,threadId:l});try{await ge(r)}catch(e){console.error(`Failed to refresh projects after task thread creation:`,e)}await Se(e,n,`Build`,l,s,E);let u=await be(e,l);if(!u){console.error(`No model configuration found. Please configure a model and provider for this project first.`);return}xe(r,l,u.model,u.provider),t?await t(l):r({type:V.SelectThread,threadId:l,projectId:e}),r({type:V.SetPendingChatMessage,message:{threadId:l,message:n.description,model:u.model,provider:u.provider}})}async function F(t){E(await q(e,t.id,{status:`Done`,working:!1}))}let I=ye(l);return(0,G.jsx)(we,{v0:D.sectionTitle,v1:(0,G.jsx)(d,{size:`sm`,onClick:()=>h(!0),children:`Add`}),v2:(0,G.jsx)(te,{className:`min-h-0 min-w-0 flex-1 overflow-hidden`,children:I.length===0?(0,G.jsx)(`p`,{className:f(D.bodyMuted,`px-4 py-8 text-center`),children:`No tasks yet. Add one to get started.`}):(0,G.jsx)(`div`,{className:`min-w-0 w-full divide-y divide-border`,children:I.map(e=>(0,G.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:[(0,G.jsxs)(`button`,{type:`button`,className:`col-start-1 row-start-1 block min-w-0 overflow-hidden text-left sm:flex-1`,onClick:()=>k(e),children:[(0,G.jsx)(`p`,{className:f(D.label,`truncate`),children:e.title}),(0,G.jsx)(`p`,{className:f(D.caption,`mt-1 line-clamp-2 break-all text-muted-foreground max-sm:hidden`),children:e.description})]}),(0,G.jsx)(`button`,{type:`button`,className:`col-span-2 row-start-2 block min-w-0 overflow-hidden text-left sm:hidden`,onClick:()=>k(e),children:(0,G.jsx)(`p`,{className:f(D.caption,`line-clamp-4 break-all text-muted-foreground`),children:e.description})}),(0,G.jsxs)(`div`,{className:`col-start-2 row-start-1 flex shrink-0 items-center gap-1.5 self-start`,children:[e.threadId&&t&&(0,G.jsxs)(s,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(d,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>t(e.threadId),children:[(0,G.jsx)(i,{className:`h-4 w-4`}),(0,G.jsx)(`span`,{className:`sr-only`,children:`Open thread`})]})}),(0,G.jsx)(c,{children:`Open thread`})]}),(0,G.jsx)(Ce,{todo:e,onImplement:P,onMarkDone:F})]})]},e.id))})}),v3:(0,G.jsx)(_,{open:p,onOpenChange:h,children:(0,G.jsxs)(m,{className:`sm:max-w-2xl`,children:[(0,G.jsx)(O,{children:(0,G.jsx)(w,{children:`Add Task`})}),(0,G.jsxs)(`div`,{className:`py-2`,children:[(0,G.jsx)(z,{placeholder:`Describe what needs to be done...`,value:y,onChange:e=>x(e.target.value),rows:12,className:`resize-none text-base`,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&j()}}),(0,G.jsx)(`p`,{className:f(D.caption,`mt-1.5`),children:`A title will be generated automatically from your description.`})]}),(0,G.jsx)(b,{children:(0,G.jsx)(d,{onClick:()=>void j(),disabled:C||!y.trim(),children:C?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(S,{className:`mr-1 h-3 w-3 animate-spin`}),`Generating title...`]}):`Add`})})]})}),v4:(0,G.jsx)(_,{open:g!==null,onOpenChange:e=>!e&&A(),children:(0,G.jsxs)(m,{className:`max-w-2xl flex-col 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:overflow-y-auto 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,G.jsx)(O,{children:(0,G.jsx)(w,{children:`Edit Task`})}),(0,G.jsx)(`div`,{className:`py-2`,children:(0,G.jsx)(z,{placeholder:`Describe what needs to be done...`,value:y,onChange:e=>x(e.target.value),rows:12,className:`max-h-[min(16rem,40svh)] resize-none text-base sm:max-h-none`,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&M()}})}),(0,G.jsxs)(b,{className:`flex-row justify-between gap-2 sm:gap-0`,children:[(0,G.jsx)(d,{variant:`destructive`,onClick:()=>void N(),disabled:C,children:`Delete`}),(0,G.jsx)(d,{onClick:()=>void M(),disabled:C||!y.trim(),className:`w-auto`,children:C?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(S,{className:`mr-1 h-3 w-3 animate-spin`}),`Saving...`]}):`Save`})]})]})})})};function Ee(e){let t=(0,W.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({projectId:r,loadVersion:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==r?(a=J(r,n),t[4]=n,t[5]=r,t[6]=a):a=t[6];let o;t[7]===r?o=t[8]:(o=()=>_e(r),t[7]=r,t[8]=o);let s=N(a,o),c;return t[9]!==s||t[10]!==r||t[11]!==i?(c=(0,G.jsx)(Te,{projectId:r,initialTodos:s,...i}),t[9]=s,t[10]=r,t[11]=i,t[12]=c):c=t[12],c}function De(e){let t=(0,W.c)(18),n,r;t[0]===e?(n=t[1],r=t[2]):({refreshTrigger:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,[a,o]=(0,U.useState)(0),s,c;t[3]!==n.projectId||t[4]!==i?(s=()=>{i!==0&&o(e=>(I(J(n.projectId,e)),e+1))},c=[i,n.projectId],t[3]=n.projectId,t[4]=i,t[5]=s,t[6]=c):(s=t[5],c=t[6]),(0,U.useEffect)(s,c);let l;t[7]!==a||t[8]!==n.projectId?(l=function(){I(J(n.projectId,a)),o(Y)},t[7]=a,t[8]=n.projectId,t[9]=l):l=t[9];let u=l,d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,G.jsx)(P,{className:`h-64`}),t[10]=d):d=t[10];let f=`${n.projectId}:${a}`,p;t[11]!==a||t[12]!==n||t[13]!==f?(p=(0,G.jsx)(U.Suspense,{fallback:d,children:(0,G.jsx)(Ee,{...n,loadVersion:a},f)}),t[11]=a,t[12]=n,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==u||t[16]!==p?(m=(0,G.jsx)(F,{fallbackTitle:`Failed to load tasks`,onRetry:u,children:p}),t[15]=u,t[16]=p,t[17]=m):m=t[17],m}function Y(e){return e+1}var X=`Please analyze this task and create a detailed implementation plan.
4
+
5
+ Task description:
6
+ {description}`,Z=`Act as a Quality Assurance Manager. Rephrase the task into a rigorous test case: {description}`,Q=`Code review: The systematic examination of code to find mistakes, ensure it follows best practices, and identify areas for improvement
7
+ Directions:
8
+ Carefully read through the list of code changes creating a todo list of code to review.
9
+ Analyze the code structure, variable names, functions, and logic flow
10
+ Look for any syntax errors, bugs, or inefficiencies
11
+ Consider best practices for the specific programming language used
12
+ Provide clear and constructive feedback on areas that could be improved
13
+ If applicable, include examples of how to refactor problematic code
14
+ Offer praise for portions of the code that are well-written and follow best practices
15
+
16
+ Task description:
17
+ {description}`,$=[{value:`plan`,label:`Plan`,field:`planPrompt`,defaultPrompt:X},{value:`review`,label:`Code Review`,field:`reviewPrompt`,defaultPrompt:Q},{value:`test`,label:`Test`,field:`testPrompt`,defaultPrompt:Z}];function Oe({open:e,onOpenChange:t,projectId:r}){let i=H(e=>e.projects),[a,o]=(0,U.useState)({plan:``,review:``,test:``}),[s,c]=(0,U.useState)(!1);(0,U.useEffect)(()=>{if(!e)return;let t=i.find(e=>e.projectId===r);o({plan:t?.planPrompt??``,review:t?.reviewPrompt??``,test:t?.testPrompt??``})},[e,r,i]);async function l(){c(!0);try{await h(r,{planPrompt:a.plan.trim()===X?null:a.plan.trim()||null,testPrompt:a.test.trim()===Z?null:a.test.trim()||null,reviewPrompt:a.review.trim()===Q?null:a.review.trim()||null}),T(),R({title:`AI prompt settings saved`}),t(!1)}catch(e){R({title:`Error`,description:e instanceof Error?e.message:`Failed to save prompt settings`,variant:`destructive`})}finally{c(!1)}}function u(e,t){o(n=>({...n,[e]:t}))}return(0,G.jsx)(_,{open:e,onOpenChange:t,children:(0,G.jsxs)(m,{className:`max-w-2xl`,children:[(0,G.jsxs)(O,{children:[(0,G.jsx)(w,{children:`AI Prompt Settings`}),(0,G.jsx)(n,{children:`Customize the prompts used when running Plan, Code Review, and Test actions from the task board. Leave empty to use the default prompt.`})]}),(0,G.jsxs)(ue,{defaultValue:`plan`,className:`w-full`,children:[(0,G.jsx)(le,{className:`w-full`,children:$.map(e=>(0,G.jsx)(se,{value:e.value,className:`flex-1`,children:e.label},e.value))}),$.map(e=>(0,G.jsxs)(ce,{value:e.value,children:[(0,G.jsx)(z,{value:a[e.value]||e.defaultPrompt,onChange:t=>u(e.value,t.target.value),className:`min-h-[250px] font-mono resize-none`,placeholder:e.defaultPrompt,disabled:s}),(0,G.jsxs)(`p`,{className:f(D.bodyMuted,`mt-1.5`),children:[`Use `,(0,G.jsx)(`code`,{className:D.mono,children:`{description}`}),` for the task description. Leave empty to use the default.`]})]},e.value))]}),(0,G.jsx)(b,{children:(0,G.jsx)(d,{onClick:()=>void l(),disabled:s,children:s?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(S,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`})})]})})}function ke({projectId:e,refreshTrigger:t}){let n=B(),i=H(e=>e.projects),a=H(e=>e.selectedThreadId),o=H(e=>e.selectedProjectId),[s,c]=(0,U.useState)(!1),{setActiveMainTab:l}=ae();async function u(t){if(i.find(t=>t.projectId===e)){l(`chat`);try{let{getProjects:r,invalidateProjectsCache:i}=await j(async()=>{let{getProjects:e,invalidateProjectsCache:t}=await import(`./dialogs-config-BF_RyK5j.js`).then(e=>e.f);return{getProjects:e,invalidateProjectsCache:t}},__vite__mapDeps([0,1]));i();let s=await r();n({type:V.SetProjects,projects:s.projects});let c=s.projects.find(t=>t.projectId===e);if(c&&c.threads.find(e=>e.threadId===t)){(a!==t||o!==e)&&n({type:V.SelectThread,threadId:t,projectId:e});try{let e=await A();n({type:V.SetProcessingThreads,threadIds:e})}catch(e){console.error(`Failed to fetch processing threads after thread selection:`,e)}}}catch(r){console.error(`Failed to refresh projects for thread selection:`,r),(a!==t||o!==e)&&n({type:V.SelectThread,threadId:t,projectId:e});try{let e=await A();n({type:V.SetProcessingThreads,threadIds:e})}catch(e){console.error(`Failed to fetch processing threads after fallback thread selection:`,e)}}}}return(0,G.jsxs)(`div`,{className:`relative flex h-full min-w-0 flex-col overflow-hidden`,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden pt-8`,children:(0,G.jsx)(De,{projectId:e,refreshTrigger:t,onThreadSelect:u})}),(0,G.jsx)(d,{variant:`outline`,size:`icon`,className:`absolute bottom-8 right-4`,onClick:()=>c(!0),children:(0,G.jsx)(r,{className:`h-4 w-4`})}),(0,G.jsx)(Oe,{open:s,onOpenChange:c,projectId:e})]})}export{ke as TodosView};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ei as t,Kr as n,ai as r,ha as i,ii as a,ls as o,ni as s,oi as c}from"./dialogs-config-BEazgV7k.js";var l=1,u=.9,d=.8,f=.17,p=.1,m=.999,h=.9999,g=.99,_=/[\\\/_+.#"@\[\(\{&]/,v=/[\\\/_+.#"@\[\(\{&]/g,y=/[\s-]/,b=/[\s-]/g;function x(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?l:g;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),S=n.indexOf(c,i),C=0,w,T,E,D;S>=0;)w=x(e,t,n,r,S+1,a+1,o),w>C&&(S===i?w*=l:_.test(e.charAt(S-1))?(w*=d,E=e.slice(i,S-1).match(v),E&&i>0&&(w*=m**+E.length)):y.test(e.charAt(S-1))?(w*=u,D=e.slice(i,S-1).match(b),D&&i>0&&(w*=m**+D.length)):(w*=f,i>0&&(w*=m**+(S-i))),e.charAt(S)!==t.charAt(a)&&(w*=h)),(w<p&&n.charAt(S-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(S-1)!==r.charAt(a))&&(T=x(e,t,n,r,S+1,a+2,o),T*p>w&&(w=T*p)),w>C&&(C=w),S=n.indexOf(c,S+1);return o[s]=C,C}function S(e){return e.toLowerCase().replace(b,` `)}function C(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,x(e,t,S(e),S(t),0,0,{})}var w=e(o(),1),T=`[cmdk-group=""]`,E=`[cmdk-group-items=""]`,D=`[cmdk-group-heading=""]`,O=`[cmdk-item=""]`,k=`${O}:not([aria-disabled="true"])`,A=`cmdk-item-select`,j=`data-value`,ee=(e,t,n)=>C(e,t,n),M=w.createContext(void 0),N=()=>w.useContext(M),P=w.createContext(void 0),F=()=>w.useContext(P),I=w.createContext(void 0),L=w.forwardRef((e,r)=>{let i=Y(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),a=Y(()=>new Set),o=Y(()=>new Map),s=Y(()=>new Map),c=Y(()=>new Set),l=q(e),{label:u,children:d,value:f,onValueChange:p,filter:m,shouldFilter:h,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=t(),x=t(),S=t(),C=w.useRef(null),N=re();J(()=>{if(f!==void 0){let e=f.trim();i.current.value=e,F.emit()}},[f]),J(()=>{N(6,V)},[]);let F=w.useMemo(()=>({subscribe:e=>(c.current.add(e),()=>c.current.delete(e)),snapshot:()=>i.current,setState:(e,t,n)=>{var r,a,o;if(!Object.is(i.current[e],t)){if(i.current[e]=t,e===`search`)B(),R(),N(1,z);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(r=document.getElementById(b))==null||r.focus()}if(N(7,()=>{i.current.selectedItemId=H()?.id,F.emit()}),n||N(5,V),l.current?.value!==void 0){let e=t??``;(o=(a=l.current).onValueChange)==null||o.call(a,e);return}}F.emit()}},emit:()=>{c.current.forEach(e=>e())}}),[]),I=w.useMemo(()=>({value:(e,t,n)=>{t!==s.current.get(e)?.value&&(s.current.set(e,{value:t,keywords:n}),i.current.filtered.items.set(e,L(t,n)),N(2,()=>{R(),F.emit()}))},item:(e,t)=>(a.current.add(e),t&&(o.current.has(t)?o.current.get(t).add(e):o.current.set(t,new Set([e]))),N(3,()=>{B(),R(),i.current.value||z(),F.emit()}),()=>{s.current.delete(e),a.current.delete(e),i.current.filtered.items.delete(e);let t=H();N(4,()=>{B(),t?.getAttribute(`id`)===e&&z(),F.emit()})}),group:e=>(o.current.has(e)||o.current.set(e,new Set),()=>{s.current.delete(e),o.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e[`aria-label`],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function L(e,t){let n=l.current?.filter??ee;return e?n(e,i.current.search,t):0}function R(){if(!i.current.search||l.current.shouldFilter===!1)return;let e=i.current.filtered.items,t=[];i.current.filtered.groups.forEach(n=>{let r=o.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let n=C.current;U().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(E);t?t.appendChild(e.parentElement===t?e:e.closest(`${E} > *`)):n.appendChild(e.parentElement===n?e:e.closest(`${E} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${T}[${j}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function z(){let e=U().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(j);F.setState(`value`,e||void 0)}function B(){if(!i.current.search||l.current.shouldFilter===!1){i.current.filtered.count=a.current.size;return}i.current.filtered.groups=new Set;let e=0;for(let t of a.current){let n=L(s.current.get(t)?.value??``,s.current.get(t)?.keywords??[]);i.current.filtered.items.set(t,n),n>0&&e++}for(let[e,t]of o.current)for(let n of t)if(i.current.filtered.items.get(n)>0){i.current.filtered.groups.add(e);break}i.current.filtered.count=e}function V(){var e;let t=H();t&&(t.parentElement?.firstChild===t&&((e=t.closest(T)?.querySelector(D))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function H(){return C.current?.querySelector(`${O}[aria-selected="true"]`)}function U(){return Array.from(C.current?.querySelectorAll(k)||[])}function W(e){let t=U()[e];t&&F.setState(`value`,t.getAttribute(j))}function G(e){var t;let n=H(),r=U(),i=r.findIndex(e=>e===n),a=r[i+e];(t=l.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&F.setState(`value`,a.getAttribute(j))}function K(e){let t=H()?.closest(T),n;for(;t&&!n;)t=e>0?te(t,T):ne(t,T),n=t?.querySelector(k);n?F.setState(`value`,n.getAttribute(j)):G(e)}let X=()=>W(U().length-1),Z=e=>{e.preventDefault(),e.metaKey?X():e.altKey?K(1):G(1)},Q=e=>{e.preventDefault(),e.metaKey?W(0):e.altKey?K(-1):G(-1)};return w.createElement(n.div,{ref:r,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&Z(e);break;case`ArrowDown`:Z(e);break;case`p`:case`k`:v&&e.ctrlKey&&Q(e);break;case`ArrowUp`:Q(e);break;case`Home`:e.preventDefault(),W(0);break;case`End`:e.preventDefault(),X();break;case`Enter`:{e.preventDefault();let t=H();if(t){let e=new Event(A);t.dispatchEvent(e)}}}}},w.createElement(`label`,{"cmdk-label":``,htmlFor:I.inputId,id:I.labelId,style:ie},u),$(e,e=>w.createElement(P.Provider,{value:F},w.createElement(M.Provider,{value:I},e))))}),R=w.forwardRef((e,r)=>{let a=t(),o=w.useRef(null),s=w.useContext(I),c=N(),l=q(e),u=l.current?.forceMount??s?.forceMount;J(()=>{if(!u)return c.item(a,s?.id)},[u]);let d=Z(a,o,[e.value,e.children,o],e.keywords),f=F(),p=X(e=>e.value&&e.value===d.current),m=X(e=>u||c.filter()===!1?!0:e.search?e.filtered.items.get(a)>0:!0);w.useEffect(()=>{let t=o.current;if(!(!t||e.disabled))return t.addEventListener(A,h),()=>t.removeEventListener(A,h)},[m,e.onSelect,e.disabled]);function h(){var e,t;g(),(t=(e=l.current).onSelect)==null||t.call(e,d.current)}function g(){f.setState(`value`,d.current,!0)}if(!m)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return w.createElement(n.div,{ref:i(o,r),...S,id:a,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!p,"data-disabled":!!_,"data-selected":!!p,onPointerMove:_||c.getDisablePointerSelection()?void 0:g,onClick:_?void 0:h},e.children)}),z=w.forwardRef((e,r)=>{let{heading:a,children:o,forceMount:s,...c}=e,l=t(),u=w.useRef(null),d=w.useRef(null),f=t(),p=N(),m=X(e=>s||p.filter()===!1?!0:e.search?e.filtered.groups.has(l):!0);J(()=>p.group(l),[]),Z(l,u,[e.value,e.heading,d]);let h=w.useMemo(()=>({id:l,forceMount:s}),[s]);return w.createElement(n.div,{ref:i(u,r),...c,"cmdk-group":``,role:`presentation`,hidden:m?void 0:!0},a&&w.createElement(`div`,{ref:d,"cmdk-group-heading":``,"aria-hidden":!0,id:f},a),$(e,e=>w.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":a?f:void 0},w.createElement(I.Provider,{value:h},e))))}),B=w.forwardRef((e,t)=>{let{alwaysRender:r,...a}=e,o=w.useRef(null),s=X(e=>!e.search);return!r&&!s?null:w.createElement(n.div,{ref:i(o,t),...a,"cmdk-separator":``,role:`separator`})}),V=w.forwardRef((e,t)=>{let{onValueChange:r,...i}=e,a=e.value!=null,o=F(),s=X(e=>e.search),c=X(e=>e.selectedItemId),l=N();return w.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),w.createElement(n.input,{ref:t,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),r?.(e.target.value)}})}),H=w.forwardRef((e,t)=>{let{children:r,label:a=`Suggestions`,...o}=e,s=w.useRef(null),c=w.useRef(null),l=X(e=>e.selectedItemId),u=N();return w.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),w.createElement(n.div,{ref:i(s,t),...o,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":a,id:u.listId},$(e,e=>w.createElement(`div`,{ref:i(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),U=w.forwardRef((e,t)=>{let{open:n,onOpenChange:i,overlayClassName:o,contentClassName:l,container:u,...d}=e;return w.createElement(c,{open:n,onOpenChange:i},w.createElement(r,{container:u},w.createElement(a,{"cmdk-overlay":``,className:o}),w.createElement(s,{"aria-label":e.label,"cmdk-dialog":``,className:l},w.createElement(L,{ref:t,...d}))))}),W=w.forwardRef((e,t)=>X(e=>e.filtered.count===0)?w.createElement(n.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),G=w.forwardRef((e,t)=>{let{progress:r,children:i,label:a=`Loading...`,...o}=e;return w.createElement(n.div,{ref:t,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},$(e,e=>w.createElement(`div`,{"aria-hidden":!0},e)))}),K=Object.assign(L,{List:H,Item:R,Input:V,Group:z,Separator:B,Dialog:U,Empty:W,Loading:G});function te(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function ne(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function q(e){let t=w.useRef(e);return J(()=>{t.current=e}),t}var J=typeof window>`u`?w.useEffect:w.useLayoutEffect;function Y(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function X(e){let t=F(),n=()=>e(t.snapshot());return w.useSyncExternalStore(t.subscribe,n,n)}function Z(e,t,n,r=[]){let i=w.useRef(),a=N();return J(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(j,s),i.current=s}),i}var re=()=>{let[e,t]=w.useState(),n=Y(()=>new Map);return J(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Q(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function $({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(Q(t),{ref:t.ref},n(t.props.children)):n(t)}var ie={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};export{K as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Jr as t,Oi as n,ba as r,ci as i,ii as a,ms as o,oi as s,si as c}from"./dialogs-config-BF_RyK5j.js";var l=1,u=.9,d=.8,f=.17,p=.1,m=.999,h=.9999,g=.99,_=/[\\\/_+.#"@\[\(\{&]/,v=/[\\\/_+.#"@\[\(\{&]/g,y=/[\s-]/,b=/[\s-]/g;function x(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?l:g;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),S=n.indexOf(c,i),C=0,w,T,E,D;S>=0;)w=x(e,t,n,r,S+1,a+1,o),w>C&&(S===i?w*=l:_.test(e.charAt(S-1))?(w*=d,E=e.slice(i,S-1).match(v),E&&i>0&&(w*=m**+E.length)):y.test(e.charAt(S-1))?(w*=u,D=e.slice(i,S-1).match(b),D&&i>0&&(w*=m**+D.length)):(w*=f,i>0&&(w*=m**+(S-i))),e.charAt(S)!==t.charAt(a)&&(w*=h)),(w<p&&n.charAt(S-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(S-1)!==r.charAt(a))&&(T=x(e,t,n,r,S+1,a+2,o),T*p>w&&(w=T*p)),w>C&&(C=w),S=n.indexOf(c,S+1);return o[s]=C,C}function S(e){return e.toLowerCase().replace(b,` `)}function C(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,x(e,t,S(e),S(t),0,0,{})}var w=e(o(),1),T=`[cmdk-group=""]`,E=`[cmdk-group-items=""]`,D=`[cmdk-group-heading=""]`,O=`[cmdk-item=""]`,k=`${O}:not([aria-disabled="true"])`,A=`cmdk-item-select`,j=`data-value`,ee=(e,t,n)=>C(e,t,n),M=w.createContext(void 0),N=()=>w.useContext(M),P=w.createContext(void 0),F=()=>w.useContext(P),I=w.createContext(void 0),L=w.forwardRef((e,r)=>{let i=Y(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),a=Y(()=>new Set),o=Y(()=>new Map),s=Y(()=>new Map),c=Y(()=>new Set),l=q(e),{label:u,children:d,value:f,onValueChange:p,filter:m,shouldFilter:h,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=n(),x=n(),S=n(),C=w.useRef(null),N=re();J(()=>{if(f!==void 0){let e=f.trim();i.current.value=e,F.emit()}},[f]),J(()=>{N(6,V)},[]);let F=w.useMemo(()=>({subscribe:e=>(c.current.add(e),()=>c.current.delete(e)),snapshot:()=>i.current,setState:(e,t,n)=>{var r,a,o;if(!Object.is(i.current[e],t)){if(i.current[e]=t,e===`search`)B(),R(),N(1,z);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(r=document.getElementById(b))==null||r.focus()}if(N(7,()=>{i.current.selectedItemId=H()?.id,F.emit()}),n||N(5,V),l.current?.value!==void 0){let e=t??``;(o=(a=l.current).onValueChange)==null||o.call(a,e);return}}F.emit()}},emit:()=>{c.current.forEach(e=>e())}}),[]),I=w.useMemo(()=>({value:(e,t,n)=>{t!==s.current.get(e)?.value&&(s.current.set(e,{value:t,keywords:n}),i.current.filtered.items.set(e,L(t,n)),N(2,()=>{R(),F.emit()}))},item:(e,t)=>(a.current.add(e),t&&(o.current.has(t)?o.current.get(t).add(e):o.current.set(t,new Set([e]))),N(3,()=>{B(),R(),i.current.value||z(),F.emit()}),()=>{s.current.delete(e),a.current.delete(e),i.current.filtered.items.delete(e);let t=H();N(4,()=>{B(),t?.getAttribute(`id`)===e&&z(),F.emit()})}),group:e=>(o.current.has(e)||o.current.set(e,new Set),()=>{s.current.delete(e),o.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e[`aria-label`],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function L(e,t){let n=l.current?.filter??ee;return e?n(e,i.current.search,t):0}function R(){if(!i.current.search||l.current.shouldFilter===!1)return;let e=i.current.filtered.items,t=[];i.current.filtered.groups.forEach(n=>{let r=o.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let n=C.current;U().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(E);t?t.appendChild(e.parentElement===t?e:e.closest(`${E} > *`)):n.appendChild(e.parentElement===n?e:e.closest(`${E} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${T}[${j}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function z(){let e=U().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(j);F.setState(`value`,e||void 0)}function B(){if(!i.current.search||l.current.shouldFilter===!1){i.current.filtered.count=a.current.size;return}i.current.filtered.groups=new Set;let e=0;for(let t of a.current){let n=L(s.current.get(t)?.value??``,s.current.get(t)?.keywords??[]);i.current.filtered.items.set(t,n),n>0&&e++}for(let[e,t]of o.current)for(let n of t)if(i.current.filtered.items.get(n)>0){i.current.filtered.groups.add(e);break}i.current.filtered.count=e}function V(){var e;let t=H();t&&(t.parentElement?.firstChild===t&&((e=t.closest(T)?.querySelector(D))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function H(){return C.current?.querySelector(`${O}[aria-selected="true"]`)}function U(){return Array.from(C.current?.querySelectorAll(k)||[])}function W(e){let t=U()[e];t&&F.setState(`value`,t.getAttribute(j))}function G(e){var t;let n=H(),r=U(),i=r.findIndex(e=>e===n),a=r[i+e];(t=l.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&F.setState(`value`,a.getAttribute(j))}function K(e){let t=H()?.closest(T),n;for(;t&&!n;)t=e>0?te(t,T):ne(t,T),n=t?.querySelector(k);n?F.setState(`value`,n.getAttribute(j)):G(e)}let X=()=>W(U().length-1),Z=e=>{e.preventDefault(),e.metaKey?X():e.altKey?K(1):G(1)},Q=e=>{e.preventDefault(),e.metaKey?W(0):e.altKey?K(-1):G(-1)};return w.createElement(t.div,{ref:r,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&Z(e);break;case`ArrowDown`:Z(e);break;case`p`:case`k`:v&&e.ctrlKey&&Q(e);break;case`ArrowUp`:Q(e);break;case`Home`:e.preventDefault(),W(0);break;case`End`:e.preventDefault(),X();break;case`Enter`:{e.preventDefault();let t=H();if(t){let e=new Event(A);t.dispatchEvent(e)}}}}},w.createElement(`label`,{"cmdk-label":``,htmlFor:I.inputId,id:I.labelId,style:ie},u),$(e,e=>w.createElement(P.Provider,{value:F},w.createElement(M.Provider,{value:I},e))))}),R=w.forwardRef((e,i)=>{let a=n(),o=w.useRef(null),s=w.useContext(I),c=N(),l=q(e),u=l.current?.forceMount??s?.forceMount;J(()=>{if(!u)return c.item(a,s?.id)},[u]);let d=Z(a,o,[e.value,e.children,o],e.keywords),f=F(),p=X(e=>e.value&&e.value===d.current),m=X(e=>u||c.filter()===!1?!0:e.search?e.filtered.items.get(a)>0:!0);w.useEffect(()=>{let t=o.current;if(!(!t||e.disabled))return t.addEventListener(A,h),()=>t.removeEventListener(A,h)},[m,e.onSelect,e.disabled]);function h(){var e,t;g(),(t=(e=l.current).onSelect)==null||t.call(e,d.current)}function g(){f.setState(`value`,d.current,!0)}if(!m)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return w.createElement(t.div,{ref:r(o,i),...S,id:a,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!p,"data-disabled":!!_,"data-selected":!!p,onPointerMove:_||c.getDisablePointerSelection()?void 0:g,onClick:_?void 0:h},e.children)}),z=w.forwardRef((e,i)=>{let{heading:a,children:o,forceMount:s,...c}=e,l=n(),u=w.useRef(null),d=w.useRef(null),f=n(),p=N(),m=X(e=>s||p.filter()===!1?!0:e.search?e.filtered.groups.has(l):!0);J(()=>p.group(l),[]),Z(l,u,[e.value,e.heading,d]);let h=w.useMemo(()=>({id:l,forceMount:s}),[s]);return w.createElement(t.div,{ref:r(u,i),...c,"cmdk-group":``,role:`presentation`,hidden:m?void 0:!0},a&&w.createElement(`div`,{ref:d,"cmdk-group-heading":``,"aria-hidden":!0,id:f},a),$(e,e=>w.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":a?f:void 0},w.createElement(I.Provider,{value:h},e))))}),B=w.forwardRef((e,n)=>{let{alwaysRender:i,...a}=e,o=w.useRef(null),s=X(e=>!e.search);return!i&&!s?null:w.createElement(t.div,{ref:r(o,n),...a,"cmdk-separator":``,role:`separator`})}),V=w.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,a=e.value!=null,o=F(),s=X(e=>e.search),c=X(e=>e.selectedItemId),l=N();return w.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),w.createElement(t.input,{ref:n,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),r?.(e.target.value)}})}),H=w.forwardRef((e,n)=>{let{children:i,label:a=`Suggestions`,...o}=e,s=w.useRef(null),c=w.useRef(null),l=X(e=>e.selectedItemId),u=N();return w.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),w.createElement(t.div,{ref:r(s,n),...o,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":a,id:u.listId},$(e,e=>w.createElement(`div`,{ref:r(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),U=w.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:o,contentClassName:l,container:u,...d}=e;return w.createElement(i,{open:n,onOpenChange:r},w.createElement(c,{container:u},w.createElement(s,{"cmdk-overlay":``,className:o}),w.createElement(a,{"aria-label":e.label,"cmdk-dialog":``,className:l},w.createElement(L,{ref:t,...d}))))}),W=w.forwardRef((e,n)=>X(e=>e.filtered.count===0)?w.createElement(t.div,{ref:n,...e,"cmdk-empty":``,role:`presentation`}):null),G=w.forwardRef((e,n)=>{let{progress:r,children:i,label:a=`Loading...`,...o}=e;return w.createElement(t.div,{ref:n,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},$(e,e=>w.createElement(`div`,{"aria-hidden":!0},e)))}),K=Object.assign(L,{List:H,Item:R,Input:V,Group:z,Separator:B,Dialog:U,Empty:W,Loading:G});function te(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function ne(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function q(e){let t=w.useRef(e);return J(()=>{t.current=e}),t}var J=typeof window>`u`?w.useEffect:w.useLayoutEffect;function Y(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function X(e){let t=F(),n=()=>e(t.snapshot());return w.useSyncExternalStore(t.subscribe,n,n)}function Z(e,t,n,r=[]){let i=w.useRef(),a=N();return J(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(j,s),i.current=s}),i}var re=()=>{let[e,t]=w.useState(),n=Y(()=>new Map);return J(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Q(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function $({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(Q(t),{ref:t.ref},n(t.props.children)):n(t)}var ie={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};export{K as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{ls as t,ss as n}from"./dialogs-config-BEazgV7k.js";var r=n(),i=e(t(),1);function a(e){let t=(0,r.c)(3),[n,a]=(0,i.useState)(e===void 0?``:e),o=(0,i.useDeferredValue)(n),s;return t[0]!==o||t[1]!==n?(s={query:n,setQuery:a,deferredQuery:o},t[0]=o,t[1]=n,t[2]=s):s=t[2],s}export{a as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{fs as t,ms as n}from"./dialogs-config-BF_RyK5j.js";var r=t(),i=e(n(),1);function a(e){let t=(0,r.c)(3),[n,a]=(0,i.useState)(e===void 0?``:e),o=(0,i.useDeferredValue)(n),s;return t[0]!==o||t[1]!==n?(s={query:n,setQuery:a,deferredQuery:o},t[0]=o,t[1]=n,t[2]=s):s=t[2],s}export{a as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{ls as t}from"./dialogs-config-BEazgV7k.js";var n=e(t(),1),r=(e,t,n,r,i,a,o,s)=>{let c=document.documentElement,l=[`light`,`dark`];function u(t){(Array.isArray(e)?e:[e]).forEach(e=>{let n=e===`class`,r=n&&a?i.map(e=>a[e]||e):i;n?(c.classList.remove(...r),c.classList.add(a&&a[t]?a[t]:t)):c.setAttribute(e,t)}),d(t)}function d(e){s&&l.includes(e)&&(c.style.colorScheme=e)}function f(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}if(r)u(r);else try{let e=localStorage.getItem(t)||n;u(o&&e===`system`?f():e)}catch{}},i=[`light`,`dark`],a=`(prefers-color-scheme: dark)`,o=typeof window>`u`,s=n.createContext(void 0),c={setTheme:e=>{},themes:[]},l=()=>n.useContext(s)??c,u=e=>n.useContext(s)?n.createElement(n.Fragment,null,e.children):n.createElement(f,{...e}),d=[`light`,`dark`],f=({forcedTheme:e,disableTransitionOnChange:t=!1,enableSystem:r=!0,enableColorScheme:o=!0,storageKey:c=`theme`,themes:l=d,defaultTheme:u=r?`system`:`light`,attribute:f=`data-theme`,value:_,children:v,nonce:y,scriptProps:b})=>{let[x,S]=n.useState(()=>m(c,u)),[C,w]=n.useState(()=>x===`system`?g():x),T=_?Object.values(_):l,E=n.useCallback(e=>{let n=e;if(!n)return;e===`system`&&r&&(n=g());let a=_?_[n]:n,s=t?h(y):null,c=document.documentElement,l=e=>{e===`class`?(c.classList.remove(...T),a&&c.classList.add(a)):e.startsWith(`data-`)&&(a?c.setAttribute(e,a):c.removeAttribute(e))};if(Array.isArray(f)?f.forEach(l):l(f),o){let e=i.includes(u)?u:null,t=i.includes(n)?n:e;c.style.colorScheme=t}s?.()},[y]),D=n.useCallback(e=>{let t=typeof e==`function`?e(x):e;S(t);try{localStorage.setItem(c,t)}catch{}},[x]),O=n.useCallback(t=>{w(g(t)),x===`system`&&r&&!e&&E(`system`)},[x,e]);n.useEffect(()=>{let e=window.matchMedia(a);return e.addListener(O),O(e),()=>e.removeListener(O)},[O]),n.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?S(e.newValue):D(u))};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[D]),n.useEffect(()=>{E(e??x)},[e,x]);let k=n.useMemo(()=>({theme:x,setTheme:D,forcedTheme:e,resolvedTheme:x===`system`?C:x,themes:r?[...l,`system`]:l,systemTheme:r?C:void 0}),[x,D,e,C,r,l]);return n.createElement(s.Provider,{value:k},n.createElement(p,{forcedTheme:e,storageKey:c,attribute:f,enableSystem:r,enableColorScheme:o,defaultTheme:u,value:_,themes:l,nonce:y,scriptProps:b}),v)},p=n.memo(({forcedTheme:e,storageKey:t,attribute:i,enableSystem:a,enableColorScheme:o,defaultTheme:s,value:c,themes:l,nonce:u,scriptProps:d})=>{let f=JSON.stringify([i,t,s,e,l,c,a,o]).slice(1,-1);return n.createElement(`script`,{...d,suppressHydrationWarning:!0,nonce:typeof window>`u`?u:``,dangerouslySetInnerHTML:{__html:`(${r.toString()})(${f})`}})}),m=(e,t)=>{if(o)return;let n;try{n=localStorage.getItem(e)||void 0}catch{}return n||t},h=e=>{let t=document.createElement(`style`);return e&&t.setAttribute(`nonce`,e),t.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},g=e=>(e||=window.matchMedia(a),e.matches?`dark`:`light`);export{l as n,u as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{ms as t}from"./dialogs-config-BF_RyK5j.js";var n=e(t(),1),r=(e,t,n,r,i,a,o,s)=>{let c=document.documentElement,l=[`light`,`dark`];function u(t){(Array.isArray(e)?e:[e]).forEach(e=>{let n=e===`class`,r=n&&a?i.map(e=>a[e]||e):i;n?(c.classList.remove(...r),c.classList.add(a&&a[t]?a[t]:t)):c.setAttribute(e,t)}),d(t)}function d(e){s&&l.includes(e)&&(c.style.colorScheme=e)}function f(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}if(r)u(r);else try{let e=localStorage.getItem(t)||n;u(o&&e===`system`?f():e)}catch{}},i=[`light`,`dark`],a=`(prefers-color-scheme: dark)`,o=typeof window>`u`,s=n.createContext(void 0),c={setTheme:e=>{},themes:[]},l=()=>n.useContext(s)??c,u=e=>n.useContext(s)?n.createElement(n.Fragment,null,e.children):n.createElement(f,{...e}),d=[`light`,`dark`],f=({forcedTheme:e,disableTransitionOnChange:t=!1,enableSystem:r=!0,enableColorScheme:o=!0,storageKey:c=`theme`,themes:l=d,defaultTheme:u=r?`system`:`light`,attribute:f=`data-theme`,value:_,children:v,nonce:y,scriptProps:b})=>{let[x,S]=n.useState(()=>m(c,u)),[C,w]=n.useState(()=>x===`system`?g():x),T=_?Object.values(_):l,E=n.useCallback(e=>{let n=e;if(!n)return;e===`system`&&r&&(n=g());let a=_?_[n]:n,s=t?h(y):null,c=document.documentElement,l=e=>{e===`class`?(c.classList.remove(...T),a&&c.classList.add(a)):e.startsWith(`data-`)&&(a?c.setAttribute(e,a):c.removeAttribute(e))};if(Array.isArray(f)?f.forEach(l):l(f),o){let e=i.includes(u)?u:null,t=i.includes(n)?n:e;c.style.colorScheme=t}s?.()},[y]),D=n.useCallback(e=>{let t=typeof e==`function`?e(x):e;S(t);try{localStorage.setItem(c,t)}catch{}},[x]),O=n.useCallback(t=>{w(g(t)),x===`system`&&r&&!e&&E(`system`)},[x,e]);n.useEffect(()=>{let e=window.matchMedia(a);return e.addListener(O),O(e),()=>e.removeListener(O)},[O]),n.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?S(e.newValue):D(u))};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[D]),n.useEffect(()=>{E(e??x)},[e,x]);let k=n.useMemo(()=>({theme:x,setTheme:D,forcedTheme:e,resolvedTheme:x===`system`?C:x,themes:r?[...l,`system`]:l,systemTheme:r?C:void 0}),[x,D,e,C,r,l]);return n.createElement(s.Provider,{value:k},n.createElement(p,{forcedTheme:e,storageKey:c,attribute:f,enableSystem:r,enableColorScheme:o,defaultTheme:u,value:_,themes:l,nonce:y,scriptProps:b}),v)},p=n.memo(({forcedTheme:e,storageKey:t,attribute:i,enableSystem:a,enableColorScheme:o,defaultTheme:s,value:c,themes:l,nonce:u,scriptProps:d})=>{let f=JSON.stringify([i,t,s,e,l,c,a,o]).slice(1,-1);return n.createElement(`script`,{...d,suppressHydrationWarning:!0,nonce:typeof window>`u`?u:``,dangerouslySetInnerHTML:{__html:`(${r.toString()})(${f})`}})}),m=(e,t)=>{if(o)return;let n;try{n=localStorage.getItem(e)||void 0}catch{}return n||t},h=e=>{let t=document.createElement(`style`);return e&&t.setAttribute(`nonce`,e),t.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},g=e=>(e||=window.matchMedia(a),e.matches?`dark`:`light`);export{l as n,u as t};