shioricode 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -1
- package/dist/BunHttpServer-BvXfeDdm.cjs +375 -0
- package/dist/BunPTY-l5TwbZzE.cjs +91 -0
- package/dist/BunServices-07vLsX26.cjs +74 -0
- package/dist/NodeHttpServer-OQzpZjfj.cjs +4142 -0
- package/dist/NodePTY-BNeKL1sW.cjs +86 -0
- package/dist/NodeSqliteClient-K1HOOjni.cjs +147 -0
- package/dist/SqlError-UTW5yuSG.cjs +262 -0
- package/dist/SqliteClient-CVOnk2wf.cjs +125 -0
- package/dist/bin.cjs +703700 -0
- package/dist/bin.mjs +386 -142
- package/dist/client/apple-touch-icon.png +0 -0
- package/dist/client/assets/{ArtifactPanel-BPQ8FX7l.js → ArtifactPanel-ClA97FO8.js} +2 -2
- package/dist/client/assets/{ChatMarkdown-jcE8Pq97.js → ChatMarkdown-DkldD1_B.js} +2 -2
- package/dist/client/assets/{DiffPanel-CPmbtIC0.js → DiffPanel-BYSH-G7M.js} +2 -2
- package/dist/client/assets/{DiffPanelShell-CqS9jPrk.js → DiffPanelShell-Ce2wOE9L.js} +2 -2
- package/dist/client/assets/{DiffWorkerPoolProvider-CEnxoS9v.js → DiffWorkerPoolProvider-DjSdGkRQ.js} +2 -2
- package/dist/client/assets/{NoActiveThreadState-Bt_jFQ4-.js → NoActiveThreadState-CVDfDuF2.js} +2 -2
- package/dist/client/assets/{ProviderModelPicker-BRDu3BzU.js → ProviderModelPicker-BFlX8lZL.js} +2 -2
- package/dist/client/assets/{SettingsPanels-BX2dAbn4.js → SettingsPanels-_8_YaXgc.js} +2 -2
- package/dist/client/assets/{_chat-C_aCgqFw.js → _chat-CQ5UewiP.js} +2 -2
- package/dist/client/assets/{_chat._threadId-DLIOcnXQ.js → _chat._threadId-5846z-_l.js} +5 -5
- package/dist/client/assets/{_chat.index-B9u7xlCv.js → _chat.index-DI7egWLc.js} +2 -2
- package/dist/client/assets/{automations-CJVFqqLv.js → automations-D6SQKJ83.js} +2 -2
- package/dist/client/assets/{dialog-BwIZs3EF.js → dialog-CZ2IjObB.js} +2 -2
- package/dist/client/assets/{index-DKZPXV4a.js → index-B42nGfCf.js} +4 -4
- package/dist/client/assets/{pull-requests-CQHYo-fV.js → pull-requests-DGa0NhIZ.js} +2 -2
- package/dist/client/assets/{settings-i7-rb7s9.js → settings-BwPioqTL.js} +2 -2
- package/dist/client/assets/{settings.appearance-Dwkl1cOq.js → settings.appearance-DxQzPuf5.js} +2 -2
- package/dist/client/assets/{settings.archived-DZPSjNZJ.js → settings.archived-BSqIxOKY.js} +2 -2
- package/dist/client/assets/{settings.computer-use-CLy6GP7W.js → settings.computer-use-DuuUffvc.js} +2 -2
- package/dist/client/assets/{settings.general-CuNCor2d.js → settings.general-DjIbwGSI.js} +2 -2
- package/dist/client/assets/{settings.mcp-DwWQDGSB.js → settings.mcp-CHZOA1L-.js} +2 -2
- package/dist/client/assets/{settings.mobile-B73fICiz.js → settings.mobile-D3UiSzxp.js} +2 -2
- package/dist/client/assets/{settings.plugins-BjW05gj4.js → settings.plugins-qo7Fls2x.js} +2 -2
- package/dist/client/assets/{settings.remote-D_iWhzEN.js → settings.remote-CmdhJhKY.js} +2 -2
- package/dist/client/assets/{settings.skills-BCB4uvnE.js → settings.skills-UB5Wtkl5.js} +2 -2
- package/dist/client/assets/{settings.theme-builder-CS2XB4es.js → settings.theme-builder-CnwNYRga.js} +2 -2
- package/dist/client/favicon-16x16.png +0 -0
- package/dist/client/favicon-32x32.png +0 -0
- package/dist/client/favicon.ico +0 -0
- package/dist/client/index.html +1 -1
- package/package.json +38 -5
package/dist/client/assets/{settings.theme-builder-CS2XB4es.js → settings.theme-builder-CnwNYRga.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"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{C as r}from"./vendor-tanstack-CM5SpFmF.js";import{c as i}from"./vendor--lexical-react-B6TeCrpE.js";import{s as a}from"./clientSettings-DFgmWajw.js";import"./vendor-effect-Chd9hYxF.js";import{O as o,t as s}from"./utils-B-Di8CjF.js";import"./store-LT9wKN7R.js";import"./terminalStateStore-B-V7Awi_.js";import"./uiStateStore-CgvPrTF8.js";import{Cr as c,Dr as l,Ln as u,er as d,ir as f,kr as p,sr as m}from"./vendor-ui-Ds9VgrYb.js";import"./useSettings-CaigvboL.js";import"./useHandleNewThread-Chs2blac.js";import"./gitReactQuery-BxToLb49.js";import{t as h}from"./input-CthhcRBE.js";import{it as g}from"./index-DKZPXV4a.js";import{n as _,t as v}from"./useTheme-7QjQMsSZ.js";import{a as y,i as b,o as x,r as S,s as ee}from"./ProviderModelPicker-BRDu3BzU.js";import"./empty-CwEqZDMX.js";import{n as C,r as w,t as T}from"./collapsible-BEW6Xu4N.js";import{a as E,o as D,s as O}from"./SettingsPanels-BX2dAbn4.js";var te=n(),k=e(t(),1),A=i(),j=[{label:`Base`,description:`Main application background and text colors.`,tokens:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`}]},{label:`Primary`,description:`Buttons, links, and key interactive elements.`,tokens:[{key:`primary`,label:`Primary`},{key:`primaryForeground`,label:`Primary text`}]},{label:`Secondary`,description:`Secondary buttons and less prominent controls.`,tokens:[{key:`secondary`,label:`Secondary`},{key:`secondaryForeground`,label:`Secondary text`}]},{label:`Card`,description:`Card surfaces and their text.`,tokens:[{key:`card`,label:`Card`},{key:`cardForeground`,label:`Card text`}]},{label:`Popover`,description:`Dropdown menus, tooltips, and floating panels.`,tokens:[{key:`popover`,label:`Popover`},{key:`popoverForeground`,label:`Popover text`}]},{label:`Muted`,description:`Subdued backgrounds and secondary text.`,tokens:[{key:`muted`,label:`Muted`},{key:`mutedForeground`,label:`Muted text`}]},{label:`Accent`,description:`Hover states and highlighted areas.`,tokens:[{key:`accent`,label:`Accent`},{key:`accentForeground`,label:`Accent text`}]},{label:`Borders & Input`,description:`Borders, input fields, and focus rings.`,tokens:[{key:`border`,label:`Border`},{key:`input`,label:`Input border`},{key:`ring`,label:`Focus ring`}]},{label:`Destructive`,description:`Errors, deletions, and dangerous actions.`,tokens:[{key:`destructive`,label:`Destructive`},{key:`destructiveForeground`,label:`Destructive text`}]},{label:`Status`,description:`Informational, success, and warning indicators.`,tokens:[{key:`info`,label:`Info`},{key:`infoForeground`,label:`Info text`},{key:`success`,label:`Success`},{key:`successForeground`,label:`Success text`},{key:`warning`,label:`Warning`},{key:`warningForeground`,label:`Warning text`}]}],ne=[{label:`Chrome`,colors:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`},{key:`cursor`,label:`Cursor`},{key:`selectionBackground`,label:`Selection`}]},{label:`Scrollbar`,colors:[{key:`scrollbarSliderBackground`,label:`Scrollbar`},{key:`scrollbarSliderHoverBackground`,label:`Scrollbar hover`},{key:`scrollbarSliderActiveBackground`,label:`Scrollbar active`}]},{label:`ANSI Colors`,colors:[{key:`black`,label:`Black`},{key:`red`,label:`Red`},{key:`green`,label:`Green`},{key:`yellow`,label:`Yellow`},{key:`blue`,label:`Blue`},{key:`magenta`,label:`Magenta`},{key:`cyan`,label:`Cyan`},{key:`white`,label:`White`}]},{label:`Bright ANSI Colors`,colors:[{key:`brightBlack`,label:`Bright black`},{key:`brightRed`,label:`Bright red`},{key:`brightGreen`,label:`Bright green`},{key:`brightYellow`,label:`Bright yellow`},{key:`brightBlue`,label:`Bright blue`},{key:`brightMagenta`,label:`Bright magenta`},{key:`brightCyan`,label:`Bright cyan`},{key:`brightWhite`,label:`Bright white`}]}];function M(e){let{radius:t,tokens:n,terminal:r}=_(e);return{radius:t,tokens:n,terminalColors:r}}function N(e){return parseInt(e,10).toString(16).padStart(2,`0`)}function P(e){let t=e.trim();if(/^#[0-9a-fA-F]{6}$/i.test(t))return t;if(/^#[0-9a-fA-F]{3}$/i.test(t)){let[,e,n,r]=/^#(.)(.)(.)$/i.exec(t);return`#${e}${e}${n}${n}${r}${r}`}let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(t);return n?`#${N(n[1])}${N(n[2])}${N(n[3])}`:t}function F(e){return/^#[0-9a-fA-F]{6}$/i.test(e.trim())}function I(e){let t=(0,te.c)(28),{label:n,value:r,onChange:i}=e,a,o;t[0]===r?(a=t[1],o=t[2]):(a=P(r),o=F(a),t[0]=r,t[1]=a,t[2]=o);let s=o,c=(0,k.useRef)(null),l;t[3]===a?l=t[4]:(l={backgroundColor:a},t[3]=a,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>c.current?.click(),t[5]=u):u=t[5];let d=`Pick color for ${n}`,f=s?a:`#000000`,p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]!==f||t[9]!==p?(m=(0,A.jsx)(`input`,{ref:c,type:`color`,value:f,onChange:p,className:`absolute inset-0 cursor-pointer opacity-0`,tabIndex:-1}),t[8]=f,t[9]=p,t[10]=m):m=t[10];let g;t[11]!==l||t[12]!==d||t[13]!==m?(g=(0,A.jsx)(`button`,{type:`button`,className:`group relative size-8 shrink-0 cursor-pointer rounded-lg border border-border shadow-xs/5 transition-shadow hover:ring-2 hover:ring-ring/24`,style:l,onClick:u,"aria-label":d,children:m}),t[11]=l,t[12]=d,t[13]=m,t[14]=g):g=t[14];let _;t[15]===n?_=t[16]:(_=(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n}),t[15]=n,t[16]=_);let v;t[17]===i?v=t[18]:(v=e=>i(e.target.value),t[17]=i,t[18]=v);let y;t[19]!==v||t[20]!==r?(y=(0,A.jsx)(h,{size:`sm`,value:r,onChange:v,className:`font-mono text-xs`,spellCheck:!1,autoComplete:`off`}),t[19]=v,t[20]=r,t[21]=y):y=t[21];let b;t[22]!==y||t[23]!==_?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[_,y]}),t[22]=y,t[23]=_,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==g?(x=(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[g,b]}),t[25]=b,t[26]=g,t[27]=x):x=t[27],x}function L(e){let t=(0,te.c)(113),{tokens:n}=e,r;t[0]!==n.accent||t[1]!==n.background||t[2]!==n.border||t[3]!==n.card||t[4]!==n.cardForeground||t[5]!==n.destructive||t[6]!==n.destructiveForeground||t[7]!==n.foreground||t[8]!==n.info||t[9]!==n.input||t[10]!==n.muted||t[11]!==n.mutedForeground||t[12]!==n.primary||t[13]!==n.primaryForeground||t[14]!==n.secondary||t[15]!==n.secondaryForeground||t[16]!==n.success||t[17]!==n.warning?(r={"--p-bg":n.background,"--p-fg":n.foreground,"--p-card":n.card,"--p-card-fg":n.cardForeground,"--p-primary":n.primary,"--p-primary-fg":n.primaryForeground,"--p-secondary":n.secondary,"--p-secondary-fg":n.secondaryForeground,"--p-muted":n.muted,"--p-muted-fg":n.mutedForeground,"--p-accent":n.accent,"--p-border":n.border,"--p-input":n.input,"--p-destructive":n.destructive,"--p-destructive-fg":n.destructiveForeground,"--p-info":n.info,"--p-success":n.success,"--p-warning":n.warning,borderColor:n.border},t[0]=n.accent,t[1]=n.background,t[2]=n.border,t[3]=n.card,t[4]=n.cardForeground,t[5]=n.destructive,t[6]=n.destructiveForeground,t[7]=n.foreground,t[8]=n.info,t[9]=n.input,t[10]=n.muted,t[11]=n.mutedForeground,t[12]=n.primary,t[13]=n.primaryForeground,t[14]=n.secondary,t[15]=n.secondaryForeground,t[16]=n.success,t[17]=n.warning,t[18]=r):r=t[18];let i=r,a=`1px solid ${n.border}`,o;t[19]!==a||t[20]!==n.card?(o={backgroundColor:n.card,borderBottom:a},t[19]=a,t[20]=n.card,t[21]=o):o=t[21];let s;t[22]===n.destructive?s=t[23]:(s=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.destructive}}),t[22]=n.destructive,t[23]=s);let c;t[24]===n.warning?c=t[25]:(c=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.warning}}),t[24]=n.warning,t[25]=c);let l;t[26]===n.success?l=t[27]:(l=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.success}}),t[26]=n.success,t[27]=l);let u;t[28]!==s||t[29]!==c||t[30]!==l?(u=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[s,c,l]}),t[28]=s,t[29]=c,t[30]=l,t[31]=u):u=t[31];let d;t[32]===n.mutedForeground?d=t[33]:(d=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.mutedForeground},children:`Preview`}),t[32]=n.mutedForeground,t[33]=d);let f;t[34]!==o||t[35]!==u||t[36]!==d?(f=(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,style:o,children:[u,d]}),t[34]=o,t[35]=u,t[36]=d,t[37]=f):f=t[37];let p;t[38]===n.background?p=t[39]:(p={backgroundColor:n.background},t[38]=n.background,t[39]=p);let m=`1px solid ${n.border}`,h;t[40]===m?h=t[41]:(h={borderRight:m},t[40]=m,t[41]=h);let g;t[42]!==n.accent||t[43]!==n.foreground?(g=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px] font-medium`,style:{backgroundColor:n.accent,color:n.foreground},children:`Active item`}),t[42]=n.accent,t[43]=n.foreground,t[44]=g):g=t[44];let _;t[45]===n.mutedForeground?_=t[46]:(_=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[45]=n.mutedForeground,t[46]=_);let v;t[47]===n.mutedForeground?v=t[48]:(v=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[47]=n.mutedForeground,t[48]=v);let y;t[49]!==h||t[50]!==g||t[51]!==_||t[52]!==v?(y=(0,A.jsxs)(`div`,{className:`w-28 shrink-0 space-y-1 p-2`,style:h,children:[g,_,v]}),t[49]=h,t[50]=g,t[51]=_,t[52]=v,t[53]=y):y=t[53];let b;t[54]===n.foreground?b=t[55]:(b=(0,A.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:n.foreground},children:`Theme Preview`}),t[54]=n.foreground,t[55]=b);let x;t[56]===n.mutedForeground?x=t[57]:(x=(0,A.jsx)(`p`,{className:`text-[10px] leading-relaxed`,style:{color:n.mutedForeground},children:`This is how your theme will look in the application.`}),t[56]=n.mutedForeground,t[57]=x);let S;t[58]!==b||t[59]!==x?(S=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[b,x]}),t[58]=b,t[59]=x,t[60]=S):S=t[60];let ee=`1px solid ${n.border}`,C;t[61]!==ee||t[62]!==n.card?(C={backgroundColor:n.card,border:ee},t[61]=ee,t[62]=n.card,t[63]=C):C=t[63];let w;t[64]===n.cardForeground?w=t[65]:(w=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.cardForeground},children:`Card component`}),t[64]=n.cardForeground,t[65]=w);let T;t[66]===n.mutedForeground?T=t[67]:(T=(0,A.jsx)(`p`,{className:`mt-0.5 text-[10px]`,style:{color:n.mutedForeground},children:`Cards contain grouped content.`}),t[66]=n.mutedForeground,t[67]=T);let E;t[68]!==C||t[69]!==w||t[70]!==T?(E=(0,A.jsxs)(`div`,{className:`rounded-lg p-2.5`,style:C,children:[w,T]}),t[68]=C,t[69]=w,t[70]=T,t[71]=E):E=t[71];let D;t[72]!==n.primary||t[73]!==n.primaryForeground?(D=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.primary,color:n.primaryForeground},children:`Primary`}),t[72]=n.primary,t[73]=n.primaryForeground,t[74]=D):D=t[74];let O;t[75]!==n.secondary||t[76]!==n.secondaryForeground?(O=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.secondary,color:n.secondaryForeground},children:`Secondary`}),t[75]=n.secondary,t[76]=n.secondaryForeground,t[77]=O):O=t[77];let k;t[78]!==n.destructive||t[79]!==n.destructiveForeground?(k=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.destructive,color:n.destructiveForeground},children:`Delete`}),t[78]=n.destructive,t[79]=n.destructiveForeground,t[80]=k):k=t[80];let j;t[81]!==D||t[82]!==O||t[83]!==k?(j=(0,A.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[D,O,k]}),t[81]=D,t[82]=O,t[83]=k,t[84]=j):j=t[84];let ne=`1px solid ${n.input}`,M;t[85]!==ne||t[86]!==n.background||t[87]!==n.mutedForeground?(M=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{backgroundColor:n.background,border:ne,color:n.mutedForeground},children:`Placeholder text...`}),t[85]=ne,t[86]=n.background,t[87]=n.mutedForeground,t[88]=M):M=t[88];let N;t[89]===n.info?N=t[90]:(N=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.info},children:`Info`}),t[89]=n.info,t[90]=N);let P;t[91]===n.success?P=t[92]:(P=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.success},children:`Success`}),t[91]=n.success,t[92]=P);let F;t[93]===n.warning?F=t[94]:(F=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.warning},children:`Warning`}),t[93]=n.warning,t[94]=F);let I;t[95]!==N||t[96]!==P||t[97]!==F?(I=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[N,P,F]}),t[95]=N,t[96]=P,t[97]=F,t[98]=I):I=t[98];let L;t[99]!==S||t[100]!==E||t[101]!==j||t[102]!==M||t[103]!==I?(L=(0,A.jsxs)(`div`,{className:`flex-1 space-y-2.5 p-3`,children:[S,E,j,M,I]}),t[99]=S,t[100]=E,t[101]=j,t[102]=M,t[103]=I,t[104]=L):L=t[104];let R;t[105]!==p||t[106]!==y||t[107]!==L?(R=(0,A.jsxs)(`div`,{className:`flex`,style:p,children:[y,L]}),t[105]=p,t[106]=y,t[107]=L,t[108]=R):R=t[108];let re;return t[109]!==f||t[110]!==i||t[111]!==R?(re=(0,A.jsxs)(`div`,{className:`overflow-hidden rounded-xl border shadow-xs/5`,style:i,children:[f,R]}),t[109]=f,t[110]=i,t[111]=R,t[112]=re):re=t[112],re}function R(){let e=(0,te.c)(108),{themeOptionsByAppearance:t,importTheme:n}=v(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=M(`dark`),e[0]=i):i=e[0];let _=i,N,P;e[1]!==t.dark||e[2]!==t.light?(P=[...t.light,...t.dark],e[1]=t.dark,e[2]=t.light,e[3]=P):P=e[3],N=P;let F=N,[R,oe]=(0,k.useState)(``),[z,se]=(0,k.useState)(``),[B,ce]=(0,k.useState)(``),[V,le]=(0,k.useState)(`dark`),[H,ue]=(0,k.useState)(_.radius),[U,de]=(0,k.useState)(_.tokens),[W,fe]=(0,k.useState)(_.terminalColors),[pe,me]=(0,k.useState)(!1),he;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(he=(e,t)=>{de(n=>({...n,[e]:t}))},e[4]=he):he=e[4];let ge=he,_e;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(e,t)=>{fe(n=>({...n,[e]:t}))},e[5]=_e):_e=e[5];let ve=_e,ye;e[6]===F?ye=e[7]:(ye=e=>{if(e==null)return;let t=F.find(t=>t.id===e);t&&(le(t.appearance),de({...t.tokens}),t.terminal?fe({...t.terminal}):fe(M(t.appearance).terminalColors),t.radius&&ue(t.radius))},e[6]=F,e[7]=ye);let be=ye,xe;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{if(e!==`light`&&e!==`dark`)return;let t=M(e);le(e),ue(t.radius),de(t.tokens),fe(t.terminalColors)},e[8]=xe):xe=e[8];let Se=xe,Ce;e[9]===V?Ce=e[10]:(Ce=()=>{let e=M(V);oe(``),se(``),ce(``),ue(e.radius),de(e.tokens),fe(e.terminalColors)},e[9]=V,e[10]=Ce);let we=Ce,Te;e[11]!==V||e[12]!==z||e[13]!==B||e[14]!==R||e[15]!==H||e[16]!==W||e[17]!==U?(Te=()=>JSON.stringify({version:1,name:R.trim()||`Untitled Theme`,appearance:V,author:z.trim()||void 0,description:B.trim()||void 0,radius:H,tokens:U,terminal:W},null,2),e[11]=V,e[12]=z,e[13]=B,e[14]=R,e[15]=H,e[16]=W,e[17]=U,e[18]=Te):Te=e[18];let G=Te,Ee;e[19]!==V||e[20]!==G||e[21]!==n||e[22]!==R?(Ee=()=>{let e=R.trim()||`Untitled Theme`;try{n(G()),g.add({type:`success`,title:`Saved "${e}"`,description:`The theme is now active for your ${V} appearance.`})}catch(e){let t=e;g.add({type:`error`,title:`Could not save theme`,description:t instanceof Error?t.message:`The theme data is invalid.`})}},e[19]=V,e[20]=G,e[21]=n,e[22]=R,e[23]=Ee):Ee=e[23];let De=Ee,Oe;e[24]!==G||e[25]!==R?(Oe=()=>{let e=G(),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${(R.trim()||`theme`).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}.json`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)},e[24]=G,e[25]=R,e[26]=Oe):Oe=e[26];let ke=Oe,Ae;e[27]===G?Ae=e[28]:(Ae=()=>{navigator.clipboard.writeText(G()).then(ae,ie)},e[27]=G,e[28]=Ae);let je=Ae,Me=o.every(e=>U[e]?.trim()),Ne,Pe;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,A.jsxs)(r,{to:`/settings/appearance`,className:`inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground`,children:[(0,A.jsx)(u,{className:`size-3.5`}),`Appearance`]}),Pe=(0,A.jsx)(`span`,{className:`text-border`,children:`/`}),e[29]=Ne,e[30]=Pe):(Ne=e[29],Pe=e[30]);let Fe;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[Ne,Pe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(d,{className:`size-4 text-primary`}),(0,A.jsx)(`h1`,{className:`text-sm font-semibold text-foreground`,children:`Theme Builder`})]})]}),e[31]=Fe):Fe=e[31];let Ie;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,A.jsx)(p,{className:`size-3.5`}),e[32]=Ie):Ie=e[32];let K;e[33]===je?K=e[34]:(K=(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:je,title:`Copy JSON`,children:[Ie,`Copy JSON`]}),e[33]=je,e[34]=K);let Le;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,A.jsx)(c,{className:`size-3.5`}),e[35]=Le):Le=e[35];let q;e[36]===ke?q=e[37]:(q=(0,A.jsxs)(a,{size:`sm`,variant:`outline`,onClick:ke,children:[Le,`Export`]}),e[36]=ke,e[37]=q);let Re=!Me,ze;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,A.jsx)(l,{className:`size-3.5`}),e[38]=ze):ze=e[38];let J;e[39]!==De||e[40]!==Re?(J=(0,A.jsxs)(a,{size:`sm`,variant:`default`,disabled:Re,onClick:De,children:[ze,`Save & Apply`]}),e[39]=De,e[40]=Re,e[41]=J):J=e[41];let Y;e[42]!==K||e[43]!==q||e[44]!==J?(Y=(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[Fe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[K,q,J]})]}),e[42]=K,e[43]=q,e[44]=J,e[45]=Y):Y=e[45];let Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Be=e=>oe(e.target.value),e[46]=Be):Be=e[46];let X;e[47]===R?X=e[48]:(X=(0,A.jsx)(D,{title:`Name`,description:`Give your theme a recognizable name.`,control:(0,A.jsx)(h,{size:`sm`,value:R,onChange:Be,placeholder:`My Theme`,className:`w-full sm:w-52`})}),e[47]=R,e[48]=X);let Ve;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=e=>se(e.target.value),e[49]=Ve):Ve=e[49];let Z;e[50]===z?Z=e[51]:(Z=(0,A.jsx)(D,{title:`Author`,description:`Optional creator attribution.`,control:(0,A.jsx)(h,{size:`sm`,value:z,onChange:Ve,placeholder:`Your name`,className:`w-full sm:w-52`})}),e[50]=z,e[51]=Z);let He;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>ce(e.target.value),e[52]=He):He=e[52];let Q;e[53]===B?Q=e[54]:(Q=(0,A.jsx)(D,{title:`Description`,description:`A short summary of the theme's look and feel.`,control:(0,A.jsx)(h,{size:`sm`,value:B,onChange:He,placeholder:`A warm dark palette with…`,className:`w-full sm:w-52`})}),e[53]=B,e[54]=Q);let Ue=V===`light`?`Light`:`Dark`,We;e[55]===Ue?We=e[56]:(We=(0,A.jsx)(x,{className:`w-full sm:w-40`,"aria-label":`Appearance`,children:(0,A.jsx)(ee,{children:Ue})}),e[55]=Ue,e[56]=We);let Ge;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,A.jsxs)(y,{align:`end`,alignItemWithTrigger:!1,children:[(0,A.jsx)(b,{hideIndicator:!0,value:`light`,children:`Light`}),(0,A.jsx)(b,{hideIndicator:!0,value:`dark`,children:`Dark`})]}),e[57]=Ge):Ge=e[57];let Ke;e[58]!==V||e[59]!==We?(Ke=(0,A.jsx)(D,{title:`Appearance`,description:`Whether this theme targets light or dark mode.`,control:(0,A.jsxs)(S,{value:V,onValueChange:Se,children:[We,Ge]})}),e[58]=V,e[59]=We,e[60]=Ke):Ke=e[60];let qe;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(qe=e=>ue(e.target.value),e[61]=qe):qe=e[61];let Je;e[62]===H?Je=e[63]:(Je=(0,A.jsx)(D,{title:`Border radius`,description:`Default border radius for UI components.`,control:(0,A.jsx)(h,{size:`sm`,value:H,onChange:qe,placeholder:`0.625rem`,className:`w-full sm:w-40 font-mono text-xs`})}),e[62]=H,e[63]=Je);let Ye;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,A.jsx)(x,{className:`w-full sm:w-52`,"aria-label":`Base theme`,children:(0,A.jsx)(ee,{children:`Choose a theme...`})}),e[64]=Ye):Ye=e[64];let Xe;e[65]===F?Xe=e[66]:(Xe=(0,A.jsx)(y,{align:`end`,alignItemWithTrigger:!1,children:F.map(re)}),e[65]=F,e[66]=Xe);let Ze;e[67]!==be||e[68]!==Xe?(Ze=(0,A.jsx)(D,{title:`Start from base`,description:`Load colors from an existing theme to use as a starting point.`,control:(0,A.jsxs)(S,{value:``,onValueChange:be,children:[Ye,Xe]})}),e[67]=be,e[68]=Xe,e[69]=Ze):Ze=e[69];let Qe;e[70]!==X||e[71]!==Z||e[72]!==Q||e[73]!==Ke||e[74]!==Je||e[75]!==Ze?(Qe=(0,A.jsxs)(O,{title:`Theme Details`,children:[X,Z,Q,Ke,Je,Ze]}),e[70]=X,e[71]=Z,e[72]=Q,e[73]=Ke,e[74]=Je,e[75]=Ze,e[76]=Qe):Qe=e[76];let $e,et;e[77]===U?($e=e[78],et=e[79]):($e=(0,A.jsx)(O,{title:`Live Preview`,children:(0,A.jsx)(`div`,{className:`p-4`,children:(0,A.jsx)(L,{tokens:U})})}),et=j.map(e=>(0,A.jsx)(O,{title:e.label,children:(0,A.jsxs)(`div`,{className:`px-4 py-4 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs text-muted-foreground`,children:e.description}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.tokens.map(e=>(0,A.jsx)(I,{label:e.label,value:U[e.key],onChange:t=>ge(e.key,t)},e.key))})]})},e.label)),e[77]=U,e[78]=$e,e[79]=et);let tt;e[80]===Symbol.for(`react.memo_cache_sentinel`)?(tt=s(`inline-flex items-center gap-1 text-[11px] text-muted-foreground transition-colors hover:text-foreground`),e[80]=tt):tt=e[80];let nt=pe&&`rotate-180`,rt;e[81]===nt?rt=e[82]:(rt=s(`size-3.5 transition-transform duration-200`,nt),e[81]=nt,e[82]=rt);let it;e[83]===rt?it=e[84]:(it=(0,A.jsx)(f,{className:rt}),e[83]=rt,e[84]=it);let at=pe?`Collapse`:`Expand`,$;e[85]!==it||e[86]!==at?($=(0,A.jsxs)(w,{className:tt,children:[it,at]}),e[85]=it,e[86]=at,e[87]=$):$=e[87];let ot;e[88]===W?ot=e[89]:(ot=ne.map(e=>(0,A.jsxs)(`div`,{className:`border-t border-border px-4 py-4 first:border-t-0 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs font-medium text-foreground`,children:e.label}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.colors.map(e=>(0,A.jsx)(I,{label:e.label,value:W[e.key],onChange:t=>ve(e.key,t)},e.key))})]},e.label)),e[88]=W,e[89]=ot);let st;e[90]===ot?st=e[91]:(st=(0,A.jsx)(C,{children:ot}),e[90]=ot,e[91]=st);let ct;e[92]!==$||e[93]!==st?(ct=(0,A.jsx)(O,{title:`Terminal Colors`,headerAction:$,children:st}),e[92]=$,e[93]=st,e[94]=ct):ct=e[94];let lt;e[95]!==ct||e[96]!==pe?(lt=(0,A.jsx)(T,{open:pe,onOpenChange:me,children:ct}),e[95]=ct,e[96]=pe,e[97]=lt):lt=e[97];let ut;e[98]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,A.jsx)(m,{className:`size-3.5`}),e[98]=ut):ut=e[98];let dt;e[99]===we?dt=e[100]:(dt=(0,A.jsx)(`div`,{className:`flex justify-end pb-6`,children:(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:we,children:[ut,`Reset all colors`]})}),e[99]=we,e[100]=dt);let ft;return e[101]!==Y||e[102]!==Qe||e[103]!==$e||e[104]!==et||e[105]!==lt||e[106]!==dt?(ft=(0,A.jsxs)(E,{children:[Y,Qe,$e,et,lt,dt]}),e[101]=Y,e[102]=Qe,e[103]=$e,e[104]=et,e[105]=lt,e[106]=dt,e[107]=ft):ft=e[107],ft}function re(e){return(0,A.jsxs)(b,{hideIndicator:!0,value:e.id,children:[e.name,(0,A.jsxs)(`span`,{className:`ml-1.5 text-muted-foreground`,children:[`(`,e.appearance,`)`]})]},e.id)}function ie(){g.add({type:`error`,title:`Copy failed`,description:`Could not copy to clipboard.`})}function ae(){g.add({type:`success`,title:`Copied to clipboard`,description:`Theme JSON has been copied.`})}var oe=R;export{oe as component};
|
|
2
|
-
//# sourceMappingURL=settings.theme-builder-
|
|
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{C as r}from"./vendor-tanstack-CM5SpFmF.js";import{c as i}from"./vendor--lexical-react-B6TeCrpE.js";import{s as a}from"./clientSettings-DFgmWajw.js";import"./vendor-effect-Chd9hYxF.js";import{O as o,t as s}from"./utils-B-Di8CjF.js";import"./store-LT9wKN7R.js";import"./terminalStateStore-B-V7Awi_.js";import"./uiStateStore-CgvPrTF8.js";import{Cr as c,Dr as l,Ln as u,er as d,ir as f,kr as p,sr as m}from"./vendor-ui-Ds9VgrYb.js";import"./useSettings-CaigvboL.js";import"./useHandleNewThread-Chs2blac.js";import"./gitReactQuery-BxToLb49.js";import{t as h}from"./input-CthhcRBE.js";import{it as g}from"./index-B42nGfCf.js";import{n as _,t as v}from"./useTheme-7QjQMsSZ.js";import{a as y,i as b,o as x,r as S,s as ee}from"./ProviderModelPicker-BFlX8lZL.js";import"./empty-CwEqZDMX.js";import{n as C,r as w,t as T}from"./collapsible-BEW6Xu4N.js";import{a as E,o as D,s as O}from"./SettingsPanels-_8_YaXgc.js";var te=n(),k=e(t(),1),A=i(),j=[{label:`Base`,description:`Main application background and text colors.`,tokens:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`}]},{label:`Primary`,description:`Buttons, links, and key interactive elements.`,tokens:[{key:`primary`,label:`Primary`},{key:`primaryForeground`,label:`Primary text`}]},{label:`Secondary`,description:`Secondary buttons and less prominent controls.`,tokens:[{key:`secondary`,label:`Secondary`},{key:`secondaryForeground`,label:`Secondary text`}]},{label:`Card`,description:`Card surfaces and their text.`,tokens:[{key:`card`,label:`Card`},{key:`cardForeground`,label:`Card text`}]},{label:`Popover`,description:`Dropdown menus, tooltips, and floating panels.`,tokens:[{key:`popover`,label:`Popover`},{key:`popoverForeground`,label:`Popover text`}]},{label:`Muted`,description:`Subdued backgrounds and secondary text.`,tokens:[{key:`muted`,label:`Muted`},{key:`mutedForeground`,label:`Muted text`}]},{label:`Accent`,description:`Hover states and highlighted areas.`,tokens:[{key:`accent`,label:`Accent`},{key:`accentForeground`,label:`Accent text`}]},{label:`Borders & Input`,description:`Borders, input fields, and focus rings.`,tokens:[{key:`border`,label:`Border`},{key:`input`,label:`Input border`},{key:`ring`,label:`Focus ring`}]},{label:`Destructive`,description:`Errors, deletions, and dangerous actions.`,tokens:[{key:`destructive`,label:`Destructive`},{key:`destructiveForeground`,label:`Destructive text`}]},{label:`Status`,description:`Informational, success, and warning indicators.`,tokens:[{key:`info`,label:`Info`},{key:`infoForeground`,label:`Info text`},{key:`success`,label:`Success`},{key:`successForeground`,label:`Success text`},{key:`warning`,label:`Warning`},{key:`warningForeground`,label:`Warning text`}]}],ne=[{label:`Chrome`,colors:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`},{key:`cursor`,label:`Cursor`},{key:`selectionBackground`,label:`Selection`}]},{label:`Scrollbar`,colors:[{key:`scrollbarSliderBackground`,label:`Scrollbar`},{key:`scrollbarSliderHoverBackground`,label:`Scrollbar hover`},{key:`scrollbarSliderActiveBackground`,label:`Scrollbar active`}]},{label:`ANSI Colors`,colors:[{key:`black`,label:`Black`},{key:`red`,label:`Red`},{key:`green`,label:`Green`},{key:`yellow`,label:`Yellow`},{key:`blue`,label:`Blue`},{key:`magenta`,label:`Magenta`},{key:`cyan`,label:`Cyan`},{key:`white`,label:`White`}]},{label:`Bright ANSI Colors`,colors:[{key:`brightBlack`,label:`Bright black`},{key:`brightRed`,label:`Bright red`},{key:`brightGreen`,label:`Bright green`},{key:`brightYellow`,label:`Bright yellow`},{key:`brightBlue`,label:`Bright blue`},{key:`brightMagenta`,label:`Bright magenta`},{key:`brightCyan`,label:`Bright cyan`},{key:`brightWhite`,label:`Bright white`}]}];function M(e){let{radius:t,tokens:n,terminal:r}=_(e);return{radius:t,tokens:n,terminalColors:r}}function N(e){return parseInt(e,10).toString(16).padStart(2,`0`)}function P(e){let t=e.trim();if(/^#[0-9a-fA-F]{6}$/i.test(t))return t;if(/^#[0-9a-fA-F]{3}$/i.test(t)){let[,e,n,r]=/^#(.)(.)(.)$/i.exec(t);return`#${e}${e}${n}${n}${r}${r}`}let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(t);return n?`#${N(n[1])}${N(n[2])}${N(n[3])}`:t}function F(e){return/^#[0-9a-fA-F]{6}$/i.test(e.trim())}function I(e){let t=(0,te.c)(28),{label:n,value:r,onChange:i}=e,a,o;t[0]===r?(a=t[1],o=t[2]):(a=P(r),o=F(a),t[0]=r,t[1]=a,t[2]=o);let s=o,c=(0,k.useRef)(null),l;t[3]===a?l=t[4]:(l={backgroundColor:a},t[3]=a,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>c.current?.click(),t[5]=u):u=t[5];let d=`Pick color for ${n}`,f=s?a:`#000000`,p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]!==f||t[9]!==p?(m=(0,A.jsx)(`input`,{ref:c,type:`color`,value:f,onChange:p,className:`absolute inset-0 cursor-pointer opacity-0`,tabIndex:-1}),t[8]=f,t[9]=p,t[10]=m):m=t[10];let g;t[11]!==l||t[12]!==d||t[13]!==m?(g=(0,A.jsx)(`button`,{type:`button`,className:`group relative size-8 shrink-0 cursor-pointer rounded-lg border border-border shadow-xs/5 transition-shadow hover:ring-2 hover:ring-ring/24`,style:l,onClick:u,"aria-label":d,children:m}),t[11]=l,t[12]=d,t[13]=m,t[14]=g):g=t[14];let _;t[15]===n?_=t[16]:(_=(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n}),t[15]=n,t[16]=_);let v;t[17]===i?v=t[18]:(v=e=>i(e.target.value),t[17]=i,t[18]=v);let y;t[19]!==v||t[20]!==r?(y=(0,A.jsx)(h,{size:`sm`,value:r,onChange:v,className:`font-mono text-xs`,spellCheck:!1,autoComplete:`off`}),t[19]=v,t[20]=r,t[21]=y):y=t[21];let b;t[22]!==y||t[23]!==_?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[_,y]}),t[22]=y,t[23]=_,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==g?(x=(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[g,b]}),t[25]=b,t[26]=g,t[27]=x):x=t[27],x}function L(e){let t=(0,te.c)(113),{tokens:n}=e,r;t[0]!==n.accent||t[1]!==n.background||t[2]!==n.border||t[3]!==n.card||t[4]!==n.cardForeground||t[5]!==n.destructive||t[6]!==n.destructiveForeground||t[7]!==n.foreground||t[8]!==n.info||t[9]!==n.input||t[10]!==n.muted||t[11]!==n.mutedForeground||t[12]!==n.primary||t[13]!==n.primaryForeground||t[14]!==n.secondary||t[15]!==n.secondaryForeground||t[16]!==n.success||t[17]!==n.warning?(r={"--p-bg":n.background,"--p-fg":n.foreground,"--p-card":n.card,"--p-card-fg":n.cardForeground,"--p-primary":n.primary,"--p-primary-fg":n.primaryForeground,"--p-secondary":n.secondary,"--p-secondary-fg":n.secondaryForeground,"--p-muted":n.muted,"--p-muted-fg":n.mutedForeground,"--p-accent":n.accent,"--p-border":n.border,"--p-input":n.input,"--p-destructive":n.destructive,"--p-destructive-fg":n.destructiveForeground,"--p-info":n.info,"--p-success":n.success,"--p-warning":n.warning,borderColor:n.border},t[0]=n.accent,t[1]=n.background,t[2]=n.border,t[3]=n.card,t[4]=n.cardForeground,t[5]=n.destructive,t[6]=n.destructiveForeground,t[7]=n.foreground,t[8]=n.info,t[9]=n.input,t[10]=n.muted,t[11]=n.mutedForeground,t[12]=n.primary,t[13]=n.primaryForeground,t[14]=n.secondary,t[15]=n.secondaryForeground,t[16]=n.success,t[17]=n.warning,t[18]=r):r=t[18];let i=r,a=`1px solid ${n.border}`,o;t[19]!==a||t[20]!==n.card?(o={backgroundColor:n.card,borderBottom:a},t[19]=a,t[20]=n.card,t[21]=o):o=t[21];let s;t[22]===n.destructive?s=t[23]:(s=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.destructive}}),t[22]=n.destructive,t[23]=s);let c;t[24]===n.warning?c=t[25]:(c=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.warning}}),t[24]=n.warning,t[25]=c);let l;t[26]===n.success?l=t[27]:(l=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.success}}),t[26]=n.success,t[27]=l);let u;t[28]!==s||t[29]!==c||t[30]!==l?(u=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[s,c,l]}),t[28]=s,t[29]=c,t[30]=l,t[31]=u):u=t[31];let d;t[32]===n.mutedForeground?d=t[33]:(d=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.mutedForeground},children:`Preview`}),t[32]=n.mutedForeground,t[33]=d);let f;t[34]!==o||t[35]!==u||t[36]!==d?(f=(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,style:o,children:[u,d]}),t[34]=o,t[35]=u,t[36]=d,t[37]=f):f=t[37];let p;t[38]===n.background?p=t[39]:(p={backgroundColor:n.background},t[38]=n.background,t[39]=p);let m=`1px solid ${n.border}`,h;t[40]===m?h=t[41]:(h={borderRight:m},t[40]=m,t[41]=h);let g;t[42]!==n.accent||t[43]!==n.foreground?(g=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px] font-medium`,style:{backgroundColor:n.accent,color:n.foreground},children:`Active item`}),t[42]=n.accent,t[43]=n.foreground,t[44]=g):g=t[44];let _;t[45]===n.mutedForeground?_=t[46]:(_=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[45]=n.mutedForeground,t[46]=_);let v;t[47]===n.mutedForeground?v=t[48]:(v=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[47]=n.mutedForeground,t[48]=v);let y;t[49]!==h||t[50]!==g||t[51]!==_||t[52]!==v?(y=(0,A.jsxs)(`div`,{className:`w-28 shrink-0 space-y-1 p-2`,style:h,children:[g,_,v]}),t[49]=h,t[50]=g,t[51]=_,t[52]=v,t[53]=y):y=t[53];let b;t[54]===n.foreground?b=t[55]:(b=(0,A.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:n.foreground},children:`Theme Preview`}),t[54]=n.foreground,t[55]=b);let x;t[56]===n.mutedForeground?x=t[57]:(x=(0,A.jsx)(`p`,{className:`text-[10px] leading-relaxed`,style:{color:n.mutedForeground},children:`This is how your theme will look in the application.`}),t[56]=n.mutedForeground,t[57]=x);let S;t[58]!==b||t[59]!==x?(S=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[b,x]}),t[58]=b,t[59]=x,t[60]=S):S=t[60];let ee=`1px solid ${n.border}`,C;t[61]!==ee||t[62]!==n.card?(C={backgroundColor:n.card,border:ee},t[61]=ee,t[62]=n.card,t[63]=C):C=t[63];let w;t[64]===n.cardForeground?w=t[65]:(w=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.cardForeground},children:`Card component`}),t[64]=n.cardForeground,t[65]=w);let T;t[66]===n.mutedForeground?T=t[67]:(T=(0,A.jsx)(`p`,{className:`mt-0.5 text-[10px]`,style:{color:n.mutedForeground},children:`Cards contain grouped content.`}),t[66]=n.mutedForeground,t[67]=T);let E;t[68]!==C||t[69]!==w||t[70]!==T?(E=(0,A.jsxs)(`div`,{className:`rounded-lg p-2.5`,style:C,children:[w,T]}),t[68]=C,t[69]=w,t[70]=T,t[71]=E):E=t[71];let D;t[72]!==n.primary||t[73]!==n.primaryForeground?(D=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.primary,color:n.primaryForeground},children:`Primary`}),t[72]=n.primary,t[73]=n.primaryForeground,t[74]=D):D=t[74];let O;t[75]!==n.secondary||t[76]!==n.secondaryForeground?(O=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.secondary,color:n.secondaryForeground},children:`Secondary`}),t[75]=n.secondary,t[76]=n.secondaryForeground,t[77]=O):O=t[77];let k;t[78]!==n.destructive||t[79]!==n.destructiveForeground?(k=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.destructive,color:n.destructiveForeground},children:`Delete`}),t[78]=n.destructive,t[79]=n.destructiveForeground,t[80]=k):k=t[80];let j;t[81]!==D||t[82]!==O||t[83]!==k?(j=(0,A.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[D,O,k]}),t[81]=D,t[82]=O,t[83]=k,t[84]=j):j=t[84];let ne=`1px solid ${n.input}`,M;t[85]!==ne||t[86]!==n.background||t[87]!==n.mutedForeground?(M=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{backgroundColor:n.background,border:ne,color:n.mutedForeground},children:`Placeholder text...`}),t[85]=ne,t[86]=n.background,t[87]=n.mutedForeground,t[88]=M):M=t[88];let N;t[89]===n.info?N=t[90]:(N=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.info},children:`Info`}),t[89]=n.info,t[90]=N);let P;t[91]===n.success?P=t[92]:(P=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.success},children:`Success`}),t[91]=n.success,t[92]=P);let F;t[93]===n.warning?F=t[94]:(F=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.warning},children:`Warning`}),t[93]=n.warning,t[94]=F);let I;t[95]!==N||t[96]!==P||t[97]!==F?(I=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[N,P,F]}),t[95]=N,t[96]=P,t[97]=F,t[98]=I):I=t[98];let L;t[99]!==S||t[100]!==E||t[101]!==j||t[102]!==M||t[103]!==I?(L=(0,A.jsxs)(`div`,{className:`flex-1 space-y-2.5 p-3`,children:[S,E,j,M,I]}),t[99]=S,t[100]=E,t[101]=j,t[102]=M,t[103]=I,t[104]=L):L=t[104];let R;t[105]!==p||t[106]!==y||t[107]!==L?(R=(0,A.jsxs)(`div`,{className:`flex`,style:p,children:[y,L]}),t[105]=p,t[106]=y,t[107]=L,t[108]=R):R=t[108];let re;return t[109]!==f||t[110]!==i||t[111]!==R?(re=(0,A.jsxs)(`div`,{className:`overflow-hidden rounded-xl border shadow-xs/5`,style:i,children:[f,R]}),t[109]=f,t[110]=i,t[111]=R,t[112]=re):re=t[112],re}function R(){let e=(0,te.c)(108),{themeOptionsByAppearance:t,importTheme:n}=v(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=M(`dark`),e[0]=i):i=e[0];let _=i,N,P;e[1]!==t.dark||e[2]!==t.light?(P=[...t.light,...t.dark],e[1]=t.dark,e[2]=t.light,e[3]=P):P=e[3],N=P;let F=N,[R,oe]=(0,k.useState)(``),[z,se]=(0,k.useState)(``),[B,ce]=(0,k.useState)(``),[V,le]=(0,k.useState)(`dark`),[H,ue]=(0,k.useState)(_.radius),[U,de]=(0,k.useState)(_.tokens),[W,fe]=(0,k.useState)(_.terminalColors),[pe,me]=(0,k.useState)(!1),he;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(he=(e,t)=>{de(n=>({...n,[e]:t}))},e[4]=he):he=e[4];let ge=he,_e;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(e,t)=>{fe(n=>({...n,[e]:t}))},e[5]=_e):_e=e[5];let ve=_e,ye;e[6]===F?ye=e[7]:(ye=e=>{if(e==null)return;let t=F.find(t=>t.id===e);t&&(le(t.appearance),de({...t.tokens}),t.terminal?fe({...t.terminal}):fe(M(t.appearance).terminalColors),t.radius&&ue(t.radius))},e[6]=F,e[7]=ye);let be=ye,xe;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{if(e!==`light`&&e!==`dark`)return;let t=M(e);le(e),ue(t.radius),de(t.tokens),fe(t.terminalColors)},e[8]=xe):xe=e[8];let Se=xe,Ce;e[9]===V?Ce=e[10]:(Ce=()=>{let e=M(V);oe(``),se(``),ce(``),ue(e.radius),de(e.tokens),fe(e.terminalColors)},e[9]=V,e[10]=Ce);let we=Ce,Te;e[11]!==V||e[12]!==z||e[13]!==B||e[14]!==R||e[15]!==H||e[16]!==W||e[17]!==U?(Te=()=>JSON.stringify({version:1,name:R.trim()||`Untitled Theme`,appearance:V,author:z.trim()||void 0,description:B.trim()||void 0,radius:H,tokens:U,terminal:W},null,2),e[11]=V,e[12]=z,e[13]=B,e[14]=R,e[15]=H,e[16]=W,e[17]=U,e[18]=Te):Te=e[18];let G=Te,Ee;e[19]!==V||e[20]!==G||e[21]!==n||e[22]!==R?(Ee=()=>{let e=R.trim()||`Untitled Theme`;try{n(G()),g.add({type:`success`,title:`Saved "${e}"`,description:`The theme is now active for your ${V} appearance.`})}catch(e){let t=e;g.add({type:`error`,title:`Could not save theme`,description:t instanceof Error?t.message:`The theme data is invalid.`})}},e[19]=V,e[20]=G,e[21]=n,e[22]=R,e[23]=Ee):Ee=e[23];let De=Ee,Oe;e[24]!==G||e[25]!==R?(Oe=()=>{let e=G(),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${(R.trim()||`theme`).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}.json`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)},e[24]=G,e[25]=R,e[26]=Oe):Oe=e[26];let ke=Oe,Ae;e[27]===G?Ae=e[28]:(Ae=()=>{navigator.clipboard.writeText(G()).then(ae,ie)},e[27]=G,e[28]=Ae);let je=Ae,Me=o.every(e=>U[e]?.trim()),Ne,Pe;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,A.jsxs)(r,{to:`/settings/appearance`,className:`inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground`,children:[(0,A.jsx)(u,{className:`size-3.5`}),`Appearance`]}),Pe=(0,A.jsx)(`span`,{className:`text-border`,children:`/`}),e[29]=Ne,e[30]=Pe):(Ne=e[29],Pe=e[30]);let Fe;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[Ne,Pe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(d,{className:`size-4 text-primary`}),(0,A.jsx)(`h1`,{className:`text-sm font-semibold text-foreground`,children:`Theme Builder`})]})]}),e[31]=Fe):Fe=e[31];let Ie;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,A.jsx)(p,{className:`size-3.5`}),e[32]=Ie):Ie=e[32];let K;e[33]===je?K=e[34]:(K=(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:je,title:`Copy JSON`,children:[Ie,`Copy JSON`]}),e[33]=je,e[34]=K);let Le;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,A.jsx)(c,{className:`size-3.5`}),e[35]=Le):Le=e[35];let q;e[36]===ke?q=e[37]:(q=(0,A.jsxs)(a,{size:`sm`,variant:`outline`,onClick:ke,children:[Le,`Export`]}),e[36]=ke,e[37]=q);let Re=!Me,ze;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,A.jsx)(l,{className:`size-3.5`}),e[38]=ze):ze=e[38];let J;e[39]!==De||e[40]!==Re?(J=(0,A.jsxs)(a,{size:`sm`,variant:`default`,disabled:Re,onClick:De,children:[ze,`Save & Apply`]}),e[39]=De,e[40]=Re,e[41]=J):J=e[41];let Y;e[42]!==K||e[43]!==q||e[44]!==J?(Y=(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[Fe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[K,q,J]})]}),e[42]=K,e[43]=q,e[44]=J,e[45]=Y):Y=e[45];let Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Be=e=>oe(e.target.value),e[46]=Be):Be=e[46];let X;e[47]===R?X=e[48]:(X=(0,A.jsx)(D,{title:`Name`,description:`Give your theme a recognizable name.`,control:(0,A.jsx)(h,{size:`sm`,value:R,onChange:Be,placeholder:`My Theme`,className:`w-full sm:w-52`})}),e[47]=R,e[48]=X);let Ve;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=e=>se(e.target.value),e[49]=Ve):Ve=e[49];let Z;e[50]===z?Z=e[51]:(Z=(0,A.jsx)(D,{title:`Author`,description:`Optional creator attribution.`,control:(0,A.jsx)(h,{size:`sm`,value:z,onChange:Ve,placeholder:`Your name`,className:`w-full sm:w-52`})}),e[50]=z,e[51]=Z);let He;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>ce(e.target.value),e[52]=He):He=e[52];let Q;e[53]===B?Q=e[54]:(Q=(0,A.jsx)(D,{title:`Description`,description:`A short summary of the theme's look and feel.`,control:(0,A.jsx)(h,{size:`sm`,value:B,onChange:He,placeholder:`A warm dark palette with…`,className:`w-full sm:w-52`})}),e[53]=B,e[54]=Q);let Ue=V===`light`?`Light`:`Dark`,We;e[55]===Ue?We=e[56]:(We=(0,A.jsx)(x,{className:`w-full sm:w-40`,"aria-label":`Appearance`,children:(0,A.jsx)(ee,{children:Ue})}),e[55]=Ue,e[56]=We);let Ge;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,A.jsxs)(y,{align:`end`,alignItemWithTrigger:!1,children:[(0,A.jsx)(b,{hideIndicator:!0,value:`light`,children:`Light`}),(0,A.jsx)(b,{hideIndicator:!0,value:`dark`,children:`Dark`})]}),e[57]=Ge):Ge=e[57];let Ke;e[58]!==V||e[59]!==We?(Ke=(0,A.jsx)(D,{title:`Appearance`,description:`Whether this theme targets light or dark mode.`,control:(0,A.jsxs)(S,{value:V,onValueChange:Se,children:[We,Ge]})}),e[58]=V,e[59]=We,e[60]=Ke):Ke=e[60];let qe;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(qe=e=>ue(e.target.value),e[61]=qe):qe=e[61];let Je;e[62]===H?Je=e[63]:(Je=(0,A.jsx)(D,{title:`Border radius`,description:`Default border radius for UI components.`,control:(0,A.jsx)(h,{size:`sm`,value:H,onChange:qe,placeholder:`0.625rem`,className:`w-full sm:w-40 font-mono text-xs`})}),e[62]=H,e[63]=Je);let Ye;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,A.jsx)(x,{className:`w-full sm:w-52`,"aria-label":`Base theme`,children:(0,A.jsx)(ee,{children:`Choose a theme...`})}),e[64]=Ye):Ye=e[64];let Xe;e[65]===F?Xe=e[66]:(Xe=(0,A.jsx)(y,{align:`end`,alignItemWithTrigger:!1,children:F.map(re)}),e[65]=F,e[66]=Xe);let Ze;e[67]!==be||e[68]!==Xe?(Ze=(0,A.jsx)(D,{title:`Start from base`,description:`Load colors from an existing theme to use as a starting point.`,control:(0,A.jsxs)(S,{value:``,onValueChange:be,children:[Ye,Xe]})}),e[67]=be,e[68]=Xe,e[69]=Ze):Ze=e[69];let Qe;e[70]!==X||e[71]!==Z||e[72]!==Q||e[73]!==Ke||e[74]!==Je||e[75]!==Ze?(Qe=(0,A.jsxs)(O,{title:`Theme Details`,children:[X,Z,Q,Ke,Je,Ze]}),e[70]=X,e[71]=Z,e[72]=Q,e[73]=Ke,e[74]=Je,e[75]=Ze,e[76]=Qe):Qe=e[76];let $e,et;e[77]===U?($e=e[78],et=e[79]):($e=(0,A.jsx)(O,{title:`Live Preview`,children:(0,A.jsx)(`div`,{className:`p-4`,children:(0,A.jsx)(L,{tokens:U})})}),et=j.map(e=>(0,A.jsx)(O,{title:e.label,children:(0,A.jsxs)(`div`,{className:`px-4 py-4 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs text-muted-foreground`,children:e.description}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.tokens.map(e=>(0,A.jsx)(I,{label:e.label,value:U[e.key],onChange:t=>ge(e.key,t)},e.key))})]})},e.label)),e[77]=U,e[78]=$e,e[79]=et);let tt;e[80]===Symbol.for(`react.memo_cache_sentinel`)?(tt=s(`inline-flex items-center gap-1 text-[11px] text-muted-foreground transition-colors hover:text-foreground`),e[80]=tt):tt=e[80];let nt=pe&&`rotate-180`,rt;e[81]===nt?rt=e[82]:(rt=s(`size-3.5 transition-transform duration-200`,nt),e[81]=nt,e[82]=rt);let it;e[83]===rt?it=e[84]:(it=(0,A.jsx)(f,{className:rt}),e[83]=rt,e[84]=it);let at=pe?`Collapse`:`Expand`,$;e[85]!==it||e[86]!==at?($=(0,A.jsxs)(w,{className:tt,children:[it,at]}),e[85]=it,e[86]=at,e[87]=$):$=e[87];let ot;e[88]===W?ot=e[89]:(ot=ne.map(e=>(0,A.jsxs)(`div`,{className:`border-t border-border px-4 py-4 first:border-t-0 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs font-medium text-foreground`,children:e.label}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.colors.map(e=>(0,A.jsx)(I,{label:e.label,value:W[e.key],onChange:t=>ve(e.key,t)},e.key))})]},e.label)),e[88]=W,e[89]=ot);let st;e[90]===ot?st=e[91]:(st=(0,A.jsx)(C,{children:ot}),e[90]=ot,e[91]=st);let ct;e[92]!==$||e[93]!==st?(ct=(0,A.jsx)(O,{title:`Terminal Colors`,headerAction:$,children:st}),e[92]=$,e[93]=st,e[94]=ct):ct=e[94];let lt;e[95]!==ct||e[96]!==pe?(lt=(0,A.jsx)(T,{open:pe,onOpenChange:me,children:ct}),e[95]=ct,e[96]=pe,e[97]=lt):lt=e[97];let ut;e[98]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,A.jsx)(m,{className:`size-3.5`}),e[98]=ut):ut=e[98];let dt;e[99]===we?dt=e[100]:(dt=(0,A.jsx)(`div`,{className:`flex justify-end pb-6`,children:(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:we,children:[ut,`Reset all colors`]})}),e[99]=we,e[100]=dt);let ft;return e[101]!==Y||e[102]!==Qe||e[103]!==$e||e[104]!==et||e[105]!==lt||e[106]!==dt?(ft=(0,A.jsxs)(E,{children:[Y,Qe,$e,et,lt,dt]}),e[101]=Y,e[102]=Qe,e[103]=$e,e[104]=et,e[105]=lt,e[106]=dt,e[107]=ft):ft=e[107],ft}function re(e){return(0,A.jsxs)(b,{hideIndicator:!0,value:e.id,children:[e.name,(0,A.jsxs)(`span`,{className:`ml-1.5 text-muted-foreground`,children:[`(`,e.appearance,`)`]})]},e.id)}function ie(){g.add({type:`error`,title:`Copy failed`,description:`Could not copy to clipboard.`})}function ae(){g.add({type:`success`,title:`Copied to clipboard`,description:`Theme JSON has been copied.`})}var oe=R;export{oe as component};
|
|
2
|
+
//# sourceMappingURL=settings.theme-builder-CnwNYRga.js.map
|
|
Binary file
|
|
Binary file
|
package/dist/client/favicon.ico
CHANGED
|
Binary file
|
package/dist/client/index.html
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
crossorigin="anonymous"
|
|
28
28
|
/>
|
|
29
29
|
<title>ShioriCode</title>
|
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-B42nGfCf.js"></script>
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-COnpUsM8.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/vendor--effect-atom-react-6hEhKm5I.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/vendor--floating-ui-core-jOdbuRxe.js">
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shioricode",
|
|
3
|
+
"version": "0.5.3",
|
|
3
4
|
"description": "Run ShioriCode locally or publish it securely through ShioriCode Link.",
|
|
4
5
|
"license": "Elastic-2.0",
|
|
5
6
|
"repository": {
|
|
@@ -10,21 +11,53 @@
|
|
|
10
11
|
"bin": {
|
|
11
12
|
"shioricode": "dist/bin.mjs"
|
|
12
13
|
},
|
|
13
|
-
"type": "module",
|
|
14
|
-
"version": "0.5.2",
|
|
15
|
-
"engines": {
|
|
16
|
-
"node": "^22.16 || ^23.11 || >=24.10"
|
|
17
|
-
},
|
|
18
14
|
"files": [
|
|
19
15
|
"dist",
|
|
20
16
|
"!dist/**/*.map"
|
|
21
17
|
],
|
|
18
|
+
"type": "module",
|
|
22
19
|
"publishConfig": {
|
|
23
20
|
"access": "public"
|
|
24
21
|
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"dev": "bun run src/bin.ts",
|
|
24
|
+
"dev:bundle": "tsdown --watch",
|
|
25
|
+
"build": "node scripts/cli.ts build",
|
|
26
|
+
"start": "node dist/bin.mjs",
|
|
27
|
+
"typecheck": "tsc --noEmit",
|
|
28
|
+
"test": "vitest run"
|
|
29
|
+
},
|
|
25
30
|
"dependencies": {
|
|
26
31
|
"@cursor/sdk": "1.0.17",
|
|
27
32
|
"node-pty": "^1.1.0",
|
|
28
33
|
"sqlite3": "^5.1.7"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@ai-sdk/mcp": "^2.0.0-beta.18",
|
|
37
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.77",
|
|
38
|
+
"@effect/language-service": "catalog:",
|
|
39
|
+
"@effect/platform-bun": "catalog:",
|
|
40
|
+
"@effect/platform-node": "catalog:",
|
|
41
|
+
"@effect/sql-sqlite-bun": "catalog:",
|
|
42
|
+
"@effect/vitest": "catalog:",
|
|
43
|
+
"@moonshot-ai/kimi-agent-sdk": "^0.1.8",
|
|
44
|
+
"@pierre/diffs": "^1.1.0-beta.16",
|
|
45
|
+
"@types/bun": "catalog:",
|
|
46
|
+
"@types/node": "catalog:",
|
|
47
|
+
"ai": "^6.0.141",
|
|
48
|
+
"contracts": "workspace:*",
|
|
49
|
+
"effect": "catalog:",
|
|
50
|
+
"google-antigravity": "workspace:*",
|
|
51
|
+
"open": "^10.1.0",
|
|
52
|
+
"shared": "workspace:*",
|
|
53
|
+
"smol-toml": "^1.6.0",
|
|
54
|
+
"tsdown": "catalog:",
|
|
55
|
+
"typescript": "catalog:",
|
|
56
|
+
"uploadthing": "^7.7.4",
|
|
57
|
+
"vitest": "catalog:",
|
|
58
|
+
"web": "workspace:*"
|
|
59
|
+
},
|
|
60
|
+
"engines": {
|
|
61
|
+
"node": "^22.16 || ^23.11 || >=24.10"
|
|
29
62
|
}
|
|
30
63
|
}
|