@xopcai/xopc 0.0.131 → 0.0.133

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 (151) hide show
  1. package/README.md +23 -26
  2. package/README.zh-CN.md +25 -28
  3. package/dist/browser-ext/icons/icon-128.png +0 -0
  4. package/dist/browser-ext/icons/icon-16.png +0 -0
  5. package/dist/browser-ext/icons/icon-32.png +0 -0
  6. package/dist/browser-ext/icons/icon-48.png +0 -0
  7. package/dist/browser-ext/manifest.json +1 -1
  8. package/dist/extensions/telegram/xopc.extension.json +1 -1
  9. package/dist/extensions/weixin/src/messaging/process-message.js +5 -8
  10. package/dist/extensions/weixin/src/messaging/process-message.js.map +1 -1
  11. package/dist/extensions/weixin/src/plugin.js +11 -1
  12. package/dist/extensions/weixin/src/plugin.js.map +1 -1
  13. package/dist/extensions/weixin/src/routing-integration.d.ts +7 -0
  14. package/dist/extensions/weixin/src/routing-integration.js +17 -0
  15. package/dist/extensions/weixin/src/routing-integration.js.map +1 -0
  16. package/dist/gateway/static/root/apple-touch-icon.png +0 -0
  17. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BJYeTxQ9.js → agent-avatar-dicebear-Ab81VpCx.js} +1 -1
  18. package/dist/gateway/static/root/assets/agents-HCGFJG8I.js +2 -0
  19. package/dist/gateway/static/root/assets/{app-management-settings-panel-Bj8iJ-7d.js → app-management-settings-panel-DMI_sbnc.js} +1 -1
  20. package/dist/gateway/static/root/assets/{appearance-settings-6TjISbHB.js → appearance-settings-oQiCWQIQ.js} +1 -1
  21. package/dist/gateway/static/root/assets/{apps-page-DC4YwXLL.js → apps-page-CRYuPIdb.js} +1 -1
  22. package/dist/gateway/static/root/assets/{archive-plugin-2G62raBg.js → archive-plugin-BaKuWJws.js} +1 -1
  23. package/dist/gateway/static/root/assets/{attachment-load-kLNJMEJh.js → attachment-load-DYCFtbAA.js} +1 -1
  24. package/dist/gateway/static/root/assets/{automation-suggestion-card-CpcZSSD8.js → automation-suggestion-card-C6ZIz_B1.js} +1 -1
  25. package/dist/gateway/static/root/assets/automations-page-DjbtV2VP.js +4 -0
  26. package/dist/gateway/static/root/assets/{binary-plugins-C_zSrWow.js → binary-plugins-Bdg1hfhV.js} +1 -1
  27. package/dist/gateway/static/root/assets/{block-editor-D_PMrT-l.js → block-editor-CEgvbzpG.js} +1 -1
  28. package/dist/gateway/static/root/assets/{browser-settings-page-C89wKfPd.js → browser-settings-page-KcwlS_iE.js} +1 -1
  29. package/dist/gateway/static/root/assets/{capability-presets-api-CPFtajl7.js → capability-presets-api-CC3vmrm5.js} +1 -1
  30. package/dist/gateway/static/root/assets/{capability-presets-settings-panel-DWw31-4v.js → capability-presets-settings-panel-Di4uiKbv.js} +1 -1
  31. package/dist/gateway/static/root/assets/{channel-recipient-api-BUi8syv2.js → channel-recipient-api-RANYrzfa.js} +1 -1
  32. package/dist/gateway/static/root/assets/channels-settings-DMa0BEWf.js +1 -0
  33. package/dist/gateway/static/root/assets/channels-status-swr-BG_j4Ci-.js +1 -0
  34. package/dist/gateway/static/root/assets/{connectors-page-DCE-PgQF.js → connectors-page-DIZKYaMj.js} +1 -1
  35. package/dist/gateway/static/root/assets/{desktop-pet-BYV16wez.js → desktop-pet-CNnlqbkx.js} +1 -1
  36. package/dist/gateway/static/root/assets/{desktop-pet-settings-DGIaFqPR.js → desktop-pet-settings-ukJCc0LA.js} +1 -1
  37. package/dist/gateway/static/root/assets/{directory-picker-path-field-BEhDuShd.js → directory-picker-path-field-8hoieEyt.js} +1 -1
  38. package/dist/gateway/static/root/assets/dreaming-settings-BOrBSNLL.js +3 -0
  39. package/dist/gateway/static/root/assets/{extension-debug-page-BIjLZMAQ.js → extension-debug-page-D6Jc0hYZ.js} +1 -1
  40. package/dist/gateway/static/root/assets/{extension-page-Cxv4Bgj5.js → extension-page-CJMhBASX.js} +1 -1
  41. package/dist/gateway/static/root/assets/{extension-settings-page-DNd0tRFl.js → extension-settings-page-Dt-FWyMN.js} +1 -1
  42. package/dist/gateway/static/root/assets/{fetch-Bl7zMnmd.js → fetch-6HXXdO77.js} +1 -1
  43. package/dist/gateway/static/root/assets/{gateway-config-api-BiqKIkkp.js → gateway-config-api-CyYi-a3k.js} +1 -1
  44. package/dist/gateway/static/root/assets/{gateway-settings-D_Cvasqi.js → gateway-settings-yJvCmOBC.js} +1 -1
  45. package/dist/gateway/static/root/assets/{gateway-startup-retry-CPOgTcpv.js → gateway-startup-retry-BE1M9fH_.js} +1 -1
  46. package/dist/gateway/static/root/assets/goal-create-dialog-B3PLFUAl.js +1 -0
  47. package/dist/gateway/static/root/assets/{goal-detail-page-DF8QhTHH.js → goal-detail-page-BQXW29kk.js} +1 -1
  48. package/dist/gateway/static/root/assets/{goals-config-api-h26_-2Vm.js → goals-config-api-FU_bdYvR.js} +1 -1
  49. package/dist/gateway/static/root/assets/{goals-page-BzBKHZJg.js → goals-page-BmppU6mC.js} +1 -1
  50. package/dist/gateway/static/root/assets/{goals-settings-BFG1uTI8.js → goals-settings-BsXWV6CN.js} +1 -1
  51. package/dist/gateway/static/root/assets/heartbeat-settings-BqwSCZLD.js +1 -0
  52. package/dist/gateway/static/root/assets/index-DXUkWmeK.css +1 -0
  53. package/dist/gateway/static/root/assets/{index-DOetFpTt.js → index-DqFBdoK-.js} +41 -41
  54. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-Dpx1ovO6.js → keyboard-shortcuts-settings-D8J0hkTt.js} +1 -1
  55. package/dist/gateway/static/root/assets/{logs-page-3QO3elfx.js → logs-page-Cr5ptDtc.js} +1 -1
  56. package/dist/gateway/static/root/assets/{markdown-split-Ba4EsPkV.js → markdown-split-w-hIAZ9S.js} +1 -1
  57. package/dist/gateway/static/root/assets/{media-plugins-lA5rvtCq.js → media-plugins-DjFnDy3R.js} +1 -1
  58. package/dist/gateway/static/root/assets/{messages-Bq4REfIj.js → messages-DR9ODkb8.js} +2 -2
  59. package/dist/gateway/static/root/assets/{models-hub-panel-BBG87CHZ.js → models-hub-panel-DEsMnITi.js} +1 -1
  60. package/dist/gateway/static/root/assets/{notes-page-DrUGE-Hn.js → notes-page-D7bHXaeR.js} +1 -1
  61. package/dist/gateway/static/root/assets/{notes-workbench-eAIE8iKV.js → notes-workbench-DiuG4Ov7.js} +2 -2
  62. package/dist/gateway/static/root/assets/{page-tabs-Cy7bX7Ce.js → page-tabs-smjfSAwc.js} +1 -1
  63. package/dist/gateway/static/root/assets/{preview-open-alternatives-B9_iql49.js → preview-open-alternatives-v02THugE.js} +1 -1
  64. package/dist/gateway/static/root/assets/project-detail-page-Us3zDRE6.js +1 -0
  65. package/dist/gateway/static/root/assets/projects-page-BcvW8R0Z.js +1 -0
  66. package/dist/gateway/static/root/assets/{remote-access-hub-C29EWM0P.js → remote-access-hub-Bun2k0V-.js} +1 -1
  67. package/dist/gateway/static/root/assets/{save-bar-controls-nMloZ0mp.js → save-bar-controls-CD7LPbLU.js} +1 -1
  68. package/dist/gateway/static/root/assets/{schedule-field-BuajpVNF.js → schedule-field-Cf3p_M0z.js} +1 -1
  69. package/dist/gateway/static/root/assets/{schema-form-IeXV_yQk.js → schema-form-D8XdvcNH.js} +1 -1
  70. package/dist/gateway/static/root/assets/{sessions-page-DHHVDqsy.js → sessions-page-Bh44TVld.js} +1 -1
  71. package/dist/gateway/static/root/assets/settings-advanced-gate-BhyLZ0IW.js +1 -0
  72. package/dist/gateway/static/root/assets/{settings-collapsible-section-ByixWwvu.js → settings-collapsible-section-BVpPSgMs.js} +1 -1
  73. package/dist/gateway/static/root/assets/{settings-form-section-C-5-n-jM.js → settings-form-section-GAwBG9Vp.js} +1 -1
  74. package/dist/gateway/static/root/assets/{settings-loading-skeleton-CTA5Gje4.js → settings-loading-skeleton-CGxa3aCb.js} +1 -1
  75. package/dist/gateway/static/root/assets/{settings-page-DzqxeemF.js → settings-page-bZKl6uRR.js} +1 -1
  76. package/dist/gateway/static/root/assets/{settings-page-layout-DgFTf6nM.js → settings-page-layout-DfbMLJgN.js} +1 -1
  77. package/dist/gateway/static/root/assets/{setup-status-panel-svpHcJ62.js → setup-status-panel-DBIruh16.js} +1 -1
  78. package/dist/gateway/static/root/assets/{share-preview-page-IOjU69FC.js → share-preview-page-BglBMvA0.js} +1 -1
  79. package/dist/gateway/static/root/assets/shares-settings-C0fR-Oto.js +1 -0
  80. package/dist/gateway/static/root/assets/skill-reload-api-BG-FEo9B.js +1 -0
  81. package/dist/gateway/static/root/assets/{skills-page-DoonnYRs.js → skills-page-CwwZOoCH.js} +1 -1
  82. package/dist/gateway/static/root/assets/{system-settings-panel-BMDD7FXg.js → system-settings-panel-CTT0BkbS.js} +1 -1
  83. package/dist/gateway/static/root/assets/{typed-models-lib-DayamJ56.js → typed-models-lib-Fa9PjI0-.js} +1 -1
  84. package/dist/gateway/static/root/assets/{use-channel-catalog-ChYwFiqo.js → use-channel-catalog-BCBfSoHx.js} +1 -1
  85. package/dist/gateway/static/root/assets/{user-profile-settings-panel-Dd0X3mPv.js → user-profile-settings-panel-pCK-aMqu.js} +1 -1
  86. package/dist/gateway/static/root/assets/{utils-D9v9ZpK4.js → utils-aleluS3U.js} +1 -1
  87. package/dist/gateway/static/root/assets/{voice-api-key-field-QXGvjTwa.js → voice-api-key-field-Fh4mqUIK.js} +1 -1
  88. package/dist/gateway/static/root/assets/{work-item-detail-page-CP-5OUYI.js → work-item-detail-page-C0_3nId3.js} +1 -1
  89. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-IidqhbUI.js → workflow-run-setup-panel-r969H1r2.js} +1 -1
  90. package/dist/gateway/static/root/assets/{workflow-start-dialog-BQQkr8YD.js → workflow-start-dialog-C1GbcWN0.js} +1 -1
  91. package/dist/gateway/static/root/assets/{workflows-page-DtVIjVSX.js → workflows-page-DsPM3HEI.js} +1 -1
  92. package/dist/gateway/static/root/favicon-16x16.png +0 -0
  93. package/dist/gateway/static/root/favicon-32x32.png +0 -0
  94. package/dist/gateway/static/root/favicon-icon.svg +179 -15
  95. package/dist/gateway/static/root/favicon.ico +0 -0
  96. package/dist/gateway/static/root/favicon.png +0 -0
  97. package/dist/gateway/static/root/favicon.svg +179 -15
  98. package/dist/gateway/static/root/index.html +5 -5
  99. package/dist/gateway/static/root/logo-dark.svg +179 -15
  100. package/dist/gateway/static/root/logo.svg +179 -15
  101. package/dist/gateway/static/root/pwa-192x192.png +0 -0
  102. package/dist/gateway/static/root/pwa-512x512.png +0 -0
  103. package/dist/package.js +1 -1
  104. package/dist/src/agent/image/tool-model-config.js +5 -5
  105. package/dist/src/agent/image/tool-model-config.js.map +1 -1
  106. package/dist/src/agent/starter-agents.d.ts +1 -0
  107. package/dist/src/agent/starter-agents.js +38 -11
  108. package/dist/src/agent/starter-agents.js.map +1 -1
  109. package/dist/src/agent/transcript/thinking-types.js +2 -0
  110. package/dist/src/agent/transcript/thinking-types.js.map +1 -1
  111. package/dist/src/auth/oauth/google-oauth/google-gemini-cli.d.ts +1 -1
  112. package/dist/src/auth/oauth/google-oauth/google-gemini-cli.js.map +1 -1
  113. package/dist/src/chat-commands/builtins/model.js +3 -3
  114. package/dist/src/chat-commands/builtins/model.js.map +1 -1
  115. package/dist/src/cli/commands/models.js +9 -0
  116. package/dist/src/cli/commands/models.js.map +1 -1
  117. package/dist/src/commands/agents.config.d.ts +2 -0
  118. package/dist/src/commands/agents.config.js +1 -1
  119. package/dist/src/commands/agents.config.js.map +1 -1
  120. package/dist/src/config/schema.js +4 -2
  121. package/dist/src/config/schema.js.map +1 -1
  122. package/dist/src/gateway/hono/routes/status.js +2 -2
  123. package/dist/src/gateway/hono/routes/status.js.map +1 -1
  124. package/dist/src/gateway/hono/routes/voice.js +1 -1
  125. package/dist/src/gateway/hono/routes/voice.js.map +1 -1
  126. package/dist/src/providers/domestic-presets.d.ts +5 -15
  127. package/dist/src/providers/domestic-presets.js +31 -49
  128. package/dist/src/providers/domestic-presets.js.map +1 -1
  129. package/dist/src/providers/index.js +19 -5
  130. package/dist/src/providers/index.js.map +1 -1
  131. package/dist/src/providers/model-registry.js.map +1 -1
  132. package/dist/src/providers/model-supplements.d.ts +6 -0
  133. package/dist/src/providers/model-supplements.js +22 -0
  134. package/dist/src/providers/model-supplements.js.map +1 -0
  135. package/dist/src/providers/presentation.js +25 -26
  136. package/dist/src/providers/presentation.js.map +1 -1
  137. package/dist/src/voice/tts/summarize.js +1 -1
  138. package/dist/src/voice/tts/summarize.js.map +1 -1
  139. package/package.json +5 -5
  140. package/dist/gateway/static/root/assets/agents-kVsY4Iz_.js +0 -2
  141. package/dist/gateway/static/root/assets/automations-page-MZ8m4bYP.js +0 -4
  142. package/dist/gateway/static/root/assets/channels-settings-DOYzcMAE.js +0 -1
  143. package/dist/gateway/static/root/assets/dreaming-settings-BIkgLFDH.js +0 -3
  144. package/dist/gateway/static/root/assets/goal-create-dialog-DZ68qzpm.js +0 -1
  145. package/dist/gateway/static/root/assets/heartbeat-settings-5vV8vTva.js +0 -1
  146. package/dist/gateway/static/root/assets/index-W4ogAiHt.css +0 -1
  147. package/dist/gateway/static/root/assets/project-detail-page-Cwct6pCV.js +0 -1
  148. package/dist/gateway/static/root/assets/projects-page-BXZlzV8t.js +0 -1
  149. package/dist/gateway/static/root/assets/settings-advanced-gate-hDvmobsT.js +0 -1
  150. package/dist/gateway/static/root/assets/shares-settings-Ddg8gHPN.js +0 -1
  151. package/dist/gateway/static/root/assets/skill-reload-api-DcNOEJsK.js +0 -1
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-BQ_8x0bT.js";import{t as a}from"./messages-Bq4REfIj.js";import{a as o,t as s}from"./fetch-Bl7zMnmd.js";import{n as c}from"./locale-store-Ba72bFmP.js";import{$a as l,Ac as u,Ba as d,Bi as f,Cc as p,Dc as m,Do as h,Eo as g,Ga as _,Gi as v,Ha as y,Hi as b,Ji as x,L as S,Nc as C,Oc as w,Os as T,Qc as E,Qi as D,Ra as O,Sc as k,Ss as A,Tl as j,Ts as M,Ua as N,Ui as P,Uo as F,Va as I,Vi as L,Wa as R,Wi as z,Xc as B,Xi as V,Yi as H,Yo as ee,Ys as te,Zi as ne,_i as re,_n as ie,_t as ae,a as oe,aa as se,at as ce,bs as le,bt as ue,ca as de,ci as fe,co as pe,cs as me,d as he,di as ge,ds as _e,ea as ve,ec as ye,er as be,f as xe,fa as Se,fi as Ce,gi as we,ha as Te,hi as Ee,hl as De,ht as Oe,i as ke,ia as Ae,is as je,ks as Me,l as U,la as Ne,lc as Pe,li as Fe,lo as Ie,mi as Le,mo as Re,mt as ze,na as Be,nl as Ve,o as He,oo as Ue,p as We,pi as Ge,ps as W,qi as Ke,r as qe,ra as Je,s as Ye,so as Xe,st as Ze,ta as Qe,tl as $e,to as et,u as tt,ui as nt,vc as rt,vi as it,vl as at,vn as ot,wl as st,wo as G,ws as ct,xl as lt,y as ut,yc as dt,za as ft,zc as pt,zo as mt,zr as ht,zs as gt}from"./index-DOetFpTt.js";import{t as _t}from"./notes-workbench-eAIE8iKV.js";import{t as vt}from"./page-tabs-Cy7bX7Ce.js";import{t as yt}from"./directory-picker-path-field-BEhDuShd.js";import{t as bt}from"./goals-config-api-h26_-2Vm.js";import{n as xt,t as St}from"./goal-create-dialog-DZ68qzpm.js";import{t as Ct}from"./workflow-start-dialog-BQQkr8YD.js";var K=n(),q=e(t(),1),J=r(),wt=`application/x-xopc-work-item`,Tt=[`backlog`,`todo`,`in_progress`,`blocked`,`needs_input`,`in_review`,`done`],Et=[`low`,`normal`,`high`,`urgent`];function Dt(e){return e===`done`||e===`in_review`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`blocked`||e===`needs_input`?`bg-red-500/10 text-red-700 dark:text-red-300`:e===`in_progress`?`bg-accent-soft text-accent-fg`:e===`backlog`||e===`todo`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:`bg-surface-muted text-fg-subtle`}function Ot(e){return e?new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)):``}function kt(e){return!Number.isFinite(e)||e<=0?`0 B`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(+(e<10*1024))} KB`:`${(e/(1024*1024)).toFixed(+(e<10*1024*1024))} MB`}function Y(e){return`${e.name}:${e.size}:${e.lastModified}`}function At(e,t){return fe(e,t)!==`unsupported`}function jt(e,t){return e.startsWith(`image/`)?`image`:e.startsWith(`audio/`)?`audio`:t===`image`||t===`audio`||t===`video`?t:`document`}function Mt(e,t){return{id:e.id,name:e.fileName,type:jt(e.mimeType,e.type),mimeType:e.mimeType,size:e.size,...t?{content:t,preview:e.mimeType.startsWith(`image/`)?t:void 0}:{}}}async function Nt(e,t){let n=nt(e.name||`upload`,e.type||`application/octet-stream`),r=de(await e.arrayBuffer());return{id:t,name:e.name||`upload`,type:jt(n),mimeType:n,size:e.size,content:r,preview:n.startsWith(`image/`)?r:void 0}}function Pt(e){let t=(0,K.c)(3),[n,r]=(0,q.useState)(``),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e){r(``);return}let t=URL.createObjectURL(e);return r(t),()=>URL.revokeObjectURL(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,q.useEffect)(i,a),n}function Ft(e,t){let n=(0,K.c)(5),[r,i]=(0,q.useState)(``),a,o;return n[0]!==t.id||n[1]!==t.mimeType||n[2]!==e?(a=()=>{if(!e||!t.mimeType.startsWith(`image/`)){i(``);return}let n=!1,r=``;return(async()=>{let a=await s(We(e,t.id));if(!a.ok||n)return;let o=await a.blob();n||(r=URL.createObjectURL(o),i(r))})().catch(()=>{n||i(``)}),()=>{n=!0,r&&URL.revokeObjectURL(r)}},o=[t.id,t.mimeType,e],n[0]=t.id,n[1]=t.mimeType,n[2]=e,n[3]=a,n[4]=o):(a=n[3],o=n[4]),(0,q.useEffect)(a,o),r}function It(e){let t=(0,K.c)(11),{name:n,mimeType:r,thumbnailUrl:i,previewable:a,disabled:o,onOpen:s}=e,c;t[0]===r?c=t[1]:(c=r.startsWith(`image/`),t[0]=r,t[1]=c);let l=c,u;t[2]!==l||t[3]!==n||t[4]!==i?(u=l&&i?(0,J.jsx)(`img`,{src:i,alt:n,className:`size-10 rounded-md object-cover`}):(0,J.jsx)(`span`,{className:`inline-flex size-10 items-center justify-center rounded-md border border-edge bg-surface-muted`,children:(0,J.jsx)(p,{className:`size-4 text-fg-muted`,"aria-hidden":!0})}),t[2]=l,t[3]=n,t[4]=i,t[5]=u):u=t[5];let d=u;if(!a)return d;let f;return t[6]!==d||t[7]!==o||t[8]!==n||t[9]!==s?(f=(0,J.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel disabled:cursor-wait disabled:opacity-70`,title:n,"aria-label":n,disabled:o,onClick:s,children:d}),t[6]=d,t[7]=o,t[8]=n,t[9]=s,t[10]=f):f=t[10],f}function Lt(e){return e.kind===`chat`?`/chat/${encodeURIComponent(e.targetId)}`:e.kind===`goal`?`/goals/${encodeURIComponent(e.targetId)}`:e.kind===`workflow_run`?`/workflows?run=${encodeURIComponent(e.targetId)}`:e.kind===`automation`?`/automations?automationId=${encodeURIComponent(e.targetId)}`:`#`}function Rt(e){return e instanceof Element?!!e.closest(`a,button,input,select,textarea,[contenteditable="true"],[draggable="true"],[data-board-pan-skip="true"]`):!0}function zt(e,t){return e.nextAction||e.blockedReason||e.description||t.noNextAction}function Bt(e){let t=(0,K.c)(63),{item:n,dragging:r,onOpen:a,onToggleDone:o,onDragStart:s,onDragEnd:c,t:l}=e,u=n.status===`done`,d;t[0]!==n||t[1]!==s?(d=e=>s(n,e),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=l.dragToUpdate,p=r&&`opacity-50`,h;t[3]===p?h=t[4]:(h=i(`flex min-h-24 w-full min-w-0 max-w-full cursor-grab flex-col overflow-hidden rounded-lg bg-surface-panel px-3 py-3 shadow-surface transition-colors hover:bg-surface-hover active:cursor-grabbing`,p),t[3]=p,t[4]=h);let g=u?`border-success bg-success text-white`:`border-edge bg-surface-base hover:border-accent/50`,_;t[5]===g?_=t[6]:(_=i(`mt-0.5 inline-flex size-3.5 shrink-0 items-center justify-center rounded border transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,g),t[5]=g,t[6]=_);let v=u?l.markTodo:l.markDone,y=u?l.markTodo:l.markDone,b;t[7]!==n||t[8]!==o?(b=()=>o(n),t[7]=n,t[8]=o,t[9]=b):b=t[9];let x;t[10]===u?x=t[11]:(x=u?(0,J.jsx)(B,{className:`size-3`,"aria-hidden":!0}):null,t[10]=u,t[11]=x);let S;t[12]!==x||t[13]!==_||t[14]!==v||t[15]!==y||t[16]!==b?(S=(0,J.jsx)(`button`,{type:`button`,className:_,"aria-label":v,title:y,onClick:b,children:x}),t[12]=x,t[13]=_,t[14]=v,t[15]=y,t[16]=b,t[17]=S):S=t[17];let C;t[18]!==n||t[19]!==a?(C=()=>a(n),t[18]=n,t[19]=a,t[20]=C):C=t[20];let w;t[21]===n.title?w=t[22]:(w=(0,J.jsx)(`h4`,{className:`min-w-0 flex-1 basis-0 text-sm font-medium leading-5 text-fg line-clamp-2`,children:n.title}),t[21]=n.title,t[22]=w);let T;t[23]!==n||t[24]!==l?(T=zt(n,l),t[23]=n,t[24]=l,t[25]=T):T=t[25];let E;t[26]===T?E=t[27]:(E=(0,J.jsx)(`p`,{className:`mt-2 max-w-full break-words text-xs leading-5 text-fg-muted line-clamp-1`,children:T}),t[26]=T,t[27]=E);let D;t[28]!==C||t[29]!==w||t[30]!==E?(D=(0,J.jsxs)(`button`,{type:`button`,className:`min-w-0 flex-1 text-left`,onClick:C,children:[w,E]}),t[28]=C,t[29]=w,t[30]=E,t[31]=D):D=t[31];let O;t[32]!==S||t[33]!==D?(O=(0,J.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-start gap-2`,children:[S,D]}),t[32]=S,t[33]=D,t[34]=O):O=t[34];let k;t[35]===n.status?k=t[36]:(k=i(`rounded-full px-2 py-0.5 text-[11px] font-medium`,Dt(n.status)),t[35]=n.status,t[36]=k);let A=l.statuses[n.status],j;t[37]!==k||t[38]!==A?(j=(0,J.jsx)(`span`,{className:k,children:A}),t[37]=k,t[38]=A,t[39]=j):j=t[39];let M=l.priorities[n.priority],N;t[40]===M?N=t[41]:(N=(0,J.jsx)(`span`,{className:`rounded-full bg-surface-muted px-2 py-0.5 text-[11px] text-fg-muted`,children:M}),t[40]=M,t[41]=N);let P;t[42]===n.attachments?P=t[43]:(P=n.attachments?.length?(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-surface-muted px-2 py-0.5 text-[11px] text-fg-muted`,children:[(0,J.jsx)(Me,{className:`size-3`,"aria-hidden":!0}),n.attachments.length]}):null,t[42]=n.attachments,t[43]=P);let F;t[44]===n.links?F=t[45]:(F=n.links?.length?(0,J.jsx)(`span`,{className:`rounded-full bg-surface-muted px-2 py-0.5 text-[11px] text-fg-muted`,children:n.links.length}):null,t[44]=n.links,t[45]=F);let I=`/work-items/${encodeURIComponent(n.id)}`,L;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,J.jsx)(m,{className:`size-3`,"aria-hidden":!0}),t[46]=L):L=t[46];let R;t[47]!==l.detail.openItem||t[48]!==I?(R=(0,J.jsxs)(lt,{to:I,className:`ml-auto inline-flex shrink-0 items-center gap-1 rounded-full px-2 py-0.5 text-[11px] font-medium text-accent hover:bg-accent-soft hover:text-accent-fg`,children:[l.detail.openItem,L]}),t[47]=l.detail.openItem,t[48]=I,t[49]=R):R=t[49];let z;t[50]!==j||t[51]!==N||t[52]!==P||t[53]!==F||t[54]!==R?(z=(0,J.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:[j,N,P,F,R]}),t[50]=j,t[51]=N,t[52]=P,t[53]=F,t[54]=R,t[55]=z):z=t[55];let V;return t[56]!==c||t[57]!==l.dragToUpdate||t[58]!==d||t[59]!==O||t[60]!==z||t[61]!==h?(V=(0,J.jsxs)(`article`,{draggable:!0,onDragStart:d,onDragEnd:c,title:f,className:h,children:[O,z]}),t[56]=c,t[57]=l.dragToUpdate,t[58]=d,t[59]=O,t[60]=z,t[61]=h,t[62]=V):V=t[62],V}function Vt(){let e=(0,K.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`div`,{className:`size-3.5 shrink-0 rounded-full bg-surface-muted`}),(0,J.jsx)(`div`,{className:`h-3 w-36 rounded bg-surface-muted`})]}),n=(0,J.jsx)(`div`,{className:`mt-3 h-3 w-48 rounded bg-surface-muted`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsxs)(`article`,{className:`flex h-24 w-full min-w-0 max-w-full flex-col overflow-hidden rounded-lg bg-surface-panel px-3 pt-3 pb-0 shadow-surface`,children:[t,n,(0,J.jsxs)(`div`,{className:`mt-3 flex gap-1.5`,children:[(0,J.jsx)(`div`,{className:`h-5 w-16 rounded-full bg-surface-muted`}),(0,J.jsx)(`div`,{className:`h-5 w-10 rounded-full bg-surface-muted`})]})]}),e[2]=r):r=e[2],r}function Ht(e){let t=(0,K.c)(44),{file:n,index:r,busy:a,previewBusy:o,t:s,onOpen:c,onRemove:l}=e,u,d,f,p;t[0]===n?(u=t[1],d=t[2],f=t[3],p=t[4]):(u=nt(n.name||`upload`,n.type||`application/octet-stream`),d=At(n.name||`upload`,u),f=Pt,p=u.startsWith(`image/`)?n:null,t[0]=n,t[1]=u,t[2]=d,t[3]=f,t[4]=p);let m=f(p),g=n.name||`upload`,_=a||o,v;t[5]!==n||t[6]!==c?(v=()=>c(n),t[5]=n,t[6]=c,t[7]=v):v=t[7];let y;t[8]!==u||t[9]!==d||t[10]!==g||t[11]!==_||t[12]!==v||t[13]!==m?(y=(0,J.jsx)(It,{name:g,mimeType:u,thumbnailUrl:m,previewable:d,disabled:_,onOpen:v}),t[8]=u,t[9]=d,t[10]=g,t[11]=_,t[12]=v,t[13]=m,t[14]=y):y=t[14];let b=d?`rounded-md hover:text-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`:`cursor-default`,x;t[15]===b?x=t[16]:(x=i(`min-w-0 flex-1 text-left`,b),t[15]=b,t[16]=x);let S=!d||a||o,C;t[17]!==n||t[18]!==c?(C=()=>c(n),t[17]=n,t[18]=c,t[19]=C):C=t[19];let w=n.name||`upload`,T;t[20]===w?T=t[21]:(T=(0,J.jsx)(`div`,{className:`truncate font-medium text-fg`,children:w}),t[20]=w,t[21]=T);let E;t[22]===n.size?E=t[23]:(E=kt(n.size),t[22]=n.size,t[23]=E);let D;t[24]===E?D=t[25]:(D=(0,J.jsx)(`div`,{className:`text-xs text-fg-subtle`,children:E}),t[24]=E,t[25]=D);let O;t[26]!==C||t[27]!==T||t[28]!==D||t[29]!==x||t[30]!==S?(O=(0,J.jsxs)(`button`,{type:`button`,className:x,disabled:S,onClick:C,children:[T,D]}),t[26]=C,t[27]=T,t[28]=D,t[29]=x,t[30]=S,t[31]=O):O=t[31];let k;t[32]!==r||t[33]!==l?(k=()=>l(r),t[32]=r,t[33]=l,t[34]=k):k=t[34];let A;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,J.jsx)(h,{className:`size-3.5`,"aria-hidden":!0}),t[35]=A):A=t[35];let j;t[36]!==a||t[37]!==s.attachments.remove||t[38]!==k?(j=(0,J.jsx)(`button`,{type:`button`,className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,title:s.attachments.remove,"aria-label":s.attachments.remove,disabled:a,onClick:k,children:A}),t[36]=a,t[37]=s.attachments.remove,t[38]=k,t[39]=j):j=t[39];let M;return t[40]!==O||t[41]!==j||t[42]!==y?(M=(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border border-edge bg-surface-panel px-2 py-2 text-sm`,children:[y,O,j]}),t[40]=O,t[41]=j,t[42]=y,t[43]=M):M=t[43],M}function Ut(e){let t=(0,K.c)(56),{item:n,attachment:r,busy:a,previewBusy:o,t:s,onOpen:c,onDownload:l,onRemove:d}=e,f;t[0]!==r.fileName||t[1]!==r.mimeType?(f=At(r.fileName,r.mimeType),t[0]=r.fileName,t[1]=r.mimeType,t[2]=f):f=t[2];let p=f,m=Ft(n.id,r),h=a||o,g;t[3]!==r||t[4]!==n||t[5]!==c?(g=()=>c(n,r),t[3]=r,t[4]=n,t[5]=c,t[6]=g):g=t[6];let _;t[7]!==r.fileName||t[8]!==r.mimeType||t[9]!==p||t[10]!==h||t[11]!==g||t[12]!==m?(_=(0,J.jsx)(It,{name:r.fileName,mimeType:r.mimeType,thumbnailUrl:m,previewable:p,disabled:h,onOpen:g}),t[7]=r.fileName,t[8]=r.mimeType,t[9]=p,t[10]=h,t[11]=g,t[12]=m,t[13]=_):_=t[13];let v=p?`rounded-md hover:text-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`:`cursor-default`,y;t[14]===v?y=t[15]:(y=i(`min-w-0 flex-1 text-left`,v),t[14]=v,t[15]=y);let b=!p||a||o,x;t[16]!==r||t[17]!==n||t[18]!==c?(x=()=>c(n,r),t[16]=r,t[17]=n,t[18]=c,t[19]=x):x=t[19];let S;t[20]===r.fileName?S=t[21]:(S=(0,J.jsx)(`div`,{className:`truncate font-medium text-fg`,children:r.fileName}),t[20]=r.fileName,t[21]=S);let C=r.mimeType,w;t[22]===r.size?w=t[23]:(w=kt(r.size),t[22]=r.size,t[23]=w);let T;t[24]!==r.mimeType||t[25]!==w?(T=(0,J.jsxs)(`div`,{className:`truncate text-xs text-fg-subtle`,children:[C,` · `,w]}),t[24]=r.mimeType,t[25]=w,t[26]=T):T=t[26];let E;t[27]!==T||t[28]!==y||t[29]!==b||t[30]!==x||t[31]!==S?(E=(0,J.jsxs)(`button`,{type:`button`,className:y,disabled:b,onClick:x,children:[S,T]}),t[27]=T,t[28]=y,t[29]=b,t[30]=x,t[31]=S,t[32]=E):E=t[32];let D;t[33]!==r||t[34]!==n||t[35]!==l?(D=()=>l(n,r),t[33]=r,t[34]=n,t[35]=l,t[36]=D):D=t[36];let O;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,J.jsx)(u,{className:`size-3.5`,"aria-hidden":!0}),t[37]=O):O=t[37];let k;t[38]!==a||t[39]!==s.attachments.download||t[40]!==D?(k=(0,J.jsx)(`button`,{type:`button`,className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,title:s.attachments.download,"aria-label":s.attachments.download,disabled:a,onClick:D,children:O}),t[38]=a,t[39]=s.attachments.download,t[40]=D,t[41]=k):k=t[41];let A;t[42]!==r||t[43]!==n||t[44]!==d?(A=()=>d(n,r),t[42]=r,t[43]=n,t[44]=d,t[45]=A):A=t[45];let j;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,J.jsx)(mt,{className:`size-3.5`,"aria-hidden":!0}),t[46]=j):j=t[46];let M;t[47]!==a||t[48]!==s.attachments.remove||t[49]!==A?(M=(0,J.jsx)(`button`,{type:`button`,className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-danger`,title:s.attachments.remove,"aria-label":s.attachments.remove,disabled:a,onClick:A,children:j}),t[47]=a,t[48]=s.attachments.remove,t[49]=A,t[50]=M):M=t[50];let N;return t[51]!==E||t[52]!==k||t[53]!==M||t[54]!==_?(N=(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border border-edge bg-surface-panel px-2 py-2 text-sm`,children:[_,E,k,M]}),t[51]=E,t[52]=k,t[53]=M,t[54]=_,t[55]=N):N=t[55],N}function Wt({mode:e,item:t,pendingFiles:n,busy:r,t:a,onPendingFilesChange:c,onUpload:l,onRemove:u,onDownload:d,onPreviewError:f}){let p=(0,q.useRef)(null),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(null),[b,x]=(0,q.useState)(null),S=o(e=>e.token),C=t?.attachments??[];function w(r){if(!r.length)return;if(e===`detail`&&t){l(t,r);return}let i=new Set(n.map(Y)),a=[...n];for(let e of r){let t=Y(e);i.has(t)||(i.add(t),a.push(e))}c(a)}function T(e){c(n.filter((t,n)=>n!==e))}async function E(e){let t=Y(e);x(`pending:${t}`);try{y(await Nt(e,`pending:${t}`)),_(!0)}catch(e){f(e instanceof Error?e.message:String(e))}finally{x(null)}}async function D(e,t){x(`saved:${t.id}`);try{let n=await s(We(e.id,t.id));if(!n.ok)throw Error(`HTTP ${n.status}`);y(Mt(t,de(await n.arrayBuffer()))),_(!0)}catch(e){f(e instanceof Error?e.message:String(e))}finally{x(null)}}return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`section`,{className:i(`grid gap-3 rounded-lg border border-edge bg-surface-base p-3`,m&&`border-accent bg-accent-soft/40`),onDragOver:e=>{e.preventDefault(),h(!0)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||h(!1)},onDrop:e=>{e.preventDefault(),h(!1),w(Array.from(e.dataTransfer.files))},children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsxs)(`h3`,{className:`inline-flex min-w-0 items-center gap-2 text-sm font-semibold text-fg`,children:[(0,J.jsx)(Me,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`truncate`,children:a.attachments.title})]}),(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg px-2.5 text-xs`,disabled:r,onClick:()=>p.current?.click(),children:[(0,J.jsx)(le,{className:`size-3.5`,"aria-hidden":!0}),a.attachments.add]}),(0,J.jsx)(`input`,{ref:p,type:`file`,multiple:!0,className:`hidden`,onChange:e=>{w(Array.from(e.target.files??[])),e.currentTarget.value=``}})]}),n.length?(0,J.jsx)(`div`,{className:`grid gap-2`,children:n.map((e,t)=>(0,J.jsx)(Ht,{file:e,index:t,busy:r,previewBusy:b===`pending:${Y(e)}`,t:a,onOpen:e=>void E(e),onRemove:T},Y(e)))}):null,t&&C.length?(0,J.jsx)(`div`,{className:`grid gap-2`,children:C.map(e=>(0,J.jsx)(Ut,{item:t,attachment:e,busy:r,previewBusy:b===`saved:${e.id}`,t:a,onOpen:(e,t)=>void D(e,t),onDownload:d,onRemove:u},e.id))}):null,!n.length&&!C.length?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.attachments.empty}):null]}),(0,J.jsx)(ce,{open:g,attachment:v,authToken:S,layerClassName:`z-[100]`,onClose:()=>{_(!1),y(null)}})]})}function Gt(e){let t=(0,K.c)(170),{mode:n,item:r,initialStatus:a,events:o,busy:s,error:c,notice:u,t:f,onClose:p,onCreate:g,onSave:_,onStartChat:v,onCreateGoal:b,onAddAttachments:x,onRemoveAttachment:S,onDownloadAttachment:C,onPreviewError:w}=e,T=n!==null,[E,D]=(0,q.useState)(``),[k,A]=(0,q.useState)(``),[j,M]=(0,q.useState)(`todo`),[P,L]=(0,q.useState)(`normal`),[z,V]=(0,q.useState)(``),[H,ee]=(0,q.useState)(``),te;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(te=[],t[0]=te):te=t[0];let[ne,re]=(0,q.useState)(te),ie,ae;t[1]!==a||t[2]!==r||t[3]!==n?(ie=()=>{if(n===`create`){D(``),A(``),M(a),L(`normal`),V(``),ee(``),re([]);return}n===`detail`&&r&&(D(r.title),A(r.description??``),M(r.status),L(r.priority),V(r.nextAction??``),ee(r.blockedReason??``),re([]))},ae=[a,r,n],t[1]=a,t[2]=r,t[3]=n,t[4]=ie,t[5]=ae):(ie=t[4],ae=t[5]),(0,q.useEffect)(ie,ae);let oe;t[6]!==H||t[7]!==k||t[8]!==r||t[9]!==n||t[10]!==z||t[11]!==g||t[12]!==_||t[13]!==ne||t[14]!==P||t[15]!==j||t[16]!==E?(oe=function(e){e.preventDefault();let t=E.trim();if(t){if(n===`create`){g({title:t,description:k.trim()||void 0,priority:P,status:j,nextAction:z.trim()||void 0,blockedReason:H.trim()||void 0,attachments:ne});return}r&&_(r,{title:t,description:k.trim()||null,status:j,priority:P,nextAction:z.trim()||null,blockedReason:H.trim()||null})}},t[6]=H,t[7]=k,t[8]=r,t[9]=n,t[10]=z,t[11]=g,t[12]=_,t[13]=ne,t[14]=P,t[15]=j,t[16]=E,t[17]=oe):oe=t[17];let se=oe,ce;t[18]===p?ce=t[19]:(ce=e=>!e&&p(),t[18]=p,t[19]=ce);let ue;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,J.jsx)(I,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),t[20]=ue):ue=t[20];let de=n===`create`?f.create.title:r?.title||f.title,fe;t[21]===de?fe=t[22]:(fe=(0,J.jsx)(R,{className:`truncate text-base font-semibold text-fg`,children:de}),t[21]=de,t[22]=fe);let pe;t[23]===f.detail.description?pe=t[24]:(pe=(0,J.jsx)(d,{className:`mt-1 text-sm text-fg-muted`,children:f.detail.description}),t[23]=f.detail.description,t[24]=pe);let me;t[25]!==fe||t[26]!==pe?(me=(0,J.jsxs)(`div`,{className:`min-w-0`,children:[fe,pe]}),t[25]=fe,t[26]=pe,t[27]=me):me=t[27];let he;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,J.jsx)(h,{className:`size-4`,"aria-hidden":!0}),t[28]=he):he=t[28];let ge;t[29]===s?ge=t[30]:(ge=(0,J.jsx)(O,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,className:`inline-flex size-8 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg`,disabled:s,children:he})}),t[29]=s,t[30]=ge);let _e;t[31]!==me||t[32]!==ge?(_e=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-edge px-5 py-4`,children:[me,ge]}),t[31]=me,t[32]=ge,t[33]=_e):_e=t[33];let ve;t[34]===c?ve=t[35]:(ve=c?(0,J.jsx)(`div`,{className:`rounded-lg border border-danger/30 bg-danger-soft px-3 py-2 text-sm text-danger`,children:c}):null,t[34]=c,t[35]=ve);let ye;t[36]!==c||t[37]!==u?(ye=!c&&u?(0,J.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-success/30 bg-success-soft px-3 py-2 text-sm text-fg`,role:`status`,"aria-live":`polite`,children:[(0,J.jsx)(B,{className:`mt-0.5 size-4 shrink-0 text-success`,"aria-hidden":!0}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`div`,{className:`font-medium text-success`,children:u.title}),(0,J.jsx)(`div`,{className:`mt-1 text-fg-muted`,children:u.message})]})]}):null,t[36]=c,t[37]=u,t[38]=ye):ye=t[38];let be;t[39]===f.create.titleLabel?be=t[40]:(be=(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:f.create.titleLabel}),t[39]=f.create.titleLabel,t[40]=be);let xe;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>D(e.target.value),t[41]=xe):xe=t[41];let Se=n===`create`,Ce;t[42]!==Se||t[43]!==E?(Ce=(0,J.jsx)(`input`,{className:`h-10 rounded-lg border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:E,onChange:xe,autoFocus:Se}),t[42]=Se,t[43]=E,t[44]=Ce):Ce=t[44];let we;t[45]!==be||t[46]!==Ce?(we=(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[be,Ce]}),t[45]=be,t[46]=Ce,t[47]=we):we=t[47];let Te;t[48]===f.detail.status?Te=t[49]:(Te=(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:f.detail.status}),t[48]=f.detail.status,t[49]=Te);let Ee;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=e=>M(e.target.value),t[50]=Ee):Ee=t[50];let De;t[51]===f.statuses?De=t[52]:(De=Tt.map(e=>(0,J.jsx)(et,{value:e,children:f.statuses[e]},e)),t[51]=f.statuses,t[52]=De);let Oe;t[53]!==j||t[54]!==De?(Oe=(0,J.jsx)(l,{className:`h-10 rounded-lg border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:j,onChange:Ee,children:De}),t[53]=j,t[54]=De,t[55]=Oe):Oe=t[55];let ke;t[56]!==Te||t[57]!==Oe?(ke=(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[Te,Oe]}),t[56]=Te,t[57]=Oe,t[58]=ke):ke=t[58];let Ae;t[59]===f.create.priorityLabel?Ae=t[60]:(Ae=(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:f.create.priorityLabel}),t[59]=f.create.priorityLabel,t[60]=Ae);let je;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(je=e=>L(e.target.value),t[61]=je):je=t[61];let Me;t[62]===f.priorities?Me=t[63]:(Me=Et.map(e=>(0,J.jsx)(et,{value:e,children:f.priorities[e]},e)),t[62]=f.priorities,t[63]=Me);let U;t[64]!==P||t[65]!==Me?(U=(0,J.jsx)(l,{className:`h-10 rounded-lg border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:P,onChange:je,children:Me}),t[64]=P,t[65]=Me,t[66]=U):U=t[66];let Ne;t[67]!==Ae||t[68]!==U?(Ne=(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[Ae,U]}),t[67]=Ae,t[68]=U,t[69]=Ne):Ne=t[69];let Pe;t[70]!==ke||t[71]!==Ne?(Pe=(0,J.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[ke,Ne]}),t[70]=ke,t[71]=Ne,t[72]=Pe):Pe=t[72];let Fe;t[73]===f.create.descriptionLabel?Fe=t[74]:(Fe=(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:f.create.descriptionLabel}),t[73]=f.create.descriptionLabel,t[74]=Fe);let Ie;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=e=>A(e.target.value),t[75]=Ie):Ie=t[75];let Le;t[76]===k?Le=t[77]:(Le=(0,J.jsx)(`textarea`,{className:`min-h-28 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent`,value:k,onChange:Ie}),t[76]=k,t[77]=Le);let Re;t[78]!==Fe||t[79]!==Le?(Re=(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[Fe,Le]}),t[78]=Fe,t[79]=Le,t[80]=Re):Re=t[80];let ze;t[81]!==s||t[82]!==r||t[83]!==n||t[84]!==x||t[85]!==C||t[86]!==w||t[87]!==S||t[88]!==ne||t[89]!==f?(ze=(0,J.jsx)(Wt,{mode:n,item:r,pendingFiles:ne,busy:s,t:f,onPendingFilesChange:re,onUpload:x,onRemove:S,onDownload:C,onPreviewError:w}),t[81]=s,t[82]=r,t[83]=n,t[84]=x,t[85]=C,t[86]=w,t[87]=S,t[88]=ne,t[89]=f,t[90]=ze):ze=t[90];let Be;t[91]!==H||t[92]!==n||t[93]!==z||t[94]!==j||t[95]!==f.blockedReason||t[96]!==f.nextAction?(Be=n===`detail`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:f.nextAction}),(0,J.jsx)(`textarea`,{className:`min-h-20 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent`,value:z,onChange:e=>V(e.target.value)})]}),(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,J.jsx)(`span`,{className:i(`font-medium`,j===`blocked`||j===`needs_input`?`text-red-700 dark:text-red-300`:`text-fg-muted`),children:f.blockedReason}),(0,J.jsx)(`textarea`,{className:i(`min-h-20 rounded-lg border bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent`,j===`blocked`||j===`needs_input`?`border-red-500/40`:`border-edge`),value:H,onChange:e=>ee(e.target.value)})]})]}):null,t[91]=H,t[92]=n,t[93]=z,t[94]=j,t[95]=f.blockedReason,t[96]=f.nextAction,t[97]=Be):Be=t[97];let Ve;t[98]!==ve||t[99]!==ye||t[100]!==we||t[101]!==Pe||t[102]!==Re||t[103]!==ze||t[104]!==Be?(Ve=(0,J.jsxs)(`div`,{className:`grid content-start gap-4`,children:[ve,ye,we,Pe,Re,ze,Be]}),t[98]=ve,t[99]=ye,t[100]=we,t[101]=Pe,t[102]=Re,t[103]=ze,t[104]=Be,t[105]=Ve):Ve=t[105];let He;t[106]!==s||t[107]!==r||t[108]!==n||t[109]!==b||t[110]!==v||t[111]!==f.detail.actions||t[112]!==f.detail.createGoal||t[113]!==f.detail.openItem||t[114]!==f.detail.startChat?(He=n===`detail`&&r?(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:f.detail.actions}),(0,J.jsxs)(`div`,{className:`mt-2 grid gap-2`,children:[(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`justify-start rounded-lg`,disabled:s,onClick:()=>v(r),children:[(0,J.jsx)(gt,{className:`size-4`,"aria-hidden":!0}),f.detail.startChat]}),(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`justify-start rounded-lg`,disabled:s,onClick:()=>b(r),children:[(0,J.jsx)(F,{className:`size-4`,"aria-hidden":!0}),f.detail.createGoal]}),(0,J.jsx)(G,{asChild:!0,variant:`secondary`,className:`justify-start rounded-lg`,children:(0,J.jsxs)(lt,{to:`/work-items/${encodeURIComponent(r.id)}`,children:[(0,J.jsx)(m,{className:`size-4`,"aria-hidden":!0}),f.detail.openItem]})})]})]}):null,t[106]=s,t[107]=r,t[108]=n,t[109]=b,t[110]=v,t[111]=f.detail.actions,t[112]=f.detail.createGoal,t[113]=f.detail.openItem,t[114]=f.detail.startChat,t[115]=He):He=t[115];let Ue;t[116]===f.detail.links?Ue=t[117]:(Ue=(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:f.detail.links}),t[116]=f.detail.links,t[117]=Ue);let We;t[118]!==r||t[119]!==f.detail.noLinks||t[120]!==f.linkKinds?(We=r?.links?.length?r.links.slice(0,6).map(e=>(0,J.jsxs)(lt,{to:Lt(e),className:`flex min-w-0 items-center justify-between gap-3 rounded-md px-2 py-1.5 hover:bg-surface-hover`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-fg`,children:e.title||e.targetId}),(0,J.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-xs text-fg-muted`,children:[f.linkKinds[e.kind],(0,J.jsx)(m,{className:`size-3.5`,"aria-hidden":!0})]})]},e.id)):(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:f.detail.noLinks}),t[118]=r,t[119]=f.detail.noLinks,t[120]=f.linkKinds,t[121]=We):We=t[121];let Ge;t[122]===We?Ge=t[123]:(Ge=(0,J.jsx)(`div`,{className:`mt-2 grid gap-2 text-sm`,children:We}),t[122]=We,t[123]=Ge);let W;t[124]!==Ue||t[125]!==Ge?(W=(0,J.jsxs)(`section`,{children:[Ue,Ge]}),t[124]=Ue,t[125]=Ge,t[126]=W):W=t[126];let Ke;t[127]===f.detail.activity?Ke=t[128]:(Ke=(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:f.detail.activity}),t[127]=f.detail.activity,t[128]=Ke);let qe;t[129]!==o||t[130]!==f.detail.noActivity||t[131]!==f.eventTypes?(qe=o.length?o.slice(0,5).map(e=>(0,J.jsxs)(`div`,{className:`text-sm`,children:[(0,J.jsx)(`div`,{className:`font-medium text-fg`,children:f.eventTypes[e.type]??e.type}),(0,J.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-subtle`,children:Ot(e.createdAt)})]},e.id)):(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:f.detail.noActivity}),t[129]=o,t[130]=f.detail.noActivity,t[131]=f.eventTypes,t[132]=qe):qe=t[132];let Je;t[133]===qe?Je=t[134]:(Je=(0,J.jsx)(`div`,{className:`mt-2 grid gap-2`,children:qe}),t[133]=qe,t[134]=Je);let Ye;t[135]!==Ke||t[136]!==Je?(Ye=(0,J.jsxs)(`section`,{children:[Ke,Je]}),t[135]=Ke,t[136]=Je,t[137]=Ye):Ye=t[137];let Xe;t[138]!==He||t[139]!==W||t[140]!==Ye?(Xe=(0,J.jsxs)(`aside`,{className:`grid content-start gap-5`,children:[He,W,Ye]}),t[138]=He,t[139]=W,t[140]=Ye,t[141]=Xe):Xe=t[141];let Ze;t[142]!==Ve||t[143]!==Xe?(Ze=(0,J.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-6 overflow-y-auto px-5 py-4 lg:grid-cols-[minmax(0,1fr)_16rem]`,children:[Ve,Xe]}),t[142]=Ve,t[143]=Xe,t[144]=Ze):Ze=t[144];let Qe;t[145]!==s||t[146]!==p||t[147]!==f.create.cancel?(Qe=(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:p,disabled:s,children:f.create.cancel}),t[145]=s,t[146]=p,t[147]=f.create.cancel,t[148]=Qe):Qe=t[148];let $e;t[149]!==s||t[150]!==E?($e=s||!E.trim(),t[149]=s,t[150]=E,t[151]=$e):$e=t[151];let tt;t[152]===n?tt=t[153]:(tt=n===`create`?(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0}):null,t[152]=n,t[153]=tt);let nt=n===`create`?f.create.submit:f.detail.save,rt;t[154]!==$e||t[155]!==tt||t[156]!==nt?(rt=(0,J.jsxs)(G,{type:`submit`,variant:`primary`,className:`rounded-lg`,disabled:$e,children:[tt,nt]}),t[154]=$e,t[155]=tt,t[156]=nt,t[157]=rt):rt=t[157];let it;t[158]!==Qe||t[159]!==rt?(it=(0,J.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[Qe,rt]}),t[158]=Qe,t[159]=rt,t[160]=it):it=t[160];let at;t[161]!==se||t[162]!==_e||t[163]!==Ze||t[164]!==it?(at=(0,J.jsxs)(y,{children:[ue,(0,J.jsx)(ft,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(86dvh,48rem)] w-[min(60rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:(0,J.jsxs)(`form`,{onSubmit:se,className:`flex min-h-0 flex-1 flex-col`,children:[_e,Ze,it]})})]}),t[161]=se,t[162]=_e,t[163]=Ze,t[164]=it,t[165]=at):at=t[165];let ot;return t[166]!==T||t[167]!==ce||t[168]!==at?(ot=(0,J.jsx)(N,{open:T,onOpenChange:ce,children:at}),t[166]=T,t[167]=ce,t[168]=at,t[169]=ot):ot=t[169],ot}function Kt({projectId:e,createRequestKey:t=0}){let n=st(),r=a(c(e=>e.language)).projectDetailPage.workItems,o=(0,q.useRef)(null),s=(0,q.useRef)(null),[l,u]=(0,q.useState)([]),[d,f]=(0,q.useState)(!0),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(!1),[y,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(null),[C,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(!1),[O,k]=(0,q.useState)(!1),[A,j]=(0,q.useState)(`todo`),[M,N]=(0,q.useState)(null),[P,F]=(0,q.useState)([]),I=(0,q.useCallback)(async(t=`replace`,n=0)=>{f(!0),m(null);try{let r=await Ye(e,{limit:100,offset:n});u(e=>t===`append`?[...e,...r.items]:r.items),D(r.hasMore)}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}},[e]);(0,q.useEffect)(()=>{I(`replace`,0)},[I]),(0,q.useEffect)(()=>{t&&(N(null),F([]),m(null),g(null),j(`todo`),k(!0))},[t]);let L=(0,q.useMemo)(()=>Tt.map(e=>({status:e,title:r.statuses[e],items:l.filter(t=>t.status===e)})),[l,r.statuses]),R=(0,q.useCallback)(e=>{u(t=>t.map(t=>t.id===e.id?e:t)),N(t=>t?.id===e.id?e:t)},[]),z=(0,q.useCallback)(async(e,t)=>{v(!0),m(null),g(null);try{let n=await tt(e.id,t);n.item.archivedAt?(u(e=>e.filter(e=>e.id!==n.item.id)),N(null)):(R(n.item),g({title:r.feedback.savedTitle,message:r.feedback.savedNext}))}catch(e){m(e instanceof Error?e.message:String(e))}finally{v(!1)}},[r.feedback.savedNext,r.feedback.savedTitle,R]),B=(0,q.useCallback)(async e=>{N(e),F([]),m(null),g(null);let t=await U(e.id).catch(()=>null);t&&F(t.events)},[]),V=(0,q.useCallback)(async t=>{v(!0),m(null),g(null);try{let n=await qe(e,t);u(e=>[n.item,...e]),k(!1),N(n.item),F((await U(n.item.id).catch(()=>({events:[]}))).events),g({title:r.feedback.createdTitle,message:r.feedback.createdNext})}catch(e){m(e instanceof Error?e.message:String(e))}finally{v(!1)}},[e,r.feedback.createdNext,r.feedback.createdTitle]),H=(0,q.useCallback)(async(e,t)=>{if(t.length){v(!0),m(null),g(null);try{let n=await xe(e.id,t);R(n.item),F((await U(n.item.id).catch(()=>({events:[]}))).events)}catch(e){m(e instanceof Error?e.message:String(e))}finally{v(!1)}}},[R]),ee=(0,q.useCallback)(async(e,t)=>{v(!0),m(null),g(null);try{let n=await oe(e.id,t.id);R(n.item),F((await U(n.item.id).catch(()=>({events:[]}))).events)}catch(e){m(e instanceof Error?e.message:String(e))}finally{v(!1)}},[R]),te=(0,q.useCallback)(async(e,t)=>{m(null),g(null);try{await He(e.id,t)}catch(e){m(e instanceof Error?e.message:String(e))}},[]),ne=(0,q.useCallback)(async e=>{v(!0),m(null),g(null);try{let t=await he(e.id);R(t.item),await B(t.item),n(`/chat/${encodeURIComponent(t.session.key)}`)}catch(e){m(e instanceof Error?e.message:String(e))}finally{v(!1)}},[n,B,R]),re=(0,q.useCallback)(async e=>{v(!0),m(null),g(null);try{let t=await ke(e.id);R(t.item),await B(t.item),n(`/goals/${encodeURIComponent(t.goal.id)}`)}catch(e){m(e instanceof Error?e.message:String(e))}finally{v(!1)}},[n,B,R]),ie=(0,q.useCallback)((e,t)=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(wt,e.id),b(e.id)},[]),ae=(0,q.useCallback)((e,t)=>{t.preventDefault();let n=t.dataTransfer.getData(wt)||y;S(null),b(null);let r=l.find(e=>e.id===n);!r||r.status===e||z(r,{status:e})},[y,l,z]),se=(0,q.useCallback)(e=>{z(e,{status:e.status===`done`?`todo`:`done`})},[z]),ce=(0,q.useCallback)(e=>{N(null),F([]),m(null),g(null),j(e),k(!0)},[]),ue=(0,q.useCallback)(e=>{let t=s.current;!t||t.pointerId!==e.pointerId||(s.current=null,T(!1),e.currentTarget.hasPointerCapture?.(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},[]),de=(0,q.useCallback)(e=>{if(e.button!==0||y||Rt(e.target))return;let t=o.current;t&&(s.current={pointerId:e.pointerId,startX:e.clientX,scrollLeft:t.scrollLeft,active:!1},e.currentTarget.setPointerCapture(e.pointerId))},[y]),fe=(0,q.useCallback)(e=>{let t=s.current,n=o.current;if(!t||!n||t.pointerId!==e.pointerId)return;let r=e.clientX-t.startX;!t.active&&Math.abs(r)<5||(t.active||(t.active=!0,T(!0)),e.preventDefault(),n.scrollLeft=t.scrollLeft-r)},[]);return(0,J.jsxs)(`section`,{id:`project-panel-work-items`,role:`tabpanel`,"aria-labelledby":`project-tab-work-items`,className:`flex h-full min-h-0 flex-col`,children:[p?(0,J.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-4 py-3 text-sm text-red-700 dark:text-red-300`,children:p}):null,(0,J.jsx)(`section`,{ref:o,className:i(`min-h-0 flex-1 overflow-x-auto rounded-lg px-2 py-2 transition-opacity`,d&&`opacity-60`,C?`cursor-grabbing select-none`:`cursor-grab`),"aria-label":r.boardAria,"aria-busy":d,onPointerDown:de,onPointerMove:fe,onPointerUp:ue,onPointerCancel:ue,onLostPointerCapture:e=>{s.current?.pointerId===e.pointerId&&(s.current=null,T(!1))},children:(0,J.jsx)(`div`,{className:`flex min-h-full min-w-max items-start gap-3 pr-4`,children:L.map(e=>(0,J.jsxs)(`section`,{className:i(`flex max-h-full w-72 min-w-72 max-w-72 shrink-0 flex-col overflow-y-auto rounded-lg bg-surface-base shadow-surface`,x===e.status&&`bg-surface-active`),"aria-label":e.title,onDragOver:t=>{y&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`,S(e.status))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||S(null)},onDrop:t=>ae(e.status,t),children:[(0,J.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between gap-2 px-3 py-3`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,J.jsx)(`h3`,{className:`truncate text-sm font-semibold text-fg`,children:e.title}),(0,J.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:e.items.length})]}),(0,J.jsx)(w,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0})]}),(0,J.jsxs)(`div`,{className:`mx-2 mt-3 grid min-h-0 min-w-0 content-start gap-2 pb-2 pr-1 [scrollbar-gutter:stable]`,children:[e.items.length?e.items.map(e=>(0,J.jsx)(Bt,{item:e,dragging:y===e.id,onOpen:B,onToggleDone:se,onDragStart:ie,onDragEnd:()=>{b(null),S(null)},t:r},e.id)):d?(0,J.jsxs)(`div`,{className:`grid gap-2 animate-pulse motion-reduce:animate-none`,children:[(0,J.jsx)(Vt,{}),(0,J.jsx)(Vt,{})]}):(0,J.jsx)(`div`,{className:`rounded-lg bg-surface-panel/70 px-3 py-6 text-center text-xs text-fg-subtle`,children:r.emptyColumn}),d?null:(0,J.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-full items-center justify-center rounded-lg bg-surface-panel/85 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-muted`,"aria-label":r.create.addToColumn.replace(`{{status}}`,e.title),title:r.create.addToColumn.replace(`{{status}}`,e.title),onClick:()=>ce(e.status),children:(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0})})]})]},e.status))})}),!d&&E?(0,J.jsx)(G,{type:`button`,variant:`secondary`,className:`justify-self-center`,onClick:()=>void I(`append`,l.length),children:r.loadMore}):null,(0,J.jsx)(Gt,{mode:O?`create`:M?`detail`:null,item:M,initialStatus:A,events:P,busy:_,error:p,notice:h,t:r,onClose:()=>{k(!1),N(null),F([]),m(null),g(null)},onCreate:V,onSave:(e,t)=>void z(e,t),onStartChat:ne,onCreateGoal:re,onAddAttachments:(e,t)=>void H(e,t),onRemoveAttachment:(e,t)=>void ee(e,t),onDownloadAttachment:(e,t)=>void te(e,t),onPreviewError:e=>{g(null),m(e)}})]})}var qt=[{id:`overview`,icon:ye},{id:`work-items`,icon:te},{id:`sessions`,icon:gt},{id:`goals`,icon:F},{id:`workflows`,icon:A},{id:`files`,icon:rt},{id:`activity`,icon:Pe},{id:`automations`,icon:g},{id:`notes`,icon:k},{id:`settings`,icon:je}],Jt=qt.map(e=>e.id),Yt=new Set(qt.map(e=>e.id)),Xt=`xopc.projectTabs.`,Zt=`xopc.projectFiles.panelWidthPx`,Qt=320,$t=220,en=560;function tn(e){return Math.min(en,Math.max($t,Math.round(e)))}function nn(){try{let e=window.localStorage.getItem(Zt);if(e==null)return Qt;let t=Number.parseInt(e,10);return Number.isFinite(t)?tn(t):Qt}catch{return Qt}}function rn(e){try{window.localStorage.setItem(Zt,String(tn(e)))}catch{}}function an(e){return!!(e&&Yt.has(e))}function on(e){return`${Xt}${e}`}function sn(e){let t=Array.isArray(e)?e:[],n=new Set,r=[];for(let e of t)!an(e)||n.has(e)||(n.add(e),r.push(e));for(let e of Jt)n.has(e)||r.push(e);return r}function cn(e){if(!e)return Jt;try{let t=window.localStorage.getItem(on(e));return sn(t?JSON.parse(t):null)}catch{return Jt}}function ln(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function un(e,t=``){if(!e)return t;let n=new Date(e);return Number.isNaN(n.getTime())?String(e):new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(n)}function dn(e){return e===`active`?`bg-accent-soft text-accent-fg`:e===`done`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`paused`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:e===`archived`?`bg-surface-muted text-fg-subtle`:`bg-surface-hover text-fg-muted`}function fn(e){return e===`succeeded`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`||e===`cancelled`?`bg-red-500/10 text-red-700 dark:text-red-300`:e===`running`||e===`queued`?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-muted`}function pn(e){let t=(0,K.c)(8),{label:n,hint:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=r?(0,J.jsx)(`span`,{className:`text-xs leading-5 text-fg-subtle`,children:r}):null,t[2]=r,t[3]=o);let s;return t[4]!==i||t[5]!==a||t[6]!==o?(s=(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[a,i,o]}),t[4]=i,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function mn(e=!1){return i(`w-full rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,e?`min-h-24 py-2 leading-5`:`min-h-10`)}function hn(e){let t=(0,K.c)(10),{label:n,value:r,mono:a}=e,o=a===void 0?!1:a,s;t[0]===n?s=t[1]:(s=(0,J.jsx)(`div`,{className:`text-xs font-medium text-fg-subtle`,children:n}),t[0]=n,t[1]=s);let c=o&&`font-mono text-xs`,l;t[2]===c?l=t[3]:(l=i(`mt-1 min-w-0 truncate text-sm text-fg`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==r?(u=(0,J.jsx)(`div`,{className:l,title:r,children:r}),t[4]=l,t[5]=r,t[6]=u):u=t[6];let d;return t[7]!==s||t[8]!==u?(d=(0,J.jsxs)(`div`,{className:`min-w-0 rounded-md bg-surface-base px-3 py-2`,children:[s,u]}),t[7]=s,t[8]=u,t[9]=d):d=t[9],d}function X(e){return[e.name,e.slug,e.workspaceRoot,e.description,e.brief].filter(Boolean).join(` `).toLowerCase()}function gn(e){let t=e.lastActiveAt??e.updatedAt??e.createdAt,n=t?new Date(t).getTime():0;return Number.isFinite(n)?n:0}function _n(e){return e.trim().replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).pop()??``}function vn(e){let t=e?.body;return t?.code===`workspace_root_missing`&&t.workspaceRoot?t.workspaceRoot:null}function yn(e){let t=e.actor;return t.name?t.name:t.agentId?t.agentId:t.id?t.id:t.sessionKey?t.sessionKey:t.kind}function bn(e){return e.primaryObject.title?.trim()||e.primaryObject.id}function xn(e){let t=e.source;return t.toolCallId?`${t.kind} · ${t.toolCallId}`:t.runId?`${t.kind} · ${t.runId}`:t.requestId?`${t.kind} · ${t.requestId}`:t.kind}function Sn(e){let t=e.payload.changes;if(Array.isArray(t)&&t.length)return t.filter(e=>typeof e==`string`).join(`, `);let n=e.payload.contentPreview;if(typeof n==`string`&&n.trim())return n.trim();let r=e.payload.title??e.payload.name;return typeof r==`string`&&r.trim()?r.trim():``}function Cn(e){return e.map(e=>({name:e.name,path:e.path,absolutePath:e.absolutePath,isDirectory:e.type===`directory`,children:e.type===`directory`?[]:void 0}))}function wn(e,t,n){return e.map(e=>e.path===t?{...e,children:n}:e.isDirectory&&e.children?.length?{...e,children:wn(e.children,t,n)}:e)}function Tn({currentProject:e,pm:t,projectsText:n,wd:r}){let a=st(),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)([e]),[u,f]=(0,q.useState)(``),[p,m]=(0,q.useState)(!1),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(!1),[b,x]=(0,q.useState)(`new`),[S,C]=(0,q.useState)(``),[w,T]=(0,q.useState)(``),[E,k]=(0,q.useState)(!1),[A,j]=(0,q.useState)(null),[M,P]=(0,q.useState)(null),F=(0,q.useCallback)(async()=>{m(!0),g(null);try{let t=await D({limit:100});l(n=>{let r=new Map;r.set(e.id,e);for(let e of n)r.set(e.id,e);for(let e of t.items)r.set(e.id,e);return Array.from(r.values())})}catch(e){g(e instanceof Error?e.message:String(e))}finally{m(!1)}},[e]);(0,q.useEffect)(()=>{l(t=>[e,...t.filter(t=>t.id!==e.id)])},[e]),(0,q.useEffect)(()=>{o&&F()},[F,o]);let z=(0,q.useMemo)(()=>{let t=u.trim().toLowerCase().split(/\s+/).filter(Boolean);return c.filter(t=>t.id!==e.id).filter(e=>{if(t.length===0)return!0;let n=X(e);return t.every(e=>n.includes(e))}).sort((e,t)=>gn(t)-gn(e))},[e.id,c,u]),B=e=>t.statuses[e.status]??e.status,V=e=>e.workspaceRoot||e.effectiveWorkspaceRoot||e.description||e.brief||t.common.defaultWorkspace,H=e=>{x(e),C(``),T(``),j(null),v(!0),s(!1)},ee=(0,q.useCallback)(async(e={})=>{let t=w.trim(),n=S.trim()||(b===`directory`?_n(t):``);if(n){k(!0),j(null),P(null);try{let r=await L({name:n,...t?{workspaceRoot:t}:{},...e.createWorkspaceRoot?{createWorkspaceRoot:!0}:{}});v(!1),C(``),T(``),l(e=>[r,...e.filter(e=>e.id!==r.id)]),a(`/projects/${encodeURIComponent(r.id)}`)}catch(e){let t=vn(e);t?(P(t),v(!1)):j(e instanceof Error?e.message:String(e))}finally{k(!1)}}},[b,S,a,w]),te=(0,q.useCallback)(e=>{e.preventDefault(),ee()},[ee]),ne=(0,q.useCallback)(()=>{ee({createWorkspaceRoot:!0})},[ee]),re=(0,q.useCallback)(()=>{P(null),v(!0)},[]),ie=e=>{T(e),b===`directory`&&!S.trim()&&C(_n(e))},ae=(e,t)=>(0,J.jsxs)(`button`,{type:`button`,className:i(`grid w-full grid-cols-[1rem_minmax(0,1fr)_auto] items-center gap-2 rounded-md px-2 py-2 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,t&&`bg-accent-soft/55 hover:bg-accent-soft/70`),onClick:()=>{s(!1),t||a(`/projects/${encodeURIComponent(e.id)}`)},children:[(0,J.jsx)(Ve,{className:i(`size-4 text-accent-fg`,!t&&`invisible`),"aria-hidden":!0}),(0,J.jsxs)(`span`,{className:`min-w-0`,children:[(0,J.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:e.name}),(0,J.jsx)(`span`,{className:`block truncate text-xs text-fg-muted`,children:V(e)})]}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium`,dn(e.status)),children:B(e)})]},e.id);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(pe,{open:o,onOpenChange:s,children:[(0,J.jsx)(Ie,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:`group -ml-2 flex max-w-full min-w-0 items-center gap-2 rounded-lg px-2 py-1 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,"aria-label":t.projectSwitcher.switchProject,title:t.projectSwitcher.switchProject,children:[(0,J.jsxs)(`span`,{className:`min-w-0`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:e.name}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium`,dn(e.status)),children:B(e)})]}),(0,J.jsx)(`span`,{className:`block truncate text-xs text-fg-muted`,children:V(e)})]}),(0,J.jsx)($e,{className:`size-4 shrink-0 text-fg-subtle transition-transform group-data-[state=open]:rotate-180`,"aria-hidden":!0})]})}),(0,J.jsx)(Xe,{children:(0,J.jsxs)(Ue,{side:`bottom`,align:`start`,sideOffset:6,className:`z-[70] w-[min(26rem,calc(100vw-2rem))] overflow-hidden rounded-xl border border-edge bg-surface-panel p-1.5 shadow-popover outline-none`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,J.jsxs)(`label`,{className:`relative block`,children:[(0,J.jsx)(me,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,J.jsx)(`input`,{type:`search`,className:`h-9 w-full rounded-lg border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:u,onChange:e=>f(e.target.value),placeholder:t.projectSwitcher.searchPlaceholder,"aria-label":t.projectSwitcher.searchPlaceholder})]}),(0,J.jsxs)(`div`,{className:`mt-1 max-h-[min(54vh,24rem)] overflow-y-auto pr-0.5 [scrollbar-gutter:stable]`,children:[(0,J.jsx)(`div`,{className:`px-2 pb-1 pt-2 text-[11px] font-semibold uppercase tracking-wide text-fg-subtle`,children:t.projectSwitcher.current}),ae(e,!0),(0,J.jsx)(`div`,{className:`px-2 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-wide text-fg-subtle`,children:t.projectSwitcher.recent}),h?(0,J.jsx)(`div`,{className:`px-2 py-2 text-xs text-red-600 dark:text-red-400`,children:h}):null,p&&z.length===0?(0,J.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:t.projectSwitcher.loading}):null,!p&&z.length===0?(0,J.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:t.projectSwitcher.noMatches}):null,z.map(e=>ae(e,!1))]}),(0,J.jsxs)(`div`,{className:`mt-1 border-t border-edge-subtle pt-1`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm text-fg hover:bg-surface-hover`,onClick:()=>H(`new`),children:[(0,J.jsx)(le,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:t.projectSwitcher.newProject})]}),(0,J.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm text-fg hover:bg-surface-hover`,onClick:()=>H(`directory`),children:[(0,J.jsx)(rt,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:t.projectSwitcher.openDirectory})]}),(0,J.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm text-fg hover:bg-surface-hover`,onClick:()=>{s(!1),a(`/projects`)},children:[(0,J.jsx)(je,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:t.projectSwitcher.manageProjects})]})]})]})})]}),(0,J.jsx)(N,{open:_,onOpenChange:e=>!E&&v(e),children:(0,J.jsxs)(y,{children:[(0,J.jsx)(I,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,J.jsxs)(ft,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(32rem,calc(100vh-2rem))] w-[min(40rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,J.jsx)(R,{className:`text-base font-semibold text-fg`,children:b===`directory`?t.projectSwitcher.createFromDirectoryTitle:n.createTitle}),(0,J.jsx)(d,{className:`mt-1 text-sm text-fg-muted`,children:b===`directory`?t.projectSwitcher.createFromDirectoryDescription:n.createDescription})]}),(0,J.jsxs)(`form`,{onSubmit:te,className:`flex min-h-0 flex-1 flex-col`,children:[(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[A?(0,J.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:A}):null,(0,J.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n.projectName}),(0,J.jsx)(`input`,{className:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:S,onChange:e=>C(e.target.value),placeholder:`xopc`,autoFocus:!0})]}),(0,J.jsxs)(`div`,{className:`grid gap-1.5 text-sm`,children:[(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n.workspaceRoot}),(0,J.jsx)(yt,{value:w,onChange:ie,disabled:E,wd:r,placeholder:n.workspacePlaceholder,inputClassName:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`}),(0,J.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.workspaceHint})]})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:E,children:n.cancel})}),(0,J.jsxs)(G,{type:`submit`,variant:`primary`,className:`rounded-lg`,disabled:E||!(S.trim()||b===`directory`&&_n(w)),children:[(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0}),n.create]})]})]})]})]})}),(0,J.jsx)(N,{open:!!M,onOpenChange:e=>{e||P(null)},children:(0,J.jsxs)(y,{children:[(0,J.jsx)(I,{className:`fixed inset-0 z-[100] bg-scrim backdrop-blur-[2px]`}),(0,J.jsxs)(ft,{className:`fixed left-1/2 top-1/2 z-[110] flex w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,J.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,J.jsx)(R,{className:`text-base font-semibold text-fg`,children:n.workspaceMissingTitle}),(0,J.jsx)(d,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:M?ln(n.workspaceMissingDescription,{workspace:M}):null})]}),M?(0,J.jsx)(`div`,{className:`px-5 py-4`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-surface-muted px-3 py-2 text-sm text-fg-muted`,children:[(0,J.jsx)(rt,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:M})]})}):null,(0,J.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:re,disabled:E,children:n.workspaceMissingBack}),(0,J.jsxs)(G,{type:`button`,variant:`primary`,className:`rounded-lg`,onClick:ne,disabled:E,children:[(0,J.jsx)(dt,{className:`size-4`,"aria-hidden":!0}),n.workspaceMissingCreate]})]})]})]})})]})}function En(){let{projectId:e=``,tabId:t,noteId:n}=j(),r=st(),o=c(e=>e.language),s=a(o),u=s.chat.workingDirectory,p=s.projectDetailPage,m=s.projectsPage,w=_(e=>e.setPageHeader),D=_(e=>e.clearPageHeader),[F,L]=(0,q.useState)(null),[B,te]=(0,q.useState)(null),[oe,ce]=(0,q.useState)([]),[de,pe]=(0,q.useState)(``),[he,ye]=(0,q.useState)([]),[xe,ke]=(0,q.useState)([]),[je,Me]=(0,q.useState)([]),[U,Pe]=(0,q.useState)([]),[Ie,Ve]=(0,q.useState)([]),[He,Ue]=(0,q.useState)(!1),[We,qe]=(0,q.useState)(null),[Ye,Xe]=(0,q.useState)([]),[$e,tt]=(0,q.useState)(0),[nt,K]=(0,q.useState)(!1),[wt,Tt]=(0,q.useState)(!1),[Et,Dt]=(0,q.useState)(!1),[Ot,kt]=(0,q.useState)([]),Y=(0,q.useRef)(new Set),[At,jt]=(0,q.useState)(null),[Mt,Nt]=(0,q.useState)(nn),[Pt,Ft]=(0,q.useState)(!1),[It,Lt]=(0,q.useState)(!1),[Rt,zt]=(0,q.useState)(``),[Bt,Vt]=(0,q.useState)([]),[Ht,Ut]=(0,q.useState)(!1),[Wt,Gt]=(0,q.useState)(null),[Yt,Xt]=(0,q.useState)(!1),[Zt,Qt]=(0,q.useState)(null),[$t,en]=(0,q.useState)([]),[X,gn]=(0,q.useState)(``),[_n,En]=(0,q.useState)(!0),[Dn,On]=(0,q.useState)(!1),[kn,An]=(0,q.useState)(!1),[jn,Mn]=(0,q.useState)(null),[Nn,Pn]=(0,q.useState)(!1),[Fn,In]=(0,q.useState)(`fixed`),[Ln,Rn]=(0,q.useState)(``),[zn,Bn]=(0,q.useState)(null),[Vn,Hn]=(0,q.useState)(!1),[Un,Wn]=(0,q.useState)(!1),[Gn,Kn]=(0,q.useState)(0),[qn,Jn]=(0,q.useState)(!1),[Yn,Xn]=(0,q.useState)(!1),[Zn,Qn]=(0,q.useState)(null),[$n,er]=(0,q.useState)(null),[tr,nr]=(0,q.useState)(!1),[rr,ir]=(0,q.useState)(!1),[ar,or]=(0,q.useState)(!1),[sr,Z]=(0,q.useState)(null),[cr,lr]=(0,q.useState)({defaultAgentId:``,agents:[],models:[],checklistDecomposePolicy:`empty_only`}),[ur,dr]=(0,q.useState)({title:``,reason:``}),[fr,pr]=(0,q.useState)(()=>cn(e)),[Q,mr]=(0,q.useState)({name:``,description:``,status:`active`,defaultAgentId:``,workspaceRoot:``,brief:``,instructions:``}),hr=fr[0]??Jt[0],$=n?`notes`:an(t)?t:hr,gr=(0,q.useCallback)(t=>{e&&r(`/projects/${encodeURIComponent(e)}/${t}`)},[r,e]),_r=(0,q.useCallback)(t=>e?`/projects/${encodeURIComponent(e)}/${t}`:`/projects`,[e]),vr=(0,q.useCallback)(e=>{let t=_r(`goals`);return`/goals/${encodeURIComponent(e)}?returnTo=${encodeURIComponent(t)}`},[_r]),yr=(0,q.useCallback)(t=>{e&&r(_r(t),{replace:!0})},[r,e,_r]),br=(0,q.useCallback)((e,t)=>{yr(e),r(t)},[r,yr]),xr=(0,q.useCallback)(e=>t=>{t.defaultPrevented||t.button!==0||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||yr(e)},[yr]),Sr=(0,q.useCallback)(e=>e.startsWith(`/goals/`)?`goals`:e.startsWith(`/chat/`)?`sessions`:e.startsWith(`/workflows`)?`workflows`:e.startsWith(`/automations`)?`automations`:e.startsWith(`/notes`)?`notes`:$,[$]);(0,q.useEffect)(()=>{!e||!t||an(t)||r(`/projects/${encodeURIComponent(e)}/${hr}`,{replace:!0})},[hr,r,e,t]),(0,q.useEffect)(()=>{pr(cn(e))},[e]);let Cr=(0,q.useCallback)((t,n,r=`before`)=>{t!==n&&pr(i=>{let a=sn(i),o=a.indexOf(t),s=a.indexOf(n);if(o<0||s<0)return a;let[c]=a.splice(o,1),l=a.indexOf(n);return l<0?sn(i):(a.splice(r===`after`?l+1:l,0,c),e&&window.localStorage.setItem(on(e),JSON.stringify(a)),a)})},[e]);(0,q.useEffect)(()=>{if(!e)return;let t=!1;return En(!0),Z(null),Promise.all([V(e),ne(e),H(e),be().catch(()=>null)]).then(([e,n,r,i])=>{if(t)return;let a=e.project;L(a),te(e),ce(n),ye(r),en(i?.agents??[]),gn(a.defaultAgentId??``),mr({name:a.name,description:a.description??``,status:a.status,defaultAgentId:a.defaultAgentId??``,workspaceRoot:a.workspaceRoot??``,brief:a.brief??``,instructions:a.instructions??``})}).catch(e=>{t||Z(e instanceof Error?e.message:String(e))}).finally(()=>{t||En(!1)}),()=>{t=!0}},[e]),(0,q.useEffect)(()=>{let e=!1;async function t(){let[t,n,r]=await Promise.allSettled([be(),ie(),Se()]);e||lr(e=>{let i=t.status===`fulfilled`?t.value.defaultId:e.defaultAgentId,a=F?.defaultAgentId||X||i,o=t.status===`fulfilled`?t.value.agents:e.agents,s=n.status===`fulfilled`?n.value:e.models,c=r.status===`fulfilled`?bt(r.value.payload?.config).checklistDecomposePolicy:e.checklistDecomposePolicy;return{defaultAgentId:a,agents:o.length?o:[{id:a||`main`,workspace:``,profileDir:``,typedModels:{defaultRole:`deep`,preset:[],effective:[]},extends:[],isDefault:!0,skills:{preset:[]},tools:{presetDenied:[],entryDisable:[],effectiveDisable:[]}}],models:s,checklistDecomposePolicy:c}})}return t(),()=>{e=!0}},[F?.defaultAgentId,X]);let wr=(0,q.useCallback)(async()=>{if(F){Jn(!0),Z(null);try{let[e,t]=await Promise.all([ze(),Oe(100,{ownerAgentId:X||void 0,projectId:F.id})]);ke(e),Me(t)}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Jn(!1)}}},[F,X]);(0,q.useEffect)(()=>{F&&wr()},[F,wr]);let Tr=(0,q.useCallback)(async()=>{if(F){Ue(!0),Z(null);try{let[e,t]=await Promise.all([ut.list({projectId:F.id}),ut.runs(50,void 0,{projectId:F.id})]);Pe(e.automations),Ve(t.runs)}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Ue(!1)}}},[F]);(0,q.useEffect)(()=>{$===`automations`&&Tr()},[Tr,$]);let Er=(0,q.useCallback)(async()=>{if(F){K(!0),Z(null);try{let e=await Ke(F.id,{includeRelated:wt,limit:100});Xe(e.items),tt(e.total)}catch(e){Z(e instanceof Error?e.message:String(e))}finally{K(!1)}}},[F,wt]);(0,q.useEffect)(()=>{$===`activity`&&Er()},[Er,$]);let Dr=(0,q.useCallback)(async e=>{qe(`run:${e.id}`),Z(null);try{await ut.runNow(e.id),await Tr()}catch(e){Z(e instanceof Error?e.message:String(e))}finally{qe(null)}},[Tr]),Or=(0,q.useCallback)(async e=>{qe(`toggle:${e.id}`),Z(null);try{e.enabled?await ut.pause(e.id):await ut.resume(e.id),await Tr()}catch(e){Z(e instanceof Error?e.message:String(e))}finally{qe(null)}},[Tr]),kr=(0,q.useCallback)(async()=>{if(!F?.effectiveWorkspaceRoot?.trim()){kt([]),Y.current.clear(),Qt(null);return}Xt(!0),Qt(null),Y.current.clear();try{kt(Cn((await x(F.id,``)).entries)),Y.current.add(``)}catch(e){kt([]),Y.current.clear(),Qt(e instanceof Error?e.message:String(e))}finally{Xt(!1)}},[F]),Ar=(0,q.useCallback)(async e=>{if(!(!F?.effectiveWorkspaceRoot?.trim()||Y.current.has(e))){Y.current.add(e),Qt(null);try{let t=await x(F.id,e);kt(n=>wn(n,e,Cn(t.entries)))}catch(t){Y.current.delete(e),Qt(t instanceof Error?t.message:String(t))}}},[F]);(0,q.useEffect)(()=>{$===`files`&&kr()},[kr,$]);let jr=Rt.trim();(0,q.useEffect)(()=>{if($!==`files`||!F||!It||!jr){Vt([]),Ut(!1),Gt(null);return}let e=!1;Ut(!0),Gt(null),Vt([]);let t=window.setTimeout(()=>{Je(F.id,jr,50).then(t=>{e||Vt(t)}).catch(t=>{e||Gt(t instanceof Error?t.message:String(t))}).finally(()=>{e||Ut(!1)})},180);return()=>{e=!0,window.clearTimeout(t)}},[jr,F,It,$]);let Mr=(0,q.useCallback)(async()=>{if(F){Wn(!0),Z(null);try{let e=await z(F.id);br(`sessions`,`/chat/${encodeURIComponent(e.key)}`)}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Wn(!1)}}},[br,F]),Nr=(0,q.useCallback)(()=>{gr(`work-items`),Kn(e=>e+1)},[gr]),Pr=(0,q.useCallback)(async()=>{if(!F)return;let[e,t]=await Promise.all([V(F.id),H(F.id)]);te(e),L(e.project),ye(t)},[F]),Fr=(0,q.useCallback)(async e=>{if(!F||!e.title.trim())return;let t=Number.parseInt(e.maxTurns,10),n=e.deadline?new Date(e.deadline).getTime():void 0;nr(!0),Z(null);try{await P(F.id,{title:e.title.trim(),description:e.description.trim()||void 0,attachments:e.attachments.length?e.attachments:void 0,priority:e.priority,deadlineAt:Number.isFinite(n)?n:void 0,maxTurns:Number.isFinite(t)?t:void 0,agentId:e.agentId.trim()||void 0,judgeModelRef:e.judgeModelRef.trim()||void 0,contract:{objective:e.objective.trim()||e.title.trim(),scopeBoundary:e.scopeBoundary.trim()||void 0,evidencePlan:xt(e.evidencePlan),criteria:xt(e.checklist)}}),or(!1),gr(`goals`),await Pr()}catch(e){throw Z(e instanceof Error?e.message:String(e)),e}finally{nr(!1)}},[gr,F,Pr]),Ir=(0,q.useCallback)(async e=>{if(e.preventDefault(),!(!F||!ur.title.trim())){ir(!0),Z(null);try{await b(F.id,{title:ur.title.trim(),reason:ur.reason.trim()||void 0}),dr({title:``,reason:``}),await Pr()}catch(e){Z(e instanceof Error?e.message:String(e))}finally{ir(!1)}}},[ur.reason,ur.title,F,Pr]),Lr=(0,q.useCallback)(async e=>{if(!(!F||!$n)){Xn(!0),Z(null);try{let t=X||F.defaultAgentId||void 0,n=await ue({definitionId:$n.id,projectId:F.id,agentId:t,goal:e.goal,input:e.input,concurrency:e.concurrency,maxSubagents:e.maxSubagents});er(null),await wr(),br(`workflows`,S(n.runId,{ownerAgentId:t}))}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Xn(!1)}}},[br,F,wr,X,$n]),Rr=(0,q.useCallback)(async e=>{if(F){Qn(`retry:${e.id}`),Z(null);try{let t=await ae(e.id,{ownerAgentId:X||e.metadata?.agentId,projectId:e.metadata?.projectId||F.id});await wr(),br(`workflows`,S(t.runId,{ownerAgentId:X||e.metadata?.agentId||F.defaultAgentId}))}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Qn(null)}}},[br,F,wr,X]),zr=(0,q.useCallback)(async e=>{Qn(`cancel:${e.id}`),Z(null);try{await Ze(e.id,{ownerAgentId:X||e.metadata?.agentId}),await wr()}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Qn(null)}},[wr,X]),Br=(0,q.useMemo)(()=>(0,J.jsx)(lt,{to:`/projects`,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":p.backToProjects,children:(0,J.jsx)(De,{className:`size-4`,"aria-hidden":!0})}),[p.backToProjects]),Vr=(0,q.useMemo)(()=>F?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(G,{variant:`secondary`,className:`h-9 rounded-lg`,onClick:Nr,children:[(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0}),p.workItems.create.header]}),(0,J.jsxs)(G,{variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>void Mr(),disabled:Un,children:[(0,J.jsx)(gt,{className:`size-4`,"aria-hidden":!0}),p.common.newChat]})]}):null,[Nr,p.common.newChat,p.workItems.create.header,F,Mr,Un]);(0,q.useLayoutEffect)(()=>(w({startExtra:Br,main:F?(0,J.jsx)(Tn,{currentProject:F,pm:p,projectsText:m,wd:u}):(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:p.fallbackTitle}),(0,J.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:p.fallbackContext})]}),end:Vr}),()=>D()),[D,Vr,Br,p,F,m,w,u]);function Hr(e){L(t=>t?{...t,...e}:null),te(t=>t?{...t,project:{...t.project,...e}}:null),gn(e.defaultAgentId??``),mr(t=>({...t,name:e.name,description:e.description??``,status:e.status,defaultAgentId:e.defaultAgentId??``,workspaceRoot:e.workspaceRoot??``,brief:e.brief??``,instructions:e.instructions??``})),window.dispatchEvent(new CustomEvent(`project-updated`,{detail:{id:e.id}}))}async function Ur(){if(!(!F||!Q.name.trim())){On(!0),Z(null),Mn(null);try{Hr(await se(F.id,{name:Q.name.trim(),status:Q.status,description:Q.description,defaultAgentId:Q.defaultAgentId,brief:Q.brief,instructions:Q.instructions}))}catch(e){let t=vn(e);t?Mn(t):Z(e instanceof Error?e.message:String(e))}finally{On(!1)}}}function Wr(e){e.preventDefault(),Ur()}let Gr=(0,q.useCallback)(()=>{if(!F)return;let e=F.workspaceRoot?.trim()??``;In(e?`fixed`:`follow`),Rn(e||F.effectiveWorkspaceRoot||``),Pn(!0)},[F]);async function Kr(e={}){if(!F)return;let t=Fn===`fixed`?Ln.trim():``;if(!(Fn===`fixed`&&!t)){On(!0),Z(null),Mn(null);try{Hr(await se(F.id,{workspaceRoot:t,...e.createWorkspaceRoot?{createWorkspaceRoot:!0}:{}})),Pn(!1),Mn(null)}catch(e){let t=vn(e);t?(Mn(t),Pn(!1)):Z(e instanceof Error?e.message:String(e))}finally{On(!1)}}}async function qr(){if(!(!F||zn)){Bn(`pin`),Z(null);try{Hr(F.pinnedAt?await Ae(F.id):await ve(F.id))}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Bn(null)}}}async function Jr(){if(!(!F||zn)){Bn(`archive`),Z(null);try{Hr(F.status===`archived`?await Qe(F.id):await f(F.id))}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Bn(null)}}}async function Yr(){if(F){Hn(!0),Z(null);try{await v(F.id),An(!1),r(`/projects`)}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Hn(!1)}}}async function Xr(){if(!(!F||Et)){Dt(!0),Z(null);try{await Be(F.id)}catch(e){Z(e instanceof Error?e.message:String(e))}finally{Dt(!1)}}}let Zr=(0,q.useCallback)(e=>{jt(e)},[]),Qr=(0,q.useCallback)((e,t)=>{t||jt(e)},[]),$r=(0,q.useCallback)(async(e,t,n)=>{let r=F?.id;if(r)switch(e){case`preview`:t.isDirectory||jt(t.path);break;case`download`:if(t.isDirectory)return;try{let e=Fe(t.path);if(ge(fe(e))!==`text`){let n=await Le(t.path,{projectId:r}),i=Ne(e)??`application/octet-stream`;Ce(e,await n.arrayBuffer(),i)}else{let{content:n}=await Ee(t.path,{projectId:r});Ge(e,n)}}catch(e){it(`warning`,e instanceof Error?e.message:String(e),void 0,{duration:4e3})}break;case`copyPath`:try{await Re(t.absolutePath??t.path)&&it(`success`,s.workspace.pathCopied,void 0,{duration:2500})}catch{it(`warning`,s.clipboard.copyFailed,void 0,{duration:4e3})}break;case`openDefault`:if(!t.absolutePath||!window.electronAPI?.shell?.openPath)return;await window.electronAPI.shell.openPath(t.absolutePath);break;case`openWith`:if(!t.absolutePath||!window.electronAPI?.shell?.chooseAppAndOpenPath)return;await window.electronAPI.shell.chooseAppAndOpenPath(t.absolutePath);break;case`openWithApp`:if(!t.absolutePath||!n||!window.electronAPI?.shell?.openPathWithApp)return;await window.electronAPI.shell.openPathWithApp(t.absolutePath,n);break;case`revealInFolder`:if(!t.absolutePath||!window.electronAPI?.shell?.showItemInFolder)return;await window.electronAPI.shell.showItemInFolder(t.absolutePath);break;default:break}},[s.clipboard.copyFailed,s.workspace.pathCopied,F?.id]),ei=(0,q.useCallback)(e=>{if(!window.matchMedia(`(min-width: 1024px)`).matches)return;e.preventDefault();let t=e.currentTarget,n=t.closest(`[data-project-files-grid]`);if(!n)return;t.setPointerCapture(e.pointerId),Ft(!0);let r=e.clientX,i=Mt,a=e.pointerId,o=0,s=i,c=i,l=()=>{o=0,c=s,n.style.setProperty(`--project-files-panel-width`,`${c}px`)},u=e=>{s=tn(i+(e.clientX-r)),o===0&&(o=window.requestAnimationFrame(l))},d=()=>{o!==0&&(window.cancelAnimationFrame(o),l());try{t.releasePointerCapture(a)}catch{}Ft(!1),Nt(c),rn(c),window.removeEventListener(`pointermove`,u),window.removeEventListener(`pointerup`,d),window.removeEventListener(`pointercancel`,d)};window.addEventListener(`pointermove`,u),window.addEventListener(`pointerup`,d),window.addEventListener(`pointercancel`,d)},[Mt]);if((0,q.useEffect)(()=>{$!==`files`&&jt(null)},[e,$]),_n)return(0,J.jsx)(`main`,{className:`w-full flex-1 px-3 py-3 text-sm text-fg-muted sm:px-5 sm:py-4 xl:px-6`,children:p.loading});if(!F)return(0,J.jsxs)(`main`,{className:`w-full flex-1 px-3 py-3 sm:px-5 sm:py-4 xl:px-6`,children:[(0,J.jsxs)(lt,{to:`/projects`,className:`inline-flex items-center gap-2 text-sm text-accent-fg hover:underline`,children:[(0,J.jsx)(De,{className:`size-4`,"aria-hidden":!0}),p.backToProjects]}),(0,J.jsx)(`p`,{className:`mt-6 rounded-lg bg-surface-panel p-4 shadow-surface text-sm text-fg-muted`,children:sr||p.notFound})]});let ti=B?.recentSessions.length?B.recentSessions:F.recentSessions,ni=B?.attentionItems??[],ri=e=>p.statuses[e]??e,ii=e=>ln(p.common.messages,{count:e}),ai=de.trim().toLowerCase(),oi=ai?oe.filter(e=>{let t=un(e.updatedAt),n=e.routing?.agentId||e.agentId||p.common.agent,r=e.name?.trim()||p.sessions.fallbackTitle,i=ii(e.messageCount??0);return[r,e.key,n,t,i].filter(Boolean).join(` `).toLowerCase().includes(ai)}):oe,si=oe.length>0&&oi.length===0,ci=$t.find(e=>e.id===Q.defaultAgentId)?.name||Q.defaultAgentId||p.settings.globalDefaultAgent,li=$t.find(e=>e.id===Q.defaultAgentId),ui=F.workspaceRoot?.trim()||``,di=F.status===`archived`,fi=!!F.pinnedAt,pi=!ui,mi=ui||li?.workspace||F.effectiveWorkspaceRoot||p.common.defaultWorkspace,hi=Fn===`fixed`?Ln.trim()||p.settings.workspacePlaceholder:li?.workspace||F.effectiveWorkspaceRoot||p.common.defaultWorkspace,gi=(Fn===`fixed`?Ln.trim():``)!==ui&&(Fn===`follow`||!!Ln.trim()),_i=fr.map(e=>{let t=qt.find(t=>t.id===e);return{...t,label:t.id===`work-items`?p.workItems.tab:p.tabs[t.id]}});async function vi(){if(!mi)return;let e=await Re(mi);it(e?`success`:`warning`,e?s.workspace.pathCopied:s.clipboard.copyFailed,void 0,{duration:e?2500:4e3})}function yi(){Mn(null),Pn(!0)}return(0,J.jsxs)(`main`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden px-3 py-3 sm:px-5 sm:py-4 xl:px-6`,children:[(0,J.jsx)(vt,{items:_i,activeTab:$,onChange:gr,onReorder:Cr,ariaLabel:p.navAria,tabIdPrefix:`project-tab`,panelIdPrefix:`project-panel`,className:`shrink-0`}),sr?(0,J.jsx)(`p`,{className:`mt-3 shrink-0 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:sr}):null,(0,J.jsxs)(`div`,{className:i(`mt-3 min-h-0 flex-1`,$===`work-items`?`-mx-3 -mb-3 overflow-hidden sm:-mx-5 sm:-mb-4 xl:-mx-6`:$===`overview`?`overflow-y-auto pr-1 [scrollbar-gutter:stable] xl:overflow-hidden xl:pr-0`:`overflow-y-auto pr-1 [scrollbar-gutter:stable]`),children:[$===`overview`?(0,J.jsxs)(`section`,{id:`project-panel-overview`,role:`tabpanel`,"aria-labelledby":`project-tab-overview`,className:`grid min-h-full gap-4 xl:h-full xl:min-h-0 xl:grid-cols-[minmax(0,1fr)_20rem] xl:overflow-hidden`,children:[(0,J.jsxs)(`div`,{className:`grid min-w-0 content-start gap-4 xl:min-h-0 xl:overflow-y-auto xl:pr-1 xl:[scrollbar-gutter:stable]`,children:[(0,J.jsx)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel p-4 shadow-surface`,children:(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.overview.directionTitle}),(0,J.jsx)(`p`,{className:`mt-1 max-w-3xl text-sm leading-6 text-fg-muted`,children:B?.digest?.summary||B?.recommendedAction||F.description||F.brief||p.overview.directionFallback}),B?.digest?.nextAction?(0,J.jsx)(`p`,{className:`mt-2 max-w-3xl text-sm font-medium leading-6 text-fg`,children:ln(p.overview.recommendedNext,{action:B.digest.nextAction})}):null]}),(0,J.jsx)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:(0,J.jsxs)(G,{type:`button`,variant:`secondary`,onClick:()=>void Xr(),disabled:Et,children:[(0,J.jsx)(_e,{className:`size-4`,"aria-hidden":!0}),Et?p.overview.savingDigest:p.overview.saveDigest]})})]})}),(0,J.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.overview.nextActions}),(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 py-1 text-xs`,onClick:()=>or(!0),children:[(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0}),p.overview.goal]})]}),(0,J.jsx)(`div`,{className:`divide-y divide-edge`,children:B?.nextActions.length?B.nextActions.map(e=>(0,J.jsxs)(lt,{to:vr(e.goalId),onClick:xr(`goals`),className:`block px-4 py-3 hover:bg-surface-hover`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.title}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,dn(e.status)),children:ri(e.status)})]}),(0,J.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm leading-5 text-fg-muted`,children:e.nextAction})]},e.goalId)):(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.overview.noNextActions})})]})]}),(0,J.jsxs)(`aside`,{className:`grid min-w-0 content-start gap-4 xl:min-h-0 xl:overflow-y-auto xl:pr-1 xl:[scrollbar-gutter:stable]`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.overview.attention}),ni.length?(0,J.jsx)(`div`,{className:`mt-3 grid gap-3`,children:ni.map(e=>{let t=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(E,{className:`size-4 text-amber-600 dark:text-amber-300`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.title})]}),(0,J.jsxs)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:[p.overview.attentionKinds[e.kind]??e.kind,e.detail?` · ${e.detail}`:e.status?` · ${ri(e.status)}`:``]})]});return e.href?(0,J.jsx)(lt,{to:e.href,onClick:xr(Sr(e.href)),className:`min-w-0 rounded-md bg-surface-base p-3 hover:bg-surface-hover`,children:t},e.id):(0,J.jsx)(`div`,{className:`min-w-0 rounded-md bg-surface-base p-3`,children:t},e.id)})}):(0,J.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:p.overview.noBlockedGoals}),(0,J.jsxs)(`form`,{onSubmit:Ir,className:`mt-4 flex gap-2 border-t border-edge pt-4`,children:[(0,J.jsx)(`input`,{className:`min-h-9 min-w-0 flex-1 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:ur.title,onChange:e=>dr(t=>({...t,title:e.target.value})),placeholder:p.overview.blockerTitlePlaceholder}),(0,J.jsx)(G,{type:`submit`,variant:`secondary`,className:`shrink-0 rounded-lg px-3`,disabled:rr||!ur.title.trim(),"aria-label":rr?p.overview.addingBlocker:p.overview.addBlocker,title:rr?p.overview.addingBlocker:p.overview.addBlocker,children:(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0})})]})]}),(0,J.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(pt,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,J.jsx)(`h2`,{className:`min-w-0 truncate text-sm font-semibold text-fg`,children:p.overview.recentSessions})]}),(0,J.jsx)(`button`,{type:`button`,className:`shrink-0 text-xs font-medium text-accent-fg hover:underline`,onClick:()=>gr(`sessions`),children:p.common.viewAll})]}),(0,J.jsx)(`div`,{className:`divide-y divide-edge`,children:ti.length?ti.map(e=>(0,J.jsxs)(lt,{to:`/chat/${encodeURIComponent(e.key)}`,onClick:xr(`sessions`),className:`block px-4 py-3 hover:bg-surface-hover`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.name||e.key}),(0,J.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:un(e.updatedAt)})]}),(0,J.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-muted`,children:e.agentId||p.common.agent})]},e.key)):(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.overview.noSessions})})]})]})]}):null,$===`work-items`?(0,J.jsx)(Kt,{projectId:F.id,createRequestKey:Gn}):null,$===`workflows`?(0,J.jsxs)(`section`,{id:`project-panel-workflows`,role:`tabpanel`,"aria-labelledby":`project-tab-workflows`,className:`grid h-full min-h-[28rem] gap-4 xl:grid-cols-[minmax(0,1fr)_22rem]`,children:[(0,J.jsx)(`div`,{className:`min-h-0`,children:(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.workflows.runsTitle}),(0,J.jsx)(`p`,{className:`text-xs text-fg-muted`,children:p.workflows.runsHint})]}),(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`h-9 rounded-lg`,onClick:()=>void wr(),disabled:qn,children:[(0,J.jsx)(W,{className:`size-4`,"aria-hidden":!0}),p.common.refresh]})]}),(0,J.jsx)(`div`,{className:`min-h-0 flex-1 divide-y divide-edge overflow-y-auto`,children:qn&&je.length===0?(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.workflows.loadingRuns}):je.length?je.map(e=>{let t=e.status===`queued`||e.status===`running`,n=e.status===`failed`||e.status===`timeout`||e.status===`cancelled`;return(0,J.jsxs)(`div`,{className:`grid gap-2 px-4 py-3 hover:bg-surface-hover`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsx)(`button`,{type:`button`,className:`min-w-0 truncate text-left text-sm font-medium text-fg hover:text-accent-fg`,onClick:()=>br(`workflows`,S(e.id,{ownerAgentId:X||e.metadata?.agentId||F.defaultAgentId})),children:e.title||e.definitionId}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,fn(e.status)),children:ri(e.status)})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,J.jsx)(`span`,{className:`truncate text-xs text-fg-muted`,children:ln(p.workflows.runMeta,{definitionId:e.definitionId,done:e.metrics.doneAgentCount,total:e.metrics.agentCount,time:un(e.createdAtMs)})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 py-1 text-xs`,onClick:()=>br(`workflows`,S(e.id,{ownerAgentId:X||e.metadata?.agentId||F.defaultAgentId})),children:p.common.open}),n?(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 py-1 text-xs`,disabled:Zn===`retry:${e.id}`,onClick:()=>void Rr(e),children:[(0,J.jsx)(W,{className:`size-3.5`,"aria-hidden":!0}),p.common.retry]}):null,t?(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 py-1 text-xs`,disabled:Zn===`cancel:${e.id}`,onClick:()=>void zr(e),children:[(0,J.jsx)(ee,{className:`size-3.5`,"aria-hidden":!0}),p.common.cancel]}):null]})]})]},e.id)}):(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.workflows.emptyRuns})})]})}),(0,J.jsx)(`aside`,{className:`min-h-0`,children:(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-4 py-3`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.workflows.startTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:p.workflows.startHint})]}),(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-3`,children:(0,J.jsx)(`div`,{className:`grid gap-2`,children:xe.length?xe.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:`grid gap-1 rounded-md bg-surface-base p-3 text-left hover:bg-surface-hover focus:outline-none focus:ring-2 focus:ring-accent/30`,onClick:()=>er(e),children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[(0,J.jsx)(A,{className:`size-4 text-accent-fg`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:e.title})]}),(0,J.jsx)(`span`,{className:`line-clamp-2 text-xs leading-5 text-fg-muted`,children:e.description||e.metadata.whenToUse||e.name})]},e.id)):(0,J.jsx)(`div`,{className:`px-1 py-3 text-sm text-fg-muted`,children:p.workflows.emptyDefinitions})})})]})})]}):null,$===`automations`?(0,J.jsxs)(`section`,{id:`project-panel-automations`,role:`tabpanel`,"aria-labelledby":`project-tab-automations`,className:`grid h-full min-h-[28rem] overflow-hidden gap-4 xl:grid-cols-[minmax(0,1fr)_22rem]`,children:[(0,J.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.automations.title}),(0,J.jsx)(`p`,{className:`text-xs text-fg-muted`,children:p.automations.hint})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`h-9 rounded-lg`,onClick:()=>void Tr(),disabled:He,children:[(0,J.jsx)(W,{className:`size-4`,"aria-hidden":!0}),p.common.refresh]}),(0,J.jsxs)(G,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>br(`automations`,`/automations?projectId=${encodeURIComponent(F.id)}&action=create`),children:[(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0}),p.common.new]})]})]}),(0,J.jsx)(`div`,{className:`min-h-0 flex-1 divide-y divide-edge overflow-y-auto`,children:He&&U.length===0?(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.automations.loading}):U.length?U.map(e=>{let t=Ie.find(t=>t.automationId===e.id),n=e.state.runningRunId?Ie.find(t=>t.id===e.state.runningRunId):null;return(0,J.jsxs)(`div`,{className:`grid gap-2 px-4 py-3 hover:bg-surface-hover`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsx)(`button`,{type:`button`,className:`min-w-0 truncate text-left text-sm font-medium text-fg hover:text-accent-fg`,onClick:()=>br(`automations`,`/automations?automation=${encodeURIComponent(e.id)}`),children:e.name}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,e.enabled?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`bg-surface-hover text-fg-muted`),children:e.enabled?p.automations.enabled:p.automations.paused})]}),(0,J.jsx)(`p`,{className:`line-clamp-2 text-sm leading-5 text-fg-muted`,children:e.description||e.action.kind}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,J.jsx)(`span`,{className:`truncate text-xs text-fg-muted`,children:ln(p.common.lastRun,{trigger:e.trigger.kind,action:e.action.kind,time:t?un(t.createdAtMs):p.common.never})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 py-1 text-xs`,disabled:We===`run:${e.id}`||!!n,onClick:()=>void Dr(e),children:[(0,J.jsx)(A,{className:`size-3.5`,"aria-hidden":!0}),p.automations.run]}),(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 py-1 text-xs`,disabled:We===`toggle:${e.id}`,onClick:()=>void Or(e),children:[e.enabled?(0,J.jsx)(T,{className:`size-3.5`,"aria-hidden":!0}):(0,J.jsx)(A,{className:`size-3.5`,"aria-hidden":!0}),e.enabled?p.automations.pause:p.automations.resume]})]})]})]},e.id)}):(0,J.jsxs)(`div`,{className:`grid gap-3 px-4 py-6 text-sm text-fg-muted`,children:[(0,J.jsx)(`p`,{children:p.automations.empty}),(0,J.jsx)(`div`,{children:(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`rounded-lg`,onClick:()=>br(`automations`,`/automations?projectId=${encodeURIComponent(F.id)}&action=create`),children:[(0,J.jsx)(g,{className:`size-4`,"aria-hidden":!0}),p.automations.create]})})]})})]}),(0,J.jsxs)(`aside`,{className:`grid min-h-0 min-w-0 content-start gap-4 overflow-y-auto pr-1 [scrollbar-gutter:stable]`,children:[(0,J.jsxs)(`div`,{className:`rounded-lg bg-surface-panel shadow-surface`,children:[(0,J.jsx)(`div`,{className:`border-b border-edge px-4 py-3`,children:(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.automations.recentRuns})}),(0,J.jsx)(`div`,{className:`divide-y divide-edge`,children:Ie.length?Ie.slice(0,8).map(e=>(0,J.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.automationName}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,fn(e.status)),children:ri(e.status)})]}),(0,J.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-muted`,children:un(e.createdAtMs)})]},e.id)):(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.automations.emptyRuns})})]}),(0,J.jsxs)(`div`,{className:`rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.automations.contextTitle}),(0,J.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:p.automations.contextHint}),(0,J.jsx)(`p`,{className:`mt-3 break-all text-xs text-fg-subtle`,children:F.workspaceRoot||F.effectiveWorkspaceRoot||p.common.defaultWorkspace})]})]})]}):null,$===`notes`?(0,J.jsx)(`section`,{id:`project-panel-notes`,role:`tabpanel`,"aria-labelledby":`project-tab-notes`,className:`flex h-full min-h-[28rem] overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:(0,J.jsx)(_t,{selectedNoteId:n,basePath:`/projects/${encodeURIComponent(F.id)}/notes`,showLibrary:!1,allowMediaCapture:!1,listTag:`project:${F.id}`,captureTags:[`project:${F.id}`,F.slug],listTitle:p.notes.title,listDescription:p.notes.hint,emptyText:p.notes.emptyTitle,emptyDescription:p.notes.emptyDescription,listWidthStorageKey:`xopc.projectNotes.listWidth.${F.id}`})}):null,$===`files`?(0,J.jsx)(`section`,{id:`project-panel-files`,role:`tabpanel`,"aria-labelledby":`project-tab-files`,className:`h-full min-h-[28rem]`,children:(0,J.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:F.effectiveWorkspaceRoot?(0,J.jsxs)(`div`,{"data-project-files-grid":!0,className:i(`grid min-h-0 flex-1 grid-cols-1 overflow-hidden lg:grid-cols-[var(--project-files-panel-width)_6px_minmax(0,1fr)]`,Pt&&`cursor-col-resize select-none`),style:{"--project-files-panel-width":`${Mt}px`},children:[(0,J.jsxs)(`aside`,{className:`flex min-h-0 flex-col border-b border-edge lg:border-b-0 lg:border-r`,children:[(0,J.jsxs)(`div`,{className:`flex h-11 items-center gap-1 border-b border-edge bg-surface-muted/50 px-3 text-sm`,children:[(0,J.jsx)(ht,{workspacePath:mi}),(0,J.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[(0,J.jsx)(`button`,{type:`button`,className:i(`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,It&&`bg-surface-hover text-fg`),onClick:()=>Lt(!0),"aria-label":p.files.search,title:p.files.search,"aria-pressed":It,children:(0,J.jsx)(me,{className:`size-3.5`,"aria-hidden":!0})}),(0,J.jsx)(re,{className:`size-7 shrink-0 rounded-md p-0`,loading:Yt,label:s.cron.refresh,onClick:()=>void kr()})]})]}),It?(0,J.jsx)(`div`,{className:`shrink-0 border-b border-edge bg-surface-muted/40 px-3 py-2`,children:(0,J.jsxs)(`div`,{className:`flex h-8 items-center gap-2 rounded-md border border-edge bg-surface-panel px-2 focus-within:border-accent focus-within:ring-2 focus-within:ring-accent/20`,children:[(0,J.jsx)(me,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,J.jsx)(`input`,{type:`text`,role:`searchbox`,value:Rt,onChange:e=>zt(e.target.value),placeholder:p.files.searchPlaceholder,"aria-label":p.files.searchPlaceholder,autoFocus:!0,className:`min-w-0 flex-1 bg-transparent text-xs text-fg outline-none placeholder:text-fg-subtle`}),(0,J.jsx)(`button`,{type:`button`,className:`flex size-6 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":p.files.clearSearch,title:p.files.clearSearch,onClick:()=>{zt(``),Lt(!1)},children:(0,J.jsx)(h,{className:`size-3.5`,"aria-hidden":!0})})]})}):null,Zt?(0,J.jsx)(`div`,{className:`border-b border-edge bg-red-500/10 px-4 py-3 text-sm text-red-700 dark:text-red-300`,children:Zt}):null,jr?(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-2`,children:Ht?(0,J.jsxs)(`div`,{className:`space-y-2 px-3 py-1`,children:[(0,J.jsx)(Te,{className:`h-11 w-full`}),(0,J.jsx)(Te,{className:`h-11 w-full`}),(0,J.jsx)(Te,{className:`h-11 w-full`})]}):Wt?(0,J.jsxs)(`p`,{className:`px-3 py-2 text-xs text-red-600 dark:text-red-400`,children:[s.workspace.loadError,`: `,Wt]}):Bt.length===0?(0,J.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-muted`,children:p.files.noSearchResults}):Bt.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:i(`flex w-full min-w-0 items-center gap-2 px-3 py-2 text-left hover:bg-surface-hover`,At===e.path&&`bg-accent-soft text-accent-fg`),onClick:()=>jt(e.path),title:e.path,children:[(0,J.jsx)(k,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate text-sm text-fg`,children:e.name}),(0,J.jsx)(`span`,{className:`block truncate text-xs text-fg-subtle`,children:e.path})]})]},e.path))}):Yt&&Ot.length===0?(0,J.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:p.files.loading}):(0,J.jsx)(we,{tree:Ot,selectedPath:At,onSelectFile:Zr,onSelectEntry:Qr,onExpandDir:e=>void Ar(e),onAction:$r,actionLabels:{preview:s.workspace.preview,download:s.workspace.download,copyPath:s.workspace.copyPath,openDefault:s.workspace.openSystemApp,openWith:s.workspace.openWith,revealInFolder:s.workspace.revealInFolder,recommendedApps:s.workspace.recommendedApps},emptyHint:p.files.emptyDirectory})]}),(0,J.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":p.files.resizeHandle,className:i(`hidden cursor-col-resize touch-none items-stretch justify-center bg-surface-panel transition-colors hover:bg-surface-hover lg:flex`,Pt&&`bg-surface-hover`),onPointerDown:ei,children:(0,J.jsx)(`div`,{className:`my-3 w-px rounded-full bg-edge-strong/70`})}),(0,J.jsx)(`div`,{className:`min-h-0 min-w-0 overflow-hidden bg-surface-base`,children:At?(0,J.jsx)(ot,{filePath:At,projectId:F.id,onClose:()=>jt(null)}):(0,J.jsx)(`div`,{className:`flex h-full min-h-[18rem] items-center justify-center px-6 text-center`,children:(0,J.jsxs)(`div`,{className:`max-w-sm`,children:[(0,J.jsx)(rt,{className:`mx-auto size-8 text-fg-subtle`,"aria-hidden":!0}),(0,J.jsx)(`p`,{className:`mt-3 text-sm font-medium text-fg`,children:p.files.previewEmptyTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:p.files.previewEmptyDescription})]})})})]}):(0,J.jsxs)(`div`,{className:`grid gap-3 px-4 py-8 text-sm text-fg-muted`,children:[(0,J.jsx)(`p`,{children:p.files.needWorkspace}),(0,J.jsx)(`div`,{children:(0,J.jsx)(G,{type:`button`,variant:`secondary`,className:`rounded-lg`,onClick:()=>gr(`settings`),children:p.files.openSettings})})]})})}):null,$===`sessions`?(0,J.jsxs)(`section`,{id:`project-panel-sessions`,role:`tabpanel`,"aria-labelledby":`project-tab-sessions`,className:`grid min-h-full content-start gap-3`,children:[oe.length?(0,J.jsxs)(`label`,{className:`relative flex min-h-9 w-full max-w-lg cursor-text items-center rounded-lg bg-surface-panel py-1.5 pl-9 pr-9 shadow-surface`,children:[(0,J.jsx)(me,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-disabled`,"aria-hidden":!0}),(0,J.jsx)(`input`,{type:`search`,enterKeyHint:`search`,value:de,onChange:e=>pe(e.currentTarget.value),placeholder:p.sessions.searchPlaceholder,"aria-label":p.sessions.searchPlaceholder,className:`min-w-0 flex-1 appearance-none border-0 bg-transparent py-0.5 text-sm leading-normal text-fg caret-current placeholder:text-fg-disabled focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 focus-visible:outline-none`}),de?(0,J.jsx)(`button`,{type:`button`,className:`absolute right-2 top-1/2 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,"aria-label":p.sessions.clearSearch,onClick:()=>pe(``),children:(0,J.jsx)(h,{className:`size-3.5`,"aria-hidden":!0})}):null]}):null,oi.length?(0,J.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:oi.map(e=>{let t=un(e.updatedAt),n=e.routing?.agentId||e.agentId||p.common.agent,r=e.name?.trim()||p.sessions.fallbackTitle,i=ii(e.messageCount??0);return(0,J.jsxs)(lt,{to:`/chat/${encodeURIComponent(e.key)}`,onClick:xr(`sessions`),className:`group flex min-h-[11rem] min-w-0 flex-col rounded-lg bg-surface-panel p-4 shadow-surface transition-colors hover:bg-surface-hover/45 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,J.jsx)(`span`,{className:`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-base text-fg-muted`,children:(0,J.jsx)(gt,{className:`size-4`,"aria-hidden":!0})}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h3`,{className:`truncate text-sm font-semibold text-fg`,children:r}),(0,J.jsx)(`p`,{className:`mt-1 line-clamp-2 break-all font-mono text-xs leading-5 text-fg-muted`,title:e.key,children:e.key})]})]}),(0,J.jsxs)(`div`,{className:`mt-auto grid gap-2 pt-4 text-xs text-fg-muted`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,J.jsxs)(`span`,{className:`min-w-0 max-w-full truncate rounded-md bg-surface-base px-2 py-1`,children:[p.sessions.agent,`: `,n]}),(0,J.jsx)(`span`,{className:`rounded-md bg-surface-base px-2 py-1`,children:i})]}),t?(0,J.jsxs)(`span`,{className:`truncate rounded-md bg-surface-base px-2 py-1`,children:[p.sessions.updated,`: `,t]}):null]})]},e.key)})}):si?(0,J.jsx)(`div`,{className:`grid gap-1 rounded-lg bg-surface-panel px-4 py-8 text-center shadow-surface`,children:(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:p.sessions.noMatches})}):(0,J.jsx)(`div`,{className:`grid gap-1 rounded-lg bg-surface-panel px-4 py-8 text-center shadow-surface`,children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:p.sessions.emptyTitle}),(0,J.jsx)(`p`,{className:`mx-auto mt-1 max-w-md text-sm leading-6 text-fg-muted`,children:p.sessions.emptyDescription})]})})]}):null,$===`goals`?(0,J.jsxs)(`section`,{id:`project-panel-goals`,role:`tabpanel`,"aria-labelledby":`project-tab-goals`,className:`grid min-h-full content-start gap-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsx)(`div`,{children:(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.goals.title})}),(0,J.jsxs)(G,{type:`button`,variant:`primary`,className:`h-9 rounded-lg px-3`,disabled:tr,onClick:()=>or(!0),children:[(0,J.jsx)(le,{className:`size-4`,"aria-hidden":!0}),p.goals.new]})]}),(0,J.jsx)(`div`,{className:`overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:he.length?he.map(e=>(0,J.jsxs)(lt,{to:vr(e.id),onClick:xr(`goals`),className:`grid gap-1 border-b border-edge px-4 py-3 last:border-b-0 hover:bg-surface-hover`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.title}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,dn(e.status)),children:ri(e.status)})]}),(0,J.jsx)(`span`,{className:`truncate text-xs text-fg-muted`,children:e.nextAction||e.description||p.goals.noNextAction})]},e.id)):(0,J.jsx)(`p`,{className:`p-4 text-sm text-fg-muted`,children:p.goals.empty})})]}):null,$===`activity`?(0,J.jsxs)(`section`,{id:`project-panel-activity`,role:`tabpanel`,"aria-labelledby":`project-tab-activity`,className:`grid min-h-full content-start gap-3`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.activity.title}),(0,J.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:ln(p.activity.count,{count:$e})})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsxs)(`label`,{className:`inline-flex min-h-9 items-center gap-2 rounded-lg bg-surface-panel px-3 text-sm text-fg-muted shadow-surface`,children:[(0,J.jsx)(`input`,{type:`checkbox`,checked:wt,onChange:e=>Tt(e.currentTarget.checked),className:`size-4 rounded border-edge text-accent focus:ring-accent/30`}),p.activity.includeRelated]}),(0,J.jsxs)(G,{type:`button`,variant:`secondary`,className:`h-9 rounded-lg px-3`,onClick:()=>void Er(),disabled:nt,children:[(0,J.jsx)(W,{className:i(`size-4`,nt&&`animate-spin`),"aria-hidden":!0}),p.common.refresh]})]})]}),(0,J.jsx)(`div`,{className:`overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:nt&&Ye.length===0?(0,J.jsx)(`div`,{className:`px-4 py-8 text-sm text-fg-muted`,children:p.activity.loading}):Ye.length?(0,J.jsx)(`div`,{className:`divide-y divide-edge`,children:Ye.map(e=>{let t=p.activity.types[e.type]??e.type,n=p.activity.objectKinds[e.primaryObject.kind]??e.primaryObject.kind,r=Sn(e),i=e.relatedProjects.length>0&&!e.scopes.some(e=>e.scopeKind===`project`&&e.scopeId===F.id);return(0,J.jsxs)(`article`,{className:`grid gap-2 px-4 py-3`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:t}),i?(0,J.jsx)(`span`,{className:`rounded-full bg-surface-muted px-2 py-0.5 text-xs font-medium text-fg-muted`,children:p.activity.related}):null]}),(0,J.jsxs)(`p`,{className:`mt-1 min-w-0 truncate text-sm text-fg-muted`,children:[n,`: `,bn(e)]})]}),(0,J.jsx)(`time`,{className:`shrink-0 text-xs text-fg-subtle`,dateTime:new Date(e.createdAt).toISOString(),children:un(e.createdAt)})]}),r?(0,J.jsx)(`p`,{className:`line-clamp-2 text-sm leading-5 text-fg-muted`,children:r}):null,(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2 text-xs text-fg-subtle`,children:[(0,J.jsxs)(`span`,{className:`rounded-md bg-surface-base px-2 py-1`,children:[p.activity.actor,`: `,yn(e)]}),(0,J.jsxs)(`span`,{className:`max-w-full truncate rounded-md bg-surface-base px-2 py-1`,children:[p.activity.source,`: `,xn(e)]})]})]},e.id)})}):(0,J.jsx)(`div`,{className:`px-4 py-8 text-sm text-fg-muted`,children:p.activity.empty})})]}):null,$===`settings`?(0,J.jsxs)(`form`,{id:`project-panel-settings`,role:`tabpanel`,"aria-labelledby":`project-tab-settings`,onSubmit:Wr,className:`grid min-h-full content-start gap-4`,children:[(0,J.jsxs)(`section`,{className:`grid gap-3 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-3`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.settings.contextTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:p.settings.contextHint})]}),(0,J.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,dn(Q.status)),children:p.settings.statuses[Q.status]})]}),(0,J.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-5`,children:[(0,J.jsx)(hn,{label:p.settings.workspaceRoot,value:mi,mono:!0}),(0,J.jsx)(hn,{label:p.settings.defaultAgent,value:ci}),(0,J.jsx)(hn,{label:p.settings.pinState,value:fi?p.settings.pinned:p.settings.notPinned}),(0,J.jsx)(hn,{label:p.settings.createdAt,value:un(F.createdAt)||p.common.never}),(0,J.jsx)(hn,{label:p.settings.updatedAt,value:un(F.updatedAt)||p.common.never})]})]}),(0,J.jsxs)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,J.jsx)(`div`,{children:(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.settings.detailsTitle})}),(0,J.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,J.jsx)(pn,{label:p.settings.name,children:(0,J.jsx)(`input`,{className:mn(),value:Q.name,onChange:e=>mr(t=>({...t,name:e.target.value}))})}),(0,J.jsx)(pn,{label:p.settings.defaultAgent,children:(0,J.jsxs)(l,{className:mn(),value:Q.defaultAgentId,onChange:e=>mr(t=>({...t,defaultAgentId:e.target.value})),children:[(0,J.jsx)(et,{value:``,children:p.settings.globalDefaultAgent}),$t.map(e=>(0,J.jsx)(et,{value:e.id,children:e.name||e.id},e.id))]})}),(0,J.jsx)(pn,{label:p.settings.status,children:di?(0,J.jsx)(`div`,{className:`grid min-h-10 content-center rounded-md border border-edge bg-surface-muted px-3 text-sm text-fg-muted`,children:p.settings.statuses.archived}):(0,J.jsxs)(l,{className:mn(),value:Q.status===`archived`?`active`:Q.status,onChange:e=>mr(t=>({...t,status:e.target.value})),children:[(0,J.jsx)(et,{value:`active`,children:p.settings.statuses.active}),(0,J.jsx)(et,{value:`paused`,children:p.settings.statuses.paused})]})}),(0,J.jsx)(pn,{label:p.settings.description,hint:p.settings.descriptionHint,children:(0,J.jsx)(`textarea`,{className:mn(!0),value:Q.description,onChange:e=>mr(t=>({...t,description:e.target.value}))})})]})]}),(0,J.jsx)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:(0,J.jsxs)(`div`,{className:`grid gap-2 text-sm`,children:[(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:p.settings.workspaceRoot}),(0,J.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-edge bg-surface-base px-3 py-3`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 md:flex-row md:items-start md:justify-between`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,J.jsx)(`span`,{className:`rounded-md bg-surface-muted px-2 py-0.5 text-xs font-medium text-fg-muted`,children:pi?p.settings.workspaceModeFollow:p.settings.workspaceModeFixed})}),(0,J.jsx)(`div`,{className:`mt-2 break-all font-mono text-xs leading-5 text-fg`,title:mi,children:mi})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:()=>void vi(),children:[(0,J.jsx)(C,{className:`size-4`,"aria-hidden":!0}),p.settings.copyWorkspacePath]}),(0,J.jsx)(ht,{workspacePath:mi}),(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:Gr,children:[(0,J.jsx)(dt,{className:`size-4`,"aria-hidden":!0}),p.settings.migrateWorkspace]})]})]}),(0,J.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:p.settings.workspaceMigrationHint})]})]})}),(0,J.jsxs)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.settings.agentContextTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:p.settings.agentContextHint})]}),(0,J.jsx)(pn,{label:p.settings.brief,hint:p.settings.briefHint,children:(0,J.jsx)(`textarea`,{className:mn(!0),value:Q.brief,onChange:e=>mr(t=>({...t,brief:e.target.value}))})}),(0,J.jsx)(pn,{label:p.settings.instructions,hint:p.settings.instructionsHint,children:(0,J.jsx)(`textarea`,{className:mn(!0),value:Q.instructions,onChange:e=>mr(t=>({...t,instructions:e.target.value}))})})]}),(0,J.jsxs)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:p.settings.managementTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:p.settings.managementHint})]}),(0,J.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[(0,J.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-edge bg-surface-base px-3 py-3`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:fi?p.settings.pinnedTitle:p.settings.pinTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:p.settings.pinHint})]}),(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`w-fit rounded-lg`,disabled:zn===`pin`,onClick:()=>void qr(),children:[fi?(0,J.jsx)(ct,{className:`size-4`,"aria-hidden":!0}):(0,J.jsx)(M,{className:`size-4`,"aria-hidden":!0}),fi?p.settings.unpinProject:p.settings.pinProject]})]}),(0,J.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-edge bg-surface-base px-3 py-3`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:di?p.settings.restoreTitle:p.settings.archiveTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:di?p.settings.restoreHint:p.settings.archiveHint})]}),(0,J.jsxs)(G,{type:`button`,variant:di?`primary`:`ghost`,className:`w-fit rounded-lg`,disabled:zn===`archive`,onClick:()=>void Jr(),children:[di?(0,J.jsx)(W,{className:`size-4`,"aria-hidden":!0}):(0,J.jsx)(at,{className:`size-4`,"aria-hidden":!0}),di?p.settings.restoreProject:p.settings.archiveProject]})]})]})]}),(0,J.jsxs)(`section`,{className:`grid gap-3 rounded-lg border border-red-500/20 bg-red-500/5 p-4`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-red-700 dark:text-red-300`,children:p.settings.dangerTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-red-700/80 dark:text-red-200/80`,children:p.settings.dangerHint})]}),(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`w-fit text-red-600 hover:bg-red-500/10 hover:text-red-700 focus-visible:ring-red-500 dark:text-red-400 dark:hover:text-red-300`,onClick:()=>An(!0),children:[(0,J.jsx)(mt,{className:`size-4`,"aria-hidden":!0}),p.settings.deleteConfirmAction]})]}),(0,J.jsx)(`div`,{className:`flex flex-wrap justify-end gap-2 border-t border-edge pt-4`,children:(0,J.jsxs)(G,{type:`submit`,variant:`primary`,disabled:Dn||!Q.name.trim(),children:[(0,J.jsx)(_e,{className:`size-4`,"aria-hidden":!0}),p.common.save]})})]}):null]}),(0,J.jsx)(N,{open:kn,onOpenChange:e=>{Vn||An(e)},children:(0,J.jsxs)(y,{children:[(0,J.jsx)(I,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,J.jsxs)(ft,{className:`fixed left-1/2 top-1/2 z-[90] w-[min(28rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-panel p-5 shadow-float focus:outline-none`,children:[(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(`span`,{className:`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-lg bg-red-500/10 text-red-600 dark:text-red-400`,children:(0,J.jsx)(E,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0})}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(R,{className:`text-base font-semibold text-fg`,children:p.settings.deleteConfirmTitle}),(0,J.jsx)(d,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:F?ln(p.settings.deleteConfirm,{name:F.name}):p.settings.deleteConfirmFallback})]})]}),(0,J.jsxs)(`div`,{className:`mt-5 flex justify-end gap-2`,children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:Vn,children:p.common.cancel})}),(0,J.jsxs)(G,{type:`button`,variant:`ghost`,className:`rounded-lg text-red-600 hover:bg-red-500/10 hover:text-red-700 focus-visible:ring-red-500 dark:text-red-400 dark:hover:text-red-300`,disabled:Vn||!F,onClick:()=>void Yr(),children:[(0,J.jsx)(mt,{className:`size-4`,"aria-hidden":!0}),p.settings.deleteConfirmAction]})]})]})]})}),(0,J.jsx)(N,{open:Nn,onOpenChange:e=>{Dn||Pn(e)},children:(0,J.jsxs)(y,{children:[(0,J.jsx)(I,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,J.jsxs)(ft,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(34rem,calc(100vh-2rem))] w-[min(36rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,J.jsx)(R,{className:`text-base font-semibold text-fg`,children:p.settings.workspaceMigrationTitle}),(0,J.jsx)(d,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:p.settings.workspaceMigrationDescription})]}),(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[(0,J.jsxs)(`div`,{className:`grid gap-2 text-sm`,children:[(0,J.jsx)(`span`,{className:`font-medium text-fg-muted`,children:p.settings.workspaceMode}),(0,J.jsxs)(`div`,{className:`grid gap-2 md:grid-cols-2`,children:[(0,J.jsxs)(`label`,{className:i(`flex min-h-10 items-start gap-2 rounded-md border px-3 py-2`,Fn===`fixed`?`border-accent bg-accent-soft/40 text-fg`:`border-edge bg-surface-base text-fg-muted`),children:[(0,J.jsx)(`input`,{type:`radio`,className:`mt-0.5 size-4`,checked:Fn===`fixed`,onChange:()=>In(`fixed`),disabled:Dn}),(0,J.jsxs)(`span`,{className:`min-w-0`,children:[(0,J.jsx)(`span`,{className:`block font-medium`,children:p.settings.workspaceModeFixed}),(0,J.jsx)(`span`,{className:`block text-xs leading-5 text-fg-subtle`,children:p.settings.workspaceMigrationFixedHint})]})]}),(0,J.jsxs)(`label`,{className:i(`flex min-h-10 items-start gap-2 rounded-md border px-3 py-2`,Fn===`follow`?`border-accent bg-accent-soft/40 text-fg`:`border-edge bg-surface-base text-fg-muted`),children:[(0,J.jsx)(`input`,{type:`radio`,className:`mt-0.5 size-4`,checked:Fn===`follow`,onChange:()=>In(`follow`),disabled:Dn}),(0,J.jsxs)(`span`,{className:`min-w-0`,children:[(0,J.jsx)(`span`,{className:`block font-medium`,children:p.settings.workspaceModeFollow}),(0,J.jsx)(`span`,{className:`block text-xs leading-5 text-fg-subtle`,children:p.settings.workspaceHint})]})]})]})]}),Fn===`fixed`?(0,J.jsx)(yt,{value:Ln,onChange:Rn,disabled:Dn,wd:u,placeholder:p.settings.workspacePlaceholder,inputClassName:mn(),autoFocus:!0}):null,(0,J.jsx)(`div`,{className:`rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm leading-6 text-amber-800 dark:text-amber-200`,children:p.settings.workspaceMigrationImpact}),(0,J.jsx)(`div`,{className:`rounded-lg bg-surface-muted px-3 py-2 text-xs leading-5 text-fg-subtle`,children:ln(p.settings.workspaceCurrent,{workspace:hi})})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:Dn,children:p.common.cancel})}),(0,J.jsxs)(G,{type:`button`,variant:`primary`,className:`rounded-lg`,disabled:Dn||!gi,onClick:()=>void Kr(),children:[(0,J.jsx)(dt,{className:`size-4`,"aria-hidden":!0}),p.settings.workspaceMigrationConfirm]})]})]})]})}),(0,J.jsx)(N,{open:!!jn,onOpenChange:e=>{e||Mn(null)},children:(0,J.jsxs)(y,{children:[(0,J.jsx)(I,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,J.jsxs)(ft,{className:`fixed left-1/2 top-1/2 z-[90] flex w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,J.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,J.jsx)(R,{className:`text-base font-semibold text-fg`,children:p.settings.workspaceMissingTitle}),(0,J.jsx)(d,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:jn?ln(p.settings.workspaceMissingDescription,{workspace:jn}):null})]}),jn?(0,J.jsx)(`div`,{className:`px-5 py-4`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-surface-muted px-3 py-2 text-sm text-fg-muted`,children:[(0,J.jsx)(rt,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:jn})]})}):null,(0,J.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,J.jsx)(G,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:yi,disabled:Dn,children:p.settings.workspaceMissingBack}),(0,J.jsxs)(G,{type:`button`,variant:`primary`,className:`rounded-lg`,onClick:()=>void Kr({createWorkspaceRoot:!0}),disabled:Dn,children:[(0,J.jsx)(dt,{className:`size-4`,"aria-hidden":!0}),p.settings.workspaceMissingCreate]})]})]})]})}),(0,J.jsx)(St,{open:ar,t:s.goalsPage,chat:s.chat,busy:tr,options:cr,onClose:()=>!tr&&or(!1),onCreate:Fr}),(0,J.jsx)(Ct,{open:!!$n,definition:$n,language:o,starting:Yn,onClose:()=>!Yn&&er(null),onStart:e=>void Lr(e)})]})}export{En as ProjectDetailPage};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-BQ_8x0bT.js";import{t as a}from"./messages-Bq4REfIj.js";import{n as o}from"./locale-store-Ba72bFmP.js";import{$a as s,$i as c,Ba as l,Ga as u,Ha as d,Qi as f,Ra as p,Ua as m,Va as h,Vi as g,Wa as _,bs as v,cs as y,er as b,ml as x,to as S,wl as ee,wo as C,xc as te,xl as w,yc as ne,za as T}from"./index-DOetFpTt.js";import{t as re}from"./directory-picker-path-field-BEhDuShd.js";var ie=n(),E=e(t(),1),D=r(),ae=[`all`,`active`,`paused`,`archived`],O=`__auto__`,k=`__global__`;function A(e){return e===`active`?`bg-accent-soft text-accent-fg`:e===`paused`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:`bg-surface-muted text-fg-subtle`}function j(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function oe(e){return e.trim().replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).pop()??``}function se(e){let t=e?.body;return t?.code===`workspace_already_bound`&&t.project?t.project:null}function ce(e){let t=e?.body;return t?.code===`workspace_root_missing`&&t.workspaceRoot?t.workspaceRoot:null}function M(e,t){if(!e)return t;let n=new Date(e);return Number.isNaN(n.getTime())?e:new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(n)}function le(e){let t=(0,ie.c)(37),{project:n,t:r}=e,a=r.statuses[n.status],o=`/projects/${encodeURIComponent(n.id)}`,s;t[0]===n.name?s=t[1]:(s=(0,D.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:n.name}),t[0]=n.name,t[1]=s);let c;t[2]===n.slug?c=t[3]:(c=(0,D.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-subtle`,children:n.slug}),t[2]=n.slug,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,D.jsxs)(`div`,{className:`min-w-0`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]===n.status?u=t[8]:(u=i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,A(n.status)),t[7]=n.status,t[8]=u);let d;t[9]!==a||t[10]!==u?(d=(0,D.jsx)(`span`,{className:u,children:a}),t[9]=a,t[10]=u,t[11]=d):d=t[11];let f;t[12]!==l||t[13]!==d?(f=(0,D.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,d]}),t[12]=l,t[13]=d,t[14]=f):f=t[14];let p=n.description||n.brief||r.noDescription,m;t[15]===p?m=t[16]:(m=(0,D.jsx)(`p`,{className:`mt-3 line-clamp-2 min-h-10 text-sm leading-5 text-fg-muted`,children:p}),t[15]=p,t[16]=m);let h=n.workspaceRoot||n.effectiveWorkspaceRoot||r.agentDefault,g;t[17]!==r.workspaceLabel||t[18]!==h?(g=j(r.workspaceLabel,{workspace:h}),t[17]=r.workspaceLabel,t[18]=h,t[19]=g):g=t[19];let _;t[20]===g?_=t[21]:(_=(0,D.jsx)(`div`,{className:`truncate`,children:g}),t[20]=g,t[21]=_);let v;t[22]!==n.lastActiveAt||t[23]!==n.updatedAt||t[24]!==r.lastActive||t[25]!==r.never?(v=j(r.lastActive,{time:M(n.lastActiveAt??n.updatedAt,r.never)}),t[22]=n.lastActiveAt,t[23]=n.updatedAt,t[24]=r.lastActive,t[25]=r.never,t[26]=v):v=t[26];let y;t[27]===v?y=t[28]:(y=(0,D.jsx)(`div`,{children:v}),t[27]=v,t[28]=y);let b;t[29]!==_||t[30]!==y?(b=(0,D.jsxs)(`div`,{className:`mt-auto grid gap-1 pt-4 text-xs text-fg-subtle`,children:[_,y]}),t[29]=_,t[30]=y,t[31]=b):b=t[31];let x;return t[32]!==o||t[33]!==b||t[34]!==f||t[35]!==m?(x=(0,D.jsxs)(w,{to:o,className:`group flex min-h-36 flex-col rounded-lg bg-surface-panel p-4 shadow-surface transition-colors hover:bg-surface-hover/55 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[f,m,b]}),t[32]=o,t[33]=b,t[34]=f,t[35]=m,t[36]=x):x=t[36],x}function N(){let e=ee(),t=a(o(e=>e.language)),n=t.chat.workingDirectory,r=t.projectsPage,w=u(e=>e.setPageHeader),ie=u(e=>e.clearPageHeader),[A,M]=(0,E.useState)([]),[N,ue]=(0,E.useState)(`all`),[P,de]=(0,E.useState)(``),[fe,pe]=(0,E.useState)(!0),[me,F]=(0,E.useState)(null),[I,L]=(0,E.useState)(``),[he,ge]=(0,E.useState)(!1),[R,_e]=(0,E.useState)(``),[z,B]=(0,E.useState)(`fixed`),[V,ve]=(0,E.useState)(`auto`),[H,ye]=(0,E.useState)(O),[U,be]=(0,E.useState)([]),[xe,Se]=(0,E.useState)(),[W,Ce]=(0,E.useState)(),[we,Te]=(0,E.useState)(`unknown`),[G,K]=(0,E.useState)(!1),[q,Ee]=(0,E.useState)(!1),[J,Y]=(0,E.useState)(null),[X,Z]=(0,E.useState)(null),De=(0,E.useCallback)(e=>{L(e),ge(!!e.trim())},[]),Oe=(0,E.useCallback)(e=>{_e(e),he||L(oe(e))},[he]);(0,E.useEffect)(()=>{let e=!1;return pe(!0),F(null),f({...N===`all`?{}:{status:N},...P.trim()?{search:P}:{},limit:100}).then(t=>{e||M(t.items)}).catch(t=>{e||F(t instanceof Error?t.message:String(t))}).finally(()=>{e||pe(!1)}),()=>{e=!0}},[P,N]),(0,E.useEffect)(()=>{if(!G)return;let e=!1;return b().then(t=>{e||(be(t.agents),Se(t.defaultId))}).catch(()=>{e||(be([]),Se(void 0))}),()=>{e=!0}},[G]),(0,E.useEffect)(()=>{if(!G)return;let e=!1,t=window.setTimeout(()=>{c({...I.trim()?{name:I.trim()}:{},...z===`fixed`&&R.trim()?{workspaceRoot:R.trim()}:{},projectKind:V}).then(t=>{e||(Ce(t.defaultAgentId),Te(t.inference.kind))}).catch(()=>{e||(Ce(void 0),Te(`unknown`))})},250);return()=>{e=!0,window.clearTimeout(t)}},[G,I,V,z,R]);let Q=(0,E.useMemo)(()=>({active:A.filter(e=>e.status===`active`),paused:A.filter(e=>e.status===`paused`),archived:A.filter(e=>e.status===`archived`)}),[A]),$=(0,E.useCallback)(async(e={})=>{let t=I.trim(),n=z===`fixed`?R.trim():``;if(!(!t&&!n)){Ee(!0),F(null),Z(null);try{let r=await g({...t?{name:t}:{},...n?{workspaceRoot:n}:{},projectKind:V,...H===O?{}:{defaultAgentId:H===k?``:H},...e.createWorkspaceRoot?{createWorkspaceRoot:!0}:{}});M(e=>[r,...e]),L(``),ge(!1),_e(``),B(`fixed`),ve(`auto`),ye(O),K(!1)}catch(e){let t=se(e);if(t)M(e=>[t,...e.filter(e=>e.id!==t.id)]),Y(t),K(!1);else{let t=ce(e);t?(Z(t),K(!1)):F(e instanceof Error?e.message:String(e))}}finally{Ee(!1)}}},[H,I,V,z,R]),ke=(0,E.useCallback)(e=>{e.preventDefault(),$()},[$]),Ae=(0,E.useCallback)(()=>{if(!J)return;let t=J.id;Y(null),e(`/projects/${encodeURIComponent(t)}`)},[e,J]),je=(0,E.useCallback)(()=>{Y(null),K(!0)},[]),Me=(0,E.useCallback)(()=>{$({createWorkspaceRoot:!0})},[$]),Ne=(0,E.useCallback)(()=>{Z(null),K(!0)},[]),Pe=(0,E.useMemo)(()=>U.find(e=>e.id===W)?.name||W||``,[U,W]),Fe=(0,E.useMemo)(()=>H===k?xe:H===O?W||xe:H,[H,xe,W]),Ie=(0,E.useMemo)(()=>U.find(e=>e.id===Fe),[U,Fe]),Le=z===`fixed`?R.trim()||r.workspacePlaceholder:Ie?.workspace||r.workspacePlaceholder,Re=(0,E.useMemo)(()=>{if(H===k)return r.agentHintGlobal;if(H!==O){let e=U.find(e=>e.id===H);return j(r.agentHintSelected,{agent:e?.name||H})}return W?j(r.agentHintCoding,{agent:Pe}):we===`coding`?r.agentHintCoderUnavailable:V===`general`||we===`general`?r.agentHintGeneral:r.agentHintAuto},[H,U,Pe,W,we,V,r]),ze=(0,E.useMemo)(()=>(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`label`,{className:`relative block min-w-0`,children:[(0,D.jsx)(y,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,D.jsx)(`input`,{className:`h-9 w-40 rounded-lg border border-edge bg-surface-muted pl-9 pr-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent sm:w-56 lg:w-72`,value:P,onChange:e=>de(e.target.value),placeholder:r.searchPlaceholder,"aria-label":r.searchPlaceholder})]}),(0,D.jsxs)(C,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>K(e=>!e),children:[(0,D.jsx)(v,{className:`size-4`,"aria-hidden":!0}),r.create]})]}),[P,r.create,r.searchPlaceholder]);(0,E.useLayoutEffect)(()=>(w({startExtra:null,main:(0,D.jsxs)(`div`,{className:`min-w-0`,children:[(0,D.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:r.title}),(0,D.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:j(r.summary,{count:A.length})})]}),end:ze}),()=>ie()),[ie,ze,A.length,w,r.summary,r.title]);let Be=N===`all`?[[r.statuses.active,Q.active],[r.statuses.paused,Q.paused],[r.statuses.archived,Q.archived]]:[[r.statuses[N],A]];return(0,D.jsxs)(`main`,{className:`flex w-full flex-1 flex-col gap-6 px-3 py-6 sm:px-5 xl:px-6`,children:[(0,D.jsx)(m,{open:G,onOpenChange:K,children:(0,D.jsxs)(d,{children:[(0,D.jsx)(h,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,D.jsxs)(T,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(32rem,calc(100vh-2rem))] w-[min(40rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,D.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,D.jsx)(_,{className:`text-base font-semibold text-fg`,children:r.createTitle}),(0,D.jsx)(l,{className:`mt-1 text-sm text-fg-muted`,children:r.createDescription})]}),(0,D.jsxs)(`form`,{onSubmit:ke,className:`flex min-h-0 flex-1 flex-col`,children:[(0,D.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[(0,D.jsxs)(`div`,{className:`grid gap-1.5 text-sm`,children:[(0,D.jsx)(`span`,{className:`font-medium text-fg-muted`,children:r.workspaceRoot}),(0,D.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,D.jsxs)(`label`,{className:i(`flex min-h-10 items-start gap-2 rounded-md border px-3 py-2 text-sm`,z===`fixed`?`border-accent bg-accent-soft/40 text-fg`:`border-edge bg-surface-base text-fg-muted`),children:[(0,D.jsx)(`input`,{type:`radio`,className:`mt-0.5 size-4`,checked:z===`fixed`,onChange:()=>B(`fixed`),disabled:q}),(0,D.jsxs)(`span`,{className:`min-w-0`,children:[(0,D.jsx)(`span`,{className:`block font-medium`,children:r.workspaceModeFixed}),(0,D.jsx)(`span`,{className:`block text-xs leading-5 text-fg-subtle`,children:r.workspaceFixedHint})]})]}),(0,D.jsxs)(`label`,{className:i(`flex min-h-10 items-start gap-2 rounded-md border px-3 py-2 text-sm`,z===`follow`?`border-accent bg-accent-soft/40 text-fg`:`border-edge bg-surface-base text-fg-muted`),children:[(0,D.jsx)(`input`,{type:`radio`,className:`mt-0.5 size-4`,checked:z===`follow`,onChange:()=>B(`follow`),disabled:q}),(0,D.jsxs)(`span`,{className:`min-w-0`,children:[(0,D.jsx)(`span`,{className:`block font-medium`,children:r.workspaceModeFollow}),(0,D.jsx)(`span`,{className:`block text-xs leading-5 text-fg-subtle`,children:r.workspaceFollowHint})]})]})]}),z===`fixed`?(0,D.jsx)(re,{value:R,onChange:Oe,disabled:q,wd:n,placeholder:r.workspacePlaceholder,inputClassName:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,autoFocus:!0}):null,(0,D.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:j(r.workspaceCurrent,{workspace:Le})})]}),(0,D.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,D.jsx)(`span`,{className:`font-medium text-fg-muted`,children:r.projectName}),(0,D.jsx)(`input`,{className:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:I,onChange:e=>De(e.target.value),placeholder:R.trim()&&oe(R)||`xopc`})]}),(0,D.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,D.jsx)(`span`,{className:`font-medium text-fg-muted`,children:r.projectType}),(0,D.jsxs)(s,{className:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:V,onChange:e=>ve(e.target.value),disabled:q,children:[(0,D.jsx)(S,{value:`auto`,children:r.projectTypes.auto}),(0,D.jsx)(S,{value:`coding`,children:r.projectTypes.coding}),(0,D.jsx)(S,{value:`general`,children:r.projectTypes.general})]})]}),(0,D.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,D.jsx)(`span`,{className:`font-medium text-fg-muted`,children:r.defaultAgent}),(0,D.jsxs)(s,{className:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:H,onChange:e=>ye(e.target.value),disabled:q,children:[(0,D.jsx)(S,{value:O,children:r.agentAuto}),(0,D.jsx)(S,{value:k,children:r.agentGlobalDefault}),U.map(e=>(0,D.jsx)(S,{value:e.id,children:e.name||e.id},e.id))]}),(0,D.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:Re})]})]}),(0,D.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,D.jsx)(p,{asChild:!0,children:(0,D.jsx)(C,{type:`button`,variant:`ghost`,className:`rounded-lg`,children:r.cancel})}),(0,D.jsxs)(C,{type:`submit`,variant:`primary`,className:`rounded-lg`,disabled:q||!I.trim()&&(z!==`fixed`||!R.trim()),children:[(0,D.jsx)(v,{className:`size-4`,"aria-hidden":!0}),r.create]})]})]})]})]})}),(0,D.jsx)(m,{open:!!J,onOpenChange:e=>{e||Y(null)},children:(0,D.jsxs)(d,{children:[(0,D.jsx)(h,{className:`fixed inset-0 z-[100] bg-scrim backdrop-blur-[2px]`}),(0,D.jsxs)(T,{className:`fixed left-1/2 top-1/2 z-[110] flex w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,D.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,D.jsx)(_,{className:`text-base font-semibold text-fg`,children:r.workspaceConflictTitle}),(0,D.jsx)(l,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:J?j(r.workspaceConflictDescription,{projectName:J.name}):null})]}),J?(0,D.jsx)(`div`,{className:`space-y-3 px-5 py-4`,children:(0,D.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-edge bg-surface-muted px-3 py-2 text-sm text-fg-muted`,children:[(0,D.jsx)(te,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,D.jsx)(`span`,{className:`min-w-0 truncate`,children:j(r.workspaceConflictPath,{workspace:J.workspaceRoot||r.agentDefault})})]})}):null,(0,D.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,D.jsx)(C,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:je,children:r.workspaceConflictBack}),(0,D.jsxs)(C,{type:`button`,variant:`primary`,className:`rounded-lg`,onClick:Ae,children:[(0,D.jsx)(x,{className:`size-4`,"aria-hidden":!0}),r.workspaceConflictOpen]})]})]})]})}),(0,D.jsx)(m,{open:!!X,onOpenChange:e=>{e||Z(null)},children:(0,D.jsxs)(d,{children:[(0,D.jsx)(h,{className:`fixed inset-0 z-[100] bg-scrim backdrop-blur-[2px]`}),(0,D.jsxs)(T,{className:`fixed left-1/2 top-1/2 z-[110] flex w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,D.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,D.jsx)(_,{className:`text-base font-semibold text-fg`,children:r.workspaceMissingTitle}),(0,D.jsx)(l,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:X?j(r.workspaceMissingDescription,{workspace:X}):null})]}),X?(0,D.jsx)(`div`,{className:`px-5 py-4`,children:(0,D.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-edge bg-surface-muted px-3 py-2 text-sm text-fg-muted`,children:[(0,D.jsx)(te,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,D.jsx)(`span`,{className:`min-w-0 truncate`,children:X})]})}):null,(0,D.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,D.jsx)(C,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:Ne,disabled:q,children:r.workspaceMissingBack}),(0,D.jsxs)(C,{type:`button`,variant:`primary`,className:`rounded-lg`,onClick:Me,disabled:q,children:[(0,D.jsx)(ne,{className:`size-4`,"aria-hidden":!0}),r.workspaceMissingCreate]})]})]})]})}),(0,D.jsxs)(`section`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,D.jsx)(`div`,{className:`flex flex-wrap gap-1 rounded-lg bg-surface-panel p-1 shadow-surface`,children:ae.map(e=>(0,D.jsx)(`button`,{type:`button`,onClick:()=>ue(e),className:i(`rounded-md px-3 py-1.5 text-sm font-medium transition-colors`,N===e?`bg-accent text-white`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),children:e===`all`?r.all:r.statuses[e]},e))}),(0,D.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,D.jsx)(te,{className:`size-4`,"aria-hidden":!0}),r.optionalContext]})]}),me?(0,D.jsx)(`p`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:me}):null,fe?(0,D.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.loading}):null,!fe&&A.length===0?(0,D.jsxs)(`div`,{className:`rounded-lg bg-surface-panel p-8 text-center shadow-surface`,children:[(0,D.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:r.emptyTitle}),(0,D.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:r.emptyHint})]}):null,Be.map(([e,t])=>t.length?(0,D.jsxs)(`section`,{className:`space-y-3`,children:[(0,D.jsx)(`h2`,{className:`text-sm font-semibold uppercase tracking-wide text-fg-subtle`,children:e}),(0,D.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,children:t.map(e=>(0,D.jsx)(le,{project:e,t:r},e.id))})]},e):null)]})}export{N as ProjectsPage};
@@ -1 +0,0 @@
1
- import{pr as e}from"./index-DOetFpTt.js";function t(t){let{children:n,fallback:r}=t,i=r===void 0?null:r;return e()?n:i}export{t};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-BQ_8x0bT.js";import{t as a}from"./messages-Bq4REfIj.js";import{a as o,n as s,o as c}from"./fetch-Bl7zMnmd.js";import{n as l}from"./locale-store-Ba72bFmP.js";import{i as u}from"./vendor-swr-BIWyz7Rc.js";import{$a as d,Br as f,C as p,Cc as m,Co as h,Do as g,El as _,Gr as v,Ha as y,Hr as b,Jr as x,Kr as S,Nc as C,Ra as w,Rr as T,Tt as E,Ua as ee,Ur as D,Us as O,Va as k,Vr as A,Wa as j,Wr as te,bc as M,bs as N,er as P,gi as F,ha as I,ma as ne,mo as re,ms as ie,nl as ae,pa as L,qr as oe,tl as R,to as z,wo as B,za as se,zc as ce,zo as V}from"./index-DOetFpTt.js";import{n as le,r as H,t as ue}from"./settings-page-layout-DgFTf6nM.js";import{t as U}from"./settings-form-section-C-5-n-jM.js";import{t as de}from"./page-tabs-Cy7bX7Ce.js";var W=e(t(),1),fe=n(),G={enabled:!0,defaultTtlHours:24,maxTtlDays:7,maxActiveShares:100,maxActiveSites:5,maxFileSizeMb:100,inlinePreviewMimes:[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`application/pdf`,`text/html`,`text/markdown`,`text/plain`,`application/json`]},K=36e5,pe=864e5,q=1048576;function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function me(e,t=32){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim()).slice(0,t):[]}function he(e){let t=J(e)?e:{},n=J(t.gateway)?t.gateway:{},r=J(n.share)?n.share:{},i=J(n.siteShare)?n.siteShare:{},a=typeof r.defaultTtlMs==`number`&&Number.isFinite(r.defaultTtlMs)?Math.floor(r.defaultTtlMs):G.defaultTtlHours*K,o=typeof r.maxTtlMs==`number`&&Number.isFinite(r.maxTtlMs)?Math.floor(r.maxTtlMs):G.maxTtlDays*pe,s=typeof r.maxFileSize==`number`&&Number.isFinite(r.maxFileSize)?Math.floor(r.maxFileSize):G.maxFileSizeMb*q;return{enabled:r.enabled!==!1,defaultTtlHours:Math.max(1,Math.round(a/K)),maxTtlDays:Math.max(1,Math.round(o/pe)),maxActiveShares:typeof r.maxActiveShares==`number`&&Number.isFinite(r.maxActiveShares)?Math.max(1,Math.min(1e4,Math.floor(r.maxActiveShares))):G.maxActiveShares,maxActiveSites:typeof i.maxActiveSites==`number`&&Number.isFinite(i.maxActiveSites)?Math.max(1,Math.min(1e3,Math.floor(i.maxActiveSites))):G.maxActiveSites,maxFileSizeMb:Math.max(1,Math.round(s/q)),inlinePreviewMimes:me(r.inlinePreviewMimes,32).length?me(r.inlinePreviewMimes,32):[...G.inlinePreviewMimes]}}function ge(e){let t=e.defaultTtlHours*K,n=e.maxTtlDays*pe;return t<6e4||t>6048e5?`Default share TTL must be between 1 minute and 7 days.`:n<6e4||n>2592e6?`Maximum share TTL must be between 1 minute and 30 days.`:t>n?`Default TTL cannot exceed maximum TTL.`:e.maxActiveShares<1||e.maxActiveShares>1e4?`Maximum active shares must be between 1 and 10,000.`:e.maxActiveSites<1||e.maxActiveSites>1e3?`Maximum active site shares must be between 1 and 1,000.`:e.maxFileSizeMb<1||e.maxFileSizeMb>10240?`Maximum file size must be between 1 MB and 10 GB.`:null}async function _e(e){let t=ge(e);if(t)throw Error(t);await s(c(`/api/config`),{method:`PATCH`,body:JSON.stringify({gateway:{share:{enabled:e.enabled,defaultTtlMs:e.defaultTtlHours*K,maxTtlMs:e.maxTtlDays*pe,maxActiveShares:e.maxActiveShares,maxFileSize:e.maxFileSizeMb*q,inlinePreviewMimes:e.inlinePreviewMimes},siteShare:{maxActiveSites:e.maxActiveSites}}})}),L()}var Y=r();function ve(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,h,`dark:border-edge`)}function ye({hasToken:e}){let t=a(l(e=>e.language)).sharesSettings,{data:n,isLoading:r}=ne(e),i=(0,W.useMemo)(()=>n?.payload?.config===void 0?null:structuredClone(he(n.payload.config)),[n]),o=(0,W.useRef)(!1),[s,c]=(0,W.useState)(null),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(!1),g=s??i,_=i,v=(0,W.useMemo)(()=>!g||!_?!1:JSON.stringify(g)!==JSON.stringify(_),[g,_]),y=(0,W.useCallback)(e=>{o.current=!0,c(t=>{let n=t??_;return n?{...n,...e}:null})},[_]),b=(0,W.useCallback)(async()=>{if(!(!g||u)){d(!0),p(null),h(!1);try{await _e(g),o.current=!1,c(null),h(!0),window.setTimeout(()=>h(!1),2500)}catch(e){p(e instanceof Error?e.message:t.policySaveError)}finally{d(!1)}}},[g,u,t.policySaveError]),x=(0,W.useCallback)(()=>{o.current=!1,c(null),p(null),h(!1)},[]);return!e||!g?r?(0,Y.jsx)(U,{children:(0,Y.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,Y.jsx)(O,{className:`size-4 animate-spin`}),t.policyLoading]})}):null:(0,Y.jsxs)(U,{children:[(0,Y.jsxs)(`div`,{className:`mb-4 flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.policyTitle}),(0,Y.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:t.policyHint})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[m?(0,Y.jsx)(`span`,{className:`text-sm text-fg-muted`,children:t.policySaved}):null,(0,Y.jsx)(B,{type:`button`,variant:`secondary`,disabled:!v||u,onClick:x,children:t.policyDiscard}),(0,Y.jsx)(B,{type:`button`,variant:`primary`,disabled:!v||u,onClick:()=>void b(),children:u?t.policySaving:t.policySave})]})]}),v?(0,Y.jsx)(`p`,{className:`mb-3 text-xs text-amber-800 dark:text-amber-200`,children:t.policyUnsaved}):null,f?(0,Y.jsx)(`p`,{className:`mb-3 text-sm text-red-600 dark:text-red-400`,children:f}):null,(0,Y.jsx)(`p`,{className:`mb-4 text-xs text-fg-subtle`,children:t.policyRestartHint}),(0,Y.jsx)(be,{t,form:g,onChange:y})]})}function be(e){let t=(0,fe.c)(64),{t:n,form:r,onChange:i}=e,a;t[0]===i?a=t[1]:(a=e=>i({enabled:e.target.checked}),t[0]=i,t[1]=a);let o;t[2]!==r.enabled||t[3]!==a?(o=(0,Y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:r.enabled,onChange:a}),t[2]=r.enabled,t[3]=a,t[4]=o):o=t[4];let s;t[5]!==n.policyEnabled||t[6]!==o?(s=(0,Y.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[o,n.policyEnabled]}),t[5]=n.policyEnabled,t[6]=o,t[7]=s):s=t[7];let c=!r.enabled,l;t[8]===i?l=t[9]:(l=e=>i({defaultTtlHours:e}),t[8]=i,t[9]=l);let u;t[10]!==r.defaultTtlHours||t[11]!==n.policyDefaultTtlHint||t[12]!==n.policyDefaultTtlHours||t[13]!==c||t[14]!==l?(u=(0,Y.jsx)(xe,{id:`share-default-ttl-hours`,label:n.policyDefaultTtlHours,hint:n.policyDefaultTtlHint,value:r.defaultTtlHours,min:1,max:168,disabled:c,onChange:l}),t[10]=r.defaultTtlHours,t[11]=n.policyDefaultTtlHint,t[12]=n.policyDefaultTtlHours,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d=!r.enabled,f;t[16]===i?f=t[17]:(f=e=>i({maxTtlDays:e}),t[16]=i,t[17]=f);let p;t[18]!==r.maxTtlDays||t[19]!==n.policyMaxTtlDays||t[20]!==n.policyMaxTtlHint||t[21]!==d||t[22]!==f?(p=(0,Y.jsx)(xe,{id:`share-max-ttl-days`,label:n.policyMaxTtlDays,hint:n.policyMaxTtlHint,value:r.maxTtlDays,min:1,max:30,disabled:d,onChange:f}),t[18]=r.maxTtlDays,t[19]=n.policyMaxTtlDays,t[20]=n.policyMaxTtlHint,t[21]=d,t[22]=f,t[23]=p):p=t[23];let m=!r.enabled,h;t[24]===i?h=t[25]:(h=e=>i({maxActiveShares:e}),t[24]=i,t[25]=h);let g;t[26]!==r.maxActiveShares||t[27]!==n.policyMaxActiveShares||t[28]!==n.policyMaxActiveSharesHint||t[29]!==m||t[30]!==h?(g=(0,Y.jsx)(xe,{id:`share-max-active`,label:n.policyMaxActiveShares,hint:n.policyMaxActiveSharesHint,value:r.maxActiveShares,min:1,max:1e4,disabled:m,onChange:h}),t[26]=r.maxActiveShares,t[27]=n.policyMaxActiveShares,t[28]=n.policyMaxActiveSharesHint,t[29]=m,t[30]=h,t[31]=g):g=t[31];let _;t[32]===i?_=t[33]:(_=e=>i({maxActiveSites:e}),t[32]=i,t[33]=_);let v;t[34]!==r.maxActiveSites||t[35]!==n.policyMaxActiveSites||t[36]!==n.policyMaxActiveSitesHint||t[37]!==_?(v=(0,Y.jsx)(xe,{id:`site-share-max-active`,label:n.policyMaxActiveSites,hint:n.policyMaxActiveSitesHint,value:r.maxActiveSites,min:1,max:1e3,onChange:_}),t[34]=r.maxActiveSites,t[35]=n.policyMaxActiveSites,t[36]=n.policyMaxActiveSitesHint,t[37]=_,t[38]=v):v=t[38];let y=!r.enabled,b;t[39]===i?b=t[40]:(b=e=>i({maxFileSizeMb:e}),t[39]=i,t[40]=b);let x;t[41]!==r.maxFileSizeMb||t[42]!==n.policyMaxFileSizeHint||t[43]!==n.policyMaxFileSizeMb||t[44]!==y||t[45]!==b?(x=(0,Y.jsx)(xe,{id:`share-max-file-mb`,label:n.policyMaxFileSizeMb,hint:n.policyMaxFileSizeHint,value:r.maxFileSizeMb,min:1,max:10240,disabled:y,onChange:b}),t[41]=r.maxFileSizeMb,t[42]=n.policyMaxFileSizeHint,t[43]=n.policyMaxFileSizeMb,t[44]=y,t[45]=b,t[46]=x):x=t[46];let S;t[47]!==g||t[48]!==v||t[49]!==x||t[50]!==u||t[51]!==p?(S=(0,Y.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[u,p,g,v,x]}),t[47]=g,t[48]=v,t[49]=x,t[50]=u,t[51]=p,t[52]=S):S=t[52];let C=!r.enabled,w;t[53]===i?w=t[54]:(w=e=>i({inlinePreviewMimes:e}),t[53]=i,t[54]=w);let T;t[55]!==r.inlinePreviewMimes||t[56]!==n||t[57]!==C||t[58]!==w?(T=(0,Y.jsx)(X,{t:n,values:r.inlinePreviewMimes,disabled:C,onChange:w}),t[55]=r.inlinePreviewMimes,t[56]=n,t[57]=C,t[58]=w,t[59]=T):T=t[59];let E;return t[60]!==S||t[61]!==T||t[62]!==s?(E=(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[s,S,T]}),t[60]=S,t[61]=T,t[62]=s,t[63]=E):E=t[63],E}function xe(e){let t=(0,fe.c)(21),{id:n,label:r,hint:a,value:o,min:s,max:c,disabled:l,onChange:u}=e,d;t[0]!==n||t[1]!==r?(d=(0,Y.jsx)(`label`,{className:`mb-1 block text-sm font-medium text-fg`,htmlFor:n,children:r}),t[0]=n,t[1]=r,t[2]=d):d=t[2];let f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(ve(),`max-w-xs font-mono text-xs`),t[3]=f):f=t[3];let p;t[4]!==c||t[5]!==s||t[6]!==u?(p=e=>{let t=Number(e.target.value);Number.isFinite(t)&&u(Math.max(s,Math.min(c,Math.floor(t))))},t[4]=c,t[5]=s,t[6]=u,t[7]=p):p=t[7];let m;t[8]!==l||t[9]!==n||t[10]!==c||t[11]!==s||t[12]!==p||t[13]!==o?(m=(0,Y.jsx)(`input`,{id:n,type:`number`,min:s,max:c,disabled:l,className:f,value:o,onChange:p}),t[8]=l,t[9]=n,t[10]=c,t[11]=s,t[12]=p,t[13]=o,t[14]=m):m=t[14];let h;t[15]===a?h=t[16]:(h=(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:a}),t[15]=a,t[16]=h);let g;return t[17]!==d||t[18]!==m||t[19]!==h?(g=(0,Y.jsxs)(`div`,{children:[d,m,h]}),t[17]=d,t[18]=m,t[19]=h,t[20]=g):g=t[20],g}function X(e){let t=(0,fe.c)(25),{t:n,values:r,disabled:a,onChange:o}=e,s;t[0]!==o||t[1]!==r?(s=e=>{let t=e.trim();!t||r.includes(t)||r.length>=32||o([...r,t])},t[0]=o,t[1]=r,t[2]=s):s=t[2];let c=s,l;t[3]===n.policyInlinePreviewMimes?l=t[4]:(l=(0,Y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.policyInlinePreviewMimes}),t[3]=n.policyInlinePreviewMimes,t[4]=l);let u;t[5]===n.policyInlinePreviewMimesHint?u=t[6]:(u=(0,Y.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.policyInlinePreviewMimesHint}),t[5]=n.policyInlinePreviewMimesHint,t[6]=u);let d;t[7]!==a||t[8]!==o||t[9]!==r?(d=r.map(e=>(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-edge bg-surface-panel px-2 py-0.5 font-mono text-xs text-fg`,children:[e,a?null:(0,Y.jsx)(`button`,{type:`button`,className:`text-fg-muted hover:text-fg`,"aria-label":`Remove ${e}`,onClick:()=>o(r.filter(t=>t!==e)),children:`×`})]},e)),t[7]=a,t[8]=o,t[9]=r,t[10]=d):d=t[10];let f;t[11]===d?f=t[12]:(f=(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:d}),t[11]=d,t[12]=f);let p;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=i(ve(),`font-mono text-xs`),t[13]=p):p=t[13];let m=a||r.length>=32,h;t[14]===c?h=t[15]:(h=e=>{e.key===`Enter`&&(e.preventDefault(),c(e.target.value),e.target.value=``)},t[14]=c,t[15]=h);let g;t[16]!==n.policyMimePlaceholder||t[17]!==m||t[18]!==h?(g=(0,Y.jsx)(`input`,{className:p,placeholder:n.policyMimePlaceholder,disabled:m,onKeyDown:h}),t[16]=n.policyMimePlaceholder,t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;return t[20]!==l||t[21]!==u||t[22]!==f||t[23]!==g?(_=(0,Y.jsxs)(`div`,{className:`space-y-2 border-t border-edge pt-4`,children:[l,u,f,g]}),t[20]=l,t[21]=u,t[22]=f,t[23]=g,t[24]=_):_=t[24],_}function Se(e){let t=(0,fe.c)(99),{open:n,onOpenChange:r,onConfirm:s,initialPath:c,selectKind:p,sessionKey:m,agentId:h}=e,_=p===void 0?`any`:p,v=l(Te),b;t[0]===v?b=t[1]:(b=a(v),t[0]=v,t[1]=b);let x=b,S=x.workspace,C=x.sharesSettings,E=T(we),{data:D}=u(o(Ce)?`picker-agents-list`:null,P),A;bb0:{let e;t[2]===h?e=t[3]:(e=h?.trim(),t[2]=h,t[3]=e);let n=e;if(n){A=n;break bb0}let r;t[4]===E?r=t[5]:(r=E.trim(),t[4]=E,t[5]=r);let i=r;if(i){A=i;break bb0}if(D?.defaultId){A=D.defaultId;break bb0}if(D?.agents?.[0]?.id){A=D.agents[0].id;break bb0}A=``}let te=A,[N,I]=(0,W.useState)(te),ne,re;t[6]===te?(ne=t[7],re=t[8]):(ne=()=>{I(te)},re=[te],t[6]=te,t[7]=ne,t[8]=re),(0,W.useEffect)(ne,re);let{tree:ae,loading:L,error:oe,loadRoot:R,loadChildren:ce,reset:V}=f(N,m??null),le;t[9]===c?le=t[10]:(le=c?{path:c,isDirectory:!1}:null,t[9]=c,t[10]=le);let[H,ue]=(0,W.useState)(le),U;t[11]!==c||t[12]!==R||t[13]!==n||t[14]!==V?(U=()=>{if(!n){V(),ue(c?{path:c,isDirectory:!1}:null);return}R()},t[11]=c,t[12]=R,t[13]=n,t[14]=V,t[15]=U):U=t[15];let de;t[16]!==c||t[17]!==R||t[18]!==n||t[19]!==N||t[20]!==V||t[21]!==m?(de=[n,N,m,R,V,c],t[16]=c,t[17]=R,t[18]=n,t[19]=N,t[20]=V,t[21]=m,t[22]=de):de=t[22],(0,W.useEffect)(U,de);let G;t[23]===ce?G=t[24]:(G=e=>{ce(e)},t[23]=ce,t[24]=G);let K=G,pe=H!==null&&(_===`any`||_===`file`&&!H.isDirectory||_===`directory`&&H.isDirectory),q;bb1:{if(!H){q=C.pickerHintNone;break bb1}if(_===`file`&&H.isDirectory){q=C.pickerHintNeedsFile;break bb1}if(_===`directory`&&!H.isDirectory){q=C.pickerHintNeedsDirectory;break bb1}q=`${H.isDirectory?`📁`:`📄`} ${H.path}`}let J=q,me;t[25]===D?.agents?me=t[26]:(me=D?.agents??[],t[25]=D?.agents,t[26]=me);let he=me,ge;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,Y.jsx)(k,{className:`fixed inset-0 z-[70] bg-scrim backdrop-blur-[2px]`}),t[27]=ge):ge=t[27];let _e;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(_e=i(`fixed left-1/2 top-1/2 z-[71] w-[min(34rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2`,`flex h-[min(28rem,calc(100vh-3rem))] flex-col overflow-hidden rounded-lg border border-edge bg-surface-panel shadow-popover outline-none`),t[28]=_e):_e=t[28];let ve;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,Y.jsx)(M,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),t[29]=ve):ve=t[29];let ye;t[30]===C.pickerTitle?ye=t[31]:(ye=(0,Y.jsx)(j,{className:`min-w-0 flex-1 truncate text-base font-semibold text-fg`,children:C.pickerTitle}),t[30]=C.pickerTitle,t[31]=ye);let be=x.cron.refresh,xe=x.cron.refresh,X;t[32]===R?X=t[33]:(X=()=>void R(),t[32]=R,t[33]=X);let Se=L&&`animate-spin`,Z;t[34]===Se?Z=t[35]:(Z=i(`size-4`,Se),t[34]=Se,t[35]=Z);let Q;t[36]===Z?Q=t[37]:(Q=(0,Y.jsx)(ie,{className:Z,"aria-hidden":!0}),t[36]=Z,t[37]=Q);let Ee;t[38]!==L||t[39]!==x.cron.refresh||t[40]!==X||t[41]!==Q?(Ee=(0,Y.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg disabled:opacity-50`,title:be,"aria-label":xe,disabled:L,onClick:X,children:Q}),t[38]=L,t[39]=x.cron.refresh,t[40]=X,t[41]=Q,t[42]=Ee):Ee=t[42];let De;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,Y.jsx)(g,{className:`size-4`}),t[43]=De):De=t[43];let Oe;t[44]===S.close?Oe=t[45]:(Oe=(0,Y.jsx)(w,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":S.close,children:De})}),t[44]=S.close,t[45]=Oe);let ke;t[46]!==ye||t[47]!==Ee||t[48]!==Oe?(ke=(0,Y.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-edge px-4`,children:[ve,ye,Ee,Oe]}),t[46]=ye,t[47]=Ee,t[48]=Oe,t[49]=ke):ke=t[49];let Ae;t[50]!==he||t[51]!==D?.defaultId||t[52]!==N||t[53]!==C.pickerAgentLabel?(Ae=he.length>0?(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-edge px-4 py-2`,children:[(0,Y.jsx)(`label`,{className:`text-xs text-fg-muted`,htmlFor:`picker-agent-select`,children:C.pickerAgentLabel}),(0,Y.jsx)(d,{id:`picker-agent-select`,className:`min-w-0 flex-1 rounded-md border border-edge bg-surface-panel px-2 py-1 text-sm text-fg focus:outline-none focus:ring-2 focus:ring-accent`,value:N,onChange:e=>{I(e.target.value),ue(null)},children:he.map(e=>(0,Y.jsxs)(z,{value:e.id,children:[e.name||e.id,e.id===D?.defaultId?` ★`:``]},e.id))})]}):null,t[50]=he,t[51]=D?.defaultId,t[52]=N,t[53]=C.pickerAgentLabel,t[54]=Ae):Ae=t[54];let je;t[55]!==oe||t[56]!==S.loadError?(je=oe?(0,Y.jsxs)(`p`,{className:`shrink-0 px-4 py-2 text-xs text-red-600 dark:text-red-400`,children:[S.loadError,`: `,oe]}):null,t[55]=oe,t[56]=S.loadError,t[57]=je):je=t[57];let Me;t[58]!==K||t[59]!==L||t[60]!==H?.path||t[61]!==S.emptyDir||t[62]!==S.title||t[63]!==ae?(Me=L&&ae.length===0?(0,Y.jsxs)(`p`,{className:`flex shrink-0 items-center gap-2 px-4 py-3 text-sm text-fg-muted`,children:[(0,Y.jsx)(O,{className:`size-4 animate-spin`}),S.title,`…`]}):(0,Y.jsx)(F,{tree:ae,selectedPath:H?.path??null,onSelectFile:e=>ue({path:e,isDirectory:!1}),onSelectEntry:(e,t)=>ue({path:e,isDirectory:t}),onExpandDir:K,onAction:void 0,emptyHint:S.emptyDir}),t[58]=K,t[59]=L,t[60]=H?.path,t[61]=S.emptyDir,t[62]=S.title,t[63]=ae,t[64]=Me):Me=t[64];let Ne;t[65]!==je||t[66]!==Me?(Ne=(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:[je,Me]}),t[65]=je,t[66]=Me,t[67]=Ne):Ne=t[67];let Pe;t[68]===J?Pe=t[69]:(Pe=(0,Y.jsx)(`p`,{className:`min-w-0 flex-1 truncate text-xs text-fg-muted`,children:J}),t[68]=J,t[69]=Pe);let $;t[70]===r?$=t[71]:($=()=>r(!1),t[70]=r,t[71]=$);let Fe;t[72]!==C.cancel||t[73]!==$?(Fe=(0,Y.jsx)(B,{type:`button`,variant:`ghost`,onClick:$,children:C.cancel}),t[72]=C.cancel,t[73]=$,t[74]=Fe):Fe=t[74];let Ie=!pe,Le;t[75]!==s||t[76]!==r||t[77]!==N||t[78]!==H?(Le=()=>{H&&(s({...H,agentId:N}),r(!1))},t[75]=s,t[76]=r,t[77]=N,t[78]=H,t[79]=Le):Le=t[79];let Re;t[80]!==C.pickerConfirm||t[81]!==Ie||t[82]!==Le?(Re=(0,Y.jsx)(B,{type:`button`,disabled:Ie,onClick:Le,children:C.pickerConfirm}),t[80]=C.pickerConfirm,t[81]=Ie,t[82]=Le,t[83]=Re):Re=t[83];let ze;t[84]!==Fe||t[85]!==Re?(ze=(0,Y.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[Fe,Re]}),t[84]=Fe,t[85]=Re,t[86]=ze):ze=t[86];let Be;t[87]!==Pe||t[88]!==ze?(Be=(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3 border-t border-edge px-4 py-3`,children:[Pe,ze]}),t[87]=Pe,t[88]=ze,t[89]=Be):Be=t[89];let Ve;t[90]!==ke||t[91]!==Ae||t[92]!==Ne||t[93]!==Be?(Ve=(0,Y.jsxs)(y,{children:[ge,(0,Y.jsxs)(se,{className:_e,children:[ke,Ae,Ne,Be]})]}),t[90]=ke,t[91]=Ae,t[92]=Ne,t[93]=Be,t[94]=Ve):Ve=t[94];let He;return t[95]!==r||t[96]!==n||t[97]!==Ve?(He=(0,Y.jsx)(ee,{open:n,onOpenChange:r,children:Ve}),t[95]=r,t[96]=n,t[97]=Ve,t[98]=He):He=t[98],He}function Ce(e){return e.token}function we(e){return e.agentId}function Te(e){return e.language}var Z=[`shares`,`policy`];function Q(e){let t=(e??``).trim();return Z.includes(t)?t:`shares`}function Ee(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}function De(e,t){let n=new Date(e).getTime()-Date.now(),r=Math.abs(n),i=n<0;if(r<6e4)return t===`zh`?`刚刚`:`just now`;let a=Math.floor(r/6e4);if(a<60){let e=t===`zh`?`${a} 分钟`:`${a}m`;return i?t===`zh`?`${e}前`:`${e} ago`:e}let o=Math.floor(a/60);if(o<24){let e=t===`zh`?`${o} 小时`:`${o}h`;return i?t===`zh`?`${e}前`:`${e} ago`:e}let s=Math.floor(o/24),c=t===`zh`?`${s} 天`:`${s}d`;return i?t===`zh`?`${c}前`:`${c} ago`:c}var Oe=[{value:36e5,key:`1h`},{value:216e5,key:`6h`},{value:864e5,key:`24h`},{value:2592e5,key:`3d`},{value:6048e5,key:`7d`}];function ke(){let e=(0,fe.c)(24),t=l(je),n=a(t).sharesSettings,r=!!o(Ae),[i,s]=_(),c;e[0]===i?c=e[1]:(c=Q(i.get(`tab`)),e[0]=i,e[1]=c);let u=c,d;e[2]===s?d=e[3]:(d=e=>{s(t=>{let n=new URLSearchParams(t);return e===`shares`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},e[2]=s,e[3]=d);let f=d;if(!r)return(0,Y.jsx)(ue,{gap:`gap-3`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})});let p={shares:n.tabShares,policy:n.tabPolicy},m=Z.map(e=>({id:e,label:p[e]})),h;e[4]!==n.subtitle||e[5]!==n.title?(h=(0,Y.jsx)(le,{title:n.title,subtitle:n.subtitle}),e[4]=n.subtitle,e[5]=n.title,e[6]=h):h=e[6];let g;e[7]!==u||e[8]!==f||e[9]!==n.tabsAria||e[10]!==m?(g=(0,Y.jsx)(de,{items:m,activeTab:u,onChange:f,ariaLabel:n.tabsAria,tabIdPrefix:`shares-tab`,panelIdPrefix:`shares-panel`}),e[7]=u,e[8]=f,e[9]=n.tabsAria,e[10]=m,e[11]=g):g=e[11];let v;e[12]!==u||e[13]!==r||e[14]!==t||e[15]!==n?(v=u===`shares`?(0,Y.jsx)(Me,{t:n,language:t}):(0,Y.jsx)(ye,{hasToken:r}),e[12]=u,e[13]=r,e[14]=t,e[15]=n,e[16]=v):v=e[16];let y;e[17]!==u||e[18]!==v?(y=(0,Y.jsx)(H,{id:u,activeTab:u,tabIdPrefix:`shares-tab`,panelIdPrefix:`shares-panel`,showHeading:!1,children:v}),e[17]=u,e[18]=v,e[19]=y):y=e[19];let b;return e[20]!==h||e[21]!==g||e[22]!==y?(b=(0,Y.jsxs)(ue,{children:[h,g,y]}),e[20]=h,e[21]=g,e[22]=y,e[23]=b):b=e[23],b}function Ae(e){return e.token}function je(e){return e.language}function Me(e){let t=(0,fe.c)(60),{t:n,language:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={refreshInterval:3e4},t[0]=a):a=t[0];let{data:o,error:s,isLoading:c,mutate:l}=u(`shares-list`,te,a),d;t[1]===o?.payload?.shares?d=t[2]:(d=o?.payload?.shares??[],t[1]=o?.payload?.shares,t[2]=d);let f=d,[p,m]=(0,W.useState)(!1),h;bb0:{if(p){h=f;break bb0}let e;t[3]===f?e=t[4]:(e=f.filter(Ie),t[3]=f,t[4]=e),h=e}let g=h,_;t[5]===f?_=t[6]:(_=f.filter(Fe),t[5]=f,t[6]=_);let v=_.length,y;t[7]===f?y=t[8]:(y=f.filter($),t[7]=f,t[8]=y);let b=y.length,x;t[9]===l?x=t[10]:(x=()=>void l(),t[9]=l,t[10]=x);let S;t[11]!==n||t[12]!==x?(S=(0,Y.jsx)(Re,{t:n,onCreated:x}),t[11]=n,t[12]=x,t[13]=S):S=t[13];let C=p?n.allSharesTitle:n.listTitle,w;t[14]===v?w=t[15]:(w=v>0&&(0,Y.jsxs)(`span`,{className:`ml-2 text-xs font-normal text-fg-muted`,children:[`(`,v,`)`]}),t[14]=v,t[15]=w);let T;t[16]!==C||t[17]!==w?(T=(0,Y.jsxs)(`h2`,{className:`text-sm font-semibold text-fg`,children:[C,w]}),t[16]=C,t[17]=w,t[18]=T):T=t[18];let E;t[19]===l?E=t[20]:(E=()=>void l(),t[19]=l,t[20]=E);let ee=c&&`animate-spin`,D;t[21]===ee?D=t[22]:(D=i(`size-3.5`,ee),t[21]=ee,t[22]=D);let O;t[23]===D?O=t[24]:(O=(0,Y.jsx)(ie,{className:D}),t[23]=D,t[24]=O);let k;t[25]!==c||t[26]!==E||t[27]!==O?(k=(0,Y.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 py-1`,onClick:E,disabled:c,children:O}),t[25]=c,t[26]=E,t[27]=O,t[28]=k):k=t[28];let A;t[29]!==b||t[30]!==p||t[31]!==n.hideExpired||t[32]!==n.showExpired?(A=b>0&&(0,Y.jsx)(`button`,{type:`button`,className:`text-xs text-accent hover:underline`,onClick:()=>m(Pe),children:p?n.hideExpired:n.showExpired}),t[29]=b,t[30]=p,t[31]=n.hideExpired,t[32]=n.showExpired,t[33]=A):A=t[33];let j;t[34]!==k||t[35]!==A?(j=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[k,A]}),t[34]=k,t[35]=A,t[36]=j):j=t[36];let M;t[37]!==T||t[38]!==j?(M=(0,Y.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[T,j]}),t[37]=T,t[38]=j,t[39]=M):M=t[39];let N;t[40]!==o||t[41]!==s||t[42]!==g||t[43]!==c||t[44]!==r||t[45]!==l||t[46]!==n?(N=c&&!o?(0,Y.jsx)(`div`,{className:`grid gap-2`,"aria-busy":`true`,children:Array.from({length:4}).map(Ne)}):s?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-red-600 dark:text-red-400`,children:[(0,Y.jsx)(`span`,{children:n.error}),(0,Y.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 py-1 text-xs`,onClick:()=>void l(),children:n.retry})]}):g.length===0?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.emptyState}):(0,Y.jsx)(`div`,{className:`flex flex-col gap-2`,children:g.map(e=>(0,Y.jsx)(Be,{share:e,t:n,language:r,onRevoked:()=>void l(),onExtended:()=>void l()},e.id))}),t[40]=o,t[41]=s,t[42]=g,t[43]=c,t[44]=r,t[45]=l,t[46]=n,t[47]=N):N=t[47];let P;t[48]!==b||t[49]!==l||t[50]!==p||t[51]!==n?(P=b>0&&p&&(0,Y.jsx)(Ve,{t:n,onCleaned:()=>void l()}),t[48]=b,t[49]=l,t[50]=p,t[51]=n,t[52]=P):P=t[52];let F;t[53]!==M||t[54]!==N||t[55]!==P?(F=(0,Y.jsxs)(U,{children:[M,N,P]}),t[53]=M,t[54]=N,t[55]=P,t[56]=F):F=t[56];let I;return t[57]!==F||t[58]!==S?(I=(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[S,F]}),t[57]=F,t[58]=S,t[59]=I):I=t[59],I}function Ne(e,t){return(0,Y.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-base p-3`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(I,{className:`h-4 w-2/3`}),(0,Y.jsx)(I,{className:`mt-2 h-3 w-1/2`})]}),(0,Y.jsx)(I,{className:`h-7 w-20 rounded-md`})]})},t)}function Pe(e){return!e}function $(e){return e.expired||e.revoked}function Fe(e){return!e.expired&&!e.revoked}function Ie(e){return!e.expired&&!e.revoked}var Le={expanded:!0,path:``,isDirectory:!1,agentId:``,ttlMs:864e5,maxViews:null,description:``,directoryMode:`browse`,creating:!1,result:null,errorMsg:null,resultDialogOpen:!1,pickerOpen:!1};function Re({t:e,onCreated:t}){let[n,r]=(0,W.useReducer)(E,Le),{expanded:a,path:o,isDirectory:s,agentId:c,ttlMs:l,maxViews:u,description:f,directoryMode:p,creating:h,result:g,errorMsg:_,resultDialogOpen:v,pickerOpen:y}=n,x=(0,W.useCallback)(async()=>{if(o.trim()){r({type:`patch`,patch:{creating:!0,errorMsg:null,result:null}});try{r({type:`patch`,patch:{result:(await b({path:o.trim(),ttlMs:l,maxViews:u,description:f.trim()||void 0,...c?{agentId:c}:{},...s?{kind:`directory`,directoryMode:p}:{}})).payload,resultDialogOpen:!0}}),t()}catch(e){r({type:`patch`,patch:{errorMsg:e instanceof Error?e.message:String(e)}})}finally{r({type:`patch`,patch:{creating:!1}})}}},[o,s,c,l,u,f,p,t]),S=(0,W.useCallback)(()=>{r({type:`patch`,patch:{path:``,isDirectory:!1,agentId:``,description:``,maxViews:null,ttlMs:864e5,directoryMode:`browse`,result:null,errorMsg:null}})},[]);return a?(0,Y.jsxs)(U,{children:[(0,Y.jsx)(`h2`,{className:`mb-1 text-sm font-semibold text-fg`,children:e.createTitle}),(0,Y.jsx)(`p`,{className:`mb-4 text-xs text-fg-muted`,children:e.createHint}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:e.pathLabel}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:i(`flex min-w-0 flex-1 items-center gap-2 rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm`,o?`text-fg`:`text-fg-subtle`),children:o?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,children:s?`📁`:`📄`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:o,children:o})]}):(0,Y.jsx)(`span`,{className:`truncate`,children:e.pathPlaceholder})}),(0,Y.jsxs)(B,{type:`button`,variant:`ghost`,onClick:()=>r({type:`patch`,patch:{pickerOpen:!0}}),children:[(0,Y.jsx)(m,{className:`size-4`}),o?e.pathBrowseChange:e.pathBrowse]})]})]}),s?(0,Y.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:e.directoryModeLabel}),(0,Y.jsxs)(d,{className:`rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg focus:outline-none focus:ring-2 focus:ring-accent`,value:p,onChange:e=>r({type:`patch`,patch:{directoryMode:e.target.value===`zip-only`?`zip-only`:`browse`}}),children:[(0,Y.jsx)(z,{value:`browse`,children:e.directoryModeBrowse}),(0,Y.jsx)(z,{value:`zip-only`,children:e.directoryModeZipOnly})]})]}):null,(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,Y.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:e.ttlLabel}),(0,Y.jsx)(d,{className:`rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg focus:outline-none focus:ring-2 focus:ring-accent`,value:l,onChange:e=>r({type:`patch`,patch:{ttlMs:Number(e.target.value)}}),children:Oe.map(t=>(0,Y.jsx)(z,{value:t.value,children:e.ttlOptions[t.key]},t.key))})]}),(0,Y.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:e.maxViewsLabel}),(0,Y.jsxs)(d,{className:`rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg focus:outline-none focus:ring-2 focus:ring-accent`,value:u??`unlimited`,onChange:e=>r({type:`patch`,patch:{maxViews:e.target.value===`unlimited`?null:Number(e.target.value)}}),children:[(0,Y.jsx)(z,{value:`unlimited`,children:e.maxViewsUnlimited}),(0,Y.jsx)(z,{value:`1`,children:`1`}),(0,Y.jsx)(z,{value:`5`,children:`5`}),(0,Y.jsx)(z,{value:`10`,children:`10`}),(0,Y.jsx)(z,{value:`50`,children:`50`}),(0,Y.jsx)(z,{value:`100`,children:`100`})]})]})]}),(0,Y.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:e.descriptionLabel}),(0,Y.jsx)(`input`,{type:`text`,className:`rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg placeholder:text-fg-subtle focus:outline-none focus:ring-2 focus:ring-accent`,placeholder:e.descriptionPlaceholder,value:f,onChange:e=>r({type:`patch`,patch:{description:e.target.value}})})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,Y.jsxs)(B,{type:`button`,disabled:h||!o.trim(),onClick:()=>void x(),children:[h?(0,Y.jsx)(O,{className:`size-4 animate-spin`}):(0,Y.jsx)(N,{className:`size-4`}),h?e.creating:e.createButton]}),(0,Y.jsx)(B,{type:`button`,variant:`ghost`,onClick:()=>{S(),r({type:`patch`,patch:{expanded:!1}})},children:e.cancel})]}),_&&(0,Y.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:_})]}),(0,Y.jsx)(oe,{open:v,onOpenChange:e=>{r({type:`patch`,patch:{resultDialogOpen:e,...e?{}:{result:null}}})},result:g}),(0,Y.jsx)(Se,{open:y,onOpenChange:e=>r({type:`patch`,patch:{pickerOpen:e}}),initialPath:o||void 0,selectKind:`any`,onConfirm:e=>r({type:`patch`,patch:{path:e.path,isDirectory:e.isDirectory,agentId:e.agentId,directoryMode:`browse`}})})]}):(0,Y.jsxs)(B,{type:`button`,onClick:()=>r({type:`patch`,patch:{expanded:!0}}),className:`self-start`,children:[(0,Y.jsx)(N,{className:`size-4`}),e.createTitle]})}var ze={revokeOpen:!1,revoking:!1,linksOpen:!1,urlCopied:!1,copyFailed:!1,extending:!1};function Be({share:e,t,language:n,onRevoked:r,onExtended:a}){let[o,s]=(0,W.useReducer)(E,ze),{revokeOpen:c,revoking:l,linksOpen:u,urlCopied:d,copyFailed:f,extending:h}=o,g=!e.expired&&!e.revoked,_=e.revoked?t.statusRevoked:e.expired?t.statusExpired:t.statusActive,y=e.revoked?`text-red-600 dark:text-red-400`:e.expired?`text-fg-subtle`:`text-emerald-600 dark:text-emerald-400`,b=(0,W.useCallback)(async()=>{s({type:`patch`,patch:{revokeOpen:!1,revoking:!0}});try{await v(e.id),r()}catch{}finally{s({type:`patch`,patch:{revoking:!1}})}},[e.id,r]),w=(0,W.useCallback)(async()=>{if(s({type:`patch`,patch:{linksOpen:!0,copyFailed:!1}}),!await re(e.shareUrl)){s({type:`patch`,patch:{copyFailed:!0}}),window.setTimeout(()=>s({type:`patch`,patch:{copyFailed:!1}}),2500);return}s({type:`patch`,patch:{urlCopied:!0}}),window.setTimeout(()=>s({type:`patch`,patch:{urlCopied:!1}}),2e3)},[e.shareUrl]),T=(0,W.useCallback)(async()=>{s({type:`patch`,patch:{extending:!0}});try{await D(e.id,864e5),a()}catch{}finally{s({type:`patch`,patch:{extending:!1}})}},[e.id,a]),ee=`share-links-${e.id}`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`rounded-lg bg-surface-panel/80 px-3 py-2.5 shadow-surface`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:i(`flex min-w-0 flex-1 items-start gap-3 rounded-md text-left`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),"aria-expanded":u,"aria-controls":ee,onClick:()=>s({type:`patch`,patch:{linksOpen:!u}}),children:[(0,Y.jsx)(R,{className:i(`mt-0.5 size-4 shrink-0 text-fg-muted transition-transform`,u?`rotate-0`:`-rotate-90`),"aria-hidden":!0}),(0,Y.jsx)(m,{className:`mt-0.5 size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:e.fileName}),(0,Y.jsx)(`span`,{className:i(`text-xs font-medium`,y),children:_})]}),(0,Y.jsx)(`p`,{className:`truncate text-xs text-fg-subtle`,children:e.workspaceRelativePath}),(0,Y.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-muted`,children:[(0,Y.jsx)(`span`,{children:Ee(e.fileSize)}),(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(ce,{className:`size-3`}),e.expired?n===`zh`?`已过期`:`expired`:De(e.expiresAt,n)]}),(0,Y.jsxs)(`span`,{children:[t.views,`: `,e.downloadCount,e.maxViews!==null&&` ${t.viewsOf} ${e.maxViews}`]}),e.description&&(0,Y.jsx)(`span`,{className:`italic text-fg-subtle`,children:e.description})]})]})]}),(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-1`,children:g&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 py-1`,title:t.copyUrl,onClick:()=>void w(),children:d?(0,Y.jsx)(ae,{className:`size-3.5 text-emerald-500`}):(0,Y.jsx)(C,{className:`size-3.5`})}),(0,Y.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 py-1`,onClick:()=>void T(),disabled:h,title:t.extend,children:h?(0,Y.jsx)(O,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(ce,{className:`size-3.5`})}),(0,Y.jsx)(B,{type:`button`,variant:`ghost`,className:`px-2 py-1 text-red-600 hover:text-red-700 dark:text-red-400`,onClick:()=>s({type:`patch`,patch:{revokeOpen:!0}}),disabled:l,children:l?(0,Y.jsx)(O,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(V,{className:`size-3.5`})})]})})]}),g&&u?(0,Y.jsxs)(`div`,{id:ee,className:`mt-3 bg-surface-base/45 py-3 pl-7 pr-3`,children:[(0,Y.jsx)(x,{shareUrl:e.shareUrl,lanUrl:e.lanUrl,reachability:e.reachability,compact:!0}),f?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-red-600 dark:text-red-400`,children:t.copyFailed}):null,(0,Y.jsx)(`div`,{className:`mt-2`,children:(0,Y.jsx)(S,{reachability:e.reachability})})]}):null]}),(0,Y.jsx)(p,{open:c,title:t.revokeConfirmTitle,description:t.revokeConfirmBody,confirmLabel:t.revokeConfirmLabel,cancelLabel:t.cancel,destructive:!0,onConfirm:()=>void b(),onCancel:()=>s({type:`patch`,patch:{revokeOpen:!1}})})]})}function Ve({t:e,onCleaned:t}){let[n,r]=(0,W.useState)(!1),[i,a]=(0,W.useState)(!1),o=(0,W.useCallback)(async()=>{r(!1),a(!0);try{await A(),t()}catch{}finally{a(!1)}},[t]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,Y.jsxs)(B,{type:`button`,variant:`secondary`,disabled:i,onClick:()=>r(!0),className:`border-danger/40 px-2 py-1 text-xs text-danger hover:bg-danger/10`,children:[i?(0,Y.jsx)(O,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(V,{className:`size-3.5`}),e.cleanExpired]})}),(0,Y.jsx)(p,{open:n,title:e.cleanExpiredConfirmTitle,description:e.cleanExpiredConfirmBody,confirmLabel:e.cleanExpiredConfirmLabel,cancelLabel:e.cancel,destructive:!0,onConfirm:()=>void o(),onCancel:()=>r(!1)})]})}export{ke as SharesSettingsPanel};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./fetch-Bl7zMnmd.js";import{dr as r}from"./index-DOetFpTt.js";var i=e({reloadSkills:()=>a});async function a(){let e=await n(t(`/api/skills/reload`),{method:`POST`});if(!e.ok)throw Error(await r(e))}export{i as n,a as t};