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.
Files changed (75) hide show
  1. package/dist/bin.cjs +13117 -12448
  2. package/dist/bin.mjs +13155 -12486
  3. package/dist/client/assets/{ArtifactPanel-DhNMewF_.js → ArtifactPanel-CdR4rtqI.js} +2 -2
  4. package/dist/client/assets/{ChatMarkdown-CQLSgdaS.js → ChatMarkdown-LC7VQG0i.js} +2 -2
  5. package/dist/client/assets/{DiffPanel-IxDswq5p.js → DiffPanel-Dj0UZJm3.js} +3 -3
  6. package/dist/client/assets/DiffPanelShell-xseg5JQo.js +2 -0
  7. package/dist/client/assets/{DiffWorkerPoolProvider-dhrEONTb.js → DiffWorkerPoolProvider-D6XJdZWI.js} +2 -2
  8. package/dist/client/assets/NoActiveThreadState-CQmuWJhb.js +2 -0
  9. package/dist/client/assets/ProviderModelPicker-Bze2CcYx.js +2 -0
  10. package/dist/client/assets/SettingsPanels-DqCqBUI7.js +4 -0
  11. package/dist/client/assets/_chat-CKouNPVs.js +2 -0
  12. package/dist/client/assets/_chat._threadId-CU4xs7Dd.js +289 -0
  13. package/dist/client/assets/{_chat.index-B4NLV9mk.js → _chat.index-20AQsDPh.js} +2 -2
  14. package/dist/client/assets/automations-CWJGpvWf.js +2 -0
  15. package/dist/client/assets/{badge-BaTrdaZE.js → badge-1VUDnpuQ.js} +2 -2
  16. package/dist/client/assets/clientSettings-5THztvzS.js +2 -0
  17. package/dist/client/assets/{collapsible-DfWqkHJg.js → collapsible--nYYN5Zg.js} +2 -2
  18. package/dist/client/assets/{dialog-DjTpVApd.js → dialog-BzCtORYk.js} +2 -2
  19. package/dist/client/assets/{empty-Be-8qJMT.js → empty-DrPVL67l.js} +2 -2
  20. package/dist/client/assets/{gitReactQuery-TUte-oT5.js → gitReactQuery-Be_6T0Ee.js} +2 -2
  21. package/dist/client/assets/index-B58EBW6O.js +6 -0
  22. package/dist/client/assets/index-Cr2B1Z-_.css +2 -0
  23. package/dist/client/assets/{input-CE9hmpu7.js → input-DWDmgkdY.js} +2 -2
  24. package/dist/client/assets/pull-requests-Doz3BMXH.js +46 -0
  25. package/dist/client/assets/queuedTurnsStore-CIDk30NZ.js +2 -0
  26. package/dist/client/assets/{scroll-area-CbQzkLT_.js → scroll-area-CFMQ9e4_.js} +2 -2
  27. package/dist/client/assets/{separator-DI5DQ7Ks.js → separator-BdZ-ET3V.js} +2 -2
  28. package/dist/client/assets/settings-BGn4mjTS.js +2 -0
  29. package/dist/client/assets/settings.appearance-Ckvmtwdi.js +2 -0
  30. package/dist/client/assets/settings.archived-2t5UQQrc.js +2 -0
  31. package/dist/client/assets/{settings.computer-use-tZN9IYDg.js → settings.computer-use-Dfj_6GTK.js} +2 -2
  32. package/dist/client/assets/{settings.credits-BpgwqbI7.js → settings.credits-BUY8PBTc.js} +2 -2
  33. package/dist/client/assets/settings.general-Bvydzs1m.js +2 -0
  34. package/dist/client/assets/settings.mcp-Byoxze4F.js +2 -0
  35. package/dist/client/assets/{settings.mobile-PxkOX11C.js → settings.mobile-BUu4CP8r.js} +2 -2
  36. package/dist/client/assets/{settings.plugins-CQejJM2o.js → settings.plugins-CAvGUyw-.js} +2 -2
  37. package/dist/client/assets/settings.remote-BaGj1Eao.js +2 -0
  38. package/dist/client/assets/{settings.skills-Cg57qd7S.js → settings.skills-B-UfH45M.js} +2 -2
  39. package/dist/client/assets/{settings.theme-builder-DUu9nCmf.js → settings.theme-builder-DYn2dp1p.js} +2 -2
  40. package/dist/client/assets/{skillsMcpShared-CGi0RTQJ.js → skillsMcpShared-RFZJX9uG.js} +2 -2
  41. package/dist/client/assets/store-KYb5gyLf.js +12 -0
  42. package/dist/client/assets/{terminalStateStore-COv6Fwmt.js → terminalStateStore-DBL14uZB.js} +2 -2
  43. package/dist/client/assets/{textarea-CFQ0q5G1.js → textarea-CeNMtAmc.js} +2 -2
  44. package/dist/client/assets/{toggle-CwB81Wb2.js → toggle-BR_nJmIu.js} +2 -2
  45. package/dist/client/assets/{toggle-group-B4poMzYg.js → toggle-group-Tr8y9Pwx.js} +2 -2
  46. package/dist/client/assets/{uiStateStore-DsIsCBO9.js → uiStateStore-CC1coFoR.js} +2 -2
  47. package/dist/client/assets/{useHandleNewThread-DtShg-Gb.js → useHandleNewThread-CRjy_n7m.js} +2 -2
  48. package/dist/client/assets/useSettings-CvQQz7AW.js +2 -0
  49. package/dist/client/assets/{useTheme-CpDK1jpf.js → useTheme-D0lWhUH9.js} +2 -2
  50. package/dist/client/assets/utils-D1UgimcN.js +2 -0
  51. package/dist/client/assets/{vendor-effect-DldSDsna.js → vendor-effect-Chd9hYxF.js} +1 -1
  52. package/dist/client/assets/{vendor-ui-D-080HIn.js → vendor-ui-CJZCHXkp.js} +2 -2
  53. package/dist/client/index.html +15 -15
  54. package/package.json +1 -1
  55. package/dist/client/assets/DiffPanelShell-BYPngGr7.js +0 -2
  56. package/dist/client/assets/NoActiveThreadState-BhsV4knw.js +0 -2
  57. package/dist/client/assets/ProviderModelPicker-DvZxygLs.js +0 -2
  58. package/dist/client/assets/SettingsPanels-CcxbSb2Y.js +0 -4
  59. package/dist/client/assets/_chat-BKEfH7bm.js +0 -2
  60. package/dist/client/assets/_chat._threadId-CKYAWkIl.js +0 -289
  61. package/dist/client/assets/automations-BaROU0my.js +0 -2
  62. package/dist/client/assets/clientSettings-333fq8u7.js +0 -2
  63. package/dist/client/assets/index-DO0-ySqI.js +0 -6
  64. package/dist/client/assets/index-Hee7CrbY.css +0 -2
  65. package/dist/client/assets/pull-requests-D0RjDNry.js +0 -46
  66. package/dist/client/assets/queuedTurnsStore-C44-Rdam.js +0 -2
  67. package/dist/client/assets/settings-DYPhYb14.js +0 -2
  68. package/dist/client/assets/settings.appearance-DcK3XBNk.js +0 -2
  69. package/dist/client/assets/settings.archived-bTn7EzG_.js +0 -2
  70. package/dist/client/assets/settings.general-C_Aq9Mn4.js +0 -2
  71. package/dist/client/assets/settings.mcp-BnzVTWcW.js +0 -2
  72. package/dist/client/assets/settings.remote-BlV5n30n.js +0 -2
  73. package/dist/client/assets/store-8a4nbwgb.js +0 -12
  74. package/dist/client/assets/useSettings-Bof_skNF.js +0 -2
  75. package/dist/client/assets/utils-X2TItr-k.js +0 -2
@@ -1,2 +0,0 @@
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{w as r}from"./vendor-tanstack-DxB_J8A7.js";import{c as i}from"./vendor--lexical-react-Dg6NVZQt.js";import"./vendor-effect-DldSDsna.js";import{D as a,f as o,s}from"./clientSettings-333fq8u7.js";import{B as c,V as ee,at as l,t as u,tt as d}from"./utils-X2TItr-k.js";import{G as te,W as ne,Y as f,i as p}from"./store-8a4nbwgb.js";import{Hn as m,Mn as h,Nn as g,On as re,Rr as _,qn as v,zr as y}from"./vendor-ui-D-080HIn.js";import{n as ie}from"./useSettings-Bof_skNF.js";import{t as ae}from"./input-CE9hmpu7.js";import{t as b}from"./scroll-area-CbQzkLT_.js";import"./separator-DI5DQ7Ks.js";import"./vendor-diffs-CBk6gACd.js";import{G as x,Nt as oe,Q as S,U as C,W as w,n as se,nt as T,z as E}from"./index-DO0-ySqI.js";import{a as ce,i as le,n as ue,o as de,r as fe,s as pe}from"./ProviderModelPicker-DvZxygLs.js";import{a as me,c as he,i as ge,o as _e,r as ve,s as ye,t as be}from"./dialog-DjTpVApd.js";import{t as xe}from"./textarea-CFQ0q5G1.js";import{a as Se,i as D,n as Ce,o as O,r as we,t as k}from"./empty-Be-8qJMT.js";var Te=n(),A=e(t(),1),Ee=[`all`,`active`,`paused`],De={all:`All`,active:`Active`,paused:`Paused`},Oe=[{label:`Every 15 minutes`,rrule:`FREQ=MINUTELY;INTERVAL=15`},{label:`Every 30 minutes`,rrule:`FREQ=MINUTELY;INTERVAL=30`},{label:`Hourly`,rrule:`FREQ=HOURLY;INTERVAL=1`},{label:`Every 4 hours`,rrule:`FREQ=HOURLY;INTERVAL=4`},{label:`Daily at 9:00`,rrule:`FREQ=DAILY;BYHOUR=9;BYMINUTE=0`}];function ke(e){return Oe.find(t=>t.rrule===e)?.label??`Custom`}function j(e,t){return t===`all`?!0:e.status===t}function Ae(e,t){return t===`all`?e.length:e.filter(e=>j(e,t)).length}function je(e){return e.lastRunStatus===`failed`?`failed`:e.status===`active`?`active`:`paused`}var M=i(),Me={active:`bg-success`,paused:`bg-muted-foreground/40`,failed:`bg-destructive`};function N(e){return e.status===`paused`?`Paused`:e.nextRunAt?`Next ${S(e.nextRunAt)}`:`Not scheduled`}function Ne(e){return e.lastRunAt?`${e.lastRunStatus===`failed`?`Failed`:`Queued`} ${S(e.lastRunAt)}`:`Never run`}function Pe({automations:e,loading:t,loadError:n,filter:r,columnClass:i,onFilterChange:a,onRefresh:o,onCreate:c,onRunNow:ee,onToggleStatus:l,onDelete:te}){let ne=p(e=>e.projects),f=p(e=>e.threads),m=(0,A.useMemo)(()=>new Map(ne.map(e=>[e.id,e])),[ne]),re=(0,A.useMemo)(()=>new Map(f.map(e=>[e.id,e])),[f]),ie=(0,A.useMemo)(()=>{let t={};for(let n of Ee)t[n]=Ae(e,n);return t},[e]),ae=(0,A.useMemo)(()=>e.filter(e=>j(e,r)),[e,r]);return(0,M.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,M.jsx)(`div`,{className:`flex h-11 shrink-0 items-center border-b border-border/40`,children:(0,M.jsxs)(`div`,{className:u(i,`flex h-full items-center justify-between gap-3`),children:[(0,M.jsx)(`div`,{role:`radiogroup`,"aria-label":`Automation filter`,className:`inline-flex items-center rounded-full border border-border/60 bg-background/60 p-[2px]`,children:Ee.map(e=>{let t=e===r,n=ie[e];return(0,M.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t,onClick:()=>a(e),className:u(`inline-flex h-5 items-center gap-1 rounded-full px-2 text-[10.5px] font-medium leading-none transition-colors`,t?`bg-foreground text-background`:`text-muted-foreground hover:text-foreground`),children:[(0,M.jsx)(`span`,{children:De[e]}),(0,M.jsx)(`span`,{className:`text-[9px] tabular-nums opacity-70`,children:n})]},e)})}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsxs)(C,{children:[(0,M.jsx)(x,{render:(0,M.jsx)(s,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`text-muted-foreground hover:text-foreground`,onClick:o,"aria-label":`Refresh automations`,children:(0,M.jsx)(v,{className:`size-3.5`,"aria-hidden":!0})})}),(0,M.jsx)(w,{children:`Refresh`})]}),(0,M.jsxs)(s,{type:`button`,size:`xs`,onClick:c,children:[(0,M.jsx)(g,{className:`size-3.5`,"aria-hidden":!0}),`New automation`]})]})]})}),(0,M.jsx)(b,{className:`min-h-0 flex-1`,children:(0,M.jsx)(`div`,{className:u(i,`flex flex-col gap-1 pt-2 pb-4`),children:t&&e.length===0?(0,M.jsx)(`p`,{className:`px-2 py-8 text-sm text-muted-foreground`,children:`Loading automations...`}):n&&e.length===0?(0,M.jsx)(`div`,{className:`p-6`,children:(0,M.jsxs)(k,{children:[(0,M.jsxs)(D,{children:[(0,M.jsx)(Se,{variant:`icon`,children:(0,M.jsx)(v,{})}),(0,M.jsx)(O,{className:`text-pretty`,children:`Couldn't load automations`}),(0,M.jsx)(we,{className:`text-pretty`,children:n})]}),(0,M.jsx)(Ce,{children:(0,M.jsxs)(s,{onClick:o,size:`sm`,children:[(0,M.jsx)(v,{className:`size-3.5`,"aria-hidden":!0}),`Retry`]})})]})}):ae.length===0?(0,M.jsx)(`div`,{className:`p-6`,children:(0,M.jsxs)(k,{children:[(0,M.jsxs)(D,{children:[(0,M.jsx)(Se,{variant:`icon`,children:(0,M.jsx)(g,{})}),(0,M.jsx)(O,{className:`text-pretty`,children:e.length===0?`No automations yet`:`No matching automations`}),(0,M.jsx)(we,{className:`text-pretty`,children:e.length===0?`Create an automation to start a new thread on a schedule.`:`Try a different filter or create a new automation.`})]}),e.length===0?(0,M.jsx)(Ce,{children:(0,M.jsxs)(s,{onClick:c,size:`sm`,children:[(0,M.jsx)(g,{className:`size-3.5`,"aria-hidden":!0}),`New automation`]})}):null]})}):(0,M.jsx)(`ul`,{className:`flex flex-col gap-0.5 pb-2`,children:ae.map(e=>{let t=(e.projectId?m.get(e.projectId)?.name:null)??e.projectlessCwd??`Projectless`,n=e.lastRunThreadId?re.get(e.lastRunThreadId):void 0,r=je(e);return(0,M.jsx)(`li`,{children:(0,M.jsxs)(`div`,{className:u(`group/automation flex w-full min-w-0 items-stretch gap-3 rounded-md py-2.5 pl-2 pr-2.5`,`hover:bg-sidebar-accent/50`),children:[(0,M.jsx)(`span`,{className:u(`w-[3px] shrink-0 self-stretch rounded-full transition-opacity`,Me[r],`opacity-80 group-hover/automation:opacity-100`),"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,M.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium leading-tight text-foreground`,children:e.title}),(0,M.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1 py-px text-[9px] font-medium uppercase tracking-wider text-muted-foreground/80`,children:ke(e.scheduleRrule)})]}),(0,M.jsxs)(`span`,{className:`truncate text-[11px] text-muted-foreground/70`,children:[d[e.modelSelection.provider],` ·`,` `,t]}),n?(0,M.jsxs)(`span`,{className:`truncate text-[11px] text-muted-foreground/60`,children:[`Last run: `,n.title]}):null,(0,M.jsx)(`p`,{className:`line-clamp-2 text-[11px] leading-[1.45] text-muted-foreground/60`,children:e.prompt}),(0,M.jsxs)(`span`,{className:`mt-0.5 text-[10.5px] text-muted-foreground/55`,children:[N(e),` · `,Ne(e),e.lastRunError?` · ${e.lastRunError}`:``]})]}),(0,M.jsxs)(`div`,{className:`flex shrink-0 items-start gap-1 self-start pt-0.5`,children:[(0,M.jsxs)(C,{children:[(0,M.jsx)(x,{render:(0,M.jsx)(s,{size:`icon-xs`,variant:`ghost`,className:`text-muted-foreground hover:text-foreground`,onClick:()=>ee(e.id),"aria-label":`Run automation now`,children:(0,M.jsx)(_,{className:`size-3.5`,"aria-hidden":!0})})}),(0,M.jsx)(w,{children:`Run now`})]}),(0,M.jsxs)(C,{children:[(0,M.jsx)(x,{render:(0,M.jsx)(s,{size:`icon-xs`,variant:`ghost`,className:`text-muted-foreground hover:text-foreground`,onClick:()=>l(e),"aria-label":e.status===`active`?`Pause automation`:`Resume automation`,children:e.status===`active`?(0,M.jsx)(y,{className:`size-3.5`,"aria-hidden":!0}):(0,M.jsx)(_,{className:`size-3.5`,"aria-hidden":!0})})}),(0,M.jsx)(w,{children:e.status===`active`?`Pause`:`Resume`})]}),(0,M.jsxs)(C,{children:[(0,M.jsx)(x,{render:(0,M.jsx)(s,{size:`icon-xs`,variant:`ghost`,className:`text-muted-foreground hover:text-destructive`,onClick:()=>te(e.id),"aria-label":`Delete automation ${e.title}`,children:(0,M.jsx)(h,{className:`size-3.5`,"aria-hidden":!0})})}),(0,M.jsx)(w,{children:`Delete`})]})]})]})},e.id)})})})})]})}var Fe=`Scheduled automation`,Ie=`Run this scheduled task and report what changed.`,Le={"full-access":`Full access`,"approval-required":`Ask for approval`};function Re(e){let t=(0,Te.c)(115),{open:n,onOpenChange:r,onCreate:i,isCreating:o}=e,u=ie(),d=a(),h=p(He),g,_;t[0]===h?_=t[1]:(_=new Map(h.map(Ve)),t[0]=h,t[1]=_),g=_;let v=g,y;t[2]!==v||t[3]!==d||t[4]!==u?(y=e=>f(v.get(l.makeUnsafe(e))?.defaultModelSelection??u.defaultModelSelection,u,d),t[2]=v,t[3]=d,t[4]=u,t[5]=y):y=t[5];let b=y,[x,oe]=(0,A.useState)(Fe),[S,C]=(0,A.useState)(Ie),[w,se]=(0,A.useState)(``),T;t[6]!==d||t[7]!==u?(T=()=>f(u.defaultModelSelection,u,d),t[6]=d,t[7]=u,t[8]=T):T=t[8];let[E,Se]=(0,A.useState)(T),[D,Ce]=(0,A.useState)(ee),[O,we]=(0,A.useState)(Oe[1].rrule),k;t[9]!==v||t[10]!==w?(k=w?v.get(l.makeUnsafe(w)):void 0,t[9]=v,t[10]=w,t[11]=k):k=t[11];let Ee=k,De,j;t[12]!==E.model||t[13]!==E.provider||t[14]!==d||t[15]!==u?(j=te(u,d,E.provider,E.model),t[12]=E.model,t[13]=E.provider,t[14]=d,t[15]=u,t[16]=j):j=t[16],De=j;let Ae=De,je;t[17]!==n||t[18]!==h[0]?.id||t[19]!==b||t[20]!==d||t[21]!==u?(je=()=>{if(!n)return;let e=h[0]?.id??``;oe(Fe),C(Ie),we(Oe[1].rrule),se(e),Se(e?b(e):f(u.defaultModelSelection,u,d)),Ce(ee)},t[17]=n,t[18]=h[0]?.id,t[19]=b,t[20]=d,t[21]=u,t[22]=je):je=t[22];let Me;t[23]!==n||t[24]!==h||t[25]!==b||t[26]!==d||t[27]!==u?(Me=[n,h,b,d,u],t[23]=n,t[24]=h,t[25]=b,t[26]=d,t[27]=u,t[28]=Me):Me=t[28],(0,A.useEffect)(je,Me);let N=o||x.trim().length===0||S.trim().length===0||w.length===0,Ne;t[29]!==E||t[30]!==i||t[31]!==w||t[32]!==S||t[33]!==D||t[34]!==O||t[35]!==N||t[36]!==x?(Ne=()=>{N||i({title:x.trim(),prompt:S.trim(),projectId:l.makeUnsafe(w),projectlessCwd:null,modelSelection:E,runtimeMode:D,interactionMode:c,scheduleRrule:O,status:`active`})},t[29]=E,t[30]=i,t[31]=w,t[32]=S,t[33]=D,t[34]=O,t[35]=N,t[36]=x,t[37]=Ne):Ne=t[37];let Pe=Ne,Re;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,M.jsxs)(me,{children:[(0,M.jsx)(he,{children:`New automation`}),(0,M.jsx)(ve,{children:`Create a new thread on a schedule and run a prompt automatically.`})]}),t[38]=Re):Re=t[38];let Ue;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,M.jsx)(`label`,{htmlFor:`automation-new-title`,className:`text-[11px] font-medium text-muted-foreground/75`,children:`Title`}),t[39]=Ue):Ue=t[39];let We;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(We=e=>oe(e.currentTarget.value),t[40]=We):We=t[40];let P;t[41]===x?P=t[42]:(P=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ue,(0,M.jsx)(ae,{id:`automation-new-title`,autoFocus:!0,value:x,onChange:We})]}),t[41]=x,t[42]=P);let Ge;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,M.jsx)(`label`,{htmlFor:`automation-new-project`,className:`text-[11px] font-medium text-muted-foreground/75`,children:`Project`}),t[43]=Ge):Ge=t[43];let F;t[44]===b?F=t[45]:(F=e=>{let t=e??``;se(t),t&&Se(b(t))},t[44]=b,t[45]=F);let Ke=Ee?.name??`Select a project`,I;t[46]===Ke?I=t[47]:(I=(0,M.jsx)(de,{id:`automation-new-project`,size:`sm`,className:`w-full`,children:(0,M.jsx)(pe,{placeholder:`Select a project`,children:Ke})}),t[46]=Ke,t[47]=I);let L;t[48]===h?L=t[49]:(L=h.map(Be),t[48]=h,t[49]=L);let R;t[50]===L?R=t[51]:(R=(0,M.jsx)(ce,{align:`start`,alignItemWithTrigger:!1,children:L}),t[50]=L,t[51]=R);let z;t[52]!==w||t[53]!==F||t[54]!==I||t[55]!==R?(z=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ge,(0,M.jsxs)(fe,{value:w,onValueChange:F,children:[I,R]})]}),t[52]=w,t[53]=F,t[54]=I,t[55]=R,t[56]=z):z=t[56];let qe;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(qe=(0,M.jsx)(`span`,{className:`text-[11px] font-medium text-muted-foreground/75`,children:`Model`}),t[57]=qe):qe=t[57];let B;t[58]!==d||t[59]!==u?(B=(e,t)=>{Se(f(ne(e,t),u,d))},t[58]=d,t[59]=u,t[60]=B):B=t[60];let V;t[61]!==Ae||t[62]!==E.model||t[63]!==E.options||t[64]!==E.provider||t[65]!==d||t[66]!==B?(V=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[qe,(0,M.jsx)(ue,{provider:E.provider,model:E.model,lockedProvider:null,providers:d,modelOptionsByProvider:Ae,modelOptions:E.options,triggerVariant:`outline`,triggerClassName:`w-full justify-start`,onProviderModelChange:B})]}),t[61]=Ae,t[62]=E.model,t[63]=E.options,t[64]=E.provider,t[65]=d,t[66]=B,t[67]=V):V=t[67];let Je;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,M.jsx)(`label`,{htmlFor:`automation-new-runtime`,className:`text-[11px] font-medium text-muted-foreground/75`,children:`Access`}),t[68]=Je):Je=t[68];let Ye;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=e=>Ce(e??`full-access`),t[69]=Ye):Ye=t[69];let Xe=Le[D],H;t[70]===Xe?H=t[71]:(H=(0,M.jsx)(de,{id:`automation-new-runtime`,size:`sm`,className:`w-full`,children:(0,M.jsx)(pe,{children:Xe})}),t[70]=Xe,t[71]=H);let Ze;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=(0,M.jsxs)(ce,{align:`start`,alignItemWithTrigger:!1,children:[(0,M.jsx)(le,{value:`full-access`,hideIndicator:!0,children:`Full access`}),(0,M.jsx)(le,{value:`approval-required`,hideIndicator:!0,children:`Ask for approval`})]}),t[72]=Ze):Ze=t[72];let U;t[73]!==D||t[74]!==H?(U=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Je,(0,M.jsxs)(fe,{value:D,onValueChange:Ye,children:[H,Ze]})]}),t[73]=D,t[74]=H,t[75]=U):U=t[75];let Qe;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,M.jsx)(`label`,{htmlFor:`automation-new-schedule`,className:`text-[11px] font-medium text-muted-foreground/75`,children:`Schedule`}),t[76]=Qe):Qe=t[76];let $e;t[77]===Symbol.for(`react.memo_cache_sentinel`)?($e=e=>we(e??``),t[77]=$e):$e=t[77];let W;t[78]===O?W=t[79]:(W=ke(O),t[78]=O,t[79]=W);let G;t[80]===W?G=t[81]:(G=(0,M.jsx)(de,{id:`automation-new-schedule`,size:`sm`,className:`w-full`,children:(0,M.jsx)(pe,{children:W})}),t[80]=W,t[81]=G);let et;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,M.jsx)(ce,{align:`start`,alignItemWithTrigger:!1,children:Oe.map(ze)}),t[82]=et):et=t[82];let K;t[83]!==O||t[84]!==G?(K=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Qe,(0,M.jsxs)(fe,{value:O,onValueChange:$e,children:[G,et]})]}),t[83]=O,t[84]=G,t[85]=K):K=t[85];let tt;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,M.jsx)(`label`,{htmlFor:`automation-new-prompt`,className:`text-[11px] font-medium text-muted-foreground/75`,children:`Prompt`}),t[86]=tt):tt=t[86];let nt;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(nt=e=>C(e.currentTarget.value),t[87]=nt):nt=t[87];let q;t[88]===S?q=t[89]:(q=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[tt,(0,M.jsx)(xe,{id:`automation-new-prompt`,className:`min-h-24 resize-y`,value:S,onChange:nt,rows:4})]}),t[88]=S,t[89]=q);let J;t[90]!==P||t[91]!==z||t[92]!==V||t[93]!==U||t[94]!==K||t[95]!==q?(J=(0,M.jsxs)(_e,{className:`flex flex-col gap-3`,children:[P,z,V,U,K,q]}),t[90]=P,t[91]=z,t[92]=V,t[93]=U,t[94]=K,t[95]=q,t[96]=J):J=t[96];let Y;t[97]===r?Y=t[98]:(Y=(0,M.jsx)(s,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!1),children:`Cancel`}),t[97]=r,t[98]=Y);let X;t[99]===o?X=t[100]:(X=o?(0,M.jsx)(re,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,M.jsx)(m,{className:`size-3.5`,"aria-hidden":!0}),t[99]=o,t[100]=X);let Z;t[101]!==Pe||t[102]!==N||t[103]!==X?(Z=(0,M.jsxs)(s,{type:`button`,size:`sm`,disabled:N,onClick:Pe,children:[X,`Create automation`]}),t[101]=Pe,t[102]=N,t[103]=X,t[104]=Z):Z=t[104];let Q;t[105]!==Y||t[106]!==Z?(Q=(0,M.jsxs)(ge,{variant:`bare`,children:[Y,Z]}),t[105]=Y,t[106]=Z,t[107]=Q):Q=t[107];let $;t[108]!==J||t[109]!==Q?($=(0,M.jsxs)(ye,{className:`max-w-md`,children:[Re,J,Q]}),t[108]=J,t[109]=Q,t[110]=$):$=t[110];let rt;return t[111]!==r||t[112]!==n||t[113]!==$?(rt=(0,M.jsx)(be,{open:n,onOpenChange:r,children:$}),t[111]=r,t[112]=n,t[113]=$,t[114]=rt):rt=t[114],rt}function ze(e){return(0,M.jsx)(le,{value:e.rrule,hideIndicator:!0,children:e.label},e.rrule)}function Be(e){return(0,M.jsxs)(le,{value:e.id,hideIndicator:!0,children:[(0,M.jsx)(`span`,{className:`block min-w-0 truncate`,children:e.name}),(0,M.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.cwd})]},e.id)}function Ve(e){return[e.id,e]}function He(e){return e.projects}var Ue=8e3;function We(e,t,n){return new Promise((r,i)=>{let a=window.setTimeout(()=>{i(Error(n))},t);e.then(e=>{window.clearTimeout(a),r(e)},e=>{window.clearTimeout(a),i(e)})})}function P({search:e}){let t=r(),n=e.filter??`all`,[i,a]=(0,A.useState)({automations:[]}),[s,c]=(0,A.useState)(!0),[ee,l]=(0,A.useState)(null),[d,te]=(0,A.useState)(!1),[ne,f]=(0,A.useState)(!1),p=(0,A.useRef)(!0);(0,A.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let m=(0,A.useCallback)(async e=>{e?.quiet||(c(!0),l(null));try{let e=await We(o().automations.list(),Ue,`Timed out while loading automations.`);p.current&&(a(e),l(null))}catch(t){let n=t instanceof Error?t.message:`Try again in a moment.`;p.current&&!e?.quiet&&(l(n),T.add({type:`error`,title:`Failed to load automations`,description:n}))}finally{p.current&&!e?.quiet&&c(!1)}},[]);(0,A.useEffect)(()=>{m()},[m]),(0,A.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&m({quiet:!0})},t=window.setInterval(e,3e4);return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,e)}},[m]);let h=(0,A.useCallback)(e=>{t({to:`/automations`,search:{filter:e}})},[t]),g=(0,A.useCallback)(async e=>{te(!0);try{let t=await o().automations.create(e);if(!p.current)return;a(t),T.add({type:`success`,title:`Automation created`}),f(!1)}catch(e){if(!p.current)return;T.add({type:`error`,title:`Failed to create automation`,description:e instanceof Error?e.message:`Try again in a moment.`})}finally{p.current&&te(!1)}},[]),re=(0,A.useCallback)(async e=>{try{let t=await o().automations.runNow({automationId:e});if(!p.current)return;a(t),T.add({type:`success`,title:`Automation queued`})}catch(e){if(!p.current)return;T.add({type:`error`,title:`Failed to queue automation`,description:e instanceof Error?e.message:`Try again in a moment.`})}},[]),_=(0,A.useCallback)(async e=>{let t=e.status===`active`?`paused`:`active`;try{let n=await o().automations.update({automationId:e.id,status:t});p.current&&a(n)}catch(e){if(!p.current)return;T.add({type:`error`,title:`Failed to update automation`,description:e instanceof Error?e.message:`Try again in a moment.`})}},[]),v=(0,A.useCallback)(async e=>{try{let t=await o().automations.delete({automationId:e});p.current&&a(t)}catch(e){if(!p.current)return;T.add({type:`error`,title:`Failed to delete automation`,description:e instanceof Error?e.message:`Try again in a moment.`})}},[]),y=`mx-auto w-full max-w-3xl px-4`;return(0,M.jsxs)(E,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:[(0,M.jsx)(`div`,{className:`relative isolate flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:(0,M.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background [contain:paint]`,children:[oe?(0,M.jsx)(`div`,{className:`drag-region flex h-[52px] shrink-0 items-center`}):(0,M.jsx)(`header`,{className:`flex h-12 shrink-0 items-center`,children:(0,M.jsx)(`div`,{className:u(y,`flex h-full items-center`)})}),(0,M.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,M.jsx)(Pe,{automations:i.automations,loading:s,loadError:ee,filter:n,columnClass:y,onFilterChange:h,onRefresh:()=>void m(),onCreate:()=>f(!0),onRunNow:e=>void re(e),onToggleStatus:e=>void _(e),onDelete:e=>void v(e)})})]})}),(0,M.jsx)(Re,{open:ne,onOpenChange:f,onCreate:g,isCreating:d})]})}function Ge(){let e=(0,Te.c)(2),t=se.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,M.jsx)(P,{search:t}),e[0]=t,e[1]=n),n}export{Ge as component};
2
- //# sourceMappingURL=automations-BaROU0my.js.map
@@ -1,2 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{$t as t,Ci as n,Cr as r,Fn as i,H as a,J as o,Jt as s,Mn as c,Pn as l,Pt as u,Ur as d,Wr as ee,Wt as te,a as ne,d as re,dn as ie,dr as ae,i as oe,ir as se,lr as ce,n as f,o as le,pr as ue,q as de,r as fe,rr as pe,s as me,t as he,zt as ge}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as _e}from"./vendor-react-BvVnE5E6.js";import{c as ve}from"./vendor--lexical-react-Dg6NVZQt.js";import{a as ye,c as be,i as xe,l as Se,o as Ce,r as we}from"./vendor-effect-DldSDsna.js";import{W as p,b as Te,d as m,f as h,g,m as _,ot as Ee,p as De,t as Oe}from"./utils-X2TItr-k.js";import{t as ke}from"./vendor-class-variance-authority-M1Ix6tns.js";import{fn as Ae,pn as je}from"./vendor-ui-D-080HIn.js";var v=_e(),Me=ve(),y=me();function Ne(e){let t=(0,v.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Me.jsx)(fe.Provider,{value:y,children:n}),t[0]=n,t[1]=r),r}function Pe(e,t){return new Promise(n=>{let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:9999`;let i=document.createElement(`div`);i.className=`fixed z-[10000] min-w-[140px] rounded-md border border-border bg-popover py-1 shadow-xl animate-in fade-in zoom-in-95`;let a=t?.x??0,o=t?.y??0;i.style.top=`${o}px`,i.style.left=`${a}px`;function s(e){document.removeEventListener(`keydown`,c),r.remove(),i.remove(),n(e)}function c(e){e.key===`Escape`&&(e.preventDefault(),s(null))}r.addEventListener(`mousedown`,()=>s(null)),document.addEventListener(`keydown`,c);for(let t of e){let e=document.createElement(`button`);e.type=`button`,e.textContent=t.label;let n=t.destructive===!0||t.id===`delete`,r=t.disabled===!0;e.disabled=r,e.className=r?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-muted-foreground/60 cursor-not-allowed`:n?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-destructive hover:bg-accent cursor-default`:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-popover-foreground hover:bg-accent cursor-default`,r||e.addEventListener(`click`,()=>s(t.id)),i.appendChild(e)}document.body.appendChild(r),document.body.appendChild(i),requestAnimationFrame(()=>{let e=i.getBoundingClientRect();e.right>window.innerWidth&&(i.style.left=`${window.innerWidth-e.width-4}px`),e.bottom>window.innerHeight&&(i.style.top=`${window.innerHeight-e.height-4}px`)})})}var Fe=`shioricode:thread-lease:`,b=`shioricode:thread-lease-client-id`,Ie=15e3;function x(){return typeof window<`u`&&window.localStorage!==void 0}function S(e){return`${Fe}${e}`}function C(){if(typeof window>`u`||window.sessionStorage===void 0)return null;let e=window.sessionStorage.getItem(b);if(e)return e;let t=crypto.randomUUID();return window.sessionStorage.setItem(b,t),t}function w(e){if(!x())return null;let t=window.localStorage.getItem(S(e));if(!t)return null;try{let e=JSON.parse(t);return typeof e.ownerClientId!=`string`||typeof e.acquiredAt!=`number`||typeof e.expiresAt!=`number`?null:{ownerClientId:e.ownerClientId,acquiredAt:e.acquiredAt,expiresAt:e.expiresAt}}catch{return null}}function Le(e,t){x()&&window.localStorage.setItem(S(e),JSON.stringify(t))}function T(e){let t=C();if(!t||!x())return!0;let n=Date.now(),r=w(e);return r&&r.ownerClientId!==t&&r.expiresAt>n?!1:(Le(e,{ownerClientId:t,acquiredAt:r?.ownerClientId===t?r.acquiredAt:n,expiresAt:n+Ie}),w(e)?.ownerClientId===t)}function Re(e){return T(e)}function ze(e){let t=C();if(!t||!x())return;let n=w(e);!n||n.ownerClientId!==t||window.localStorage.removeItem(S(e))}async function Be(e){if(!T(e))throw Error(`This thread is currently active in another tab. Continue there or wait a few seconds before retrying.`)}var E=e(n(),1);function D(e,t){return ne(t).pipe(oe,le(e))}function O(e){return{issues:e.issues,providers:e.providers,settings:e.settings}}var Ve=[],He=[],Ue=[],We=e=>e?.availableEditors??Ve,Ge=e=>e?.keybindings??He,Ke=e=>e?.keybindingsConfigPath??null,qe=e=>e?.providers??Ue,Je=e=>e?.settings??Te,k=D(`server-welcome`,null),A=D(`server-config`,null),j=D(`server-config-updated`,null),Ye=D(`server-providers-updated`,null);function M(){return y.get(A)}function Xe(){return y.get(j)}function N(e){F(e),I({providers:e.providers}),L(O(e),`snapshot`)}function Ze(e){switch(e.type){case`snapshot`:N(e.config);return;case`keybindingsUpdated`:{let t=M();if(!t)return;let n={...t,issues:e.payload.issues};F(n),L(O(n),e.type);return}case`providerStatuses`:Qe(e.payload);return;case`settingsUpdated`:P(e.payload.settings);return}}function Qe(e){let t=M();if(I(e),!t)return;let n={...t,providers:e.providers};F(n),L(O(n),`providerStatuses`)}function P(e){let t=M();if(!t)return;let n={...t,settings:e};F(n),L(O(n),`settingsUpdated`)}function $e(e){y.set(k,e)}function et(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&$e(e.payload)}),e.subscribeConfig(e=>{Ze(e)})];return M()===null&&e.getConfig().then(e=>{t||M()!==null||N(e)}).catch(()=>void 0),()=>{t=!0;for(let e of n)e()}}var tt=1;function F(e){y.set(A,e)}function I(e){y.set(Ye,e)}function L(e,t){y.set(j,{id:tt++,payload:e,source:t})}function R(e,t){let n=(0,E.useRef)(t);n.current=t,he(e,(0,E.useCallback)(e=>{e!==null&&n.current(e)},[]),{immediate:!0})}function nt(){return f(A)}function rt(){return f(A,Je)}function it(){return f(A,qe)}function at(){return f(A,Ge)}function ot(){return f(A,We)}function st(){return f(A,Ke)}function ct(e){R(k,e)}function lt(e){R(j,e)}var ut=ye(De),dt=d(250);function ft(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function pt(e){let t=be(e).pipe(se(Se));return xe({retryTransientErrors:!0}).pipe(se(pe(t,Ce)))}var z=class{runtime;clientScope;clientPromise;disposed=!1;constructor(e){this.runtime=we(pt(e)),this.clientScope=this.runtime.runSync(ae()),this.clientPromise=this.runtime.runPromise(ue(this.clientScope)(ut))}async request(e){if(this.disposed)throw Error(`Transport disposed`);let t=await this.clientPromise;return await this.runtime.runPromise(l(()=>e(t)))}subscribe(e,n,r){if(this.disposed)return()=>void 0;let a=!0,o=r?.retryDelay??dt,l=this.runtime.runCallback(ie(()=>this.clientPromise).pipe(te(t=>re(e(t),e=>i(()=>{if(a)try{n(e)}catch{}}))),ge(e=>!a||this.disposed?t:i(()=>{console.warn(`WebSocket RPC subscription disconnected`,{error:ft(e)})}).pipe(u(c(o)))),s));return()=>{a=!1,l()}}async dispose(){this.disposed||(this.disposed=!0,await this.runtime.runPromise(ce(this.clientScope,r)).finally(()=>{this.runtime.dispose()}))}};function mt(e){let t=e.transport??new z(ht(e.url));return{dispose:()=>t.dispose(),terminal:{open:e=>t.request(t=>t[h.terminalOpen](e)),write:e=>t.request(t=>t[h.terminalWrite](e)),resize:e=>t.request(t=>t[h.terminalResize](e)),clear:e=>t.request(t=>t[h.terminalClear](e)),restart:e=>t.request(t=>t[h.terminalRestart](e)),close:e=>t.request(t=>t[h.terminalClose](e)),onEvent:e=>t.subscribe(e=>e[h.subscribeTerminalEvents]({}),e)},projects:{searchEntries:e=>t.request(t=>t[h.projectsSearchEntries](e)),readFile:e=>t.request(t=>t[h.projectsReadFile](e)),writeFile:e=>t.request(t=>t[h.projectsWriteFile](e))},shell:{openInEditor:e=>t.request(t=>t[h.shellOpenInEditor](e))},git:{status:e=>t.request(t=>t[h.gitStatus](e)),listBranches:e=>t.request(t=>t[h.gitListBranches](e)),createWorktree:e=>t.request(t=>t[h.gitCreateWorktree](e)),removeWorktree:e=>t.request(t=>t[h.gitRemoveWorktree](e)),createBranch:e=>t.request(t=>t[h.gitCreateBranch](e)),checkout:e=>t.request(t=>t[h.gitCheckout](e)),init:e=>t.request(t=>t[h.gitInit](e)),resolvePullRequest:e=>t.request(t=>t[h.gitResolvePullRequest](e)),preparePullRequestThread:e=>t.request(t=>t[h.gitPreparePullRequestThread](e)),listOpenPullRequests:e=>t.request(t=>t[h.gitListOpenPullRequests](e)),getPullRequestDiff:e=>t.request(t=>t[h.gitGetPullRequestDiff](e)),summarizePullRequest:e=>t.request(t=>t[h.gitSummarizePullRequest](e)),getPullRequestConversation:e=>t.request(t=>t[h.gitGetPullRequestConversation](e))},server:{getConfig:()=>t.request(e=>e[h.serverGetConfig]({})),refreshProviders:()=>t.request(e=>e[h.serverRefreshProviders]({})),upsertKeybinding:e=>t.request(t=>t[h.serverUpsertKeybinding](e)),getSettings:()=>t.request(e=>e[h.serverGetSettings]({})),updateSettings:e=>t.request(t=>t[h.serverUpdateSettings]({patch:e})),listMcpServers:()=>t.request(e=>e[h.serverListMcpServers]({})),authenticateMcpServer:e=>t.request(t=>t[h.serverAuthenticateMcpServer](e)),removeMcpServer:e=>t.request(t=>t[h.serverRemoveMcpServer](e)),listSkills:()=>t.request(e=>e[h.serverListSkills]({})),removeSkill:e=>t.request(t=>t[h.serverRemoveSkill](e)),getProviderUsage:e=>t.request(t=>t[h.serverGetProviderUsage](e)),subscribeConfig:e=>t.subscribe(e=>e[h.subscribeServerConfig]({}),e),subscribeLifecycle:e=>t.subscribe(e=>e[h.subscribeServerLifecycle]({}),e)},remote:{getStatus:()=>t.request(e=>e[h.remoteGetStatus]({})),setCredentials:e=>t.request(t=>t[h.remoteSetCredentials](e)),setExposure:e=>t.request(t=>t[h.remoteSetExposure](e)),beginManagedSignIn:e=>t.request(t=>t[h.remoteBeginManagedSignIn](e)),disconnectManagedAccount:e=>t.request(t=>t[h.remoteDisconnectManagedAccount](e)),revokeSession:e=>t.request(t=>t[h.remoteRevokeSession](e)),testConnection:()=>t.request(e=>e[h.remoteTestConnection]({}))},onboarding:{getState:()=>t.request(e=>e[h.onboardingGetState]({})),completeStep:e=>t.request(t=>t[h.onboardingCompleteStep](e)),reset:()=>t.request(e=>e[h.onboardingReset]({}))},automations:{list:()=>t.request(e=>e[h.automationsList]({})),create:e=>t.request(t=>t[h.automationsCreate](e)),update:e=>t.request(t=>t[h.automationsUpdate](e)),delete:e=>t.request(t=>t[h.automationsDelete](e)),runNow:e=>t.request(t=>t[h.automationsRunNow](e))},telemetry:{capture:e=>t.request(t=>t[h.telemetryCapture](e)).then(()=>void 0),log:e=>t.request(t=>t[h.telemetryLog](e)).then(()=>void 0)},orchestration:{getSnapshot:()=>t.request(e=>e[p.getSnapshot]({})),dispatchCommand:e=>t.request(t=>t[p.dispatchCommand](e)),getTurnDiff:e=>t.request(t=>t[p.getTurnDiff](e)),getFullThreadDiff:e=>t.request(t=>t[p.getFullThreadDiff](e)),getSubagentDetail:e=>t.request(t=>t[p.getSubagentDetail](e)),replayEvents:e=>t.request(t=>t[p.replayEvents](e)).then(e=>[...e]),onDomainEvent:e=>t.subscribe(e=>e[h.subscribeOrchestrationDomainEvents]({}),e)},browserPanel:{completeCommand:e=>t.request(t=>t[h.browserPanelCompleteCommand](e)),onNavigateRequest:e=>t.subscribe(e=>e[h.subscribeBrowserPanelCommands]({}),e)},computer:{getPermissions:()=>t.request(e=>e[h.computerGetPermissions]({})),requestPermission:e=>t.request(t=>t[h.computerRequestPermission](e)),showPermissionGuide:e=>t.request(t=>t[h.computerShowPermissionGuide](e)),createSession:(e={})=>t.request(t=>t[h.computerCreateSession](e)),closeSession:e=>t.request(t=>t[h.computerCloseSession](e)).then(()=>void 0),screenshot:e=>t.request(t=>t[h.computerScreenshot](e)),listApps:e=>t.request(t=>t[h.computerListApps](e)),focusApp:e=>t.request(t=>t[h.computerFocusApp](e)),focusWindow:e=>t.request(t=>t[h.computerFocusWindow](e)),click:e=>t.request(t=>t[h.computerClick](e)),doubleClick:e=>t.request(t=>t[h.computerDoubleClick](e)),rightClick:e=>t.request(t=>t[h.computerRightClick](e)),move:e=>t.request(t=>t[h.computerMove](e)),drag:e=>t.request(t=>t[h.computerDrag](e)),type:e=>t.request(t=>t[h.computerType](e)),key:e=>t.request(t=>t[h.computerKey](e)),scroll:e=>t.request(t=>t[h.computerScroll](e)),wait:e=>t.request(t=>t[h.computerWait](e))}}}function ht(e){if(!e||e.trim().length===0)throw Error(`WebSocket RPC URL is required.`);return e}var gt=class extends z{constructor(e){super(m({url:e,protocol:window.location.protocol===`https:`?`wss`:`ws`,pathname:`/ws`}))}},B=null;function V(){return B||(B=_t(),B)}function _t(e){let t=m({protocol:window.location.protocol===`https:`?`wss`:`ws`,pathname:`/ws`});return mt({transport:e??new gt(t),url:t})}var H=null,vt=new Set([`thread.archive`,`thread.unarchive`,`thread.delete`,`thread.meta.update`,`thread.runtime-mode.set`,`thread.interaction-mode.set`,`thread.turn.start`,`thread.turn.steer`,`thread.turn.interrupt`,`thread.approval.respond`,`thread.user-input.respond`,`thread.checkpoint.revert`,`thread.turn.retry`,`thread.message.edit`,`thread.session.ensure`,`thread.session.stop`]);async function yt(e,t){let n=`threadId`in t&&typeof t.threadId==`string`?Ee.makeUnsafe(t.threadId):null;return n&&vt.has(t.type)&&await Be(n),e(t)}function bt(){if(H)return H.api;let e=V(),t={dialogs:{pickFolder:async()=>window.desktopBridge?window.desktopBridge.pickFolder():null,confirm:async e=>window.desktopBridge?window.desktopBridge.confirm(e):window.confirm(e)},terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),clear:t=>e.terminal.clear(t),restart:t=>e.terminal.restart(t),close:t=>e.terminal.close(t),onEvent:t=>e.terminal.onEvent(t)},projects:{searchEntries:e.projects.searchEntries,readFile:e.projects.readFile,writeFile:e.projects.writeFile},shell:{openInEditor:(t,n)=>e.shell.openInEditor({cwd:t,editor:n}),openExternal:async e=>{if(window.desktopBridge){if(!await window.desktopBridge.openExternal(e))throw Error(`Unable to open link.`);return}window.open(e,`_blank`,`noopener,noreferrer`)}},git:{status:e.git.status,listBranches:e.git.listBranches,createWorktree:e.git.createWorktree,removeWorktree:e.git.removeWorktree,createBranch:e.git.createBranch,checkout:e.git.checkout,init:e.git.init,resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread,listOpenPullRequests:e.git.listOpenPullRequests,getPullRequestDiff:e.git.getPullRequestDiff,summarizePullRequest:e.git.summarizePullRequest,getPullRequestConversation:e.git.getPullRequestConversation},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):Pe(e,t)},server:{getConfig:e.server.getConfig,refreshProviders:e.server.refreshProviders,upsertKeybinding:e.server.upsertKeybinding,getSettings:e.server.getSettings,updateSettings:e.server.updateSettings,listMcpServers:e.server.listMcpServers,authenticateMcpServer:t=>e.server.authenticateMcpServer(t).then(()=>void 0),removeMcpServer:t=>e.server.removeMcpServer(t).then(()=>void 0),listSkills:e.server.listSkills,removeSkill:t=>e.server.removeSkill(t).then(()=>void 0),getProviderUsage:t=>e.server.getProviderUsage({provider:t})},orchestration:{getSnapshot:e.orchestration.getSnapshot,dispatchCommand:t=>yt(e.orchestration.dispatchCommand,t),getTurnDiff:e.orchestration.getTurnDiff,getFullThreadDiff:e.orchestration.getFullThreadDiff,getSubagentDetail:e.orchestration.getSubagentDetail,replayEvents:t=>e.orchestration.replayEvents({fromSequenceExclusive:t}).then(e=>[...e]),onDomainEvent:t=>e.orchestration.onDomainEvent(t)},onboarding:{getState:e.onboarding.getState,completeStep:t=>e.onboarding.completeStep(t),reset:e.onboarding.reset},automations:{list:e.automations.list,create:e.automations.create,update:e.automations.update,delete:e.automations.delete,runNow:e.automations.runNow},telemetry:{capture:t=>e.telemetry.capture(t),log:t=>e.telemetry.log(t)},browserPanel:{onNavigateRequest:t=>e.browserPanel.onNavigateRequest(t),completeCommand:t=>e.browserPanel.completeCommand(t).then(()=>void 0)},computer:{getPermissions:()=>e.computer.getPermissions(),requestPermission:t=>e.computer.requestPermission(t),showPermissionGuide:t=>e.computer.showPermissionGuide(t),createSession:(t={})=>e.computer.createSession(t),closeSession:t=>e.computer.closeSession(t),screenshot:t=>e.computer.screenshot(t),listApps:t=>e.computer.listApps(t),focusApp:t=>e.computer.focusApp(t),focusWindow:t=>e.computer.focusWindow(t),click:t=>e.computer.click(t),doubleClick:t=>e.computer.doubleClick(t),rightClick:t=>e.computer.rightClick(t),move:t=>e.computer.move(t),drag:t=>e.computer.drag(t),type:t=>e.computer.type(t),key:t=>e.computer.key(t),scroll:t=>e.computer.scroll(t),wait:t=>e.computer.wait(t)}};return H={api:t},t}var U,W=!0;function xt(e){return e===`localhost`||e===`127.0.0.1`||e===`::1`}function St(){let e=``?.trim();if(!e)return!1;try{return xt(new URL(e).hostname)}catch{return!1}}function Ct(){return typeof window>`u`?!1:window.nativeApi!==void 0||window.desktopBridge!==void 0}function wt(e){W=e}function G(){if(!(typeof window>`u`)){if(U)return U;if(window.nativeApi)return U=window.nativeApi,U;if(window.desktopBridge||!(!W&&!St()))return U=bt(),U}}function Tt(){let e=G();if(!e)throw Error(`Native API not found`);return e}var K=typeof window<`u`?window.localStorage:function(){let e=new Map;return{clear:()=>e.clear(),getItem:t=>e.get(t)??null,key:t=>ee(e).at(t)??null,get length(){return e.size},removeItem:t=>e.delete(t),setItem:(t,n)=>e.set(t,n)}}(),Et=(e,t)=>a(o(e))(t),Dt=(e,t)=>de(o(e))(t),q=(e,t)=>{let n=K.getItem(e);return n?Et(t,n):null},J=(e,t,n)=>{let r=Dt(n,t);K.setItem(e,r)},Ot=e=>{K.removeItem(e)},Y=`shioricode:local_storage_change`;function kt(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Y,{detail:{key:e}}))}function At(e,t,n){let[r,i]=(0,E.useState)(()=>{try{return q(e,n)??t}catch(e){return console.error(`[LOCALSTORAGE] Error:`,e),t}}),a=(0,E.useCallback)(t=>{try{i(r=>{let i=typeof t==`function`?t(r):t;return i===null?Ot(e):J(e,i,n),queueMicrotask(()=>kt(e)),i})}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}},[e,n]),o=(0,E.useRef)(e);return(0,E.useEffect)(()=>{if(o.current!==e){o.current=e;try{i(q(e,n)??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,E.useEffect)(()=>{let r=()=>{try{i(q(e,n)??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}},a=t=>{t.key===e&&r()},o=t=>{t.detail.key===e&&r()};return window.addEventListener(`storage`,a),window.addEventListener(Y,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Y,o)}},[e,t,n]),[r,a]}var X=ke(`[&_svg]:-mx-0.5 relative inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md border font-medium text-base outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{defaultVariants:{size:`default`,variant:`default`},variants:{size:{default:`h-9 px-[calc(--spacing(3)-1px)] sm:h-8`,icon:`size-9 sm:size-8`,"icon-lg":`size-10 sm:size-9`,"icon-sm":`size-8 sm:size-7`,"icon-xl":`size-11 sm:size-10 [&_svg:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5`,"icon-xs":`size-7 rounded-md before:rounded-[calc(var(--radius-md)-1px)] sm:size-6 not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-4 sm:not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-3.5`,lg:`h-10 px-[calc(--spacing(3.5)-1px)] sm:h-9`,sm:`h-8 gap-1.5 px-[calc(--spacing(2.5)-1px)] sm:h-7`,xl:`h-11 px-[calc(--spacing(4)-1px)] text-lg sm:h-10 sm:text-base [&_svg:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5`,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`},variant:{default:`not-disabled:inset-shadow-[0_1px_--theme(--color-white/16%)] border-primary bg-primary text-primary-foreground shadow-primary/24 shadow-xs [:active,[data-pressed]]:inset-shadow-[0_1px_--theme(--color-black/8%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-primary/90 disabled:cursor-not-allowed disabled:border-input disabled:bg-muted disabled:text-muted-foreground disabled:opacity-100 disabled:shadow-none`,destructive:`not-disabled:inset-shadow-[0_1px_--theme(--color-white/16%)] border-destructive bg-destructive text-white shadow-destructive/24 shadow-xs [:active,[data-pressed]]:inset-shadow-[0_1px_--theme(--color-black/8%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-destructive/90`,"destructive-outline":`border-border/72 bg-transparent text-destructive-foreground dark:bg-input/16 dark:border-border [:hover,[data-pressed]]:border-destructive/40 [:hover,[data-pressed]]:bg-destructive/8`,ghost:`border-transparent text-foreground data-pressed:bg-accent [:hover,[data-pressed]]:bg-accent`,link:`border-transparent underline-offset-4 [:hover,[data-pressed]]:underline`,outline:`border-border/72 bg-transparent text-foreground/85 dark:border-border dark:bg-input/16 [:hover,[data-pressed]]:border-border [:hover,[data-pressed]]:bg-accent/50 [:hover,[data-pressed]]:text-foreground dark:[:hover,[data-pressed]]:bg-input/40`,secondary:`border-transparent bg-secondary text-secondary-foreground [:active,[data-pressed]]:bg-secondary/80 [:hover,[data-pressed]]:bg-secondary/90`}}});function jt(e){let t=(0,v.c)(18),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:n,variant:o,size:a,render:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=i?void 0:`button`,c,l,u;if(t[6]!==n||t[7]!==r||t[8]!==a||t[9]!==s||t[10]!==o){let e={className:Oe(X({className:n,size:a,variant:o})),"data-slot":`button`,type:s};u=Ae,c=`button`,l=je(e,r),t[6]=n,t[7]=r,t[8]=a,t[9]=s,t[10]=o,t[11]=c,t[12]=l,t[13]=u}else c=t[11],l=t[12],u=t[13];let d;return t[14]!==i||t[15]!==c||t[16]!==l?(d={defaultTagName:c,props:l,render:i},t[14]=i,t[15]=c,t[16]=l,t[17]=d):d=t[17],u(d)}var Z=`shioricode:client-settings:v1`,Mt=`shioricode:app-settings:v1`,Q=`shioricode:theme`;function Nt(){let e=new Map;return{clear:()=>e.clear(),getItem:t=>e.get(t)??null,key:t=>Array.from(e.keys()).at(t)??null,get length(){return e.size},removeItem:t=>e.delete(t),setItem:(t,n)=>e.set(t,n)}}function Pt(e){return typeof e==`object`&&!!e&&`getItem`in e&&typeof e.getItem==`function`&&`setItem`in e&&typeof e.setItem==`function`&&`removeItem`in e&&typeof e.removeItem==`function`}var $=Pt(typeof window<`u`?window.localStorage:void 0)?window.localStorage:Pt(globalThis.localStorage)?globalThis.localStorage:Nt(),Ft=a(o(_)),It=de(o(_));function Lt(){let e=$.getItem(Z),t=(()=>{if(!e)return g;try{return Ft(e)}catch{return g}})(),n=zt();return n?{...t,themeMode:n}:t}function Rt(e){$.setItem(Z,It(e))}function zt(){let e=$.getItem(Q);return e===`light`||e===`dark`||e===`system`?e:null}function Bt(){$.removeItem(Q)}export{ze as A,nt as C,it as D,st as E,Ne as M,rt as O,ot as S,at as T,P as _,Bt as a,N as b,X as c,At as d,Tt as f,V as g,wt as h,Lt as i,Re as j,ct as k,q as l,G as m,Mt as n,Rt as o,Ct as p,zt as r,jt as s,Z as t,J as u,M as v,lt as w,et as x,Xe as y};
2
- //# sourceMappingURL=clientSettings-333fq8u7.js.map