tarsk 0.4.28 → 0.4.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +774 -373
- package/dist/public/assets/{account-view-DcpSNB3N.js → account-view-wqPOnMfW.js} +1 -1
- package/dist/public/assets/alert-dialog-Dj0hDlZC.js +1 -0
- package/dist/public/assets/api-RbLAI1bg.js +1 -0
- package/dist/public/assets/{browser-tab-CiAz6nc1.js → browser-tab-BjqSmZHm.js} +1 -1
- package/dist/public/assets/chat-input-container-BNOl7YtC.js +21 -0
- package/dist/public/assets/codicon-ngg6Pgfi.ttf +0 -0
- package/dist/public/assets/context-menu-XD6khGRr.js +1 -0
- package/dist/public/assets/conversation-history-view-BRSNoBYn.js +1 -0
- package/dist/public/assets/css.worker-DyDu5ynT.js +89 -0
- package/dist/public/assets/{dialogs-config-vkfELnGl.js → dialogs-config-BXDglGdB.js} +14 -14
- package/dist/public/assets/diff-view-DiNlWcSj.js +3 -0
- package/dist/public/assets/explorer-tab-view-DbMBihAH.js +2 -0
- package/dist/public/assets/{explorer-tree-DTFYhczJ.js → explorer-tree-D0P-HUYS.js} +1 -1
- package/dist/public/assets/{explorer-view-C0KcZ8NQ.js → explorer-view-CL_9lhkq.js} +1 -1
- package/dist/public/assets/history-view-i7fGKCkc.js +1 -0
- package/dist/public/assets/html.worker-IWNXhnIC.js +502 -0
- package/dist/public/assets/index-BeLCtY82.css +1 -0
- package/dist/public/assets/index-CZZ6Jb9i.js +29 -0
- package/dist/public/assets/json.worker-c4h5s80L.js +58 -0
- package/dist/public/assets/markdown-renderer-CPSKOcqK.js +10 -0
- package/dist/public/assets/mcp-server-card-DFATg_Ie.js +1 -0
- package/dist/public/assets/monaco-BGyhgQtx.js +1209 -0
- package/dist/public/assets/monaco-Br_kD0ds.css +1 -0
- package/dist/public/assets/onboarding-5CTkrfwe.js +1 -0
- package/dist/public/assets/onboarding-dialog-gcZ9aKKp.js +1 -0
- package/dist/public/assets/page-toolbar-CbwENcML.js +1 -0
- package/dist/public/assets/project-settings-view-CRRJPGNL.js +1 -0
- package/dist/public/assets/providers-list-view-D3CIB4ou.js +1 -0
- package/dist/public/assets/radio-group-qCcnwXV3.js +1 -0
- package/dist/public/assets/react-vendor-Bpg1hd5i.js +22 -0
- package/dist/public/assets/resizable-BLhzHL_f.js +1 -0
- package/dist/public/assets/{run-stop-button-DZ4JFwdL.js → run-stop-button-CIuDOHFg.js} +2 -2
- package/dist/public/assets/settings-general-view-7Y0c9534.js +1 -0
- package/dist/public/assets/{settings-instructions-view-DWzAH2yN.js → settings-instructions-view-B-uTQrNZ.js} +1 -1
- package/dist/public/assets/settings-mcp-servers-view-nAMQQWHb.js +5 -0
- package/dist/public/assets/settings-models-skeleton-CffyGIvJ.js +1 -0
- package/dist/public/assets/settings-models-view-CMZh5LlR.js +1 -0
- package/dist/public/assets/settings-rules-view-BaNccq1v.js +8 -0
- package/dist/public/assets/{settings-skills-view-DV40_L1o.js → settings-skills-view-DBX7obT7.js} +2 -2
- package/dist/public/assets/{settings-slash-commands-view-BEk3BgOY.js → settings-slash-commands-view-BoT1nCir.js} +1 -1
- package/dist/public/assets/{settings-subagents-view-d3P4ylDX.js → settings-subagents-view-Cy87X2bs.js} +2 -2
- package/dist/public/assets/settings-view-CS-RnV6J.js +2 -0
- package/dist/public/assets/side-panel-container-B33_hnhc.js +2 -0
- package/dist/public/assets/skeleton-n47_ST9G.js +1 -0
- package/dist/public/assets/standard-list-item-BLTOBGFa.js +1 -0
- package/dist/public/assets/store-B9rEO6q-.js +4 -0
- package/dist/public/assets/{tab-context-DWD20a4z.js → tab-context-BUUT3x3d.js} +1 -1
- package/dist/public/assets/tabs--5y6mYhG.js +1 -0
- package/dist/public/assets/{terminal-panel-CkIe2d2K.js → terminal-panel-BCHLDUbD.js} +2 -2
- package/dist/public/assets/textarea-CwXpBxom.js +1 -0
- package/dist/public/assets/todos-view-k0k8R9NT.js +1 -0
- package/dist/public/assets/ts.worker-BwM5Ha3L.js +67719 -0
- package/dist/public/assets/use-font-size-BJl84s49.js +1 -0
- package/dist/public/assets/{use-toast-yY7qQuQP.js → use-toast-C5s-Xnwi.js} +1 -1
- package/dist/public/assets/{utils-BKss67Vg.js → utils-CDrGT12s.js} +1 -1
- package/dist/public/assets/{whisper-wasm-B7iuRPFr.js → whisper-wasm-C_Ot631g.js} +1 -1
- package/dist/public/index.html +24 -22
- package/package.json +2 -2
- package/dist/public/assets/alert-dialog-CQRWdGnn.js +0 -1
- package/dist/public/assets/api-CH5gAPs5.js +0 -1
- package/dist/public/assets/chat-input-container-C6U_WFFu.js +0 -21
- package/dist/public/assets/context-menu-A9p22S7d.js +0 -1
- package/dist/public/assets/conversation-history-view-CD_uVRNY.js +0 -1
- package/dist/public/assets/diff-view-CjbcDB6m.js +0 -3
- package/dist/public/assets/explorer-tab-view-BfycKUUW.js +0 -2
- package/dist/public/assets/history-view-Dn0hQIKU.js +0 -1
- package/dist/public/assets/index-Bdde81Uo.css +0 -1
- package/dist/public/assets/index-DKQVo4Vz.js +0 -29
- package/dist/public/assets/markdown-renderer-CNuyXHcy.js +0 -10
- package/dist/public/assets/mcp-server-card-DBEBe3Qh.js +0 -1
- package/dist/public/assets/monaco-SWcefg0q.js +0 -11
- package/dist/public/assets/onboarding-DslO5AS6.js +0 -1
- package/dist/public/assets/onboarding-dialog-CE-GhoDt.js +0 -1
- package/dist/public/assets/page-toolbar-CloU_Kvo.js +0 -1
- package/dist/public/assets/project-settings-view-CxD9JZoB.js +0 -1
- package/dist/public/assets/providers-list-view-CNxVBJlM.js +0 -1
- package/dist/public/assets/radio-group-Co0Lg6se.js +0 -1
- package/dist/public/assets/react-vendor-DyE9sO8V.js +0 -22
- package/dist/public/assets/resizable-dToeUeVD.js +0 -1
- package/dist/public/assets/settings-mcp-servers-view-q6gGMMVX.js +0 -5
- package/dist/public/assets/settings-models-view-BDDFQWWC.js +0 -1
- package/dist/public/assets/settings-rules-view-DsEwgDFr.js +0 -8
- package/dist/public/assets/settings-view-ClTMPafQ.js +0 -2
- package/dist/public/assets/side-panel-container-BAYoMt7B.js +0 -2
- package/dist/public/assets/skeleton-DveUQR4w.js +0 -1
- package/dist/public/assets/standard-list-item-BLlgm1qW.js +0 -1
- package/dist/public/assets/store-BcwWHqYr.js +0 -4
- package/dist/public/assets/tabs-CgvpwOBj.js +0 -1
- package/dist/public/assets/textarea-C2UIAa7y.js +0 -1
- package/dist/public/assets/todos-view-C-awG1dZ.js +0 -1
- /package/dist/public/assets/{dist-Bjt_i1zi.js → dist-CAVGqbBm.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ar as e,Ni as t,Zn as n,ba as r}from"./dialogs-config-vkfELnGl.js";import{M as i,N as a,j as o}from"./react-vendor-DyE9sO8V.js";var s=r(),c=e(),l=e=>{let t=(0,s.c)(8),r,a;t[0]===e?(r=t[1],a=t[2]):({className:r,...a}=e,t[0]=e,t[1]=r,t[2]=a);let o;t[3]===r?o=t[4]:(o=n(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,r),t[3]=r,t[4]=o);let l;return t[5]!==a||t[6]!==o?(l=(0,c.jsx)(i,{className:o,...a}),t[5]=a,t[6]=o,t[7]=l):l=t[7],l},u=o,d=e=>{let r=(0,s.c)(12),i,o,l;r[0]===e?(i=r[1],o=r[2],l=r[3]):({withHandle:l,className:i,...o}=e,r[0]=e,r[1]=i,r[2]=o,r[3]=l);let u;r[4]===i?u=r[5]:(u=n(`relative flex w-px items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,i),r[4]=i,r[5]=u);let d;r[6]===l?d=r[7]:(d=l&&(0,c.jsx)(`div`,{className:`hidden z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,c.jsx)(t,{className:`h-2.5 w-2.5`})}),r[6]=l,r[7]=d);let f;return r[8]!==o||r[9]!==u||r[10]!==d?(f=(0,c.jsx)(a,{className:u,...o,children:d}),r[8]=o,r[9]=u,r[10]=d,r[11]=f):f=r[11],f};export{u as n,l as r,d as t};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Bn as n,Gn as r,Ir as i,Kn as a,R as o,Rn as s,Sa as c,Vn as l,Wr as u,_t as d,ba as f,ci as p,ft as m,n as h,ni as g,r as _,ri as v,sn as y,ui as b}from"./dialogs-config-vkfELnGl.js";import{a as x}from"./store-BcwWHqYr.js";import{t as S}from"./textarea-C2UIAa7y.js";import{c as C,l as w,s as T,u as E}from"./history-view-Dn0hQIKU.js";import{t as D}from"./use-toast-yY7qQuQP.js";import{a as O,c as k,i as ee,n as A,o as j,r as M,s as N,t as P}from"./alert-dialog-CQRWdGnn.js";import{n as F}from"./tab-context-DWD20a4z.js";import{t as I}from"./skeleton-DveUQR4w.js";import{t as L}from"./mcp-server-card-DBEBe3Qh.js";var R=f(),z=e(c(),1);function B(e){let[t,n]=(0,z.useState)([]),[r,i]=(0,z.useState)(!1),a=(0,z.useCallback)(async()=>{if(e){i(!0);try{let t=await m(e);n(Object.entries(t.servers??{}).map(([e,t])=>({name:e,config:t})))}catch{n([])}finally{i(!1)}}},[e]);return(0,z.useEffect)(()=>{a()},[a]),{installedServers:t,loadingConfig:r,loadInstalledServers:a}}function V(){let e=(0,R.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,z.useState)(t),i,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{d().then(r).catch(()=>r([]))},a=[],e[1]=i,e[2]=a):(i=e[1],a=e[2]),(0,z.useEffect)(i,a);let o;return e[3]===n?o=e[4]:(o={popularServers:n},e[3]=n,e[4]=o),o}async function H(e,t,n){await y(e,t,n)}async function U(e,t){await o(e,t)}var W=t();function G({projectPath:e,serverName:t,onBack:r}){let{installedServers:a}=B(e),o=!!t,[c,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(``),[m,h]=(0,z.useState)(``),[g,_]=(0,z.useState)([]),[v,y]=(0,z.useState)(!1),[b,x]=(0,z.useState)(!1),[C,w]=(0,z.useState)(null),[T,E]=(0,z.useState)(o),[O,k]=(0,z.useState)(``),[ee,A]=(0,z.useState)(``),[j,M]=(0,z.useState)(``),[N,P]=(0,z.useState)([]);(0,z.useEffect)(()=>{if(o&&t){let e=a.find(e=>e.name===t);if(e){u(e.name),f(e.config.command);let t=e.config.args.join(`
|
|
2
|
-
`);h(t);let n=Object.entries(e.config.env??{}).map(([e,t])=>({key:e,value:t}));_(n),k(e.name),A(e.config.command),M(t),P(n),E(!1)}}else E(!1)},[a,t,o]);let F=(0,z.useCallback)(()=>{_(e=>[...e,{key:``,value:``}])},[]),I=(0,z.useCallback)(e=>{_(t=>t.filter((t,n)=>n!==e))},[]),L=(0,z.useCallback)((e,t)=>{_(n=>n.map((n,r)=>r===e?{...n,key:t}:n))},[]),R=(0,z.useCallback)((e,t)=>{_(n=>n.map((n,r)=>r===e?{...n,value:t}:n))},[]),V=()=>{let e=m.split(`
|
|
3
|
-
`).map(e=>e.trim()).filter(Boolean),t={};for(let{key:e,value:n}of g)e.trim()&&(t[e.trim()]=n);return{command:d.trim(),args:e,...Object.keys(t).length>0?{env:t}:{}}},G=async()=>{w(null);let t=c.trim(),n=d.trim();if(!t){w(`Server name is required`);return}if(!n){w(`Command is required`);return}y(!0);try{if(!e)throw Error(`No project path`);await H(e,O||t,V()),D({title:`Success`,description:o?`MCP server configuration saved`:`MCP server added`}),r()}catch(e){w(e instanceof Error?e.message:`Failed to save server`)}finally{y(!1)}},K=async()=>{if(e){x(!0);try{await U(e,O),D({title:`Success`,description:`MCP server removed`}),r()}catch(e){w(e instanceof Error?e.message:`Failed to delete server`)}finally{x(!1)}}},q=o?d!==ee||m!==j||JSON.stringify(g)!==JSON.stringify(N):c.trim()!==``||d.trim()!==``||m.trim()!==``||g.length>0;return T?(0,W.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading server configuration...`})}):(0,W.jsxs)(`div`,{className:`max-w-2xl mx-auto p-6`,children:[(0,W.jsxs)(`div`,{className:`mb-6`,children:[(0,W.jsx)(`h1`,{className:`text-2xl font-bold`,children:o?c:`Add MCP Server`}),(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:o?`Edit MCP Server configuration.`:`Configure a new MCP Server.`})]}),(0,W.jsxs)(`div`,{className:`space-y-6`,children:[(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(s,{htmlFor:`server-name`,children:`Server name`}),(0,W.jsx)(n,{id:`server-name`,placeholder:`e.g. filesystem`,value:c,onChange:e=>u(e.target.value),disabled:o}),o&&(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Server name cannot be changed`})]}),(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(s,{htmlFor:`server-command`,children:`Command`}),(0,W.jsx)(n,{id:`server-command`,placeholder:`e.g. npx`,value:d,onChange:e=>f(e.target.value),className:`text-sm`})]}),(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsxs)(s,{htmlFor:`server-args`,children:[`Arguments `,(0,W.jsx)(`span`,{className:`text-muted-foreground font-normal`,children:`(one per line)`})]}),(0,W.jsx)(S,{id:`server-args`,placeholder:`-y
|
|
4
|
-
@modelcontextprotocol/server-filesystem
|
|
5
|
-
/path/to/dir`,value:m,onChange:e=>h(e.target.value),className:`font-mono text-xs min-h-[80px] resize-none`})]}),(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,W.jsx)(s,{children:`Environment variables`}),(0,W.jsxs)(l,{variant:`ghost`,size:`sm`,onClick:F,className:`h-6 px-2 text-xs`,children:[(0,W.jsx)(p,{className:`h-3 w-3 mr-1`}),`Add variable`]})]}),g.length===0?(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground py-1`,children:`No environment variables configured`}):(0,W.jsx)(`div`,{className:`flex flex-col gap-2`,children:g.map((e,t)=>(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(n,{placeholder:`KEY`,value:e.key,onChange:e=>L(t,e.target.value),className:`font-mono text-xs w-[35%]`}),(0,W.jsx)(n,{placeholder:`value`,value:e.value,onChange:e=>R(t,e.target.value),className:`font-mono text-xs flex-1`}),(0,W.jsx)(l,{variant:`ghost`,size:`icon`,onClick:()=>I(t),className:`h-9 w-9 flex-shrink-0`,children:(0,W.jsx)(i,{className:`h-3.5 w-3.5`})})]},t))})]}),C&&(0,W.jsx)(`p`,{className:`text-sm text-destructive`,children:C}),(0,W.jsxs)(`div`,{className:`border-t pt-4 flex items-center justify-between`,children:[o&&(0,W.jsx)(l,{variant:`destructive`,onClick:K,disabled:b||v,children:b?`Removing...`:`Remove`}),!o&&(0,W.jsx)(`div`,{}),(0,W.jsx)(l,{onClick:G,disabled:v||b||!q,children:v?o?`Saving...`:`Adding...`:o?`Save`:`Add`})]})]})]})}function K(e){return e.name.toLowerCase().replace(/\s+/g,`-`)}function q(){let{state:e}=x(),{selectedProjectId:t,projects:i}=e,o=i.find(e=>e.projectId===t)?.projectPath,{installedServers:s,loadingConfig:c,loadInstalledServers:d}=B(o),{popularServers:f}=V(),{setActiveMainTab:p,setPendingExplorerPath:m,triggerExplorerRefresh:y}=F(),[S,R]=(0,z.useState)(!1),[q,J]=(0,z.useState)(null),[Y,X]=(0,z.useState)(null),[Z,Q]=(0,z.useState)(!1),[$,te]=(0,z.useState)(``),ne=(0,z.useCallback)(async e=>{if(o){Q(!0);try{await U(o,e),await d(),y(),D({title:`MCP server removed`,description:e}),X(null)}catch(e){D({title:`Error`,description:e instanceof Error?e.message:`Failed to remove server`,variant:`destructive`})}finally{Q(!1)}}},[o,d,y]),re=(0,z.useCallback)(()=>{m(`.agents/mcp.json`),p(`explorer`)},[m,p]),ie=(0,z.useCallback)(async e=>{if(!o)return;let t=K(e);if(!s.some(n=>n.name===t||n.name===e.id))try{await H(o,t,{command:e.command,args:e.args,...Object.keys(e.env??{}).length>0?{env:e.env}:{}}),await d(),y(),D({title:`MCP server installed`,description:e.name})}catch(e){D({title:`Error`,description:e instanceof Error?e.message:`Failed to install server`,variant:`destructive`})}},[o,s,d,y]),ae=$.trim()?f.filter(e=>e.name.toLowerCase().includes($.toLowerCase())||e.description.toLowerCase().includes($.toLowerCase())):f;return t?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,W.jsxs)(`div`,{className:`max-w-4xl mx-auto p-6`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between mb-6`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h1`,{className:`text-2xl font-bold`,children:`MCP Servers`}),(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:`Manage Model Context Protocol servers for your project.`})]}),(0,W.jsx)(l,{onClick:()=>R(!0),children:`Add Server`})]}),(0,W.jsx)(`h2`,{className:`text-lg font-semibold mb-3`,children:`Installed MCP Servers`}),c?(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(I,{className:`h-20 w-full`}),(0,W.jsx)(I,{className:`h-20 w-full`})]}):s.length===0?(0,W.jsxs)(`div`,{className:`text-center py-12 border border-dashed rounded-lg mb-8`,children:[(0,W.jsx)(g,{className:`mx-auto h-10 w-10 text-muted-foreground/50 mb-3`}),(0,W.jsx)(`h3`,{className:`text-base font-semibold text-muted-foreground mb-1`,children:`No MCP servers installed`}),(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground mb-3`,children:`Add an MCP server to extend agent capabilities.`})]}):(0,W.jsx)(`div`,{className:`space-y-3 mb-8`,children:s.map(e=>(0,W.jsx)(h,{children:(0,W.jsxs)(_,{className:`flex items-center justify-between p-4`,children:[(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(g,{className:`h-4 w-4 text-muted-foreground flex-shrink-0`}),(0,W.jsx)(`h3`,{className:`font-medium truncate`,children:e.name})]}),(0,W.jsxs)(`p`,{className:`text-sm text-muted-foreground mt-1 truncate font-mono`,children:[e.config.command,` `,e.config.args?.join(` `)]})]}),(0,W.jsx)(w,{delayDuration:300,children:(0,W.jsxs)(`div`,{className:`flex items-center gap-1 ml-4 flex-shrink-0`,children:[(0,W.jsxs)(T,{children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsx)(l,{variant:`ghost`,size:`icon-sm`,onClick:re,children:(0,W.jsx)(b,{className:`h-4 w-4`})})}),(0,W.jsx)(C,{children:`View config file`})]}),(0,W.jsxs)(T,{children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsx)(l,{variant:`ghost`,size:`icon-sm`,onClick:()=>J(e.name),children:(0,W.jsx)(b,{className:`h-4 w-4`})})}),(0,W.jsx)(C,{children:`Edit server`})]}),(0,W.jsxs)(T,{children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsx)(l,{variant:`ghost`,size:`icon-sm`,onClick:()=>X(e.name),children:(0,W.jsx)(u,{className:`h-4 w-4 text-destructive`})})}),(0,W.jsx)(C,{children:`Delete server`})]})]})})]})},e.name))}),(0,W.jsx)(`div`,{className:`flex items-center justify-between mb-3`,children:(0,W.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Available MCP Servers`})}),(0,W.jsxs)(`div`,{className:`relative mb-4`,children:[(0,W.jsx)(v,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,W.jsx)(n,{placeholder:`Search available servers...`,value:$,onChange:e=>te(e.target.value),className:`pl-8`})]}),f.length===0?(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(I,{className:`h-20 w-full`}),(0,W.jsx)(I,{className:`h-20 w-full`})]}):ae.length===0?(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-8`,children:$.trim()?`No results for "${$}"`:`No available servers found.`}):(0,W.jsx)(`div`,{className:`grid gap-2 [grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))]`,children:ae.map(e=>{let t=K(e),n=s.some(n=>n.name===t||n.name===e.id);return(0,W.jsx)(L,{name:e.name,description:e.description,installed:n,onClick:()=>{n||ie(e)},showInstalledControls:!1},e.id)})})]})}),(0,W.jsx)(r,{open:S,onOpenChange:R,children:(0,W.jsx)(a,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,W.jsx)(G,{projectPath:o,onBack:()=>{R(!1),d(),y()}})})}),(0,W.jsx)(r,{open:q!==null,onOpenChange:e=>{e||J(null)},children:(0,W.jsx)(a,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,W.jsx)(G,{projectPath:o,serverName:q??void 0,onBack:()=>{J(null),d(),y()}})})}),(0,W.jsx)(P,{open:Y!==null,onOpenChange:e=>!e&&X(null),children:(0,W.jsxs)(ee,{children:[(0,W.jsxs)(N,{children:[(0,W.jsx)(k,{children:`Delete MCP Server`}),(0,W.jsxs)(O,{children:[`Are you sure you want to delete the server "`,Y,`"? This action cannot be undone.`]})]}),(0,W.jsxs)(j,{children:[(0,W.jsx)(M,{children:`Cancel`}),(0,W.jsx)(A,{onClick:()=>Y&&void ne(Y),disabled:Z,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:Z?`Deleting...`:`Delete`})]})]})})]}):(0,W.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:`Select a project to manage MCP servers.`})})}export{q as SettingsMCPServersView,q as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Bn as n,Dt as r,Fn as i,G as a,J as o,K as s,Ot as c,Qn as l,Sa as u,Ti as d,Vn as f,W as p,Xi as m,Y as h,Yr as g,q as _,ri as ee,ya as v}from"./dialogs-config-vkfELnGl.js";import{c as y,l as b,s as x,u as S}from"./history-view-Dn0hQIKU.js";import{o as C,s as w}from"./onboarding-DslO5AS6.js";import{i as T,n as E,r as D,t as O}from"./tabs-CgvpwOBj.js";var k=e(u(),1),A=t();function j(){let[e,t]=(0,k.useState)([]),[u,j]=(0,k.useState)({}),[M,N]=(0,k.useState)({}),[P,F]=(0,k.useState)({}),[I,L]=(0,k.useState)({}),[R,z]=(0,k.useState)(!0),[B,V]=(0,k.useState)(``),[H,U]=(0,k.useState)(`coding`),[W,G]=(0,k.useState)(``),[K,q]=(0,k.useState)({}),[J,Y]=(0,k.useState)(``),X=e=>w(e.id);(0,k.useEffect)(()=>{(async()=>{z(!0),V(``);try{let e=(await c()).filter(e=>e.apiKey);t(e);let n={};e.forEach(e=>{n[e.slug]=`alphabetical`}),q(n);let r={},i={},a={},s={};await Promise.all(e.map(async e=>{try{let[t,n]=await Promise.all([h(e.slug),o(e.slug)]);r[e.slug]=t.models,i[e.slug]=n.models;let c=new Set(t.enabledModelIds);a[e.slug]=c;let l=new Set(n.enabledModelIds);s[e.slug]=l}catch(t){console.error(`Failed to load models for ${e.slug}:`,t),r[e.slug]=[],i[e.slug]=[],a[e.slug]=new Set,s[e.slug]=new Set}})),j(r),N(i),F(a),L(s)}catch(e){V(e instanceof Error?e.message:`Failed to load models`)}finally{z(!1)}})()},[]);let Z=async(e,t,n)=>{try{n===`image`?I[e]?.has(t)?(await p(e,t),L(n=>{let r=new Set(n[e]??[]);return r.delete(t),{...n,[e]:r}})):(await s(e,t),L(n=>({...n,[e]:new Set([...n[e]||[],t])}))):P[e]?.has(t)?(await a(e,t),F(n=>{let r=new Set(n[e]??[]);return r.delete(t),{...n,[e]:r}})):(await _(e,t),F(n=>({...n,[e]:new Set([...n[e]||[],t])}))),Y(`Model preferences saved successfully`),setTimeout(()=>Y(``),3e3)}catch(e){Y(e instanceof Error?e.message:`Failed to save model changes`)}},Q=async(e,t,n)=>{let r=n===`image`?M[e]:u[e],i=n===`image`?I[e]:P[e];if(r)for(let a of r)i?.has(a.id)!==t&&await Z(e,a.id,n)},te=e=>e?e<20?1:e<30?2:e<40?3:e<50?4:5:0,ne=({codingIndex:e,modelName:t})=>{let n=te(e);return n===0?null:(0,A.jsx)(b,{children:(0,A.jsxs)(x,{children:[(0,A.jsx)(S,{asChild:!0,children:(0,A.jsx)(`div`,{className:`flex items-center gap-0.5`,children:[1,2,3,4,5].map(e=>(0,A.jsx)(g,{className:`h-3 w-3 ${e<=n?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),(0,A.jsx)(y,{children:(0,A.jsxs)(`p`,{className:`text-sm`,children:[t,` was indexed `,e,` for coding intelligence`]})})]})})},$=(e,t,n)=>{let r=W.toLowerCase();return e.filter(e=>{let t=X(e);return e.name.toLowerCase().includes(r)||e.id.toLowerCase().includes(r)||t.toLowerCase().includes(r)}).sort((e,r)=>{let i=+!t.has(e.id),a=+!t.has(r.id);if(i!==a)return i-a;if(n===`price-low`){let t=!!e.pricing;return t===!!r.pricing?!e.pricing||!r.pricing?0:((e.pricing.prompt??0)+(e.pricing.completion??0))/2-((r.pricing.prompt??0)+(r.pricing.completion??0))/2:t?-1:1}if(n===`price-high`){let t=!!e.pricing;if(t!==!!r.pricing)return t?-1:1;if(!e.pricing||!r.pricing)return 0;let n=((e.pricing.prompt??0)+(e.pricing.completion??0))/2;return((r.pricing.prompt??0)+(r.pricing.completion??0))/2-n}if(n===`coding-index`){let t=e.coding_index!==void 0&&e.coding_index!==null;return t===(r.coding_index!==void 0&&r.coding_index!==null)?e.coding_index==null||r.coding_index==null?0:r.coding_index-e.coding_index:t?-1:1}return X(e).localeCompare(X(r))})};return R?(0,A.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,A.jsx)(d,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):B?(0,A.jsx)(`div`,{className:`flex flex-1 items-center justify-center h-full`,children:(0,A.jsxs)(`div`,{className:`text-center`,children:[(0,A.jsx)(`p`,{className:`text-sm text-destructive mb-2`,children:B}),(0,A.jsx)(f,{variant:`outline`,size:`sm`,onClick:()=>window.location.reload(),children:`Retry`})]})}):e.length===0?(0,A.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,A.jsxs)(`div`,{className:`text-center`,children:[(0,A.jsx)(`h2`,{className:`text-lg font-semibold text-muted-foreground mb-2`,children:`No Providers Configured`}),(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Configure a provider with an API key to view available models.`})]})}):(0,A.jsx)(i,{className:`flex-1`,children:(0,A.jsxs)(`div`,{className:`max-w-4xl mx-auto p-6`,children:[(0,A.jsxs)(`div`,{className:`mb-6`,children:[(0,A.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Models`}),(0,A.jsx)(`p`,{className:`text-muted-foreground`,children:`View and manage available models from your configured providers.`})]}),(0,A.jsxs)(`div`,{className:`space-y-6`,children:[(0,A.jsxs)(`div`,{className:`relative`,children:[(0,A.jsx)(ee,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,A.jsx)(n,{placeholder:`Search models across all providers...`,className:`pl-10`,value:W,onChange:e=>G(e.target.value)})]}),(0,A.jsxs)(O,{value:H,onValueChange:e=>{U(e),G(``)},children:[(0,A.jsxs)(D,{className:`mb-4`,children:[(0,A.jsx)(T,{value:`coding`,children:`Coding`}),e.some(e=>e.name.toLowerCase()===`openrouter`)&&(0,A.jsx)(T,{value:`image`,children:`Image`})]}),(0,A.jsx)(E,{value:`coding`,children:(0,A.jsx)(`div`,{className:`space-y-6`,children:e.map(e=>{let t=u[e.slug]||[],n=P[e.slug]||new Set,i=K[e.slug]||`alphabetical`,a=$(t,n,i);return a.length===0&&W?null:(0,A.jsxs)(`div`,{className:`space-y-3`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`div`,{className:`h-8 w-8 rounded-full bg-muted flex items-center justify-center overflow-hidden`,children:(0,A.jsx)(`img`,{src:r(e.slug),alt:`${e.name} logo`,className:`h-5 w-5 dark:invert`,onError:e=>{e.target.style.display=`none`;let t=e.target.parentElement;t&&(t.classList.remove(`overflow-hidden`),t.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-muted-foreground"><path d="M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"/><path d="M8.5 8.5a2.5 2.5 0 0 0 0 5"/><path d="M15.5 15.5a2.5 2.5 0 0 0 0-5"/></svg>`)}})}),(0,A.jsx)(`h3`,{className:`text-lg font-semibold`,children:e.name})]}),a.length>0&&(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(C,{id:`select-all-${e.slug}`,checked:a.every(e=>n.has(e.id)),onCheckedChange:t=>Q(e.slug,t===!0,`coding`)}),(0,A.jsx)(`label`,{htmlFor:`select-all-${e.slug}`,className:`text-sm cursor-pointer whitespace-nowrap`,children:`Select all models`})]}),(0,A.jsx)(b,{children:(0,A.jsxs)(`div`,{className:`flex items-center rounded-md border border-border p-0.5`,children:[(0,A.jsxs)(x,{children:[(0,A.jsx)(S,{asChild:!0,children:(0,A.jsx)(f,{type:`button`,variant:i===`alphabetical`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>q(t=>({...t,[e.slug]:`alphabetical`})),children:(0,A.jsx)(v,{className:`h-4 w-4`})})}),(0,A.jsx)(y,{children:`Sort A–Z`})]}),(0,A.jsxs)(x,{children:[(0,A.jsx)(S,{asChild:!0,children:(0,A.jsx)(f,{type:`button`,variant:i===`price-low`||i===`price-high`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>q(t=>({...t,[e.slug]:`price-low`})),children:(0,A.jsx)(m,{className:`h-4 w-4`})})}),(0,A.jsx)(y,{children:`Sort by price`})]}),(0,A.jsxs)(x,{children:[(0,A.jsx)(S,{asChild:!0,children:(0,A.jsx)(f,{type:`button`,variant:i===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>q(t=>({...t,[e.slug]:`coding-index`})),children:(0,A.jsx)(g,{className:`h-4 w-4`})})}),(0,A.jsx)(y,{children:`Sort by coding intelligence`})]})]})})]}),a.length===0?(0,A.jsx)(`div`,{className:`text-center py-4 border border-border rounded-md`,children:(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:W?`No models matching your search.`:`No models available for this provider.`})}):(0,A.jsx)(b,{children:(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-0 border border-border rounded-md overflow-hidden`,children:a.map(t=>{let r=n.has(t.id),a=t.pricing;return(0,A.jsxs)(`div`,{className:`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default border-b border-border last:border-b-0`,children:[(0,A.jsx)(C,{id:t.id,checked:r,onCheckedChange:()=>Z(e.slug,t.id,`coding`),className:`mt-0`}),(0,A.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,A.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,A.jsx)(`label`,{htmlFor:t.id,className:`text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`,children:X(t)})}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[i===`coding-index`&&(0,A.jsx)(ne,{codingIndex:t.coding_index,modelName:X(t)}),a&&(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap`,children:(a.prompt??0)===0&&(a.completion??0)===0?``:`$${l(a.prompt??0)} in | $${l(a.completion??0)} out`})]})]})]},t.id)})})})]},e.slug)})})}),(0,A.jsx)(E,{value:`image`,children:(0,A.jsx)(`div`,{className:`space-y-6`,children:e.filter(e=>e.name.toLowerCase()===`openrouter`).map(e=>{let t=M[e.slug]||[],n=I[e.slug]||new Set,i=K[e.slug]||`alphabetical`,a=$(t,n,i);return a.length===0&&W?null:(0,A.jsxs)(`div`,{className:`space-y-3`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`div`,{className:`h-8 w-8 rounded-full bg-muted flex items-center justify-center overflow-hidden`,children:(0,A.jsx)(`img`,{src:r(e.slug),alt:`${e.name} logo`,className:`h-5 w-5 dark:invert`,onError:e=>{e.target.style.display=`none`;let t=e.target.parentElement;t&&(t.classList.remove(`overflow-hidden`),t.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-muted-foreground"><path d="M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"/><path d="M8.5 8.5a2.5 2.5 0 0 0 0 5"/><path d="M15.5 15.5a2.5 2.5 0 0 0 0-5"/></svg>`)}})}),(0,A.jsx)(`h3`,{className:`text-lg font-semibold`,children:e.name})]}),a.length>0&&(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(C,{id:`select-all-image-${e.slug}`,checked:a.every(e=>n.has(e.id)),onCheckedChange:t=>Q(e.slug,t===!0,`image`)}),(0,A.jsx)(`label`,{htmlFor:`select-all-image-${e.slug}`,className:`text-sm cursor-pointer whitespace-nowrap`,children:`Select all models`})]}),(0,A.jsx)(b,{children:(0,A.jsxs)(`div`,{className:`flex items-center rounded-md border border-border p-0.5`,children:[(0,A.jsxs)(x,{children:[(0,A.jsx)(S,{asChild:!0,children:(0,A.jsx)(f,{type:`button`,variant:i===`alphabetical`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>q(t=>({...t,[e.slug]:`alphabetical`})),children:(0,A.jsx)(v,{className:`h-4 w-4`})})}),(0,A.jsx)(y,{children:`Sort A–Z`})]}),(0,A.jsxs)(x,{children:[(0,A.jsx)(S,{asChild:!0,children:(0,A.jsx)(f,{type:`button`,variant:i===`price-low`||i===`price-high`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>q(t=>({...t,[e.slug]:`price-low`})),children:(0,A.jsx)(m,{className:`h-4 w-4`})})}),(0,A.jsx)(y,{children:`Sort by price`})]})]})})]}),a.length===0?(0,A.jsx)(`div`,{className:`text-center py-4 border border-border rounded-md`,children:(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:W?`No models matching your search.`:`No image models available for this provider.`})}):(0,A.jsx)(b,{children:(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-0 border border-border rounded-md overflow-hidden`,children:a.map(t=>{let r=n.has(t.id),i=t.pricing;return(0,A.jsxs)(`div`,{className:`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default border-b border-border last:border-b-0`,children:[(0,A.jsx)(C,{id:`image-${t.id}`,checked:r,onCheckedChange:()=>Z(e.slug,t.id,`image`),className:`mt-0`}),(0,A.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,A.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,A.jsx)(`label`,{htmlFor:`image-${t.id}`,className:`text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`,children:X(t)})}),i&&(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap flex-shrink-0`,children:(i.prompt??0)===0&&(i.completion??0)===0?``:`$${l(i.prompt??0)} in | $${l(i.completion??0)} out`})]})]},t.id)})})})]},e.slug)})})})]}),J&&(0,A.jsx)(`div`,{className:`text-sm p-2 rounded-md ${J.includes(`error`)||J.includes(`Failed`)?`text-destructive bg-destructive/10`:`text-green-600 bg-green-50`}`,children:J})]})]})})}export{j as SettingsModelsView,j as default};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,B as n,Bn as r,Ct as i,Gn as a,Kn as o,Nt as s,Rn as c,Sa as l,Ti as u,U as d,Vn as f,Wi as p,Wr as m,Zn as h,ba as g,ca as _,ii as v,n as ee,qt as te,r as ne,ri as y,un as b,vt as x}from"./dialogs-config-vkfELnGl.js";import{n as S,r as C}from"./react-vendor-DyE9sO8V.js";import{a as re}from"./store-BcwWHqYr.js";import{t as w}from"./textarea-C2UIAa7y.js";import{t as T}from"./use-toast-yY7qQuQP.js";import{a as ie,c as E,i as D,n as O,o as k,r as A,s as j,t as M}from"./alert-dialog-CQRWdGnn.js";import{n as N}from"./tab-context-DWD20a4z.js";import{t as P}from"./skeleton-DveUQR4w.js";import{t as F}from"./mcp-server-card-DBEBe3Qh.js";import{n as I,t as L}from"./radio-group-Co0Lg6se.js";var R=g(),z=e(l(),1),B=t(),V=z.forwardRef((e,t)=>{let n=(0,R.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=h(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,B.jsx)(C,{className:h(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)}),n[5]=o):o=n[5];let s;return n[6]!==i||n[7]!==t||n[8]!==a?(s=(0,B.jsx)(S,{className:a,...i,ref:t,children:o}),n[6]=i,n[7]=t,n[8]=a,n[9]=s):s=n[9],s});V.displayName=S.displayName;function H({threadId:e,onRuleCreated:t}){let[n,i]=(0,z.useState)(``),[a,o]=(0,z.useState)(``),[s,l]=(0,z.useState)(!1),[d,p]=(0,z.useState)(`local`),[m,h]=(0,z.useState)(!1),g=n.toLowerCase().replace(/\s+/g,`-`).replace(/[^a-z0-9-]/g,``).replace(/-+/g,`-`).replace(/^-|-$/g,``),v=g.length>0&&g.length<=64;return e?(0,B.jsxs)(`div`,{className:`max-w-2xl mx-auto p-6`,children:[(0,B.jsxs)(`div`,{className:`mb-6`,children:[(0,B.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Add Rule`}),(0,B.jsx)(`p`,{className:`text-muted-foreground`,children:`Create a new agent rule. The rule will be saved as a .md file in the .agents/rules folder.`})]}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(c,{htmlFor:`ruleName`,children:`Rule Name`}),(0,B.jsx)(r,{id:`ruleName`,value:n,onChange:e=>i(e.target.value),placeholder:`e.g. Code Style Guide`,disabled:m}),n&&(0,B.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`File name: `,(0,B.jsxs)(`span`,{className:`font-mono`,children:[g||`...`,`.md`]})]})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(c,{htmlFor:`ruleDescription`,children:`Description`}),(0,B.jsx)(w,{id:`ruleDescription`,value:a,onChange:e=>o(e.target.value),placeholder:`Describe when Tarsk should apply this rule...`,className:`resize-none min-h-[120px]`,disabled:m})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(c,{htmlFor:`alwaysApply`,children:`Always Apply`}),(0,B.jsx)(V,{id:`alwaysApply`,checked:s,onCheckedChange:l,disabled:m})]}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:s?`This rule will be automatically added to context for all conversations.`:`Only the rule description will be added to context, allowing the agent to read the rule file when needed.`})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(c,{children:`Scope`}),(0,B.jsxs)(L,{value:d,onValueChange:e=>p(e),className:`flex gap-4`,disabled:m,children:[(0,B.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,B.jsx)(I,{value:`local`,id:`scope-local`}),(0,B.jsx)(c,{htmlFor:`scope-local`,className:`font-normal cursor-pointer`,children:`Local (this project)`})]}),(0,B.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,B.jsx)(I,{value:`global`,id:`scope-global`,disabled:!0}),(0,B.jsx)(c,{htmlFor:`scope-global`,className:`font-normal cursor-pointer text-muted-foreground`,children:`Global (coming soon)`})]})]}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:d===`local`?`This rule will only be available for this project.`:`This rule will be available across all projects (coming soon).`})]}),(0,B.jsx)(`div`,{className:`border-t pt-4 flex justify-end`,children:(0,B.jsx)(f,{onClick:async()=>{if(!(!v||!e)){h(!0);try{let n=`---
|
|
2
|
-
description: ${a.trim()}
|
|
3
|
-
alwaysApply: ${s}
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Place your rule instructions here as markdown.
|
|
7
|
-
`;await b(e,`.agents/rules/${g}.md`,n),T({title:`Rule created`,description:`Rule '${g}' was created successfully.`}),i(``),o(``),l(!1),p(`local`),t?.(g)}catch(e){T({title:`Error`,description:e instanceof Error?e.message:`Failed to create rule`,variant:`destructive`})}finally{h(!1)}}},disabled:!v||!a.trim()||m,children:m?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(u,{className:`mr-2 h-4 w-4 animate-spin`}),`Creating...`]}):(0,B.jsxs)(B.Fragment,{children:[`Continue`,(0,B.jsx)(_,{className:`ml-2 h-4 w-4`})]})})})]})]}):(0,B.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,B.jsxs)(`div`,{className:`text-center`,children:[(0,B.jsx)(`h2`,{className:`text-lg font-semibold text-muted-foreground mb-2`,children:`No Thread Selected`}),(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Please select a thread to add a rule.`})]})})}function U(e){let t=[];for(let n of e)n.type===`file`&&n.path.startsWith(`.agents/rules/`)&&t.push(n),n.children&&n.children.length>0&&t.push(...U(n.children));return t}function W(){let{state:e}=re(),{selectedProjectId:t,selectedThreadId:c}=e,{setActiveMainTab:l,setPendingExplorerPath:u,triggerExplorerRefresh:h,setExplorerClearPath:g}=N(),[_,S]=(0,z.useState)([]),[C,w]=(0,z.useState)(!1),[I,L]=(0,z.useState)(!1),[R,V]=(0,z.useState)(null),[W,G]=(0,z.useState)(!1),[K,q]=(0,z.useState)([]),[J,Y]=(0,z.useState)(new Set),[X,Z]=(0,z.useState)(``),Q=(0,z.useCallback)(async()=>{if(t){w(!0);try{let e=U(await i(t));if(c)try{let t=U(await s(c)),n=new Set(e.map(e=>e.path));for(let r of t)n.has(r.path)||e.push(r)}catch{}S(e),Y(new Set(e.map(e=>e.path)))}catch{S([]),Y(new Set)}finally{w(!1)}}},[t,c]);(0,z.useEffect)(()=>{Q()},[Q]),(0,z.useEffect)(()=>{x().then(q).catch(()=>q([]))},[]);let ae=(0,z.useCallback)(async e=>{if(!t)return;let r=e.name,i=e.path;G(!0);try{try{await n(t,i)}catch{if(c)await d(c,i);else throw Error(`No thread selected to delete from`)}g(i),h(),Y(e=>{let t=new Set(e);return t.delete(i),t}),T({title:`Rule removed`,description:r}),V(null),await Q()}catch(e){T({title:`Error`,description:e instanceof Error?e.message:`Failed to remove rule`,variant:`destructive`})}finally{G(!1)}},[t,c,Q,h,g]),oe=(0,z.useCallback)(e=>{u(e),l(`explorer`)},[u,l]),se=(0,z.useCallback)(async e=>{let t=`.agents/rules/${e.name}.md`;if(!(!c||J.has(t)))try{e.gitHubRepo&&e.gitHubFolder?await te(c,e.gitHubRepo,e.gitHubFolder,`.agents/rules`):await b(c,t,[`---`,`description: ${e.description}`,`alwaysApply: ${e.alwaysApply??!1}`,`---`,``,e.content].join(`
|
|
8
|
-
`)),Y(e=>new Set(e).add(t)),h(),Q(),T({title:`Rule installed`,description:e.name})}catch(e){T({title:`Error`,description:e instanceof Error?e.message:`Failed to install rule`,variant:`destructive`})}},[c,J,h,Q]),$=X.trim()?K.filter(e=>e.name.toLowerCase().includes(X.toLowerCase())||e.description.toLowerCase().includes(X.toLowerCase())):K;return t?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,B.jsxs)(`div`,{className:`max-w-4xl mx-auto p-6`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between mb-6`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Rules`}),(0,B.jsx)(`p`,{className:`text-muted-foreground`,children:`Manage agent rules. Rules define coding standards and project-wide guidelines.`})]}),(0,B.jsx)(f,{onClick:()=>L(!0),disabled:!c,children:`Add Rule`})]}),!c&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground bg-muted rounded-md px-3 py-2 mb-4`,children:`Select a thread to add rules to your project.`}),(0,B.jsx)(`h2`,{className:`text-lg font-semibold mb-3`,children:`Installed Rules`}),C?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(P,{className:`h-20 w-full`}),(0,B.jsx)(P,{className:`h-20 w-full`})]}):_.length===0?(0,B.jsxs)(`div`,{className:`text-center py-12 border border-dashed rounded-lg mb-8`,children:[(0,B.jsx)(v,{className:`mx-auto h-10 w-10 text-muted-foreground/50 mb-3`}),(0,B.jsx)(`h3`,{className:`text-base font-semibold text-muted-foreground mb-1`,children:`No rules installed`}),(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground mb-3`,children:`Add rules to enforce coding standards and project conventions.`})]}):(0,B.jsx)(`div`,{className:`space-y-3 mb-8`,children:_.map(e=>(0,B.jsx)(ee,{children:(0,B.jsxs)(ne,{className:`flex items-center justify-between p-4`,children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(v,{className:`h-4 w-4 text-muted-foreground flex-shrink-0`}),(0,B.jsx)(`h3`,{className:`font-medium truncate`,children:e.name})]}),(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 truncate font-mono`,children:e.path})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1 ml-4 flex-shrink-0`,children:[(0,B.jsx)(f,{variant:`ghost`,size:`icon-sm`,onClick:()=>oe(e.path),title:`View in explorer`,children:(0,B.jsx)(p,{className:`h-4 w-4`})}),(0,B.jsx)(f,{variant:`ghost`,size:`icon-sm`,onClick:()=>V(e),title:`Delete rule`,children:(0,B.jsx)(m,{className:`h-4 w-4 text-destructive`})})]})]})},e.id))}),(0,B.jsx)(`div`,{className:`flex items-center justify-between mb-3`,children:(0,B.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Available Rules`})}),!c&&(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground bg-muted rounded-md px-3 py-2 mb-4`,children:`Select a thread to install rules into your project.`}),(0,B.jsxs)(`div`,{className:`relative mb-4`,children:[(0,B.jsx)(y,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,B.jsx)(r,{placeholder:`Search available rules...`,value:X,onChange:e=>Z(e.target.value),className:`pl-8`})]}),K.length===0?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(P,{className:`h-20 w-full`}),(0,B.jsx)(P,{className:`h-20 w-full`})]}):$.length===0?(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-8`,children:X.trim()?`No results for "${X}"`:`No available rules found.`}):(0,B.jsx)(`div`,{className:`grid gap-2`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(min(220px, 100%), 1fr))`},children:$.map(e=>{let t=`.agents/rules/${e.name}.md`,n=J.has(t);return(0,B.jsx)(F,{name:e.name,description:e.description,installed:n,onClick:()=>{n||se(e)},showInstalledControls:!1},e.id)})})]})}),(0,B.jsx)(a,{open:I,onOpenChange:L,children:(0,B.jsx)(o,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,B.jsx)(H,{threadId:c,onRuleCreated:()=>{L(!1),Q(),h()}})})}),(0,B.jsx)(M,{open:R!==null,onOpenChange:e=>!e&&V(null),children:(0,B.jsxs)(D,{children:[(0,B.jsxs)(j,{children:[(0,B.jsx)(E,{children:`Delete Rule`}),(0,B.jsxs)(ie,{children:[`Are you sure you want to delete the rule "`,R?.name,`"? This action cannot be undone.`]})]}),(0,B.jsxs)(k,{children:[(0,B.jsx)(A,{children:`Cancel`}),(0,B.jsx)(O,{onClick:()=>R&&void ae(R),disabled:W,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:W?`Deleting...`:`Delete`})]})]})})]}):(0,B.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,B.jsx)(`p`,{className:`text-muted-foreground`,children:`Select a project to manage rules.`})})}export{W as SettingsRulesView,W as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/providers-list-view-CNxVBJlM.js","assets/rolldown-runtime-B1FJdls4.js","assets/history-view-Dn0hQIKU.js","assets/dialogs-config-vkfELnGl.js","assets/onboarding-DslO5AS6.js","assets/skeleton-DveUQR4w.js","assets/tabs-CgvpwOBj.js","assets/react-vendor-DyE9sO8V.js","assets/monaco-SWcefg0q.js","assets/settings-models-view-BDDFQWWC.js","assets/settings-mcp-servers-view-q6gGMMVX.js","assets/mcp-server-card-DBEBe3Qh.js","assets/alert-dialog-CQRWdGnn.js","assets/textarea-C2UIAa7y.js","assets/use-toast-yY7qQuQP.js","assets/store-BcwWHqYr.js","assets/tab-context-DWD20a4z.js","assets/settings-skills-view-DV40_L1o.js","assets/radio-group-Co0Lg6se.js","assets/settings-rules-view-DsEwgDFr.js","assets/settings-slash-commands-view-BEk3BgOY.js","assets/settings-subagents-view-d3P4ylDX.js","assets/settings-instructions-view-DWzAH2yN.js","assets/account-view-DcpSNB3N.js","assets/conversation-history-view-CD_uVRNY.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Br as n,Kr as r,Qi as i,Rr as a,Sa as o,Zn as s,ba as c,fa as l,ha as u,ii as d,ji as f,ni as p,tn as m,zr as h}from"./dialogs-config-vkfELnGl.js";import{bt as g,t as _,vt as v,xt as y,yt as b}from"./react-vendor-DyE9sO8V.js";import{a as x}from"./store-BcwWHqYr.js";import{t as S}from"./standard-list-item-BLlgm1qW.js";import{t as C}from"./side-panel-container-BAYoMt7B.js";import{n as w,r as T,t as E}from"./resizable-dToeUeVD.js";var D=c(),O=e(o(),1),k=t(),A=(0,O.forwardRef)(function(e,t){let n=(0,D.c)(20),{sidebar:r,children:i,defaultSidebarSize:a,minSidebarSize:o,maxSidebarSize:s,minContentSize:c,collapsible:l,collapsedSize:u,className:d,onCollapse:f,onExpand:p}=e,m=a===void 0?25:a,h=o===void 0?20:o,g=s===void 0?30:s,_=c===void 0?40:c,v=l===void 0?!1:l,y=u===void 0?0:u,b=`h-full ${d===void 0?``:d}`,x;n[0]!==y||n[1]!==v||n[2]!==m||n[3]!==g||n[4]!==h||n[5]!==f||n[6]!==p||n[7]!==t||n[8]!==r?(x=(0,k.jsx)(w,{ref:t,defaultSize:m,minSize:h,maxSize:g,collapsible:v,collapsedSize:y,onCollapse:f,onExpand:p,className:`border-r border-transparent`,children:r}),n[0]=y,n[1]=v,n[2]=m,n[3]=g,n[4]=h,n[5]=f,n[6]=p,n[7]=t,n[8]=r,n[9]=x):x=n[9];let S;n[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,k.jsx)(E,{withHandle:!0,className:`ml-[-40px]`}),n[10]=S):S=n[10];let C;n[11]!==i||n[12]!==_?(C=(0,k.jsx)(w,{minSize:_,className:`overflow-hidden`,children:i}),n[11]=i,n[12]=_,n[13]=C):C=n[13];let O;n[14]!==C||n[15]!==x?(O=(0,k.jsxs)(T,{direction:`horizontal`,className:`h-full`,children:[x,S,C]}),n[14]=C,n[15]=x,n[16]=O):O=n[16];let A;return n[17]!==O||n[18]!==b?(A=(0,k.jsx)(`div`,{className:b,children:O}),n[17]=O,n[18]=b,n[19]=A):A=n[19],A}),j=O.forwardRef((e,t)=>{let n=(0,D.c)(14),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,orientation:a,decorative:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let c=a===void 0?`horizontal`:a,l=o===void 0?!0:o,u=c===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,d;n[5]!==r||n[6]!==u?(d=s(`shrink-0 bg-border`,u,r),n[5]=r,n[6]=u,n[7]=d):d=n[7];let f;return n[8]!==l||n[9]!==c||n[10]!==i||n[11]!==t||n[12]!==d?(f=(0,k.jsx)(_,{ref:t,decorative:l,orientation:c,className:d,...i}),n[8]=l,n[9]=c,n[10]=i,n[11]=t,n[12]=d,n[13]=f):f=n[13],f});j.displayName=_.displayName;var M=[{id:`providers`,label:`Providers`,icon:(0,k.jsx)(i,{className:`h-4 w-4`}),route:`/settings/providers`},{id:`models`,label:`Models`,icon:(0,k.jsx)(l,{className:`h-4 w-4`}),route:`/settings/models`},{id:`skills`,label:`Skills`,icon:(0,k.jsx)(a,{className:`h-4 w-4`}),route:`/settings/skills`},{id:`rules`,label:`Rules`,icon:(0,k.jsx)(d,{className:`h-4 w-4`}),route:`/settings/rules`},{id:`slash-commands`,label:`Slash Commands`,icon:(0,k.jsx)(r,{className:`h-4 w-4`}),route:`/settings/slash-commands`},{id:`subagents`,label:`Subagents`,icon:(0,k.jsx)(h,{className:`h-4 w-4`}),route:`/settings/subagents`},{id:`instructions`,label:`Instructions`,icon:(0,k.jsx)(u,{className:`h-4 w-4`}),route:`/settings/instructions`},{id:`mcp-servers`,label:`MCP Servers`,icon:(0,k.jsx)(p,{className:`h-4 w-4`}),route:`/settings/mcp-servers`},{id:`history`,label:`History`,icon:(0,k.jsx)(f,{className:`h-4 w-4`}),route:`/settings/history`},{id:`account`,label:`Account`,icon:(0,k.jsx)(n,{className:`h-4 w-4`}),route:`/settings/account`}];function N(e){let t=(0,D.c)(8),{className:n}=e,r=b(),i=v(),a;t[0]===i.pathname?a=t[1]:(a=function(){let e=i.pathname;for(let t of M)if(e.startsWith(t.route))return t.id;return`providers`}(),t[0]=i.pathname,t[1]=a);let o=a,s=`space-y-1${n?` ${n}`:``}`,c;t[2]!==o||t[3]!==r?(c=M.map((e,t)=>(0,k.jsxs)(O.Fragment,{children:[t===M.length-1&&(0,k.jsx)(j,{className:`my-2 bg-sidebar-border`}),(0,k.jsx)(S,{selected:o===e.id,asChild:!0,children:(0,k.jsx)(`button`,{className:`justify-start`,onClick:()=>void r(e.route),children:(0,k.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.icon,(0,k.jsx)(`span`,{children:e.label})]})})})]},e.id)),t[2]=o,t[3]=r,t[4]=c):c=t[4];let l;return t[5]!==s||t[6]!==c?(l=(0,k.jsx)(`div`,{className:s,children:c}),t[5]=s,t[6]=c,t[7]=l):l=t[7],l}var P=(0,O.lazy)(()=>y(()=>import(`./providers-list-view-CNxVBJlM.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),F=(0,O.lazy)(()=>y(()=>import(`./settings-models-view-BDDFQWWC.js`),__vite__mapDeps([9,1,2,3,4,6,7,8]))),I=(0,O.lazy)(()=>y(()=>import(`./settings-mcp-servers-view-q6gGMMVX.js`),__vite__mapDeps([10,1,2,3,11,12,7,8,5,13,14,15,16]))),L=(0,O.lazy)(()=>y(()=>import(`./settings-skills-view-DV40_L1o.js`),__vite__mapDeps([17,1,3,11,2,12,7,8,18,5,13,14,15,16]))),R=(0,O.lazy)(()=>y(()=>import(`./settings-rules-view-DsEwgDFr.js`),__vite__mapDeps([19,1,7,2,3,8,11,12,18,5,13,14,15,16]))),z=(0,O.lazy)(()=>y(()=>import(`./settings-slash-commands-view-BEk3BgOY.js`),__vite__mapDeps([20,1,3,11,2,12,7,8,18,5,14,15,16]))),B=(0,O.lazy)(()=>y(()=>import(`./settings-subagents-view-d3P4ylDX.js`),__vite__mapDeps([21,1,3,11,2,12,7,8,18,5,13,14,15,16]))),V=(0,O.lazy)(()=>y(()=>import(`./settings-instructions-view-DWzAH2yN.js`),__vite__mapDeps([22,1,3,13,14,15]))),H=(0,O.lazy)(()=>y(()=>import(`./account-view-DcpSNB3N.js`),__vite__mapDeps([23,1,3,5,14]))),U=(0,O.lazy)(()=>y(()=>import(`./conversation-history-view-CD_uVRNY.js`),__vite__mapDeps([24,2,1,3]))),W=[`providers`,`models`,`skills`,`rules`,`slash-commands`,`subagents`,`instructions`,`mcp-servers`,`history`,`account`];function G(e){let t=(0,D.c)(5),{title:n}=e,r;t[0]===n?r=t[1]:(r=(0,k.jsx)(`h2`,{className:`text-lg font-semibold text-muted-foreground mb-2`,children:n}),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Content coming soon...`}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,k.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,k.jsxs)(`div`,{className:`text-center`,children:[r,i]})}),t[3]=r,t[4]=a),a}function K(){let e=(0,D.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,k.jsxs)(`div`,{className:`mb-6`,children:[(0,k.jsx)(`div`,{className:`h-8 w-32 bg-muted rounded animate-pulse mb-2`}),(0,k.jsx)(`div`,{className:`h-4 w-64 bg-muted rounded animate-pulse`})]}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,k.jsx)(`div`,{className:`mb-6`,children:(0,k.jsx)(`div`,{className:`h-10 w-full bg-muted rounded animate-pulse`})}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,k.jsx)(`div`,{className:`h-4 w-36 bg-muted rounded animate-pulse mb-3`}),e[2]=r):r=e[2];let i,a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,k.jsxs)(`div`,{children:[r,(0,k.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:[(0,k.jsx)(`div`,{className:`h-24 bg-muted rounded-lg animate-pulse`}),(0,k.jsx)(`div`,{className:`h-24 bg-muted rounded-lg animate-pulse`})]})]}),a=(0,k.jsx)(`div`,{className:`h-4 w-40 bg-muted rounded animate-pulse mb-3`}),e[3]=i,e[4]=a):(i=e[3],a=e[4]);let o;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,k.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,k.jsxs)(`div`,{className:`max-w-4xl mx-auto p-6`,children:[t,n,(0,k.jsxs)(`div`,{className:`space-y-8`,children:[i,(0,k.jsxs)(`div`,{children:[a,(0,k.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:[(0,k.jsx)(`div`,{className:`h-24 bg-muted rounded-lg animate-pulse`}),(0,k.jsx)(`div`,{className:`h-24 bg-muted rounded-lg animate-pulse`}),(0,k.jsx)(`div`,{className:`h-24 bg-muted rounded-lg animate-pulse`}),(0,k.jsx)(`div`,{className:`h-24 bg-muted rounded-lg animate-pulse`})]})]})]})]})}),e[5]=o):o=e[5],o}function q(e){return e.startsWith(`/settings/providers`)?`providers`:e.startsWith(`/settings/models`)?`models`:e.startsWith(`/settings/skills`)?`skills`:e.startsWith(`/settings/rules`)?`rules`:e.startsWith(`/settings/slash-commands`)?`slash-commands`:e.startsWith(`/settings/subagents`)?`subagents`:e.startsWith(`/settings/instructions`)?`instructions`:e.startsWith(`/settings/mcp-servers`)?`mcp-servers`:e.startsWith(`/settings/history`)?`history`:e.startsWith(`/settings/account`)?`account`:`providers`}function J(){let e=(0,D.c)(33),{tab:t}=g(),n=b(),r=v(),{state:i}=x(),a;if(e[0]!==r.pathname||e[1]!==r.search||e[2]!==t){let n=new URLSearchParams(r.search).get(`tab`);a=n&&W.includes(n)?n:t&&W.includes(t)?t:q(r.pathname),e[0]=r.pathname,e[1]=r.search,e[2]=t,e[3]=a}else a=e[3];let o=a,[s,c]=(0,O.useState)(!1),l=(0,O.useRef)(null),u=ee,d;e[4]===n?d=e[5]:(d=()=>{n(`/`)},e[4]=n,e[5]=d);let f=d,p;e[6]===i.selectedProjectId?p=e[7]:(p=i.selectedProjectId?{type:`project`,id:i.selectedProjectId}:void 0,e[6]=i.selectedProjectId,e[7]=p);let m=p,h;e[8]===n?h=e[9]:(h=()=>{n(`/settings/providers`)},e[8]=n,e[9]=h);let _=h,y,S;e[10]!==r.pathname||e[11]!==n?(y=()=>{[`/settings/project`,`/settings/mcp-server-edit`,`/settings/add-skill`,`/settings/add-command`,`/settings/add-rule`,`/settings/add-agent`].some(e=>r.pathname.startsWith(e))&&n(`/settings/providers`,{replace:!0})},S=[r.pathname,n],e[10]=r.pathname,e[11]=n,e[12]=y,e[13]=S):(y=e[12],S=e[13]),(0,O.useEffect)(y,S);let w;e[14]===f?w=e[15]:(w=()=>(0,k.jsx)(C,{onTitleClose:f,subtitle:`Settings`,onResetOnboarding:u,children:(0,k.jsx)(`div`,{className:`px-2 py-2`,children:(0,k.jsx)(N,{})})}),e[14]=f,e[15]=w);let T=w,E;e[16]!==o||e[17]!==_||e[18]!==m||e[19]!==i.projects?(E=()=>{switch(o){case`providers`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(K,{}),children:(0,k.jsx)(P,{})});case`models`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Models`}),children:(0,k.jsx)(F,{})});case`skills`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Skills`}),children:(0,k.jsx)(L,{})});case`rules`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Rules`}),children:(0,k.jsx)(R,{})});case`slash-commands`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Slash Commands`}),children:(0,k.jsx)(z,{})});case`subagents`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Subagents`}),children:(0,k.jsx)(B,{})});case`instructions`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Instructions`}),children:(0,k.jsx)(V,{})});case`mcp-servers`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`MCP Servers`}),children:(0,k.jsx)(I,{})});case`history`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`History`}),children:(0,k.jsx)(U,{isOpen:!0,onClose:_,initialFilter:m,projects:i.projects,inline:!0})});case`account`:return(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(G,{title:`Account`}),children:(0,k.jsx)(H,{})});default:return(0,k.jsx)(G,{title:`Settings`})}},e[16]=o,e[17]=_,e[18]=m,e[19]=i.projects,e[20]=E):E=e[20];let j=E,M,J;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>c(!0),J=()=>c(!1),e[21]=M,e[22]=J):(M=e[21],J=e[22]);let Y;e[23]===T?Y=e[24]:(Y=T(),e[23]=T,e[24]=Y);let X=`h-full overflow-auto ${s?`ml-[40px]`:``}`,Z;e[25]===j?Z=e[26]:(Z=j(),e[25]=j,e[26]=Z);let Q;e[27]!==X||e[28]!==Z?(Q=(0,k.jsx)(`div`,{className:X,children:Z}),e[27]=X,e[28]=Z,e[29]=Q):Q=e[29];let $;return e[30]!==Y||e[31]!==Q?($=(0,k.jsx)(A,{ref:l,collapsible:!0,onCollapse:M,onExpand:J,sidebar:Y,children:Q}),e[30]=Y,e[31]=Q,e[32]=$):$=e[32],$}async function ee(){try{await m()}catch(e){console.error(`Failed to reset onboarding:`,e)}}export{J as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dialogs-config-vkfELnGl.js","assets/rolldown-runtime-B1FJdls4.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Fn as n,Ir as r,Sa as i,Vn as a,ca as o}from"./dialogs-config-vkfELnGl.js";import{xt as s}from"./react-vendor-DyE9sO8V.js";var c=e(i(),1),l=t();function u({children:e,collapsed:t,title:i,onTitleClose:u,subtitle:d,headerAction:f,footer:p,onResetOnboarding:m,onLogoClick:h}){let g=(0,c.useRef)(0),_=(0,c.useRef)(null);return(0,c.useEffect)(()=>()=>{_.current&&clearTimeout(_.current)},[]),(0,l.jsxs)(`div`,{className:`flex flex-col bg-sidebar text-sidebar-foreground mx-2.5 mt-8 mr-10 rounded-3xl shadow-2xl overflow-hidden`,style:{containerType:`inline-size`,height:`calc(100% - 32px)`},children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between border-b border-sidebar-border px-4 py-3 h-[61px]`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`div`,{className:`flex h-7 w-7 items-center justify-center overflow-hidden rounded-md border border-sidebar-border shadow-sm`,children:(0,l.jsx)(`img`,{src:`/tarsk.svg`,alt:`Tarsk`,className:`h-full w-full cursor-pointer`,onClick:m||h?async()=>{if(h?.(),m)if(_.current&&clearTimeout(_.current),g.current+=1,g.current>=3){g.current=0;let{resetOnboarding:e}=await s(async()=>{let{resetOnboarding:e}=await import(`./dialogs-config-vkfELnGl.js`).then(e=>e.S);return{resetOnboarding:e}},__vite__mapDeps([0,1]));e()}else _.current=setTimeout(()=>{g.current=0},500)}:void 0})}),!t&&(0,l.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,l.jsx)(`span`,{className:`text-sm font-semibold tracking-tight`,children:`Tarsk`}),d&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o,{className:`h-3 w-3 text-sidebar-foreground/60`}),(0,l.jsx)(`span`,{className:`text-sm font-medium text-sidebar-foreground/80`,children:d})]})]})]}),(i??u??f)&&(0,l.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[f&&!t&&f,i&&(0,l.jsx)(`span`,{className:`text-xs font-medium text-sidebar-foreground/80`,children:i}),u&&(0,l.jsxs)(a,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-sidebar-foreground`,onClick:u,children:[(0,l.jsx)(r,{className:`h-4 w-4`}),(0,l.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}),(0,l.jsx)(n,{className:`flex-1`,children:e}),p&&(0,l.jsx)(`div`,{className:`border-t border-sidebar-border`,children:p})]})}export{u as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ar as e,Zn as t,ba as n}from"./dialogs-config-vkfELnGl.js";var r=n(),i=e();function a(e){let n=(0,r.c)(8),a,o;n[0]===e?(a=n[1],o=n[2]):({className:a,...o}=e,n[0]=e,n[1]=a,n[2]=o);let s;n[3]===a?s=n[4]:(s=t(`animate-pulse rounded-md bg-muted`,a),n[3]=a,n[4]=s);let c;return n[5]!==o||n[6]!==s?(c=(0,i.jsx)(`div`,{className:s,...o}),n[5]=o,n[6]=s,n[7]=c):c=n[7],c}export{a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Sa as n,Wn as r,Zn as i,ba as a}from"./dialogs-config-vkfELnGl.js";var o=a(),s=e(n(),1),c=t(),l=s.forwardRef((e,t)=>{let n=(0,o.c)(23),a,s,l,u,d,f,p,m,h;n[0]===e?(a=n[1],s=n[2],l=n[3],u=n[4],d=n[5],f=n[6],p=n[7],m=n[8],h=n[9]):({className:s,selected:f,noBackground:u,level:l,basePadding:a,indentSize:m,asChild:h,style:p,...d}=e,n[0]=e,n[1]=a,n[2]=s,n[3]=l,n[4]=u,n[5]=d,n[6]=f,n[7]=p,n[8]=m,n[9]=h);let g=m===void 0?20:m,_=h===void 0?!1:h,v=l===void 0?void 0:(a??12)+l*g,y=_?r:`div`,b=f&&!u&&`bg-sidebar-accent text-sidebar-accent-foreground font-medium`,x=f&&u&&`font-bold text-foreground`,S;n[10]!==s||n[11]!==b||n[12]!==x?(S=i(`flex items-center gap-2 w-full min-w-0 justify-start px-3 py-2 cursor-pointer rounded-full text-sm transition-colors group overflow-hidden`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,b,x,s),n[10]=s,n[11]=b,n[12]=x,n[13]=S):S=n[13];let C=v===void 0?void 0:`${v}px`,w;n[14]!==p||n[15]!==C?(w={paddingLeft:C,...p},n[14]=p,n[15]=C,n[16]=w):w=n[16];let T;return n[17]!==y||n[18]!==d||n[19]!==t||n[20]!==S||n[21]!==w?(T=(0,c.jsx)(y,{ref:t,className:S,style:w,...d}),n[17]=y,n[18]=d,n[19]=t,n[20]=S,n[21]=w,n[22]=T):T=n[22],T});l.displayName=`StandardListItem`;export{l as t};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Sa as t,ba as n}from"./dialogs-config-vkfELnGl.js";var r=e(t(),1),i=n();function a(e){return typeof e==`string`?e.replace(/\\n/g,`
|
|
2
|
-
`).replace(/✅/g,`✓`):``}function o(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=/\[([A-Za-z]+)\]\s*/g,r,i=0;for(let e of t.matchAll(n))r=e[1],i=e.index+e[0].length;let a=r,o=a?t.slice(i):t;if(a&&o)return[{type:`reasoning`,text:o,label:a}];let s=[],c=0;for(;c<t.length;){let e=t.indexOf(`[`,c);if(e===-1){let e=t.slice(c).trim();e&&s.push({type:`reasoning`,text:e});break}let n=t.slice(c,e).trim();n&&s.push({type:`reasoning`,text:n});let r=0,i=-1;for(let n=e;n<t.length;n++)if(t[n]===`[`)r++;else if(t[n]===`]`&&(r--,r===0)){i=n;break}if(i===-1){let n=t.slice(e).trim();n&&s.push({type:`reasoning`,text:n});break}try{let n=JSON.parse(t.slice(e,i+1));if(Array.isArray(n)){for(let e of n)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&s.push(e)}}}catch{let n=t.slice(e,i+1).trim();n&&s.push({type:`reasoning`,text:n})}c=i+1}return s.length>0?s:null}function s(e){return e.map(e=>{if(typeof e==`object`&&e&&!(`type`in e)){let t=e;if(t.reasoning)return{type:`reasoning`,text:typeof t.reasoning==`string`?t.reasoning:JSON.stringify(t.reasoning)};let n=t.text??t.content??t.answer;if(n)return{type:`text`,text:typeof n==`string`?n:JSON.stringify(n)}}return e})}function c(e){let t=[];e.reasoning&&typeof e.reasoning==`string`&&t.push({type:`reasoning`,text:e.reasoning});let n=(typeof e.text==`string`?e.text:null)??(typeof e.content==`string`?e.content:null)??(typeof e.answer==`string`?e.answer:null);return n&&t.push({type:`text`,text:n}),t.length===0&&Object.keys(e).length>0&&t.push({type:`text`,text:JSON.stringify(e,null,2)}),t}function l(e){if(!e)return null;let t=e.trim();if(t.startsWith(`{`)||t.startsWith(`[`))try{let e=JSON.parse(t);if(Array.isArray(e))return s(e);if(typeof e==`object`&&e)return c(e)}catch{}let n=[],r=e.indexOf(`{`),i=e.indexOf(`[`),a=r===-1?i:i===-1?r:Math.min(r,i);if(a!==-1){let t=e.slice(a),r=Math.max(t.lastIndexOf(`]`),t.lastIndexOf(`}`));if(r!==-1){let e=t.substring(0,r+1);try{let i=JSON.parse(e);Array.isArray(i)?n.push(...s(i)):n.push(...c(i));let a=t.substring(r+1).trim();return a&&n.push({type:`text`,text:a}),n}catch{}}}return null}function u(e,t,n){let r=e[e.length-1];return r?.type===t?[...e.slice(0,-1),{type:t,chunks:[...r.chunks,n]}]:[...e,{type:t,chunks:[n]}]}function d(e,t){return e[e.length-1]?.type===`content`?[...e.slice(0,-1),{type:`content`,chunks:[t]}]:[...e,{type:`content`,chunks:[t]}]}function f(e){let t=[];for(let n of e){let e=n.chunks.join(``);if(n.type===`thinking`){let n=o(e)??[];t.push(...n)}else{let n=l(e)??(e.trim()?[{type:`text`,text:e}]:[]);t.push(...n)}}return t}function p(e,t=!1){let n=[],r=[],i=()=>{r.length>0&&(n.push({type:`thinking-group`,text:r.join(`
|
|
3
|
-
|
|
4
|
-
`),isCurrentlyStreaming:!1}),r=[])};for(let t of e)t.type===`reasoning`&&`text`in t?r.push(t.text):(i(),n.push(t));if(i(),t&&n.length>0){let e=n[n.length-1];e.type===`thinking-group`&&(e.isCurrentlyStreaming=!0)}return n}function m(e){let t=f(e);return t.length===0?`...`:t.length===1&&t[0]?.type===`text`&&`text`in t[0]?t[0].text:JSON.stringify(t)}var h=function(e){return e.SetProjects=`SET_PROJECTS`,e.SetProjectsLoading=`SET_PROJECTS_LOADING`,e.SelectThread=`SELECT_THREAD`,e.SetMessages=`SET_MESSAGES`,e.AddMessage=`ADD_MESSAGE`,e.EnqueueChatMessage=`ENQUEUE_CHAT_MESSAGE`,e.RemoveQueuedChatMessage=`REMOVE_QUEUED_CHAT_MESSAGE`,e.SetStreaming=`SET_STREAMING`,e.AppendStreamContent=`APPEND_STREAM_CONTENT`,e.SetStreamContent=`SET_STREAM_CONTENT`,e.AppendStreamThinking=`APPEND_STREAM_THINKING`,e.AppendStreamChunk=`APPEND_STREAM_CHUNK`,e.SetStreamModel=`SET_STREAM_MODEL`,e.SetProjectModel=`SET_PROJECT_MODEL`,e.ResetStream=`RESET_STREAM`,e.StopStream=`STOP_STREAM`,e.ToggleSidebar=`TOGGLE_SIDEBAR`,e.SetCreatingProject=`SET_CREATING_PROJECT`,e.ConfigUpdated=`CONFIG_UPDATED`,e.SetProcessingThreads=`SET_PROCESSING_THREADS`,e.AddProcessingThread=`ADD_PROCESSING_THREAD`,e.RemoveProcessingThread=`REMOVE_PROCESSING_THREAD`,e.AddCreatingProject=`ADD_CREATING_PROJECT`,e.AddCreatingThread=`ADD_CREATING_THREAD`,e.RemoveCreatingProject=`REMOVE_CREATING_PROJECT`,e.RemoveCreatingThread=`REMOVE_CREATING_THREAD`,e.MarkThreadCompleted=`MARK_THREAD_COMPLETED`,e.ClearThreadCompleted=`CLEAR_THREAD_COMPLETED`,e.AddDeletingThread=`ADD_DELETING_THREAD`,e.RemoveDeletingThread=`REMOVE_DELETING_THREAD`,e.AddDeletingProject=`ADD_DELETING_PROJECT`,e.RemoveDeletingProject=`REMOVE_DELETING_PROJECT`,e.AppendCommandOutput=`APPEND_COMMAND_OUTPUT`,e.SetRunningCommand=`SET_RUNNING_COMMAND`,e.ClearCommandOutput=`CLEAR_COMMAND_OUTPUT`,e.ToggleTerminal=`TOGGLE_TERMINAL`,e.SetTerminalOpen=`SET_TERMINAL_OPEN`,e.QueueTerminalCommand=`QUEUE_TERMINAL_COMMAND`,e.ClearQueuedTerminalCommand=`CLEAR_QUEUED_TERMINAL_COMMAND`,e.AppendTerminalLine=`APPEND_TERMINAL_LINE`,e.ClearTerminalOutput=`CLEAR_TERMINAL_OUTPUT`,e.SetTerminalHeight=`SET_TERMINAL_HEIGHT`,e.SetTerminalCwd=`SET_TERMINAL_CWD`,e.SetTerminalRunning=`SET_TERMINAL_RUNNING`,e.SetTerminalHistory=`SET_TERMINAL_HISTORY`,e.SetTerminalHistoryIndex=`SET_TERMINAL_HISTORY_INDEX`,e.UpdateThreadTitle=`UPDATE_THREAD_TITLE`,e.ClearFocusChatInput=`CLEAR_FOCUS_CHAT_INPUT`,e.ClearMessages=`CLEAR_MESSAGES`,e.UpdateToolCallProgress=`UPDATE_TOOL_CALL_PROGRESS`,e.SetPendingChatMessage=`SET_PENDING_CHAT_MESSAGE`,e.ClearPendingChatMessage=`CLEAR_PENDING_CHAT_MESSAGE`,e.IncrementStreamEventCount=`INCREMENT_STREAM_EVENT_COUNT`,e.SetDiffComments=`SET_DIFF_COMMENTS`,e.ClearSelection=`CLEAR_SELECTION`,e.SetChatInputDraft=`SET_CHAT_INPUT_DRAFT`,e.ClearChatInputDraft=`CLEAR_CHAT_INPUT_DRAFT`,e}({}),g={projects:[],projectsLoading:!0,selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingEventCount:0,projectModelSelections:{},sidebarOpen:!0,isCreatingProject:!1,configUpdatedAt:0,processingThreadIds:[],completedThreadIds:[],deletingThreadIds:[],deletingProjectIds:[],commandOutput:``,isRunningCommand:!1,terminalStates:{},focusChatInput:!1,toolCallProgress:{},pendingChatMessage:null,diffComments:{},chatInputDrafts:{}};function _(e,t){switch(t.type){case h.SetProjects:{let n={...e.projectModelSelections};for(let e of t.projects)for(let t of e.threads){if(!t.model)continue;let e=n[t.threadId];n[t.threadId]={id:t.model,provider:t.modelProvider,name:e?.name??t.model,description:e?.description??``,context_length:e?.context_length,contextWindow:e?.contextWindow,features:e?.features,input_modalities:e?.input_modalities,max_output:e?.max_output,pricing:e?.pricing,tarsk_use:e?.tarsk_use,coding_index:e?.coding_index,supportsImages:e?.supportsImages}}return{...e,projects:t.projects,projectModelSelections:n}}case h.SetProjectsLoading:return{...e,projectsLoading:t.projectsLoading};case h.SelectThread:return{...e,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],messagesLoaded:!1,focusChatInput:t.focusInput??!1};case h.ClearSelection:return{...e,selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1};case h.SetMessages:return{...e,messages:t.messages,messagesLoaded:!0};case h.AddMessage:return{...e,messages:[...e.messages,t.message]};case h.EnqueueChatMessage:return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]};case h.RemoveQueuedChatMessage:return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)};case h.SetStreaming:return{...e,isStreaming:t.isStreaming};case h.AppendStreamContent:return{...e,streamingContent:e.streamingContent+t.content};case h.SetStreamContent:{let n=d(e.streamingSegments,t.content);return{...e,streamingContent:t.content,streamingSegments:n}}case h.AppendStreamThinking:return{...e,streamingThinking:e.streamingThinking+t.content};case h.IncrementStreamEventCount:return{...e,streamingEventCount:e.streamingEventCount+1};case h.AppendStreamChunk:return{...e,streamingSegments:t.segments,streamingContent:t.chunkType===`content`?e.streamingContent+t.content:e.streamingContent,streamingThinking:t.chunkType===`thinking`?e.streamingThinking+t.content:e.streamingThinking};case h.SetStreamModel:return{...e,streamingModel:t.model};case h.SetProjectModel:return console.log(`[Store] SetProjectModel action:`,{threadId:t.threadId,model:{id:t.model.id,provider:t.model.provider}}),{...e,projects:e.projects.map(e=>({...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,model:t.model.id,modelProvider:t.model.provider}:e)})),projectModelSelections:{...e.projectModelSelections,[t.threadId]:t.model}};case h.ResetStream:return{...e,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,isStreaming:!1,toolCallProgress:{},streamingEventCount:0};case h.StopStream:return{...e,isStreaming:!1};case h.ToggleSidebar:return{...e,sidebarOpen:!e.sidebarOpen};case h.SetCreatingProject:return{...e,isCreatingProject:t.isCreating};case h.ConfigUpdated:return{...e,configUpdatedAt:Date.now()};case h.SetProcessingThreads:return{...e,processingThreadIds:t.threadIds};case h.AddProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.includes(t.threadId)?e.processingThreadIds:[...e.processingThreadIds,t.threadId]};case h.RemoveProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.filter(e=>e!==t.threadId)};case h.AddCreatingProject:return{...e,projects:[...e.projects,{projectId:t.projectId,name:t.projectName,gitUrl:t.gitUrl,threads:[{threadId:t.threadId,title:`thread-1`,path:``,currentBranch:``}]}]};case h.AddCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:[...e.threads,{threadId:t.threadId,title:t.title,path:``,currentBranch:``}]}:e)};case h.RemoveCreatingProject:return{...e,projects:e.projects.filter(e=>e.projectId!==t.projectId)};case h.RemoveCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case h.MarkThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.includes(t.threadId)?e.completedThreadIds:[...e.completedThreadIds,t.threadId]};case h.ClearThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.filter(e=>e!==t.threadId)};case h.AddDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.includes(t.threadId)?e.deletingThreadIds:[...e.deletingThreadIds,t.threadId]};case h.RemoveDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.filter(e=>e!==t.threadId)};case h.AddDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.includes(t.projectId)?e.deletingProjectIds:[...e.deletingProjectIds,t.projectId]};case h.RemoveDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.filter(e=>e!==t.projectId)};case h.AppendCommandOutput:return{...e,commandOutput:e.commandOutput+t.content};case h.SetRunningCommand:return{...e,isRunningCommand:t.isRunning};case h.ClearCommandOutput:return{...e,commandOutput:``};case h.ToggleTerminal:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:!r.open}}}}case h.SetTerminalOpen:{let n=t.threadId??`default`,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:t.open}}}}case h.QueueTerminalCommand:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,queuedCommand:t.command,queuedRelativeFolder:t.relativeFolder??null,open:!0}}}}case h.ClearQueuedTerminalCommand:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,queuedCommand:null}}}}case h.AppendTerminalLine:{let n=t.threadId??`default`,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[...r.outputLines,t.line]}}}}case h.ClearTerminalOutput:{let n=t.threadId??`default`,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[]}}}}case h.SetTerminalHeight:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,height:t.height}}}}case h.SetTerminalCwd:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,cwd:t.cwd}}}}case h.SetTerminalRunning:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,isRunning:t.isRunning}}}}case h.SetTerminalHistory:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,history:t.history}}}}case h.SetTerminalHistoryIndex:{let n=t.threadId,r=e.terminalStates[n]??{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};return{...e,terminalStates:{...e.terminalStates,[n]:{...r,historyIndex:t.index}}}}case h.UpdateThreadTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,title:t.title}:e)}:e)};case h.ClearFocusChatInput:return{...e,focusChatInput:!1};case h.ClearMessages:return{...e,messages:[]};case h.UpdateToolCallProgress:return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:t.progress}};case h.SetPendingChatMessage:return{...e,pendingChatMessage:t.message};case h.ClearPendingChatMessage:return{...e,pendingChatMessage:null};case h.SetDiffComments:return{...e,diffComments:{...e.diffComments,[t.threadId]:t.comments}};case h.SetChatInputDraft:return{...e,chatInputDrafts:{...e.chatInputDrafts,[t.threadId]:t.draft}};case h.ClearChatInputDraft:{let{[t.threadId]:n,...r}=e.chatInputDrafts;return{...e,chatInputDrafts:r}}default:return e}}var v=(0,r.createContext)({state:g,dispatch:()=>{}});function y(){return(0,r.useContext)(v)}function b(e){let t=(0,i.c)(11),{state:n,dispatch:r}=y();if(!e){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0];let n;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={terminalState:{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:e,height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1},dispatch:x},t[1]=n):n=t[1],n}let a;t[2]!==n.terminalStates||t[3]!==e?(a=n.terminalStates[e]||{open:!1,queuedCommand:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1},t[2]=n.terminalStates,t[3]=e,t[4]=a):a=t[4];let o=a,s;t[5]!==r||t[6]!==e?(s=t=>{r({...t,threadId:e})},t[5]=r,t[6]=e,t[7]=s):s=t[7];let c=s,l;return t[8]!==c||t[9]!==o?(l={terminalState:o,dispatch:c},t[8]=c,t[9]=o,t[10]=l):l=t[10],l}function x(){}export{y as a,f as c,p as d,a as f,g as i,u as l,o as m,v as n,b as o,l as p,_ as r,m as s,h as t,d as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Sa as n,Zn as r,ba as i}from"./dialogs-config-vkfELnGl.js";import{F as a,I as o,L as s,P as c}from"./react-vendor-DyE9sO8V.js";var l=i(),u=e(n(),1),d=t(),f=o,p=u.forwardRef((e,t)=>{let n=(0,l.c)(9),i,o;n[0]===e?(i=n[1],o=n[2]):({className:i,...o}=e,n[0]=e,n[1]=i,n[2]=o);let s;n[3]===i?s=n[4]:(s=r(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,i),n[3]=i,n[4]=s);let c;return n[5]!==o||n[6]!==t||n[7]!==s?(c=(0,d.jsx)(a,{ref:t,className:s,...o}),n[5]=o,n[6]=t,n[7]=s,n[8]=c):c=n[8],c});p.displayName=a.displayName;var m=u.forwardRef((e,t)=>{let n=(0,l.c)(9),i,a;n[0]===e?(i=n[1],a=n[2]):({className:i,...a}=e,n[0]=e,n[1]=i,n[2]=a);let o;n[3]===i?o=n[4]:(o=r(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,i),n[3]=i,n[4]=o);let c;return n[5]!==a||n[6]!==t||n[7]!==o?(c=(0,d.jsx)(s,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=c):c=n[8],c});m.displayName=s.displayName;var h=u.forwardRef((e,t)=>{let n=(0,l.c)(9),i,a;n[0]===e?(i=n[1],a=n[2]):({className:i,...a}=e,n[0]=e,n[1]=i,n[2]=a);let o;n[3]===i?o=n[4]:(o=r(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,i),n[3]=i,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,d.jsx)(c,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});h.displayName=c.displayName;export{m as i,h as n,p as r,f as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{Ar as t,Sa as n,Zn as r,ba as i}from"./dialogs-config-vkfELnGl.js";var a=i(),o=e(n(),1),s=t(),c=o.forwardRef((e,t)=>{let n=(0,a.c)(9),i,o;n[0]===e?(i=n[1],o=n[2]):({className:i,...o}=e,n[0]=e,n[1]=i,n[2]=o);let c;n[3]===i?c=n[4]:(c=r(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,i),n[3]=i,n[4]=c);let l;return n[5]!==o||n[6]!==t||n[7]!==c?(l=(0,s.jsx)(`textarea`,{className:c,ref:t,...o}),n[5]=o,n[6]=t,n[7]=c,n[8]=l):l=n[8],l});c.displayName=`Textarea`;export{c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./index-DKQVo4Vz.js";export{e as TodosView};
|
|
File without changes
|