nextclaw 0.58.0 → 0.59.0-beta.0

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 (180) hide show
  1. package/dist/cli/app/index.js +1 -1
  2. package/dist/{nextclaw-cli-app-CsrOxQJR.js → nextclaw-cli-app-gSbcxswD.js} +20 -3
  3. package/dist/{nextclaw-cli-app-CsrOxQJR.js.map → nextclaw-cli-app-gSbcxswD.js.map} +1 -1
  4. package/package.json +11 -11
  5. package/resources/native/darwin-arm64/nextclaw-wasmtime-runner +4 -0
  6. package/ui-dist/.vite/manifest.json +45 -45
  7. package/ui-dist/.vite/manifest.json.gz +0 -0
  8. package/ui-dist/assets/abnfDiagram-VRR7QNED-BT0_ycaq.js.gz +0 -0
  9. package/ui-dist/assets/{account-panel-Cfx3ocPY.js → account-panel-DgqicWMm.js} +1 -1
  10. package/ui-dist/assets/account-panel-DgqicWMm.js.gz +0 -0
  11. package/ui-dist/assets/{agents-BdeFtIOV.js → agents-CTSR4ZKb.js} +1 -1
  12. package/ui-dist/assets/agents-CTSR4ZKb.js.gz +0 -0
  13. package/ui-dist/assets/agents-i7167DcF.js +1 -0
  14. package/ui-dist/assets/aiden0z-pptx-renderer.es-ClCaf_Wh.js.gz +0 -0
  15. package/ui-dist/assets/api-CXWxExzS.js.gz +0 -0
  16. package/ui-dist/assets/app-presenter-provider-D3BuuOyZ.css.gz +0 -0
  17. package/ui-dist/assets/{app-presenter-provider-BB3Xl8b0.js → app-presenter-provider-DdD2Q7jZ.js} +17 -16
  18. package/ui-dist/assets/app-presenter-provider-DdD2Q7jZ.js.gz +0 -0
  19. package/ui-dist/assets/{appearance-settings-page-DiSRSDN3.js → appearance-settings-page-CSWYLrsR.js} +1 -1
  20. package/ui-dist/assets/appearance-settings-page-CSWYLrsR.js.gz +0 -0
  21. package/ui-dist/assets/apps-DUP3aPpu.js +1 -0
  22. package/ui-dist/assets/arc-cmSdpq1Z.js.gz +0 -0
  23. package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-aYglVeoS.js.gz +0 -0
  24. package/ui-dist/assets/blockDiagram-677ZJIJ3-Di_PBl5q.js.gz +0 -0
  25. package/ui-dist/assets/c4Diagram-LMCZKHZV-CfuxybOL.js.gz +0 -0
  26. package/ui-dist/assets/card-eFBmxYiI.js.gz +0 -0
  27. package/ui-dist/assets/channels-list-page-lQOINLW8.js.gz +0 -0
  28. package/ui-dist/assets/chunk-32BRIVSS-CCGc4qg4.js.gz +0 -0
  29. package/ui-dist/assets/chunk-52WLFC77-aJoxU2Ow.js.gz +0 -0
  30. package/ui-dist/assets/chunk-5JV3BV7I-DnabINcd.js.gz +0 -0
  31. package/ui-dist/assets/chunk-5TONJI2A-BhpKv1k2.js.gz +0 -0
  32. package/ui-dist/assets/chunk-7BUUIJ7U-CgDQOLnC.js.gz +0 -0
  33. package/ui-dist/assets/chunk-C7G6YPKG-CNGFAFYL.js.gz +0 -0
  34. package/ui-dist/assets/chunk-DF37yw5_.js.gz +0 -0
  35. package/ui-dist/assets/chunk-EX3LRPZG-D8Jf4kc2.js.gz +0 -0
  36. package/ui-dist/assets/chunk-FWX5IMBZ-BdHymAs0.js.gz +0 -0
  37. package/ui-dist/assets/chunk-HOUHSVGY-Dd_Ycn9Z.js.gz +0 -0
  38. package/ui-dist/assets/chunk-ICXQ74PX-BRPUu3ff.js.gz +0 -0
  39. package/ui-dist/assets/chunk-JG7HCLWE-DnCasQja.js.gz +0 -0
  40. package/ui-dist/assets/chunk-KEIR6QF5-BOAXXeyv.js.gz +0 -0
  41. package/ui-dist/assets/chunk-MOJQB5TN-Pi--K4-1.js.gz +0 -0
  42. package/ui-dist/assets/chunk-PUDLZKDR-Cy4G8SjV.js.gz +0 -0
  43. package/ui-dist/assets/chunk-Q4XR5HBZ-UYxXzi7_.js.gz +0 -0
  44. package/ui-dist/assets/chunk-R7FJI6CG-C5kVJus8.js.gz +0 -0
  45. package/ui-dist/assets/chunk-RYQCIY6F-C6cuuEBn.js.gz +0 -0
  46. package/ui-dist/assets/chunk-U6XO7XAA-CM0EK7Y0.js.gz +0 -0
  47. package/ui-dist/assets/chunk-V7JOEXUC-DWJZIsME.js.gz +0 -0
  48. package/ui-dist/assets/chunk-WYO6CB5R-B30N3ZP8.js.gz +0 -0
  49. package/ui-dist/assets/chunk-ZGVPDNZ5-BN5NX5qA.js.gz +0 -0
  50. package/ui-dist/assets/chunk-ZIRB5QZD-DcDXK29L.js.gz +0 -0
  51. package/ui-dist/assets/config-split-page-BaHtm9OW.js.gz +0 -0
  52. package/ui-dist/assets/context-menu-C0qywo73.js.gz +0 -0
  53. package/ui-dist/assets/context-menu-DEcVZfaU.css.gz +0 -0
  54. package/ui-dist/assets/cose-bilkent-JH36ORCC-CmeJVoTw.js.gz +0 -0
  55. package/ui-dist/assets/cron-DPBUHn7j.js +1 -0
  56. package/ui-dist/assets/cynefinDiagram-TSTJHNR4-DGOUMgPP.js.gz +0 -0
  57. package/ui-dist/assets/cytoscape.esm-j4J9a91l.js.gz +0 -0
  58. package/ui-dist/assets/dagre-CMxSkbJJ.js.gz +0 -0
  59. package/ui-dist/assets/dagre-VKFMJZFB-3YUBEXwo.js.gz +0 -0
  60. package/ui-dist/assets/defaultLocale-Bmxjp-V_.js.gz +0 -0
  61. package/ui-dist/assets/desktop-capabilities-page-CKq2Miye.js.gz +0 -0
  62. package/ui-dist/assets/desktop-update-config-C_SBtjA1.js.gz +0 -0
  63. package/ui-dist/assets/diagram-FQU43EPY-Br1g--ww.js.gz +0 -0
  64. package/ui-dist/assets/diagram-G47NLZAW-D1wJCBgr.js.gz +0 -0
  65. package/ui-dist/assets/diagram-NH7WQ7WH-Cgg2auLH.js.gz +0 -0
  66. package/ui-dist/assets/diagram-OA4YK3LP-R-wHiWqh.js.gz +0 -0
  67. package/ui-dist/assets/diagram-WEI45ONY-CsNnKV0P.js.gz +0 -0
  68. package/ui-dist/assets/dialog-DMKYZDFu.js.gz +0 -0
  69. package/ui-dist/assets/dist-D9h2cWk3.js.gz +0 -0
  70. package/ui-dist/assets/dist-DwLj1Wg5.js.gz +0 -0
  71. package/ui-dist/assets/doc-browser-C7kvXGc_.js +1 -0
  72. package/ui-dist/assets/doc-browser-context-CoVMIiU8.js.gz +0 -0
  73. package/ui-dist/assets/docx-preview-kPn_EtAr.js.gz +0 -0
  74. package/ui-dist/assets/ebnfDiagram-CCIWWBDH-DCyhIPdi.js.gz +0 -0
  75. package/ui-dist/assets/erDiagram-Q63AITRT-D0ZJYAUf.js.gz +0 -0
  76. package/ui-dist/assets/extensions-DXDFcRVC.js.gz +0 -0
  77. package/ui-dist/assets/ganttDiagram-NO4QXBWP-CiXDcXZD.js.gz +0 -0
  78. package/ui-dist/assets/gitGraphDiagram-IHSO6WYX-BSiIV48S.js.gz +0 -0
  79. package/ui-dist/assets/graphlib-CC0HTn1v.js.gz +0 -0
  80. package/ui-dist/assets/i18n-ByVUrt9w.js.gz +0 -0
  81. package/ui-dist/assets/inbox-C09MQO9k.js +1 -0
  82. package/ui-dist/assets/ishikawaDiagram-FXEZZL3T-nQ_baN5u.js.gz +0 -0
  83. package/ui-dist/assets/journeyDiagram-5HDEW3XC-ABueIPzj.js.gz +0 -0
  84. package/ui-dist/assets/jszip.min-DQvBVV_R.js.gz +0 -0
  85. package/ui-dist/assets/kanban-definition-HUTT4EX6-8FKS3fmQ.js.gz +0 -0
  86. package/ui-dist/assets/katex-BzT-4KBu.js.gz +0 -0
  87. package/ui-dist/assets/{keyboard-shortcuts-settings-page-BFBXVf20.js → keyboard-shortcuts-settings-page-BCxB9m69.js} +1 -1
  88. package/ui-dist/assets/linear-D7CWUHTF.js.gz +0 -0
  89. package/ui-dist/assets/login-page--Njgbmpm.js.gz +0 -0
  90. package/ui-dist/assets/{main-Bp1iozNB.js → main-C6VGoYNO.js} +2 -2
  91. package/ui-dist/assets/main-C6VGoYNO.js.gz +0 -0
  92. package/ui-dist/assets/main-i18n-catalog.config-_4gMZaNz.js.gz +0 -0
  93. package/ui-dist/assets/main-kp_0b1bg.css.gz +0 -0
  94. package/ui-dist/assets/map-CDu47gTf.js.gz +0 -0
  95. package/ui-dist/assets/{marketplace-BTDWnHP7.js → marketplace-CXCLbyho.js} +1 -1
  96. package/ui-dist/assets/mcp-marketplace-page-ZAm380SB.js +1 -0
  97. package/ui-dist/assets/mermaid-parser.core-Cc9wjl82.js.gz +0 -0
  98. package/ui-dist/assets/mermaid.core-GWlaVWz1.js.gz +0 -0
  99. package/ui-dist/assets/middleware-B--6mAUM.js.gz +0 -0
  100. package/ui-dist/assets/mindmap-definition-LN4V7U3C-oqnKsz-R.js.gz +0 -0
  101. package/ui-dist/assets/model-config-page-CeVvZ29o.js.gz +0 -0
  102. package/ui-dist/assets/navigation-history-CCnxsAKR.js.gz +0 -0
  103. package/ui-dist/assets/navigation-link-O9Wm0epj.js.gz +0 -0
  104. package/ui-dist/assets/ordinal-DImbxqBz.js.gz +0 -0
  105. package/ui-dist/assets/panel-app-BBTg0tVp.js.gz +0 -0
  106. package/ui-dist/assets/panel-apps-BQlyeAId.js +1 -0
  107. package/ui-dist/assets/panelStandalone-DomappXm.js.gz +0 -0
  108. package/ui-dist/assets/panelStandalone-XRlWxbRS.css.gz +0 -0
  109. package/ui-dist/assets/path-4azsBPZv.js.gz +0 -0
  110. package/ui-dist/assets/pegDiagram-2B236MQR-DYAB8CEz.js.gz +0 -0
  111. package/ui-dist/assets/pieDiagram-ENE6RG2P-DGsH0Kk5.js.gz +0 -0
  112. package/ui-dist/assets/preload-helper-DWTEM3RW.js.gz +0 -0
  113. package/ui-dist/assets/privacy-settings-page-CHDv9ppI.js.gz +0 -0
  114. package/ui-dist/assets/{projects-fPTOn2Wz.js → projects-BWM-oEo0.js} +1 -1
  115. package/ui-dist/assets/projects-BWM-oEo0.js.gz +0 -0
  116. package/ui-dist/assets/provider-models-D8WOdsdu.js.gz +0 -0
  117. package/ui-dist/assets/provider-scoped-model-input-BOPkUOtD.js.gz +0 -0
  118. package/ui-dist/assets/providers-config-page-BilPL0kF.js.gz +0 -0
  119. package/ui-dist/assets/pwa-Cp7pPvsZ.js.gz +0 -0
  120. package/ui-dist/assets/quadrantDiagram-ABIIQ3AL-BegGcT3l.js.gz +0 -0
  121. package/ui-dist/assets/railroadDiagram-RFXS5EU6-B3yJ2yxE.js.gz +0 -0
  122. package/ui-dist/assets/remote-DngM8iep.js +1 -0
  123. package/ui-dist/assets/requirementDiagram-TGXJPOKE-DtEyoEXG.js.gz +0 -0
  124. package/ui-dist/assets/rough.esm-w1lBArN6.js.gz +0 -0
  125. package/ui-dist/assets/{runtime-config-page-P5RUq3YK.js → runtime-config-page-Dx6lWn3_.js} +1 -1
  126. package/ui-dist/assets/runtime-config-page-Dx6lWn3_.js.gz +0 -0
  127. package/ui-dist/assets/sankeyDiagram-HTMAVEWB-h9AYS2UB.js.gz +0 -0
  128. package/ui-dist/assets/search-config-page-DevSv1ZK.js.gz +0 -0
  129. package/ui-dist/assets/secrets-config-page-B4jWTV6V.js.gz +0 -0
  130. package/ui-dist/assets/select-BJ-EjmCz.js.gz +0 -0
  131. package/ui-dist/assets/sequenceDiagram-DBY2YBRQ-D-uxCkob.js.gz +0 -0
  132. package/ui-dist/assets/{service-apps-panel-BReYr_ni.js → service-apps-panel-9khaUSFI.js} +1 -1
  133. package/ui-dist/assets/service-apps-panel-9khaUSFI.js.gz +0 -0
  134. package/ui-dist/assets/src-zrGbZsfc.js.gz +0 -0
  135. package/ui-dist/assets/stateDiagram-2N3HPSRC-DyDy7AHq.js.gz +0 -0
  136. package/ui-dist/assets/status-dot-DlELD18e.js.gz +0 -0
  137. package/ui-dist/assets/swimlanes-5IMT3BWC-BzOduS38.js.gz +0 -0
  138. package/ui-dist/assets/tag-chip-DFzDSvcF.js.gz +0 -0
  139. package/ui-dist/assets/theme-provider-BsJ6HxeX.js.gz +0 -0
  140. package/ui-dist/assets/timeline-definition-FHXFAJF6-CmgnEF2t.js.gz +0 -0
  141. package/ui-dist/assets/use-config-M1L4xn8c.js.gz +0 -0
  142. package/ui-dist/assets/use-desktop-capabilities-BO_2CXgu.js.gz +0 -0
  143. package/ui-dist/assets/use-viewport-layout-Bnm5W5Qz.js.gz +0 -0
  144. package/ui-dist/assets/vennDiagram-L72KCM5P-DwS7D2kg.js.gz +0 -0
  145. package/ui-dist/assets/wardleyDiagram-EHGQE667-B4X8OOL4.js.gz +0 -0
  146. package/ui-dist/assets/x-waP-WLuT.js.gz +0 -0
  147. package/ui-dist/assets/xlsx--SB9KlFl.js.gz +0 -0
  148. package/ui-dist/assets/xychartDiagram-FW5EYKEG-BjRQ_0nx.js.gz +0 -0
  149. package/ui-dist/index.html +3 -3
  150. package/ui-dist/index.html.gz +0 -0
  151. package/ui-dist/logos/discord.svg.gz +0 -0
  152. package/ui-dist/logos/feishu.svg.gz +0 -0
  153. package/ui-dist/logos/gemini.svg.gz +0 -0
  154. package/ui-dist/logos/mimo.svg.gz +0 -0
  155. package/ui-dist/logos/openai.svg.gz +0 -0
  156. package/ui-dist/logos/slack.svg.gz +0 -0
  157. package/ui-dist/logos/vllm.svg.gz +0 -0
  158. package/ui-dist/logos/weixin.svg.gz +0 -0
  159. package/ui-dist/logos/whatsapp.svg.gz +0 -0
  160. package/ui-dist/logos/zhipu.svg.gz +0 -0
  161. package/ui-dist/offline.html.gz +0 -0
  162. package/ui-dist/panel-standalone.html.gz +0 -0
  163. package/ui-dist/runtime-icons/codex-openai.svg.gz +0 -0
  164. package/ui-dist/sw.js.gz +0 -0
  165. package/ui-dist/assets/account-panel-Cfx3ocPY.js.gz +0 -0
  166. package/ui-dist/assets/agents-BdeFtIOV.js.gz +0 -0
  167. package/ui-dist/assets/agents-p_wcGhC3.js +0 -1
  168. package/ui-dist/assets/app-presenter-provider-BB3Xl8b0.js.gz +0 -0
  169. package/ui-dist/assets/appearance-settings-page-DiSRSDN3.js.gz +0 -0
  170. package/ui-dist/assets/apps-CKFrWb00.js +0 -1
  171. package/ui-dist/assets/cron-UqsFT41c.js +0 -1
  172. package/ui-dist/assets/doc-browser-2VjSkax1.js +0 -1
  173. package/ui-dist/assets/inbox-D62apR2j.js +0 -1
  174. package/ui-dist/assets/main-Bp1iozNB.js.gz +0 -0
  175. package/ui-dist/assets/mcp-marketplace-page-oHCbBkS-.js +0 -1
  176. package/ui-dist/assets/panel-apps-CniMi7QW.js +0 -1
  177. package/ui-dist/assets/projects-fPTOn2Wz.js.gz +0 -0
  178. package/ui-dist/assets/remote-CsJMF8OR.js +0 -1
  179. package/ui-dist/assets/runtime-config-page-P5RUq3YK.js.gz +0 -0
  180. package/ui-dist/assets/service-apps-panel-BReYr_ni.js.gz +0 -0
@@ -1 +1 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{n as t,o as n,w as r}from"./theme-provider-BsJ6HxeX.js";import{Jt as i,Kt as a,Ut as o,Zt as s,_n as c,qt as l,ur as u,xr as d}from"./api-CXWxExzS.js";import{Rt as f,o as p}from"./app-presenter-provider-BB3Xl8b0.js";import{B as m}from"./dist-D9h2cWk3.js";import{c as h,s as g}from"./i18n-ByVUrt9w.js";import{a as _,i as v,n as y,r as b,t as x}from"./select-BJ-EjmCz.js";var S=e(d(),1);function C(){let{language:e,setLanguage:t}=n();return{currentLanguage:e,currentLanguageLabel:h.find(t=>t.value===e)?.label??e,languageOptions:h,selectLanguage:(0,S.useCallback)(n=>{e!==n&&(t(n),window.location.reload())},[e,t])}}var w=u(),T=[{value:`card`,labelKey:`chatMessageLayoutCard`,descriptionKey:`chatMessageLayoutCardDescription`},{value:`flat`,labelKey:`chatMessageLayoutFlat`,descriptionKey:`chatMessageLayoutFlatDescription`}];function E(){let{theme:e,setTheme:n}=t(),{currentLanguage:u,languageOptions:d,selectLanguage:h}=C(),S=f(e=>e.layout),E=f(e=>e.setLayout),D=p(e=>e.isVisible),O=p(e=>e.setVisible);return(0,w.jsx)(s,{title:g(`appearance`),children:(0,w.jsx)(i,{children:(0,w.jsxs)(l,{children:[(0,w.jsx)(a,{title:g(`theme`),control:(0,w.jsxs)(x,{value:e,onValueChange:e=>n(e),children:[(0,w.jsx)(v,{"aria-label":g(`theme`),className:`w-36 sm:w-44`,children:(0,w.jsx)(_,{})}),(0,w.jsx)(y,{children:r.map(e=>(0,w.jsx)(b,{value:e.value,children:g(e.labelKey)},e.value))})]})}),(0,w.jsx)(a,{title:g(`language`),control:(0,w.jsxs)(x,{value:u,onValueChange:e=>h(e),children:[(0,w.jsx)(v,{"aria-label":g(`language`),className:`w-36 sm:w-44`,children:(0,w.jsx)(_,{})}),(0,w.jsx)(y,{children:d.map(e=>(0,w.jsx)(b,{value:e.value,children:e.label},e.value))})]})}),(0,w.jsx)(a,{title:g(`chatMessageLayoutTitle`),description:g(`chatMessageLayoutDescription`),layout:`stacked`,children:(0,w.jsx)(`div`,{role:`radiogroup`,"aria-label":g(`chatMessageLayoutTitle`),className:`grid gap-1 rounded-xl bg-background/65 p-1 sm:grid-cols-2`,children:T.map(e=>{let t=e.value===S;return(0,w.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t,onClick:()=>E(e.value),className:c(`flex min-w-0 items-start gap-3 rounded-lg px-3 py-2.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,t?`bg-[var(--interaction-selection)] text-foreground`:`text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-foreground`),children:[(0,w.jsx)(`span`,{className:c(`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full ring-1`,t?`bg-primary text-primary-foreground ring-primary`:`bg-background ring-border`),children:t?(0,w.jsx)(m,{className:`h-2.5 w-2.5`,strokeWidth:3}):null}),(0,w.jsxs)(`span`,{className:`min-w-0`,children:[(0,w.jsx)(`span`,{className:`block text-sm font-medium`,children:g(e.labelKey)}),(0,w.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-muted-foreground`,children:g(e.descriptionKey)})]})]},e.value)})})}),(0,w.jsx)(a,{title:g(`sideDockVisibilityTitle`),description:g(`sideDockVisibilityDescription`),control:(0,w.jsx)(o,{id:`appearance-side-dock-visible`,"aria-label":g(`sideDockVisibilityTitle`),checked:D,onCheckedChange:O})})]})})})}export{E as AppearanceSettingsPage};
1
+ import{i as e}from"./chunk-DF37yw5_.js";import{n as t,o as n,w as r}from"./theme-provider-BsJ6HxeX.js";import{Jt as i,Kt as a,Ut as o,Zt as s,_n as c,qt as l,ur as u,xr as d}from"./api-CXWxExzS.js";import{Rt as f,o as p}from"./app-presenter-provider-DdD2Q7jZ.js";import{B as m}from"./dist-D9h2cWk3.js";import{c as h,s as g}from"./i18n-ByVUrt9w.js";import{a as _,i as v,n as y,r as b,t as x}from"./select-BJ-EjmCz.js";var S=e(d(),1);function C(){let{language:e,setLanguage:t}=n();return{currentLanguage:e,currentLanguageLabel:h.find(t=>t.value===e)?.label??e,languageOptions:h,selectLanguage:(0,S.useCallback)(n=>{e!==n&&(t(n),window.location.reload())},[e,t])}}var w=u(),T=[{value:`card`,labelKey:`chatMessageLayoutCard`,descriptionKey:`chatMessageLayoutCardDescription`},{value:`flat`,labelKey:`chatMessageLayoutFlat`,descriptionKey:`chatMessageLayoutFlatDescription`}];function E(){let{theme:e,setTheme:n}=t(),{currentLanguage:u,languageOptions:d,selectLanguage:h}=C(),S=f(e=>e.layout),E=f(e=>e.setLayout),D=p(e=>e.isVisible),O=p(e=>e.setVisible);return(0,w.jsx)(s,{title:g(`appearance`),children:(0,w.jsx)(i,{children:(0,w.jsxs)(l,{children:[(0,w.jsx)(a,{title:g(`theme`),control:(0,w.jsxs)(x,{value:e,onValueChange:e=>n(e),children:[(0,w.jsx)(v,{"aria-label":g(`theme`),className:`w-36 sm:w-44`,children:(0,w.jsx)(_,{})}),(0,w.jsx)(y,{children:r.map(e=>(0,w.jsx)(b,{value:e.value,children:g(e.labelKey)},e.value))})]})}),(0,w.jsx)(a,{title:g(`language`),control:(0,w.jsxs)(x,{value:u,onValueChange:e=>h(e),children:[(0,w.jsx)(v,{"aria-label":g(`language`),className:`w-36 sm:w-44`,children:(0,w.jsx)(_,{})}),(0,w.jsx)(y,{children:d.map(e=>(0,w.jsx)(b,{value:e.value,children:e.label},e.value))})]})}),(0,w.jsx)(a,{title:g(`chatMessageLayoutTitle`),description:g(`chatMessageLayoutDescription`),layout:`stacked`,children:(0,w.jsx)(`div`,{role:`radiogroup`,"aria-label":g(`chatMessageLayoutTitle`),className:`grid gap-1 rounded-xl bg-background/65 p-1 sm:grid-cols-2`,children:T.map(e=>{let t=e.value===S;return(0,w.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t,onClick:()=>E(e.value),className:c(`flex min-w-0 items-start gap-3 rounded-lg px-3 py-2.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,t?`bg-[var(--interaction-selection)] text-foreground`:`text-muted-foreground hover:bg-[var(--interaction-hover)] hover:text-foreground`),children:[(0,w.jsx)(`span`,{className:c(`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full ring-1`,t?`bg-primary text-primary-foreground ring-primary`:`bg-background ring-border`),children:t?(0,w.jsx)(m,{className:`h-2.5 w-2.5`,strokeWidth:3}):null}),(0,w.jsxs)(`span`,{className:`min-w-0`,children:[(0,w.jsx)(`span`,{className:`block text-sm font-medium`,children:g(e.labelKey)}),(0,w.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-muted-foreground`,children:g(e.descriptionKey)})]})]},e.value)})})}),(0,w.jsx)(a,{title:g(`sideDockVisibilityTitle`),description:g(`sideDockVisibilityDescription`),control:(0,w.jsx)(o,{id:`appearance-side-dock-visible`,"aria-label":g(`sideDockVisibilityTitle`),checked:D,onCheckedChange:O})})]})})})}export{E as AppearanceSettingsPage};
@@ -0,0 +1 @@
1
+ import{ot as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as AppsPanel};
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ import{K as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as CronJobResource};
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ import{St as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as DocBrowser};
Binary file
@@ -0,0 +1 @@
1
+ import{z as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as InboxPage};
Binary file
@@ -1 +1 @@
1
- import{Jt as e,Kt as t,Zt as n,qt as r,ur as i}from"./api-CXWxExzS.js";import{et as a}from"./app-presenter-provider-BB3Xl8b0.js";import{t as o}from"./use-viewport-layout-Bnm5W5Qz.js";import{s}from"./i18n-ByVUrt9w.js";var c=i();function l(){let{isMobile:i}=o();return(0,c.jsx)(n,{title:s(`keyboardShortcuts`),children:i?(0,c.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:s(`keyboardShortcutsDesktopOnly`)}):(0,c.jsx)(e,{children:(0,c.jsx)(r,{children:(0,c.jsx)(t,{title:s(`chatInputVoice`),layout:`stacked`,children:(0,c.jsx)(a,{})})})})})}export{l as KeyboardShortcutsSettingsPage};
1
+ import{Jt as e,Kt as t,Zt as n,qt as r,ur as i}from"./api-CXWxExzS.js";import{et as a}from"./app-presenter-provider-DdD2Q7jZ.js";import{t as o}from"./use-viewport-layout-Bnm5W5Qz.js";import{s}from"./i18n-ByVUrt9w.js";var c=i();function l(){let{isMobile:i}=o();return(0,c.jsx)(n,{title:s(`keyboardShortcuts`),children:i?(0,c.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:s(`keyboardShortcutsDesktopOnly`)}):(0,c.jsx)(e,{children:(0,c.jsx)(r,{children:(0,c.jsx)(t,{title:s(`chatInputVoice`),layout:`stacked`,children:(0,c.jsx)(a,{})})})})})}export{l as KeyboardShortcutsSettingsPage};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/projects-fPTOn2Wz.js","assets/chunk-DF37yw5_.js","assets/dist-D9h2cWk3.js","assets/api-CXWxExzS.js","assets/i18n-ByVUrt9w.js","assets/preload-helper-DWTEM3RW.js","assets/createLucideIcon-C3LSyx-e.js","assets/app-presenter-provider-BB3Xl8b0.js","assets/context-menu-C0qywo73.js","assets/katex-BzT-4KBu.js","assets/search-Dpgv--de.js","assets/external-link-DZzwHRHW.js","assets/inbox-CI8ATevA.js","assets/x-waP-WLuT.js","assets/plus-C42o6xrD.js","assets/context-menu-DEcVZfaU.css","assets/puzzle-DmKVREoh.js","assets/book-open-B3Ac0voD.js","assets/theme-provider-BsJ6HxeX.js","assets/dialog-DMKYZDFu.js","assets/navigation-history-CCnxsAKR.js","assets/download-C2gYe8n1.js","assets/use-viewport-layout-Bnm5W5Qz.js","assets/middleware-B--6mAUM.js","assets/refresh-cw-DOg2pWGu.js","assets/trash-2-BVQs-0ji.js","assets/navigation-link-O9Wm0epj.js","assets/host-capabilities-B107nwS3.js","assets/use-desktop-capabilities-BO_2CXgu.js","assets/status-dot-DlELD18e.js","assets/doc-browser-context-CoVMIiU8.js","assets/tag-chip-DFzDSvcF.js","assets/card-eFBmxYiI.js","assets/confirm-dialog-jz2cQKId.js","assets/provider-models-D8WOdsdu.js","assets/select-BJ-EjmCz.js","assets/use-config-M1L4xn8c.js","assets/app-presenter-provider-D3BuuOyZ.css","assets/circle-dashed-KGwElDWV.js","assets/settings-2-D3-m8a3v.js","assets/model-config-page-CeVvZ29o.js","assets/provider-scoped-model-input-BOPkUOtD.js","assets/form-actions-CZxcWXSm.js","assets/config-hints-CaB3I7KP.js","assets/appearance-settings-page-DiSRSDN3.js","assets/keyboard-shortcuts-settings-page-BFBXVf20.js","assets/search-config-page-DevSv1ZK.js","assets/config-split-page-BaHtm9OW.js","assets/providers-config-page-BilPL0kF.js","assets/extensions-DXDFcRVC.js","assets/channels-list-page-lQOINLW8.js","assets/runtime-config-page-P5RUq3YK.js","assets/rotate-cw-CWFIat29.js","assets/save-C1G0ZU-G.js","assets/pwa-Cp7pPvsZ.js","assets/desktop-update-config-C_SBtjA1.js","assets/security-config-BGEs0SHi.js","assets/secrets-config-page-B4jWTV6V.js","assets/privacy-settings-page-CHDv9ppI.js","assets/desktop-capabilities-page-CKq2Miye.js","assets/remote-CsJMF8OR.js","assets/mcp-marketplace-page-oHCbBkS-.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./chunk-DF37yw5_.js";import{t}from"./client-BDS360Kz.js";import{E as n,O as r,a as i,n as a,o,r as s,t as c}from"./theme-provider-BsJ6HxeX.js";import{i as l,n as u,t as d}from"./pwa-Cp7pPvsZ.js";import{Ht as f,Jn as p,Lt as m,Vt as ee,Yn as te,an as h,cr as ne,dn as g,qn as _,un as v,ur as re,x as y,xr as ie}from"./api-CXWxExzS.js";import{t as b}from"./preload-helper-DWTEM3RW.js";import{c as ae,i as x,l as S,n as C,o as w,s as T}from"./navigation-link-O9Wm0epj.js";import{B as oe,C as se,J as ce,Jt as E,Lt as le,S as ue,T as de,W as fe,Xt as D,Yt as O,_ as k,a as A,b as j,bt as M,g as N,h as P,i as F,l as I,n as L,nt as R,o as z,p as B,s as V,t as pe,u as H,w as me,x as he,xt as ge,y as _e,z as ve}from"./app-presenter-provider-BB3Xl8b0.js";import{f as ye}from"./context-menu-C0qywo73.js";import{t as be}from"./agents-BdeFtIOV.js";import{t as U}from"./use-viewport-layout-Bnm5W5Qz.js";import{i as xe,s as W}from"./i18n-ByVUrt9w.js";import{n as Se,t as Ce}from"./doc-browser-context-CoVMIiU8.js";import{t as we}from"./login-page--Njgbmpm.js";var G=n();if(l.syncTheme(G),r(G)===`island`){let e=document.createElement(`link`);e.rel=`preload`,e.as=`image`,e.href=`/themes/island/island-atmosphere-7a037243.webp`,e.fetchPriority=`high`,document.head.appendChild(e)}var Te=t(),K=e(ie(),1);function Ee(){let e=L();return(0,K.useEffect)(()=>(e.chatCompletionNotificationManager.start(),()=>{e.chatCompletionNotificationManager.stop()}),[e.chatCompletionNotificationManager]),null}var De=`NextClaw`,Oe=[{prefix:`/resource`,key:`resourcePageTitle`},{prefix:`/marketplace/mcp`,key:`marketplaceMcpPageTitle`},{prefix:`/marketplace/skills`,key:`marketplaceSkillsPageTitle`},{prefix:`/marketplace`,key:`marketplace`},{prefix:`/skills`,key:`marketplaceSkillsPageTitle`},{prefix:`/cron`,key:`cronPageTitle`},{prefix:`/agents`,key:`agentsPageTitle`},{prefix:`/projects`,key:`projectsTitle`},{prefix:`/chat`,key:`chat`},{prefix:`/model`,key:`modelPageTitle`},{prefix:`/search`,key:`searchPageTitle`},{prefix:`/providers`,key:`providersPageTitle`},{prefix:`/channels`,key:`channelsPageTitle`},{prefix:`/runtime`,key:`runtimePageTitle`},{prefix:`/updates`,key:`runtimeUpdatesPageTitle`},{prefix:`/remote`,key:`remotePageTitle`},{prefix:`/security`,key:`authSecurityTitle`},{prefix:`/secrets`,key:`secretsPageTitle`}];function ke(e,t){return e===t||e.startsWith(`${t}/`)}function Ae(e){let t=e.toLowerCase();for(let{prefix:e,key:n}of Oe)if(ke(t,e))return W(n);return W(`settings`)}function je(e){let t=e.toLowerCase();return t===`localhost`||t.endsWith(`.localhost`)||t===`::1`||t===`[::1]`||t.startsWith(`127.`)}function Me(e){let t=e?.host.trim(),n=e?.hostname.trim(),r=e?.port.trim();return!t||!n?null:je(n)?r||null:t}function Ne(e,t){let n=Me(t);return`${De}${n?` ${n}`:``} - ${Ae(e)}`}var q=re(),Pe=e=>(0,q.jsx)(N,{uri:e});function Fe({children:e,sideDockManager:t}){let{isOpen:n,mode:r}=Se();ge();let{pathname:i}=S(),{language:a}=o(),{isMobile:s}=U(),c=me(),l=z(e=>e.isVisible);z(e=>e.pinnedItems);let u={getDockState:t.getDockState,pinTab:t.pinTab,unpinTab:t.unpinTab},d=B(),f=e=>d(P(e),`global`);return(0,K.useEffect)(()=>{document.title=Ne(i,window.location)},[i,a]),s&&c!==`win32`?(0,q.jsx)(se,{pathname:i,isDocBrowserOpen:n,docBrowserDockControls:u,docBrowserRenderers:H,docBrowserTabMenuGroups:f,topbarLeadingInset:c===`darwin`?`4.75rem`:void 0,children:e}):(0,q.jsx)(j,{pathname:i,isMobileLayout:s,isDocBrowserOpen:n,docBrowserMode:r,docBrowserDockControls:u,docBrowserRenderers:H,docBrowserTabMenuGroups:f,sideDock:l?(0,q.jsx)(A,{manager:t,getItemMenuGroups:e=>{let t=F().pageResourceManager.resolve(e.target.type===`right-panel-resource`?e.target.uri:e.target.url);return t?d(t):[]}}):null,children:e})}function Ie({children:e}){let t=F();return(0,q.jsx)(Ce,{manager:t.docBrowserManager,children:(0,q.jsx)(ye,{renderIcon:Pe,children:(0,q.jsx)(Fe,{sideDockManager:t.sideDockManager,children:e})})})}function Le(){let{isMobile:e}=U();return e?(0,q.jsx)(ue,{}):(0,q.jsx)(w,{to:`/model`,replace:!0})}var Re=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ProjectsPage:e}=await import(`./projects-fPTOn2Wz.js`);return{ProjectsPage:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]))).ProjectsPage})),J=`max-w-[min(1180px,100%)]`;function ze(e){return e===`projects`?`relative flex flex-1 min-h-0 overflow-hidden bg-background`:`flex-1 min-h-0 overflow-hidden bg-background`}function Be(e){let{routeSessionKey:t,syncRouteSessionSelection:n}=e;(0,K.useLayoutEffect)(()=>{n(t)},[t,n])}function Ve({view:e}){let{onScroll:t,scrollRef:n}=le({restorationKey:e===`cron`||e===`agents`?`main-page:${e}`:null});switch(e){case`resource`:return(0,q.jsx)(I,{});case`projects`:return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-full animate-pulse bg-card/30`}),children:(0,q.jsx)(Re,{})});case`panel-app`:return(0,q.jsx)(R,{});case`inbox`:return(0,q.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 w-full flex-col md:px-6 md:py-5 ${J}`,children:(0,q.jsx)(ve,{})});case`cron`:case`agents`:return(0,q.jsx)(`div`,{ref:n,onScroll:t,className:`h-full overflow-auto custom-scrollbar`,children:(0,q.jsx)(`div`,{className:`mx-auto w-full px-4 py-4 sm:px-6 sm:py-5 ${J}`,children:e===`cron`?(0,q.jsx)(ce,{}):(0,q.jsx)(be,{})})});default:return(0,q.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 w-full flex-col px-4 py-4 sm:px-6 sm:py-5 ${J}`,children:(0,q.jsx)(M,{forcedType:`skills`})})}}function He({view:e,confirmDialog:t}){let{isMobile:n}=U();return(0,q.jsxs)(`div`,{className:`h-full flex`,children:[n?null:(0,q.jsx)(_e,{}),e===`chat`?n?(0,q.jsx)(he,{}):(0,q.jsx)(fe,{}):(0,q.jsx)(`section`,{"data-theme-surface":`workspace`,className:`${ze(e)} flex flex-col`,children:(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,q.jsx)(Ve,{view:e})})}),t]})}function Ue(){let e=O();(0,K.useEffect)(()=>m.eventBus.on(_.uiShowContent,t=>{e.chatThreadManager.handleUiShowContentEvent(t)}),[e])}function We({view:e}){let t=O(),{pathname:n}=S();return Be({routeSessionKey:D(n.startsWith(`/chat/`)?n.slice(6):void 0),syncRouteSessionSelection:t.chatSessionListManager.syncRouteSessionSelection}),Ue(),(0,q.jsx)(He,{view:e})}function Y({view:e}){return(0,q.jsx)(We,{view:e})}function Ge(e){let t=e.trim().toLowerCase();return t?!t.startsWith(`skills`):!0}function Ke(e,t){t.startsWith(`mcp`)&&(e?.invalidateQueries({queryKey:[`marketplace-mcp-installed`]}),e?.invalidateQueries({queryKey:[`marketplace-mcp-items`]}),e?.invalidateQueries({queryKey:[`marketplace-mcp-doctor`]}))}function qe(e,t){e&&Ge(t)&&e.invalidateQueries({queryKey:[`config`]}),Ke(e,t)}function X(e){let t=e.trim().replace(/\\/g,`/`).replace(/\/+$/g,``);return/^[a-z]:/i.test(t)?t.toLowerCase():t}function Je(e,t){if(!e)return;let n=X(t);e.invalidateQueries({predicate:e=>e.queryKey[0]===`server-path-browse`&&typeof e.queryKey[1]==`string`&&X(e.queryKey[1])===n})}function Ye(e){let t=(0,K.useRef)(!1);(0,K.useEffect)(()=>{let n=m.eventBus.on(_.connectionOpen,()=>{g.handleConnectionRestored(),h.refreshAfterRealtimeReconnect(),t.current&&(t.current=!1,E.getState().clearSessionRunStatuses(),e?.invalidateQueries({queryKey:[`ncp-sessions`]}),e?.invalidateQueries({queryKey:[`ncp-session-pages`]}))}),r=m.eventBus.on(_.connectionClose,()=>{g.handleConnectionInterrupted(null),t.current=!0}),i=m.eventBus.on(_.connectionError,e=>{g.handleConnectionInterrupted(e?.message??null),t.current=!0}),a=m.eventBus.on(_.configUpdated,({path:t})=>{qe(e,t)}),o=m.eventBus.on(_.serverPathChanged,({directoryPath:t})=>Je(e,t)),s=m.eventBus.on(_.runtimeUpdateSnapshot,e=>{h.reportSnapshot(e)}),c=m.eventBus.on(_.sessionRunStatus,t=>{E.getState().setSessionRunStatus(t.sessionKey,t.status),y(e,{type:`session.run-status`,payload:t})}),l=m.eventBus.on(_.sessionSummaryUpsert,t=>{y(e,{type:`session.summary.upsert`,payload:t})}),u=m.eventBus.on(_.sessionSummaryDelete,t=>{E.getState().setSessionRunStatus(t.sessionKey,`idle`),y(e,{type:`session.summary.delete`,payload:t})}),d=m.eventBus.on(_.error,e=>{console.error(`Realtime transport error:`,e.message)});return()=>{n(),r(),i(),a(),o(),s(),c(),l(),u(),d()}},[e])}var Xe={"--width":`320px`},Ze=(0,K.lazy)(async()=>({default:(await V()).AccountPanel})),Qe=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ModelConfigPage:e}=await import(`./model-config-page-CeVvZ29o.js`);return{ModelConfigPage:e}},__vite__mapDeps([40,1,3,4,5,17,6,41,2,34,8,9,10,11,12,13,14,15,35,26,27,30,23,20,42,36,43]))).ModelConfigPage})),$e=(0,K.lazy)(async()=>({default:(await b(async()=>{let{AppearanceSettingsPage:e}=await import(`./appearance-settings-page-DiSRSDN3.js`);return{AppearanceSettingsPage:e}},__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).AppearanceSettingsPage})),et=(0,K.lazy)(async()=>({default:(await b(async()=>{let{KeyboardShortcutsSettingsPage:e}=await import(`./keyboard-shortcuts-settings-page-BFBXVf20.js`);return{KeyboardShortcutsSettingsPage:e}},__vite__mapDeps([45,7,1,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).KeyboardShortcutsSettingsPage})),tt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{SearchConfigPage:e}=await import(`./search-config-page-DevSv1ZK.js`);return{SearchConfigPage:e}},__vite__mapDeps([46,1,3,4,5,10,6,22,23,26,11,27,47,42,35,2,36]))).SearchConfigPage})),nt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ProvidersConfigPage:e}=await import(`./providers-config-page-BilPL0kF.js`);return{ProvidersConfigPage:e}},__vite__mapDeps([48,1,2,3,4,5,6,8,9,10,11,12,13,14,15,22,23,24,39,25,29,47,42,33,19,34,35,36,43,27]))).ProvidersConfigPage})),rt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ExtensionsConfigPage:e}=await import(`./extensions-DXDFcRVC.js`);return{ExtensionsConfigPage:e}},__vite__mapDeps([49,3,1,4,5,16,6,12,24]))).ExtensionsConfigPage})),it=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ChannelsList:e}=await import(`./channels-list-page-lQOINLW8.js`);return{ChannelsList:e}},__vite__mapDeps([50,1,2,3,4,5,6,10,17,11,13,22,23,26,27,29,47,31,42,35,36,43]))).ChannelsList})),at=(0,K.lazy)(async()=>({default:(await b(async()=>{let{RuntimeConfig:e}=await import(`./runtime-config-page-P5RUq3YK.js`);return{RuntimeConfig:e}},__vite__mapDeps([51,1,7,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,52,53,54,42]))).RuntimeConfig})),ot=(0,K.lazy)(async()=>({default:(await b(async()=>{let{DesktopUpdateConfig:e}=await import(`./desktop-update-config-C_SBtjA1.js`);return{DesktopUpdateConfig:e}},__vite__mapDeps([55,3,1,4,5,21,6,24,52,26,11,27,32,35,2]))).DesktopUpdateConfig})),st=(0,K.lazy)(async()=>({default:(await b(async()=>{let{SecurityConfig:e}=await import(`./security-config-BGEs0SHi.js`);return{SecurityConfig:e}},__vite__mapDeps([56,3,1,4,5]))).SecurityConfig})),ct=(0,K.lazy)(async()=>({default:(await b(async()=>{let{SecretsConfigPage:e}=await import(`./secrets-config-page-B4jWTV6V.js`);return{SecretsConfigPage:e}},__vite__mapDeps([57,1,3,4,5,14,6,53,25,42,35,2,36]))).SecretsConfigPage})),Z=(0,K.lazy)(async()=>({default:(await b(async()=>{let{PrivacySettingsPage:e}=await import(`./privacy-settings-page-CHDv9ppI.js`);return{PrivacySettingsPage:e}},__vite__mapDeps([58,3,1,4,5,35,2,6,36]))).PrivacySettingsPage})),lt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{DesktopCapabilitiesPage:e}=await import(`./desktop-capabilities-page-CKq2Miye.js`);return{DesktopCapabilitiesPage:e}},__vite__mapDeps([59,3,1,4,5,28]))).DesktopCapabilitiesPage})),ut=(0,K.lazy)(async()=>({default:(await b(async()=>{let{RemoteAccessPage:e}=await import(`./remote-CsJMF8OR.js`);return{RemoteAccessPage:e}},__vite__mapDeps([60,7,1,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).RemoteAccessPage})),dt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{McpMarketplacePage:e}=await import(`./mcp-marketplace-page-oHCbBkS-.js`);return{McpMarketplacePage:e}},__vite__mapDeps([61,7,1,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).McpMarketplacePage}));function ft(){return(0,q.jsx)(`div`,{className:`h-full w-full animate-pulse rounded-2xl border border-border/40 bg-card/40`})}function pt({children:e}){return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(ft,{}),children:e})}function Q(e){return(0,q.jsx)(pt,{children:e})}var mt=[{path:`/resource`,element:Q((0,q.jsx)(Y,{view:`resource`}))},{path:`/projects/:projectId/:tab`,element:Q((0,q.jsx)(Y,{view:`projects`}))},{path:`/projects`,element:Q((0,q.jsx)(Y,{view:`projects`}))},{path:`/chat/skills`,redirectTo:`/skills`},{path:`/chat/cron`,redirectTo:`/cron`},{path:`/chat/agents`,redirectTo:`/agents`},{path:`/chat/:sessionId?`,element:Q((0,q.jsx)(Y,{view:`chat`}))},{path:`/agents`,element:Q((0,q.jsx)(Y,{view:`agents`}))},{path:`/skills`,element:Q((0,q.jsx)(Y,{view:`skills`}))},{path:`/skills/scenes/:scene`,element:Q((0,q.jsx)(Y,{view:`skills`}))},{path:`/cron`,element:Q((0,q.jsx)(Y,{view:`cron`}))},{path:`/inbox/:deliveryId?`,element:Q((0,q.jsx)(Y,{view:`inbox`}))},{path:`/apps/panel/:appId`,element:Q((0,q.jsx)(Y,{view:`panel-app`}))},{path:`/appearance`,element:Q((0,q.jsx)($e,{}))},{path:`/keyboard-shortcuts`,element:Q((0,q.jsx)(et,{}))},{path:`/model`,element:Q((0,q.jsx)(Qe,{}))},{path:`/search`,element:Q((0,q.jsx)(tt,{}))},{path:`/providers`,element:Q((0,q.jsx)(nt,{}))},{path:`/extensions`,element:Q((0,q.jsx)(rt,{}))},{path:`/channels`,element:Q((0,q.jsx)(it,{}))},{path:`/runtime`,element:Q((0,q.jsx)(at,{}))},{path:`/updates`,element:Q((0,q.jsx)(ot,{}))},{path:`/remote`,element:Q((0,q.jsx)(ut,{}))},{path:`/security`,element:Q((0,q.jsx)(st,{}))},{path:`/privacy`,element:Q((0,q.jsx)(Z,{}))},{path:`/desktop-capabilities`,element:Q((0,q.jsx)(lt,{}))},{path:`/secrets`,element:Q((0,q.jsx)(ct,{}))},{path:`/settings`,element:(0,q.jsx)(Le,{})},{path:`/marketplace/skills`,redirectTo:`/skills`},{path:`/marketplace`,redirectTo:`/skills`},{path:`/marketplace/mcp`,element:Q((0,q.jsx)(dt,{}))},{path:`/`,redirectTo:`/chat`},{path:`*`,redirectTo:`/chat`}];function ht(e){return`redirectTo`in e?(0,q.jsx)(T,{path:e.path,element:(0,q.jsx)(w,{to:e.redirectTo,replace:!0})},e.path):(0,q.jsx)(T,{path:e.path,element:e.element},e.path)}function gt(){return(0,q.jsx)(ae,{children:mt.map(ht)})}function $(){return Ye(p),v(),(0,K.useEffect)(()=>(h.start(),()=>{h.stop()}),[]),(0,q.jsx)(pe,{children:(0,q.jsxs)(k,{children:[(0,q.jsx)(Ee,{}),(0,q.jsx)(oe,{}),(0,q.jsx)(Ie,{children:(0,q.jsx)(gt,{})}),(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(Ze,{})}),(0,q.jsx)(s,{}),(0,q.jsx)(de,{})]})})}function _t(){let e=f(),t=e.isError&&ee(e.error);return e.isLoading&&!e.isError||t||e.isError?(0,q.jsx)($,{}):e.data?.enabled&&!e.data.authenticated?(0,q.jsx)(we,{username:e.data.username}):(0,q.jsx)($,{})}function vt(){let{theme:e}=a();return(0,K.useEffect)(()=>{d()},[]),(0,K.useEffect)(()=>{l.syncTheme(e)},[e]),(0,q.jsxs)(ne,{client:p,children:[(0,q.jsx)(_t,{}),(0,q.jsx)(u,{}),(0,q.jsx)(te,{position:`top-right`,richColors:!0,offset:{top:window.nextclawDesktop?.platform===`win32`?56:44,right:72},mobileOffset:window.nextclawDesktop?.platform===`win32`?56:void 0,style:Xe})]})}await xe();var yt=window.nextclawDesktop?.platform===`win32`?x:C;(0,Te.createRoot)(document.getElementById(`root`)).render((0,q.jsx)(K.StrictMode,{children:(0,q.jsx)(c,{children:(0,q.jsx)(i,{children:(0,q.jsx)(yt,{children:(0,q.jsx)(vt,{})})})})}));
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/projects-BWM-oEo0.js","assets/chunk-DF37yw5_.js","assets/dist-D9h2cWk3.js","assets/api-CXWxExzS.js","assets/i18n-ByVUrt9w.js","assets/preload-helper-DWTEM3RW.js","assets/createLucideIcon-C3LSyx-e.js","assets/app-presenter-provider-DdD2Q7jZ.js","assets/context-menu-C0qywo73.js","assets/katex-BzT-4KBu.js","assets/search-Dpgv--de.js","assets/external-link-DZzwHRHW.js","assets/inbox-CI8ATevA.js","assets/x-waP-WLuT.js","assets/plus-C42o6xrD.js","assets/context-menu-DEcVZfaU.css","assets/puzzle-DmKVREoh.js","assets/book-open-B3Ac0voD.js","assets/theme-provider-BsJ6HxeX.js","assets/dialog-DMKYZDFu.js","assets/navigation-history-CCnxsAKR.js","assets/download-C2gYe8n1.js","assets/use-viewport-layout-Bnm5W5Qz.js","assets/middleware-B--6mAUM.js","assets/refresh-cw-DOg2pWGu.js","assets/trash-2-BVQs-0ji.js","assets/navigation-link-O9Wm0epj.js","assets/host-capabilities-B107nwS3.js","assets/use-desktop-capabilities-BO_2CXgu.js","assets/status-dot-DlELD18e.js","assets/doc-browser-context-CoVMIiU8.js","assets/tag-chip-DFzDSvcF.js","assets/card-eFBmxYiI.js","assets/confirm-dialog-jz2cQKId.js","assets/provider-models-D8WOdsdu.js","assets/select-BJ-EjmCz.js","assets/use-config-M1L4xn8c.js","assets/app-presenter-provider-D3BuuOyZ.css","assets/circle-dashed-KGwElDWV.js","assets/settings-2-D3-m8a3v.js","assets/model-config-page-CeVvZ29o.js","assets/provider-scoped-model-input-BOPkUOtD.js","assets/form-actions-CZxcWXSm.js","assets/config-hints-CaB3I7KP.js","assets/appearance-settings-page-CSWYLrsR.js","assets/keyboard-shortcuts-settings-page-BCxB9m69.js","assets/search-config-page-DevSv1ZK.js","assets/config-split-page-BaHtm9OW.js","assets/providers-config-page-BilPL0kF.js","assets/extensions-DXDFcRVC.js","assets/channels-list-page-lQOINLW8.js","assets/runtime-config-page-Dx6lWn3_.js","assets/rotate-cw-CWFIat29.js","assets/save-C1G0ZU-G.js","assets/pwa-Cp7pPvsZ.js","assets/desktop-update-config-C_SBtjA1.js","assets/security-config-BGEs0SHi.js","assets/secrets-config-page-B4jWTV6V.js","assets/privacy-settings-page-CHDv9ppI.js","assets/desktop-capabilities-page-CKq2Miye.js","assets/remote-DngM8iep.js","assets/mcp-marketplace-page-ZAm380SB.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./chunk-DF37yw5_.js";import{t}from"./client-BDS360Kz.js";import{E as n,O as r,a as i,n as a,o,r as s,t as c}from"./theme-provider-BsJ6HxeX.js";import{i as l,n as u,t as d}from"./pwa-Cp7pPvsZ.js";import{Ht as f,Jn as p,Lt as m,Vt as ee,Yn as te,an as h,cr as ne,dn as g,qn as _,un as v,ur as re,x as y,xr as ie}from"./api-CXWxExzS.js";import{t as b}from"./preload-helper-DWTEM3RW.js";import{c as ae,i as x,l as S,n as C,o as w,s as T}from"./navigation-link-O9Wm0epj.js";import{B as oe,C as se,J as ce,Jt as E,Lt as le,S as ue,T as de,W as fe,Xt as D,Yt as O,_ as k,a as A,b as j,bt as M,g as N,h as P,i as F,l as I,n as L,nt as R,o as z,p as B,s as V,t as pe,u as H,w as me,x as he,xt as ge,y as _e,z as ve}from"./app-presenter-provider-DdD2Q7jZ.js";import{f as ye}from"./context-menu-C0qywo73.js";import{t as be}from"./agents-CTSR4ZKb.js";import{t as U}from"./use-viewport-layout-Bnm5W5Qz.js";import{i as xe,s as W}from"./i18n-ByVUrt9w.js";import{n as Se,t as Ce}from"./doc-browser-context-CoVMIiU8.js";import{t as we}from"./login-page--Njgbmpm.js";var G=n();if(l.syncTheme(G),r(G)===`island`){let e=document.createElement(`link`);e.rel=`preload`,e.as=`image`,e.href=`/themes/island/island-atmosphere-7a037243.webp`,e.fetchPriority=`high`,document.head.appendChild(e)}var Te=t(),K=e(ie(),1);function Ee(){let e=L();return(0,K.useEffect)(()=>(e.chatCompletionNotificationManager.start(),()=>{e.chatCompletionNotificationManager.stop()}),[e.chatCompletionNotificationManager]),null}var De=`NextClaw`,Oe=[{prefix:`/resource`,key:`resourcePageTitle`},{prefix:`/marketplace/mcp`,key:`marketplaceMcpPageTitle`},{prefix:`/marketplace/skills`,key:`marketplaceSkillsPageTitle`},{prefix:`/marketplace`,key:`marketplace`},{prefix:`/skills`,key:`marketplaceSkillsPageTitle`},{prefix:`/cron`,key:`cronPageTitle`},{prefix:`/agents`,key:`agentsPageTitle`},{prefix:`/projects`,key:`projectsTitle`},{prefix:`/chat`,key:`chat`},{prefix:`/model`,key:`modelPageTitle`},{prefix:`/search`,key:`searchPageTitle`},{prefix:`/providers`,key:`providersPageTitle`},{prefix:`/channels`,key:`channelsPageTitle`},{prefix:`/runtime`,key:`runtimePageTitle`},{prefix:`/updates`,key:`runtimeUpdatesPageTitle`},{prefix:`/remote`,key:`remotePageTitle`},{prefix:`/security`,key:`authSecurityTitle`},{prefix:`/secrets`,key:`secretsPageTitle`}];function ke(e,t){return e===t||e.startsWith(`${t}/`)}function Ae(e){let t=e.toLowerCase();for(let{prefix:e,key:n}of Oe)if(ke(t,e))return W(n);return W(`settings`)}function je(e){let t=e.toLowerCase();return t===`localhost`||t.endsWith(`.localhost`)||t===`::1`||t===`[::1]`||t.startsWith(`127.`)}function Me(e){let t=e?.host.trim(),n=e?.hostname.trim(),r=e?.port.trim();return!t||!n?null:je(n)?r||null:t}function Ne(e,t){let n=Me(t);return`${De}${n?` ${n}`:``} - ${Ae(e)}`}var q=re(),Pe=e=>(0,q.jsx)(N,{uri:e});function Fe({children:e,sideDockManager:t}){let{isOpen:n,mode:r}=Se();ge();let{pathname:i}=S(),{language:a}=o(),{isMobile:s}=U(),c=me(),l=z(e=>e.isVisible);z(e=>e.pinnedItems);let u={getDockState:t.getDockState,pinTab:t.pinTab,unpinTab:t.unpinTab},d=B(),f=e=>d(P(e),`global`);return(0,K.useEffect)(()=>{document.title=Ne(i,window.location)},[i,a]),s&&c!==`win32`?(0,q.jsx)(se,{pathname:i,isDocBrowserOpen:n,docBrowserDockControls:u,docBrowserRenderers:H,docBrowserTabMenuGroups:f,topbarLeadingInset:c===`darwin`?`4.75rem`:void 0,children:e}):(0,q.jsx)(j,{pathname:i,isMobileLayout:s,isDocBrowserOpen:n,docBrowserMode:r,docBrowserDockControls:u,docBrowserRenderers:H,docBrowserTabMenuGroups:f,sideDock:l?(0,q.jsx)(A,{manager:t,getItemMenuGroups:e=>{let t=F().pageResourceManager.resolve(e.target.type===`right-panel-resource`?e.target.uri:e.target.url);return t?d(t):[]}}):null,children:e})}function Ie({children:e}){let t=F();return(0,q.jsx)(Ce,{manager:t.docBrowserManager,children:(0,q.jsx)(ye,{renderIcon:Pe,children:(0,q.jsx)(Fe,{sideDockManager:t.sideDockManager,children:e})})})}function Le(){let{isMobile:e}=U();return e?(0,q.jsx)(ue,{}):(0,q.jsx)(w,{to:`/model`,replace:!0})}var Re=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ProjectsPage:e}=await import(`./projects-BWM-oEo0.js`);return{ProjectsPage:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]))).ProjectsPage})),J=`max-w-[min(1180px,100%)]`;function ze(e){return e===`projects`?`relative flex flex-1 min-h-0 overflow-hidden bg-background`:`flex-1 min-h-0 overflow-hidden bg-background`}function Be(e){let{routeSessionKey:t,syncRouteSessionSelection:n}=e;(0,K.useLayoutEffect)(()=>{n(t)},[t,n])}function Ve({view:e}){let{onScroll:t,scrollRef:n}=le({restorationKey:e===`cron`||e===`agents`?`main-page:${e}`:null});switch(e){case`resource`:return(0,q.jsx)(I,{});case`projects`:return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-full animate-pulse bg-card/30`}),children:(0,q.jsx)(Re,{})});case`panel-app`:return(0,q.jsx)(R,{});case`inbox`:return(0,q.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 w-full flex-col md:px-6 md:py-5 ${J}`,children:(0,q.jsx)(ve,{})});case`cron`:case`agents`:return(0,q.jsx)(`div`,{ref:n,onScroll:t,className:`h-full overflow-auto custom-scrollbar`,children:(0,q.jsx)(`div`,{className:`mx-auto w-full px-4 py-4 sm:px-6 sm:py-5 ${J}`,children:e===`cron`?(0,q.jsx)(ce,{}):(0,q.jsx)(be,{})})});default:return(0,q.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 w-full flex-col px-4 py-4 sm:px-6 sm:py-5 ${J}`,children:(0,q.jsx)(M,{forcedType:`skills`})})}}function He({view:e,confirmDialog:t}){let{isMobile:n}=U();return(0,q.jsxs)(`div`,{className:`h-full flex`,children:[n?null:(0,q.jsx)(_e,{}),e===`chat`?n?(0,q.jsx)(he,{}):(0,q.jsx)(fe,{}):(0,q.jsx)(`section`,{"data-theme-surface":`workspace`,className:`${ze(e)} flex flex-col`,children:(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,q.jsx)(Ve,{view:e})})}),t]})}function Ue(){let e=O();(0,K.useEffect)(()=>m.eventBus.on(_.uiShowContent,t=>{e.chatThreadManager.handleUiShowContentEvent(t)}),[e])}function We({view:e}){let t=O(),{pathname:n}=S();return Be({routeSessionKey:D(n.startsWith(`/chat/`)?n.slice(6):void 0),syncRouteSessionSelection:t.chatSessionListManager.syncRouteSessionSelection}),Ue(),(0,q.jsx)(He,{view:e})}function Y({view:e}){return(0,q.jsx)(We,{view:e})}function Ge(e){let t=e.trim().toLowerCase();return t?!t.startsWith(`skills`):!0}function Ke(e,t){t.startsWith(`mcp`)&&(e?.invalidateQueries({queryKey:[`marketplace-mcp-installed`]}),e?.invalidateQueries({queryKey:[`marketplace-mcp-items`]}),e?.invalidateQueries({queryKey:[`marketplace-mcp-doctor`]}))}function qe(e,t){e&&Ge(t)&&e.invalidateQueries({queryKey:[`config`]}),Ke(e,t)}function X(e){let t=e.trim().replace(/\\/g,`/`).replace(/\/+$/g,``);return/^[a-z]:/i.test(t)?t.toLowerCase():t}function Je(e,t){if(!e)return;let n=X(t);e.invalidateQueries({predicate:e=>e.queryKey[0]===`server-path-browse`&&typeof e.queryKey[1]==`string`&&X(e.queryKey[1])===n})}function Ye(e){let t=(0,K.useRef)(!1);(0,K.useEffect)(()=>{let n=m.eventBus.on(_.connectionOpen,()=>{g.handleConnectionRestored(),h.refreshAfterRealtimeReconnect(),t.current&&(t.current=!1,E.getState().clearSessionRunStatuses(),e?.invalidateQueries({queryKey:[`ncp-sessions`]}),e?.invalidateQueries({queryKey:[`ncp-session-pages`]}))}),r=m.eventBus.on(_.connectionClose,()=>{g.handleConnectionInterrupted(null),t.current=!0}),i=m.eventBus.on(_.connectionError,e=>{g.handleConnectionInterrupted(e?.message??null),t.current=!0}),a=m.eventBus.on(_.configUpdated,({path:t})=>{qe(e,t)}),o=m.eventBus.on(_.serverPathChanged,({directoryPath:t})=>Je(e,t)),s=m.eventBus.on(_.runtimeUpdateSnapshot,e=>{h.reportSnapshot(e)}),c=m.eventBus.on(_.sessionRunStatus,t=>{E.getState().setSessionRunStatus(t.sessionKey,t.status),y(e,{type:`session.run-status`,payload:t})}),l=m.eventBus.on(_.sessionSummaryUpsert,t=>{y(e,{type:`session.summary.upsert`,payload:t})}),u=m.eventBus.on(_.sessionSummaryDelete,t=>{E.getState().setSessionRunStatus(t.sessionKey,`idle`),y(e,{type:`session.summary.delete`,payload:t})}),d=m.eventBus.on(_.error,e=>{console.error(`Realtime transport error:`,e.message)});return()=>{n(),r(),i(),a(),o(),s(),c(),l(),u(),d()}},[e])}var Xe={"--width":`320px`},Ze=(0,K.lazy)(async()=>({default:(await V()).AccountPanel})),Qe=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ModelConfigPage:e}=await import(`./model-config-page-CeVvZ29o.js`);return{ModelConfigPage:e}},__vite__mapDeps([40,1,3,4,5,17,6,41,2,34,8,9,10,11,12,13,14,15,35,26,27,30,23,20,42,36,43]))).ModelConfigPage})),$e=(0,K.lazy)(async()=>({default:(await b(async()=>{let{AppearanceSettingsPage:e}=await import(`./appearance-settings-page-CSWYLrsR.js`);return{AppearanceSettingsPage:e}},__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).AppearanceSettingsPage})),et=(0,K.lazy)(async()=>({default:(await b(async()=>{let{KeyboardShortcutsSettingsPage:e}=await import(`./keyboard-shortcuts-settings-page-BCxB9m69.js`);return{KeyboardShortcutsSettingsPage:e}},__vite__mapDeps([45,7,1,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).KeyboardShortcutsSettingsPage})),tt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{SearchConfigPage:e}=await import(`./search-config-page-DevSv1ZK.js`);return{SearchConfigPage:e}},__vite__mapDeps([46,1,3,4,5,10,6,22,23,26,11,27,47,42,35,2,36]))).SearchConfigPage})),nt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ProvidersConfigPage:e}=await import(`./providers-config-page-BilPL0kF.js`);return{ProvidersConfigPage:e}},__vite__mapDeps([48,1,2,3,4,5,6,8,9,10,11,12,13,14,15,22,23,24,39,25,29,47,42,33,19,34,35,36,43,27]))).ProvidersConfigPage})),rt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ExtensionsConfigPage:e}=await import(`./extensions-DXDFcRVC.js`);return{ExtensionsConfigPage:e}},__vite__mapDeps([49,3,1,4,5,16,6,12,24]))).ExtensionsConfigPage})),it=(0,K.lazy)(async()=>({default:(await b(async()=>{let{ChannelsList:e}=await import(`./channels-list-page-lQOINLW8.js`);return{ChannelsList:e}},__vite__mapDeps([50,1,2,3,4,5,6,10,17,11,13,22,23,26,27,29,47,31,42,35,36,43]))).ChannelsList})),at=(0,K.lazy)(async()=>({default:(await b(async()=>{let{RuntimeConfig:e}=await import(`./runtime-config-page-Dx6lWn3_.js`);return{RuntimeConfig:e}},__vite__mapDeps([51,1,7,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,52,53,54,42]))).RuntimeConfig})),ot=(0,K.lazy)(async()=>({default:(await b(async()=>{let{DesktopUpdateConfig:e}=await import(`./desktop-update-config-C_SBtjA1.js`);return{DesktopUpdateConfig:e}},__vite__mapDeps([55,3,1,4,5,21,6,24,52,26,11,27,32,35,2]))).DesktopUpdateConfig})),st=(0,K.lazy)(async()=>({default:(await b(async()=>{let{SecurityConfig:e}=await import(`./security-config-BGEs0SHi.js`);return{SecurityConfig:e}},__vite__mapDeps([56,3,1,4,5]))).SecurityConfig})),ct=(0,K.lazy)(async()=>({default:(await b(async()=>{let{SecretsConfigPage:e}=await import(`./secrets-config-page-B4jWTV6V.js`);return{SecretsConfigPage:e}},__vite__mapDeps([57,1,3,4,5,14,6,53,25,42,35,2,36]))).SecretsConfigPage})),Z=(0,K.lazy)(async()=>({default:(await b(async()=>{let{PrivacySettingsPage:e}=await import(`./privacy-settings-page-CHDv9ppI.js`);return{PrivacySettingsPage:e}},__vite__mapDeps([58,3,1,4,5,35,2,6,36]))).PrivacySettingsPage})),lt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{DesktopCapabilitiesPage:e}=await import(`./desktop-capabilities-page-CKq2Miye.js`);return{DesktopCapabilitiesPage:e}},__vite__mapDeps([59,3,1,4,5,28]))).DesktopCapabilitiesPage})),ut=(0,K.lazy)(async()=>({default:(await b(async()=>{let{RemoteAccessPage:e}=await import(`./remote-DngM8iep.js`);return{RemoteAccessPage:e}},__vite__mapDeps([60,7,1,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).RemoteAccessPage})),dt=(0,K.lazy)(async()=>({default:(await b(async()=>{let{McpMarketplacePage:e}=await import(`./mcp-marketplace-page-ZAm380SB.js`);return{McpMarketplacePage:e}},__vite__mapDeps([61,7,1,5,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))).McpMarketplacePage}));function ft(){return(0,q.jsx)(`div`,{className:`h-full w-full animate-pulse rounded-2xl border border-border/40 bg-card/40`})}function pt({children:e}){return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(ft,{}),children:e})}function Q(e){return(0,q.jsx)(pt,{children:e})}var mt=[{path:`/resource`,element:Q((0,q.jsx)(Y,{view:`resource`}))},{path:`/projects/:projectId/:tab`,element:Q((0,q.jsx)(Y,{view:`projects`}))},{path:`/projects`,element:Q((0,q.jsx)(Y,{view:`projects`}))},{path:`/chat/skills`,redirectTo:`/skills`},{path:`/chat/cron`,redirectTo:`/cron`},{path:`/chat/agents`,redirectTo:`/agents`},{path:`/chat/:sessionId?`,element:Q((0,q.jsx)(Y,{view:`chat`}))},{path:`/agents`,element:Q((0,q.jsx)(Y,{view:`agents`}))},{path:`/skills`,element:Q((0,q.jsx)(Y,{view:`skills`}))},{path:`/skills/scenes/:scene`,element:Q((0,q.jsx)(Y,{view:`skills`}))},{path:`/cron`,element:Q((0,q.jsx)(Y,{view:`cron`}))},{path:`/inbox/:deliveryId?`,element:Q((0,q.jsx)(Y,{view:`inbox`}))},{path:`/apps/panel/:appId`,element:Q((0,q.jsx)(Y,{view:`panel-app`}))},{path:`/appearance`,element:Q((0,q.jsx)($e,{}))},{path:`/keyboard-shortcuts`,element:Q((0,q.jsx)(et,{}))},{path:`/model`,element:Q((0,q.jsx)(Qe,{}))},{path:`/search`,element:Q((0,q.jsx)(tt,{}))},{path:`/providers`,element:Q((0,q.jsx)(nt,{}))},{path:`/extensions`,element:Q((0,q.jsx)(rt,{}))},{path:`/channels`,element:Q((0,q.jsx)(it,{}))},{path:`/runtime`,element:Q((0,q.jsx)(at,{}))},{path:`/updates`,element:Q((0,q.jsx)(ot,{}))},{path:`/remote`,element:Q((0,q.jsx)(ut,{}))},{path:`/security`,element:Q((0,q.jsx)(st,{}))},{path:`/privacy`,element:Q((0,q.jsx)(Z,{}))},{path:`/desktop-capabilities`,element:Q((0,q.jsx)(lt,{}))},{path:`/secrets`,element:Q((0,q.jsx)(ct,{}))},{path:`/settings`,element:(0,q.jsx)(Le,{})},{path:`/marketplace/skills`,redirectTo:`/skills`},{path:`/marketplace`,redirectTo:`/skills`},{path:`/marketplace/mcp`,element:Q((0,q.jsx)(dt,{}))},{path:`/`,redirectTo:`/chat`},{path:`*`,redirectTo:`/chat`}];function ht(e){return`redirectTo`in e?(0,q.jsx)(T,{path:e.path,element:(0,q.jsx)(w,{to:e.redirectTo,replace:!0})},e.path):(0,q.jsx)(T,{path:e.path,element:e.element},e.path)}function gt(){return(0,q.jsx)(ae,{children:mt.map(ht)})}function $(){return Ye(p),v(),(0,K.useEffect)(()=>(h.start(),()=>{h.stop()}),[]),(0,q.jsx)(pe,{children:(0,q.jsxs)(k,{children:[(0,q.jsx)(Ee,{}),(0,q.jsx)(oe,{}),(0,q.jsx)(Ie,{children:(0,q.jsx)(gt,{})}),(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(Ze,{})}),(0,q.jsx)(s,{}),(0,q.jsx)(de,{})]})})}function _t(){let e=f(),t=e.isError&&ee(e.error);return e.isLoading&&!e.isError||t||e.isError?(0,q.jsx)($,{}):e.data?.enabled&&!e.data.authenticated?(0,q.jsx)(we,{username:e.data.username}):(0,q.jsx)($,{})}function vt(){let{theme:e}=a();return(0,K.useEffect)(()=>{d()},[]),(0,K.useEffect)(()=>{l.syncTheme(e)},[e]),(0,q.jsxs)(ne,{client:p,children:[(0,q.jsx)(_t,{}),(0,q.jsx)(u,{}),(0,q.jsx)(te,{position:`top-right`,richColors:!0,offset:{top:window.nextclawDesktop?.platform===`win32`?56:44,right:72},mobileOffset:window.nextclawDesktop?.platform===`win32`?56:void 0,style:Xe})]})}await xe();var yt=window.nextclawDesktop?.platform===`win32`?x:C;(0,Te.createRoot)(document.getElementById(`root`)).render((0,q.jsx)(K.StrictMode,{children:(0,q.jsx)(c,{children:(0,q.jsx)(i,{children:(0,q.jsx)(yt,{children:(0,q.jsx)(vt,{})})})})}));
Binary file
Binary file
@@ -1 +1 @@
1
- import"./api-CXWxExzS.js";import{st as e}from"./app-presenter-provider-BB3Xl8b0.js";export{e as McpMarketplacePage};
1
+ import"./api-CXWxExzS.js";import{st as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as McpMarketplacePage};
@@ -0,0 +1 @@
1
+ import{st as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as McpMarketplacePage};
@@ -0,0 +1 @@
1
+ import{s as e,v as t}from"./theme-provider-BsJ6HxeX.js";import"./app-presenter-provider-DdD2Q7jZ.js";export{t as PanelAppHostProvider,e as PanelAppRuntimeSurface};
Binary file
@@ -1 +1 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{Gt as t,Lt as n,Qn as r,Xn as i,Yt as a,Zn as o,lr as s,qn as c,ur as l,xr as u}from"./api-CXWxExzS.js";import{d,f,l as p}from"./navigation-link-O9Wm0epj.js";import{G as m,Ut as h,Yt as g,_t as _,f as v,gt as y,ht as b,in as x,m as S,mt as C,n as w,pt as T,rn as E,vt as D,yt as O}from"./app-presenter-provider-BB3Xl8b0.js";import{t as k}from"./createLucideIcon-C3LSyx-e.js";import{ht as A,rt as ee}from"./context-menu-C0qywo73.js";import{R as te,z as j}from"./dist-D9h2cWk3.js";import{t as ne}from"./circle-dashed-KGwElDWV.js";import{t as re}from"./external-link-DZzwHRHW.js";import{t as ie}from"./use-viewport-layout-Bnm5W5Qz.js";import{t as ae}from"./plus-C42o6xrD.js";import{t as oe}from"./settings-2-D3-m8a3v.js";import{t as se}from"./trash-2-BVQs-0ji.js";import{n as ce,r as le,s as M,t as ue}from"./i18n-ByVUrt9w.js";import{a as de,i as fe,n as pe,o as me,r as he,t as ge}from"./dialog-DMKYZDFu.js";import{a as _e,i as ve,n as ye,r as N}from"./tag-chip-DFzDSvcF.js";import{t as be}from"./confirm-dialog-jz2cQKId.js";import{a as P,i as F,n as I,r as L,t as R}from"./select-BJ-EjmCz.js";import{a as xe,i as Se,n as Ce,t as we}from"./card-eFBmxYiI.js";var Te=k(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Ee=k(`Circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),De=k(`LayoutGrid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Oe=k(`List`,[[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 18h.01`,key:`1tta3j`}],[`path`,{d:`M3 6h.01`,key:`1rqtza`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 18h13`,key:`1lx6n3`}],[`path`,{d:`M8 6h13`,key:`ik3vkj`}]]),ke=k(`Unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),z=e(u(),1),B=l();function V({title:e,children:t,className:n=``}){return(0,B.jsxs)(we,{hover:!1,surface:`flat`,className:n,children:[(0,B.jsx)(Se,{className:`p-4 pb-3`,children:(0,B.jsx)(xe,{children:e})}),(0,B.jsx)(Ce,{className:`p-4 pt-0`,children:t})]})}function H({children:e}){return(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:e})}function U({available:e,children:t,className:n,label:r,onOpen:i,path:a}){return e?(0,B.jsx)(`button`,{type:`button`,className:n,title:a,onClick:()=>i(a,r),children:t}):(0,B.jsx)(`div`,{className:n,children:t})}function Ae({agreement:e,isLoading:t,isError:n,onOpenFile:r}){return(0,B.jsxs)(V,{title:M(`projectsAgreementFile`),children:[(0,B.jsx)(`p`,{className:`mb-4 text-sm text-muted-foreground`,children:M(`projectsAgreementDescription`)}),t?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):n?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):e?.available?(0,B.jsxs)(U,{available:!0,path:e.path,label:e.path,onOpen:r,className:`block w-full rounded-xl bg-muted/45 p-3 text-left transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsx)(`span`,{className:`block text-sm font-medium`,children:e.path}),(0,B.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:M(`projectsAgreementOpen`)})]}):(0,B.jsx)(H,{children:M(`projectsNoAgreement`)})]})}var W=e=>[`project-work`,e],G=e=>[`project-work-summary`,e],K=e=>[`project-work-states`,e],q=e=>[`project-work-artifacts`,e],J=(e,t)=>[`project-work-item`,e,t],Y=(e,t)=>[`project-work-activity`,e,t];function je(e,t={}){return x({queryKey:[...W(e??``),t],enabled:!!e,initialPageParam:null,queryFn:async({pageParam:r})=>await n.projects.listWork(e,{...t,...r?{cursor:r}:{}}),getNextPageParam:e=>e.nextCursor})}function Me(e){return r({queryKey:G(e??``),enabled:!!e,queryFn:async()=>await n.projects.getWorkSummary(e)})}function Ne(e){return r({queryKey:K(e??``),enabled:!!e,queryFn:async()=>await n.projects.listWorkStates(e)})}function Pe(e,t={}){return x({queryKey:[...q(e??``),t],enabled:!!e,initialPageParam:null,queryFn:async({pageParam:r})=>await n.projects.listRecentWorkArtifacts(e,{...t,...r?{cursor:r}:{}}),getNextPageParam:e=>e.nextCursor})}function Fe(e,t){return r({queryKey:J(e??``,t??``),enabled:!!(e&&t),queryFn:async()=>await n.projects.getWorkItem(e,t)})}function Ie(e,t){return r({queryKey:Y(e??``,t??``),enabled:!!(e&&t),queryFn:async()=>await n.projects.listWorkItemActivities(e,t,{limit:100})})}function X(e){let t=s(),r=async n=>{await Promise.all([t.invalidateQueries({queryKey:W(e)}),t.invalidateQueries({queryKey:G(e)}),t.invalidateQueries({queryKey:K(e)}),t.invalidateQueries({queryKey:q(e)}),...n?[t.invalidateQueries({queryKey:J(e,n)}),t.invalidateQueries({queryKey:Y(e,n)})]:[]])};return{createItem:o({mutationFn:async t=>await n.projects.createWorkItem(e,t),onSuccess:async e=>await r(e.id)}),updateItem:o({mutationFn:async t=>await n.projects.updateWorkItem(e,t.workItemId,t.patch),onSuccess:async e=>await r(e.id)}),deleteItem:o({mutationFn:async t=>await n.projects.deleteWorkItem(e,t),onSuccess:async e=>await r(e.id)}),restoreItem:o({mutationFn:async t=>await n.projects.restoreWorkItem(e,t),onSuccess:async e=>await r(e.id)}),linkArtifact:o({mutationFn:async t=>await n.projects.linkWorkItemArtifact(e,t.workItemId,{path:t.path,...t.label?{label:t.label}:{}}),onSuccess:async(e,t)=>await r(t.workItemId)}),unlinkArtifact:o({mutationFn:async t=>await n.projects.unlinkWorkItemArtifact(e,t.workItemId,t.artifactLinkId),onSuccess:async(e,t)=>await r(t.workItemId)}),createState:o({mutationFn:async t=>await n.projects.createWorkState(e,t),onSuccess:async()=>await r()}),updateState:o({mutationFn:async t=>await n.projects.updateWorkState(e,t.stateId,t.patch),onSuccess:async()=>await r()}),deleteState:o({mutationFn:async t=>await n.projects.deleteWorkState(e,t.stateId,t.migrateToStateId),onSuccess:async()=>await r()})}}function Z(e){let t=s();(0,z.useEffect)(()=>{if(e)return n.eventBus.on(c.projectWorkChanged,n=>{n.projectId===e&&(t.invalidateQueries({queryKey:W(e)}),t.invalidateQueries({queryKey:G(e)}),t.invalidateQueries({queryKey:K(e)}),t.invalidateQueries({queryKey:q(e)}),n.workItemId&&(t.invalidateQueries({queryKey:J(e,n.workItemId)}),t.invalidateQueries({queryKey:Y(e,n.workItemId)})))})},[e,t])}function Le(e){return[...e].sort((e,t)=>e.position-t.position||e.name.localeCompare(t.name))}var Re={started:0,unstarted:1,backlog:2,completed:3,canceled:4};function ze(e){return[...e].sort((e,t)=>{let n=Re[e.category]-Re[t.category];return n===0?e.category===`completed`||e.category===`canceled`?e.position-t.position||e.name.localeCompare(t.name):t.position-e.position||e.name.localeCompare(t.name):n})}function Q(e,t){return`${e}${e.endsWith(`/`)||e.endsWith(`\\`)?``:`/`}${t}`}function Be(e,t=new Date){if(!e)return`-`;let n=new Date(e),r=t.getTime()-n.getTime();if(Number.isNaN(n.getTime()))return e;if(r<6e4)return M(`projectsTimeJustNow`);let i=Math.floor(r/6e4);if(i<60)return M(`projectsTimeMinutesAgo`).replace(`{count}`,String(i));let a=Math.floor(i/60);if(a<24)return M(`projectsTimeHoursAgo`).replace(`{count}`,String(a));let o=Math.floor(a/24);return o===1?M(`projectsTimeYesterday`):o<7?M(`projectsTimeDaysAgo`).replace(`{count}`,String(o)):ue(e)}var Ve=20;function He({projectId:e,onOpenFile:t}){let[n,r]=(0,z.useState)(``),i=Pe(e,{limit:Ve,...n.trim()?{query:n.trim()}:{}}),a=i.data?.pages??[],o=a.flatMap(e=>e.artifacts),s=a[0]?.total??0;return i.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):i.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):(0,B.jsxs)(`section`,{className:`min-w-0`,"aria-label":M(`projectsArtifacts`),children:[(0,B.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center justify-between gap-3`,children:[(0,B.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[le(s),` `,M(`projectsArtifactsCountSuffix`)]}),(0,B.jsx)(`input`,{type:`search`,value:n,className:`h-8 w-full min-w-0 rounded-lg border border-border/60 bg-transparent px-3 text-sm outline-none placeholder:text-muted-foreground sm:w-60`,placeholder:M(`projectsArtifactsSearchPlaceholder`),onChange:e=>r(e.target.value)})]}),o.length?(0,B.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/60`,children:[(0,B.jsx)(`div`,{className:`divide-y divide-border/60`,children:o.map(e=>(0,B.jsxs)(U,{available:e.exists,path:e.path,label:e.label??e.path,onOpen:t,className:`flex w-full min-w-0 items-center gap-3 px-3 py-3 text-left text-sm transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`span`,{className:`block truncate font-medium`,children:e.label??e.path}),(0,B.jsxs)(`span`,{className:`mt-1 block truncate text-xs text-muted-foreground`,children:[e.path,` · `,e.workItemTitle]})]}),(0,B.jsx)(`time`,{className:`shrink-0 text-xs text-muted-foreground`,dateTime:e.createdAt,title:ce(e.createdAt),children:Be(e.createdAt)}),e.exists?null:(0,B.jsx)(`span`,{className:`shrink-0 text-xs text-destructive`,children:M(`projectsUnavailable`)})]},e.id))}),i.hasNextPage?(0,B.jsx)(`button`,{type:`button`,className:`w-full border-t border-border/60 px-3 py-2.5 text-left text-sm text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,disabled:i.isFetchingNextPage,onClick:()=>void i.fetchNextPage(),children:i.isFetchingNextPage?M(`projectsLoading`):M(`projectsArtifactsShowMore`)}):null]}):(0,B.jsx)(H,{children:n.trim()?M(`projectsArtifactsNoMatches`):M(`projectsNoArtifacts`)})]})}var Ue={Backlog:`projectsWorkState_backlog`,Planned:`projectsWorkState_planned`,"In Progress":`projectsWorkState_inProgress`,"In Review":`projectsWorkState_inReview`,"Awaiting Acceptance":`projectsWorkState_awaitingAcceptance`,Completed:`projectsWorkState_completed`,Canceled:`projectsWorkState_canceled`};function $(e,t){let n=Ue[e];return n?t?M(n,t):M(n):e}function We({projectId:e,onOpenArtifact:t,onOpenWorkItem:n}){Z(e);let r=Me(e),i=je(e,{limit:5}),a=Pe(e,{limit:5}),o=a.data?.pages[0]?.artifacts??[],s=i.data?.pages.flatMap(e=>e.items).slice(0,5)??[];return(0,B.jsxs)(`div`,{className:`space-y-5`,children:[(0,B.jsx)(`section`,{className:`grid grid-cols-2 gap-3 lg:grid-cols-4`,"aria-label":M(`projectsWorkSummary`),children:r.data?[[`projectsWorkTotal`,r.data.total],[`projectsWorkActive`,r.data.active],[`projectsWorkNeedsAttention`,r.data.attention],[`projectsWorkCompleted`,r.data.completed]].map(([e,t])=>(0,B.jsxs)(`div`,{className:`rounded-xl border border-border/60 bg-card p-4`,children:[(0,B.jsx)(`div`,{className:`text-2xl font-semibold`,children:t}),(0,B.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:M(e)})]},e)):(0,B.jsx)(`div`,{className:`col-span-full rounded-xl border border-border/60 p-5 text-sm text-muted-foreground`,children:r.isError?M(`projectsLoadFailed`):M(`projectsLoading`)})}),(0,B.jsxs)(`div`,{className:`grid min-w-0 gap-4 lg:grid-cols-2`,children:[(0,B.jsx)(V,{title:M(`projectsWorkRecentlyUpdated`),children:i.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):i.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):s.length?(0,B.jsx)(`div`,{className:`space-y-2`,children:s.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-3 rounded-xl bg-muted/45 px-3 py-3 text-left transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>n(e.id),children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium`,children:e.title}),(0,B.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:$(e.state.name)})]},e.id))}):(0,B.jsx)(H,{children:M(`projectsWorkEmpty`)})}),(0,B.jsx)(V,{title:M(`projectsRecentArtifacts`),children:a.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):a.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):o.length?(0,B.jsx)(`div`,{className:`space-y-2`,children:o.map(e=>(0,B.jsxs)(U,{available:e.exists,path:e.path,label:e.label??e.path,onOpen:t,className:`block w-full rounded-xl bg-muted/45 p-3 text-left text-sm transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsx)(`span`,{className:`block truncate font-medium`,children:e.label??e.path}),(0,B.jsxs)(`span`,{className:`mt-1 block truncate text-xs text-muted-foreground`,children:[e.workItemTitle,(0,B.jsx)(`time`,{dateTime:e.createdAt,title:ce(e.createdAt),children:` · ${Be(e.createdAt)}`}),e.exists?``:` · ${M(`projectsUnavailable`)}`]})]},e.id))}):(0,B.jsx)(H,{children:M(`projectsNoRecentArtifacts`)})})]})]})}function Ge({skills:e,isLoading:t,isError:n,onOpen:r}){return t?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):n?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):(0,B.jsxs)(`section`,{className:`min-w-0`,"aria-label":M(`projectsSkills`),children:[(0,B.jsxs)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:[le(e.length),` `,M(`projectsSkillsCountSuffix`)]}),e.length?(0,B.jsx)(`div`,{className:`grid min-w-0 gap-3 md:grid-cols-2`,children:e.map(e=>(0,B.jsxs)(`div`,{className:`relative group/page-row rounded-xl border border-border/60 transition-colors hover:border-border hover:bg-[var(--interaction-hover)] focus-within:bg-[var(--interaction-hover)] has-[[data-context-menu-open]]:bg-[var(--interaction-hover)]`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`w-full min-w-0 rounded-xl p-3 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>r(e),children:[(0,B.jsx)(`h3`,{className:`pr-7 text-sm font-medium`,children:e.name}),(0,B.jsx)(`p`,{className:`mt-1 truncate text-xs text-muted-foreground`,title:e.path,children:e.path}),(0,B.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs text-muted-foreground`,title:e.description??e.ref,children:e.description??e.ref})]}),(0,B.jsx)(`span`,{className:`absolute right-2 top-2`,children:(0,B.jsx)(v,{revealOnHover:!0,page:S(`skill`,e.ref,e.name)})})]},e.ref))}):(0,B.jsx)(H,{children:M(`projectsNoSkills`)})]})}function Ke({embedded:e=!1,onOpenArtifact:t,onOpenChange:n,projectId:r,projectRoot:i,workItemId:a}){let o=Fe(r,a),s=Ie(r,a);Z(r);let c=Ne(r),l=(0,B.jsxs)(B.Fragment,{children:[o.isLoading?(0,B.jsx)(`div`,{className:`p-6 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):null,o.isError?(0,B.jsx)(`div`,{className:`p-6 text-sm text-destructive`,children:M(`projectsWorkItemLoadFailed`)}):null,o.data?(0,B.jsx)(qe,{item:o.data,states:c.data??[],activities:s.data?.activities??[],onOpenArtifact:(e,n)=>t(Q(i,e),n),onClose:()=>n(!1)},`${o.data.id}:${o.data.version}`):null]});return(0,B.jsx)(C,{open:!e&&!!a,onOpenChange:n,children:e?(0,B.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:l}):(0,B.jsx)(b,{side:`right`,closeLabel:M(`projectsCloseDetails`),className:`flex h-full w-full flex-col overflow-hidden p-0 sm:max-w-[680px]`,children:l})})}function qe({activities:e,item:n,onClose:r,onOpenArtifact:o,states:s}){let c=X(n.projectId),[l,u]=(0,z.useState)(n.title),[d,f]=(0,z.useState)(n.description),[p,m]=(0,z.useState)(n.stateId),[h,g]=(0,z.useState)(n.attention),[b,x]=(0,z.useState)(``),[C,w]=(0,z.useState)(``),[E,k]=(0,z.useState)(!1),A=async(e,t)=>{try{await e(),t?.()}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkActionFailed`))}},te=async()=>{try{await c.updateItem.mutateAsync({workItemId:n.id,patch:{title:l,description:d,stateId:p,attention:h,expectedVersion:n.version}}),i.success(M(`projectsWorkItemSaved`))}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkItemSaveFailed`))}},j=async()=>{if(b.trim())try{await c.linkArtifact.mutateAsync({workItemId:n.id,path:b.trim(),...C.trim()?{label:C.trim()}:{}}),x(``),w(``)}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkArtifactLinkFailed`))}};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(D,{className:`shrink-0 border-b border-border/60 px-5 pb-5 pt-6 pr-14 sm:px-7 sm:pt-7`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(O,{children:M(`projectsWorkDetails`)}),(0,B.jsx)(v,{page:S(`project-work`,JSON.stringify([n.projectId,n.id]),n.title)})]}),(0,B.jsxs)(y,{children:[n.id,` · `,M(`projectsWorkVersion`),` `,n.version]})]}),(0,B.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-6 overflow-y-auto px-5 py-6 sm:px-7`,children:[(0,B.jsxs)(`section`,{className:`space-y-3`,children:[(0,B.jsx)(`label`,{className:`block text-xs font-medium text-muted-foreground`,children:M(`projectsWorkTitle`)}),(0,B.jsx)(t,{value:l,onChange:e=>u(e.target.value)}),(0,B.jsx)(`label`,{className:`block text-xs font-medium text-muted-foreground`,children:M(`projectsWorkDescription`)}),(0,B.jsx)(T,{className:`min-h-28`,value:d,onChange:e=>f(e.target.value)}),(0,B.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-muted-foreground`,children:M(`projectsStatus`)}),(0,B.jsxs)(R,{value:p,onValueChange:m,children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:s.map(e=>(0,B.jsx)(L,{value:e.id,children:$(e.name)},e.id))})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-muted-foreground`,children:M(`projectsWorkAttention`)}),(0,B.jsxs)(R,{value:h,onValueChange:e=>g(e),children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsxs)(I,{children:[(0,B.jsx)(L,{value:`none`,children:M(`projectsWorkAttention_none`)}),(0,B.jsx)(L,{value:`blocked`,children:M(`projectsWorkAttention_blocked`)}),(0,B.jsx)(L,{value:`awaiting-user`,children:M(`projectsWorkAttention_awaiting-user`)})]})]})]})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{className:`mb-3 text-sm font-semibold`,children:M(`projectsWorkArtifacts`)}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[n.artifacts.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl border border-border/60 p-2`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`min-w-0 flex-1 rounded-lg px-2 py-1 text-left hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>o(e.path,e.label??e.path),children:[(0,B.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-sm font-medium`,children:[(0,B.jsx)(re,{className:`h-3.5 w-3.5 shrink-0`}),e.label??e.path]}),(0,B.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.path})]}),(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsWorkUnlinkArtifact`),onClick:()=>void A(()=>c.unlinkArtifact.mutateAsync({workItemId:n.id,artifactLinkId:e.id})),children:(0,B.jsx)(ke,{className:`h-4 w-4`})})]},e.id)),n.artifacts.length?null:(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:M(`projectsWorkNoArtifacts`)})]}),(0,B.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-[1fr_12rem_auto]`,children:[(0,B.jsx)(t,{value:b,onChange:e=>x(e.target.value),placeholder:M(`projectsWorkArtifactPath`)}),(0,B.jsx)(t,{value:C,onChange:e=>w(e.target.value),placeholder:M(`projectsWorkArtifactLabel`)}),(0,B.jsxs)(a,{variant:`outline`,onClick:()=>void j(),disabled:!b.trim()||c.linkArtifact.isPending,children:[(0,B.jsx)(ee,{className:`mr-2 h-4 w-4`}),M(`projectsWorkLinkArtifact`)]})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{className:`mb-3 text-sm font-semibold`,children:M(`projectsActivity`)}),(0,B.jsx)(`ol`,{className:`space-y-2`,children:e.map(e=>(0,B.jsxs)(`li`,{className:`rounded-xl bg-muted/35 px-3 py-2 text-sm`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:M(`projectsWorkActivity_${e.type}`)}),(0,B.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[e.actor.kind,` ·`,` `,new Date(e.createdAt).toLocaleString()]})]},e.id))})]})]}),(0,B.jsxs)(_,{className:`shrink-0 border-t border-border/60 bg-background px-5 py-4 sm:px-7`,children:[n.deletedAt?(0,B.jsx)(a,{variant:`outline`,onClick:()=>void A(()=>c.restoreItem.mutateAsync(n.id)),children:M(`projectsRestore`)}):(0,B.jsxs)(a,{variant:`destructive`,onClick:()=>k(!0),children:[(0,B.jsx)(se,{className:`mr-2 h-4 w-4`}),M(`projectsDelete`)]}),(0,B.jsx)(a,{onClick:()=>void te(),disabled:!l.trim()||c.updateItem.isPending,children:M(`save`)})]}),(0,B.jsx)(be,{open:E,onOpenChange:k,title:M(`projectsDeleteWorkItem`),description:M(`projectsDeleteWorkItemDescription`),confirmLabel:M(`projectsDelete`),variant:`destructive`,onCancel:()=>k(!1),onConfirm:()=>void A(()=>c.deleteItem.mutateAsync(n.id),r)})]})}var Je=[`backlog`,`unstarted`,`started`,`completed`,`canceled`];function Ye({open:e,onOpenChange:n,projectId:r,states:o}){let s=X(r),c=Le(o),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(`unstarted`),[p,m]=(0,z.useState)(null),[h,g]=(0,z.useState)(``),_=async e=>{try{await e()}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkActionFailed`))}},v=async()=>{l.trim()&&await _(async()=>{await s.createState.mutateAsync({name:l.trim(),category:d}),u(``)})},y=async(e,t)=>{let n=c[e],r=c[e+t];!n||!r||await _(async()=>{await s.updateState.mutateAsync({stateId:n.id,patch:{position:r.position}}),await s.updateState.mutateAsync({stateId:r.id,patch:{position:n.position}})})};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(ge,{open:e,onOpenChange:n,children:(0,B.jsxs)(pe,{className:`max-h-[85vh] overflow-y-auto sm:max-w-2xl`,children:[(0,B.jsxs)(de,{children:[(0,B.jsx)(me,{children:M(`projectsWorkStateSettings`)}),(0,B.jsx)(he,{children:M(`projectsWorkStateSettingsDescription`)})]}),(0,B.jsx)(`div`,{className:`space-y-2`,children:c.map((e,n)=>(0,B.jsxs)(`div`,{className:`grid gap-2 rounded-xl border border-border/60 p-3 sm:grid-cols-[1fr_11rem_auto]`,children:[(0,B.jsx)(t,{"aria-label":M(`projectsWorkStateName`),defaultValue:$(e.name),onBlur:t=>{let n=t.currentTarget.value.trim();n&&n!==$(e.name)&&_(()=>s.updateState.mutateAsync({stateId:e.id,patch:{name:n}}))}}),(0,B.jsxs)(R,{value:e.category,onValueChange:t=>void _(()=>s.updateState.mutateAsync({stateId:e.id,patch:{category:t}})),children:[(0,B.jsx)(F,{"aria-label":M(`projectsWorkStateCategory`),children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:Je.map(e=>(0,B.jsx)(L,{value:e,children:M(`projectsWorkCategory_${e}`)},e))})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsMoveUp`),disabled:n===0,onClick:()=>void y(n,-1),children:(0,B.jsx)(te,{className:`h-4 w-4`})}),(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsMoveDown`),disabled:n===c.length-1,onClick:()=>void y(n,1),children:(0,B.jsx)(j,{className:`h-4 w-4`})}),(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsDeleteState`),disabled:c.length<=1,onClick:()=>{m(e),g(``)},children:(0,B.jsx)(se,{className:`h-4 w-4`})})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-muted-foreground sm:col-span-3`,children:[(0,B.jsx)(`input`,{type:`radio`,name:`default-state`,checked:e.isDefault,onChange:()=>void _(()=>s.updateState.mutateAsync({stateId:e.id,patch:{isDefault:!0}}))}),M(`projectsWorkDefaultState`)]})]},e.id))}),(0,B.jsxs)(`div`,{className:`grid gap-2 border-t border-border/60 pt-4 sm:grid-cols-[1fr_11rem_auto]`,children:[(0,B.jsx)(t,{value:l,onChange:e=>u(e.target.value),placeholder:M(`projectsWorkNewState`)}),(0,B.jsxs)(R,{value:d,onValueChange:e=>f(e),children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:Je.map(e=>(0,B.jsx)(L,{value:e,children:M(`projectsWorkCategory_${e}`)},e))})]}),(0,B.jsxs)(a,{onClick:()=>void v(),disabled:!l.trim()||s.createState.isPending,children:[(0,B.jsx)(ae,{className:`mr-2 h-4 w-4`}),M(`projectsAdd`)]})]})]})}),(0,B.jsx)(ge,{open:!!p,onOpenChange:e=>{e||m(null)},children:(0,B.jsxs)(pe,{children:[(0,B.jsxs)(de,{children:[(0,B.jsx)(me,{children:M(`projectsDeleteState`)}),(0,B.jsx)(he,{children:M(`projectsDeleteStateDescription`)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:M(`projectsWorkStateMigration`)}),(0,B.jsxs)(R,{value:h,onValueChange:g,children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{placeholder:M(`projectsWorkStateMigrationOptional`)})}),(0,B.jsx)(I,{children:c.filter(e=>e.id!==p?.id).map(e=>(0,B.jsx)(L,{value:e.id,children:$(e.name)},e.id))})]})]}),(0,B.jsxs)(fe,{children:[(0,B.jsx)(a,{variant:`outline`,onClick:()=>m(null),children:M(`cancel`)}),(0,B.jsx)(a,{variant:`destructive`,onClick:()=>{p&&_(async()=>{await s.deleteState.mutateAsync({stateId:p.id,migrateToStateId:h||null}),m(null)})},children:M(`projectsDelete`)})]})]})})]})}function Xe({startedProgress:e,state:t}){if(t.category===`backlog`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`backlog`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground/65`,children:(0,B.jsx)(ne,{className:`h-4 w-4`})});if(t.category===`unstarted`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`unstarted`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground`,children:(0,B.jsx)(Ee,{className:`h-4 w-4`,strokeWidth:2})});if(t.category===`completed`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`completed`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-emerald-600 dark:text-emerald-400`,children:(0,B.jsx)(E,{className:`h-4 w-4`,strokeWidth:2.25})});if(t.category===`canceled`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`canceled`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground/65`,children:(0,B.jsx)(Te,{className:`h-4 w-4`})});let n=Math.round((e??.5)*100),r=n>=67?`text-emerald-600 dark:text-emerald-400`:n>=40?`text-orange-500 dark:text-orange-400`:`text-amber-500 dark:text-amber-400`;return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`started`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center ${r}`,children:(0,B.jsxs)(`svg`,{className:`h-4 w-4`,viewBox:`0 0 16 16`,fill:`none`,children:[(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`5.5`,stroke:`currentColor`,strokeWidth:`1.75`,opacity:`0.22`}),(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`5.5`,pathLength:`100`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:`${n} ${100-n}`,transform:`rotate(-90 8 8)`})]})})}function Ze({item:e,onOpen:t}){return(0,B.jsxs)(`button`,{type:`button`,className:`w-full rounded-xl border border-border/50 bg-card p-3 text-left text-sm shadow-sm transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:t,children:[(0,B.jsx)(`span`,{className:`block font-medium`,children:e.title}),(0,B.jsxs)(`span`,{className:`mt-1 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:$(e.state.name)}),e.attention===`none`?null:(0,B.jsx)(`span`,{className:`rounded-full bg-amber-500/15 px-2 py-0.5 text-amber-700 dark:text-amber-300`,children:M(`projectsWorkAttention_${e.attention}`)}),e.deletedAt?(0,B.jsx)(`span`,{children:M(`projectsDeleted`)}):null]})]})}function Qe({hasNextPage:e,isError:t,isFetchingNextPage:n,isLoading:r,items:i,onLoadMore:o,onOpenWorkItem:s}){return r?(0,B.jsx)(`p`,{className:`py-3 text-xs text-muted-foreground`,children:M(`projectsLoading`)}):t?(0,B.jsx)(`p`,{className:`py-3 text-xs text-destructive`,children:M(`projectsLoadFailed`)}):(0,B.jsxs)(B.Fragment,{children:[i.length?i.map(e=>(0,B.jsx)(Ze,{item:e,onOpen:()=>s(e.id)},e.id)):(0,B.jsx)(`p`,{className:`py-3 text-xs text-muted-foreground`,children:M(`projectsNoData`)}),e?(0,B.jsx)(a,{type:`button`,variant:`ghost`,size:`sm`,className:`w-full`,disabled:n,onClick:o,children:M(n?`projectsLoading`:`projectsWorkLoadMore`)}):null]})}function $e({includeDeleted:e,onOpenWorkItem:t,state:n,startedProgress:r,view:i}){let[a,o]=(0,z.useState)(!1),s=je(n.projectId,{stateId:n.id,includeDeleted:e,limit:20}),c=s.data?.pages.flatMap(e=>e.items)??[],l=s.data?.pages[0]?.total;return(0,B.jsxs)(`section`,{className:i===`board`?`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`:`min-w-0`,"aria-label":$(n.name),children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full shrink-0 items-center gap-2 rounded-lg px-1 py-2 text-left transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,"aria-expanded":!a,onClick:()=>o(e=>!e),children:[a?(0,B.jsx)(A,{className:`h-4 w-4 shrink-0`}):(0,B.jsx)(j,{className:`h-4 w-4 shrink-0`}),(0,B.jsx)(Xe,{state:n,startedProgress:r}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold`,children:$(n.name)}),(0,B.jsx)(`span`,{className:`ml-0.5 shrink-0 text-xs font-medium tabular-nums text-muted-foreground`,children:l??`…`})]}),a?null:(0,B.jsx)(`div`,{className:i===`board`?`min-h-0 flex-1 space-y-2 overflow-y-auto px-1 pb-3`:`space-y-2 px-1 pb-3`,children:(0,B.jsx)(Qe,{hasNextPage:s.hasNextPage,isError:s.isError,isFetchingNextPage:s.isFetchingNextPage,isLoading:s.isLoading,items:c,onLoadMore:()=>void s.fetchNextPage(),onOpenWorkItem:t})})]})}function et({onOpenWorkItem:e,projectId:n}){let[r,o]=(0,z.useState)(`list`),[s,c]=(0,z.useState)(!1),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(!1);Z(n);let p=Ne(n),m=X(n),h=async()=>{if(l.trim())try{let t=await m.createItem.mutateAsync({title:l.trim()});u(``),e(t.id)}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkItemCreateFailed`))}};if(p.isLoading)return(0,B.jsx)(`div`,{className:`rounded-xl border border-border/60 p-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)});if(p.isError)return(0,B.jsx)(`div`,{className:`rounded-xl border border-destructive/40 p-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)});let g=Le(p.data??[]),_=ze(p.data??[]),v=g.filter(e=>e.category===`started`),y=new Map(v.map((e,t)=>[e.id,(t+1)/(v.length+1)]));return(0,B.jsxs)(`section`,{"aria-label":M(`projectsWork`),className:`min-w-0 space-y-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-[16rem] flex-1 gap-2`,children:[(0,B.jsx)(t,{value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&h()},placeholder:M(`projectsWorkNewItem`)}),(0,B.jsxs)(a,{onClick:()=>void h(),disabled:!l.trim()||m.createItem.isPending,children:[(0,B.jsx)(ae,{className:`mr-2 h-4 w-4`}),M(`projectsCreate`)]})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1 rounded-xl bg-muted/40 p-1`,role:`group`,"aria-label":M(`projectsWorkViews`),children:[(0,B.jsxs)(a,{size:`sm`,variant:r===`list`?`secondary`:`ghost`,"aria-pressed":r===`list`,onClick:()=>o(`list`),children:[(0,B.jsx)(Oe,{className:`mr-2 h-4 w-4`}),M(`projectsWorkList`)]}),(0,B.jsxs)(a,{size:`sm`,variant:r===`board`?`secondary`:`ghost`,"aria-pressed":r===`board`,onClick:()=>o(`board`),children:[(0,B.jsx)(De,{className:`mr-2 h-4 w-4`}),M(`projectsWorkBoard`)]})]}),(0,B.jsxs)(a,{variant:`outline`,size:`sm`,onClick:()=>f(!0),children:[(0,B.jsx)(oe,{className:`mr-2 h-4 w-4`}),M(`projectsWorkStateSettings`)]})]}),(0,B.jsxs)(`label`,{className:`flex w-fit items-center gap-2 text-xs text-muted-foreground`,children:[(0,B.jsx)(`input`,{type:`checkbox`,checked:s,onChange:e=>c(e.target.checked)}),M(`projectsWorkShowDeleted`)]}),r===`list`?(0,B.jsx)(`div`,{className:`space-y-3`,children:_.map(t=>(0,B.jsx)($e,{state:t,startedProgress:y.get(t.id)??null,view:r,includeDeleted:s,onOpenWorkItem:e},t.id))}):null,r===`board`?(0,B.jsx)(`div`,{className:`grid h-[calc(100dvh-17rem)] min-h-[28rem] max-h-[52rem] min-w-0 auto-cols-[minmax(18rem,1fr)] grid-flow-col items-stretch gap-3 overflow-x-auto overflow-y-hidden pb-2`,children:g.map(t=>(0,B.jsx)($e,{state:t,startedProgress:y.get(t.id)??null,view:r,includeDeleted:s,onOpenWorkItem:e},t.id))}):null,(0,B.jsx)(Ye,{open:d,onOpenChange:f,projectId:n,states:g})]})}var tt=e=>[`project-agreement`,e],nt=e=>[`project-skills`,e];function rt(e){return r({queryKey:tt(e??``),enabled:!!e,queryFn:async()=>await n.projects.getAgreement(e)})}function it(e){return r({queryKey:nt(e??``),enabled:!!e,queryFn:async()=>await n.projects.listProjectSkills(e)})}function at(e){return e===`overview`||e===`work`||e===`artifacts`||e===`skills`||e===`agreement`}var ot=[`overview`,`work`,`artifacts`,`skills`,`agreement`];function st({resourceId:e,resourceWorkId:t}={}){let n=w(),{projectId:r,tab:i}=f(),a=e??r,[o,s]=(0,z.useState)(`overview`),c=e?o:i,l=d(),{state:u}=p(),_=g(),{isMobile:v}=ie(),y=h(),b=e=>n.pageResourceManager.open(S(`project-work`,JSON.stringify([a,e]),e),`default`,l),x=y.data?.projects??[],C=x.find(e=>e.id===a)??null,T=at(c)?c:null,E=rt(T===`agreement`?C?.id??null:null),D=it(T===`skills`?C?.id??null:null);if(y.isLoading)return(0,B.jsx)(`main`,{className:`flex h-full items-center justify-center p-6 text-sm text-muted-foreground`,children:M(`projectsLoading`)});if(y.isError)return(0,B.jsxs)(`main`,{className:`p-6 text-sm text-destructive`,children:[M(`projectsLoadFailed`),`: `,y.error.message]});if(e&&!C)return(0,B.jsx)(`p`,{role:`alert`,className:`p-4`,children:M(`resourceNotFound`)});if(!x.length)return(0,B.jsx)(`main`,{className:`p-6 text-sm text-muted-foreground`,children:M(`projectsEmpty`)});if(!C||!T)return(0,B.jsxs)(`main`,{className:`space-y-3 p-4 text-sm text-muted-foreground sm:p-6`,children:[(0,B.jsx)(`label`,{htmlFor:`project-home-selection`,className:`block font-medium text-foreground`,children:M(`projectsChoose`)}),(0,B.jsxs)(`select`,{id:`project-home-selection`,value:``,onChange:e=>l(`/projects/${encodeURIComponent(e.target.value)}/overview`,{state:u}),className:`min-h-11 w-full rounded-xl border border-border bg-card px-3 text-base text-foreground`,children:[(0,B.jsx)(`option`,{value:``,disabled:!0,children:M(`projectsChoose`)}),x.map(e=>(0,B.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]});let O=(e,t)=>_.chatThreadManager.openFilePreview({path:e,label:t,viewMode:`preview`,previewViewer:`rendered`});return t?(0,B.jsx)(Ke,{embedded:!0,projectId:C.id,projectRoot:C.rootPath,workItemId:t,onOpenChange:e=>{e||l(`/projects/${encodeURIComponent(C.id)}/work`)},onOpenArtifact:O}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`main`,{className:`h-full min-w-0 flex-1 overflow-y-auto p-3 sm:p-4 md:p-6`,children:(0,B.jsxs)(`div`,{className:`mx-auto max-w-6xl space-y-4`,children:[(0,B.jsxs)(`header`,{className:`rounded-2xl border border-border/60 bg-card p-3 sm:p-4`,children:[(0,B.jsx)(`h1`,{className:`text-lg font-semibold`,children:C.name}),(0,B.jsx)(`p`,{className:`mt-1 break-all text-xs text-muted-foreground`,children:C.rootPath})]}),(0,B.jsxs)(ye,{value:T,onValueChange:t=>e&&at(t)?s(t):l(`/projects/${encodeURIComponent(C.id)}/${t}`,{state:u}),children:[(0,B.jsx)(`div`,{className:`min-w-0 overflow-x-auto pb-1`,children:(0,B.jsx)(ve,{className:`w-max`,children:ot.map(e=>(0,B.jsx)(_e,{value:e,children:M(`projects${e[0].toUpperCase()}${e.slice(1)}`)},e))})}),(0,B.jsx)(N,{value:`overview`,className:`mt-4`,children:(0,B.jsx)(We,{projectId:C.id,onOpenArtifact:(e,t)=>O(Q(C.rootPath,e),t),onOpenWorkItem:b})}),(0,B.jsx)(N,{value:`work`,className:`mt-4`,children:(0,B.jsx)(et,{projectId:C.id,onOpenWorkItem:b})}),(0,B.jsx)(N,{value:`artifacts`,className:`mt-4`,children:(0,B.jsx)(He,{projectId:C.id,onOpenFile:(e,t)=>O(Q(C.rootPath,e),t)})}),(0,B.jsx)(N,{value:`skills`,className:`mt-4`,children:(0,B.jsx)(Ge,{skills:D.data??[],isLoading:D.isLoading,isError:D.isError,onOpen:e=>n.pageResourceManager.open(S(`skill`,e.ref,e.name),`default`,l)})}),(0,B.jsx)(N,{value:`agreement`,className:`mt-4`,children:(0,B.jsx)(Ae,{agreement:E.data,isLoading:E.isLoading,isError:E.isError,onOpenFile:(e,t)=>O(Q(C.rootPath,e),t)})})]})]})}),!e&&(0,B.jsx)(m,{layoutMode:v?`mobile`:`desktop`,sessionKey:null,projectRoot:C.rootPath})]})}export{st as ProjectsPage};
1
+ import{i as e}from"./chunk-DF37yw5_.js";import{Gt as t,Lt as n,Qn as r,Xn as i,Yt as a,Zn as o,lr as s,qn as c,ur as l,xr as u}from"./api-CXWxExzS.js";import{d,f,l as p}from"./navigation-link-O9Wm0epj.js";import{G as m,Ut as h,Yt as g,_t as _,f as v,gt as y,ht as b,in as x,m as S,mt as C,n as w,pt as T,rn as E,vt as D,yt as O}from"./app-presenter-provider-DdD2Q7jZ.js";import{t as k}from"./createLucideIcon-C3LSyx-e.js";import{ht as A,rt as ee}from"./context-menu-C0qywo73.js";import{R as te,z as j}from"./dist-D9h2cWk3.js";import{t as ne}from"./circle-dashed-KGwElDWV.js";import{t as re}from"./external-link-DZzwHRHW.js";import{t as ie}from"./use-viewport-layout-Bnm5W5Qz.js";import{t as ae}from"./plus-C42o6xrD.js";import{t as oe}from"./settings-2-D3-m8a3v.js";import{t as se}from"./trash-2-BVQs-0ji.js";import{n as ce,r as le,s as M,t as ue}from"./i18n-ByVUrt9w.js";import{a as de,i as fe,n as pe,o as me,r as he,t as ge}from"./dialog-DMKYZDFu.js";import{a as _e,i as ve,n as ye,r as N}from"./tag-chip-DFzDSvcF.js";import{t as be}from"./confirm-dialog-jz2cQKId.js";import{a as P,i as F,n as I,r as L,t as R}from"./select-BJ-EjmCz.js";import{a as xe,i as Se,n as Ce,t as we}from"./card-eFBmxYiI.js";var Te=k(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Ee=k(`Circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),De=k(`LayoutGrid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Oe=k(`List`,[[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 18h.01`,key:`1tta3j`}],[`path`,{d:`M3 6h.01`,key:`1rqtza`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 18h13`,key:`1lx6n3`}],[`path`,{d:`M8 6h13`,key:`ik3vkj`}]]),ke=k(`Unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),z=e(u(),1),B=l();function V({title:e,children:t,className:n=``}){return(0,B.jsxs)(we,{hover:!1,surface:`flat`,className:n,children:[(0,B.jsx)(Se,{className:`p-4 pb-3`,children:(0,B.jsx)(xe,{children:e})}),(0,B.jsx)(Ce,{className:`p-4 pt-0`,children:t})]})}function H({children:e}){return(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:e})}function U({available:e,children:t,className:n,label:r,onOpen:i,path:a}){return e?(0,B.jsx)(`button`,{type:`button`,className:n,title:a,onClick:()=>i(a,r),children:t}):(0,B.jsx)(`div`,{className:n,children:t})}function Ae({agreement:e,isLoading:t,isError:n,onOpenFile:r}){return(0,B.jsxs)(V,{title:M(`projectsAgreementFile`),children:[(0,B.jsx)(`p`,{className:`mb-4 text-sm text-muted-foreground`,children:M(`projectsAgreementDescription`)}),t?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):n?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):e?.available?(0,B.jsxs)(U,{available:!0,path:e.path,label:e.path,onOpen:r,className:`block w-full rounded-xl bg-muted/45 p-3 text-left transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsx)(`span`,{className:`block text-sm font-medium`,children:e.path}),(0,B.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:M(`projectsAgreementOpen`)})]}):(0,B.jsx)(H,{children:M(`projectsNoAgreement`)})]})}var W=e=>[`project-work`,e],G=e=>[`project-work-summary`,e],K=e=>[`project-work-states`,e],q=e=>[`project-work-artifacts`,e],J=(e,t)=>[`project-work-item`,e,t],Y=(e,t)=>[`project-work-activity`,e,t];function je(e,t={}){return x({queryKey:[...W(e??``),t],enabled:!!e,initialPageParam:null,queryFn:async({pageParam:r})=>await n.projects.listWork(e,{...t,...r?{cursor:r}:{}}),getNextPageParam:e=>e.nextCursor})}function Me(e){return r({queryKey:G(e??``),enabled:!!e,queryFn:async()=>await n.projects.getWorkSummary(e)})}function Ne(e){return r({queryKey:K(e??``),enabled:!!e,queryFn:async()=>await n.projects.listWorkStates(e)})}function Pe(e,t={}){return x({queryKey:[...q(e??``),t],enabled:!!e,initialPageParam:null,queryFn:async({pageParam:r})=>await n.projects.listRecentWorkArtifacts(e,{...t,...r?{cursor:r}:{}}),getNextPageParam:e=>e.nextCursor})}function Fe(e,t){return r({queryKey:J(e??``,t??``),enabled:!!(e&&t),queryFn:async()=>await n.projects.getWorkItem(e,t)})}function Ie(e,t){return r({queryKey:Y(e??``,t??``),enabled:!!(e&&t),queryFn:async()=>await n.projects.listWorkItemActivities(e,t,{limit:100})})}function X(e){let t=s(),r=async n=>{await Promise.all([t.invalidateQueries({queryKey:W(e)}),t.invalidateQueries({queryKey:G(e)}),t.invalidateQueries({queryKey:K(e)}),t.invalidateQueries({queryKey:q(e)}),...n?[t.invalidateQueries({queryKey:J(e,n)}),t.invalidateQueries({queryKey:Y(e,n)})]:[]])};return{createItem:o({mutationFn:async t=>await n.projects.createWorkItem(e,t),onSuccess:async e=>await r(e.id)}),updateItem:o({mutationFn:async t=>await n.projects.updateWorkItem(e,t.workItemId,t.patch),onSuccess:async e=>await r(e.id)}),deleteItem:o({mutationFn:async t=>await n.projects.deleteWorkItem(e,t),onSuccess:async e=>await r(e.id)}),restoreItem:o({mutationFn:async t=>await n.projects.restoreWorkItem(e,t),onSuccess:async e=>await r(e.id)}),linkArtifact:o({mutationFn:async t=>await n.projects.linkWorkItemArtifact(e,t.workItemId,{path:t.path,...t.label?{label:t.label}:{}}),onSuccess:async(e,t)=>await r(t.workItemId)}),unlinkArtifact:o({mutationFn:async t=>await n.projects.unlinkWorkItemArtifact(e,t.workItemId,t.artifactLinkId),onSuccess:async(e,t)=>await r(t.workItemId)}),createState:o({mutationFn:async t=>await n.projects.createWorkState(e,t),onSuccess:async()=>await r()}),updateState:o({mutationFn:async t=>await n.projects.updateWorkState(e,t.stateId,t.patch),onSuccess:async()=>await r()}),deleteState:o({mutationFn:async t=>await n.projects.deleteWorkState(e,t.stateId,t.migrateToStateId),onSuccess:async()=>await r()})}}function Z(e){let t=s();(0,z.useEffect)(()=>{if(e)return n.eventBus.on(c.projectWorkChanged,n=>{n.projectId===e&&(t.invalidateQueries({queryKey:W(e)}),t.invalidateQueries({queryKey:G(e)}),t.invalidateQueries({queryKey:K(e)}),t.invalidateQueries({queryKey:q(e)}),n.workItemId&&(t.invalidateQueries({queryKey:J(e,n.workItemId)}),t.invalidateQueries({queryKey:Y(e,n.workItemId)})))})},[e,t])}function Le(e){return[...e].sort((e,t)=>e.position-t.position||e.name.localeCompare(t.name))}var Re={started:0,unstarted:1,backlog:2,completed:3,canceled:4};function ze(e){return[...e].sort((e,t)=>{let n=Re[e.category]-Re[t.category];return n===0?e.category===`completed`||e.category===`canceled`?e.position-t.position||e.name.localeCompare(t.name):t.position-e.position||e.name.localeCompare(t.name):n})}function Q(e,t){return`${e}${e.endsWith(`/`)||e.endsWith(`\\`)?``:`/`}${t}`}function Be(e,t=new Date){if(!e)return`-`;let n=new Date(e),r=t.getTime()-n.getTime();if(Number.isNaN(n.getTime()))return e;if(r<6e4)return M(`projectsTimeJustNow`);let i=Math.floor(r/6e4);if(i<60)return M(`projectsTimeMinutesAgo`).replace(`{count}`,String(i));let a=Math.floor(i/60);if(a<24)return M(`projectsTimeHoursAgo`).replace(`{count}`,String(a));let o=Math.floor(a/24);return o===1?M(`projectsTimeYesterday`):o<7?M(`projectsTimeDaysAgo`).replace(`{count}`,String(o)):ue(e)}var Ve=20;function He({projectId:e,onOpenFile:t}){let[n,r]=(0,z.useState)(``),i=Pe(e,{limit:Ve,...n.trim()?{query:n.trim()}:{}}),a=i.data?.pages??[],o=a.flatMap(e=>e.artifacts),s=a[0]?.total??0;return i.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):i.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):(0,B.jsxs)(`section`,{className:`min-w-0`,"aria-label":M(`projectsArtifacts`),children:[(0,B.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center justify-between gap-3`,children:[(0,B.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[le(s),` `,M(`projectsArtifactsCountSuffix`)]}),(0,B.jsx)(`input`,{type:`search`,value:n,className:`h-8 w-full min-w-0 rounded-lg border border-border/60 bg-transparent px-3 text-sm outline-none placeholder:text-muted-foreground sm:w-60`,placeholder:M(`projectsArtifactsSearchPlaceholder`),onChange:e=>r(e.target.value)})]}),o.length?(0,B.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/60`,children:[(0,B.jsx)(`div`,{className:`divide-y divide-border/60`,children:o.map(e=>(0,B.jsxs)(U,{available:e.exists,path:e.path,label:e.label??e.path,onOpen:t,className:`flex w-full min-w-0 items-center gap-3 px-3 py-3 text-left text-sm transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`span`,{className:`block truncate font-medium`,children:e.label??e.path}),(0,B.jsxs)(`span`,{className:`mt-1 block truncate text-xs text-muted-foreground`,children:[e.path,` · `,e.workItemTitle]})]}),(0,B.jsx)(`time`,{className:`shrink-0 text-xs text-muted-foreground`,dateTime:e.createdAt,title:ce(e.createdAt),children:Be(e.createdAt)}),e.exists?null:(0,B.jsx)(`span`,{className:`shrink-0 text-xs text-destructive`,children:M(`projectsUnavailable`)})]},e.id))}),i.hasNextPage?(0,B.jsx)(`button`,{type:`button`,className:`w-full border-t border-border/60 px-3 py-2.5 text-left text-sm text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,disabled:i.isFetchingNextPage,onClick:()=>void i.fetchNextPage(),children:i.isFetchingNextPage?M(`projectsLoading`):M(`projectsArtifactsShowMore`)}):null]}):(0,B.jsx)(H,{children:n.trim()?M(`projectsArtifactsNoMatches`):M(`projectsNoArtifacts`)})]})}var Ue={Backlog:`projectsWorkState_backlog`,Planned:`projectsWorkState_planned`,"In Progress":`projectsWorkState_inProgress`,"In Review":`projectsWorkState_inReview`,"Awaiting Acceptance":`projectsWorkState_awaitingAcceptance`,Completed:`projectsWorkState_completed`,Canceled:`projectsWorkState_canceled`};function $(e,t){let n=Ue[e];return n?t?M(n,t):M(n):e}function We({projectId:e,onOpenArtifact:t,onOpenWorkItem:n}){Z(e);let r=Me(e),i=je(e,{limit:5}),a=Pe(e,{limit:5}),o=a.data?.pages[0]?.artifacts??[],s=i.data?.pages.flatMap(e=>e.items).slice(0,5)??[];return(0,B.jsxs)(`div`,{className:`space-y-5`,children:[(0,B.jsx)(`section`,{className:`grid grid-cols-2 gap-3 lg:grid-cols-4`,"aria-label":M(`projectsWorkSummary`),children:r.data?[[`projectsWorkTotal`,r.data.total],[`projectsWorkActive`,r.data.active],[`projectsWorkNeedsAttention`,r.data.attention],[`projectsWorkCompleted`,r.data.completed]].map(([e,t])=>(0,B.jsxs)(`div`,{className:`rounded-xl border border-border/60 bg-card p-4`,children:[(0,B.jsx)(`div`,{className:`text-2xl font-semibold`,children:t}),(0,B.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:M(e)})]},e)):(0,B.jsx)(`div`,{className:`col-span-full rounded-xl border border-border/60 p-5 text-sm text-muted-foreground`,children:r.isError?M(`projectsLoadFailed`):M(`projectsLoading`)})}),(0,B.jsxs)(`div`,{className:`grid min-w-0 gap-4 lg:grid-cols-2`,children:[(0,B.jsx)(V,{title:M(`projectsWorkRecentlyUpdated`),children:i.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):i.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):s.length?(0,B.jsx)(`div`,{className:`space-y-2`,children:s.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-3 rounded-xl bg-muted/45 px-3 py-3 text-left transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>n(e.id),children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium`,children:e.title}),(0,B.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:$(e.state.name)})]},e.id))}):(0,B.jsx)(H,{children:M(`projectsWorkEmpty`)})}),(0,B.jsx)(V,{title:M(`projectsRecentArtifacts`),children:a.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):a.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):o.length?(0,B.jsx)(`div`,{className:`space-y-2`,children:o.map(e=>(0,B.jsxs)(U,{available:e.exists,path:e.path,label:e.label??e.path,onOpen:t,className:`block w-full rounded-xl bg-muted/45 p-3 text-left text-sm transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsx)(`span`,{className:`block truncate font-medium`,children:e.label??e.path}),(0,B.jsxs)(`span`,{className:`mt-1 block truncate text-xs text-muted-foreground`,children:[e.workItemTitle,(0,B.jsx)(`time`,{dateTime:e.createdAt,title:ce(e.createdAt),children:` · ${Be(e.createdAt)}`}),e.exists?``:` · ${M(`projectsUnavailable`)}`]})]},e.id))}):(0,B.jsx)(H,{children:M(`projectsNoRecentArtifacts`)})})]})]})}function Ge({skills:e,isLoading:t,isError:n,onOpen:r}){return t?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):n?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)}):(0,B.jsxs)(`section`,{className:`min-w-0`,"aria-label":M(`projectsSkills`),children:[(0,B.jsxs)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:[le(e.length),` `,M(`projectsSkillsCountSuffix`)]}),e.length?(0,B.jsx)(`div`,{className:`grid min-w-0 gap-3 md:grid-cols-2`,children:e.map(e=>(0,B.jsxs)(`div`,{className:`relative group/page-row rounded-xl border border-border/60 transition-colors hover:border-border hover:bg-[var(--interaction-hover)] focus-within:bg-[var(--interaction-hover)] has-[[data-context-menu-open]]:bg-[var(--interaction-hover)]`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`w-full min-w-0 rounded-xl p-3 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>r(e),children:[(0,B.jsx)(`h3`,{className:`pr-7 text-sm font-medium`,children:e.name}),(0,B.jsx)(`p`,{className:`mt-1 truncate text-xs text-muted-foreground`,title:e.path,children:e.path}),(0,B.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs text-muted-foreground`,title:e.description??e.ref,children:e.description??e.ref})]}),(0,B.jsx)(`span`,{className:`absolute right-2 top-2`,children:(0,B.jsx)(v,{revealOnHover:!0,page:S(`skill`,e.ref,e.name)})})]},e.ref))}):(0,B.jsx)(H,{children:M(`projectsNoSkills`)})]})}function Ke({embedded:e=!1,onOpenArtifact:t,onOpenChange:n,projectId:r,projectRoot:i,workItemId:a}){let o=Fe(r,a),s=Ie(r,a);Z(r);let c=Ne(r),l=(0,B.jsxs)(B.Fragment,{children:[o.isLoading?(0,B.jsx)(`div`,{className:`p-6 text-sm text-muted-foreground`,children:M(`projectsLoading`)}):null,o.isError?(0,B.jsx)(`div`,{className:`p-6 text-sm text-destructive`,children:M(`projectsWorkItemLoadFailed`)}):null,o.data?(0,B.jsx)(qe,{item:o.data,states:c.data??[],activities:s.data?.activities??[],onOpenArtifact:(e,n)=>t(Q(i,e),n),onClose:()=>n(!1)},`${o.data.id}:${o.data.version}`):null]});return(0,B.jsx)(C,{open:!e&&!!a,onOpenChange:n,children:e?(0,B.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:l}):(0,B.jsx)(b,{side:`right`,closeLabel:M(`projectsCloseDetails`),className:`flex h-full w-full flex-col overflow-hidden p-0 sm:max-w-[680px]`,children:l})})}function qe({activities:e,item:n,onClose:r,onOpenArtifact:o,states:s}){let c=X(n.projectId),[l,u]=(0,z.useState)(n.title),[d,f]=(0,z.useState)(n.description),[p,m]=(0,z.useState)(n.stateId),[h,g]=(0,z.useState)(n.attention),[b,x]=(0,z.useState)(``),[C,w]=(0,z.useState)(``),[E,k]=(0,z.useState)(!1),A=async(e,t)=>{try{await e(),t?.()}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkActionFailed`))}},te=async()=>{try{await c.updateItem.mutateAsync({workItemId:n.id,patch:{title:l,description:d,stateId:p,attention:h,expectedVersion:n.version}}),i.success(M(`projectsWorkItemSaved`))}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkItemSaveFailed`))}},j=async()=>{if(b.trim())try{await c.linkArtifact.mutateAsync({workItemId:n.id,path:b.trim(),...C.trim()?{label:C.trim()}:{}}),x(``),w(``)}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkArtifactLinkFailed`))}};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(D,{className:`shrink-0 border-b border-border/60 px-5 pb-5 pt-6 pr-14 sm:px-7 sm:pt-7`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(O,{children:M(`projectsWorkDetails`)}),(0,B.jsx)(v,{page:S(`project-work`,JSON.stringify([n.projectId,n.id]),n.title)})]}),(0,B.jsxs)(y,{children:[n.id,` · `,M(`projectsWorkVersion`),` `,n.version]})]}),(0,B.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-6 overflow-y-auto px-5 py-6 sm:px-7`,children:[(0,B.jsxs)(`section`,{className:`space-y-3`,children:[(0,B.jsx)(`label`,{className:`block text-xs font-medium text-muted-foreground`,children:M(`projectsWorkTitle`)}),(0,B.jsx)(t,{value:l,onChange:e=>u(e.target.value)}),(0,B.jsx)(`label`,{className:`block text-xs font-medium text-muted-foreground`,children:M(`projectsWorkDescription`)}),(0,B.jsx)(T,{className:`min-h-28`,value:d,onChange:e=>f(e.target.value)}),(0,B.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-muted-foreground`,children:M(`projectsStatus`)}),(0,B.jsxs)(R,{value:p,onValueChange:m,children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:s.map(e=>(0,B.jsx)(L,{value:e.id,children:$(e.name)},e.id))})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-muted-foreground`,children:M(`projectsWorkAttention`)}),(0,B.jsxs)(R,{value:h,onValueChange:e=>g(e),children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsxs)(I,{children:[(0,B.jsx)(L,{value:`none`,children:M(`projectsWorkAttention_none`)}),(0,B.jsx)(L,{value:`blocked`,children:M(`projectsWorkAttention_blocked`)}),(0,B.jsx)(L,{value:`awaiting-user`,children:M(`projectsWorkAttention_awaiting-user`)})]})]})]})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{className:`mb-3 text-sm font-semibold`,children:M(`projectsWorkArtifacts`)}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[n.artifacts.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl border border-border/60 p-2`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`min-w-0 flex-1 rounded-lg px-2 py-1 text-left hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>o(e.path,e.label??e.path),children:[(0,B.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-sm font-medium`,children:[(0,B.jsx)(re,{className:`h-3.5 w-3.5 shrink-0`}),e.label??e.path]}),(0,B.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.path})]}),(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsWorkUnlinkArtifact`),onClick:()=>void A(()=>c.unlinkArtifact.mutateAsync({workItemId:n.id,artifactLinkId:e.id})),children:(0,B.jsx)(ke,{className:`h-4 w-4`})})]},e.id)),n.artifacts.length?null:(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:M(`projectsWorkNoArtifacts`)})]}),(0,B.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-[1fr_12rem_auto]`,children:[(0,B.jsx)(t,{value:b,onChange:e=>x(e.target.value),placeholder:M(`projectsWorkArtifactPath`)}),(0,B.jsx)(t,{value:C,onChange:e=>w(e.target.value),placeholder:M(`projectsWorkArtifactLabel`)}),(0,B.jsxs)(a,{variant:`outline`,onClick:()=>void j(),disabled:!b.trim()||c.linkArtifact.isPending,children:[(0,B.jsx)(ee,{className:`mr-2 h-4 w-4`}),M(`projectsWorkLinkArtifact`)]})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{className:`mb-3 text-sm font-semibold`,children:M(`projectsActivity`)}),(0,B.jsx)(`ol`,{className:`space-y-2`,children:e.map(e=>(0,B.jsxs)(`li`,{className:`rounded-xl bg-muted/35 px-3 py-2 text-sm`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:M(`projectsWorkActivity_${e.type}`)}),(0,B.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[e.actor.kind,` ·`,` `,new Date(e.createdAt).toLocaleString()]})]},e.id))})]})]}),(0,B.jsxs)(_,{className:`shrink-0 border-t border-border/60 bg-background px-5 py-4 sm:px-7`,children:[n.deletedAt?(0,B.jsx)(a,{variant:`outline`,onClick:()=>void A(()=>c.restoreItem.mutateAsync(n.id)),children:M(`projectsRestore`)}):(0,B.jsxs)(a,{variant:`destructive`,onClick:()=>k(!0),children:[(0,B.jsx)(se,{className:`mr-2 h-4 w-4`}),M(`projectsDelete`)]}),(0,B.jsx)(a,{onClick:()=>void te(),disabled:!l.trim()||c.updateItem.isPending,children:M(`save`)})]}),(0,B.jsx)(be,{open:E,onOpenChange:k,title:M(`projectsDeleteWorkItem`),description:M(`projectsDeleteWorkItemDescription`),confirmLabel:M(`projectsDelete`),variant:`destructive`,onCancel:()=>k(!1),onConfirm:()=>void A(()=>c.deleteItem.mutateAsync(n.id),r)})]})}var Je=[`backlog`,`unstarted`,`started`,`completed`,`canceled`];function Ye({open:e,onOpenChange:n,projectId:r,states:o}){let s=X(r),c=Le(o),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(`unstarted`),[p,m]=(0,z.useState)(null),[h,g]=(0,z.useState)(``),_=async e=>{try{await e()}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkActionFailed`))}},v=async()=>{l.trim()&&await _(async()=>{await s.createState.mutateAsync({name:l.trim(),category:d}),u(``)})},y=async(e,t)=>{let n=c[e],r=c[e+t];!n||!r||await _(async()=>{await s.updateState.mutateAsync({stateId:n.id,patch:{position:r.position}}),await s.updateState.mutateAsync({stateId:r.id,patch:{position:n.position}})})};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(ge,{open:e,onOpenChange:n,children:(0,B.jsxs)(pe,{className:`max-h-[85vh] overflow-y-auto sm:max-w-2xl`,children:[(0,B.jsxs)(de,{children:[(0,B.jsx)(me,{children:M(`projectsWorkStateSettings`)}),(0,B.jsx)(he,{children:M(`projectsWorkStateSettingsDescription`)})]}),(0,B.jsx)(`div`,{className:`space-y-2`,children:c.map((e,n)=>(0,B.jsxs)(`div`,{className:`grid gap-2 rounded-xl border border-border/60 p-3 sm:grid-cols-[1fr_11rem_auto]`,children:[(0,B.jsx)(t,{"aria-label":M(`projectsWorkStateName`),defaultValue:$(e.name),onBlur:t=>{let n=t.currentTarget.value.trim();n&&n!==$(e.name)&&_(()=>s.updateState.mutateAsync({stateId:e.id,patch:{name:n}}))}}),(0,B.jsxs)(R,{value:e.category,onValueChange:t=>void _(()=>s.updateState.mutateAsync({stateId:e.id,patch:{category:t}})),children:[(0,B.jsx)(F,{"aria-label":M(`projectsWorkStateCategory`),children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:Je.map(e=>(0,B.jsx)(L,{value:e,children:M(`projectsWorkCategory_${e}`)},e))})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsMoveUp`),disabled:n===0,onClick:()=>void y(n,-1),children:(0,B.jsx)(te,{className:`h-4 w-4`})}),(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsMoveDown`),disabled:n===c.length-1,onClick:()=>void y(n,1),children:(0,B.jsx)(j,{className:`h-4 w-4`})}),(0,B.jsx)(a,{size:`icon`,variant:`ghost`,"aria-label":M(`projectsDeleteState`),disabled:c.length<=1,onClick:()=>{m(e),g(``)},children:(0,B.jsx)(se,{className:`h-4 w-4`})})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-muted-foreground sm:col-span-3`,children:[(0,B.jsx)(`input`,{type:`radio`,name:`default-state`,checked:e.isDefault,onChange:()=>void _(()=>s.updateState.mutateAsync({stateId:e.id,patch:{isDefault:!0}}))}),M(`projectsWorkDefaultState`)]})]},e.id))}),(0,B.jsxs)(`div`,{className:`grid gap-2 border-t border-border/60 pt-4 sm:grid-cols-[1fr_11rem_auto]`,children:[(0,B.jsx)(t,{value:l,onChange:e=>u(e.target.value),placeholder:M(`projectsWorkNewState`)}),(0,B.jsxs)(R,{value:d,onValueChange:e=>f(e),children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:Je.map(e=>(0,B.jsx)(L,{value:e,children:M(`projectsWorkCategory_${e}`)},e))})]}),(0,B.jsxs)(a,{onClick:()=>void v(),disabled:!l.trim()||s.createState.isPending,children:[(0,B.jsx)(ae,{className:`mr-2 h-4 w-4`}),M(`projectsAdd`)]})]})]})}),(0,B.jsx)(ge,{open:!!p,onOpenChange:e=>{e||m(null)},children:(0,B.jsxs)(pe,{children:[(0,B.jsxs)(de,{children:[(0,B.jsx)(me,{children:M(`projectsDeleteState`)}),(0,B.jsx)(he,{children:M(`projectsDeleteStateDescription`)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:M(`projectsWorkStateMigration`)}),(0,B.jsxs)(R,{value:h,onValueChange:g,children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{placeholder:M(`projectsWorkStateMigrationOptional`)})}),(0,B.jsx)(I,{children:c.filter(e=>e.id!==p?.id).map(e=>(0,B.jsx)(L,{value:e.id,children:$(e.name)},e.id))})]})]}),(0,B.jsxs)(fe,{children:[(0,B.jsx)(a,{variant:`outline`,onClick:()=>m(null),children:M(`cancel`)}),(0,B.jsx)(a,{variant:`destructive`,onClick:()=>{p&&_(async()=>{await s.deleteState.mutateAsync({stateId:p.id,migrateToStateId:h||null}),m(null)})},children:M(`projectsDelete`)})]})]})})]})}function Xe({startedProgress:e,state:t}){if(t.category===`backlog`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`backlog`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground/65`,children:(0,B.jsx)(ne,{className:`h-4 w-4`})});if(t.category===`unstarted`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`unstarted`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground`,children:(0,B.jsx)(Ee,{className:`h-4 w-4`,strokeWidth:2})});if(t.category===`completed`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`completed`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-emerald-600 dark:text-emerald-400`,children:(0,B.jsx)(E,{className:`h-4 w-4`,strokeWidth:2.25})});if(t.category===`canceled`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`canceled`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground/65`,children:(0,B.jsx)(Te,{className:`h-4 w-4`})});let n=Math.round((e??.5)*100),r=n>=67?`text-emerald-600 dark:text-emerald-400`:n>=40?`text-orange-500 dark:text-orange-400`:`text-amber-500 dark:text-amber-400`;return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`started`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center ${r}`,children:(0,B.jsxs)(`svg`,{className:`h-4 w-4`,viewBox:`0 0 16 16`,fill:`none`,children:[(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`5.5`,stroke:`currentColor`,strokeWidth:`1.75`,opacity:`0.22`}),(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`5.5`,pathLength:`100`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:`${n} ${100-n}`,transform:`rotate(-90 8 8)`})]})})}function Ze({item:e,onOpen:t}){return(0,B.jsxs)(`button`,{type:`button`,className:`w-full rounded-xl border border-border/50 bg-card p-3 text-left text-sm shadow-sm transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:t,children:[(0,B.jsx)(`span`,{className:`block font-medium`,children:e.title}),(0,B.jsxs)(`span`,{className:`mt-1 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:$(e.state.name)}),e.attention===`none`?null:(0,B.jsx)(`span`,{className:`rounded-full bg-amber-500/15 px-2 py-0.5 text-amber-700 dark:text-amber-300`,children:M(`projectsWorkAttention_${e.attention}`)}),e.deletedAt?(0,B.jsx)(`span`,{children:M(`projectsDeleted`)}):null]})]})}function Qe({hasNextPage:e,isError:t,isFetchingNextPage:n,isLoading:r,items:i,onLoadMore:o,onOpenWorkItem:s}){return r?(0,B.jsx)(`p`,{className:`py-3 text-xs text-muted-foreground`,children:M(`projectsLoading`)}):t?(0,B.jsx)(`p`,{className:`py-3 text-xs text-destructive`,children:M(`projectsLoadFailed`)}):(0,B.jsxs)(B.Fragment,{children:[i.length?i.map(e=>(0,B.jsx)(Ze,{item:e,onOpen:()=>s(e.id)},e.id)):(0,B.jsx)(`p`,{className:`py-3 text-xs text-muted-foreground`,children:M(`projectsNoData`)}),e?(0,B.jsx)(a,{type:`button`,variant:`ghost`,size:`sm`,className:`w-full`,disabled:n,onClick:o,children:M(n?`projectsLoading`:`projectsWorkLoadMore`)}):null]})}function $e({includeDeleted:e,onOpenWorkItem:t,state:n,startedProgress:r,view:i}){let[a,o]=(0,z.useState)(!1),s=je(n.projectId,{stateId:n.id,includeDeleted:e,limit:20}),c=s.data?.pages.flatMap(e=>e.items)??[],l=s.data?.pages[0]?.total;return(0,B.jsxs)(`section`,{className:i===`board`?`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`:`min-w-0`,"aria-label":$(n.name),children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full shrink-0 items-center gap-2 rounded-lg px-1 py-2 text-left transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,"aria-expanded":!a,onClick:()=>o(e=>!e),children:[a?(0,B.jsx)(A,{className:`h-4 w-4 shrink-0`}):(0,B.jsx)(j,{className:`h-4 w-4 shrink-0`}),(0,B.jsx)(Xe,{state:n,startedProgress:r}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold`,children:$(n.name)}),(0,B.jsx)(`span`,{className:`ml-0.5 shrink-0 text-xs font-medium tabular-nums text-muted-foreground`,children:l??`…`})]}),a?null:(0,B.jsx)(`div`,{className:i===`board`?`min-h-0 flex-1 space-y-2 overflow-y-auto px-1 pb-3`:`space-y-2 px-1 pb-3`,children:(0,B.jsx)(Qe,{hasNextPage:s.hasNextPage,isError:s.isError,isFetchingNextPage:s.isFetchingNextPage,isLoading:s.isLoading,items:c,onLoadMore:()=>void s.fetchNextPage(),onOpenWorkItem:t})})]})}function et({onOpenWorkItem:e,projectId:n}){let[r,o]=(0,z.useState)(`list`),[s,c]=(0,z.useState)(!1),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(!1);Z(n);let p=Ne(n),m=X(n),h=async()=>{if(l.trim())try{let t=await m.createItem.mutateAsync({title:l.trim()});u(``),e(t.id)}catch(e){i.error(e instanceof Error?e.message:M(`projectsWorkItemCreateFailed`))}};if(p.isLoading)return(0,B.jsx)(`div`,{className:`rounded-xl border border-border/60 p-5 text-sm text-muted-foreground`,children:M(`projectsLoading`)});if(p.isError)return(0,B.jsx)(`div`,{className:`rounded-xl border border-destructive/40 p-5 text-sm text-destructive`,children:M(`projectsLoadFailed`)});let g=Le(p.data??[]),_=ze(p.data??[]),v=g.filter(e=>e.category===`started`),y=new Map(v.map((e,t)=>[e.id,(t+1)/(v.length+1)]));return(0,B.jsxs)(`section`,{"aria-label":M(`projectsWork`),className:`min-w-0 space-y-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-[16rem] flex-1 gap-2`,children:[(0,B.jsx)(t,{value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&h()},placeholder:M(`projectsWorkNewItem`)}),(0,B.jsxs)(a,{onClick:()=>void h(),disabled:!l.trim()||m.createItem.isPending,children:[(0,B.jsx)(ae,{className:`mr-2 h-4 w-4`}),M(`projectsCreate`)]})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1 rounded-xl bg-muted/40 p-1`,role:`group`,"aria-label":M(`projectsWorkViews`),children:[(0,B.jsxs)(a,{size:`sm`,variant:r===`list`?`secondary`:`ghost`,"aria-pressed":r===`list`,onClick:()=>o(`list`),children:[(0,B.jsx)(Oe,{className:`mr-2 h-4 w-4`}),M(`projectsWorkList`)]}),(0,B.jsxs)(a,{size:`sm`,variant:r===`board`?`secondary`:`ghost`,"aria-pressed":r===`board`,onClick:()=>o(`board`),children:[(0,B.jsx)(De,{className:`mr-2 h-4 w-4`}),M(`projectsWorkBoard`)]})]}),(0,B.jsxs)(a,{variant:`outline`,size:`sm`,onClick:()=>f(!0),children:[(0,B.jsx)(oe,{className:`mr-2 h-4 w-4`}),M(`projectsWorkStateSettings`)]})]}),(0,B.jsxs)(`label`,{className:`flex w-fit items-center gap-2 text-xs text-muted-foreground`,children:[(0,B.jsx)(`input`,{type:`checkbox`,checked:s,onChange:e=>c(e.target.checked)}),M(`projectsWorkShowDeleted`)]}),r===`list`?(0,B.jsx)(`div`,{className:`space-y-3`,children:_.map(t=>(0,B.jsx)($e,{state:t,startedProgress:y.get(t.id)??null,view:r,includeDeleted:s,onOpenWorkItem:e},t.id))}):null,r===`board`?(0,B.jsx)(`div`,{className:`grid h-[calc(100dvh-17rem)] min-h-[28rem] max-h-[52rem] min-w-0 auto-cols-[minmax(18rem,1fr)] grid-flow-col items-stretch gap-3 overflow-x-auto overflow-y-hidden pb-2`,children:g.map(t=>(0,B.jsx)($e,{state:t,startedProgress:y.get(t.id)??null,view:r,includeDeleted:s,onOpenWorkItem:e},t.id))}):null,(0,B.jsx)(Ye,{open:d,onOpenChange:f,projectId:n,states:g})]})}var tt=e=>[`project-agreement`,e],nt=e=>[`project-skills`,e];function rt(e){return r({queryKey:tt(e??``),enabled:!!e,queryFn:async()=>await n.projects.getAgreement(e)})}function it(e){return r({queryKey:nt(e??``),enabled:!!e,queryFn:async()=>await n.projects.listProjectSkills(e)})}function at(e){return e===`overview`||e===`work`||e===`artifacts`||e===`skills`||e===`agreement`}var ot=[`overview`,`work`,`artifacts`,`skills`,`agreement`];function st({resourceId:e,resourceWorkId:t}={}){let n=w(),{projectId:r,tab:i}=f(),a=e??r,[o,s]=(0,z.useState)(`overview`),c=e?o:i,l=d(),{state:u}=p(),_=g(),{isMobile:v}=ie(),y=h(),b=e=>n.pageResourceManager.open(S(`project-work`,JSON.stringify([a,e]),e),`default`,l),x=y.data?.projects??[],C=x.find(e=>e.id===a)??null,T=at(c)?c:null,E=rt(T===`agreement`?C?.id??null:null),D=it(T===`skills`?C?.id??null:null);if(y.isLoading)return(0,B.jsx)(`main`,{className:`flex h-full items-center justify-center p-6 text-sm text-muted-foreground`,children:M(`projectsLoading`)});if(y.isError)return(0,B.jsxs)(`main`,{className:`p-6 text-sm text-destructive`,children:[M(`projectsLoadFailed`),`: `,y.error.message]});if(e&&!C)return(0,B.jsx)(`p`,{role:`alert`,className:`p-4`,children:M(`resourceNotFound`)});if(!x.length)return(0,B.jsx)(`main`,{className:`p-6 text-sm text-muted-foreground`,children:M(`projectsEmpty`)});if(!C||!T)return(0,B.jsxs)(`main`,{className:`space-y-3 p-4 text-sm text-muted-foreground sm:p-6`,children:[(0,B.jsx)(`label`,{htmlFor:`project-home-selection`,className:`block font-medium text-foreground`,children:M(`projectsChoose`)}),(0,B.jsxs)(`select`,{id:`project-home-selection`,value:``,onChange:e=>l(`/projects/${encodeURIComponent(e.target.value)}/overview`,{state:u}),className:`min-h-11 w-full rounded-xl border border-border bg-card px-3 text-base text-foreground`,children:[(0,B.jsx)(`option`,{value:``,disabled:!0,children:M(`projectsChoose`)}),x.map(e=>(0,B.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]});let O=(e,t)=>_.chatThreadManager.openFilePreview({path:e,label:t,viewMode:`preview`,previewViewer:`rendered`});return t?(0,B.jsx)(Ke,{embedded:!0,projectId:C.id,projectRoot:C.rootPath,workItemId:t,onOpenChange:e=>{e||l(`/projects/${encodeURIComponent(C.id)}/work`)},onOpenArtifact:O}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`main`,{className:`h-full min-w-0 flex-1 overflow-y-auto p-3 sm:p-4 md:p-6`,children:(0,B.jsxs)(`div`,{className:`mx-auto max-w-6xl space-y-4`,children:[(0,B.jsxs)(`header`,{className:`rounded-2xl border border-border/60 bg-card p-3 sm:p-4`,children:[(0,B.jsx)(`h1`,{className:`text-lg font-semibold`,children:C.name}),(0,B.jsx)(`p`,{className:`mt-1 break-all text-xs text-muted-foreground`,children:C.rootPath})]}),(0,B.jsxs)(ye,{value:T,onValueChange:t=>e&&at(t)?s(t):l(`/projects/${encodeURIComponent(C.id)}/${t}`,{state:u}),children:[(0,B.jsx)(`div`,{className:`min-w-0 overflow-x-auto pb-1`,children:(0,B.jsx)(ve,{className:`w-max`,children:ot.map(e=>(0,B.jsx)(_e,{value:e,children:M(`projects${e[0].toUpperCase()}${e.slice(1)}`)},e))})}),(0,B.jsx)(N,{value:`overview`,className:`mt-4`,children:(0,B.jsx)(We,{projectId:C.id,onOpenArtifact:(e,t)=>O(Q(C.rootPath,e),t),onOpenWorkItem:b})}),(0,B.jsx)(N,{value:`work`,className:`mt-4`,children:(0,B.jsx)(et,{projectId:C.id,onOpenWorkItem:b})}),(0,B.jsx)(N,{value:`artifacts`,className:`mt-4`,children:(0,B.jsx)(He,{projectId:C.id,onOpenFile:(e,t)=>O(Q(C.rootPath,e),t)})}),(0,B.jsx)(N,{value:`skills`,className:`mt-4`,children:(0,B.jsx)(Ge,{skills:D.data??[],isLoading:D.isLoading,isError:D.isError,onOpen:e=>n.pageResourceManager.open(S(`skill`,e.ref,e.name),`default`,l)})}),(0,B.jsx)(N,{value:`agreement`,className:`mt-4`,children:(0,B.jsx)(Ae,{agreement:E.data,isLoading:E.isLoading,isError:E.isError,onOpenFile:(e,t)=>O(Q(C.rootPath,e),t)})})]})]})}),!e&&(0,B.jsx)(m,{layoutMode:v?`mobile`:`desktop`,sessionKey:null,projectRoot:C.rootPath})]})}export{st as ProjectsPage};
Binary file
@@ -0,0 +1 @@
1
+ import{F as e}from"./app-presenter-provider-DdD2Q7jZ.js";export{e as RemoteAccessPage};