shioricode 0.4.20 → 0.4.21
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/bin.cjs +13117 -12448
- package/dist/bin.mjs +13155 -12486
- package/dist/client/assets/{ArtifactPanel-DhNMewF_.js → ArtifactPanel-CdR4rtqI.js} +2 -2
- package/dist/client/assets/{ChatMarkdown-CQLSgdaS.js → ChatMarkdown-LC7VQG0i.js} +2 -2
- package/dist/client/assets/{DiffPanel-IxDswq5p.js → DiffPanel-Dj0UZJm3.js} +3 -3
- package/dist/client/assets/DiffPanelShell-xseg5JQo.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-dhrEONTb.js → DiffWorkerPoolProvider-D6XJdZWI.js} +2 -2
- package/dist/client/assets/NoActiveThreadState-CQmuWJhb.js +2 -0
- package/dist/client/assets/ProviderModelPicker-Bze2CcYx.js +2 -0
- package/dist/client/assets/SettingsPanels-DqCqBUI7.js +4 -0
- package/dist/client/assets/_chat-CKouNPVs.js +2 -0
- package/dist/client/assets/_chat._threadId-CU4xs7Dd.js +289 -0
- package/dist/client/assets/{_chat.index-B4NLV9mk.js → _chat.index-20AQsDPh.js} +2 -2
- package/dist/client/assets/automations-CWJGpvWf.js +2 -0
- package/dist/client/assets/{badge-BaTrdaZE.js → badge-1VUDnpuQ.js} +2 -2
- package/dist/client/assets/clientSettings-5THztvzS.js +2 -0
- package/dist/client/assets/{collapsible-DfWqkHJg.js → collapsible--nYYN5Zg.js} +2 -2
- package/dist/client/assets/{dialog-DjTpVApd.js → dialog-BzCtORYk.js} +2 -2
- package/dist/client/assets/{empty-Be-8qJMT.js → empty-DrPVL67l.js} +2 -2
- package/dist/client/assets/{gitReactQuery-TUte-oT5.js → gitReactQuery-Be_6T0Ee.js} +2 -2
- package/dist/client/assets/index-B58EBW6O.js +6 -0
- package/dist/client/assets/index-Cr2B1Z-_.css +2 -0
- package/dist/client/assets/{input-CE9hmpu7.js → input-DWDmgkdY.js} +2 -2
- package/dist/client/assets/pull-requests-Doz3BMXH.js +46 -0
- package/dist/client/assets/queuedTurnsStore-CIDk30NZ.js +2 -0
- package/dist/client/assets/{scroll-area-CbQzkLT_.js → scroll-area-CFMQ9e4_.js} +2 -2
- package/dist/client/assets/{separator-DI5DQ7Ks.js → separator-BdZ-ET3V.js} +2 -2
- package/dist/client/assets/settings-BGn4mjTS.js +2 -0
- package/dist/client/assets/settings.appearance-Ckvmtwdi.js +2 -0
- package/dist/client/assets/settings.archived-2t5UQQrc.js +2 -0
- package/dist/client/assets/{settings.computer-use-tZN9IYDg.js → settings.computer-use-Dfj_6GTK.js} +2 -2
- package/dist/client/assets/{settings.credits-BpgwqbI7.js → settings.credits-BUY8PBTc.js} +2 -2
- package/dist/client/assets/settings.general-Bvydzs1m.js +2 -0
- package/dist/client/assets/settings.mcp-Byoxze4F.js +2 -0
- package/dist/client/assets/{settings.mobile-PxkOX11C.js → settings.mobile-BUu4CP8r.js} +2 -2
- package/dist/client/assets/{settings.plugins-CQejJM2o.js → settings.plugins-CAvGUyw-.js} +2 -2
- package/dist/client/assets/settings.remote-BaGj1Eao.js +2 -0
- package/dist/client/assets/{settings.skills-Cg57qd7S.js → settings.skills-B-UfH45M.js} +2 -2
- package/dist/client/assets/{settings.theme-builder-DUu9nCmf.js → settings.theme-builder-DYn2dp1p.js} +2 -2
- package/dist/client/assets/{skillsMcpShared-CGi0RTQJ.js → skillsMcpShared-RFZJX9uG.js} +2 -2
- package/dist/client/assets/store-KYb5gyLf.js +12 -0
- package/dist/client/assets/{terminalStateStore-COv6Fwmt.js → terminalStateStore-DBL14uZB.js} +2 -2
- package/dist/client/assets/{textarea-CFQ0q5G1.js → textarea-CeNMtAmc.js} +2 -2
- package/dist/client/assets/{toggle-CwB81Wb2.js → toggle-BR_nJmIu.js} +2 -2
- package/dist/client/assets/{toggle-group-B4poMzYg.js → toggle-group-Tr8y9Pwx.js} +2 -2
- package/dist/client/assets/{uiStateStore-DsIsCBO9.js → uiStateStore-CC1coFoR.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-DtShg-Gb.js → useHandleNewThread-CRjy_n7m.js} +2 -2
- package/dist/client/assets/useSettings-CvQQz7AW.js +2 -0
- package/dist/client/assets/{useTheme-CpDK1jpf.js → useTheme-D0lWhUH9.js} +2 -2
- package/dist/client/assets/utils-D1UgimcN.js +2 -0
- package/dist/client/assets/{vendor-effect-DldSDsna.js → vendor-effect-Chd9hYxF.js} +1 -1
- package/dist/client/assets/{vendor-ui-D-080HIn.js → vendor-ui-CJZCHXkp.js} +2 -2
- package/dist/client/index.html +15 -15
- package/package.json +1 -1
- package/dist/client/assets/DiffPanelShell-BYPngGr7.js +0 -2
- package/dist/client/assets/NoActiveThreadState-BhsV4knw.js +0 -2
- package/dist/client/assets/ProviderModelPicker-DvZxygLs.js +0 -2
- package/dist/client/assets/SettingsPanels-CcxbSb2Y.js +0 -4
- package/dist/client/assets/_chat-BKEfH7bm.js +0 -2
- package/dist/client/assets/_chat._threadId-CKYAWkIl.js +0 -289
- package/dist/client/assets/automations-BaROU0my.js +0 -2
- package/dist/client/assets/clientSettings-333fq8u7.js +0 -2
- package/dist/client/assets/index-DO0-ySqI.js +0 -6
- package/dist/client/assets/index-Hee7CrbY.css +0 -2
- package/dist/client/assets/pull-requests-D0RjDNry.js +0 -46
- package/dist/client/assets/queuedTurnsStore-C44-Rdam.js +0 -2
- package/dist/client/assets/settings-DYPhYb14.js +0 -2
- package/dist/client/assets/settings.appearance-DcK3XBNk.js +0 -2
- package/dist/client/assets/settings.archived-bTn7EzG_.js +0 -2
- package/dist/client/assets/settings.general-C_Aq9Mn4.js +0 -2
- package/dist/client/assets/settings.mcp-BnzVTWcW.js +0 -2
- package/dist/client/assets/settings.remote-BlV5n30n.js +0 -2
- package/dist/client/assets/store-8a4nbwgb.js +0 -12
- package/dist/client/assets/useSettings-Bof_skNF.js +0 -2
- package/dist/client/assets/utils-X2TItr-k.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import"./vendor-react-BvVnE5E6.js";import{E as n,T as r,d as i,w as ee}from"./vendor-tanstack-DxB_J8A7.js";import{c as a}from"./vendor--lexical-react-Dg6NVZQt.js";import
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import"./vendor-react-BvVnE5E6.js";import{E as n,T as r,d as i,w as ee}from"./vendor-tanstack-DxB_J8A7.js";import{c as a}from"./vendor--lexical-react-Dg6NVZQt.js";import{h as te}from"./clientSettings-5THztvzS.js";import"./vendor-effect-Chd9hYxF.js";import{ct as ne,t as o}from"./utils-D1UgimcN.js";import{i as s}from"./store-KYb5gyLf.js";import{Cr as re,Sr as ie,Wn as ae,_n as oe,ar as se,ir as ce}from"./vendor-ui-CJZCHXkp.js";import{n as c}from"./useSettings-CvQQz7AW.js";import{d as le}from"./gitReactQuery-Be_6T0Ee.js";import"./separator-BdZ-ET3V.js";import{L as l,a as ue,n as de}from"./vendor-diffs-CBk6gACd.js";import{$ as fe,dt as u,s as pe,st as me,u as he}from"./index-B58EBW6O.js";import{a as d,f as ge,i as _e,l as ve,o as ye,s as f}from"./DiffPanelShell-xseg5JQo.js";import{t as be}from"./useTheme-D0lWhUH9.js";import"./vendor--shikijs-core-BAnPeRVm.js";import"./vendor--shikijs-engine-javascript-DmYKhP_-.js";import"./vendor-diff-JjX2GAnZ.js";import{n as xe,r as Se,t as p}from"./toggle-group-Tr8y9Pwx.js";import{n as Ce,t as m}from"./DiffWorkerPoolProvider-D6XJdZWI.js";import"./toggle-BR_nJmIu.js";var h=e(t(),1),g=a(),we=`
|
|
2
2
|
[data-diffs-header],
|
|
3
3
|
[data-diff],
|
|
4
4
|
[data-file],
|
|
@@ -60,5 +60,5 @@ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor-
|
|
|
60
60
|
color: color-mix(in srgb, var(--foreground) 84%, var(--primary)) !important;
|
|
61
61
|
text-decoration-color: currentColor;
|
|
62
62
|
}
|
|
63
|
-
`,Te={"--diffs-font-family":`var(--font-mono)`,"--diffs-header-font-family":`var(--font-mono)`};function _(e,t=`diff-panel`){if(!e)return null;let n=e.trim();if(n.length===0)return null;try{let e=l(n,f(n,t)).flatMap(e=>e.files);return e.length>0?{kind:`files`,files:e}:{kind:`raw`,text:n,reason:`Unsupported diff format. Showing raw patch.`}}catch{return{kind:`raw`,text:n,reason:`Failed to parse patch. Showing raw patch.`}}}function v(e){let t=e.name??e.prevName??``;return t.startsWith(`a/`)||t.startsWith(`b/`)?t.slice(2):t}function Ee(e){return e.cacheKey??`${e.prevName??`none`}:${e.name}`}function De(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function y({mode:e=`inline`,onClose:t}){let a=ee(),{resolvedTheme:l}=be(),f=c(),[m,y]=(0,h.useState)(`stacked`),[b,x]=(0,h.useState)(f.diffWordWrap),S=(0,h.useRef)(null),C=(0,h.useRef)(null),w=(0,h.useRef)(null),T=(0,h.useRef)(!1),[E,D]=(0,h.useState)(!1),[O,k]=(0,h.useState)(!1),Oe=n({strict:!1,select:e=>e.threadId?ne.makeUnsafe(e.threadId):null}),A=r({strict:!1,select:e=>me(e)}),j=A.diff===`1`,M=Oe,N=s(e=>M?e.threads.find(e=>e.id===M):void 0),P=N?.projectId??null,ke=s(e=>P?e.projects.find(e=>e.id===P):void 0),F=N?.worktreePath??ke?.cwd,I=i(le(F??null)).data?.isRepo??!0,{turnDiffSummaries:L,inferredCheckpointTurnCountByTurnId:R}=Ce(N),z=(0,h.useMemo)(()=>[...L].toSorted((e,t)=>{let n=e.checkpointTurnCount??R[e.turnId]??0,r=t.checkpointTurnCount??R[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[R,L]),B=A.diffTurnId??null,V=B===null?null:A.diffFilePath??null,H=B===null?void 0:z.find(e=>e.turnId===B)??z[0],U=H&&(H.checkpointTurnCount??R[H.turnId]),Ae=(0,h.useMemo)(()=>typeof U==`number`?{fromTurnCount:Math.max(0,U-1),toTurnCount:U}:null,[U]),W=(0,h.useMemo)(()=>{let e=z.map(e=>e.checkpointTurnCount??R[e.turnId]).filter(e=>typeof e==`number`);if(e.length===0)return;let t=Math.max(...e);return t>0?t:void 0},[R,z]),je=(0,h.useMemo)(()=>!H&&typeof W==`number`?{fromTurnCount:0,toTurnCount:W}:null,[W,H]),G=H?Ae:je,Me=(0,h.useMemo)(()=>H||z.length===0?null:`conversation:${z.map(e=>e.turnId).join(`,`)}`,[z,H]),K=i(pe({threadId:M,fromTurnCount:G?.fromTurnCount??null,toTurnCount:G?.toTurnCount??null,cacheScope:H?`turn:${H.turnId}`:Me,enabled:I})),Ne=H?K.data?.diff:void 0,Pe=H?void 0:K.data?.diff,q=K.isLoading,J=K.error instanceof Error?K.error.message:K.error?`Failed to load checkpoint diff.`:null,Y=H?Ne:Pe,Fe=typeof Y==`string`&&Y.trim().length===0,X=(0,h.useMemo)(()=>_(Y,`diff-panel:${l}`),[l,Y]),Z=(0,h.useMemo)(()=>!X||X.kind!==`files`?[]:X.files.toSorted((e,t)=>v(e).localeCompare(v(t),void 0,{numeric:!0,sensitivity:`base`})),[X]),Ie=Se({rootRef:C,enabled:!q&&!J&&Z.length>0&&X?.kind===`files`,dependencyKey:`${Z.length}:${X?.kind??`none`}:${l}:${H?.turnId??`conversation`}:${K.dataUpdatedAt}`}),Le=!q&&!J&&Z.length>0&&!Ie;(0,h.useEffect)(()=>{j&&!T.current&&x(f.diffWordWrap),T.current=j},[j,f.diffWordWrap]),(0,h.useEffect)(()=>{if(!V||!S.current)return;let e=`[data-diff-file-path="${De(V)}"]`;S.current.querySelector(e)?.scrollIntoView({block:`nearest`})},[Z.length,V]);let Re=(0,h.useCallback)(e=>{let t=te();t&&he(t,F?ge(e,F):e).catch(e=>{console.warn(`Failed to open diff file in editor.`,e)})},[F]),ze=e=>{N&&a({to:`/$threadId`,params:{threadId:N.id},search:t=>({...u(t),diff:`1`,diffTurnId:e})})},Be=()=>{N&&a({to:`/$threadId`,params:{threadId:N.id},search:e=>({...u(e),diff:`1`})})},Q=(0,h.useCallback)(()=>{let e=w.current;if(!e){D(!1),k(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth);D(e.scrollLeft>4),k(e.scrollLeft<t-4)},[]),$=(0,h.useCallback)(e=>{let t=w.current;t&&t.scrollBy({left:e,behavior:`smooth`})},[]),Ve=(0,h.useCallback)(e=>{let t=w.current;t&&(t.scrollWidth<=t.clientWidth+1||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollBy({left:e.deltaY,behavior:`auto`})))},[]);return(0,h.useEffect)(()=>{let e=w.current;if(!e)return;let t=window.requestAnimationFrame(()=>Q()),n=()=>Q();e.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(()=>Q());return r.observe(e),()=>{window.cancelAnimationFrame(t),e.removeEventListener(`scroll`,n),r.disconnect()}},[Q]),(0,h.useEffect)(()=>{let e=window.requestAnimationFrame(()=>Q());return()=>{window.cancelAnimationFrame(e)}},[z,B,Q]),(0,h.useEffect)(()=>{let e=w.current;e&&e.querySelector(`[data-turn-chip-selected='true']`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},[H?.turnId,B]),(0,g.jsx)(ye,{mode:e,header:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`relative min-w-0 flex-1 overflow-hidden [-webkit-app-region:no-drag]`,children:[E&&(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-8 z-10 w-7 bg-linear-to-r from-card to-transparent`}),O&&(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-8 z-10 w-7 bg-linear-to-l from-card to-transparent`}),(0,g.jsx)(`button`,{type:`button`,className:o(`absolute left-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,E?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>$(-180),disabled:!E,"aria-label":`Scroll turn list left`,children:(0,g.jsx)(oe,{className:`size-3.5`})}),(0,g.jsx)(`button`,{type:`button`,className:o(`absolute right-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,O?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>$(180),disabled:!O,"aria-label":`Scroll turn list right`,children:(0,g.jsx)(se,{className:`size-3.5`})}),(0,g.jsxs)(`div`,{ref:w,className:`turn-chip-strip flex min-w-0 gap-1 overflow-x-auto px-8 py-0.5`,onWheel:Ve,children:[(0,g.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:Be,"data-turn-chip-selected":B===null,children:(0,g.jsx)(`div`,{className:o(`rounded-md border px-2 py-1 text-left transition-colors`,B===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,g.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`})})}),z.map(e=>(0,g.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:()=>ze(e.turnId),title:e.turnId,"data-turn-chip-selected":e.turnId===H?.turnId,children:(0,g.jsx)(`div`,{className:o(`rounded-md border px-2 py-1 text-left transition-colors`,e.turnId===H?.turnId?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn`,` `,e.checkpointTurnCount??R[e.turnId]??`?`]}),(0,g.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:fe(e.completedAt,f.timestampFormat)})]})})},e.turnId))]})]}),(0,g.jsxs)(`div`,{className:`flex min-w-fit shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[(0,g.jsxs)(xe,{className:`shrink-0`,variant:`outline`,size:`xs`,value:[m],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&y(t)},children:[(0,g.jsx)(p,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,g.jsx)(ce,{className:`size-3`})}),(0,g.jsx)(p,{"aria-label":`Split diff view`,value:`split`,children:(0,g.jsx)(ie,{className:`size-3`})})]}),(0,g.jsx)(p,{"aria-label":b?`Disable diff line wrapping`:`Enable diff line wrapping`,title:b?`Disable line wrapping`:`Enable line wrapping`,variant:`outline`,size:`xs`,pressed:b,onPressedChange:e=>{x(!!e)},children:(0,g.jsx)(ae,{className:`size-3`})}),t&&(0,g.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:t,"aria-label":`Close diff panel`,children:(0,g.jsx)(re,{className:`size-3.5`})})]})]}),children:N?I?z.length===0?(0,g.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,g.jsx)(g.Fragment,{children:(0,g.jsxs)(`div`,{ref:S,className:`diff-panel-viewport min-h-0 min-w-0 flex-1 overflow-hidden`,style:Te,children:[J&&!X&&(0,g.jsx)(`div`,{className:`px-3`,children:(0,g.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:J})}),X?X.kind===`files`?(0,g.jsxs)(`div`,{className:`relative h-full min-h-0`,children:[Le?(0,g.jsx)(_e,{label:`Loading the diff`}):null,(0,g.jsx)(`div`,{ref:C,className:`h-full min-h-0`,children:(0,g.jsx)(ue,{className:`diff-render-surface h-full min-h-0 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:Z.map(e=>{let t=v(e),n=`${Ee(e)}:${l}`;return(0,g.jsx)(`div`,{"data-diff-file-path":t,className:`diff-render-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(e=>e instanceof Element?e.hasAttribute(`data-title`):!1)&&Re(t)},children:(0,g.jsx)(de,{fileDiff:e,options:{diffStyle:m===`split`?`split`:`unified`,lineDiffType:`none`,overflow:b?`wrap`:`scroll`,theme:ve(l),themeType:l,unsafeCSS:we}})},n)})})})]}):(0,g.jsx)(`div`,{className:`h-full overflow-auto p-2`,children:(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:X.reason}),(0,g.jsx)(`pre`,{className:o(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,b?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:X.text})]})}):q?(0,g.jsx)(d,{label:`Loading the diff`}):(0,g.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,g.jsx)(`p`,{children:Fe?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,g.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,g.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`})})}export{m as DiffWorkerPoolProvider,y as default};
|
|
64
|
-
//# sourceMappingURL=DiffPanel-
|
|
63
|
+
`,Te={"--diffs-font-family":`var(--font-mono)`,"--diffs-header-font-family":`var(--font-mono)`};function _(e,t=`diff-panel`){if(!e)return null;let n=e.trim();if(n.length===0)return null;try{let e=l(n,f(n,t)).flatMap(e=>e.files);return e.length>0?{kind:`files`,files:e}:{kind:`raw`,text:n,reason:`Unsupported diff format. Showing raw patch.`}}catch{return{kind:`raw`,text:n,reason:`Failed to parse patch. Showing raw patch.`}}}function v(e){let t=e.name??e.prevName??``;return t.startsWith(`a/`)||t.startsWith(`b/`)?t.slice(2):t}function Ee(e){return e.cacheKey??`${e.prevName??`none`}:${e.name}`}function De(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function y({mode:e=`inline`,onClose:t}){let a=ee(),{resolvedTheme:l}=be(),f=c(),[m,y]=(0,h.useState)(`stacked`),[b,x]=(0,h.useState)(f.diffWordWrap),S=(0,h.useRef)(null),C=(0,h.useRef)(null),w=(0,h.useRef)(null),T=(0,h.useRef)(!1),[E,D]=(0,h.useState)(!1),[O,k]=(0,h.useState)(!1),Oe=n({strict:!1,select:e=>e.threadId?ne.makeUnsafe(e.threadId):null}),A=r({strict:!1,select:e=>me(e)}),j=A.diff===`1`,M=Oe,N=s(e=>M?e.threads.find(e=>e.id===M):void 0),P=N?.projectId??null,ke=s(e=>P?e.projects.find(e=>e.id===P):void 0),F=N?.worktreePath??ke?.cwd,I=i(le(F??null)).data?.isRepo??!0,{turnDiffSummaries:L,inferredCheckpointTurnCountByTurnId:R}=Ce(N),z=(0,h.useMemo)(()=>[...L].toSorted((e,t)=>{let n=e.checkpointTurnCount??R[e.turnId]??0,r=t.checkpointTurnCount??R[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[R,L]),B=A.diffTurnId??null,V=B===null?null:A.diffFilePath??null,H=B===null?void 0:z.find(e=>e.turnId===B)??z[0],U=H&&(H.checkpointTurnCount??R[H.turnId]),Ae=(0,h.useMemo)(()=>typeof U==`number`?{fromTurnCount:Math.max(0,U-1),toTurnCount:U}:null,[U]),W=(0,h.useMemo)(()=>{let e=z.map(e=>e.checkpointTurnCount??R[e.turnId]).filter(e=>typeof e==`number`);if(e.length===0)return;let t=Math.max(...e);return t>0?t:void 0},[R,z]),je=(0,h.useMemo)(()=>!H&&typeof W==`number`?{fromTurnCount:0,toTurnCount:W}:null,[W,H]),G=H?Ae:je,Me=(0,h.useMemo)(()=>H||z.length===0?null:`conversation:${z.map(e=>e.turnId).join(`,`)}`,[z,H]),K=i(pe({threadId:M,fromTurnCount:G?.fromTurnCount??null,toTurnCount:G?.toTurnCount??null,cacheScope:H?`turn:${H.turnId}`:Me,enabled:I})),Ne=H?K.data?.diff:void 0,Pe=H?void 0:K.data?.diff,q=K.isLoading,J=K.error instanceof Error?K.error.message:K.error?`Failed to load checkpoint diff.`:null,Y=H?Ne:Pe,Fe=typeof Y==`string`&&Y.trim().length===0,X=(0,h.useMemo)(()=>_(Y,`diff-panel:${l}`),[l,Y]),Z=(0,h.useMemo)(()=>!X||X.kind!==`files`?[]:X.files.toSorted((e,t)=>v(e).localeCompare(v(t),void 0,{numeric:!0,sensitivity:`base`})),[X]),Ie=Se({rootRef:C,enabled:!q&&!J&&Z.length>0&&X?.kind===`files`,dependencyKey:`${Z.length}:${X?.kind??`none`}:${l}:${H?.turnId??`conversation`}:${K.dataUpdatedAt}`}),Le=!q&&!J&&Z.length>0&&!Ie;(0,h.useEffect)(()=>{j&&!T.current&&x(f.diffWordWrap),T.current=j},[j,f.diffWordWrap]),(0,h.useEffect)(()=>{if(!V||!S.current)return;let e=`[data-diff-file-path="${De(V)}"]`;S.current.querySelector(e)?.scrollIntoView({block:`nearest`})},[Z.length,V]);let Re=(0,h.useCallback)(e=>{let t=te();t&&he(t,F?ge(e,F):e).catch(e=>{console.warn(`Failed to open diff file in editor.`,e)})},[F]),ze=e=>{N&&a({to:`/$threadId`,params:{threadId:N.id},search:t=>({...u(t),diff:`1`,diffTurnId:e})})},Be=()=>{N&&a({to:`/$threadId`,params:{threadId:N.id},search:e=>({...u(e),diff:`1`})})},Q=(0,h.useCallback)(()=>{let e=w.current;if(!e){D(!1),k(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth);D(e.scrollLeft>4),k(e.scrollLeft<t-4)},[]),$=(0,h.useCallback)(e=>{let t=w.current;t&&t.scrollBy({left:e,behavior:`smooth`})},[]),Ve=(0,h.useCallback)(e=>{let t=w.current;t&&(t.scrollWidth<=t.clientWidth+1||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollBy({left:e.deltaY,behavior:`auto`})))},[]);return(0,h.useEffect)(()=>{let e=w.current;if(!e)return;let t=window.requestAnimationFrame(()=>Q()),n=()=>Q();e.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(()=>Q());return r.observe(e),()=>{window.cancelAnimationFrame(t),e.removeEventListener(`scroll`,n),r.disconnect()}},[Q]),(0,h.useEffect)(()=>{let e=window.requestAnimationFrame(()=>Q());return()=>{window.cancelAnimationFrame(e)}},[z,B,Q]),(0,h.useEffect)(()=>{let e=w.current;e&&e.querySelector(`[data-turn-chip-selected='true']`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},[H?.turnId,B]),(0,g.jsx)(ye,{mode:e,header:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`relative min-w-0 flex-1 overflow-hidden [-webkit-app-region:no-drag]`,children:[E&&(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-8 z-10 w-7 bg-linear-to-r from-card to-transparent`}),O&&(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-8 z-10 w-7 bg-linear-to-l from-card to-transparent`}),(0,g.jsx)(`button`,{type:`button`,className:o(`absolute left-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,E?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>$(-180),disabled:!E,"aria-label":`Scroll turn list left`,children:(0,g.jsx)(se,{className:`size-3.5`})}),(0,g.jsx)(`button`,{type:`button`,className:o(`absolute right-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,O?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>$(180),disabled:!O,"aria-label":`Scroll turn list right`,children:(0,g.jsx)(ce,{className:`size-3.5`})}),(0,g.jsxs)(`div`,{ref:w,className:`turn-chip-strip flex min-w-0 gap-1 overflow-x-auto px-8 py-0.5`,onWheel:Ve,children:[(0,g.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:Be,"data-turn-chip-selected":B===null,children:(0,g.jsx)(`div`,{className:o(`rounded-md border px-2 py-1 text-left transition-colors`,B===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,g.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`})})}),z.map(e=>(0,g.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:()=>ze(e.turnId),title:e.turnId,"data-turn-chip-selected":e.turnId===H?.turnId,children:(0,g.jsx)(`div`,{className:o(`rounded-md border px-2 py-1 text-left transition-colors`,e.turnId===H?.turnId?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn`,` `,e.checkpointTurnCount??R[e.turnId]??`?`]}),(0,g.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:fe(e.completedAt,f.timestampFormat)})]})})},e.turnId))]})]}),(0,g.jsxs)(`div`,{className:`flex min-w-fit shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[(0,g.jsxs)(xe,{className:`shrink-0`,variant:`outline`,size:`xs`,value:[m],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&y(t)},children:[(0,g.jsx)(p,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,g.jsx)(ie,{className:`size-3`})}),(0,g.jsx)(p,{"aria-label":`Split diff view`,value:`split`,children:(0,g.jsx)(re,{className:`size-3`})})]}),(0,g.jsx)(p,{"aria-label":b?`Disable diff line wrapping`:`Enable diff line wrapping`,title:b?`Disable line wrapping`:`Enable line wrapping`,variant:`outline`,size:`xs`,pressed:b,onPressedChange:e=>{x(!!e)},children:(0,g.jsx)(oe,{className:`size-3`})}),t&&(0,g.jsx)(`button`,{type:`button`,className:`ml-1 inline-flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:t,"aria-label":`Close diff panel`,children:(0,g.jsx)(ae,{className:`size-3.5`})})]})]}),children:N?I?z.length===0?(0,g.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,g.jsx)(g.Fragment,{children:(0,g.jsxs)(`div`,{ref:S,className:`diff-panel-viewport min-h-0 min-w-0 flex-1 overflow-hidden`,style:Te,children:[J&&!X&&(0,g.jsx)(`div`,{className:`px-3`,children:(0,g.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:J})}),X?X.kind===`files`?(0,g.jsxs)(`div`,{className:`relative h-full min-h-0`,children:[Le?(0,g.jsx)(_e,{label:`Loading the diff`}):null,(0,g.jsx)(`div`,{ref:C,className:`h-full min-h-0`,children:(0,g.jsx)(ue,{className:`diff-render-surface h-full min-h-0 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:Z.map(e=>{let t=v(e),n=`${Ee(e)}:${l}`;return(0,g.jsx)(`div`,{"data-diff-file-path":t,className:`diff-render-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(e=>e instanceof Element?e.hasAttribute(`data-title`):!1)&&Re(t)},children:(0,g.jsx)(de,{fileDiff:e,options:{diffStyle:m===`split`?`split`:`unified`,lineDiffType:`none`,overflow:b?`wrap`:`scroll`,theme:ve(l),themeType:l,unsafeCSS:we}})},n)})})})]}):(0,g.jsx)(`div`,{className:`h-full overflow-auto p-2`,children:(0,g.jsxs)(`div`,{className:`space-y-2`,children:[(0,g.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:X.reason}),(0,g.jsx)(`pre`,{className:o(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,b?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:X.text})]})}):q?(0,g.jsx)(d,{label:`Loading the diff`}):(0,g.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,g.jsx)(`p`,{children:Fe?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,g.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,g.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`})})}export{m as DiffWorkerPoolProvider,y as default};
|
|
64
|
+
//# sourceMappingURL=DiffPanel-Dj0UZJm3.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./vendor-react-BvVnE5E6.js";import{c as t}from"./vendor--lexical-react-Dg6NVZQt.js";import{P as n}from"./clientSettings-5THztvzS.js";import{r,t as i}from"./utils-D1UgimcN.js";import{K as a,m as o,p as s}from"./index-B58EBW6O.js";var c=/https?:\/\/[^\s"'`<>]+/g,l=/(?:~\/|\.{1,2}\/|\/|[A-Za-z]:[\\/]|\\\\)[^\s"'`<>]+|[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+(?::\d+){0,2}/g,u=/[.,;!?]+$/;function d(e){let t=e.replace(u,``);if(t.length===0)return t;let n=(e,n)=>{for(;t.endsWith(n);){if(t.split(e).length-1>=t.split(n).length-1)return;t=t.slice(0,-1)}};return n(`(`,`)`),n(`[`,`]`),n(`{`,`}`),t}function f(e,t){return e.start<t.end&&t.start<e.end}function p(e,t,n,r){let i=[];n.lastIndex=0;for(let a of e.matchAll(n)){let e=a[0],n=a.index??-1;if(n<0||e.length===0)continue;let o=d(e);if(o.length===0||t===`path`&&/^https?:\/\//i.test(o))continue;let s={kind:t,text:o,start:n,end:n+o.length};[...r,...i].some(e=>f(s,e))||i.push(s)}return i}function m(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function h(e){return e.startsWith(`/`)||m(e)}function g(e){return m(e)||/[A-Za-z]:\\/.test(e)}function _(e,t,n){let r=e.replace(/[\\/]+$/,``);return n===`\\`?`${r}\\${t.replaceAll(`/`,`\\`)}`:`${r}/${t.replace(/^\/+/,``)}`}function v(e){let t=e.match(/^\/Users\/([^/]+)/);if(t?.[1])return`/Users/${t[1]}`;let n=e.match(/^\/home\/([^/]+)/);if(n?.[1])return`/home/${n[1]}`;let r=e.match(/^([A-Za-z]:\\Users\\[^\\]+)/);if(r?.[1])return r[1]}function y(e){let t=e,n,r,i=t.match(/:(\d+)$/);if(!i?.[1])return{path:t,line:void 0,column:void 0};n=i[1],t=t.slice(0,-i[0].length);let a=t.match(/:(\d+)$/);return a?.[1]?(r=a[1],t=t.slice(0,-a[0].length)):(r=n,n=void 0),{path:t,line:r,column:n}}function b(e){let t=p(e,`url`,c,[]),n=p(e,`path`,l,t);return[...t,...n].toSorted((e,t)=>e.start-t.start)}function x(e,t=typeof navigator>`u`?``:navigator.platform){return t.length===0?!1:r(t)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function S(e,t){let{path:n,line:r,column:i}=y(e),a=n;if(n.startsWith(`~/`)){let e=v(t);if(e){let t=g(e)?`\\`:`/`;a=_(e,n.slice(2),t)}}else h(n)||(a=_(t,n,g(t)?`\\`:`/`));return r?`${a}:${r}${i?`:${i}`:``}`:a}var C={light:`pierre-light`,dark:`pierre-dark`};function w(e){return e===`dark`?C.dark:C.light}var T=2166136261,E=16777619,D=2654435769,O=2246822507;function k(e,t=T,n=E){let r=t>>>0;for(let t=0;t<e.length;t+=1)r^=e.charCodeAt(t),r=Math.imul(r,n)>>>0;return r>>>0}function A(e,t=`diff-panel`){let n=e.trim(),r=k(n,T,E).toString(36),i=k(n,D,O).toString(36);return`${t}:${n.length}:${r}:${i}`}var j=e(),M=t();function N(e){return i(`flex items-center justify-between gap-2 px-4`,n&&e!==`sheet`?`drag-region h-[52px] border-b border-border`:`h-12`)}function P(e){let t=(0,j.c)(10),r=n&&e.mode!==`sheet`,a=e.mode===`inline`?`w-[42vw] min-w-[360px] max-w-[560px] shrink-0 border-l border-border`:`w-full`,o;t[0]===a?o=t[1]:(o=i(`@container/diff-panel flex h-full min-w-0 flex-col overflow-hidden bg-background`,a),t[0]=a,t[1]=o);let s;t[2]!==e.header||t[3]!==e.mode||t[4]!==r?(s=r?(0,M.jsx)(`div`,{className:N(e.mode),children:e.header}):(0,M.jsx)(`div`,{className:`border-b border-border`,children:(0,M.jsx)(`div`,{className:N(e.mode),children:e.header})}),t[2]=e.header,t[3]=e.mode,t[4]=r,t[5]=s):s=t[5];let c;return t[6]!==e.children||t[7]!==o||t[8]!==s?(c=(0,M.jsxs)(`div`,{className:o,children:[s,e.children]}),t[6]=e.children,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function F(){let e=(0,j.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(a,{className:`absolute left-0 top-1/2 size-6 -translate-y-1/2 rounded-md border border-border/50`}),n=(0,M.jsx)(a,{className:`absolute right-0 top-1/2 size-6 -translate-y-1/2 rounded-md border border-border/50`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[t,n,(0,M.jsxs)(`div`,{className:`flex gap-1 overflow-hidden px-8 py-0.5`,children:[(0,M.jsx)(a,{className:`h-6 w-16 shrink-0 rounded-md`}),(0,M.jsx)(a,{className:`h-6 w-24 shrink-0 rounded-md`}),(0,M.jsx)(a,{className:`h-6 w-24 shrink-0 rounded-md max-sm:hidden`})]})]}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsxs)(M.Fragment,{children:[r,(0,M.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,M.jsx)(a,{className:`size-7 rounded-md`}),(0,M.jsx)(a,{className:`size-7 rounded-md`})]})]}),e[3]=i):i=e[3],i}function I(e){let t=(0,j.c)(7),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsx)(`div`,{className:`absolute inset-0 bg-linear-to-br from-background/25 via-transparent to-primary/5`}),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/50 px-3 py-2`,children:[(0,M.jsx)(`div`,{className:`h-4 w-28 rounded-full bg-foreground/[0.08]`}),(0,M.jsx)(`div`,{className:`ml-auto h-4 w-16 rounded-full bg-foreground/[0.07]`})]}),t[1]=r):r=t[1];let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsx)(z,{accentClassName:`bg-sky-400/45`,rows:[{id:`header`,width:`72%`},{id:`context-1`,width:`58%`,indent:`8%`},{id:`context-2`,width:`64%`,indent:`4%`},{id:`context-3`,width:`46%`,indent:`16%`}]}),t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsx)(z,{accentClassName:`bg-emerald-400/45`,rows:[{id:`header`,width:`68%`},{id:`addition-1`,width:`84%`,indent:`6%`},{id:`addition-2`,width:`56%`,indent:`12%`},{id:`addition-3`,width:`74%`,indent:`4%`}]}),t[3]=a):a=t[3];let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,M.jsxs)(`div`,{"aria-hidden":`true`,className:`relative min-h-0 flex-1 overflow-hidden rounded-md border border-border/60 bg-card/30`,children:[n,(0,M.jsxs)(`div`,{className:`absolute inset-0 scale-[1.015] blur-[3px]`,children:[r,(0,M.jsxs)(`div`,{className:`space-y-5 px-4 py-4 opacity-75`,children:[i,a,(0,M.jsx)(z,{accentClassName:`bg-rose-400/40`,rows:[{id:`header`,width:`62%`},{id:`deletion-1`,width:`52%`,indent:`10%`},{id:`deletion-2`,width:`79%`,indent:`2%`},{id:`deletion-3`,width:`48%`,indent:`14%`}]})]})]})]}),t[4]=o):o=t[4];let s;return t[5]===e.label?s=t[6]:(s=(0,M.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 overflow-hidden p-2`,children:[o,(0,M.jsx)(B,{label:e.label,className:`inset-2 rounded-md`})]}),t[5]=e.label,t[6]=s),s}function L(e){let t=(0,j.c)(7),n;t[0]===e.title?n=t[1]:(n=(0,M.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:e.title}),t[0]=e.title,t[1]=n);let r;t[2]===e.description?r=t[3]:(r=(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description}),t[2]=e.description,t[3]=r);let i;return t[4]!==n||t[5]!==r?(i=(0,M.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6 text-center`,children:(0,M.jsxs)(`div`,{className:`max-w-sm space-y-1.5`,children:[n,r]})}),t[4]=n,t[5]=r,t[6]=i):i=t[6],i}function R(e){let t=(0,j.c)(7),n;t[0]===e.title?n=t[1]:(n=(0,M.jsx)(`p`,{className:`text-sm font-medium text-destructive`,children:e.title}),t[0]=e.title,t[1]=n);let r;t[2]===e.description?r=t[3]:(r=(0,M.jsx)(`p`,{className:`break-words text-sm text-muted-foreground`,children:e.description}),t[2]=e.description,t[3]=r);let i;return t[4]!==n||t[5]!==r?(i=(0,M.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6 text-center`,children:(0,M.jsxs)(`div`,{className:`max-w-sm space-y-1.5 rounded-md border border-destructive/30 bg-destructive/5 px-4 py-3`,children:[n,r]})}),t[4]=n,t[5]=r,t[6]=i):i=t[6],i}function z(e){let t=(0,j.c)(7),n;if(t[0]!==e.accentClassName||t[1]!==e.rows){let r;t[3]===e.accentClassName?r=t[4]:(r=t=>(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(`div`,{className:i(`h-5 w-1 rounded-full`,e.accentClassName)}),(0,M.jsx)(`div`,{className:`h-2.5 rounded-full bg-foreground/[0.08]`,style:{marginLeft:t.indent??`0%`,width:t.width}})]},t.id),t[3]=e.accentClassName,t[4]=r),n=e.rows.map(r),t[0]=e.accentClassName,t[1]=e.rows,t[2]=n}else n=t[2];let r;return t[5]===n?r=t[6]:(r=(0,M.jsx)(`div`,{className:`rounded-md border border-border/35 bg-background/55 p-3`,children:(0,M.jsx)(`div`,{className:`space-y-2`,children:n})}),t[5]=n,t[6]=r),r}function B(e){let t=(0,j.c)(9),n;t[0]===e.className?n=t[1]:(n=i(`pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-card/55 backdrop-blur-sm`,e.className),t[0]=e.className,t[1]=n);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(s,{className:`size-3.5`}),t[2]=r):r=t[2];let a;t[3]===e.label?a=t[4]:(a=(0,M.jsxs)(`p`,{className:`flex items-center gap-1.5 text-sm text-muted-foreground`,children:[r,(0,M.jsx)(o,{children:e.label})]}),t[3]=e.label,t[4]=a);let c;return t[5]!==e.label||t[6]!==n||t[7]!==a?(c=(0,M.jsx)(`div`,{className:n,role:`status`,"aria-live":`polite`,"aria-label":e.label,children:a}),t[5]=e.label,t[6]=n,t[7]=a,t[8]=c):c=t[8],c}export{I as a,k as c,x as d,S as f,B as i,w as l,R as n,P as o,F as r,A as s,L as t,b as u};
|
|
2
|
+
//# sourceMappingURL=DiffPanelShell-xseg5JQo.js.map
|
package/dist/client/assets/{DiffWorkerPoolProvider-dhrEONTb.js → DiffWorkerPoolProvider-D6XJdZWI.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{c as r}from"./vendor--lexical-react-Dg6NVZQt.js";import{E as i}from"./store-
|
|
2
|
-
//# sourceMappingURL=DiffWorkerPoolProvider-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{c as r}from"./vendor--lexical-react-Dg6NVZQt.js";import{E as i}from"./store-KYb5gyLf.js";import{i as a,r as o,t as s}from"./vendor-diffs-CBk6gACd.js";import{l as c}from"./DiffPanelShell-xseg5JQo.js";import{t as l}from"./useTheme-D0lWhUH9.js";var u=n();function d(e){let t=(0,u.c)(6),n;bb0:{if(!e){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],n=e;break bb0}n=e.turnDiffSummaries}let r=n,a,o;t[1]===r?o=t[2]:(o=i(r),t[1]=r,t[2]=o),a=o;let s=a,c;return t[3]!==s||t[4]!==r?(c={turnDiffSummaries:r,inferredCheckpointTurnCountByTurnId:s},t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var f=e(t(),1),p=r();function m(e){let t=(0,u.c)(4),{themeName:n}=e,r=a(),i,o;return t[0]!==n||t[1]!==r?(i=()=>{if(!r)return;let e=r.getDiffRenderOptions();e.theme!==n&&r.setRenderOptions({...e,theme:n}).catch(h)},o=[n,r],t[0]=n,t[1]=r,t[2]=i,t[3]=o):(i=t[2],o=t[3]),(0,f.useEffect)(i,o),null}function h(){}function g(e){let t=(0,u.c)(10),{children:n}=e,{resolvedTheme:r}=l(),i;t[0]===r?i=t[1]:(i=c(r),t[0]=r,t[1]=i);let a=i,s,d=typeof navigator>`u`?4:Math.max(1,navigator.hardwareConcurrency||4);s=Math.max(2,Math.min(6,Math.floor(d/2)));let f=s,h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h={workerFactory:_,poolSize:f,totalASTLRUCacheSize:240},t[2]=h):h=t[2];let g,v;t[3]===a?(g=t[4],v=t[5]):(g={theme:a,tokenizeMaxLineLength:1e3},v=(0,p.jsx)(m,{themeName:a}),t[3]=a,t[4]=g,t[5]=v);let y;return t[6]!==n||t[7]!==g||t[8]!==v?(y=(0,p.jsxs)(o,{poolOptions:h,highlighterOptions:g,children:[v,n]}),t[6]=n,t[7]=g,t[8]=v,t[9]=y):y=t[9],y}function _(){return new s}export{d as n,g as t};
|
|
2
|
+
//# sourceMappingURL=DiffWorkerPoolProvider-D6XJdZWI.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./vendor-react-BvVnE5E6.js";import{C as t}from"./vendor-tanstack-DxB_J8A7.js";import{c as n}from"./vendor--lexical-react-Dg6NVZQt.js";import{P as r,s as i}from"./clientSettings-5THztvzS.js";import{i as a}from"./store-KYb5gyLf.js";import{t as o}from"./uiStateStore-CC1coFoR.js";import{Tr as s,vr as c}from"./vendor-ui-CJZCHXkp.js";import{n as l}from"./useSettings-CvQQz7AW.js";import{S as u,g as d,n as f}from"./useHandleNewThread-CRjy_n7m.js";import{B as p}from"./index-B58EBW6O.js";var m=e(),h=n();function g(e){let n=(0,m.c)(7),{thread:r}=e,i;n[0]===r.id?i=n[1]:(i={threadId:r.id},n[0]=r.id,n[1]=i);let a;n[2]===r.title?a=n[3]:(a=(0,h.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:r.title}),n[2]=r.title,n[3]=a);let o;return n[4]!==i||n[5]!==a?(o=(0,h.jsx)(t,{to:`/$threadId`,params:i,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition-colors hover:bg-accent`,children:a}),n[4]=i,n[5]=a,n[6]=o):o=n[6],o}function _(){let e=(0,m.c)(31),{defaultThreadEnvMode:t}=l(),{defaultProjectId:n,handleNewThread:g}=f(),_=o(S),C=a(x),w=a(b),T=l().sidebarThreadSortOrder,E,D,O,k,A,j;if(e[0]!==n||e[1]!==t||e[2]!==g||e[3]!==_||e[4]!==T||e[5]!==w||e[6]!==C){let a;bb0:{if(!n){a=[];break bb0}let t;e[13]!==n||e[14]!==w?(t=w[n]??[],e[13]=n,e[14]=w,e[15]=t):t=e[15];let r=t,i;e[16]===C?i=e[17]:(i=e=>C[e],e[16]=C,e[17]=i),a=u(r.map(i).filter(y),T).slice(0,5)}let o=a;k=`flex min-h-0 min-w-0 flex-1 flex-col bg-background text-muted-foreground/40`,e[18]===Symbol.for(`react.memo_cache_sentinel`)?(A=!r&&(0,h.jsx)(`header`,{className:`border-b border-border px-3 py-2 md:hidden`,children:(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(p,{className:`size-7 shrink-0`}),(0,h.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Threads`})]})}),j=r&&(0,h.jsx)(`div`,{className:`app-titlebar-window-controls-inset drag-region flex h-[52px] shrink-0 items-center border-b border-border px-5 [--app-titlebar-base-left-padding:1.25rem]`,children:(0,h.jsx)(`span`,{className:`text-xs text-muted-foreground/50`,children:`No active thread`})}),e[18]=A,e[19]=j):(A=e[18],j=e[19]),O=`flex flex-1 items-center justify-center p-6`,E=`max-w-sm text-center`,D=n?o.length>0?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{className:`text-sm text-foreground`,children:`Pick up where you left off`}),(0,h.jsx)(`div`,{className:`mt-4 flex flex-col gap-0.5 text-left`,children:o.map(v)}),(0,h.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-center gap-2`,children:[(0,h.jsxs)(i,{onClick:()=>void g(n,{envMode:d({defaultEnvMode:t})}),children:[(0,h.jsx)(s,{className:`size-4`}),`New Thread`]}),(0,h.jsxs)(i,{variant:`outline`,onClick:_,children:[(0,h.jsx)(c,{className:`size-4`}),`Open Another Folder`]})]})]}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{className:`text-sm text-foreground`,children:`Start a new thread to begin working in this project.`}),(0,h.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`You can also pick an existing thread from the sidebar at any time.`}),(0,h.jsxs)(`div`,{className:`mt-5 flex flex-wrap items-center justify-center gap-2`,children:[(0,h.jsxs)(i,{onClick:()=>void g(n,{envMode:d({defaultEnvMode:t})}),children:[(0,h.jsx)(s,{className:`size-4`}),`New Thread`]}),(0,h.jsxs)(i,{variant:`outline`,onClick:_,children:[(0,h.jsx)(c,{className:`size-4`}),`Open Another Folder`]})]})]}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{className:`text-sm text-foreground`,children:`Add a project folder to start your first thread.`}),(0,h.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Once a project is open, ShioriCode can create threads, pull requests, and workspace-aware drafts for it.`}),(0,h.jsx)(`div`,{className:`mt-5 flex flex-wrap items-center justify-center gap-2`,children:(0,h.jsxs)(i,{onClick:_,children:[(0,h.jsx)(c,{className:`size-4`}),`Open Folder`]})})]}),e[0]=n,e[1]=t,e[2]=g,e[3]=_,e[4]=T,e[5]=w,e[6]=C,e[7]=E,e[8]=D,e[9]=O,e[10]=k,e[11]=A,e[12]=j}else E=e[7],D=e[8],O=e[9],k=e[10],A=e[11],j=e[12];let M;e[20]!==E||e[21]!==D?(M=(0,h.jsx)(`div`,{className:E,children:D}),e[20]=E,e[21]=D,e[22]=M):M=e[22];let N;e[23]!==O||e[24]!==M?(N=(0,h.jsx)(`div`,{className:O,children:M}),e[23]=O,e[24]=M,e[25]=N):N=e[25];let P;return e[26]!==k||e[27]!==A||e[28]!==j||e[29]!==N?(P=(0,h.jsxs)(`div`,{className:k,children:[A,j,N]}),e[26]=k,e[27]=A,e[28]=j,e[29]=N,e[30]=P):P=e[30],P}function v(e){return(0,h.jsx)(g,{thread:e},e.id)}function y(e){return e!=null&&e.archivedAt===null}function b(e){return e.threadIdsByProjectId}function x(e){return e.sidebarThreadsById}function S(e){return e.requestProjectAdd}export{_ as t};
|
|
2
|
+
//# sourceMappingURL=NoActiveThreadState-CQmuWJhb.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{c as r}from"./vendor--lexical-react-Dg6NVZQt.js";import{s as i}from"./clientSettings-5THztvzS.js";import{t as a}from"./utils-D1UgimcN.js";import{t as o}from"./vendor-class-variance-authority-M1Ix6tns.js";import{At as s,Ct as c,Dt as l,Ft as u,It as d,Mt as f,Ot as p,Pt as m,St as h,Tt as g,Wt as _,bt as v,kt as y,l as b,nt as x,vt as S,wt as C,xt as w,yt as T,zt as E}from"./store-KYb5gyLf.js";import{A as D,C as O,D as k,E as A,Mn as j,O as M,S as N,T as P,b as F,k as I,or as L,rr as R,v as ee,w as z,x as B,y as V}from"./vendor-ui-CJZCHXkp.js";import{b as H,y as U}from"./index-B58EBW6O.js";var W=n(),G=r(),K=D,q=o(`relative inline-flex select-none items-center justify-between gap-2 border rounded-lg text-left text-base outline-none transition-[color,box-shadow,background-color] data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4`,{defaultVariants:{size:`default`,variant:`default`},variants:{variant:{default:`w-full min-w-36 border-input bg-background not-dark:bg-clip-padding text-foreground shadow-xs/5 ring-ring/24 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-data-disabled:not-focus-visible:not-aria-invalid:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 focus-visible:border-ring focus-visible:ring-[3px] aria-invalid:border-destructive/36 focus-visible:aria-invalid:border-destructive/64 focus-visible:aria-invalid:ring-destructive/16 dark:bg-input/32 dark:aria-invalid:ring-destructive/24 dark:not-data-disabled:not-focus-visible:not-aria-invalid:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] [&_svg:not([class*='opacity-'])]:opacity-80 [[data-disabled],:focus-visible,[aria-invalid],[data-pressed]]:shadow-none`,ghost:`border-transparent text-muted-foreground/70 focus-visible:ring-2 focus-visible:ring-ring data-pressed:bg-accent [:hover,[data-pressed]]:bg-accent [:hover,[data-pressed]]:text-foreground/80`},size:{default:`min-h-9 px-[calc(--spacing(3)-1px)] sm:min-h-8`,lg:`min-h-10 px-[calc(--spacing(3)-1px)] sm:min-h-9`,sm:`min-h-8 gap-1.5 px-[calc(--spacing(2.5)-1px)] sm:min-h-7`,xs:`h-7 gap-1 rounded-md px-[calc(--spacing(2)-1px)] text-sm before:rounded-[calc(var(--radius-md)-1px)] sm:h-6 sm:text-xs [&_svg:not([class*='size-'])]:size-4 sm:[&_svg:not([class*='size-'])]:size-3.5`}}});function J(e){let t=(0,W.c)(15),n,r,i,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4],s=t[5]):({className:r,size:o,variant:s,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=s);let c=o===void 0?`default`:o,l=s===void 0?`default`:s,u;t[6]!==r||t[7]!==c||t[8]!==l?(u=a(q({size:c,variant:l}),r),t[6]=r,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,G.jsx)(k,{"data-slot":`select-icon`,children:(0,G.jsx)(L,{className:`size-3 opacity-50`})}),t[10]=d):d=t[10];let f;return t[11]!==n||t[12]!==i||t[13]!==u?(f=(0,G.jsxs)(I,{className:u,"data-slot":`select-trigger`,...i,children:[n,d]}),t[11]=n,t[12]=i,t[13]=u,t[14]=f):f=t[14],f}function Y(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`flex-1 truncate data-placeholder:text-muted-foreground`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,G.jsx)(M,{className:i,"data-slot":`select-value`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function te(e){let t=(0,W.c)(38),n,r,i,o,s,c,l,u,d,f,p;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11]):({className:i,header:o,listClassName:s,children:r,side:l,sideOffset:u,align:d,alignOffset:f,alignItemWithTrigger:p,anchor:n,...c}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p);let m=l===void 0?`bottom`:l,h=u===void 0?4:u,g=d===void 0?`start`:d,_=f===void 0?0:f,v=p===void 0?!0:p,y;t[12]===o?y=t[13]:(y=o?(0,G.jsx)(`div`,{className:`border-b border-border p-1.5`,children:o}):null,t[12]=o,t[13]=y);let b;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,G.jsx)(ee,{className:`top-0 z-50 flex h-6 w-full cursor-default items-center justify-center before:pointer-events-none before:absolute before:inset-x-px before:top-px before:h-[200%] before:bg-linear-to-b before:from-50% before:from-popover`,"data-slot":`select-scroll-up-arrow`,children:(0,G.jsx)(R,{className:`relative size-4.5 sm:size-4`})}),t[14]=b):b=t[14];let x;t[15]!==i||t[16]!==s?(x=a(`max-h-(--available-height) overflow-y-auto p-1`,s,i),t[15]=i,t[16]=s,t[17]=x):x=t[17];let S;t[18]!==r||t[19]!==x?(S=(0,G.jsx)(O,{className:x,"data-slot":`select-list`,children:r}),t[18]=r,t[19]=x,t[20]=S):S=t[20];let C;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,G.jsx)(V,{className:`bottom-0 z-50 flex h-6 w-full cursor-default items-center justify-center before:pointer-events-none before:absolute before:inset-x-px before:bottom-px before:h-[200%] before:bg-linear-to-t before:from-50% before:from-popover`,"data-slot":`select-scroll-down-arrow`,children:(0,G.jsx)(L,{className:`relative size-4.5 sm:size-4`})}),t[21]=C):C=t[21];let w;t[22]===S?w=t[23]:(w=(0,G.jsxs)(`div`,{className:`relative`,children:[b,S,C]}),t[22]=S,t[23]=w);let T;t[24]!==w||t[25]!==y?(T=(0,G.jsxs)(`div`,{className:`relative h-full min-w-(--anchor-width) rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,children:[y,w]}),t[24]=w,t[25]=y,t[26]=T):T=t[26];let E;t[27]!==c||t[28]!==T?(E=(0,G.jsx)(z,{className:`origin-(--transform-origin) text-foreground`,"data-slot":`select-popup`,...c,children:T}),t[27]=c,t[28]=T,t[29]=E):E=t[29];let D;return t[30]!==g||t[31]!==v||t[32]!==_||t[33]!==n||t[34]!==m||t[35]!==h||t[36]!==E?(D=(0,G.jsx)(A,{children:(0,G.jsx)(P,{align:g,alignItemWithTrigger:v,alignOffset:_,anchor:n,className:`z-50 select-none`,"data-slot":`select-positioner`,side:m,sideOffset:h,children:E})}),t[30]=g,t[31]=v,t[32]=_,t[33]=n,t[34]=m,t[35]=h,t[36]=E,t[37]=D):D=t[37],D}function ne(e){let t=(0,W.c)(20),n,r,i,o;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4]):({className:r,children:n,hideIndicator:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o);let s=o===void 0?!1:o,c=s?`grid-cols-[1fr] ps-3 pe-3`:`grid-cols-[1rem_1fr] ps-2 pe-4`,l;t[5]!==r||t[6]!==c?(l=a(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center gap-2 rounded-sm py-1 text-base outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,c,r),t[5]=r,t[6]=c,t[7]=l):l=t[7];let u;t[8]===s?u=t[9]:(u=s?null:(0,G.jsx)(B,{className:`col-start-1`,"data-slot":`select-item-indicator`,children:(0,G.jsx)(`svg`,{fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`2`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/1500/svg`,children:(0,G.jsx)(`path`,{d:`M5.252 12.7 10.2 18.63 18.748 5.37`})})}),t[8]=s,t[9]=u);let d=s?`col-start-1`:`col-start-2`,f;t[10]===d?f=t[11]:(f=a(`min-w-0`,d),t[10]=d,t[11]=f);let p;t[12]!==n||t[13]!==f?(p=(0,G.jsx)(F,{className:f,"data-slot":`select-item-text`,children:n}),t[12]=n,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==i||t[16]!==l||t[17]!==u||t[18]!==p?(m=(0,G.jsxs)(N,{className:l,"data-slot":`select-item`,...i,children:[u,p]}),t[15]=i,t[16]=l,t[17]=u,t[18]=p,t[19]=m):m=t[19],m}var X=e(t(),1);function re(e){return e.available}var Z=U,ie=e=>{let t=(0,W.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,G.jsx)(`path`,{d:`M9.982 1.055a.75.75 0 0 1 .64.88l-.74 4.065h2.945a.75.75 0 0 1 .557 1.252L7.27 14.032a.75.75 0 0 1-1.31-.6l.848-4.682H3.75a.75.75 0 0 1-.546-1.264l5.523-5.657a.75.75 0 0 1 1.255.226Z`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=(0,G.jsx)(`svg`,{...e,viewBox:`0 0 16 16`,fill:`currentColor`,children:n}),t[1]=e,t[2]=r),r},Q=b.filter(re);function $(e,t){return e===`kimiCode`&&t.slug===`kimi2.7-code`?`Kimi 2.7 Code`:e===`glm`&&t.slug===`glm-5.2`?`GLM-5.2`:e===`glm`&&t.slug===`glm-5-turbo`?`GLM-5-Turbo`:e===`glm`&&t.slug===`glm-4.7`?`GLM-4.7`:t.name}function ae(e){return e===`kimiCode`}function oe(e){let t=(0,W.c)(24),n=e.searchEnabled?e.searchQuery:``,r;bb0:{if(!n){r=e.modelOptions;break bb0}let i;if(t[0]!==n||t[1]!==e.modelOptions){let r=n.toLowerCase();i=e.modelOptions.filter(e=>e.name.toLowerCase().includes(r)),t[0]=n,t[1]=e.modelOptions,t[2]=i}else i=t[2];r=i}let i=r,a;t[3]===e?a=t[4]:(a=e.searchEnabled?(0,G.jsx)(`div`,{className:`sticky top-0 z-10 bg-popover px-1 pb-1`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-input bg-transparent px-2 py-1.5`,children:[(0,G.jsx)(j,{className:`size-3.5 shrink-0 text-muted-foreground/60`}),(0,G.jsx)(`input`,{ref:e.searchInputRef,autoFocus:!0,type:`text`,value:e.searchQuery,placeholder:`Search models…`,className:`h-5 w-full min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground/50`,onChange:t=>e.onSearchChange(t.target.value),onKeyDown:se})]})}):null,t[3]=e,t[4]=a);let o=e.model,s;t[5]===e?s=t[6]:(s=t=>e.onModelChange(e.lockedProvider,t),t[5]=e,t[6]=s);let l;if(t[7]!==i||t[8]!==e.lockedProvider||t[9]!==e.onClose){let n;t[11]!==e.lockedProvider||t[12]!==e.onClose?(n=t=>(0,G.jsx)(C,{value:t.slug,onClick:e.onClose,children:$(e.lockedProvider,t)},`${e.lockedProvider}:${t.slug}`),t[11]=e.lockedProvider,t[12]=e.onClose,t[13]=n):n=t[13],l=i.map(n),t[7]=i,t[8]=e.lockedProvider,t[9]=e.onClose,t[10]=l}else l=t[10];let u;t[14]===i.length?u=t[15]:(u=i.length===0&&(0,G.jsx)(`div`,{className:`px-2 py-4 text-center text-sm text-muted-foreground/60`,children:`No models found`}),t[14]=i.length,t[15]=u);let d;t[16]!==e.model||t[17]!==s||t[18]!==l||t[19]!==u?(d=(0,G.jsx)(v,{children:(0,G.jsxs)(c,{value:o,onValueChange:s,children:[l,u]})}),t[16]=e.model,t[17]=s,t[18]=l,t[19]=u,t[20]=d):d=t[20];let f;return t[21]!==a||t[22]!==d?(f=(0,G.jsxs)(G.Fragment,{children:[a,d]}),t[21]=a,t[22]=d,t[23]=f):f=t[23],f}function se(e){return e.stopPropagation()}var ce=(0,X.memo)(function(e){let[t,n]=(0,X.useState)(!1),[r,o]=(0,X.useState)(``),b=(0,X.useRef)(null),D=e.lockedProvider??e.provider,O=e.modelOptionsByProvider[D],k=(()=>{let t=O.find(t=>t.slug===e.model);return t?$(D,t):e.model})(),A=Z[D],j=(0,X.useMemo)(()=>e.providers?m(e.providers,D):[],[D,e.providers]),M=(0,X.useMemo)(()=>f(j,e.model,D),[D,j,e.model]),N=M.supportsFastMode&&e.modelOptions?.fastMode===!0,P=()=>{if(!e.onModelOptionsChange||!M.supportsFastMode)return;let t=!N;t!==N&&x(t),e.onModelOptionsChange({...e.modelOptions,fastMode:t})},F=M.supportsFastMode&&e.onModelOptionsChange!==void 0,I=(0,X.useMemo)(()=>!e.modelOptions||!(`fastMode`in e.modelOptions)||e.modelOptions.fastMode!==!0?!1:M.supportsFastMode,[M.supportsFastMode,e.modelOptions]),R=(t,r)=>{if(e.disabled||!r)return;let i=_(t,r,e.modelOptionsByProvider[t]);i&&(e.onProviderModelChange(t,i),n(!1))};return(0,G.jsxs)(S,{open:t,onOpenChange:t=>{if(e.disabled){n(!1);return}n(t),t||o(``)},children:[(0,G.jsx)(s,{render:(0,G.jsx)(i,{size:`sm`,variant:e.triggerVariant??`ghost`,"data-chat-provider-model-picker":`true`,style:e.compact?{paddingInlineEnd:`12px`}:void 0,className:a(`group/provider-model-picker shrink-0 justify-start whitespace-nowrap px-2 font-normal data-pressed:bg-accent/60 sm:px-2.5 [&_svg]:mx-0`,e.triggerClassName),disabled:e.disabled}),children:(0,G.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,G.jsx)(`span`,{className:`relative flex size-3.5 shrink-0 items-center justify-center`,children:I?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(ie,{"aria-hidden":`true`,"data-chat-provider-model-picker-fast-icon":`true`,className:`size-3.5 shrink-0 text-muted-foreground/70 group-hover/provider-model-picker:opacity-0 group-focus-visible/provider-model-picker:opacity-0`}),(0,G.jsx)(A,{"aria-hidden":`true`,"data-chat-provider-model-picker-provider-icon":`true`,className:a(`absolute inset-0 size-3.5 shrink-0 opacity-0 group-hover/provider-model-picker:opacity-100 group-focus-visible/provider-model-picker:opacity-100`,H(D,`text-muted-foreground/70`),e.activeProviderIconClassName)})]}):(0,G.jsx)(A,{"aria-hidden":`true`,"data-chat-provider-model-picker-provider-icon":`true`,className:a(`size-3.5 shrink-0`,H(D,`text-muted-foreground/70`),e.activeProviderIconClassName)})}),(0,G.jsx)(`span`,{className:`shrink-0 whitespace-nowrap`,children:k}),e.effort?(0,G.jsx)(`span`,{className:`shrink-0 whitespace-nowrap text-muted-foreground/70`,children:e.effort.label}):null,(0,G.jsx)(L,{"aria-hidden":`true`,"data-chat-provider-model-picker-chevron":`true`,className:`size-2.5 shrink-0 opacity-70`})]})}),(0,G.jsxs)(h,{align:`start`,scrollFade:e.lockedProvider!==null,className:e.lockedProvider===null?void 0:`[--available-height:min(11rem,45vh)]`,children:[F?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(T,{variant:`switch`,checked:N,onClick:e=>{e.preventDefault(),P()},children:`Fast mode`}),(0,G.jsx)(g,{})]}):null,e.effort&&e.effort.levels.length>0&&!e.effort.locked?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(l,{children:[(0,G.jsxs)(y,{children:[(0,G.jsx)(`span`,{className:`flex-1`,children:`Intelligence`}),(0,G.jsx)(`span`,{className:`ms-auto text-muted-foreground/80 text-xs`,children:e.effort.label})]}),(0,G.jsx)(p,{className:`[--available-height:min(11rem,45vh)]`,sideOffset:4,children:(0,G.jsx)(c,{value:e.effort.value,onValueChange:t=>{e.effort?.onChange(t)},children:e.effort.levels.map(e=>(0,G.jsxs)(C,{value:e.value,children:[e.label,e.isDefault?` (default)`:``]},e.value))})})]}),(0,G.jsx)(g,{})]}):null,e.lockedProvider===null?(0,G.jsx)(G.Fragment,{children:Q.map(t=>{let r=Z[t.value],i=e.providers?d(e.providers,t.value):void 0;if(E(i))return null;let o=u(i);return o.selectable?(0,G.jsxs)(l,{children:[(0,G.jsxs)(y,{children:[(0,G.jsx)(r,{"aria-hidden":`true`,className:a(`size-4 shrink-0`,H(t.value,`text-muted-foreground/85`))}),t.label,o.badgeLabel?(0,G.jsx)(`span`,{className:`ms-auto text-[11px] text-muted-foreground/80 uppercase tracking-[0.08em]`,children:o.badgeLabel}):null]}),(0,G.jsx)(p,{className:`[--available-height:min(11rem,45vh)]`,sideOffset:4,children:(0,G.jsx)(v,{children:(0,G.jsx)(c,{value:e.provider===t.value?e.model:``,onValueChange:e=>R(t.value,e),children:e.modelOptionsByProvider[t.value].map(e=>(0,G.jsx)(C,{value:e.slug,onClick:()=>n(!1),children:$(t.value,e)},`${t.value}:${e.slug}`))})})})]},t.value):(0,G.jsxs)(w,{disabled:!0,children:[(0,G.jsx)(r,{"aria-hidden":`true`,className:a(`size-4 shrink-0 opacity-80`,H(t.value,`text-muted-foreground/85`))}),(0,G.jsx)(`span`,{children:t.label}),(0,G.jsx)(`span`,{className:`ms-auto text-[11px] text-muted-foreground/80 uppercase tracking-[0.08em]`,children:o.badgeLabel})]},t.value)})}):(0,G.jsx)(oe,{model:e.model,lockedProvider:e.lockedProvider,modelOptions:e.modelOptionsByProvider[e.lockedProvider],searchEnabled:ae(e.lockedProvider),searchQuery:r,searchInputRef:b,onSearchChange:o,onModelChange:R,onClose:()=>n(!1)})]})]})});export{te as a,q as c,ne as i,ce as n,J as o,K as r,Y as s,Q as t};
|
|
2
|
+
//# sourceMappingURL=ProviderModelPicker-Bze2CcYx.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t,si as n}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as r}from"./vendor-react-BvVnE5E6.js";import{C as i,m as a}from"./vendor-tanstack-DxB_J8A7.js";import{c as o}from"./vendor--lexical-react-Dg6NVZQt.js";import{C as s,D as c,O as l,P as u,f as d,h as f,s as p}from"./clientSettings-5THztvzS.js";import{C as m,S as h,_ as g,h as _,rt as v,t as y,u as b,w as x,x as S}from"./utils-D1UgimcN.js";import{$ as C,G as w,J as T,W as E,Y as D,i as O}from"./store-KYb5gyLf.js";import{Fn as k,Kr as A,Pn as j,Wn as M,Xn as N,i as P,n as F,or as ee,r as I,t as te,wn as ne,yr as re}from"./vendor-ui-CJZCHXkp.js";import{n as ie,r as ae}from"./useSettings-CvQQz7AW.js";import{t as oe}from"./input-DWDmgkdY.js";import{D as L,E as R,F as z,G as B,I as se,L as V,Mt as ce,P as H,Q as U,R as le,U as ue,W as de,Z as fe,d as pe,jt as me,m as he,nt as W,tt as ge}from"./index-B58EBW6O.js";import{t as _e}from"./assistantPersonalityOptions-BnBdEssM.js";import{a as ve,i as ye,n as be,o as xe,r as Se,s as Ce}from"./ProviderModelPicker-Bze2CcYx.js";import{a as G,i as K,o as we,r as Te,t as Ee}from"./empty-DrPVL67l.js";import{n as De,t as Oe}from"./collapsible--nYYN5Zg.js";var q=r(),J=o();function Y(e){let t=(0,q.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=y(`inline-flex h-[calc(var(--thumb-size)+2px)] w-[calc(var(--thumb-size)*2-2px)] shrink-0 cursor-pointer items-center rounded-full p-px outline-none transition-[background-color,box-shadow] duration-200 [--thumb-size:--spacing(5)] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background data-checked:bg-primary data-unchecked:bg-input data-disabled:cursor-not-allowed data-disabled:opacity-64 sm:[--thumb-size:--spacing(4)]`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(I,{className:y(`pointer-events-none block aspect-square h-full origin-left in-[[role=switch]:active,[data-slot=label]:active,[data-slot=field-label]:active]:not-data-disabled:scale-x-110 in-[[role=switch]:active,[data-slot=label]:active,[data-slot=field-label]:active]:rounded-[var(--thumb-size)/calc(var(--thumb-size)*1.1)] rounded-(--thumb-size) bg-background shadow-sm/5 will-change-transform [transition:translate_.15s,border-radius_.15s,scale_.1s_.1s,transform-origin_.15s] data-checked:origin-[var(--thumb-size)_50%] data-checked:translate-x-[calc(var(--thumb-size)-4px)]`),"data-slot":`switch-thumb`}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,J.jsx)(P,{className:i,"data-slot":`switch`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}function ke(e){let t=(0,q.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=y(`relative inline-flex size-4.5 shrink-0 items-center justify-center rounded-[.25rem] border border-input bg-background not-dark:bg-clip-padding shadow-xs/5 outline-none ring-ring transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[3px] not-data-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background aria-invalid:border-destructive/36 focus-visible:aria-invalid:border-destructive/64 focus-visible:aria-invalid:ring-destructive/48 data-disabled:opacity-64 sm:size-4 dark:not-data-checked:bg-input/32 dark:aria-invalid:ring-destructive/24 dark:not-data-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)] [[data-disabled],[data-checked],[aria-invalid]]:shadow-none`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(te,{className:`-inset-px absolute flex items-center justify-center rounded-[.25rem] text-primary-foreground data-unchecked:hidden data-checked:bg-primary data-indeterminate:text-foreground`,"data-slot":`checkbox-indicator`,render:Ae}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,J.jsx)(F,{className:i,"data-slot":`checkbox`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}function Ae(e,t){return(0,J.jsx)(`span`,{...e,children:t.indeterminate?(0,J.jsx)(`svg`,{className:`size-3.5 sm:size-3`,fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`3`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,children:(0,J.jsx)(`path`,{d:`M5.252 12h13.496`})}):(0,J.jsx)(`svg`,{className:`size-3.5 sm:size-3`,fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`3`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,children:(0,J.jsx)(`path`,{d:`M5.252 12.7 10.2 18.63 18.748 5.37`})})})}var X=e(t(),1),je=new Set;function Me(e){let t=(0,q.c)(17),{cwd:n,className:r}=e,i;t[0]===n?i=t[1]:(i=b(`/api/project-favicon`,{cwd:n}),t[0]=n,t[1]=i);let a=i,o;t[2]===a?o=t[3]:(o=()=>je.has(a)?`loaded`:`loading`,t[2]=a,t[3]=o);let[s,c]=(0,X.useState)(o),l;t[4]!==r||t[5]!==s?(l=s===`loaded`?null:(0,J.jsx)(re,{className:`size-3.5 shrink-0 text-muted-foreground/50 ${r??``}`}),t[4]=r,t[5]=s,t[6]=l):l=t[6];let u=`size-3.5 shrink-0 rounded-sm object-contain ${s===`loaded`?``:`hidden`} ${r??``}`,d;t[7]===a?d=t[8]:(d=()=>{je.add(a),c(`loaded`)},t[7]=a,t[8]=d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>c(`error`),t[9]=f):f=t[9];let p;t[10]!==a||t[11]!==u||t[12]!==d?(p=(0,J.jsx)(`img`,{src:a,alt:``,className:u,onLoad:d,onError:f}),t[10]=a,t[11]=u,t[12]=d,t[13]=p):p=t[13];let m;return t[14]!==l||t[15]!==p?(m=(0,J.jsxs)(J.Fragment,{children:[l,p]}),t[14]=l,t[15]=p,t[16]=m):m=t[16],m}var Ne={locale:`System default`,"12-hour":`12-hour`,"24-hour":`24-hour`},Pe={value:S,label:`System Sans`},Fe={value:g,label:`System Monospace`};function Ie(e,t,n){let r=[n,...e.map(e=>({value:e,label:e}))];return t!==n.value&&!r.some(e=>e.value===t)&&r.push({value:t,label:t}),r}function Le(e,t){let n=t.trim().toLocaleLowerCase();return n.length===0?[...e]:e.filter(e=>e.label.toLocaleLowerCase().includes(n))}var Re={kimiCode:{provider:`kimiCode`,title:`Kimi Code`,textFields:[{key:`binaryPath`,label:`Kimi binary path`,placeholder:`kimi`,description:`Path to the Kimi Code binary.`},{key:`shareDir`,label:`Kimi share directory`,placeholder:`Kimi share directory`,description:`Optional directory for Kimi Code shared runtime files.`}]},gemini:{provider:`gemini`,title:`Antigravity`,textFields:[{key:`binaryPath`,label:`Antigravity harness path`,placeholder:`localharness`,description:`Optional path to the Antigravity localharness runtime.`},{key:`googleCloudProject`,label:`Google Cloud project`,placeholder:`GOOGLE_CLOUD_PROJECT`,description:`Optional Vertex AI project used by the Antigravity SDK.`}]},glm:{provider:`glm`,title:`GLM`,textFields:[{key:`binaryPath`,label:`Claude Code binary path`,placeholder:`claude`,description:`Path to Claude Code used for GLM Coding Plan.`},{key:`apiBaseUrl`,label:`Anthropic API base URL`,placeholder:m,description:`Z.AI's Anthropic-compatible GLM Coding Plan endpoint.`},{key:`apiKey`,label:`API key`,placeholder:`zai-...`,inputType:`password`,description:`Your Z.AI GLM Coding Plan API key. Kept in local ShioriCode settings.`},{key:`apiKeyEnvVar`,label:`API key env var`,placeholder:x,description:`Optional fallback environment variable when the API key field is empty.`}]},cursor:{provider:`cursor`,title:`Cursor`,textFields:[{key:`binaryPath`,label:`Cursor agent binary path`,placeholder:`agent`,description:`Path to the Cursor agent binary.`},{key:`apiEndpoint`,label:`API endpoint`,placeholder:`Cursor API endpoint`,description:"Optional endpoint passed to `agent -e`."}]},codex:{provider:`codex`,title:`Codex`,textFields:[{key:`binaryPath`,label:`Codex binary path`,placeholder:`codex`,description:`Path to the Codex binary.`}],homePathKey:`codexHomePath`,homePlaceholder:`CODEX_HOME`,homeDescription:`Optional custom Codex home and config directory.`},claudeAgent:{provider:`claudeAgent`,title:`Claude`,textFields:[{key:`binaryPath`,label:`Claude binary path`,placeholder:`claude`,description:`Path to the Claude binary.`}]}},ze=Object.values(Re),Be={disabled:{dot:`bg-amber-400`},error:{dot:`bg-destructive`},ready:{dot:`bg-success`},warning:{dot:`bg-warning`}};function Ve(e,t){if(!e&&!t)return{headline:`Disabled`,detail:`This provider is disabled in ShioriCode settings.`};if(!e)return{headline:`Checking provider status`,detail:`Waiting for the server to report installation and authentication details.`};if(!e.enabled)return{headline:`Disabled`,detail:e.message??`This provider is installed but disabled for new sessions in ShioriCode.`};if(!e.installed)return{headline:`Not found`,detail:e.message??`CLI not detected on PATH.`};if(e.auth.status===`authenticated`){let t=e.auth.label??e.auth.type;return{headline:t?`Authenticated · ${t}`:`Authenticated`,detail:e.message??null}}return e.auth.status===`unauthenticated`?{headline:`Not authenticated`,detail:e.message??null}:e.status===`warning`?{headline:`Needs attention`,detail:e.message??`The provider is installed, but the server could not fully verify it.`}:e.status===`error`?{headline:`Unavailable`,detail:e.message??`The provider failed its startup checks.`}:{headline:`Available`,detail:e.message??`Installed and ready, but authentication could not be verified.`}}function He(e){return e?e.startsWith(`v`)?e:`v${e}`:null}function Ue(e,t,n){switch(t){case`kimiCode`:return n===`binaryPath`?e.kimiCode.binaryPath:n===`shareDir`?e.kimiCode.shareDir:null;case`gemini`:return n===`binaryPath`?e.gemini.binaryPath:n===`googleCloudProject`?e.gemini.googleCloudProject:null;case`glm`:return n===`binaryPath`?e.glm.binaryPath:n===`apiBaseUrl`?e.glm.apiBaseUrl:n===`apiKey`?e.glm.apiKey:n===`apiKeyEnvVar`?e.glm.apiKeyEnvVar:null;case`cursor`:return n===`binaryPath`?e.cursor.binaryPath:n===`apiEndpoint`?e.cursor.apiEndpoint:null;case`codex`:return n===`binaryPath`?e.codex.binaryPath:null;case`claudeAgent`:return n===`binaryPath`?e.claudeAgent.binaryPath:null}}function We(e,t,n,r){switch(t){case`kimiCode`:return n===`binaryPath`?{...e,kimiCode:{...e.kimiCode,binaryPath:r}}:n===`shareDir`?{...e,kimiCode:{...e.kimiCode,shareDir:r}}:e;case`gemini`:return n===`binaryPath`?{...e,gemini:{...e.gemini,binaryPath:r}}:n===`googleCloudProject`?{...e,gemini:{...e.gemini,googleCloudProject:r}}:e;case`glm`:return n===`binaryPath`?{...e,glm:{...e.glm,binaryPath:r}}:n===`apiBaseUrl`?{...e,glm:{...e.glm,apiBaseUrl:r}}:n===`apiKey`?{...e,glm:{...e.glm,apiKey:r}}:n===`apiKeyEnvVar`?{...e,glm:{...e.glm,apiKeyEnvVar:r}}:e;case`cursor`:return n===`binaryPath`?{...e,cursor:{...e.cursor,binaryPath:r}}:n===`apiEndpoint`?{...e,cursor:{...e.cursor,apiEndpoint:r}}:e;case`codex`:return n===`binaryPath`?{...e,codex:{...e.codex,binaryPath:r}}:e;case`claudeAgent`:return n===`binaryPath`?{...e,claudeAgent:{...e.claudeAgent,binaryPath:r}}:e}}function Ge(e,t,n){let r=[];for(let i of n??[]){let n=Ue(e,t,i.key);n!==null&&r.push({key:i.key,label:i.label,placeholder:i.placeholder,description:i.description,value:n})}return r}function Ke(e){let t=(0,q.c)(3),n=e===void 0?1e3:e,[r,i]=(0,X.useState)(qe),a,o;return t[0]===n?(a=t[1],o=t[2]):(a=()=>{let e=setInterval(()=>i(Date.now()),n);return()=>clearInterval(e)},o=[n],t[0]=n,t[1]=a,t[2]=o),(0,X.useEffect)(a,o),r}function qe(){return Date.now()}function Je(e){let t=(0,q.c)(5),{lastCheckedAt:n}=e;Ke();let r;t[0]===n?r=t[1]:(r=n?fe(n):null,t[0]=n,t[1]=r);let i=r;if(!i)return null;let a;return t[2]!==i.suffix||t[3]!==i.value?(a=(0,J.jsx)(`span`,{className:`text-[11px] text-muted-foreground/60`,children:i.suffix?(0,J.jsxs)(J.Fragment,{children:[`Checked `,(0,J.jsx)(`span`,{className:`font-mono tabular-nums`,children:i.value}),` `,i.suffix]}):(0,J.jsxs)(J.Fragment,{children:[`Checked `,i.value]})}),t[2]=i.suffix,t[3]=i.value,t[4]=a):a=t[4],a}function Z(e){let t=(0,q.c)(15),{title:n,icon:r,headerAction:i,children:a}=e,o;t[0]===n?o=t[1]:(o=(0,J.jsx)(`span`,{className:`truncate`,children:n}),t[0]=n,t[1]=o);let s;t[2]!==r||t[3]!==o?(s=(0,J.jsxs)(`h2`,{className:`flex min-w-0 items-center gap-1.5 text-[11px] font-medium text-muted-foreground`,children:[r,o]}),t[2]=r,t[3]=o,t[4]=s):s=t[4];let c;t[5]===i?c=t[6]:(c=i?(0,J.jsx)(`div`,{className:`shrink-0`,children:i}):null,t[5]=i,t[6]=c);let l;t[7]!==s||t[8]!==c?(l=(0,J.jsxs)(`div`,{className:`flex min-h-7 items-center justify-between gap-3`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=(0,J.jsx)(`div`,{className:`relative overflow-hidden rounded-lg border bg-card text-card-foreground shadow-xs/5 not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,children:a}),t[10]=a,t[11]=u);let d;return t[12]!==l||t[13]!==u?(d=(0,J.jsxs)(`section`,{className:`space-y-2.5`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function Q(e){let t=(0,q.c)(25),{title:n,description:r,status:i,resetAction:a,control:o,children:s}=e,c;t[0]===n?c=t[1]:(c=(0,J.jsx)(`h3`,{className:`min-w-0 text-sm font-medium text-foreground`,children:n}),t[0]=n,t[1]=c);let l;t[2]===a?l=t[3]:(l=(0,J.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:a}),t[2]=a,t[3]=l);let u;t[4]!==c||t[5]!==l?(u=(0,J.jsxs)(`div`,{className:`flex min-h-5 items-center gap-1.5`,children:[c,l]}),t[4]=c,t[5]=l,t[6]=u):u=t[6];let d;t[7]===r?d=t[8]:(d=(0,J.jsx)(`p`,{className:`max-w-[42rem] text-xs leading-5 text-muted-foreground`,children:r}),t[7]=r,t[8]=d);let f;t[9]===i?f=t[10]:(f=i?(0,J.jsx)(`div`,{className:`pt-1 text-[11px] text-muted-foreground`,children:i}):null,t[9]=i,t[10]=f);let p;t[11]!==u||t[12]!==d||t[13]!==f?(p=(0,J.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[u,d,f]}),t[11]=u,t[12]=d,t[13]=f,t[14]=p):p=t[14];let m;t[15]===o?m=t[16]:(m=o?(0,J.jsx)(`div`,{className:`flex w-full min-w-0 shrink-0 items-center gap-2 sm:min-w-48 sm:justify-end`,children:o}):null,t[15]=o,t[16]=m);let h;t[17]!==p||t[18]!==m?(h=(0,J.jsxs)(`div`,{className:`grid min-w-0 gap-3 sm:grid-cols-[minmax(0,1fr)_minmax(12rem,auto)] sm:items-center`,children:[p,m]}),t[17]=p,t[18]=m,t[19]=h):h=t[19];let g;t[20]===s?g=t[21]:(g=s?(0,J.jsx)(`div`,{className:`mt-3 min-w-0`,children:s}):null,t[20]=s,t[21]=g);let _;return t[22]!==h||t[23]!==g?(_=(0,J.jsxs)(`div`,{className:`min-h-[4.75rem] border-t border-border px-4 py-3.5 first:border-t-0 sm:px-5`,children:[h,g]}),t[22]=h,t[23]=g,t[24]=_):_=t[24],_}function $(e){let t=(0,q.c)(9),{label:n,onClick:r}=e,i=`Reset ${n} to default`,a;t[0]===r?a=t[1]:(a=e=>{e.stopPropagation(),r()},t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(j,{className:`size-3`}),t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==a?(s=(0,J.jsx)(B,{render:(0,J.jsx)(p,{size:`icon-xs`,variant:`ghost`,"aria-label":i,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:a,children:o})}),t[3]=i,t[4]=a,t[5]=s):s=t[5];let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(de,{side:`top`,children:`Reset to default`}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(0,J.jsxs)(ue,{children:[s,c]}),t[7]=s,t[8]=l),l}function Ye(e){let t=(0,q.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto [scrollbar-gutter:stable]`,children:(0,J.jsx)(`div`,{className:`mx-auto flex w-full max-w-[56rem] flex-col gap-5 px-4 py-5 sm:px-6 sm:py-6`,children:n})}),t[0]=n,t[1]=r),r}function Xe(){let e=(0,q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,J.jsx)(`span`,{children:`Version`}),(0,J.jsx)(`code`,{className:`text-[11px] font-medium text-muted-foreground`,children:me})]}),e[0]=t):t=e[0],t}function Ze(){let e=(0,q.c)(26),t=a(),n=L().data??null,r;e[0]!==t||e[1]!==n?(r=()=>{let e=window.desktopBridge;if(!e)return;let r=n?le(n):`none`;if(r===`download`){e.downloadUpdate().then(e=>{R(t,e.state)}).catch(et);return}if(r===`install`){if(!window.confirm(se(n??{availableVersion:null,downloadedVersion:null})))return;e.installUpdate().then(e=>{R(t,e.state)}).catch($e);return}typeof e.checkForUpdate==`function`&&e.checkForUpdate().then(e=>{R(t,e.state),e.checked||W.add({type:`error`,title:`Could not check for updates`,description:e.state.message??`Automatic updates are not available in this build.`})}).catch(Qe)},e[0]=t,e[1]=n,e[2]=r):r=e[2];let i=r,o;e[3]===n?o=e[4]:(o=n?le(n):`none`,e[3]=n,e[4]=o);let s=o,c;e[5]===n?c=e[6]:(c=n?z(n):null,e[5]=n,e[6]=c);let l=c,u;e[7]!==s||e[8]!==n?(u=s===`none`?!H(n):V(n),e[7]=s,e[8]=n,e[9]=u):u=e[9];let d=u,f;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(f={download:`Download`,install:`Install`},e[10]=f):f=e[10];let m=f,h;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(h={checking:`Checking…`,downloading:`Downloading…`,"up-to-date":`Up to Date`},e[11]=h):h=e[11];let g=h,_=m[s]??g[n?.status??``]??`Check for Updates`,v=s===`download`||s===`install`?`Update available.`:`Current version of the application.`,y;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(Xe,{}),e[12]=y):y=e[12];let b=s===`install`?`default`:`outline`,x;e[13]!==d||e[14]!==_||e[15]!==i||e[16]!==b?(x=(0,J.jsx)(B,{render:(0,J.jsx)(p,{size:`xs`,variant:b,disabled:d,onClick:i,children:_})}),e[13]=d,e[14]=_,e[15]=i,e[16]=b,e[17]=x):x=e[17];let S;e[18]===l?S=e[19]:(S=l?(0,J.jsx)(de,{children:l}):null,e[18]=l,e[19]=S);let C;e[20]!==x||e[21]!==S?(C=(0,J.jsxs)(ue,{children:[x,S]}),e[20]=x,e[21]=S,e[22]=C):C=e[22];let w;return e[23]!==v||e[24]!==C?(w=(0,J.jsx)(Q,{title:y,description:v,control:C}),e[23]=v,e[24]=C,e[25]=w):w=e[25],w}function Qe(e){W.add({type:`error`,title:`Could not check for updates`,description:e instanceof Error?e.message:`Update check failed.`})}function $e(e){W.add({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`Install failed.`})}function et(e){W.add({type:`error`,title:`Could not download update`,description:e instanceof Error?e.message:`Download failed.`})}var tt=`npm install --global shiori-cli`;function nt(){let e=(0,q.c)(15),[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(!1),a=u&&window.desktopBridge!==void 0,o,s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{if(!a||!window.desktopBridge)return;let e=!1;return i(!0),window.desktopBridge.getCompanionCliState().then(t=>{e||n(t)}).catch(t=>{e||n({status:`error`,version:null,binaryPath:null,lastError:t instanceof Error?t.message:`Failed to read CLI status.`,installCommand:tt})}).finally(()=>{e||i(!1)}),()=>{e=!0}},s=[a],e[0]=o,e[1]=s):(o=e[0],s=e[1]),(0,X.useEffect)(o,s);let c;e[2]===r?c=e[3]:(c=()=>{!window.desktopBridge||r||(i(!0),window.desktopBridge.installCompanionCli().then(e=>{n(e.state),e.completed||W.add({type:`error`,title:`Could not install Shiori CLI`,description:e.state.lastError??`Install failed.`})}).catch(e=>{let t=e instanceof Error?e.message:`Install failed.`;n(e=>({status:`error`,version:e?.version??null,binaryPath:e?.binaryPath??null,lastError:t,installCommand:e?.installCommand??tt})),W.add({type:`error`,title:`Could not install Shiori CLI`,description:t})}).finally(()=>{i(!1)}))},e[2]=r,e[3]=c);let l=c,d=t?.installCommand??tt,f=t?.status??`not-installed`,m=f===`installing`?`Installing...`:f===`installed`?`Reinstall`:`Install`,h;e[4]!==d||e[5]!==t||e[6]!==f?(h=(0,J.jsx)(`div`,{className:`space-y-1`,children:a?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`block`,children:f===`installed`?`Installed${t?.version?` · v${t.version}`:``}`:f===`installing`?`Installing companion CLI…`:`Not installed`}),t?.binaryPath?(0,J.jsx)(`code`,{className:`block break-all text-[11px] text-foreground`,children:t.binaryPath}):null,t?.lastError?(0,J.jsx)(`span`,{className:`block text-destructive`,children:t.lastError}):null,(0,J.jsx)(`code`,{className:`block break-all text-[11px] text-muted-foreground`,children:d})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`block`,children:`Desktop install is unavailable in the browser build.`}),(0,J.jsx)(`code`,{className:`block break-all text-[11px] text-foreground`,children:tt})]})}),e[4]=d,e[5]=t,e[6]=f,e[7]=h):h=e[7];let g;e[8]!==m||e[9]!==l||e[10]!==r?(g=u?(0,J.jsx)(p,{size:`xs`,variant:`outline`,disabled:r,onClick:l,children:m}):null,e[8]=m,e[9]=l,e[10]=r,e[11]=g):g=e[11];let _;return e[12]!==h||e[13]!==g?(_=(0,J.jsx)(Q,{title:`Shiori CLI`,description:"Install the companion `shiori` CLI for thread, session, and project commands.",status:h,control:g}),e[12]=h,e[13]=g,e[14]=_):_=e[14],_}function rt(e){let t=(0,q.c)(70),r=ie(),{resetSettings:i}=ae(),a=!n(r.textGenerationModelSelection??null,h.textGenerationModelSelection??null),o=!n(r.defaultModelSelection??null,h.defaultModelSelection??null),s;t[0]===r.providers?s=t[1]:(s=ze.some(e=>{let t=r.providers[e.provider],i=h.providers[e.provider];return!n(t,i)}),t[0]=r.providers,t[1]=s);let c=s,l,u;t[2]===r.themeMode?u=t[3]:(u=r.themeMode===h.themeMode?[]:[`Theme mode`],t[2]=r.themeMode,t[3]=u);let p;t[4]===r.lightThemeId?p=t[5]:(p=r.lightThemeId===h.lightThemeId?[]:[`Light theme`],t[4]=r.lightThemeId,t[5]=p);let m;t[6]===r.darkThemeId?m=t[7]:(m=r.darkThemeId===h.darkThemeId?[]:[`Dark theme`],t[6]=r.darkThemeId,t[7]=m);let g;t[8]===r.blurPersonalData?g=t[9]:(g=r.blurPersonalData===h.blurPersonalData?[]:[`Hide personal details`],t[8]=r.blurPersonalData,t[9]=g);let _;t[10]===r.composerVimMode?_=t[11]:(_=r.composerVimMode===h.composerVimMode?[]:[`Composer Vim mode`],t[10]=r.composerVimMode,t[11]=_);let v;t[12]===r.uiFontFamily?v=t[13]:(v=r.uiFontFamily===h.uiFontFamily?[]:[`UI font`],t[12]=r.uiFontFamily,t[13]=v);let y;t[14]===r.codeFontFamily?y=t[15]:(y=r.codeFontFamily===h.codeFontFamily?[]:[`Code font`],t[14]=r.codeFontFamily,t[15]=y);let b;t[16]===r.importedThemes.length?b=t[17]:(b=r.importedThemes.length>0?[`Imported themes`]:[],t[16]=r.importedThemes.length,t[17]=b);let x;t[18]===r.timestampFormat?x=t[19]:(x=r.timestampFormat===h.timestampFormat?[]:[`Time format`],t[18]=r.timestampFormat,t[19]=x);let S;t[20]===r.diffWordWrap?S=t[21]:(S=r.diffWordWrap===h.diffWordWrap?[]:[`Diff line wrapping`],t[20]=r.diffWordWrap,t[21]=S);let C;t[22]===r.enableAssistantStreaming?C=t[23]:(C=r.enableAssistantStreaming===h.enableAssistantStreaming?[]:[`Assistant output`],t[22]=r.enableAssistantStreaming,t[23]=C);let w;t[24]===r.generateMemories?w=t[25]:(w=r.generateMemories===h.generateMemories?[]:[`Memories`],t[24]=r.generateMemories,t[25]=w);let T;t[26]===r.assistantPersonality?T=t[27]:(T=r.assistantPersonality===`default`?[]:[`Assistant personality`],t[26]=r.assistantPersonality,t[27]=T);let E;t[28]===r.defaultThreadEnvMode?E=t[29]:(E=r.defaultThreadEnvMode===h.defaultThreadEnvMode?[]:[`New Thread mode`],t[28]=r.defaultThreadEnvMode,t[29]=E);let D;t[30]===o?D=t[31]:(D=o?[`Default model`]:[],t[30]=o,t[31]=D);let O;t[32]===r.confirmThreadDelete?O=t[33]:(O=r.confirmThreadDelete===h.confirmThreadDelete?[]:[`Delete confirmation`],t[32]=r.confirmThreadDelete,t[33]=O);let k;t[34]===r.quitWithoutConfirmation?k=t[35]:(k=r.quitWithoutConfirmation===h.quitWithoutConfirmation?[]:[`Quit confirmation`],t[34]=r.quitWithoutConfirmation,t[35]=k);let A;t[36]===r.onboarding?A=t[37]:(A=n(r.onboarding,h.onboarding)?[]:[`Onboarding`],t[36]=r.onboarding,t[37]=A);let j;t[38]===a?j=t[39]:(j=a?[`Git writing model`]:[],t[38]=a,t[39]=j);let M;t[40]===c?M=t[41]:(M=c?[`Providers`]:[],t[40]=c,t[41]=M);let N;t[42]!==x||t[43]!==S||t[44]!==C||t[45]!==w||t[46]!==T||t[47]!==E||t[48]!==D||t[49]!==O||t[50]!==k||t[51]!==A||t[52]!==u||t[53]!==j||t[54]!==M||t[55]!==p||t[56]!==m||t[57]!==g||t[58]!==_||t[59]!==v||t[60]!==y||t[61]!==b?(N=[...u,...p,...m,...g,..._,...v,...y,...b,...x,...S,...C,...w,...T,...E,...D,...O,...k,...A,...j,...M],t[42]=x,t[43]=S,t[44]=C,t[45]=w,t[46]=T,t[47]=E,t[48]=D,t[49]=O,t[50]=k,t[51]=A,t[52]=u,t[53]=j,t[54]=M,t[55]=p,t[56]=m,t[57]=g,t[58]=_,t[59]=v,t[60]=y,t[61]=b,t[62]=N):N=t[62],l=N;let P=l,F;t[63]!==P||t[64]!==e||t[65]!==i?(F=async()=>{P.length!==0&&await(f()??d()).dialogs.confirm([`Restore default settings?`,`This will reset: ${P.join(`, `)}.`].join(`
|
|
2
|
+
`))&&(i(),e?.())},t[63]=P,t[64]=e,t[65]=i,t[66]=F):F=t[66];let ee=F,I;return t[67]!==P||t[68]!==ee?(I={changedSettingLabels:P,restoreDefaults:ee},t[67]=P,t[68]=ee,t[69]=I):I=t[69],I}function it(){let e=ie(),{updateSettings:t}=ae(),r=(0,X.useMemo)(()=>ce(e.onboarding),[e.onboarding]),[a,o]=(0,X.useState)(null),[f,m]=(0,X.useState)(!1),[g,b]=(0,X.useState)(!1),[x,S]=(0,X.useState)(null),[O,k]=(0,X.useState)({kimiCode:e.providers.kimiCode.binaryPath!==h.providers.kimiCode.binaryPath||e.providers.kimiCode.shareDir!==h.providers.kimiCode.shareDir||e.providers.kimiCode.customModels.length>0,gemini:e.providers.gemini.binaryPath!==h.providers.gemini.binaryPath||e.providers.gemini.googleCloudProject!==h.providers.gemini.googleCloudProject||e.providers.gemini.customModels.length>0,glm:e.providers.glm.binaryPath!==h.providers.glm.binaryPath||e.providers.glm.apiBaseUrl!==h.providers.glm.apiBaseUrl||e.providers.glm.apiKey!==h.providers.glm.apiKey||e.providers.glm.apiKeyEnvVar!==h.providers.glm.apiKeyEnvVar||e.providers.glm.customModels.length>0,cursor:e.providers.cursor.binaryPath!==h.providers.cursor.binaryPath||e.providers.cursor.apiEndpoint!==h.providers.cursor.apiEndpoint||e.providers.cursor.customModels.length>0,codex:e.providers.codex.binaryPath!==h.providers.codex.binaryPath||e.providers.codex.homePath!==h.providers.codex.homePath||e.providers.codex.customModels.length>0,claudeAgent:e.providers.claudeAgent.binaryPath!==h.providers.claudeAgent.binaryPath||e.providers.claudeAgent.customModels.length>0}),[A,j]=(0,X.useState)(!1),P=(0,X.useRef)(!1),F=(0,X.useRef)({}),I=(0,X.useCallback)(()=>{P.current||(P.current=!0,j(!0),d().server.refreshProviders().catch(e=>{console.warn(`Failed to refresh providers`,e)}).finally(()=>{P.current=!1,j(!1)}))},[]),te=(0,X.useCallback)(e=>{o(e),d().onboarding.completeStep({stepId:e}).catch(e=>{W.add({type:`error`,title:`Could not complete onboarding step`,description:e instanceof Error?e.message:`The onboarding step could not be completed.`})}).finally(()=>{o(t=>t===e?null:t)})},[]),re=(0,X.useCallback)(()=>{m(!0),d().onboarding.reset().catch(e=>{W.add({type:`error`,title:`Could not reset onboarding`,description:e instanceof Error?e.message:`The onboarding progress could not be reset.`})}).finally(()=>{m(!1)})},[]),L=c(),R=s(),z=l(),se=e.providers.codex.homePath,V=D(e.defaultModelSelection,e,z),H=V.provider,U=V.model,le=V.options,fe=w(e,z,H,U),me=!n(e.defaultModelSelection??null,h.defaultModelSelection??null),ge=T(e,z),G=ge.provider,K=ge.model,we=ge.options,Te=_e.find(t=>t.value===e.assistantPersonality)??_e[0],Ee=w(e,z,G,K),q=!n(e.textGenerationModelSelection??null,h.textGenerationModelSelection??null),Ae=(0,X.useCallback)(()=>{if(!L)return;S(null),b(!0);let e=pe(R??[]);if(!e){S(`No available editors found.`),b(!1);return}d().shell.openInEditor(L,e).catch(e=>{S(e instanceof Error?e.message:`Unable to open keybindings file.`)}).finally(()=>{b(!1)})},[R,L]),je=(0,X.useCallback)((n,r)=>{t({providers:{...e.providers,[n]:{...e.providers[n],customModels:e.providers[n].customModels.filter(e=>e!==r)}}})},[e,t]),Me=ze.map(t=>{let r=z.find(e=>e.provider===t.provider),i=e.providers[t.provider],a=h.providers[t.provider],o=r?.status??(i.enabled?`warning`:`disabled`),s=Ve(r,i.enabled),c=i.customModels.map(e=>({slug:e,name:e,isCustom:!0,capabilities:null})),l=r?.models??c;return{provider:t.provider,title:t.title,textFields:Ge(e.providers,t.provider,t.textFields),homePathKey:t.homePathKey,homePlaceholder:t.homePlaceholder,homeDescription:t.homeDescription,isDirty:!n(i,a),liveProvider:r,models:l,providerConfig:i,statusStyle:Be[o],summary:s,versionLabel:He(r?.version)}}),Ne=z.length>0?z.reduce((e,t)=>t.checkedAt>e?t.checkedAt:e,z[0].checkedAt):null;return(0,J.jsxs)(Ye,{children:[(0,J.jsxs)(Z,{title:`Onboarding`,headerAction:void 0,children:[(0,J.jsx)(Q,{title:`Flow status`,description:`Track first-run setup and jump back into the guided welcome flow when you need it.`,status:r.completed?`All steps completed.`:`${r.completedCount}/${r.totalSteps} steps completed.`,control:(0,J.jsx)(p,{size:`xs`,variant:`outline`,disabled:f||r.completedCount===0,onClick:re,children:f?`Resetting...`:`Reset`})}),r.steps.map(e=>{let t=!e.completed&&r.currentStepId!==null&&r.currentStepId!==e.id,n=a===e.id;return(0,J.jsx)(Q,{title:e.title,description:e.description,status:e.completed?`Completed`:t?`Locked until previous steps are completed.`:`Current step`,control:(0,J.jsx)(p,{size:`xs`,variant:`outline`,disabled:e.completed||t||n,onClick:()=>te(e.id),children:e.completed?`Done`:n?`Saving...`:`Complete step`})},e.id)})]}),(0,J.jsxs)(Z,{title:`General`,children:[(0,J.jsx)(Q,{title:`Composer Vim mode`,description:`Use a lightweight Vim editing mode in the message composer.`,resetAction:e.composerVimMode===h.composerVimMode?null:(0,J.jsx)($,{label:`Composer Vim mode`,onClick:()=>t({composerVimMode:h.composerVimMode})}),control:(0,J.jsx)(Y,{checked:e.composerVimMode,onCheckedChange:e=>t({composerVimMode:!!e}),"aria-label":`Enable composer Vim mode`})}),(0,J.jsx)(Q,{title:`Assistant output`,description:`Show token-by-token output while a response is in progress.`,resetAction:e.enableAssistantStreaming===h.enableAssistantStreaming?null:(0,J.jsx)($,{label:`assistant output`,onClick:()=>t({enableAssistantStreaming:h.enableAssistantStreaming})}),control:(0,J.jsx)(Y,{checked:e.enableAssistantStreaming,onCheckedChange:e=>t({enableAssistantStreaming:!!e}),"aria-label":`Stream assistant messages`})}),(0,J.jsx)(Q,{title:`Memories`,description:`Ask supported runtimes to generate and refresh durable memories for future turns.`,resetAction:e.generateMemories===h.generateMemories?null:(0,J.jsx)($,{label:`memories`,onClick:()=>t({generateMemories:h.generateMemories})}),control:(0,J.jsx)(Y,{checked:e.generateMemories,onCheckedChange:e=>t({generateMemories:!!e}),"aria-label":`Generate memories`}),children:(0,J.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:`When enabled, ShioriCode adds a memory-generation overlay to provider prompts for runtimes that support persistent memories.`})}),(0,J.jsx)(Q,{title:`Assistant personality`,description:`Adds a tone appendix to ShioriCode, Codex, and Claude provider instructions.`,resetAction:e.assistantPersonality===`default`?null:(0,J.jsx)($,{label:`assistant personality`,onClick:()=>t({assistantPersonality:_})}),control:(0,J.jsxs)(Se,{value:e.assistantPersonality,onValueChange:e=>{(e===`default`||e===`friendly`||e===`sassy`||e===`coach`||e===`pragmatic`)&&t({assistantPersonality:e})},children:[(0,J.jsx)(xe,{className:`w-full sm:w-44`,"aria-label":`Assistant personality`,children:(0,J.jsx)(Ce,{children:Te.label})}),(0,J.jsx)(ve,{align:`end`,alignItemWithTrigger:!1,children:_e.map(e=>(0,J.jsx)(ye,{hideIndicator:!0,value:e.value,children:e.label},e.value))})]}),children:(0,J.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:Te.description})}),(0,J.jsx)(Q,{title:`New Threads`,description:`Pick the default workspace mode for newly created draft threads.`,resetAction:e.defaultThreadEnvMode===h.defaultThreadEnvMode?null:(0,J.jsx)($,{label:`new threads`,onClick:()=>t({defaultThreadEnvMode:h.defaultThreadEnvMode})}),control:(0,J.jsxs)(Se,{value:e.defaultThreadEnvMode,onValueChange:e=>{(e===`local`||e===`worktree`)&&t({defaultThreadEnvMode:e})},children:[(0,J.jsx)(xe,{className:`w-full sm:w-44`,"aria-label":`Default thread mode`,children:(0,J.jsx)(Ce,{children:e.defaultThreadEnvMode===`worktree`?`New worktree`:`Local`})}),(0,J.jsxs)(ve,{align:`end`,alignItemWithTrigger:!1,children:[(0,J.jsx)(ye,{hideIndicator:!0,value:`local`,children:`Local`}),(0,J.jsx)(ye,{hideIndicator:!0,value:`worktree`,children:`New worktree`})]})]})}),(0,J.jsx)(Q,{title:`Quit without asking`,description:`Skip the desktop quit confirmation window.`,resetAction:e.quitWithoutConfirmation===h.quitWithoutConfirmation?null:(0,J.jsx)($,{label:`quit confirmation`,onClick:()=>t({quitWithoutConfirmation:h.quitWithoutConfirmation})}),control:(0,J.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-foreground`,children:[(0,J.jsx)(ke,{checked:e.quitWithoutConfirmation,onCheckedChange:e=>t({quitWithoutConfirmation:!!e}),"aria-label":`Quit without asking`}),(0,J.jsx)(`span`,{className:`select-none`,children:`Quit without asking`})]})}),(0,J.jsx)(Q,{title:`Delete confirmation`,description:`Ask before deleting a thread and its chat history.`,resetAction:e.confirmThreadDelete===h.confirmThreadDelete?null:(0,J.jsx)($,{label:`delete confirmation`,onClick:()=>t({confirmThreadDelete:h.confirmThreadDelete})}),control:(0,J.jsx)(Y,{checked:e.confirmThreadDelete,onCheckedChange:e=>t({confirmThreadDelete:!!e}),"aria-label":`Confirm thread deletion`})}),(0,J.jsx)(nt,{}),(0,J.jsx)(Q,{title:`Default model`,description:`Choose the model new projects use by default for their first thread.`,resetAction:me?(0,J.jsx)($,{label:`default model`,onClick:()=>t({defaultModelSelection:h.defaultModelSelection})}):null,control:(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[(0,J.jsx)(be,{provider:H,model:U,lockedProvider:null,providers:z,modelOptionsByProvider:fe,modelOptions:le,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,onProviderModelChange:(n,r)=>{t({defaultModelSelection:D({provider:n,model:r},e,z)})}}),(0,J.jsx)(C,{provider:H,models:z.find(e=>e.provider===H)?.models??[],model:U,prompt:``,onPromptChange:()=>{},modelOptions:le,allowPromptInjectedEffort:!1,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,onModelOptionsChange:n=>{t({defaultModelSelection:D(E(H,U,n),e,z)})}})]})}),(0,J.jsx)(Q,{title:`Text generation model`,description:`Configure the model used for generated commit messages, PR titles, and similar Git text.`,resetAction:q?(0,J.jsx)($,{label:`text generation model`,onClick:()=>t({textGenerationModelSelection:h.textGenerationModelSelection})}):null,control:(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[(0,J.jsx)(be,{provider:G,model:K,lockedProvider:null,providers:z,modelOptionsByProvider:Ee,modelOptions:e.textGenerationModelSelection.options,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,onProviderModelChange:(n,r)=>{t({textGenerationModelSelection:T({...e,textGenerationModelSelection:{provider:n,model:r}},z)})}}),(0,J.jsx)(C,{provider:G,models:z.find(e=>e.provider===G)?.models??[],model:K,prompt:``,onPromptChange:()=>{},modelOptions:we,allowPromptInjectedEffort:!1,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,onModelOptionsChange:n=>{t({textGenerationModelSelection:T({...e,textGenerationModelSelection:E(G,K,n)},z)})}})]})})]}),(0,J.jsx)(Z,{title:`Providers`,headerAction:(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(Je,{lastCheckedAt:Ne}),(0,J.jsxs)(ue,{children:[(0,J.jsx)(B,{render:(0,J.jsx)(p,{size:A?`xs`:`icon-xs`,variant:`ghost`,className:y(`rounded-sm text-muted-foreground hover:text-foreground`,A?`px-2`:`size-5 p-0`),disabled:A,onClick:()=>void I(),"aria-label":`Refresh provider status`,children:A?(0,J.jsx)(he,{children:`Refreshing`}):(0,J.jsx)(N,{className:`size-3`})})}),(0,J.jsx)(de,{side:`top`,children:`Refresh provider status`})]})]}),children:Me.map(n=>{let r=v[n.provider]??n.title;return(0,J.jsxs)(`div`,{className:`border-t border-border first:border-t-0`,children:[(0,J.jsx)(`div`,{className:`px-4 py-4 sm:px-5`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,J.jsxs)(`div`,{className:`flex min-h-5 items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:y(`size-2 shrink-0 rounded-full`,n.statusStyle.dot)}),(0,J.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:r}),n.versionLabel?(0,J.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:n.versionLabel}):null,(0,J.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:n.isDirty?(0,J.jsx)($,{label:`${r} provider settings`,onClick:()=>{t({providers:{...e.providers,[n.provider]:h.providers[n.provider]}})}}):null})]}),(0,J.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,J.jsx)(`span`,{children:n.summary.headline}),n.summary.detail?` - ${n.summary.detail}`:null]})]}),(0,J.jsxs)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:[(0,J.jsx)(p,{size:`sm`,variant:`ghost`,className:`h-7 px-2 text-xs text-muted-foreground hover:text-foreground`,onClick:()=>k(e=>({...e,[n.provider]:!e[n.provider]})),"aria-label":`Toggle ${r} details`,children:(0,J.jsx)(ee,{className:y(`size-3.5 transition-transform`,O[n.provider]&&`rotate-180`)})}),(0,J.jsx)(Y,{checked:n.providerConfig.enabled,onCheckedChange:r=>{let i=!r&&G===n.provider;t({providers:{...e.providers,[n.provider]:{...e.providers[n.provider],enabled:!!r}},...i?{textGenerationModelSelection:h.textGenerationModelSelection}:{}})},"aria-label":`Enable ${r}`})]})]})}),(0,J.jsx)(Oe,{open:O[n.provider],onOpenChange:e=>k(t=>({...t,[n.provider]:e})),children:(0,J.jsx)(De,{children:(0,J.jsxs)(`div`,{className:`space-y-0`,children:[n.textFields.map(r=>(0,J.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,J.jsxs)(`label`,{htmlFor:`provider-install-${n.provider}-${r.key}`,className:`block`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:r.label}),(0,J.jsx)(oe,{id:`provider-install-${n.provider}-${r.key}`,className:`mt-1.5`,type:r.inputType??`text`,value:r.value,onChange:i=>t({providers:We(e.providers,n.provider,r.key,i.target.value)}),placeholder:r.placeholder,spellCheck:!1}),r.description?(0,J.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:r.description}):null]})},`${n.provider}:${r.key}`)),n.homePathKey?(0,J.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,J.jsxs)(`label`,{htmlFor:`provider-install-${n.homePathKey}`,className:`block`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`CODEX_HOME path`}),(0,J.jsx)(oe,{id:`provider-install-${n.homePathKey}`,className:`mt-1.5`,value:se,onChange:n=>t({providers:{...e.providers,codex:{...e.providers.codex,homePath:n.target.value}}}),placeholder:n.homePlaceholder,spellCheck:!1}),n.homeDescription?(0,J.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:n.homeDescription}):null]})}):null,(0,J.jsxs)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:[(0,J.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Models`}),(0,J.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[n.models.length,` model`,n.models.length===1?``:`s`,` available.`]}),(0,J.jsx)(`div`,{ref:e=>{F.current[n.provider]=e},className:`mt-2 max-h-40 overflow-y-auto pb-1`,children:n.models.map(e=>{let t=e.capabilities,r=[];t?.supportsFastMode&&r.push(`Fast mode`),t?.supportsThinkingToggle&&r.push(`Thinking`),t?.reasoningEffortLevels&&t.reasoningEffortLevels.length>0&&r.push(`Reasoning`);let i=r.length>0||e.name!==e.slug;return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-1`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-xs text-foreground/90`,children:e.name}),i?(0,J.jsxs)(ue,{children:[(0,J.jsx)(B,{render:(0,J.jsx)(`button`,{type:`button`,className:`shrink-0 text-muted-foreground/40 transition-colors hover:text-muted-foreground`,"aria-label":`Details for ${e.name}`}),children:(0,J.jsx)(ne,{className:`size-3`})}),(0,J.jsx)(de,{side:`top`,className:`max-w-56`,children:(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`code`,{className:`block text-[11px] text-foreground`,children:e.slug}),r.length>0?(0,J.jsx)(`div`,{className:`flex flex-wrap gap-x-2 gap-y-0.5`,children:r.map(e=>(0,J.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:e},e))}):null]})})]}):null,e.isCustom?(0,J.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`custom`}),(0,J.jsx)(`button`,{type:`button`,className:`text-muted-foreground transition-colors hover:text-foreground`,"aria-label":`Remove ${e.slug}`,onClick:()=>je(n.provider,e.slug),children:(0,J.jsx)(M,{className:`size-3`})})]}):null]},`${n.provider}:${e.slug}`)})})]})]})})})]},n.provider)})}),(0,J.jsx)(Z,{title:`Advanced`,children:(0,J.jsx)(Q,{title:`Keybindings`,description:"Open the persisted `keybindings.json` file to edit advanced bindings directly.",status:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`block break-all font-mono text-[11px] text-foreground`,children:L??`Resolving keybindings path...`}),x?(0,J.jsx)(`span`,{className:`mt-1 block text-destructive`,children:x}):(0,J.jsx)(`span`,{className:`mt-1 block`,children:`Opens in your preferred editor.`})]}),control:(0,J.jsx)(p,{size:`xs`,variant:`outline`,disabled:!L||g,onClick:Ae,children:g?`Opening...`:`Open file`})})}),(0,J.jsx)(Z,{title:`About`,children:u?(0,J.jsx)(Ze,{}):(0,J.jsx)(Q,{title:(0,J.jsx)(Xe,{}),description:`Current version of the application.`})}),(0,J.jsxs)(`footer`,{className:`pb-2 pt-4 text-center text-[11px] text-muted-foreground/60`,children:[(0,J.jsxs)(`p`,{children:[`© `,new Date().getFullYear(),` Shiori AI`]}),(0,J.jsx)(`p`,{className:`mt-1`,children:(0,J.jsx)(i,{to:`/settings/credits`,className:`underline decoration-muted-foreground/30 underline-offset-2 transition-colors hover:text-muted-foreground`,children:`Credits`})})]})]})}function at(){let e=O(e=>e.projects),t=O(e=>e.threads),n=ie(),{unarchiveThread:r,deleteThread:i,confirmAndDeleteThread:a}=ge(),o=(0,X.useMemo)(()=>[...new Map(e.map(e=>[e.id,e])).values()].map(e=>({project:e,threads:t.filter(t=>t.projectId===e.id&&t.archivedAt!==null).toSorted((e,t)=>{let n=e.archivedAt??e.createdAt;return(t.archivedAt??t.createdAt).localeCompare(n)||t.id.localeCompare(e.id)})})).filter(e=>e.threads.length>0),[e,t]),s=(0,X.useCallback)(async e=>{try{await r(e)}catch(e){W.add({type:`error`,title:`Failed to unarchive thread`,description:e instanceof Error?e.message:`An error occurred.`})}},[r]),c=(0,X.useCallback)(async e=>{try{await a(e)}catch(e){W.add({type:`error`,title:`Failed to delete thread`,description:e instanceof Error?e.message:`An error occurred.`})}},[a]),l=(0,X.useCallback)(async(e,t)=>{try{for(let e of t)await r(e.id)}catch(t){W.add({type:`error`,title:`Failed to unarchive archived threads for ${e}`,description:t instanceof Error?t.message:`An error occurred.`})}},[r]),u=(0,X.useCallback)(async(e,t)=>{let r=f();if(!r)return;let a=t.length;if(a!==0)try{if(n.confirmThreadDelete&&!await r.dialogs.confirm([`Delete all ${a} archived thread${a===1?``:`s`} in "${e}"?`,`This permanently clears conversation history for these threads.`].join(`
|
|
3
|
+
`)))return;let o=new Set(t.map(e=>e.id));for(let e of t)await i(e.id,{deletedThreadIds:o})}catch(t){W.add({type:`error`,title:`Failed to delete archived threads for ${e}`,description:t instanceof Error?t.message:`An error occurred.`})}},[n.confirmThreadDelete,i]),d=(0,X.useCallback)(async(e,t)=>{let n=f();if(!n)return;let r=await n.contextMenu.show([{id:`unarchive`,label:`Unarchive`},{id:`delete`,label:`Delete`,destructive:!0}],t);if(r===`unarchive`){await s(e);return}r===`delete`&&await c(e)},[c,s]);return(0,J.jsx)(Ye,{children:o.length===0?(0,J.jsx)(Z,{title:`Archived threads`,children:(0,J.jsxs)(Ee,{className:`min-h-88`,children:[(0,J.jsx)(G,{variant:`icon`,children:(0,J.jsx)(A,{})}),(0,J.jsxs)(K,{children:[(0,J.jsx)(we,{children:`No archived threads`}),(0,J.jsx)(Te,{children:`Archived threads will appear here.`})]})]})}):o.map(({project:e,threads:t})=>(0,J.jsx)(Z,{title:e.name,icon:(0,J.jsx)(Me,{cwd:e.cwd}),headerAction:(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(p,{type:`button`,variant:`destructive-outline`,size:`xs`,className:`cursor-pointer`,"aria-label":`Delete all archived threads for ${e.name}`,onClick:()=>void u(e.name,t),children:`Delete All`}),(0,J.jsx)(p,{type:`button`,variant:`outline`,size:`xs`,className:`cursor-pointer`,"aria-label":`Unarchive all threads for ${e.name}`,onClick:()=>void l(e.name,t),children:`Unarchive All`})]}),children:t.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border px-4 py-3 first:border-t-0 sm:px-5`,onContextMenu:t=>{t.preventDefault(),d(e.id,{x:t.clientX,y:t.clientY})},children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`h3`,{className:`truncate text-sm font-medium text-foreground`,children:e.title}),(0,J.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Archived `,U(e.archivedAt??e.createdAt),` · Created `,U(e.createdAt)]})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,J.jsxs)(p,{type:`button`,variant:`destructive-outline`,size:`sm`,className:`h-7 cursor-pointer gap-1.5 px-2.5`,"aria-label":`Delete archived thread ${e.title}`,onClick:()=>void c(e.id),children:[(0,J.jsx)(k,{className:`size-3.5`}),(0,J.jsx)(`span`,{children:`Delete`})]}),(0,J.jsxs)(p,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 cursor-pointer gap-1.5 px-2.5`,onClick:()=>void s(e.id),children:[(0,J.jsx)(A,{className:`size-3.5`}),(0,J.jsx)(`span`,{children:`Unarchive`})]})]})]},e.id))},e.id))})}export{Ye as a,Ne as c,rt as d,ke as f,it as i,Ie as l,Fe as n,Q as o,Y as p,Pe as r,Z as s,at as t,Le as u};
|
|
4
|
+
//# sourceMappingURL=SettingsPanels-DqCqBUI7.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{y as r}from"./vendor-tanstack-DxB_J8A7.js";import{c as i}from"./vendor--lexical-react-Dg6NVZQt.js";import{E as a,h as o,w as s}from"./clientSettings-5THztvzS.js";import"./vendor-effect-Chd9hYxF.js";import{a as c,ot as l}from"./utils-D1UgimcN.js";import{Lt as u,O as d,g as f,h as p,i as m,m as h,o as g,ot as _}from"./store-KYb5gyLf.js";import{n as v,r as y}from"./terminalStateStore-DBL14uZB.js";import"./uiStateStore-CC1coFoR.js";import"./vendor-ui-CJZCHXkp.js";import{n as b}from"./useSettings-CvQQz7AW.js";import{g as x,n as S}from"./useHandleNewThread-CRjy_n7m.js";import{Ct as C,Ot as w,k as T}from"./index-B58EBW6O.js";import{n as E}from"./queuedTurnsStore-CIDk30NZ.js";var D=n(),O=e(t(),1),k=[];function A(e,t){return e.provider===t.provider&&e.model===t.model&&JSON.stringify(e.options??null)===JSON.stringify(t.options??null)}function j(e){let t=u(e.providerStatuses,e.provider);if(t)throw Error(t)}async function M(e){let t=o();if(!t)throw Error(`Native API not found`);for(let n of e.commands)await t.orchestration.dispatchCommand(n)}function N(e){let t=[];return A(e.thread.modelSelection,e.queuedTurn.modelSelection)||t.push({type:`thread.meta.update`,commandId:c(),threadId:e.queuedTurn.threadId,modelSelection:e.queuedTurn.modelSelection}),e.thread.runtimeMode!==e.queuedTurn.runtimeMode&&t.push({type:`thread.runtime-mode.set`,commandId:c(),threadId:e.queuedTurn.threadId,runtimeMode:e.queuedTurn.runtimeMode,createdAt:e.dispatchCreatedAt}),e.thread.interactionMode!==e.queuedTurn.interactionMode&&t.push({type:`thread.interaction-mode.set`,commandId:c(),threadId:e.queuedTurn.threadId,interactionMode:e.queuedTurn.interactionMode,createdAt:e.dispatchCreatedAt}),t.push({type:`thread.turn.start`,commandId:c(),threadId:e.queuedTurn.threadId,message:{messageId:l.makeUnsafe(e.queuedTurn.messageId),role:`user`,text:e.queuedTurn.text,attachments:e.queuedTurn.attachments},modelSelection:e.queuedTurn.modelSelection,titleSeed:e.queuedTurn.titleSeed,runtimeMode:e.queuedTurn.runtimeMode,interactionMode:e.queuedTurn.interactionMode,...e.queuedTurn.goalIntent?{goalIntent:e.queuedTurn.goalIntent}:{},createdAt:e.dispatchCreatedAt}),t}function P(e){let t=e.queuedTurns[0];if(!t)return{kind:`none`};if(e.thread.messages.some(e=>String(e.id)===t.messageId)){if(!e.pendingLocalDispatch)return{kind:`remove-acknowledged`,queuedTurnId:t.id};let n=e.thread.session?.orchestrationStatus??null;return g({localDispatch:e.pendingLocalDispatch,phase:f(e.thread.session??null),latestTurn:e.thread.latestTurn,activities:e.thread.activities,hasPendingApproval:n===`running`&&h(e.thread.activities).length>0,hasPendingUserInput:n===`running`&&p(e.thread.activities).length>0,threadError:e.thread.error})?{kind:`remove-acknowledged`,queuedTurnId:t.id}:{kind:`none`}}return e.thread.archivedAt===null?t.status!==`queued`||e.pendingLocalDispatch||e.thread.session?.status===`connecting`||d(e.thread.latestTurn,e.thread.session)?{kind:`none`}:{kind:`dispatch`,queuedTurn:t}:{kind:`clear-thread`}}function F(){let e=(0,D.c)(17),t=m(W),n=m(U),r=_(H),i=s();i?.providers;let a;a=i?.providers??k;let c=a,l=E(V),u=E(B),d=E(z),f=E(R),p=E(L),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=new Map,e[0]=h):h=e[0];let g=(0,O.useRef)(h),v,y;e[1]!==p||e[2]!==r||e[3]!==l||e[4]!==t?(v=()=>{let e=new Set([...t.map(I),...Object.keys(r)]);for(let t of Object.keys(l))if(!e.has(t)){for(let e of l[t]??[])g.current.delete(e.id);p(t)}},y=[p,r,l,t],e[1]=p,e[2]=r,e[3]=l,e[4]=t,e[5]=v,e[6]=y):(v=e[5],y=e[6]),(0,O.useEffect)(v,y);let b,x;return e[7]!==p||e[8]!==f||e[9]!==d||e[10]!==c||e[11]!==l||e[12]!==u||e[13]!==n||e[14]!==t?(b=()=>{if(o())for(let e of t){let t=l[e.id]??[],r=t[0]?.id??null,i=P({thread:e,queuedTurns:t,pendingLocalDispatch:r===null?null:g.current.get(r)??null});if(i.kind===`none`)continue;if(i.kind===`clear-thread`){for(let e of t)g.current.delete(e.id);p(e.id);continue}if(i.kind===`remove-acknowledged`){g.current.delete(i.queuedTurnId),u(e.id,i.queuedTurnId);continue}let a=i.queuedTurn,o=new Date().toISOString();g.current.set(a.id,{startedAt:o,preparingWorktree:!1,latestTurnTurnId:e.latestTurn?.turnId??null,latestTurnRequestedAt:e.latestTurn?.requestedAt??null,latestTurnStartedAt:e.latestTurn?.startedAt??null,latestTurnCompletedAt:e.latestTurn?.completedAt??null}),d(e.id,a.id),(async()=>{try{j({provider:a.modelSelection.provider,providerStatuses:c}),await M({commands:N({queuedTurn:a,thread:e,dispatchCreatedAt:o})}),n(a.threadId,null)}catch(e){let t=e;g.current.delete(a.id);let r=t instanceof Error?t.message:`Failed to send queued message.`;n(a.threadId,r),f(a.threadId,a.id,r)}})()}},x=[p,f,d,c,l,u,n,t],e[7]=p,e[8]=f,e[9]=d,e[10]=c,e[11]=l,e[12]=u,e[13]=n,e[14]=t,e[15]=b,e[16]=x):(b=e[15],x=e[16]),(0,O.useEffect)(b,x),null}function I(e){return e.id}function L(e){return e.clearQueuedTurns}function R(e){return e.markQueuedTurnFailed}function z(e){return e.markQueuedTurnSending}function B(e){return e.removeQueuedTurn}function V(e){return e.queuedTurnsByThreadId}function H(e){return e.draftThreadsByThreadId}function U(e){return e.setError}function W(e){return e.threads}var G=i();function K(){let e=(0,D.c)(27),t=T(J),n=T(q),{activeDraftThread:r,activeThread:i,defaultProjectId:o,handleNewThread:s,routeThreadId:c}=S(),l=a(),u;e[0]===c?u=e[1]:(u=e=>c?v(e.terminalStateByThreadId,c).terminalOpen:!1,e[0]=c,e[1]=u);let d=y(u),f=b(),p;e[2]!==r?.branch||e[3]!==r?.envMode||e[4]!==r?.projectId||e[5]!==r?.worktreePath||e[6]!==i?.branch||e[7]!==i?.projectId||e[8]!==i?.worktreePath||e[9]!==f.defaultThreadEnvMode||e[10]!==t||e[11]!==o||e[12]!==s||e[13]!==l||e[14]!==n||e[15]!==d?(p=()=>{let e=e=>{if(e.defaultPrevented)return;if(e.key===`Escape`&&n>0){e.preventDefault(),t();return}let a=i?.projectId??r?.projectId??o;if(!a)return;let c=C(e,l,{context:{terminalFocus:w(),terminalOpen:d}});if(c===`chat.newLocal`){e.preventDefault(),e.stopPropagation(),s(a,{envMode:x({defaultEnvMode:f.defaultThreadEnvMode})});return}if(c===`chat.new`){e.preventDefault(),e.stopPropagation(),s(a,{branch:i?.branch??r?.branch??null,worktreePath:i?.worktreePath??r?.worktreePath??null,envMode:r?.envMode??(i?.worktreePath?`worktree`:`local`)});return}};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},e[2]=r?.branch,e[3]=r?.envMode,e[4]=r?.projectId,e[5]=r?.worktreePath,e[6]=i?.branch,e[7]=i?.projectId,e[8]=i?.worktreePath,e[9]=f.defaultThreadEnvMode,e[10]=t,e[11]=o,e[12]=s,e[13]=l,e[14]=n,e[15]=d,e[16]=p):p=e[16];let m;return e[17]!==r||e[18]!==i||e[19]!==f.defaultThreadEnvMode||e[20]!==t||e[21]!==o||e[22]!==s||e[23]!==l||e[24]!==n||e[25]!==d?(m=[r,i,t,s,l,o,n,d,f.defaultThreadEnvMode],e[17]=r,e[18]=i,e[19]=f.defaultThreadEnvMode,e[20]=t,e[21]=o,e[22]=s,e[23]=l,e[24]=n,e[25]=d,e[26]=m):m=e[26],(0,O.useEffect)(p,m),null}function q(e){return e.selectedThreadIds.size}function J(e){return e.clearSelection}function Y(){let e=(0,D.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(K,{}),(0,G.jsx)(F,{}),(0,G.jsx)(r,{})]}),e[0]=t):t=e[0],t}export{Y as component};
|
|
2
|
+
//# sourceMappingURL=_chat-CKouNPVs.js.map
|