@kimuson/claude-code-viewer 0.2.4 → 0.3.1

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 (178) hide show
  1. package/dist/standalone/.next/BUILD_ID +1 -1
  2. package/dist/standalone/.next/app-build-manifest.json +15 -15
  3. package/dist/standalone/.next/build-manifest.json +2 -2
  4. package/dist/standalone/.next/prerender-manifest.json +3 -3
  5. package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
  6. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  7. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/dist/standalone/.next/server/app/api/[[...route]]/route.js +3 -3
  9. package/dist/standalone/.next/server/app/api/[[...route]]/route_client-reference-manifest.js +1 -1
  10. package/dist/standalone/.next/server/app/page.js +1 -1
  11. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  12. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  13. package/dist/standalone/.next/server/app/projects/[projectId]/page.js +2 -2
  14. package/dist/standalone/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  15. package/dist/standalone/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  16. package/dist/standalone/.next/server/app/projects/[projectId]/sessions/[sessionId]/page.js +2 -2
  17. package/dist/standalone/.next/server/app/projects/[projectId]/sessions/[sessionId]/page.js.nft.json +1 -1
  18. package/dist/standalone/.next/server/app/projects/[projectId]/sessions/[sessionId]/page_client-reference-manifest.js +1 -1
  19. package/dist/standalone/.next/server/app/projects/page.js +1 -1
  20. package/dist/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  21. package/dist/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  22. package/dist/standalone/.next/server/chunks/216.js +5 -0
  23. package/dist/standalone/.next/server/chunks/440.js +5 -0
  24. package/dist/standalone/.next/server/chunks/725.js +5 -0
  25. package/dist/standalone/.next/server/chunks/744.js +5 -0
  26. package/dist/standalone/.next/server/chunks/791.js +1 -1
  27. package/dist/standalone/.next/server/chunks/8.js +9 -0
  28. package/dist/standalone/.next/server/chunks/837.js +1 -0
  29. package/dist/standalone/.next/server/chunks/842.js +9 -0
  30. package/dist/standalone/.next/server/chunks/866.js +1 -0
  31. package/dist/standalone/.next/server/chunks/880.js +1 -0
  32. package/dist/standalone/.next/server/chunks/921.js +5 -0
  33. package/dist/standalone/.next/server/chunks/946.js +1 -0
  34. package/dist/standalone/.next/server/next-font-manifest.js +1 -1
  35. package/dist/standalone/.next/server/next-font-manifest.json +1 -1
  36. package/dist/standalone/.next/server/pages/500.html +1 -1
  37. package/dist/standalone/.next/server/pages/_app/build-manifest.json +24 -0
  38. package/dist/standalone/.next/server/pages/_app/client-build-manifest.json +5 -0
  39. package/dist/standalone/.next/server/pages/_app/next-font-manifest.json +6 -0
  40. package/dist/standalone/.next/server/pages/_app/pages-manifest.json +3 -0
  41. package/dist/standalone/.next/server/pages/_app/react-loadable-manifest.json +1 -0
  42. package/dist/standalone/.next/server/pages/_app.js.map +5 -0
  43. package/dist/standalone/.next/server/pages/_document/next-font-manifest.json +6 -0
  44. package/dist/standalone/.next/server/pages/_document/pages-manifest.json +3 -0
  45. package/dist/standalone/.next/server/pages/_document/react-loadable-manifest.json +1 -0
  46. package/dist/standalone/.next/server/pages/_document.js.map +5 -0
  47. package/dist/standalone/.next/server/pages/_error/build-manifest.json +24 -0
  48. package/dist/standalone/.next/server/pages/_error/client-build-manifest.json +5 -0
  49. package/dist/standalone/.next/server/pages/_error/next-font-manifest.json +6 -0
  50. package/dist/standalone/.next/server/pages/_error/pages-manifest.json +3 -0
  51. package/dist/standalone/.next/server/pages/_error/react-loadable-manifest.json +1 -0
  52. package/dist/standalone/.next/server/pages/_error.js.map +5 -0
  53. package/dist/standalone/.next/server/pages-manifest.json +1 -1
  54. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  55. package/dist/standalone/.next/static/-C_aw5qp4WRpZLxKvls_q/_buildManifest.js +1 -0
  56. package/dist/standalone/.next/static/-C_aw5qp4WRpZLxKvls_q/_ssgManifest.js +1 -0
  57. package/dist/standalone/.next/static/23uvba8RlaxCaoa5OiBQP/_buildManifest.js +1 -0
  58. package/dist/standalone/.next/static/23uvba8RlaxCaoa5OiBQP/_ssgManifest.js +1 -0
  59. package/dist/standalone/.next/static/7c2VjICJUWm7vUD2fAum8/_buildManifest.js +1 -0
  60. package/dist/standalone/.next/static/7c2VjICJUWm7vUD2fAum8/_ssgManifest.js +1 -0
  61. package/dist/standalone/.next/static/Da8e6NLQq01CAFo8O13j6/_buildManifest.js +1 -0
  62. package/dist/standalone/.next/static/Da8e6NLQq01CAFo8O13j6/_ssgManifest.js +1 -0
  63. package/dist/standalone/.next/static/GD7LQJ8gE1cW_fRed-j1C/_buildManifest.js +1 -0
  64. package/dist/standalone/.next/static/GD7LQJ8gE1cW_fRed-j1C/_ssgManifest.js +1 -0
  65. package/dist/standalone/.next/static/H-5h51WEzU2ys-hWA4OUt/_buildManifest.js +1 -0
  66. package/dist/standalone/.next/static/H-5h51WEzU2ys-hWA4OUt/_ssgManifest.js +1 -0
  67. package/dist/standalone/.next/static/L2hEa9LvG28lUDLLpdKW9/_buildManifest.js +1 -0
  68. package/dist/standalone/.next/static/L2hEa9LvG28lUDLLpdKW9/_ssgManifest.js +1 -0
  69. package/dist/standalone/.next/static/O43uyF0ac2ZdNoZ1ZCnKf/_buildManifest.js +1 -0
  70. package/dist/standalone/.next/static/O43uyF0ac2ZdNoZ1ZCnKf/_ssgManifest.js +1 -0
  71. package/dist/standalone/.next/static/PyI7qeky3k1jffXuSFrjs/_buildManifest.js +1 -0
  72. package/dist/standalone/.next/static/PyI7qeky3k1jffXuSFrjs/_ssgManifest.js +1 -0
  73. package/dist/standalone/.next/static/WqxyAkkmDIRWMgidzO8Db/_buildManifest.js +1 -0
  74. package/dist/standalone/.next/static/WqxyAkkmDIRWMgidzO8Db/_ssgManifest.js +1 -0
  75. package/dist/standalone/.next/static/Xc4x4pucjXfhABCgWmn1V/_buildManifest.js +1 -0
  76. package/dist/standalone/.next/static/Xc4x4pucjXfhABCgWmn1V/_ssgManifest.js +1 -0
  77. package/dist/standalone/.next/static/ZeOFUJB_IZeb5OILHne1z/_buildManifest.js +1 -0
  78. package/dist/standalone/.next/static/ZeOFUJB_IZeb5OILHne1z/_ssgManifest.js +1 -0
  79. package/dist/standalone/.next/static/chunks/105-a007546befae4563.js +1 -0
  80. package/dist/standalone/.next/static/chunks/185-711c14dc27c4bc61.js +1 -0
  81. package/dist/standalone/.next/static/chunks/24-ffb10c209d2142dc.js +1 -0
  82. package/dist/standalone/.next/static/chunks/281-795fb16f0b06afb8.js +1 -0
  83. package/dist/standalone/.next/static/chunks/496-dc59dbb8ba7e4539.js +1 -0
  84. package/dist/standalone/.next/static/chunks/498-00a3d5dd9837a27f.js +16 -0
  85. package/dist/standalone/.next/static/chunks/5-ab2b7527e79dd03f.js +1 -0
  86. package/dist/standalone/.next/static/chunks/5-c3f389512791ecb2.js +1 -0
  87. package/dist/standalone/.next/static/chunks/642-114376e98078b3eb.js +1 -0
  88. package/dist/standalone/.next/static/chunks/648-038543aa7a87beca.js +1 -0
  89. package/dist/standalone/.next/static/chunks/693-0937eaeea1ae4b33.js +1 -0
  90. package/dist/standalone/.next/static/chunks/693-5c7ba2352f548e34.js +1 -0
  91. package/dist/standalone/.next/static/chunks/693-7e9bae18be0d9c6b.js +1 -0
  92. package/dist/standalone/.next/static/chunks/693-b3b27b94a68ea0bc.js +1 -0
  93. package/dist/standalone/.next/static/chunks/693-c42159ca627810b6.js +1 -0
  94. package/dist/standalone/.next/static/chunks/693-c4a72446cbe56a20.js +1 -0
  95. package/dist/standalone/.next/static/chunks/693-e95ee9bc25076ecd.js +1 -0
  96. package/dist/standalone/.next/static/chunks/693-e99fc5f3437674b1.js +1 -0
  97. package/dist/standalone/.next/static/chunks/712-581ffe0ca01c6d44.js +16 -0
  98. package/dist/standalone/.next/static/chunks/719-ffb34f83f1a29ef9.js +16 -0
  99. package/dist/standalone/.next/static/chunks/888-4f8c8a1dbfc2f887.js +1 -0
  100. package/dist/standalone/.next/static/chunks/889-c7b6397ab2356461.js +16 -0
  101. package/dist/standalone/.next/static/chunks/[next]_entry_page-loader_ts_0196946f._.js +23 -0
  102. package/dist/standalone/.next/static/chunks/[next]_entry_page-loader_ts_0196946f._.js.map +6 -0
  103. package/dist/standalone/.next/static/chunks/[next]_entry_page-loader_ts_fa2ec1ea._.js +23 -0
  104. package/dist/standalone/.next/static/chunks/[next]_entry_page-loader_ts_fa2ec1ea._.js.map +6 -0
  105. package/dist/standalone/.next/static/chunks/[root-of-the-server]__092393de._.js +481 -0
  106. package/dist/standalone/.next/static/chunks/[root-of-the-server]__092393de._.js.map +6 -0
  107. package/dist/standalone/.next/static/chunks/[root-of-the-server]__45f039c3._.js +481 -0
  108. package/dist/standalone/.next/static/chunks/[root-of-the-server]__45f039c3._.js.map +6 -0
  109. package/dist/standalone/.next/static/chunks/app/layout-05c5414de7009244.js +1 -0
  110. package/dist/standalone/.next/static/chunks/app/layout-b6165efd2dda60fa.js +1 -0
  111. package/dist/standalone/.next/static/chunks/app/layout-dae4ccdd1163e4b9.js +1 -0
  112. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/page-1581695cbf18ca8f.js +1 -0
  113. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/page-2d759c1ef2fc1f3f.js +1 -0
  114. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/page-7a905fd82150cec4.js +1 -0
  115. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/page-994bb53630390872.js +1 -0
  116. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/page-b31f4471e31e815a.js +1 -0
  117. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/page-d26a7b8eac784a60.js +1 -0
  118. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-05274c303803f9e5.js +1 -0
  119. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-0e763809b4b33824.js +1 -0
  120. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-34e0546e8de7d155.js +1 -0
  121. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-4df39886af6c75d0.js +1 -0
  122. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-57ace7dee9bb2e7e.js +1 -0
  123. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-613351836e4c27fb.js +1 -0
  124. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-6e8c50d4d23e969a.js +1 -0
  125. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-8bb6f1f7fa3696bc.js +1 -0
  126. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-b77875877f3d28d0.js +1 -0
  127. package/dist/standalone/.next/static/chunks/app/projects/[projectId]/sessions/[sessionId]/page-b87566287155f190.js +1 -0
  128. package/dist/standalone/.next/static/chunks/app/projects/page-41b00f4e43f17357.js +1 -0
  129. package/dist/standalone/.next/static/chunks/app/projects/page-eb83c5ea58201eab.js +1 -0
  130. package/dist/standalone/.next/static/chunks/b5d7d_next_app_49bc0f6c.js +8 -0
  131. package/dist/standalone/.next/static/chunks/b5d7d_next_app_49bc0f6c.js.map +6 -0
  132. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_bbef2511._.js +2107 -0
  133. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_bbef2511._.js.map +26 -0
  134. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_c8a9b47e._.js +1942 -0
  135. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_c8a9b47e._.js.map +25 -0
  136. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_client_aca12300._.js +4030 -0
  137. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_client_aca12300._.js.map +45 -0
  138. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_compiled_950aaaf6._.js +2222 -0
  139. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_compiled_950aaaf6._.js.map +16 -0
  140. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_compiled_next-devtools_index_6fd12744.js +28954 -0
  141. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_compiled_next-devtools_index_6fd12744.js.map +6 -0
  142. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_shared_lib_754ee35b._.js +5164 -0
  143. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_shared_lib_754ee35b._.js.map +62 -0
  144. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_shared_lib_deb14b6a._.js +5455 -0
  145. package/dist/standalone/.next/static/chunks/b5d7d_next_dist_shared_lib_deb14b6a._.js.map +66 -0
  146. package/dist/standalone/.next/static/chunks/b5d7d_next_error_f5f4698d.js +8 -0
  147. package/dist/standalone/.next/static/chunks/b5d7d_next_error_f5f4698d.js.map +6 -0
  148. package/dist/standalone/.next/static/chunks/c8656_react-dom_b208eddd._.js +14182 -0
  149. package/dist/standalone/.next/static/chunks/c8656_react-dom_b208eddd._.js.map +9 -0
  150. package/dist/standalone/.next/static/chunks/node_modules__pnpm_7dc0a620._.js +1336 -0
  151. package/dist/standalone/.next/static/chunks/node_modules__pnpm_7dc0a620._.js.map +16 -0
  152. package/dist/standalone/.next/static/chunks/pages/_app.js +14 -0
  153. package/dist/standalone/.next/static/chunks/pages/_error.js +14 -0
  154. package/dist/standalone/.next/static/chunks/pages__app_2da965e7._.js +16 -0
  155. package/dist/standalone/.next/static/chunks/pages__app_5e653343._.js.map +10 -0
  156. package/dist/standalone/.next/static/chunks/pages__error_2da965e7._.js +16 -0
  157. package/dist/standalone/.next/static/chunks/pages__error_57ca05a1._.js.map +10 -0
  158. package/dist/standalone/.next/static/chunks/turbopack-pages__app_5e653343._.js +1823 -0
  159. package/dist/standalone/.next/static/chunks/turbopack-pages__error_57ca05a1._.js +1823 -0
  160. package/dist/standalone/.next/static/css/09df4ee87d7591ca.css +3 -0
  161. package/dist/standalone/.next/static/css/36303a8dc8947596.css +3 -0
  162. package/dist/standalone/.next/static/css/79abaac46cb1972c.css +3 -0
  163. package/dist/standalone/.next/static/css/b871907fe73de1d5.css +3 -0
  164. package/dist/standalone/.next/static/css/b911fd9edbcfba1e.css +3 -0
  165. package/dist/standalone/.next/static/css/b9a686df90a90036.css +3 -0
  166. package/dist/standalone/.next/static/gHcDMwTmj2EUNXWVFDlCZ/_buildManifest.js +1 -0
  167. package/dist/standalone/.next/static/gHcDMwTmj2EUNXWVFDlCZ/_ssgManifest.js +1 -0
  168. package/dist/standalone/.next/static/gJy76OTvdPcbpfkijLfv_/_buildManifest.js +1 -0
  169. package/dist/standalone/.next/static/gJy76OTvdPcbpfkijLfv_/_ssgManifest.js +1 -0
  170. package/dist/standalone/.next/static/lr9BjpI_yzrMDd09cVRXH/_buildManifest.js +1 -0
  171. package/dist/standalone/.next/static/lr9BjpI_yzrMDd09cVRXH/_ssgManifest.js +1 -0
  172. package/dist/standalone/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
  173. package/dist/standalone/.next/static/p5lIOxOLNncFm4zH1-_ip/_buildManifest.js +1 -0
  174. package/dist/standalone/.next/static/p5lIOxOLNncFm4zH1-_ip/_ssgManifest.js +1 -0
  175. package/dist/standalone/.next/static/zS7AFHKjuHulYMQ1_wDup/_buildManifest.js +1 -0
  176. package/dist/standalone/.next/static/zS7AFHKjuHulYMQ1_wDup/_ssgManifest.js +1 -0
  177. package/dist/standalone/package.json +5 -1
  178. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[693],{5685:(e,t,a)=>{a.d(t,{B:()=>o,M:()=>r});var s=a(45320),n=a(53630);let r=e=>({queryKey:["projects",e],queryFn:async()=>{let t=await n.s.api.projects[":projectId"].$get({param:{projectId:e}});return await t.json()}}),o=e=>(0,s.useSuspenseQuery)({...r(e),refetchOnReconnect:!0})},18237:(e,t,a)=>{a.d(t,{cn:()=>r});var s=a(98951),n=a(42411);function r(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,s.$)(t))}},40138:(e,t,a)=>{a.d(t,{Cf:()=>u,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>f,zM:()=>i});var s=a(89835),n=a(24431),r=a(93856),o=a(18237);function l(e){let{...t}=e;return(0,s.jsx)(n.bL,{"data-slot":"dialog",...t})}function i(e){let{...t}=e;return(0,s.jsx)(n.l9,{"data-slot":"dialog-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function u(e){let{className:t,children:a,showCloseButton:l=!0,...i}=e;return(0,s.jsxs)(d,{"data-slot":"dialog-portal",children:[(0,s.jsx)(c,{}),(0,s.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200",t),...i,children:[a,l&&(0,s.jsxs)(n.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(r.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function p(e){let{className:t,...a}=e;return(0,s.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...a})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}},45730:(e,t,a)=>{a.d(t,{Ke:()=>l,Nt:()=>r,R6:()=>o});var s=a(89835),n=a(76845);function r(e){let{...t}=e;return(0,s.jsx)(n.bL,{"data-slot":"collapsible",...t})}function o(e){let{...t}=e;return(0,s.jsx)(n.R6,{"data-slot":"collapsible-trigger",...t})}function l(e){let{...t}=e;return(0,s.jsx)(n.Ke,{"data-slot":"collapsible-content",...t})}},51290:(e,t,a)=>{a.d(t,{c:()=>u});var s=a(89835),n=a(62520),r=a(26057),o=a(55931),l=a(80942),i=a(40138),d=a(70540);let c=e=>{let{projectId:t,onSuccess:a}=e,n=(0,d.fg)(t,a);return(0,s.jsx)(d.VA,{projectId:t,onSubmit:e=>{n.mutate({message:e})},isPending:n.isPending,error:n.error,placeholder:"Type your message here... (Start with / for commands, @ for files, Shift+Enter to send)",buttonText:"Start Chat",minHeight:"min-h-[200px]",containerClassName:"space-y-4"})},u=e=>{let{projectId:t,trigger:a}=e,[d,u]=(0,o.useState)(!1);return(0,s.jsxs)(i.lG,{open:d,onOpenChange:u,children:[(0,s.jsx)(i.zM,{asChild:!0,children:null!=a?a:(0,s.jsxs)(l.$,{className:"gap-2",children:[(0,s.jsx)(n.A,{className:"w-4 h-4"}),"New Chat"]})}),(0,s.jsxs)(i.Cf,{className:"w-[95vw] md:w-[80vw]",children:[(0,s.jsx)(i.c7,{children:(0,s.jsxs)(i.L3,{className:"flex items-center gap-2",children:[(0,s.jsx)(r.A,{className:"w-5 h-5"}),"Start New Chat"]})}),(0,s.jsx)(c,{projectId:t,onSuccess:()=>{u(!1)}})]})]})}},53630:(e,t,a)=>{a.d(t,{s:()=>s});let s=(0,a(74865).hc)("/")},57981:(e,t,a)=>{a.d(t,{o:()=>m});var s=a(89835),n=a(13881),r=a(55931),o=a(89290),l=a(14464),i=a(91260),d=a(18237);function c(e){let{className:t,...a}=e;return(0,s.jsx)(l.bL,{"data-slot":"checkbox",className:(0,d.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(l.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,s.jsx)(i.A,{className:"size-3.5"})})})}var u=a(5685);let m=e=>{let{openingProjectId:t,showLabels:a=!0,showDescriptions:l=!0,className:i=""}=e,d=(0,r.useId)(),{config:m,updateConfig:p}=(0,o.U)(),f=(0,n.useQueryClient)(),h=(0,r.useCallback)(async()=>{await f.invalidateQueries({queryKey:o.R.queryKey}),await f.invalidateQueries({queryKey:["projects"]}),f.invalidateQueries({queryKey:(0,u.M)(t).queryKey})},[f,t]),x=async()=>{p({...m,hideNoUserMessageSession:!(null==m?void 0:m.hideNoUserMessageSession)}),await h()},g=async()=>{p({...m,unifySameTitleSession:!(null==m?void 0:m.unifySameTitleSession)}),await h()};return(0,s.jsxs)("div",{className:"space-y-4 ".concat(i),children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(c,{id:d,checked:null==m?void 0:m.hideNoUserMessageSession,onCheckedChange:x}),a&&(0,s.jsx)("label",{htmlFor:d,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Hide sessions without user messages"})]}),l&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-6",children:"Only show sessions that contain user commands or messages"}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(c,{id:"".concat(d,"-unify"),checked:null==m?void 0:m.unifySameTitleSession,onCheckedChange:g}),a&&(0,s.jsx)("label",{htmlFor:"".concat(d,"-unify"),className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Unify sessions with same title"})]}),l&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-6",children:"Show only the latest session when multiple sessions have the same title"})]})}},70540:(e,t,a)=>{a.d(t,{VA:()=>j,fg:()=>C,Gl:()=>S});var s=a(89835),n=a(28043),r=a(58903),o=a(70038),l=a(55931),i=a(80942),d=a(18237);function c(e){let{className:t,...a}=e;return(0,s.jsx)("textarea",{"data-slot":"textarea",className:(0,d.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex min-h-[60px] w-full min-w-0 resize-none rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...a})}var u=a(63812),m=a(72676),p=a(91260),f=a(45730),h=a(53630);let x=(0,l.forwardRef)((e,t)=>{let{projectId:a,inputValue:n,onCommandSelect:r,className:o}=e,[c,x]=(0,l.useState)(!1),[g,b]=(0,l.useState)(-1),v=(0,l.useRef)(null),y=(0,l.useRef)(null),{data:w}=(0,u.useQuery)({queryKey:["claude-commands",a],queryFn:async()=>{let e=await h.s.api.projects[":projectId"]["claude-commands"].$get({param:{projectId:a}});if(!e.ok)throw Error("Failed to fetch commands");return e.json()},staleTime:3e5}),{shouldShowCompletion:j,filteredCommands:N}=(0,l.useMemo)(()=>{let e=[...(null==w?void 0:w.defaultCommands)||[],...(null==w?void 0:w.globalCommands)||[],...(null==w?void 0:w.projectCommands)||[]],t=n.startsWith("/"),a=t?n.slice(1).toLowerCase():"",s=t?e.filter(e=>e.toLowerCase().includes(a)):[];return{shouldShowCompletion:t,filteredCommands:s}},[w,n]),k=j&&N.length>0;c!==k&&(x(k),b(-1));let C=(0,l.useCallback)(e=>{r("/".concat(e," ")),x(!1),b(-1)},[r]),S=(0,l.useCallback)(e=>{if(e>=0&&y.current){let t=y.current.querySelectorAll('button[role="option"]')[e];t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}},[]),A=(0,l.useCallback)(e=>{if(!c||0===N.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),b(e=>{let t=e<N.length-1?e+1:0;return requestAnimationFrame(()=>S(t)),t}),!0;case"ArrowUp":return e.preventDefault(),b(e=>{let t=e>0?e-1:N.length-1;return requestAnimationFrame(()=>S(t)),t}),!0;case"Enter":case"Tab":if(g>=0&&g<N.length){e.preventDefault();let t=N[g];return t&&C(t),!0}break;case"Escape":return e.preventDefault(),x(!1),b(-1),!0}return!1},[c,N.length,g,C,S,N]);return((0,l.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&(x(!1),b(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,l.useImperativeHandle)(t,()=>({handleKeyDown:A}),[A]),j&&0!==N.length)?(0,s.jsx)("div",{ref:v,className:(0,d.cn)("relative",o),children:(0,s.jsx)(f.Nt,{open:c,onOpenChange:x,children:(0,s.jsx)(f.Ke,{children:(0,s.jsx)("div",{ref:y,className:"absolute z-50 w-full mt-1 bg-popover border border-border rounded-md shadow-lg max-h-48 overflow-y-auto",role:"listbox","aria-label":"Available commands",children:N.length>0&&(0,s.jsxs)("div",{className:"p-1",children:[(0,s.jsxs)("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground border-b border-border mb-1 flex items-center gap-2",role:"presentation",children:[(0,s.jsx)(m.A,{className:"w-3 h-3"}),"Available Commands (",N.length,")"]}),N.map((e,t)=>(0,s.jsxs)(i.$,{variant:"ghost",size:"sm",className:(0,d.cn)("w-full justify-start text-left font-mono text-sm h-8 px-2 min-w-0",t===g&&"bg-accent text-accent-foreground"),onClick:()=>C(e),onMouseEnter:()=>b(t),role:"option","aria-selected":t===g,"aria-label":"Command: /".concat(e),title:"/".concat(e),children:[(0,s.jsx)("span",{className:"text-muted-foreground mr-1 flex-shrink-0",children:"/"}),(0,s.jsx)("span",{className:"font-medium truncate min-w-0",children:e}),t===g&&(0,s.jsx)(p.A,{className:"w-3 h-3 ml-auto text-primary flex-shrink-0"})]},e))]})})})})}):null});var g=a(57378),b=a(65492);let v=function(e,t){let a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,u.useQuery)({queryKey:["file-completion",e,t],queryFn:async()=>{let a=await h.s.api.projects[":projectId"]["file-completion"].$get({param:{projectId:e},query:{basePath:t}});if(!a.ok)throw Error("Failed to fetch file completion");return a.json()},enabled:a&&!!e,staleTime:3e5})},y=(0,l.forwardRef)((e,t)=>{let{projectId:a,inputValue:n,onFileSelect:r,className:o}=e,[c,u]=(0,l.useState)(!1),[m,h]=(0,l.useState)(-1),x=(0,l.useRef)(null),y=(0,l.useRef)(null),{shouldShow:w,searchPath:j,beforeAt:N,afterAt:k}=(0,l.useMemo)(()=>(e=>{let t=e.lastIndexOf("@");if(-1===t)return{shouldShow:!1,searchPath:"",beforeAt:"",afterAt:""};let a=e.slice(0,t),s=e.slice(t+1),n=s.split(/\s/),r=n[0]||"";return{shouldShow:!(n.length>1),searchPath:r,beforeAt:a,afterAt:s}})(n),[n]),{basePath:C,filterTerm:S}=(0,l.useMemo)(()=>{if(!j)return{basePath:"/",filterTerm:""};let e=j.lastIndexOf("/");if(-1===e)return{basePath:"/",filterTerm:j};let t=j.slice(0,e+1);return{basePath:"/"===t?"/":t,filterTerm:j.slice(e+1)}},[j]),{data:A,isLoading:I}=v(a,C,w),M=(0,l.useMemo)(()=>(null==A?void 0:A.entries)?S?A.entries.filter(e=>e.name.toLowerCase().includes(S.toLowerCase())):A.entries:[],[null==A?void 0:A.entries,S]),z=w&&!I&&M.length>0;c!==z&&(u(z),h(-1));let E=(0,l.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=e.path,s=k.split(/\s/).slice(1).join(" ");r("".concat(N,"@").concat(a).concat(s).trim()+("directory"!==e.type||t?" ":"/")),("file"===e.type||t)&&(u(!1),h(-1))},[N,k,r]),F=(0,l.useCallback)(e=>{if(e>=0&&y.current){let t=y.current.querySelectorAll('button[role="option"]')[e];t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}},[]),T=(0,l.useCallback)(e=>{if(!c||0===M.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),h(e=>{let t=e<M.length-1?e+1:0;return requestAnimationFrame(()=>F(t)),t}),!0;case"ArrowUp":return e.preventDefault(),h(e=>{let t=e>0?e-1:M.length-1;return requestAnimationFrame(()=>F(t)),t}),!0;case"Enter":if(m>=0&&m<M.length){e.preventDefault();let t=M[m];return t&&E(t,!0),!0}break;case"Tab":if(m>=0&&m<M.length){e.preventDefault();let t=M[m];return t&&E(t,"file"===t.type),!0}break;case"Escape":return e.preventDefault(),u(!1),h(-1),!0}return!1},[c,M.length,m,E,F,M]);return((0,l.useEffect)(()=>{let e=e=>{x.current&&!x.current.contains(e.target)&&(u(!1),h(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,l.useImperativeHandle)(t,()=>({handleKeyDown:T}),[T]),!w||I||0===M.length)?null:(0,s.jsx)("div",{ref:x,className:(0,d.cn)("relative",o),children:(0,s.jsx)(f.Nt,{open:c,onOpenChange:u,children:(0,s.jsx)(f.Ke,{children:(0,s.jsx)("div",{ref:y,className:"absolute z-50 w-full mt-1 bg-popover border border-border rounded-md shadow-lg max-h-48 overflow-y-auto",role:"listbox","aria-label":"Available files and directories",children:M.length>0&&(0,s.jsxs)("div",{className:"p-1",children:[(0,s.jsxs)("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground border-b border-border mb-1 flex items-center gap-2",role:"presentation",children:[(0,s.jsx)(g.A,{className:"w-3 h-3"}),"Files & Directories (",M.length,")","/"!==C&&(0,s.jsxs)("span",{className:"text-xs font-mono text-muted-foreground/70",children:["in ",C]})]}),M.map((e,t)=>(0,s.jsxs)(i.$,{variant:"ghost",size:"sm",className:(0,d.cn)("w-full justify-start text-left font-mono text-sm h-8 px-2 min-w-0",t===m&&"bg-accent text-accent-foreground"),onClick:()=>E(e,"file"===e.type),onMouseEnter:()=>h(t),role:"option","aria-selected":t===m,"aria-label":"".concat(e.type,": ").concat(e.name),title:e.path,children:["directory"===e.type?(0,s.jsx)(b.A,{className:"w-3 h-3 mr-2 text-blue-500 flex-shrink-0"}):(0,s.jsx)(g.A,{className:"w-3 h-3 mr-2 text-gray-500 flex-shrink-0"}),(0,s.jsx)("span",{className:"font-medium truncate min-w-0",children:e.name}),"directory"===e.type&&(0,s.jsx)("span",{className:"text-muted-foreground ml-1 flex-shrink-0",children:"/"}),t===m&&(0,s.jsx)(p.A,{className:"w-3 h-3 ml-auto text-primary flex-shrink-0"})]},e.path))]})})})})})});y.displayName="FileCompletion";let w=e=>{let{projectId:t,message:a,commandCompletionRef:n,fileCompletionRef:r,handleCommandSelect:o,handleFileSelect:i,cursorPosition:d}=e,c=(0,l.useMemo)(()=>((e,t)=>{let a,s,n=window.innerHeight,r=t.top<n/2,o=n-t.top,l=t.top;r&&o>=200?(a="below",s=e.top+16):!r&&l>=200?(a="above",s=e.top-200-8):o>l?(a="below",s=e.top+16):(a="above",s=e.top-200-8);let i=window.innerWidth;return{top:s,left:Math.max(16,Math.min(e.left-16,i-512-16)),placement:a}})(d.relative,d.absolute),[d]);return(0,s.jsxs)("div",{className:"absolute w-full max-w-sm sm:max-w-md lg:max-w-lg xl:max-w-xl",style:{top:c.top,left:c.left,maxWidth:Math.min(512,.8*window.innerWidth)},children:[(0,s.jsx)(x,{ref:n,projectId:t,inputValue:a,onCommandSelect:o,className:"absolute left-0 right-0 ".concat("above"===c.placement?"bottom-full mb-2":"top-full mt-1")}),(0,s.jsx)(y,{ref:r,projectId:t,inputValue:a,onFileSelect:i,className:"absolute left-0 right-0 ".concat("above"===c.placement?"bottom-full mb-2":"top-full mt-1")})]})},j=e=>{let{projectId:t,onSubmit:a,isPending:d,error:u,placeholder:m,buttonText:p,minHeight:f="min-h-[100px]",containerClassName:h="",disabled:x=!1,buttonSize:g="lg"}=e,[b,v]=(0,l.useState)(""),[y,j]=(0,l.useState)({relative:{top:0,left:0},absolute:{top:0,left:0}}),N=(0,l.useRef)(null),k=(0,l.useRef)(null),C=(0,l.useRef)(null),S=(0,l.useRef)(null),A=(0,l.useId)(),I=()=>{b.trim()&&(a(b.trim()),v(""))},M=(0,l.useCallback)(()=>{let e=k.current,t=N.current;if(null===e||null===t)return;let a=e.selectionStart,s=e.value.substring(0,a),n=e.value.substring(a),r=document.createTextNode(s),o=document.createTextNode(n),l=document.createElement("span");l.innerHTML="&nbsp;";let i=document.createElement("div");i.innerHTML="",i.append(r,l,o);let d=window.getComputedStyle(e);for(let e of["border","boxSizing","fontFamily","fontSize","fontWeight","letterSpacing","lineHeight","padding","textDecoration","textIndent","textTransform","whiteSpace","wordSpacing","wordWrap"])i.style[e]=d[e];i.style.visibility="hidden",t.prepend(i);let c=l.getBoundingClientRect(),u=t.getBoundingClientRect();return t.removeChild(i),{relative:{top:c.top-u.top-e.scrollTop,left:c.left-u.left-e.scrollLeft},absolute:{top:c.top-e.scrollTop,left:c.left-e.scrollLeft}}},[]);return(0,s.jsxs)("div",{className:h,children:[u&&(0,s.jsxs)("div",{className:"flex items-center gap-2 p-3 text-sm text-destructive bg-destructive/10 border border-destructive/20 rounded-md mb-4",children:[(0,s.jsx)(n.A,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Failed to send message. Please try again."})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"relative",ref:N,children:[(0,s.jsx)(c,{ref:k,value:b,onChange:e=>{if(e.target.value.endsWith("@")||e.target.value.endsWith("/")){let e=M();e&&j(e)}v(e.target.value)},onKeyDown:e=>{var t,a;null!=(t=S.current)&&t.handleKeyDown(e)||(null==(a=C.current)||!a.handleKeyDown(e))&&"Enter"===e.key&&e.shiftKey&&(e.preventDefault(),I())},placeholder:m,className:"".concat(f," resize-none"),disabled:d||x,maxLength:4e3,"aria-label":"Message input with completion support","aria-describedby":A,"aria-expanded":b.startsWith("/")||b.includes("@"),"aria-haspopup":"listbox",role:"combobox","aria-autocomplete":"list"}),(0,s.jsx)(w,{projectId:t,message:b,commandCompletionRef:C,fileCompletionRef:S,handleCommandSelect:e=>{var t;v(e),null==(t=k.current)||t.focus()},handleFileSelect:e=>{var t;v(e),null==(t=k.current)||t.focus()},cursorPosition:y})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",id:A,children:[b.length,'/4000 characters " • Use arrow keys to navigate completions"']}),(0,s.jsx)(i.$,{onClick:I,disabled:!b.trim()||d||x,size:g,className:"gap-2",children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.A,{className:"w-4 h-4 animate-spin"}),"Sending... This may take a while."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.A,{className:"w-4 h-4"}),p]})})]})]})]})};var N=a(59054),k=a(79588);let C=(e,t)=>{let a=(0,k.useRouter)();return(0,N.useMutation)({mutationFn:async t=>{let a=await h.s.api.projects[":projectId"]["new-session"].$post({param:{projectId:e},json:{message:t.message}},{init:{signal:AbortSignal.timeout(2e4)}});if(!a.ok)throw Error(a.statusText);return a.json()},onSuccess:async s=>{null==t||t(),a.push("/projects/".concat(e,"/sessions/").concat(s.sessionId,"#message-").concat(s.userMessageId))}})},S=(e,t)=>{let a=(0,k.useRouter)();return(0,N.useMutation)({mutationFn:async a=>{let s=await h.s.api.projects[":projectId"].sessions[":sessionId"].resume.$post({param:{projectId:e,sessionId:t},json:{resumeMessage:a.message}},{init:{signal:AbortSignal.timeout(2e4)}});if(!s.ok)throw Error(s.statusText);return s.json()},onSuccess:async s=>{t!==s.sessionId&&a.push("/projects/".concat(e,"/sessions/").concat(s.sessionId,"#message-").concat(s.userMessageId))}})}},72667:(e,t,a)=>{a.d(t,{H:()=>s});let s=e=>{switch(e.kind){case"command":if(void 0===e.commandArgs)return e.commandName;return"".concat(e.commandName," ").concat(e.commandArgs);case"local-command":return e.stdout;case"text":return e.content;default:throw Error("Invalid first command")}}},75284:(e,t,a)=>{a.d(t,{BT:()=>i,Wu:()=>d,ZB:()=>l,Zp:()=>r,aR:()=>o});var s=a(89835),n=a(18237);function r(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function l(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function i(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function d(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}},80942:(e,t,a)=>{a.d(t,{$:()=>i});var s=a(89835),n=a(8607),r=a(7951),o=a(18237);let l=(0,r.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:a,size:r,asChild:i=!1,...d}=e,c=i?n.DX:"button";return(0,s.jsx)(c,{"data-slot":"button",className:(0,o.cn)(l({variant:a,size:r,className:t})),...d})}},89290:(e,t,a)=>{a.d(t,{R:()=>i,U:()=>d});var s=a(13881),n=a(45320),r=a(59054),o=a(55931),l=a(53630);let i={queryKey:["config"],queryFn:async()=>{let e=await l.s.api.config.$get();return await e.json()}},d=()=>{let e=(0,s.useQueryClient)(),{data:t}=(0,n.useSuspenseQuery)({...i}),a=(0,r.useMutation)({mutationFn:async e=>{let t=await l.s.api.config.$put({json:e});return await t.json()},onSuccess:async()=>{await e.invalidateQueries({queryKey:i.queryKey})}});return{config:null==t?void 0:t.config,updateConfig:(0,o.useCallback)(e=>{a.mutate(e)},[a])}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[693],{5685:(e,t,a)=>{a.d(t,{B:()=>o,M:()=>r});var s=a(45320),n=a(53630);let r=e=>({queryKey:["projects",e],queryFn:async()=>{let t=await n.s.api.projects[":projectId"].$get({param:{projectId:e}});return await t.json()}}),o=e=>(0,s.useSuspenseQuery)({...r(e),refetchOnReconnect:!0})},18237:(e,t,a)=>{a.d(t,{cn:()=>r});var s=a(98951),n=a(42411);function r(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,s.$)(t))}},40138:(e,t,a)=>{a.d(t,{Cf:()=>u,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>f,zM:()=>i});var s=a(89835),n=a(87829),r=a(93856),o=a(18237);function l(e){let{...t}=e;return(0,s.jsx)(n.bL,{"data-slot":"dialog",...t})}function i(e){let{...t}=e;return(0,s.jsx)(n.l9,{"data-slot":"dialog-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function u(e){let{className:t,children:a,showCloseButton:l=!0,...i}=e;return(0,s.jsxs)(d,{"data-slot":"dialog-portal",children:[(0,s.jsx)(c,{}),(0,s.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200",t),...i,children:[a,l&&(0,s.jsxs)(n.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(r.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function p(e){let{className:t,...a}=e;return(0,s.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...a})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}},45730:(e,t,a)=>{a.d(t,{Ke:()=>l,Nt:()=>r,R6:()=>o});var s=a(89835),n=a(76845);function r(e){let{...t}=e;return(0,s.jsx)(n.bL,{"data-slot":"collapsible",...t})}function o(e){let{...t}=e;return(0,s.jsx)(n.R6,{"data-slot":"collapsible-trigger",...t})}function l(e){let{...t}=e;return(0,s.jsx)(n.Ke,{"data-slot":"collapsible-content",...t})}},51290:(e,t,a)=>{a.d(t,{c:()=>u});var s=a(89835),n=a(62520),r=a(26057),o=a(55931),l=a(80942),i=a(40138),d=a(70540);let c=e=>{let{projectId:t,onSuccess:a}=e,n=(0,d.fg)(t,a);return(0,s.jsx)(d.VA,{projectId:t,onSubmit:e=>{n.mutate({message:e})},isPending:n.isPending,error:n.error,placeholder:"Type your message here... (Start with / for commands, @ for files, Shift+Enter to send)",buttonText:"Start Chat",minHeight:"min-h-[200px]",containerClassName:"space-y-4"})},u=e=>{let{projectId:t,trigger:a}=e,[d,u]=(0,o.useState)(!1);return(0,s.jsxs)(i.lG,{open:d,onOpenChange:u,children:[(0,s.jsx)(i.zM,{asChild:!0,children:null!=a?a:(0,s.jsxs)(l.$,{className:"gap-2",children:[(0,s.jsx)(n.A,{className:"w-4 h-4"}),"New Chat"]})}),(0,s.jsxs)(i.Cf,{className:"w-[95vw] md:w-[80vw]",children:[(0,s.jsx)(i.c7,{children:(0,s.jsxs)(i.L3,{className:"flex items-center gap-2",children:[(0,s.jsx)(r.A,{className:"w-5 h-5"}),"Start New Chat"]})}),(0,s.jsx)(c,{projectId:t,onSuccess:()=>{u(!1)}})]})]})}},53630:(e,t,a)=>{a.d(t,{s:()=>s});let s=(0,a(74865).hc)("/")},57981:(e,t,a)=>{a.d(t,{o:()=>m});var s=a(89835),n=a(13881),r=a(55931),o=a(89290),l=a(74889),i=a(91260),d=a(18237);function c(e){let{className:t,...a}=e;return(0,s.jsx)(l.bL,{"data-slot":"checkbox",className:(0,d.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(l.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,s.jsx)(i.A,{className:"size-3.5"})})})}var u=a(5685);let m=e=>{let{openingProjectId:t,showLabels:a=!0,showDescriptions:l=!0,className:i=""}=e,d=(0,r.useId)(),{config:m,updateConfig:p}=(0,o.U)(),f=(0,n.useQueryClient)(),h=(0,r.useCallback)(async()=>{await f.invalidateQueries({queryKey:o.R.queryKey}),await f.invalidateQueries({queryKey:["projects"]}),f.invalidateQueries({queryKey:(0,u.M)(t).queryKey})},[f,t]),g=async()=>{p({...m,hideNoUserMessageSession:!(null==m?void 0:m.hideNoUserMessageSession)}),await h()},x=async()=>{p({...m,unifySameTitleSession:!(null==m?void 0:m.unifySameTitleSession)}),await h()};return(0,s.jsxs)("div",{className:"space-y-4 ".concat(i),children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(c,{id:d,checked:null==m?void 0:m.hideNoUserMessageSession,onCheckedChange:g}),a&&(0,s.jsx)("label",{htmlFor:d,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Hide sessions without user messages"})]}),l&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-6",children:"Only show sessions that contain user commands or messages"}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(c,{id:"".concat(d,"-unify"),checked:null==m?void 0:m.unifySameTitleSession,onCheckedChange:x}),a&&(0,s.jsx)("label",{htmlFor:"".concat(d,"-unify"),className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Unify sessions with same title"})]}),l&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-6",children:"Show only the latest session when multiple sessions have the same title"})]})}},70540:(e,t,a)=>{a.d(t,{VA:()=>j,fg:()=>C,Gl:()=>S});var s=a(89835),n=a(28043),r=a(58903),o=a(70038),l=a(55931),i=a(80942),d=a(18237);function c(e){let{className:t,...a}=e;return(0,s.jsx)("textarea",{"data-slot":"textarea",className:(0,d.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex min-h-[60px] w-full min-w-0 resize-none rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...a})}var u=a(63812),m=a(72676),p=a(91260),f=a(45730),h=a(53630);let g=(0,l.forwardRef)((e,t)=>{let{projectId:a,inputValue:n,onCommandSelect:r,className:o}=e,[c,g]=(0,l.useState)(!1),[x,b]=(0,l.useState)(-1),v=(0,l.useRef)(null),w=(0,l.useRef)(null),{data:y}=(0,u.useQuery)({queryKey:["claude-commands",a],queryFn:async()=>{let e=await h.s.api.projects[":projectId"]["claude-commands"].$get({param:{projectId:a}});if(!e.ok)throw Error("Failed to fetch commands");return e.json()},staleTime:3e5}),{shouldShowCompletion:j,filteredCommands:N}=(0,l.useMemo)(()=>{let e=[...(null==y?void 0:y.defaultCommands)||[],...(null==y?void 0:y.globalCommands)||[],...(null==y?void 0:y.projectCommands)||[]],t=n.startsWith("/"),a=t?n.slice(1).toLowerCase():"",s=t?e.filter(e=>e.toLowerCase().includes(a)):[];return{shouldShowCompletion:t,filteredCommands:s}},[y,n]),k=j&&N.length>0;c!==k&&(g(k),b(-1));let C=(0,l.useCallback)(e=>{r("/".concat(e," ")),g(!1),b(-1)},[r]),S=(0,l.useCallback)(e=>{if(e>=0&&w.current){let t=w.current.querySelectorAll('button[role="option"]')[e];t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}},[]),A=(0,l.useCallback)(e=>{if(!c||0===N.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),b(e=>{let t=e<N.length-1?e+1:0;return requestAnimationFrame(()=>S(t)),t}),!0;case"ArrowUp":return e.preventDefault(),b(e=>{let t=e>0?e-1:N.length-1;return requestAnimationFrame(()=>S(t)),t}),!0;case"Enter":case"Tab":if(x>=0&&x<N.length){e.preventDefault();let t=N[x];return t&&C(t),!0}break;case"Escape":return e.preventDefault(),g(!1),b(-1),!0}return!1},[c,N.length,x,C,S,N]);return((0,l.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&(g(!1),b(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,l.useImperativeHandle)(t,()=>({handleKeyDown:A}),[A]),j&&0!==N.length)?(0,s.jsx)("div",{ref:v,className:(0,d.cn)("relative",o),children:(0,s.jsx)(f.Nt,{open:c,onOpenChange:g,children:(0,s.jsx)(f.Ke,{children:(0,s.jsx)("div",{ref:w,className:"absolute z-50 w-full mt-1 bg-popover border border-border rounded-md shadow-lg max-h-48 overflow-y-auto",role:"listbox","aria-label":"Available commands",children:N.length>0&&(0,s.jsxs)("div",{className:"p-1",children:[(0,s.jsxs)("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground border-b border-border mb-1 flex items-center gap-2",role:"presentation",children:[(0,s.jsx)(m.A,{className:"w-3 h-3"}),"Available Commands (",N.length,")"]}),N.map((e,t)=>(0,s.jsxs)(i.$,{variant:"ghost",size:"sm",className:(0,d.cn)("w-full justify-start text-left font-mono text-sm h-8 px-2 min-w-0",t===x&&"bg-accent text-accent-foreground"),onClick:()=>C(e),onMouseEnter:()=>b(t),role:"option","aria-selected":t===x,"aria-label":"Command: /".concat(e),title:"/".concat(e),children:[(0,s.jsx)("span",{className:"text-muted-foreground mr-1 flex-shrink-0",children:"/"}),(0,s.jsx)("span",{className:"font-medium truncate min-w-0",children:e}),t===x&&(0,s.jsx)(p.A,{className:"w-3 h-3 ml-auto text-primary flex-shrink-0"})]},e))]})})})})}):null});var x=a(57378),b=a(65492);let v=function(e,t){let a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,u.useQuery)({queryKey:["file-completion",e,t],queryFn:async()=>{let a=await h.s.api.projects[":projectId"]["file-completion"].$get({param:{projectId:e},query:{basePath:t}});if(!a.ok)throw Error("Failed to fetch file completion");return a.json()},enabled:a&&!!e,staleTime:3e5})},w=(0,l.forwardRef)((e,t)=>{let{projectId:a,inputValue:n,onFileSelect:r,className:o}=e,[c,u]=(0,l.useState)(!1),[m,h]=(0,l.useState)(-1),g=(0,l.useRef)(null),w=(0,l.useRef)(null),{shouldShow:y,searchPath:j,beforeAt:N,afterAt:k}=(0,l.useMemo)(()=>(e=>{let t=e.lastIndexOf("@");if(-1===t)return{shouldShow:!1,searchPath:"",beforeAt:"",afterAt:""};let a=e.slice(0,t),s=e.slice(t+1),n=s.split(/\s/),r=n[0]||"";return{shouldShow:!(n.length>1),searchPath:r,beforeAt:a,afterAt:s}})(n),[n]),{basePath:C,filterTerm:S}=(0,l.useMemo)(()=>{if(!j)return{basePath:"/",filterTerm:""};let e=j.lastIndexOf("/");if(-1===e)return{basePath:"/",filterTerm:j};let t=j.slice(0,e+1);return{basePath:"/"===t?"/":t,filterTerm:j.slice(e+1)}},[j]),{data:A,isLoading:I}=v(a,C,y),M=(0,l.useMemo)(()=>(null==A?void 0:A.entries)?S?A.entries.filter(e=>e.name.toLowerCase().includes(S.toLowerCase())):A.entries:[],[null==A?void 0:A.entries,S]),z=y&&!I&&M.length>0;c!==z&&(u(z),h(-1));let E=(0,l.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=e.path,s=k.split(/\s/).slice(1).join(" ");r("".concat(N,"@").concat(a).concat(s).trim()+("directory"!==e.type||t?" ":"/")),("file"===e.type||t)&&(u(!1),h(-1))},[N,k,r]),F=(0,l.useCallback)(e=>{if(e>=0&&w.current){let t=w.current.querySelectorAll('button[role="option"]')[e];t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}},[]),T=(0,l.useCallback)(e=>{if(!c||0===M.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),h(e=>{let t=e<M.length-1?e+1:0;return requestAnimationFrame(()=>F(t)),t}),!0;case"ArrowUp":return e.preventDefault(),h(e=>{let t=e>0?e-1:M.length-1;return requestAnimationFrame(()=>F(t)),t}),!0;case"Enter":if(m>=0&&m<M.length){e.preventDefault();let t=M[m];return t&&E(t,!0),!0}break;case"Tab":if(m>=0&&m<M.length){e.preventDefault();let t=M[m];return t&&E(t,"file"===t.type),!0}break;case"Escape":return e.preventDefault(),u(!1),h(-1),!0}return!1},[c,M.length,m,E,F,M]);return((0,l.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&(u(!1),h(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,l.useImperativeHandle)(t,()=>({handleKeyDown:T}),[T]),!y||I||0===M.length)?null:(0,s.jsx)("div",{ref:g,className:(0,d.cn)("relative",o),children:(0,s.jsx)(f.Nt,{open:c,onOpenChange:u,children:(0,s.jsx)(f.Ke,{children:(0,s.jsx)("div",{ref:w,className:"absolute z-50 w-full mt-1 bg-popover border border-border rounded-md shadow-lg max-h-48 overflow-y-auto",role:"listbox","aria-label":"Available files and directories",children:M.length>0&&(0,s.jsxs)("div",{className:"p-1",children:[(0,s.jsxs)("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground border-b border-border mb-1 flex items-center gap-2",role:"presentation",children:[(0,s.jsx)(x.A,{className:"w-3 h-3"}),"Files & Directories (",M.length,")","/"!==C&&(0,s.jsxs)("span",{className:"text-xs font-mono text-muted-foreground/70",children:["in ",C]})]}),M.map((e,t)=>(0,s.jsxs)(i.$,{variant:"ghost",size:"sm",className:(0,d.cn)("w-full justify-start text-left font-mono text-sm h-8 px-2 min-w-0",t===m&&"bg-accent text-accent-foreground"),onClick:()=>E(e,"file"===e.type),onMouseEnter:()=>h(t),role:"option","aria-selected":t===m,"aria-label":"".concat(e.type,": ").concat(e.name),title:e.path,children:["directory"===e.type?(0,s.jsx)(b.A,{className:"w-3 h-3 mr-2 text-blue-500 flex-shrink-0"}):(0,s.jsx)(x.A,{className:"w-3 h-3 mr-2 text-gray-500 flex-shrink-0"}),(0,s.jsx)("span",{className:"font-medium truncate min-w-0",children:e.name}),"directory"===e.type&&(0,s.jsx)("span",{className:"text-muted-foreground ml-1 flex-shrink-0",children:"/"}),t===m&&(0,s.jsx)(p.A,{className:"w-3 h-3 ml-auto text-primary flex-shrink-0"})]},e.path))]})})})})})});w.displayName="FileCompletion";let y=e=>{let{projectId:t,message:a,commandCompletionRef:n,fileCompletionRef:r,handleCommandSelect:o,handleFileSelect:i,cursorPosition:d}=e,c=(0,l.useMemo)(()=>((e,t)=>{let a,s,n=window.innerHeight,r=n/2;console.log("debug cursor and viewport",{absoluteCursorTop:t.top,viewportCenter:r});let o=t.top<r,l=n-t.top,i=t.top;o&&l>=200?(a="below",s=e.top+16):!o&&i>=200?(a="above",s=e.top-200-8):l>i?(a="below",s=e.top+16):(a="above",s=e.top-200-8);let d=window.innerWidth;return{top:s,left:Math.max(16,Math.min(e.left-16,d-512-16)),placement:a}})(d.relative,d.absolute),[d]);return(0,s.jsxs)("div",{className:"absolute w-full max-w-sm sm:max-w-md lg:max-w-lg xl:max-w-xl",style:{top:c.top,left:c.left,maxWidth:Math.min(512,.8*window.innerWidth)},children:[(0,s.jsx)(g,{ref:n,projectId:t,inputValue:a,onCommandSelect:o,className:"absolute left-0 right-0 ".concat("above"===c.placement?"bottom-full mb-2":"top-full mt-1")}),(0,s.jsx)(w,{ref:r,projectId:t,inputValue:a,onFileSelect:i,className:"absolute left-0 right-0 ".concat("above"===c.placement?"bottom-full mb-2":"top-full mt-1")})]})},j=e=>{let{projectId:t,onSubmit:a,isPending:d,error:u,placeholder:m,buttonText:p,minHeight:f="min-h-[100px]",containerClassName:h="",disabled:g=!1,buttonSize:x="lg"}=e,[b,v]=(0,l.useState)(""),[w,j]=(0,l.useState)({relative:{top:0,left:0},absolute:{top:0,left:0}}),N=(0,l.useRef)(null),k=(0,l.useRef)(null),C=(0,l.useRef)(null),S=(0,l.useRef)(null),A=(0,l.useId)(),I=()=>{b.trim()&&(a(b.trim()),v(""))},M=(0,l.useCallback)(()=>{let e=k.current,t=N.current;if(null===e||null===t)return;let a=e.selectionStart,s=e.value.substring(0,a),n=e.value.substring(a),r=document.createTextNode(s),o=document.createTextNode(n),l=document.createElement("span");l.innerHTML="&nbsp;";let i=document.createElement("div");i.innerHTML="",i.append(r,l,o);let d=window.getComputedStyle(e);for(let e of["border","boxSizing","fontFamily","fontSize","fontWeight","letterSpacing","lineHeight","padding","textDecoration","textIndent","textTransform","whiteSpace","wordSpacing","wordWrap"])i.style[e]=d[e];i.style.visibility="hidden",t.prepend(i);let c=l.getBoundingClientRect(),u=t.getBoundingClientRect();return t.removeChild(i),{relative:{top:c.top-u.top-e.scrollTop,left:c.left-u.left-e.scrollLeft},absolute:{top:c.top-e.scrollTop,left:c.left-e.scrollLeft}}},[]);return(0,s.jsxs)("div",{className:h,children:[u&&(0,s.jsxs)("div",{className:"flex items-center gap-2 p-3 text-sm text-destructive bg-destructive/10 border border-destructive/20 rounded-md mb-4",children:[(0,s.jsx)(n.A,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Failed to send message. Please try again."})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"relative",ref:N,children:[(0,s.jsx)(c,{ref:k,value:b,onChange:e=>{if(e.target.value.endsWith("@")||e.target.value.endsWith("/")){let e=M();e&&j(e)}v(e.target.value)},onKeyDown:e=>{var t,a;null!=(t=S.current)&&t.handleKeyDown(e)||(null==(a=C.current)||!a.handleKeyDown(e))&&"Enter"===e.key&&e.shiftKey&&(e.preventDefault(),I())},placeholder:m,className:"".concat(f," resize-none"),disabled:d||g,maxLength:4e3,"aria-label":"Message input with completion support","aria-describedby":A,"aria-expanded":b.startsWith("/")||b.includes("@"),"aria-haspopup":"listbox",role:"combobox","aria-autocomplete":"list"}),(0,s.jsx)(y,{projectId:t,message:b,commandCompletionRef:C,fileCompletionRef:S,handleCommandSelect:e=>{var t;v(e),null==(t=k.current)||t.focus()},handleFileSelect:e=>{var t;v(e),null==(t=k.current)||t.focus()},cursorPosition:w})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",id:A,children:[b.length,'/4000 characters " • Use arrow keys to navigate completions"']}),(0,s.jsx)(i.$,{onClick:I,disabled:!b.trim()||d||g,size:x,className:"gap-2",children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.A,{className:"w-4 h-4 animate-spin"}),"Sending... This may take a while."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.A,{className:"w-4 h-4"}),p]})})]})]})]})};var N=a(59054),k=a(79588);let C=(e,t)=>{let a=(0,k.useRouter)();return(0,N.useMutation)({mutationFn:async t=>{let a=await h.s.api.projects[":projectId"]["new-session"].$post({param:{projectId:e},json:{message:t.message}},{init:{signal:AbortSignal.timeout(2e4)}});if(!a.ok)throw Error(a.statusText);return a.json()},onSuccess:async s=>{null==t||t(),a.push("/projects/".concat(e,"/sessions/").concat(s.sessionId,"#message-").concat(s.userMessageId))}})},S=(e,t)=>{let a=(0,k.useRouter)();return(0,N.useMutation)({mutationFn:async a=>{let s=await h.s.api.projects[":projectId"].sessions[":sessionId"].resume.$post({param:{projectId:e,sessionId:t},json:{resumeMessage:a.message}},{init:{signal:AbortSignal.timeout(2e4)}});if(!s.ok)throw Error(s.statusText);return s.json()},onSuccess:async s=>{t!==s.sessionId&&a.push("/projects/".concat(e,"/sessions/").concat(s.sessionId,"#message-").concat(s.userMessageId))}})}},72667:(e,t,a)=>{a.d(t,{H:()=>s});let s=e=>{switch(e.kind){case"command":if(void 0===e.commandArgs)return e.commandName;return"".concat(e.commandName," ").concat(e.commandArgs);case"local-command":return e.stdout;case"text":return e.content;default:throw Error("Invalid first command")}}},75284:(e,t,a)=>{a.d(t,{BT:()=>i,Wu:()=>d,ZB:()=>l,Zp:()=>r,aR:()=>o});var s=a(89835),n=a(18237);function r(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function l(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function i(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function d(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}},80942:(e,t,a)=>{a.d(t,{$:()=>i});var s=a(89835),n=a(8607),r=a(7951),o=a(18237);let l=(0,r.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:a,size:r,asChild:i=!1,...d}=e,c=i?n.DX:"button";return(0,s.jsx)(c,{"data-slot":"button",className:(0,o.cn)(l({variant:a,size:r,className:t})),...d})}},89290:(e,t,a)=>{a.d(t,{R:()=>i,U:()=>d});var s=a(13881),n=a(45320),r=a(59054),o=a(55931),l=a(53630);let i={queryKey:["config"],queryFn:async()=>{let e=await l.s.api.config.$get();return await e.json()}},d=()=>{let e=(0,s.useQueryClient)(),{data:t}=(0,n.useSuspenseQuery)({...i}),a=(0,r.useMutation)({mutationFn:async e=>{let t=await l.s.api.config.$put({json:e});return await t.json()},onSuccess:async()=>{await e.invalidateQueries({queryKey:i.queryKey})}});return{config:null==t?void 0:t.config,updateConfig:(0,o.useCallback)(e=>{a.mutate(e)},[a])}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[693],{5685:(e,t,a)=>{a.d(t,{B:()=>o,M:()=>r});var s=a(45320),n=a(53630);let r=e=>({queryKey:["projects",e],queryFn:async()=>{let t=await n.s.api.projects[":projectId"].$get({param:{projectId:e}});return await t.json()}}),o=e=>(0,s.useSuspenseQuery)({...r(e),refetchOnReconnect:!0})},18237:(e,t,a)=>{a.d(t,{cn:()=>r});var s=a(98951),n=a(42411);function r(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,s.$)(t))}},40138:(e,t,a)=>{a.d(t,{Cf:()=>u,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>f,zM:()=>i});var s=a(89835),n=a(24431),r=a(93856),o=a(18237);function l(e){let{...t}=e;return(0,s.jsx)(n.bL,{"data-slot":"dialog",...t})}function i(e){let{...t}=e;return(0,s.jsx)(n.l9,{"data-slot":"dialog-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function u(e){let{className:t,children:a,showCloseButton:l=!0,...i}=e;return(0,s.jsxs)(d,{"data-slot":"dialog-portal",children:[(0,s.jsx)(c,{}),(0,s.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200",t),...i,children:[a,l&&(0,s.jsxs)(n.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(r.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function p(e){let{className:t,...a}=e;return(0,s.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...a})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}},45730:(e,t,a)=>{a.d(t,{Ke:()=>l,Nt:()=>r,R6:()=>o});var s=a(89835),n=a(76845);function r(e){let{...t}=e;return(0,s.jsx)(n.bL,{"data-slot":"collapsible",...t})}function o(e){let{...t}=e;return(0,s.jsx)(n.R6,{"data-slot":"collapsible-trigger",...t})}function l(e){let{...t}=e;return(0,s.jsx)(n.Ke,{"data-slot":"collapsible-content",...t})}},51290:(e,t,a)=>{a.d(t,{c:()=>u});var s=a(89835),n=a(62520),r=a(26057),o=a(55931),l=a(80942),i=a(40138),d=a(70540);let c=e=>{let{projectId:t,onSuccess:a}=e,n=(0,d.fg)(t,a);return(0,s.jsx)(d.VA,{projectId:t,onSubmit:e=>{n.mutate({message:e})},isPending:n.isPending,error:n.error,placeholder:"Type your message here... (Start with / for commands, @ for files, Shift+Enter to send)",buttonText:"Start Chat",minHeight:"min-h-[200px]",containerClassName:"space-y-4"})},u=e=>{let{projectId:t,trigger:a}=e,[d,u]=(0,o.useState)(!1);return(0,s.jsxs)(i.lG,{open:d,onOpenChange:u,children:[(0,s.jsx)(i.zM,{asChild:!0,children:null!=a?a:(0,s.jsxs)(l.$,{className:"gap-2",children:[(0,s.jsx)(n.A,{className:"w-4 h-4"}),"New Chat"]})}),(0,s.jsxs)(i.Cf,{className:"w-[95vw] md:w-[80vw]",children:[(0,s.jsx)(i.c7,{children:(0,s.jsxs)(i.L3,{className:"flex items-center gap-2",children:[(0,s.jsx)(r.A,{className:"w-5 h-5"}),"Start New Chat"]})}),(0,s.jsx)(c,{projectId:t,onSuccess:()=>{u(!1)}})]})]})}},53630:(e,t,a)=>{a.d(t,{s:()=>s});let s=(0,a(74865).hc)("/")},57981:(e,t,a)=>{a.d(t,{o:()=>m});var s=a(89835),n=a(13881),r=a(55931),o=a(89290),l=a(14464),i=a(91260),d=a(18237);function c(e){let{className:t,...a}=e;return(0,s.jsx)(l.bL,{"data-slot":"checkbox",className:(0,d.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(l.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,s.jsx)(i.A,{className:"size-3.5"})})})}var u=a(5685);let m=e=>{let{openingProjectId:t,showLabels:a=!0,showDescriptions:l=!0,className:i=""}=e,d=(0,r.useId)(),{config:m,updateConfig:p}=(0,o.U)(),f=(0,n.useQueryClient)(),h=(0,r.useCallback)(async()=>{await f.invalidateQueries({queryKey:o.R.queryKey}),await f.invalidateQueries({queryKey:["projects"]}),f.invalidateQueries({queryKey:(0,u.M)(t).queryKey})},[f,t]),g=async()=>{p({...m,hideNoUserMessageSession:!(null==m?void 0:m.hideNoUserMessageSession)}),await h()},x=async()=>{p({...m,unifySameTitleSession:!(null==m?void 0:m.unifySameTitleSession)}),await h()};return(0,s.jsxs)("div",{className:"space-y-4 ".concat(i),children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(c,{id:d,checked:null==m?void 0:m.hideNoUserMessageSession,onCheckedChange:g}),a&&(0,s.jsx)("label",{htmlFor:d,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Hide sessions without user messages"})]}),l&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-6",children:"Only show sessions that contain user commands or messages"}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(c,{id:"".concat(d,"-unify"),checked:null==m?void 0:m.unifySameTitleSession,onCheckedChange:x}),a&&(0,s.jsx)("label",{htmlFor:"".concat(d,"-unify"),className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Unify sessions with same title"})]}),l&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-6",children:"Show only the latest session when multiple sessions have the same title"})]})}},70540:(e,t,a)=>{a.d(t,{VA:()=>j,fg:()=>C,Gl:()=>S});var s=a(89835),n=a(28043),r=a(58903),o=a(70038),l=a(55931),i=a(80942),d=a(18237);function c(e){let{className:t,...a}=e;return(0,s.jsx)("textarea",{"data-slot":"textarea",className:(0,d.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex min-h-[60px] w-full min-w-0 resize-none rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...a})}var u=a(63812),m=a(72676),p=a(91260),f=a(45730),h=a(53630);let g=(0,l.forwardRef)((e,t)=>{let{projectId:a,inputValue:n,onCommandSelect:r,className:o}=e,[c,g]=(0,l.useState)(!1),[x,b]=(0,l.useState)(-1),v=(0,l.useRef)(null),w=(0,l.useRef)(null),{data:y}=(0,u.useQuery)({queryKey:["claude-commands",a],queryFn:async()=>{let e=await h.s.api.projects[":projectId"]["claude-commands"].$get({param:{projectId:a}});if(!e.ok)throw Error("Failed to fetch commands");return e.json()},staleTime:3e5}),{shouldShowCompletion:j,filteredCommands:N}=(0,l.useMemo)(()=>{let e=[...(null==y?void 0:y.defaultCommands)||[],...(null==y?void 0:y.globalCommands)||[],...(null==y?void 0:y.projectCommands)||[]],t=n.startsWith("/"),a=t?n.slice(1).toLowerCase():"",s=t?e.filter(e=>e.toLowerCase().includes(a)):[];return{shouldShowCompletion:t,filteredCommands:s}},[y,n]),k=j&&N.length>0;c!==k&&(g(k),b(-1));let C=(0,l.useCallback)(e=>{r("/".concat(e," ")),g(!1),b(-1)},[r]),S=(0,l.useCallback)(e=>{if(e>=0&&w.current){let t=w.current.querySelectorAll('button[role="option"]')[e];t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}},[]),A=(0,l.useCallback)(e=>{if(!c||0===N.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),b(e=>{let t=e<N.length-1?e+1:0;return requestAnimationFrame(()=>S(t)),t}),!0;case"ArrowUp":return e.preventDefault(),b(e=>{let t=e>0?e-1:N.length-1;return requestAnimationFrame(()=>S(t)),t}),!0;case"Enter":case"Tab":if(x>=0&&x<N.length){e.preventDefault();let t=N[x];return t&&C(t),!0}break;case"Escape":return e.preventDefault(),g(!1),b(-1),!0}return!1},[c,N.length,x,C,S,N]);return((0,l.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&(g(!1),b(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,l.useImperativeHandle)(t,()=>({handleKeyDown:A}),[A]),j&&0!==N.length)?(0,s.jsx)("div",{ref:v,className:(0,d.cn)("relative",o),children:(0,s.jsx)(f.Nt,{open:c,onOpenChange:g,children:(0,s.jsx)(f.Ke,{children:(0,s.jsx)("div",{ref:w,className:"absolute z-50 w-full mt-1 bg-popover border border-border rounded-md shadow-lg max-h-48 overflow-y-auto",role:"listbox","aria-label":"Available commands",children:N.length>0&&(0,s.jsxs)("div",{className:"p-1",children:[(0,s.jsxs)("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground border-b border-border mb-1 flex items-center gap-2",role:"presentation",children:[(0,s.jsx)(m.A,{className:"w-3 h-3"}),"Available Commands (",N.length,")"]}),N.map((e,t)=>(0,s.jsxs)(i.$,{variant:"ghost",size:"sm",className:(0,d.cn)("w-full justify-start text-left font-mono text-sm h-8 px-2 min-w-0",t===x&&"bg-accent text-accent-foreground"),onClick:()=>C(e),onMouseEnter:()=>b(t),role:"option","aria-selected":t===x,"aria-label":"Command: /".concat(e),title:"/".concat(e),children:[(0,s.jsx)("span",{className:"text-muted-foreground mr-1 flex-shrink-0",children:"/"}),(0,s.jsx)("span",{className:"font-medium truncate min-w-0",children:e}),t===x&&(0,s.jsx)(p.A,{className:"w-3 h-3 ml-auto text-primary flex-shrink-0"})]},e))]})})})})}):null});var x=a(57378),b=a(65492);let v=function(e,t){let a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,u.useQuery)({queryKey:["file-completion",e,t],queryFn:async()=>{let a=await h.s.api.projects[":projectId"]["file-completion"].$get({param:{projectId:e},query:{basePath:t}});if(!a.ok)throw Error("Failed to fetch file completion");return a.json()},enabled:a&&!!e,staleTime:3e5})},w=(0,l.forwardRef)((e,t)=>{let{projectId:a,inputValue:n,onFileSelect:r,className:o}=e,[c,u]=(0,l.useState)(!1),[m,h]=(0,l.useState)(-1),g=(0,l.useRef)(null),w=(0,l.useRef)(null),{shouldShow:y,searchPath:j,beforeAt:N,afterAt:k}=(0,l.useMemo)(()=>(e=>{let t=e.lastIndexOf("@");if(-1===t)return{shouldShow:!1,searchPath:"",beforeAt:"",afterAt:""};let a=e.slice(0,t),s=e.slice(t+1),n=s.split(/\s/),r=n[0]||"";return{shouldShow:!(n.length>1),searchPath:r,beforeAt:a,afterAt:s}})(n),[n]),{basePath:C,filterTerm:S}=(0,l.useMemo)(()=>{if(!j)return{basePath:"/",filterTerm:""};let e=j.lastIndexOf("/");if(-1===e)return{basePath:"/",filterTerm:j};let t=j.slice(0,e+1);return{basePath:"/"===t?"/":t,filterTerm:j.slice(e+1)}},[j]),{data:A,isLoading:I}=v(a,C,y),M=(0,l.useMemo)(()=>(null==A?void 0:A.entries)?S?A.entries.filter(e=>e.name.toLowerCase().includes(S.toLowerCase())):A.entries:[],[null==A?void 0:A.entries,S]),z=y&&!I&&M.length>0;c!==z&&(u(z),h(-1));let E=(0,l.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=e.path,s=k.split(/\s/).slice(1).join(" ");r("".concat(N,"@").concat(a).concat(s).trim()+("directory"!==e.type||t?" ":"/")),("file"===e.type||t)&&(u(!1),h(-1))},[N,k,r]),F=(0,l.useCallback)(e=>{if(e>=0&&w.current){let t=w.current.querySelectorAll('button[role="option"]')[e];t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}},[]),T=(0,l.useCallback)(e=>{if(!c||0===M.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),h(e=>{let t=e<M.length-1?e+1:0;return requestAnimationFrame(()=>F(t)),t}),!0;case"ArrowUp":return e.preventDefault(),h(e=>{let t=e>0?e-1:M.length-1;return requestAnimationFrame(()=>F(t)),t}),!0;case"Enter":if(m>=0&&m<M.length){e.preventDefault();let t=M[m];return t&&E(t,!0),!0}break;case"Tab":if(m>=0&&m<M.length){e.preventDefault();let t=M[m];return t&&E(t,"file"===t.type),!0}break;case"Escape":return e.preventDefault(),u(!1),h(-1),!0}return!1},[c,M.length,m,E,F,M]);return((0,l.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&(u(!1),h(-1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,l.useImperativeHandle)(t,()=>({handleKeyDown:T}),[T]),!y||I||0===M.length)?null:(0,s.jsx)("div",{ref:g,className:(0,d.cn)("relative",o),children:(0,s.jsx)(f.Nt,{open:c,onOpenChange:u,children:(0,s.jsx)(f.Ke,{children:(0,s.jsx)("div",{ref:w,className:"absolute z-50 w-full mt-1 bg-popover border border-border rounded-md shadow-lg max-h-48 overflow-y-auto",role:"listbox","aria-label":"Available files and directories",children:M.length>0&&(0,s.jsxs)("div",{className:"p-1",children:[(0,s.jsxs)("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground border-b border-border mb-1 flex items-center gap-2",role:"presentation",children:[(0,s.jsx)(x.A,{className:"w-3 h-3"}),"Files & Directories (",M.length,")","/"!==C&&(0,s.jsxs)("span",{className:"text-xs font-mono text-muted-foreground/70",children:["in ",C]})]}),M.map((e,t)=>(0,s.jsxs)(i.$,{variant:"ghost",size:"sm",className:(0,d.cn)("w-full justify-start text-left font-mono text-sm h-8 px-2 min-w-0",t===m&&"bg-accent text-accent-foreground"),onClick:()=>E(e,"file"===e.type),onMouseEnter:()=>h(t),role:"option","aria-selected":t===m,"aria-label":"".concat(e.type,": ").concat(e.name),title:e.path,children:["directory"===e.type?(0,s.jsx)(b.A,{className:"w-3 h-3 mr-2 text-blue-500 flex-shrink-0"}):(0,s.jsx)(x.A,{className:"w-3 h-3 mr-2 text-gray-500 flex-shrink-0"}),(0,s.jsx)("span",{className:"font-medium truncate min-w-0",children:e.name}),"directory"===e.type&&(0,s.jsx)("span",{className:"text-muted-foreground ml-1 flex-shrink-0",children:"/"}),t===m&&(0,s.jsx)(p.A,{className:"w-3 h-3 ml-auto text-primary flex-shrink-0"})]},e.path))]})})})})})});w.displayName="FileCompletion";let y=e=>{let{projectId:t,message:a,commandCompletionRef:n,fileCompletionRef:r,handleCommandSelect:o,handleFileSelect:i,cursorPosition:d}=e,c=(0,l.useMemo)(()=>((e,t)=>{let a,s,n=window.innerHeight,r=n/2;console.log("debug cursor and viewport",{absoluteCursorTop:t.top,viewportCenter:r});let o=t.top<r,l=n-t.top,i=t.top;o&&l>=200?(a="below",s=e.top+16):!o&&i>=200?(a="above",s=e.top-200-8):l>i?(a="below",s=e.top+16):(a="above",s=e.top-200-8);let d=window.innerWidth;return{top:s,left:Math.max(16,Math.min(e.left-16,d-512-16)),placement:a}})(d.relative,d.absolute),[d]);return(0,s.jsxs)("div",{className:"absolute w-full max-w-sm sm:max-w-md lg:max-w-lg xl:max-w-xl",style:{top:c.top,left:c.left,maxWidth:Math.min(512,.8*window.innerWidth)},children:[(0,s.jsx)(g,{ref:n,projectId:t,inputValue:a,onCommandSelect:o,className:"absolute left-0 right-0 ".concat("above"===c.placement?"bottom-full mb-2":"top-full mt-1")}),(0,s.jsx)(w,{ref:r,projectId:t,inputValue:a,onFileSelect:i,className:"absolute left-0 right-0 ".concat("above"===c.placement?"bottom-full mb-2":"top-full mt-1")})]})},j=e=>{let{projectId:t,onSubmit:a,isPending:d,error:u,placeholder:m,buttonText:p,minHeight:f="min-h-[100px]",containerClassName:h="",disabled:g=!1,buttonSize:x="lg"}=e,[b,v]=(0,l.useState)(""),[w,j]=(0,l.useState)({relative:{top:0,left:0},absolute:{top:0,left:0}}),N=(0,l.useRef)(null),k=(0,l.useRef)(null),C=(0,l.useRef)(null),S=(0,l.useRef)(null),A=(0,l.useId)(),I=()=>{b.trim()&&(a(b.trim()),v(""))},M=(0,l.useCallback)(()=>{let e=k.current,t=N.current;if(null===e||null===t)return;let a=e.selectionStart,s=e.value.substring(0,a),n=e.value.substring(a),r=document.createTextNode(s),o=document.createTextNode(n),l=document.createElement("span");l.innerHTML="&nbsp;";let i=document.createElement("div");i.innerHTML="",i.append(r,l,o);let d=window.getComputedStyle(e);for(let e of["border","boxSizing","fontFamily","fontSize","fontWeight","letterSpacing","lineHeight","padding","textDecoration","textIndent","textTransform","whiteSpace","wordSpacing","wordWrap"])i.style[e]=d[e];i.style.visibility="hidden",t.prepend(i);let c=l.getBoundingClientRect(),u=t.getBoundingClientRect();return t.removeChild(i),{relative:{top:c.top-u.top-e.scrollTop,left:c.left-u.left-e.scrollLeft},absolute:{top:c.top-e.scrollTop,left:c.left-e.scrollLeft}}},[]);return(0,s.jsxs)("div",{className:h,children:[u&&(0,s.jsxs)("div",{className:"flex items-center gap-2 p-3 text-sm text-destructive bg-destructive/10 border border-destructive/20 rounded-md mb-4",children:[(0,s.jsx)(n.A,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Failed to send message. Please try again."})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"relative",ref:N,children:[(0,s.jsx)(c,{ref:k,value:b,onChange:e=>{if(e.target.value.endsWith("@")||e.target.value.endsWith("/")){let e=M();e&&j(e)}v(e.target.value)},onKeyDown:e=>{var t,a;null!=(t=S.current)&&t.handleKeyDown(e)||(null==(a=C.current)||!a.handleKeyDown(e))&&"Enter"===e.key&&e.shiftKey&&(e.preventDefault(),I())},placeholder:m,className:"".concat(f," resize-none"),disabled:d||g,maxLength:4e3,"aria-label":"Message input with completion support","aria-describedby":A,"aria-expanded":b.startsWith("/")||b.includes("@"),"aria-haspopup":"listbox",role:"combobox","aria-autocomplete":"list"}),(0,s.jsx)(y,{projectId:t,message:b,commandCompletionRef:C,fileCompletionRef:S,handleCommandSelect:e=>{var t;v(e),null==(t=k.current)||t.focus()},handleFileSelect:e=>{var t;v(e),null==(t=k.current)||t.focus()},cursorPosition:w})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",id:A,children:[b.length,'/4000 characters " • Use arrow keys to navigate completions"']}),(0,s.jsx)(i.$,{onClick:I,disabled:!b.trim()||d||g,size:x,className:"gap-2",children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.A,{className:"w-4 h-4 animate-spin"}),"Sending... This may take a while."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.A,{className:"w-4 h-4"}),p]})})]})]})]})};var N=a(59054),k=a(79588);let C=(e,t)=>{let a=(0,k.useRouter)();return(0,N.useMutation)({mutationFn:async t=>{let a=await h.s.api.projects[":projectId"]["new-session"].$post({param:{projectId:e},json:{message:t.message}},{init:{signal:AbortSignal.timeout(2e4)}});if(!a.ok)throw Error(a.statusText);return a.json()},onSuccess:async s=>{null==t||t(),a.push("/projects/".concat(e,"/sessions/").concat(s.sessionId,"#message-").concat(s.userMessageId))}})},S=(e,t)=>{let a=(0,k.useRouter)();return(0,N.useMutation)({mutationFn:async a=>{let s=await h.s.api.projects[":projectId"].sessions[":sessionId"].resume.$post({param:{projectId:e,sessionId:t},json:{resumeMessage:a.message}},{init:{signal:AbortSignal.timeout(2e4)}});if(!s.ok)throw Error(s.statusText);return s.json()},onSuccess:async s=>{t!==s.sessionId&&a.push("/projects/".concat(e,"/sessions/").concat(s.sessionId,"#message-").concat(s.userMessageId))}})}},72667:(e,t,a)=>{a.d(t,{H:()=>s});let s=e=>{switch(e.kind){case"command":if(void 0===e.commandArgs)return e.commandName;return"".concat(e.commandName," ").concat(e.commandArgs);case"local-command":return e.stdout;case"text":return e.content;default:throw Error("Invalid first command")}}},75284:(e,t,a)=>{a.d(t,{BT:()=>i,Wu:()=>d,ZB:()=>l,Zp:()=>r,aR:()=>o});var s=a(89835),n=a(18237);function r(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function l(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function i(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function d(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}},80942:(e,t,a)=>{a.d(t,{$:()=>i});var s=a(89835),n=a(8607),r=a(7951),o=a(18237);let l=(0,r.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:a,size:r,asChild:i=!1,...d}=e,c=i?n.DX:"button";return(0,s.jsx)(c,{"data-slot":"button",className:(0,o.cn)(l({variant:a,size:r,className:t})),...d})}},89290:(e,t,a)=>{a.d(t,{R:()=>i,U:()=>d});var s=a(13881),n=a(45320),r=a(59054),o=a(55931),l=a(53630);let i={queryKey:["config"],queryFn:async()=>{let e=await l.s.api.config.$get();return await e.json()}},d=()=>{let e=(0,s.useQueryClient)(),{data:t}=(0,n.useSuspenseQuery)({...i}),a=(0,r.useMutation)({mutationFn:async e=>{let t=await l.s.api.config.$put({json:e});return await t.json()},onSuccess:async()=>{await e.invalidateQueries({queryKey:i.queryKey})}});return{config:null==t?void 0:t.config,updateConfig:(0,o.useCallback)(e=>{a.mutate(e)},[a])}}}}]);