clawpad 0.3.1 → 0.3.2

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 (169) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +13 -13
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/react-loadable-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  19. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/api/ai/write/route_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/api/changes/[id]/route_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/api/changes/record/route_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/api/changes/revert/route_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/changes/run/route_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/api/chat/abort/route_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/files/pages/[...path]/route_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/api/files/recent/route_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/api/files/search/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/files/spaces/[space]/pages/route_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/api/files/spaces/route_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/api/files/watch/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/api/gateway/detect/route_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/api/gateway/events/route_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/api/gateway/features/route_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/api/gateway/history/route_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/api/gateway/resolve/route_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/gateway/status/route_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/api/openclaw/commands/route_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/settings/search-status/route_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/api/setup/bootstrap/route.js +83 -1
  49. package/.next/standalone/.next/server/app/api/setup/bootstrap/route_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/api/setup/bootstrap-workspace/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/setup/bootstrap-workspace/route_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/api/setup/status/route.js +1 -1
  53. package/.next/standalone/.next/server/app/api/setup/status/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route.js +123 -10
  55. package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/index.html +1 -1
  58. package/.next/standalone/.next/server/app/index.rsc +4 -4
  59. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  61. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
  63. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  64. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/settings/connection/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/settings/connection.html +1 -1
  67. package/.next/standalone/.next/server/app/settings/connection.rsc +4 -4
  68. package/.next/standalone/.next/server/app/settings/connection.segments/_full.segment.rsc +4 -4
  69. package/.next/standalone/.next/server/app/settings/connection.segments/_head.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/settings/connection.segments/_index.segment.rsc +4 -4
  71. package/.next/standalone/.next/server/app/settings/connection.segments/_tree.segment.rsc +2 -2
  72. package/.next/standalone/.next/server/app/settings/connection.segments/settings/connection/__PAGE__.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/settings/connection.segments/settings/connection.segment.rsc +1 -1
  74. package/.next/standalone/.next/server/app/settings/connection.segments/settings.segment.rsc +1 -1
  75. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/settings.html +1 -1
  77. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  78. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +4 -4
  79. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  80. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
  81. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  82. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/setup/page.js +2 -2
  85. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/setup.html +1 -1
  88. package/.next/standalone/.next/server/app/setup.rsc +5 -5
  89. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +5 -5
  90. package/.next/standalone/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/setup.segments/_index.segment.rsc +4 -4
  92. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  93. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  94. package/.next/standalone/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  95. package/.next/standalone/.next/server/app/workspace/[...path]/page.js +1 -1
  96. package/.next/standalone/.next/server/app/workspace/[...path]/page.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/workspace/[...path]/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/workspace/page.js +2 -2
  99. package/.next/standalone/.next/server/app/workspace/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/workspace/search/page.js +2 -2
  102. package/.next/standalone/.next/server/app/workspace/search/page.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/workspace/search/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/workspace/search.html +2 -2
  105. package/.next/standalone/.next/server/app/workspace/search.rsc +6 -6
  106. package/.next/standalone/.next/server/app/workspace/search.segments/_full.segment.rsc +6 -6
  107. package/.next/standalone/.next/server/app/workspace/search.segments/_head.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/workspace/search.segments/_index.segment.rsc +4 -4
  109. package/.next/standalone/.next/server/app/workspace/search.segments/_tree.segment.rsc +2 -2
  110. package/.next/standalone/.next/server/app/workspace/search.segments/workspace/search/__PAGE__.segment.rsc +2 -2
  111. package/.next/standalone/.next/server/app/workspace/search.segments/workspace/search.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/workspace/search.segments/workspace.segment.rsc +2 -2
  113. package/.next/standalone/.next/server/app/workspace.html +2 -2
  114. package/.next/standalone/.next/server/app/workspace.rsc +6 -6
  115. package/.next/standalone/.next/server/app/workspace.segments/_full.segment.rsc +6 -6
  116. package/.next/standalone/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/workspace.segments/_index.segment.rsc +4 -4
  118. package/.next/standalone/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
  119. package/.next/standalone/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/workspace.segments/workspace.segment.rsc +2 -2
  121. package/.next/standalone/.next/server/app-paths-manifest.json +13 -13
  122. package/.next/standalone/.next/server/chunks/2470.js +3 -3
  123. package/.next/standalone/.next/server/chunks/3251.js +2 -3
  124. package/.next/standalone/.next/server/chunks/4098.js +9 -0
  125. package/.next/standalone/.next/server/chunks/{9703.js → 7035.js} +3 -3
  126. package/.next/standalone/.next/server/chunks/7772.js +1 -0
  127. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  128. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  129. package/.next/standalone/.next/server/pages/404.html +1 -1
  130. package/.next/standalone/.next/server/pages/500.html +2 -2
  131. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  132. package/.next/standalone/package.json +2 -1
  133. package/.next/static/chunks/1178-f2f0bd687a63b9f8.js +4 -0
  134. package/.next/static/chunks/1592-8d48cfb007c02ef4.js +9 -0
  135. package/.next/static/chunks/{4839-8d9e473f5fea81c8.js → 20-4cfa0dd1c497eee3.js} +8 -8
  136. package/.next/static/chunks/3505-9fff91cc0bc3d611.js +1 -0
  137. package/.next/static/chunks/3678.620cb571eead466f.js +1 -0
  138. package/.next/static/chunks/385-4c7c8d3ad3b6b7db.js +1 -0
  139. package/.next/static/chunks/4559-722e02df6a03e69f.js +1 -0
  140. package/.next/static/chunks/6217-dcce2b95259e116b.js +1 -0
  141. package/.next/static/chunks/app/layout-c12666d2d05cce33.js +1 -0
  142. package/.next/static/chunks/app/setup/page-6e4deef7f9c6fa78.js +1 -0
  143. package/.next/static/chunks/app/workspace/[...path]/page-5c4919e22385a024.js +1 -0
  144. package/.next/static/chunks/app/workspace/layout-1b1ab0e3ede2544b.js +6 -0
  145. package/.next/static/chunks/app/workspace/page-3869e183f908f2fc.js +1 -0
  146. package/.next/static/chunks/app/workspace/search/page-d50c5815a7c7dc09.js +1 -0
  147. package/.next/static/chunks/{ba12c10f-9f20c2943b757ccd.js → ba12c10f-d2d630b861c021fb.js} +1 -1
  148. package/.next/static/chunks/{webpack-4017efb7c7e87263.js → webpack-2f676db6328b0d7d.js} +1 -1
  149. package/.next/static/css/a44c237eaaac8354.css +1 -0
  150. package/bin/clawpad.js +174 -9
  151. package/package.json +2 -1
  152. package/public/install.sh +32 -4
  153. package/skills/README.md +40 -0
  154. package/skills/workspace-manager/SKILL.md +449 -0
  155. package/.next/standalone/.next/server/chunks/8385.js +0 -9
  156. package/.next/static/chunks/3016-27e0c450e2ada8a3.js +0 -1
  157. package/.next/static/chunks/3678.7aa2a1e7fc03b615.js +0 -1
  158. package/.next/static/chunks/5488-cb187354d8aaa3d6.js +0 -1
  159. package/.next/static/chunks/7005-2786bffdf3d8496e.js +0 -9
  160. package/.next/static/chunks/8485-4d3e303f8e277e8d.js +0 -1
  161. package/.next/static/chunks/app/layout-8a46ab4a3e2d5cb0.js +0 -4
  162. package/.next/static/chunks/app/setup/page-a2a70f253bbf4382.js +0 -1
  163. package/.next/static/chunks/app/workspace/[...path]/page-d59a1f3dbc96308f.js +0 -4
  164. package/.next/static/chunks/app/workspace/layout-504ed80ab2d05d25.js +0 -10
  165. package/.next/static/chunks/app/workspace/page-677a7fccfea3cce2.js +0 -4
  166. package/.next/static/chunks/app/workspace/search/page-c00e5c231c4a1fdd.js +0 -1
  167. package/.next/static/css/3084c1365b9c9e06.css +0 -1
  168. /package/.next/static/{wrTc1IgxHQI9epHN29OBD → Vdp_rUF6W0savCIJ0kRdG}/_buildManifest.js +0 -0
  169. /package/.next/static/{wrTc1IgxHQI9epHN29OBD → Vdp_rUF6W0savCIJ0kRdG}/_ssgManifest.js +0 -0
@@ -1,10 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1807],{3163:(e,t,s)=>{"use strict";s.d(t,{e:()=>r});var n=s(1934);let a=0,r=(0,n.v)(e=>({items:[],addItem:t=>e(e=>({items:[{...t,id:`activity-${Date.now()}-${++a}`},...e.items].slice(0,20)})),clear:()=>e({items:[]})}))},7814:(e,t,s)=>{"use strict";function n(e){let t=e.replace(/\.md$/,"").split("/").filter(Boolean).map(e=>encodeURIComponent(e));return 0===t.length?"/workspace":`/workspace/${t.join("/")}`}s.d(t,{C:()=>n})},18496:(e,t,s)=>{"use strict";s.d(t,{M:()=>r});var n=s(1934),a=s(60464);let r=(0,n.v)((e,t)=>({spaces:[],expandedSpaces:new Set,expandedFolders:new Set,sidebarOpen:!0,activePage:null,recentPages:[],chatPanelOpen:!0,loadingSpaces:!1,loadingPages:new Map,pagesBySpace:new Map,loadSpaces:async()=>{e({loadingSpaces:!0});try{let t=await fetch("/api/files/spaces");if(!t.ok)throw Error("Failed to load spaces");let s=await t.json();e({spaces:s,loadingSpaces:!1})}catch{e({loadingSpaces:!1})}},loadPages:async s=>{let{loadingPages:n}=t(),a=new Map(n);a.set(s,!0),e({loadingPages:a});try{let n=await fetch(`/api/files/spaces/${encodeURIComponent(s)}/pages?recursive=true`);if(!n.ok)throw Error("Failed to load pages");let a=await n.json(),{pagesBySpace:r,loadingPages:l}=t(),i=new Map(r);i.set(s,a);let o=new Map(l);o.set(s,!1),e({pagesBySpace:i,loadingPages:o})}catch{let{loadingPages:n}=t(),a=new Map(n);a.set(s,!1),e({loadingPages:a})}},loadRecentPages:async()=>{try{let t=await fetch("/api/files/recent?limit=5");if(!t.ok)throw Error("Failed to load recent pages");let s=await t.json();e({recentPages:s})}catch{}},setActivePage:t=>e(e=>{if(!t)return{activePage:null};let s=t.replace(/\.md$/,"").split("/").filter(Boolean);if(s.length<=1)return{activePage:t};let n=s[0],r=e.spaces.some(e=>e.path===n),l=r?n:a.Sz,i=r?s.slice(1,-1):s.slice(0,-1),o=new Set(e.expandedFolders),c=l;for(let e of i)c=`${c}/${e}`,o.add(c);return{activePage:t,expandedFolders:o}}),toggleSpace:s=>{let{expandedSpaces:n,pagesBySpace:a}=t(),r=new Set(n);r.has(s)?r.delete(s):(r.add(s),a.has(s)||t().loadPages(s)),e({expandedSpaces:r})},toggleFolder:s=>{let{expandedFolders:n}=t(),a=new Set(n);a.has(s)?a.delete(s):a.add(s),e({expandedFolders:a})},toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),toggleChatPanel:()=>e({chatPanelOpen:!0}),setChatPanelOpen:t=>e({chatPanelOpen:t}),createPage:async(e,s)=>{let n=s.toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu,"").replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");if(!n)throw Error("Title results in an empty filename.");let r=e===a.Sz?n:`${e}/${n}`,l=e===a.Sz?encodeURIComponent(n):[e,n].map(encodeURIComponent).join("/"),i=await fetch(`/api/files/pages/${l}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`
2
- # ${s}
3
-
4
- `,meta:{title:s}})});if(!i.ok){let e="Failed to create page";try{let t=await i.json();t?.error&&(e=t.error)}catch{}throw Error(e)}return t().loadPages(e),t().loadRecentPages(),t().loadSpaces(),r},deletePage:async s=>{if(!(await fetch(`/api/files/pages/${s}`,{method:"DELETE"})).ok)throw Error("Failed to delete page");let n=s.includes("/")?s.split("/")[0]:a.Sz;t().loadPages(n),t().loadRecentPages(),t().loadSpaces();let{activePage:r}=t();r===s&&e({activePage:null})}}))},24733:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>sS});var n=s(95155),a=s(12115),r=s(12710),l=s(61878),i=s(51914),o=s(6071),c=s(52799),d=s(89239),u=s(70872),m=s(33210),h=s(19324);function x({...e}){return(0,n.jsx)(h.bL,{"data-slot":"sheet",...e})}function p({...e}){return(0,n.jsx)(h.ZL,{"data-slot":"sheet-portal",...e})}function g({className:e,...t}){return(0,n.jsx)(h.hJ,{"data-slot":"sheet-overlay",className:(0,c.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",e),...t})}function f({className:e,children:t,side:s="right",showCloseButton:a=!0,...r}){return(0,n.jsxs)(p,{children:[(0,n.jsx)(g,{}),(0,n.jsxs)(h.UC,{"data-slot":"sheet-content",className:(0,c.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===s&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===s&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===s&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===s&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...r,children:[t,a&&(0,n.jsxs)(h.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary 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",children:[(0,n.jsx)(m.A,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function b({className:e,...t}){return(0,n.jsx)(h.hE,{"data-slot":"sheet-title",className:(0,c.cn)("text-foreground font-semibold",e),...t})}var v=s(98500),j=s.n(v),w=s(73321),y=s(89363),N=s(21362),k=s(48368),C=s(51900),S=s(36999),A=s(35585);function E({className:e,children:t,...s}){return(0,n.jsxs)(A.bL,{"data-slot":"scroll-area",className:(0,c.cn)("relative",e),...s,children:[(0,n.jsx)(A.LM,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:!block [&>div]:!min-w-0",children:t}),(0,n.jsx)($,{}),(0,n.jsx)(A.OK,{})]})}function $({className:e,orientation:t="vertical",...s}){return(0,n.jsx)(A.VM,{"data-slot":"scroll-area-scrollbar",orientation:t,className:(0,c.cn)("flex touch-none p-px transition-colors select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent",e),...s,children:(0,n.jsx)(A.lr,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var z=s(97916),_=s(45160),R=s(86846),T=s(93571),L=s(70460),P=s(18496),D=s(31328),F=s(53536),M=s(60464);function K(e,t){let s={type:"folder",name:"",path:"",children:[]},n=new Map;for(let a of(n.set("",s),e)){let e=function(e,t){let s=e.replace(/\\/g,"/").replace(/\.md$/,"");if(t===M.Sz)return s;let n=`${t}/`;return s.startsWith(n)?s.slice(n.length):s}(a.path,t),r=e.split("/").filter(Boolean);if(0===r.length)continue;let l=r.pop(),i=s,o="";for(let e of r){let t=o?`${o}/${e}`:e,s=n.get(t);s||(s={type:"folder",name:e,path:t,children:[]},n.set(t,s),i.children.push(s)),i=s,o=t}i.children.push({type:"page",name:l,path:e,page:a})}return s.children}var I=s(7814);function O({onNavigate:e}){return(0,n.jsxs)(j(),{href:"/workspace",onClick:()=>e?.(),className:"flex items-center gap-2 text-[13px] font-semibold leading-none transition-colors hover:text-foreground/80",children:[(0,n.jsx)(T.R,{variant:"wordmark",size:26,theme:"light",alt:"ClawPad",className:"-translate-y-[2px]"}),(0,n.jsx)(V,{})]})}function U({onNavigate:e,isSheet:t,showHeader:s=!0}){let r=(0,w.usePathname)(),o=(0,w.useRouter)(),{spaces:c,expandedSpaces:d,expandedFolders:u,toggleSpace:m,toggleFolder:h,pagesBySpace:x,loadingSpaces:p,loadingPages:g,recentPages:f,loadSpaces:b,loadRecentPages:v,setActivePage:N}=(0,P.M)();(0,a.useEffect)(()=>{b(),v()},[b,v]),(0,a.useEffect)(()=>{r.startsWith("/workspace/")?N(r.replace("/workspace/","")):N(null)},[r,N]);let k=(0,a.useCallback)(t=>{o.push((0,I.C)(t)),e?.()},[o,e]),C=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:new-page")),e?.()},[e]),S=(0,a.useCallback)(()=>{let t=new KeyboardEvent("keydown",{key:"k",metaKey:!0,bubbles:!0});document.dispatchEvent(t),e?.()},[e]);return(0,n.jsxs)("div",{className:"flex h-full w-full flex-col overflow-hidden",children:[s&&(0,n.jsx)("div",{className:"flex h-12 shrink-0 items-center justify-between px-3",children:(0,n.jsx)(O,{onNavigate:e})}),(0,n.jsxs)("div",{className:"space-y-0.5 px-2",children:[(0,n.jsx)(H,{icon:(0,n.jsx)(l.A,{className:"h-4 w-4"}),label:"Search",shortcut:"⌘K",onClick:S,touchFriendly:t}),(0,n.jsx)(H,{icon:(0,n.jsx)(i.A,{className:"h-4 w-4"}),label:"New Page",shortcut:"⌘N",onClick:C,touchFriendly:t})]}),(0,n.jsx)(z.w,{className:"my-2"}),(0,n.jsx)(E,{className:"flex-1 w-full min-w-0 px-2",children:(0,n.jsxs)("div",{className:"w-full py-1",children:[(0,n.jsx)(Z,{children:"Spaces"}),p?(0,n.jsxs)("div",{className:"space-y-1 px-2",children:[(0,n.jsx)(R.E,{className:"h-7 w-full"}),(0,n.jsx)(R.E,{className:"h-7 w-full"}),(0,n.jsx)(R.E,{className:"h-7 w-full"})]}):0===c.length?(0,n.jsx)("p",{className:"px-2 py-2 text-xs text-muted-foreground",children:"No spaces yet"}):(0,n.jsx)("div",{className:"space-y-0.5",children:c.map(e=>(0,n.jsx)(W,{space:e,isExpanded:d.has(e.path),expandedFolders:u,pages:x.get(e.path)??[],isLoadingPages:g.get(e.path)??!1,pathname:r,touchFriendly:t,onToggle:()=>m(e.path),onToggleFolder:h,onNavigate:k},e.path))}),f.length>0&&(0,n.jsxs)("div",{className:"mt-4",children:[(0,n.jsx)(Z,{children:"Recent"}),(0,n.jsx)("div",{className:"space-y-0.5",children:f.slice(0,5).map(e=>(0,n.jsx)(B,{page:e,isActive:r===(0,I.C)(e.path),touchFriendly:t,onNavigate:()=>k(e.path)},e.path))})]})]})}),(0,n.jsx)(z.w,{}),(0,n.jsxs)("div",{className:"space-y-0.5 px-2 py-2",children:[(0,n.jsx)(G,{}),(0,n.jsx)(J,{touchFriendly:t}),(0,n.jsx)(j(),{href:"/settings/connection",onClick:()=>e?.(),children:(0,n.jsx)(H,{icon:(0,n.jsx)(y.A,{className:"h-4 w-4"}),label:"Settings",touchFriendly:t})})]})]})}let W=(0,a.memo)(function({space:e,isExpanded:t,expandedFolders:s,pages:a,isLoadingPages:r,pathname:l,touchFriendly:i,onToggle:o,onToggleFolder:d,onNavigate:u}){let m=K(a,e.path),h=t=>t.map(t=>{if("page"===t.type)return(0,n.jsx)(q,{page:t.page,isActive:l===(0,I.C)(t.page.path),touchFriendly:i,onNavigate:()=>u(t.page.path)},t.page.path);let a=`${e.path}/${t.path}`,r=s.has(a);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:()=>d(a),className:(0,c.cn)("flex w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-[12px] transition-colors","text-muted-foreground hover:bg-sidebar-accent hover:text-sidebar-foreground",i?"py-2 min-h-[44px]":"py-1",r&&"text-foreground"),children:[(0,n.jsx)(N.A,{className:(0,c.cn)("h-3 w-3 shrink-0 transition-transform duration-200",r&&"rotate-90")}),(0,n.jsx)("span",{className:"shrink-0 text-xs",children:"\uD83D\uDCC2"}),(0,n.jsx)("span",{className:"flex-1 min-w-0 truncate text-left",children:t.name})]}),r&&(0,n.jsx)("div",{className:"ml-3 min-w-0 border-l border-border/50 pl-2 py-0.5",children:h(t.children)})]},a)});return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:o,className:(0,c.cn)("flex w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-[13px] transition-colors","hover:bg-sidebar-accent",i?"py-2 min-h-[44px]":"py-1",t&&"font-medium"),children:[(0,n.jsx)(N.A,{className:(0,c.cn)("h-3 w-3 shrink-0 text-muted-foreground transition-transform duration-200",t&&"rotate-90")}),(0,n.jsx)("span",{className:"shrink-0 text-sm",children:e.icon??"\uD83D\uDCC1"}),(0,n.jsx)("span",{className:"flex-1 min-w-0 truncate text-left",children:e.name}),(0,n.jsx)(_.E,{variant:"secondary",className:"h-4 shrink-0 px-1 text-[10px] font-normal",children:e.pageCount})]}),t&&(0,n.jsx)("div",{className:"ml-3 min-w-0 border-l border-border/50 pl-2 py-0.5",children:r?(0,n.jsxs)("div",{className:"space-y-1 py-1",children:[(0,n.jsx)(R.E,{className:"h-6 w-full"}),(0,n.jsx)(R.E,{className:"h-6 w-3/4"})]}):0===m.length?(0,n.jsx)("p",{className:"py-1.5 px-2 text-[11px] text-muted-foreground",children:"No pages yet"}):h(m)})]})}),q=(0,a.memo)(function({page:e,isActive:t,touchFriendly:s,onNavigate:a}){return(0,n.jsxs)("button",{onClick:a,className:(0,c.cn)("flex w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-[13px] transition-colors","text-muted-foreground hover:bg-sidebar-accent hover:text-sidebar-foreground",s?"py-2 min-h-[44px]":"py-1",t&&"bg-accent-light text-accent-blue font-medium"),children:[e.icon?(0,n.jsx)("span",{className:"shrink-0 text-xs",children:e.icon}):(0,n.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"flex-1 min-w-0 truncate text-left",children:e.title})]})}),B=(0,a.memo)(function({page:e,isActive:t,touchFriendly:s,onNavigate:a}){return(0,n.jsxs)("button",{onClick:a,className:(0,c.cn)("flex w-full min-w-0 items-center gap-2 rounded-md px-2 text-[13px] transition-colors overflow-hidden","text-muted-foreground hover:bg-sidebar-accent hover:text-sidebar-foreground",s?"py-2 min-h-[44px]":"py-1",t&&"bg-accent-light text-accent-blue font-medium"),children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden",children:[e.icon?(0,n.jsx)("span",{className:"shrink-0 text-xs",children:e.icon}):(0,n.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"truncate text-left",children:e.title})]}),(0,n.jsx)("span",{className:"shrink-0 whitespace-nowrap tabular-nums text-[11px] font-medium text-muted-foreground/85",children:(0,F.f)(e.modified)})]})});function H({icon:e,label:t,shortcut:s,onClick:a,touchFriendly:r}){return(0,n.jsxs)("button",{onClick:a,className:(0,c.cn)("flex w-full min-w-0 items-center gap-2 rounded-md px-2 text-[13px] transition-colors duration-200","text-muted-foreground hover:bg-sidebar-accent hover:text-sidebar-foreground",r?"py-2.5 min-h-[44px]":"py-1.5"),children:[(0,n.jsx)("span",{className:"shrink-0",children:e}),(0,n.jsx)("span",{className:"flex-1 min-w-0 truncate text-left",children:t}),s&&(0,n.jsx)("kbd",{className:"shrink-0 rounded border border-border/70 bg-muted/70 px-1.5 py-0.5 text-[11px] font-mono font-medium leading-none tracking-tight text-muted-foreground/85",children:s})]})}function Z({children:e}){return(0,n.jsx)("h3",{className:"mb-1 px-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:e})}function J({touchFriendly:e}){let{resolvedTheme:t,setTheme:s}=(0,L.D)(),a="dark"===t;return(0,n.jsx)(H,{icon:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(C.A,{className:"hidden h-4 w-4 dark:inline"}),(0,n.jsx)(S.A,{className:"inline h-4 w-4 dark:hidden"})]}),label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"hidden dark:inline",children:"Light Mode"}),(0,n.jsx)("span",{className:"inline dark:hidden",children:"Dark Mode"})]}),onClick:()=>s(a?"light":"dark"),touchFriendly:e})}function V(){let e=(0,D.z)(e=>e.wsStatus),t=(0,D.z)(e=>e.agentStatus),s=(0,D.z)(e=>e.agentName),a=(0,D.z)(e=>e.wsError),r="connected"===e?"thinking"===t||"active"===t?"bg-[color:var(--cp-brand-2)]":"bg-green-400":"connecting"===e||"reconnecting"===e?"bg-yellow-400":"bg-zinc-400",l="connected"===e?"thinking"===t?`${s??"Agent"}: thinking…`:"active"===t?`${s??"Agent"}: working…`:`${s??"Agent"}: online`:"connecting"===e?`Connecting to gateway…${a?` — ${a}`:""}`:"reconnecting"===e?`Reconnecting to gateway…${a?` — ${a}`:""}`:`Disconnected${a?` — ${a}`:""}`;return(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsxs)("span",{className:"relative flex h-2.5 w-2.5",children:[("connecting"===e||"reconnecting"===e||"thinking"===t||"active"===t)&&(0,n.jsx)("span",{className:(0,c.cn)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75",r)}),(0,n.jsx)("span",{className:(0,c.cn)("relative inline-flex h-2.5 w-2.5 rounded-full ring-1 ring-[color:var(--cp-brand-border)]",r)})]})}),(0,n.jsx)(u.ZI,{children:l})]})}function G(){let e=(0,D.z)(e=>e.wsStatus),t=(0,D.z)(e=>e.agentStatus),s=(0,D.z)(e=>e.agentName),r=(0,D.z)(e=>e.wsError),l=(0,D.z)(e=>e.detect),i=(0,D.z)(e=>e.connect);(0,a.useEffect)(()=>{l().then(()=>i())},[l,i]);let o="connected"===e?"bg-green-400":"connecting"===e||"reconnecting"===e?"bg-yellow-400":"bg-red-400",d="connected"===e?"thinking"===t?`${s??"Agent"} thinking…`:"active"===t?`${s??"Agent"} working…`:`${s??"Agent"} online`:"connecting"===e?`Connecting…${r?` — ${r}`:""}`:"reconnecting"===e?`Reconnecting…${r?` — ${r}`:""}`:`Disconnected${r?` — ${r}`:""}`;return(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-1.5 text-[13px]",children:[(0,n.jsxs)("span",{className:"relative flex h-2 w-2",children:[("connecting"===e||"reconnecting"===e)&&(0,n.jsx)("span",{className:(0,c.cn)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75",o)}),(0,n.jsx)("span",{className:(0,c.cn)("relative inline-flex h-2 w-2 rounded-full",o)})]}),(0,n.jsx)("span",{className:"flex-1 text-[11px] text-muted-foreground",children:d}),"disconnected"===e&&(0,n.jsx)("button",{onClick:()=>{l().then(()=>i())},className:"text-[10px] text-blue-500 hover:text-blue-400 transition-colors",children:"Retry"})]})}function X(){let e=window.innerWidth;return e<640?"mobile-sm":e<768?"mobile":e<1024?"tablet":"desktop"}function Q(){let[e,t]=(0,a.useState)(()=>X());return(0,a.useEffect)(()=>{let e=window.matchMedia(`(max-width: ${639}px)`),s=window.matchMedia(`(min-width: 640px) and (max-width: ${767}px)`),n=window.matchMedia(`(min-width: 768px) and (max-width: ${1023}px)`);function a(){t(X())}return e.addEventListener("change",a),s.addEventListener("change",a),n.addEventListener("change",a),()=>{e.removeEventListener("change",a),s.removeEventListener("change",a),n.removeEventListener("change",a)}},[]),{breakpoint:e,isMobileSm:"mobile-sm"===e,isMobile:"mobile-sm"===e||"mobile"===e,isTablet:"tablet"===e,isDesktop:"desktop"===e}}function Y({className:e,...t}){return(0,n.jsx)("span",{className:(0,c.cn)("absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0","[clip:rect(0,0,0,0)]",e),...t})}function ee(){let{sidebarOpen:e,toggleSidebar:t,setSidebarOpen:s}=(0,P.M)(),{isMobile:m,isTablet:h}=Q(),[p,g]=(0,a.useState)(240),[v,j]=(0,a.useState)(!1),w=(0,a.useRef)(null),y=(0,a.useRef)(0),N=(0,a.useRef)(240),k=(0,a.useRef)(240),C=(0,a.useCallback)(e=>Math.max(208,Math.min(e,Math.round(.35*window.innerWidth))),[]);(0,a.useEffect)(()=>{if(m||h)return;let e=()=>{g(e=>{let t=C(e);return k.current=t,t})};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[C,m,h]),(0,a.useEffect)(()=>{k.current=p,w.current&&(w.current.style.width=`${p}px`)},[p]),(0,a.useEffect)(()=>{if(!v)return;let e=e=>{let t=e.clientX-y.current,s=C(N.current+t);k.current=s,w.current&&(w.current.style.width=`${s}px`)},t=()=>{j(!1),g(k.current)};return window.addEventListener("pointermove",e),window.addEventListener("pointerup",t),document.body.style.cursor="col-resize",document.body.style.userSelect="none",()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",t),document.body.style.cursor="",document.body.style.userSelect=""}},[C,v]);let S=(0,a.useCallback)(t=>{m||h||!e||(t.preventDefault(),y.current=t.clientX,N.current=k.current,j(!0))},[m,h,e]),A=(0,a.useCallback)(()=>{s(!1)},[s]),E=(0,a.useCallback)(()=>{let e=new KeyboardEvent("keydown",{key:"k",metaKey:!0,bubbles:!0});document.dispatchEvent(e)},[]),$=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:new-page"))},[]);return m?null:h?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex h-full w-12 flex-col items-center border-r bg-sidebar py-3 gap-2 shrink-0",children:[(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:t,children:(0,n.jsx)(r.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"Open sidebar (⌘\\)"})]}),(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:E,children:(0,n.jsx)(l.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"Search (⌘K)"})]}),(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:$,children:(0,n.jsx)(i.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"New Page (⌘N)"})]})]}),(0,n.jsx)(x,{open:e,onOpenChange:s,children:(0,n.jsxs)(f,{side:"left",className:"w-72 p-0",showCloseButton:!1,children:[(0,n.jsx)(Y,{children:(0,n.jsx)(b,{children:"Navigation"})}),(0,n.jsx)(U,{onNavigate:A,isSheet:!0})]})})]}):e?(0,n.jsxs)("div",{ref:w,className:"relative flex h-full shrink-0 flex-col border-r bg-sidebar",style:{width:p,minWidth:208,maxWidth:"35vw"},children:[(0,n.jsxs)("div",{className:"flex h-12 shrink-0 items-center justify-between px-3",children:[(0,n.jsx)(O,{}),(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:t,children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"Close sidebar (⌘\\)"})]})]}),(0,n.jsx)("div",{className:"flex-1 min-h-0 min-w-0 overflow-hidden",children:(0,n.jsx)(U,{showHeader:!1})}),(0,n.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",onPointerDown:S,className:(0,c.cn)("absolute right-0 top-0 z-20 h-full w-2 cursor-col-resize","group"),children:(0,n.jsx)("div",{className:(0,c.cn)("absolute inset-y-0 right-0 w-px bg-border/70","transition-colors group-hover:bg-[color:var(--cp-brand-2)]",v&&"bg-[color:var(--cp-brand-2)]")})})]}):(0,n.jsxs)("div",{className:"flex h-full w-12 flex-col items-center border-r bg-sidebar py-3 gap-2 shrink-0",children:[(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:t,children:(0,n.jsx)(r.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"Open sidebar (⌘\\)"})]}),(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:E,children:(0,n.jsx)(l.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"Search (⌘K)"})]}),(0,n.jsxs)(u.m_,{children:[(0,n.jsx)(u.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:$,children:(0,n.jsx)(i.A,{className:"h-4 w-4"})})}),(0,n.jsx)(u.ZI,{side:"right",children:"New Page (⌘N)"})]})]})}var et=s(21628),es=s(93631),en=s(84980),ea=s(2647),er=s(86901),el=s(49387),ei=s(34530),eo=s(42129),ec=s(96035),ed=s(92972),eu=s(5810),em=s(53961),eh=s(2467),ex=s(34738);function ep({...e}){return(0,n.jsx)(h.bL,{"data-slot":"dialog",...e})}function eg({...e}){return(0,n.jsx)(h.ZL,{"data-slot":"dialog-portal",...e})}function ef({className:e,...t}){return(0,n.jsx)(h.hJ,{"data-slot":"dialog-overlay",className:(0,c.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",e),...t})}function eb({className:e,children:t,showCloseButton:s=!0,...a}){return(0,n.jsxs)(eg,{"data-slot":"dialog-portal",children:[(0,n.jsx)(ef,{}),(0,n.jsxs)(h.UC,{"data-slot":"dialog-content",className:(0,c.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 max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",e),...a,children:[t,s&&(0,n.jsxs)(h.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,n.jsx)(m.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function ev({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,c.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function ej({className:e,showCloseButton:t=!1,children:s,...a}){return(0,n.jsxs)("div",{"data-slot":"dialog-footer",className:(0,c.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...a,children:[s,t&&(0,n.jsx)(h.bm,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"outline",children:"Close"})})]})}function ew({className:e,...t}){return(0,n.jsx)(h.hE,{"data-slot":"dialog-title",className:(0,c.cn)("text-lg leading-none font-semibold",e),...t})}function ey({className:e,...t}){return(0,n.jsx)(h.VY,{"data-slot":"dialog-description",className:(0,c.cn)("text-muted-foreground text-sm",e),...t})}function eN({className:e,...t}){return(0,n.jsx)(ex.uB,{"data-slot":"command",className:(0,c.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}function ek({title:e="Command Palette",description:t="Search for a command to run...",children:s,className:a,showCloseButton:r=!0,...l}){return(0,n.jsx)(ep,{...l,children:(0,n.jsxs)(eb,{className:(0,c.cn)("overflow-hidden p-0",a),showCloseButton:r,children:[(0,n.jsxs)(ev,{className:"sr-only",children:[(0,n.jsx)(ew,{children:e}),(0,n.jsx)(ey,{children:t})]}),(0,n.jsx)(eN,{className:"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:s})]})})}function eC({className:e,...t}){return(0,n.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,n.jsx)(l.A,{className:"size-4 shrink-0 opacity-50"}),(0,n.jsx)(ex.uB.Input,{"data-slot":"command-input",className:(0,c.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...t})]})}function eS({className:e,...t}){return(0,n.jsx)(ex.uB.List,{"data-slot":"command-list",className:(0,c.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}function eA({...e}){return(0,n.jsx)(ex.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function eE({className:e,...t}){return(0,n.jsx)(ex.uB.Group,{"data-slot":"command-group",className:(0,c.cn)("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}function e$({className:e,...t}){return(0,n.jsx)(ex.uB.Separator,{"data-slot":"command-separator",className:(0,c.cn)("bg-border -mx-1 h-px",e),...t})}function ez({className:e,...t}){return(0,n.jsx)(ex.uB.Item,{"data-slot":"command-item",className:(0,c.cn)("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function e_({className:e,...t}){return(0,n.jsx)("span",{"data-slot":"command-shortcut",className:(0,c.cn)("text-muted-foreground ml-auto text-xs tracking-widest",e),...t})}function eR(){let[e,t]=(0,a.useState)(!1),[s,o]=(0,a.useState)(""),[c,d]=(0,a.useState)([]),[u,m]=(0,a.useState)([]),[h,x]=(0,a.useState)(!1),p=(0,w.useRouter)(),{resolvedTheme:g,setTheme:f}=(0,L.D)(),{recentPages:b,spaces:v,toggleChatPanel:j,toggleSidebar:N}=(0,P.M)(),A=(0,a.useRef)(null);(0,a.useEffect)(()=>{let e=e=>{"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(e=>!e))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]),(0,a.useEffect)(()=>{e&&fetch("/api/files/recent?limit=8").then(e=>e.ok?e.json():[]).then(e=>m(e)).catch(()=>{})},[e]),(0,a.useEffect)(()=>{if(!s.trim()){d([]),x(!1);return}x(!0);let e=setTimeout(async()=>{A.current?.abort();let e=new AbortController;A.current=e;try{let t=await fetch(`/api/files/search?q=${encodeURIComponent(s)}&limit=10`,{signal:e.signal});if(t.ok){let e=await t.json();d(Array.isArray(e)?e:e.results??[])}}catch(e){e.name}finally{e.signal.aborted||x(!1)}},200);return()=>{clearTimeout(e)}},[s]);let E=(0,a.useCallback)(e=>{p.push((0,I.C)(e)),t(!1),o("")},[p]),$=(0,a.useCallback)(async e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),s=`${t}.md`;try{await fetch(`/api/files/pages/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`# ${e}
5
- `,frontmatter:{title:e}})}),E(s)}catch{}},[E]),z=(0,a.useCallback)(e=>{t(e),e||(o(""),d([]))},[]),R=u.length>0?u:b.slice(0,8),T=s.trim().length>0,D=c.length>0;return(0,n.jsxs)(ek,{open:e,onOpenChange:z,children:[(0,n.jsx)(eC,{placeholder:"Search pages or type a command…",value:s,onValueChange:o}),(0,n.jsxs)(eS,{children:[(0,n.jsx)(eA,{children:h?(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2 py-2",children:[(0,n.jsx)("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent"}),(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Searching…"})]}):T?"No results found.":null}),D&&(0,n.jsxs)(eE,{heading:"Pages",children:[c.map(e=>(0,n.jsxs)(ez,{value:`search-${e.path}`,onSelect:()=>E(e.path),className:"flex flex-col items-start gap-1 py-3",children:[(0,n.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,n.jsx)(k.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsxs)("span",{className:"truncate font-medium",children:[e.icon&&`${e.icon} `,e.title]}),(0,n.jsx)(_.E,{variant:"secondary",className:"ml-auto shrink-0 text-[10px] px-1.5 py-0",children:e.space}),e.modified&&(0,n.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground tabular-nums",children:function(e){try{let t=new Date(e),s=new Date().getTime()-t.getTime(),n=Math.floor(s/6e4),a=Math.floor(s/36e5),r=Math.floor(s/864e5);if(n<1)return"just now";if(n<60)return`${n}m ago`;if(a<24)return`${a}h ago`;if(r<7)return`${r}d ago`;return t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch{return""}}(e.modified)})]}),e.snippet&&(0,n.jsx)("p",{className:"ml-6 text-xs text-muted-foreground line-clamp-1 max-w-full",children:e.snippet.replace(/^---[\s\S]*?---\s*/m,"").replace(/^#+\s/gm,"").replace(/\n+/g," ").trim()})]},e.path)),(0,n.jsxs)(ez,{value:`view-all-search-${s}`,onSelect:()=>{p.push(`/workspace/search?q=${encodeURIComponent(s.trim())}`),t(!1),o("")},className:"justify-center text-muted-foreground",children:[(0,n.jsx)(l.A,{className:"mr-2 h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"text-xs",children:"View all results"}),(0,n.jsx)(et.A,{className:"ml-1 h-3 w-3"})]})]}),T&&!D&&!h&&(0,n.jsx)(eE,{heading:"Create",children:(0,n.jsxs)(ez,{value:`create-${s}`,onSelect:()=>$(s.trim()),children:[(0,n.jsx)(es.A,{className:"mr-2 h-4 w-4 text-primary"}),(0,n.jsxs)("span",{children:["Create page: ",(0,n.jsx)("strong",{children:s.trim()})]})]})}),!T&&R.length>0&&(0,n.jsx)(eE,{heading:"Recent Pages",children:R.map(e=>(0,n.jsxs)(ez,{value:`recent-${e.path}`,onSelect:()=>E(e.path),children:[(0,n.jsx)(en.A,{className:"mr-2 h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsxs)("div",{className:"flex flex-1 items-center gap-2 overflow-hidden",children:[e.icon&&(0,n.jsx)("span",{className:"shrink-0 text-sm",children:e.icon}),(0,n.jsx)("span",{className:"truncate",children:e.title}),(0,n.jsx)(_.E,{variant:"secondary",className:"ml-auto shrink-0 text-[10px] px-1.5 py-0",children:e.space===M.Sz?M.ke:e.space})]})]},e.path))}),(0,n.jsx)(e$,{}),(0,n.jsxs)(eE,{heading:"Pages",children:[(0,n.jsxs)(ez,{value:"new-page",onSelect:()=>{t(!1),window.dispatchEvent(new CustomEvent("clawpad:new-page"))},children:[(0,n.jsx)(i.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"New Page"}),(0,n.jsx)(e_,{children:"⌘N"})]}),(0,n.jsxs)(ez,{value:"new-daily-note",onSelect:()=>{t(!1),$(new Date().toISOString().slice(0,10))},children:[(0,n.jsx)(ea.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"New Daily Note"})]})]}),(0,n.jsxs)(eE,{heading:"AI",children:[(0,n.jsxs)(ez,{value:"ask-agent",onSelect:()=>{let e=P.M.getState();e.chatPanelOpen||e.toggleChatPanel(),t(!1)},children:[(0,n.jsx)(er.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Ask Agent"}),(0,n.jsx)(e_,{children:"⌘⇧L"})]}),(0,n.jsxs)(ez,{value:"summarize-page",onSelect:()=>{let e=P.M.getState();e.chatPanelOpen||e.toggleChatPanel(),t(!1),window.dispatchEvent(new CustomEvent("clawpad:ai-action",{detail:{action:"summarize"}}))},children:[(0,n.jsx)(k.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Summarize Page"})]}),(0,n.jsxs)(ez,{value:"improve-writing",onSelect:()=>{let e=P.M.getState();e.chatPanelOpen||e.toggleChatPanel(),t(!1),window.dispatchEvent(new CustomEvent("clawpad:ai-action",{detail:{action:"improve"}}))},children:[(0,n.jsx)(el.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Improve Writing"})]})]}),(0,n.jsxs)(eE,{heading:"Navigation",children:[(0,n.jsxs)(ez,{value:"search-workspace",onSelect:()=>{let e=s.trim();p.push(e?`/workspace/search?q=${encodeURIComponent(e)}`:"/workspace/search"),t(!1),o("")},children:[(0,n.jsx)(l.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Search Workspace"})]}),(0,n.jsxs)(ez,{value:"go-to-settings",onSelect:()=>{p.push("/settings"),t(!1)},children:[(0,n.jsx)(y.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Go to Settings"})]}),(0,n.jsxs)(ez,{value:"go-to-setup",onSelect:()=>{p.push("/setup"),t(!1)},children:[(0,n.jsx)(ei.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Go to Setup"})]}),v.map(e=>(0,n.jsxs)(ez,{value:`space-${e.path}`,onSelect:()=>{P.M.getState().toggleSpace(e.path),t(!1)},children:[(0,n.jsx)(eo.A,{className:"mr-2 h-4 w-4 text-muted-foreground"}),(0,n.jsxs)("span",{children:[e.icon&&`${e.icon} `,e.name]})]},e.path))]}),(0,n.jsxs)(eE,{heading:"Actions",children:[(0,n.jsxs)(ez,{value:"toggle-chat",onSelect:()=>{j(),t(!1)},children:[(0,n.jsx)(ec.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Toggle Chat"}),(0,n.jsx)(e_,{children:"⌘⇧L"})]}),(0,n.jsxs)(ez,{value:"toggle-sidebar",onSelect:()=>{N(),t(!1)},children:[(0,n.jsx)(r.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Toggle Sidebar"}),(0,n.jsx)(e_,{children:"⌘\\"})]}),(0,n.jsxs)(ez,{value:"toggle-dark-mode",onSelect:()=>{f("dark"===g?"light":"dark"),t(!1)},children:["dark"===g?(0,n.jsx)(C.A,{className:"mr-2 h-4 w-4"}):(0,n.jsx)(S.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Toggle Dark Mode"}),(0,n.jsx)(e_,{children:"⌘⇧D"})]}),(0,n.jsxs)(ez,{value:"theme-light",onSelect:()=>{f("light"),t(!1)},children:[(0,n.jsx)(C.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Theme: Light"})]}),(0,n.jsxs)(ez,{value:"theme-dark",onSelect:()=>{f("dark"),t(!1)},children:[(0,n.jsx)(S.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Theme: Dark"})]}),(0,n.jsxs)(ez,{value:"theme-system",onSelect:()=>{f("system"),t(!1)},children:[(0,n.jsx)(ed.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Theme: System"})]}),(0,n.jsxs)(ez,{value:"focus-editor",onSelect:()=>{let e=document.querySelector(".clawpad-editor [contenteditable]")??document.querySelector(".clawpad-editor");e?.focus(),t(!1)},children:[(0,n.jsx)(eu.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Focus Editor"}),(0,n.jsx)(e_,{children:"⌘⇧E"})]}),(0,n.jsxs)(ez,{value:"force-save",onSelect:()=>{window.dispatchEvent(new CustomEvent("clawpad:force-save")),t(!1)},children:[(0,n.jsx)(em.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Save"}),(0,n.jsx)(e_,{children:"⌘S"})]}),(0,n.jsxs)(ez,{value:"keyboard-shortcuts",onSelect:()=>{window.dispatchEvent(new CustomEvent("clawpad:shortcuts-dialog")),t(!1)},children:[(0,n.jsx)(eh.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Keyboard Shortcuts"}),(0,n.jsx)(e_,{children:"⌘/"})]})]})]})]})}var eT=s(60529),eL=s(29991),eP=s(66609);function eD(){let[e,t]=(0,a.useState)(!1),[s,r]=(0,a.useState)(""),[l,i]=(0,a.useState)(""),[o,c]=(0,a.useState)(!1),u=(0,w.useRouter)(),{spaces:m,createPage:h}=(0,P.M)();(0,a.useEffect)(()=>{let e=()=>t(!0);window.addEventListener("clawpad:new-page",e);let s=e=>{"n"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(!0))};return document.addEventListener("keydown",s),()=>{window.removeEventListener("clawpad:new-page",e),document.removeEventListener("keydown",s)}},[]),(0,a.useEffect)(()=>{e&&m.length>0&&!l&&i(m[0].path)},[e,m,l]);let x=(0,a.useCallback)(async()=>{if(s.trim()&&l){c(!0);try{let e=await h(l,s.trim());u.push((0,I.C)(e)),t(!1),r(""),i("")}catch(t){let e=t instanceof Error?t.message:"Failed to create page.";eP.oR.error(e)}finally{c(!1)}}},[s,l,h,u]),p=(0,a.useCallback)(e=>{"Enter"!==e.key||o||(e.preventDefault(),x())},[x,o]);return(0,n.jsx)(ep,{open:e,onOpenChange:t,children:(0,n.jsxs)(eb,{className:"sm:max-w-[425px]",children:[(0,n.jsxs)(ev,{children:[(0,n.jsx)(ew,{children:"New Page"}),(0,n.jsx)(ey,{children:"Create a new page in your workspace."})]}),(0,n.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("label",{htmlFor:"page-title",className:"text-sm font-medium leading-none",children:"Title"}),(0,n.jsx)(eT.p,{id:"page-title",placeholder:"Page title…",value:s,onChange:e=>r(e.target.value),onKeyDown:p,autoFocus:!0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("label",{className:"text-sm font-medium leading-none",children:"Space"}),(0,n.jsxs)(eL.l6,{value:l,onValueChange:i,children:[(0,n.jsx)(eL.bq,{children:(0,n.jsx)(eL.yv,{placeholder:"Select a space"})}),(0,n.jsx)(eL.gC,{children:m.map(e=>(0,n.jsxs)(eL.eb,{value:e.path,children:[e.icon&&`${e.icon} `,e.name]},e.path))})]})]})]}),(0,n.jsxs)(ej,{children:[(0,n.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),children:"Cancel"}),(0,n.jsx)(d.$,{onClick:x,disabled:!s.trim()||!l||o,children:o?"Creating…":"Create"})]})]})})}var eF=s(84577),eM=s(86726),eK=s(56558),eI=s(15411),eO=s(7915),eU=s(92018),eW=s(6296),eq=s(13545),eB=s(56842),eH=s(99815),eZ=s(10762),eJ=s(72055),eV=s(95672),eG=s(66088),eX=s(94514),eQ=s(38399),eY=s(41730),e0=s(92451),e1=s(17243),e2=s(74643),e5=s(69260),e4=s(6489),e3=s(65576),e6=s(32967),e9=s(13175),e8=s(76597),e7=s(25262),te=s(44408),tt=s(80642),ts=s(18310),tn=s(46794),ta=s(83099);let tr=/<\s*\/?\s*(?:think(?:ing)?|thought|antthinking|final)\b/i,tl=/<\s*\/?\s*final\b[^<>]*>/gi,ti=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\b[^<>]*>/gi;function to(e){let t=[];for(let s of e.matchAll(/(^|\n)(```|~~~)[^\n]*\n[\s\S]*?(?:\n\2(?:\n|$)|$)/g)){let e=(s.index??0)+s[1].length;t.push({start:e,end:e+s[0].length-s[1].length})}for(let s of e.matchAll(/`+[^`]+`+/g)){let e=s.index??0,n=e+s[0].length;t.some(t=>e>=t.start&&n<=t.end)||t.push({start:e,end:n})}return t.sort((e,t)=>e.start-t.start),t}function tc(e,t){return t.some(t=>e>=t.start&&e<t.end)}var td=s(9921);function tu({status:e}){let t=(0,w.useRouter)(),s=(0,ta.W)(e=>e.activeRun),r=(0,ta.W)(e=>e.activeFiles),l=(0,ta.W)(e=>e.changeSets),i=(0,ta.W)(e=>e.openReview),o=(0,ta.W)(e=>e.closeReview),d=l.find(e=>"completed"===e.status),[u,m]=(0,a.useState)(!1),h=r.size,x=!!d,p=e?"status":s&&h>0?"editing":x?"summary":null,g="editing"===p?h:d?.totals.filesChanged??0,f=d?.totals.additions??0,b=d?.totals.deletions??0,v=0===g?"files":1===g?"1 file":`${g} files`,j="summary"===p&&!!d,y=j&&u;if(!p)return null;let N=e?.kind==="alert",k=e?.tone==="error",C=e?(0,c.cn)("flex w-full items-center gap-2 rounded-lg border px-3 py-1.5 text-xs transition-colors","thinking"===e.kind&&"border-[color:var(--cp-brand-border)] bg-[color:var(--cp-status-thinking-bg)] text-[color:var(--cp-status-thinking-text)]","writing"===e.kind&&"border-[color:var(--cp-brand-border)] bg-[color:var(--cp-status-thinking-bg)] text-[color:var(--cp-status-thinking-text)]","background"===e.kind&&"border-border/60 bg-[color:var(--cp-status-neutral-bg)] text-[color:var(--cp-status-neutral-text)]",N&&(k?"border-red-500/40 bg-[color:var(--cp-status-error-bg)] text-[color:var(--cp-status-error-text)]":"border-amber-500/40 bg-[color:var(--cp-status-alert-bg)] text-[color:var(--cp-status-alert-text)]")):"",S=e?(0,c.cn)("inline-flex h-2 w-2 rounded-full",("thinking"===e.kind||"background"===e.kind||"writing"===e.kind)&&"animate-pulse",("thinking"===e.kind||"writing"===e.kind)&&"bg-[color:var(--cp-status-thinking-text)]","background"===e.kind&&"bg-[color:var(--cp-status-neutral-text)]",N&&(k?"bg-[color:var(--cp-status-error-text)]":"bg-[color:var(--cp-status-alert-text)]")):"";return(0,n.jsxs)("div",{className:"mb-2",children:["status"===p&&e&&(0,n.jsxs)("div",{className:C,role:"status","aria-live":"polite",children:[(0,n.jsx)("span",{className:S}),(0,n.jsx)("span",{className:"text-[11px] font-medium",children:e.label}),e.detail&&(0,n.jsx)("span",{className:"max-w-[240px] truncate text-[10px] text-foreground/70",children:e.detail})]}),("editing"===p||"summary"===p)&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{j&&m(e=>!e)},className:(0,c.cn)("flex w-full items-center gap-2 border border-border/60 bg-muted/40 px-3 py-1.5 text-xs text-muted-foreground","rounded-lg",j&&"cursor-pointer hover:bg-muted/60"),children:[(0,n.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full bg-[color:var(--cp-brand-2)] animate-pulse"}),(0,n.jsx)("span",{className:"flex-1 text-left",children:"editing"===p?(0,n.jsxs)(n.Fragment,{children:["Editing ",v,"…"]}):(0,n.jsxs)(n.Fragment,{children:[v," changed"," ",(0,n.jsxs)("span",{className:"text-emerald-600",children:["+",f]})," ",(0,n.jsxs)("span",{className:"text-rose-500",children:["-",b]})]})}),j&&(0,n.jsx)("span",{className:"text-muted-foreground/70",children:u?(0,n.jsx)(td.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(eG.A,{className:"h-3.5 w-3.5"})})]}),y&&d&&(0,n.jsx)("div",{className:"rounded-b-lg border border-t-0 border-border/60 bg-background/95",children:(0,n.jsx)("div",{className:"divide-y divide-border/70",children:d.files.map(e=>(0,n.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 text-xs",children:[(0,n.jsx)("button",{type:"button",onClick:()=>{var s;return s=e.path,void(d&&(i(d.id,s),t.push((0,I.C)(s))))},className:"rounded-md border border-border/70 px-2 py-0.5 text-[10px] font-medium text-muted-foreground hover:text-foreground",children:"Diff"}),(0,n.jsx)("button",{type:"button",onClick:()=>{var s;return s=e.path,void(o(),t.push((0,I.C)(s)))},className:"flex-1 truncate text-left text-foreground/80 hover:text-foreground",children:e.path}),(0,n.jsxs)("span",{className:"shrink-0 font-mono text-[11px]",children:[(0,n.jsxs)("span",{className:"text-emerald-600",children:["+",e.additions]})," ",(0,n.jsxs)("span",{className:"text-rose-500",children:["-",e.deletions]})]})]},e.path))})})]})]})}let tm={telegram:{icon:"\uD83D\uDCF1",label:"Telegram",color:"bg-sky-100 text-sky-700 dark:bg-sky-900/40 dark:text-sky-300"},whatsapp:{icon:"\uD83D\uDCAC",label:"WhatsApp",color:"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300"},discord:{icon:"\uD83C\uDFAE",label:"Discord",color:"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/40 dark:text-indigo-300"},slack:{icon:"\uD83D\uDCBC",label:"Slack",color:"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300"},webchat:{icon:"\uD83C\uDF10",label:"Web",color:"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"},clawpad:{icon:"\uD83C\uDF10",label:"ClawPad",color:"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"},system:{icon:"\uD83E\uDD16",label:"System",color:"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300"}},th=(0,a.memo)(function({channel:e,sessionKey:t,className:s}){let a=e?e.toLowerCase():t?(t.split(":")[2]??"unknown").toLowerCase():"unknown",r=tm[a];return r&&"webchat"!==a&&"clawpad"!==a?(0,n.jsxs)("span",{className:(0,c.cn)("inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[10px] font-medium leading-none",r.color,s),children:[(0,n.jsx)("span",{className:"text-[10px]",children:r.icon}),r.label]}):null}),tx=["image/png","image/jpeg","image/gif","image/webp"],tp=[],tg=null,tf="main";function tb(e){return(e.split("/").pop()??e).replace(/\.md$/,"").replace(/[-_]+/g," ").replace(/\b\w/g,e=>e.toUpperCase())}function tv(e){return{title:e.title?.trim()||tb(e.path),path:e.path,space:e.space,modified:e.modified,snippet:e.snippet}}async function tj(e){return new Promise((t,s)=>{let n=new FileReader;n.onload=()=>t(n.result),n.onerror=s,n.readAsDataURL(e)})}async function tw(e){let t=[];for(let s of e){if(!tx.includes(s.type))continue;if(s.size>5242880){console.warn(`[chat] Skipping ${s.name}: exceeds 5 MB`);continue}let e=await tj(s);t.push({id:crypto.randomUUID(),dataUrl:e,name:s.name})}return t}let ty=/^\[([^\]]+)\]\s*/,tN=["WebChat","WhatsApp","Telegram","Signal","Slack","Discord","Google Chat","iMessage","Teams","Matrix","Zalo","Zalo Personal","BlueBubbles"],tk=/^\s*\[message_id:\s*[^\]]+\]\s*$/i,tC=/^\s*\[message_id:\s*([^\]]+)\]\s*$/i;function tS(e){var t;let s=e.match(ty);return s?(t=s[1]??"",/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}Z\b/.test(t)||/\d{4}-\d{2}-\d{2} \d{2}:\d{2}\b/.test(t)||tN.some(e=>t.startsWith(`${e} `)))?tE(e.slice(s[0].length)):tE(e):tE(e)}function tA(e){return String(e.preview??e.reason??e.status??"Heartbeat").trim()}function tE(e){if(!e.includes("[message_id:"))return e;let t=e.split(/\r?\n/),s=t.filter(e=>!tk.test(e));return s.length===t.length?e:s.join("\n")}function t$(e){return function(e,t){var s;if(!e||!tr.test(e))return e;let n=t?.mode??"strict",a=t?.trim??"both",r=e;if(tl.test(r)){tl.lastIndex=0;let e=[],t=to(r);for(let s of r.matchAll(tl)){let n=s.index??0;e.push({start:n,length:s[0].length,inCode:tc(n,t)})}for(let t=e.length-1;t>=0;t-=1){let s=e[t];s.inCode||(r=r.slice(0,s.start)+r.slice(s.start+s.length))}}else tl.lastIndex=0;let l=to(r);ti.lastIndex=0;let i="",o=0,c=!1;for(let e of r.matchAll(ti)){let t=e.index??0,s="/"===e[1];tc(t,l)||(c?s&&(c=!1):(i+=r.slice(o,t),s||(c=!0)),o=t+e[0].length)}return c&&"preserve"!==n||(i+=r.slice(o)),s=i,"none"===a?s:"start"===a?s.trimStart():s.trim()}(e,{mode:"preserve",trim:"start"})}function tz(e){return e.replace(/^\s*\[Context\][\s\S]*?\[\/Context\]\s*/i,"")}function t_(e){return String(e??"").replace(/\s+/g," ").trim()}function tR(e){let t=e.role??"",s=e.content;if("string"==typeof s){let e="assistant"===t?t$(s):tS(s);return"user"===t||"User"===t?tz(e):e}if(Array.isArray(s)){let e=s.filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text);if(e.length>0){let s=e.join("\n"),n="assistant"===t?t$(s):tS(s);return"user"===t||"User"===t?tz(n):n}}if("string"==typeof e.text){let s=e.text,n="assistant"===t?t$(s):tS(s);return"user"===t||"User"===t?tz(n):n}return null}function tT(e){let t=e.role??"",s=e.content;if("string"==typeof s)return"user"===t||"User"===t?tz(s):s;if(Array.isArray(s)){let e=s.filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text);if(e.length>0){let s=e.join("\n");return"user"===t||"User"===t?tz(s):s}}if("string"==typeof e.text){let s=e.text;return"user"===t||"User"===t?tz(s):s}return null}function tL(e){var t;let s;if(null==e)return;if("number"==typeof e||"boolean"==typeof e)return String(e);if("string"==typeof e)s=e;else if("object"==typeof e)if("string"==typeof e.text)s=e.text;else if(Array.isArray(e.content)){let t=e.content.map(e=>e&&"object"==typeof e&&"text"===e.type&&"string"==typeof e.text?e.text:null).filter(e=>!!e);s=t.length>0?t.join("\n"):""}else try{s=JSON.stringify(e,null,2)}catch{s=String(e)}else s=String(e);if(!s)return;let n=(t=tP(s)??s).length<=12e4?{text:t,truncated:!1,total:t.length}:{text:t.slice(0,12e4),truncated:!0,total:t.length};return n.truncated?`${n.text}
6
-
7
- … truncated (${n.total} chars, showing first ${n.text.length}).`:n.text}function tP(e){let t=e.trim();if(!t||!t.startsWith("{")&&!t.startsWith("["))return null;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return null}}function tD(e){var t;let s,n,a=e.role??"unknown";(function(e){let t=(e.role??"").toLowerCase();if("toolresult"===t||"tool_result"===t||e.toolCallId||e.tool_call_id||e.toolName||e.tool_name)return!0;let s=Array.isArray(e.content)?e.content:null;return!!s?.some(e=>{let t=(e.type??"").toLowerCase();return"toolresult"===t||"tool_result"===t})})(e)&&(a="toolResult");let r=[];"string"==typeof e.content?r=[{type:"text",text:e.content}]:Array.isArray(e.content)?r=e.content.map(e=>({...e,type:e.type||"text",text:e.text})):"string"==typeof e.text&&(r=[{type:"text",text:e.text}]);let l=tT(e),i=!!l&&function(e,t){let s=e.trim();if(!s)return!1;if(/^HEARTBEAT_OK\b/i.test(s)||/^HEARTBEAT\b/i.test(s))return!0;let n=/^System:/i.test(s),a=/\[NETWORK\]/i.test(s),r=/\bRead HEARTBEAT\.md\b/i.test(s);return!!n&&(!!a||!!r)||"system"===(t??"").toLowerCase()}(l,a),o=i?"system":(s=((t=a)??"").toLowerCase(),"user"===t||"User"===t?"user":"assistant"===t?"assistant":"system"===t?"system":"toolresult"===s||"tool_result"===s||"tool"===s||"function"===s?"tool":"assistant");return"user"===o&&(n=!1,r=r.map(e=>{if(!n&&"text"===e.type&&"string"==typeof e.text){let t=tz(e.text);return(t!==e.text&&(n=!0),t.trim())?{...e,text:t}:null}return e}).filter(Boolean)),{role:o,content:r,timestamp:e.timestamp??Date.now(),id:e.id,channel:e.channel,sessionKey:e.sessionKey,raw:e,displayText:tR(e),toolCards:function(e){let t=[],s=Array.isArray(e.content)?e.content:[];for(let e of s)(["toolcall","tool_call","tooluse","tool_use"].includes((e.type??"").toLowerCase())||"string"==typeof e.name&&null!=e.arguments)&&t.push({kind:"call",name:e.name??"tool",args:function(e){if("string"!=typeof e)return e;let t=e.trim();if(!t||!t.startsWith("{")&&!t.startsWith("["))return e;try{return JSON.parse(t)}catch{return e}}(e.arguments??e.args??e.input)});for(let e of s){let s=(e.type??"").toLowerCase();if("toolresult"!==s&&"tool_result"!==s)continue;let n=e.text??e.content??void 0,a=e.name??"tool";t.push({kind:"result",name:a,text:n})}if(("toolresult"===(e.role??"").toLowerCase()||"tool_result"===(e.role??"").toLowerCase()||e.toolCallId||e.tool_call_id||e.toolName||e.tool_name)&&!t.some(e=>"result"===e.kind)){let s=e.toolName??e.tool_name??"tool",n=tR(e)??void 0;t.push({kind:"result",name:s,text:n})}return t}(e),internal:i}}function tF(){return new eM.rL({api:"/api/chat",body:()=>({sessionKey:tf,pageContext:tg?.activePage?.path??void 0,context:tg??void 0,images:tp.length>0?[...tp]:void 0})})}let tM=tF(),tK=new eF.ry({transport:tM});function tI({variant:e="default"}){let{chatPanelOpen:t,setChatPanelOpen:s,activePage:r}=(0,P.M)(),l=(0,D.z)(e=>e.connected),o=(0,D.z)(e=>e.wsStatus),u=(0,D.z)(e=>e.reason),h=(0,D.z)(e=>e.wsError),x=(0,D.z)(e=>e.error),p=(0,D.z)(e=>e.agentStatus),g=(0,ta.W)(e=>e.setSessionKey),f=(0,ta.W)(e=>e.loadChangeSets),b=t||"default"!==e,[v,j]=(0,a.useState)("main"),w=(0,a.useRef)("main"),y=(0,a.useRef)(!1),[N,C]=(0,a.useState)(600),[S,A]=(0,a.useState)(!1),E=(0,a.useRef)(0),$=(0,a.useRef)(600),z="default"===e,_=(0,a.useCallback)(e=>Math.max(400,Math.min(e,Math.round(.4*window.innerWidth))),[]);(0,a.useEffect)(()=>{if(!z)return;let e=()=>{C(e=>_(e))};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[_,z]),(0,a.useEffect)(()=>{if(!S)return;let e=e=>{let t=E.current-e.clientX;C(_($.current+t))},t=()=>{A(!1)};return window.addEventListener("pointermove",e),window.addEventListener("pointerup",t),document.body.style.cursor="col-resize",document.body.style.userSelect="none",()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",t),document.body.style.cursor="",document.body.style.userSelect=""}},[_,S]),(0,a.useEffect)(()=>{w.current=v,tf=v||"main"},[v]),(0,a.useEffect)(()=>{b&&(g(v),f())},[b,v,g,f]),(0,a.useEffect)(()=>{if(!b)return;let e=!1;return fetch("/api/gateway/resolve?key=main").then(e=>e.ok?e.json():null).then(t=>{if(e||!t)return;let s="string"==typeof t.resolved?t.resolved.trim():"";s&&(y.current=!0,s!==w.current&&j(s))}).catch(()=>{}),()=>{e=!0}},[b]);let R=(0,a.useRef)(0),{history:T,loading:L,loadingMore:F,hasMore:M,loadMore:K,refetchHistory:I}=function(e,t,s){let[n,r]=(0,a.useState)([]),[l,i]=(0,a.useState)(300),[o,c]=(0,a.useState)(!0),[d,u]=(0,a.useState)(!1),m=(0,a.useRef)(null),h=(0,a.useRef)(0),x=(0,a.useRef)(0),p=(0,a.useRef)(0),g=(0,a.useCallback)(async e=>{let t=s||"main",n=x.current+1;x.current=n;let a=e?.silent===!0;a||(p.current+=1,c(!0));try{let s=await fetch(`/api/gateway/history?limit=1000&sessionKey=${encodeURIComponent(t)}`,{cache:"no-store"}),a=s.ok?await s.json():{messages:[]};if(n!==x.current)return;let l=Array.isArray(a?.messages)?a.messages:[],i=e?.preserveExistingOnEmpty!==!1;r(e=>i&&0===l.length&&e.length>0?e:l)}catch{}finally{a||(p.current=Math.max(0,p.current-1),0===p.current&&c(!1))}},[s]),f=(0,a.useCallback)(e=>!e?.force&&Date.now()-t.current<5e3?Promise.resolve():g({silent:!0}),[g,t]),b=(0,a.useMemo)(()=>n.length<=l?n:n.slice(n.length-l),[n,l]),v=n.length>l,j=(0,a.useCallback)(()=>{u(!0),setTimeout(()=>{i(e=>Math.min(e+100,n.length)),u(!1)},100)},[n.length]);return(0,a.useEffect)(()=>{m.current!==s&&(m.current=s,h.current=0,i(300),g())},[s,g]),(0,a.useEffect)(()=>{if(e){if(n.length>0){h.current=0;return}o||h.current>=3||(h.current+=1,g())}},[e,n.length,o,g]),{history:b,allMessages:n,loading:o,loadingMore:d,hasMore:v,loadMore:j,refetchHistory:f}}(b,R,v),[O,U]=(0,a.useState)(tK),{messages:W,sendMessage:q,addToolApprovalResponse:B,status:H,stop:Z,error:J}=(0,eF.Y_)({chat:O}),V=(0,a.useRef)(null),G=(0,a.useRef)(null),X=(0,a.useRef)(null),Q=(0,a.useRef)(null),Y=(0,a.useRef)(null),ee=(0,a.useRef)(null),et=(0,a.useRef)(null),es="streaming"===H||"submitted"===H,ea=(0,a.useRef)(null),[el,ei]=(0,a.useState)(null),[eo,ec]=(0,a.useState)(!0),[ed,eu]=(0,a.useState)([]),[em,eh]=(0,a.useState)(!1),[ex,ep]=(0,a.useState)(""),[eg,ef]=(0,a.useState)([]),[eb,ev]=(0,a.useState)(!1),[ej,ew]=(0,a.useState)(0),[ey,eN]=(0,a.useState)([]),[ek,eC]=(0,a.useState)(!1),[eS,eA]=(0,a.useState)(""),[eE,e$]=(0,a.useState)([]),[ez,e_]=(0,a.useState)(!1),[eR,eT]=(0,a.useState)(0),eL="connected"!==o,[eP,eD]=(0,a.useState)(!1),eM=eP&&!1,eV=(0,tn.b)(e=>e.events),eG=(0,tn.b)(e=>e.lastEvent),[eX,eQ]=(0,a.useState)(null),eY=(0,a.useRef)(null),e0=(0,a.useRef)(0),e1=(0,a.useRef)(0),e2=(0,a.useMemo)(()=>{let e=[...W].reverse().find(e=>"assistant"===e.role);return!!e&&tY(e).trim().length>0},[W]),e5=(0,a.useMemo)(()=>{if("reconnecting"===o)return{kind:"background",label:"Reconnecting...",detail:h||"Trying to restore the gateway stream"};if("connecting"===o)return{kind:"background",label:"Connecting...",detail:h||"Connecting to the gateway"};if("disconnected"===o)return{kind:"alert",label:"server_unreachable"===u?"ClawPad server unreachable":"Gateway unavailable",detail:h||x||("server_unreachable"===u?"ClawPad is not reachable from this browser.":"OpenClaw gateway is not reachable."),tone:"warn"};let e=eG&&("alert"===eG.indicatorType||"error"===eG.indicatorType)&&!eG.silent?eG:null;if(e){let t=tA(e);return{kind:"alert",label:"error"===e.indicatorType?"Background error":"Background alert",detail:t||void 0,tone:"error"===e.indicatorType?"error":"warn"}}return"submitted"===H?{kind:"thinking",label:"Thinking..."}:"streaming"===H?e2?{kind:"writing",label:"Writing response..."}:{kind:"thinking",label:"Thinking..."}:"thinking"===p?{kind:"thinking",label:"Thinking..."}:"active"===p?{kind:"background",label:"Working on a background task..."}:null},[p,x,u,e2,eG,H,h,o]);(0,a.useEffect)(()=>{eY.current&&(clearTimeout(eY.current),eY.current=null);let e=Date.now();if(e5){e1.current=e,eQ(t=>!t&&!e5||t&&e5&&t.kind===e5.kind&&t.label===e5.label&&t.detail===e5.detail&&t.tone===e5.tone?t:(e0.current=e,e5));return}if(!eX)return;let t="alert"===eX.kind?5e3:"background"===eX.kind?3e3:1500,s="alert"===eX.kind?6e3:2500,n=Math.max(Math.max(e0.current+t,e1.current+s)-e,0);return 0===n?void eQ(null):(eY.current=setTimeout(()=>{eQ(null),eY.current=null},n),()=>{eY.current&&(clearTimeout(eY.current),eY.current=null)})},[e5,eX]),(0,a.useEffect)(()=>{if(!r)return void ei(null);let e=!1;return ec(!0),(async()=>{try{let t=await fetch(`/api/files/pages/${encodeURIComponent(r)}`);if(!t.ok)throw Error("Failed to load page");let s=await t.json();if(e)return;let n=s?.meta;if(n?.path)return void ei(tv({title:n.title,path:n.path,space:n.space,modified:n.modified}))}catch{}e||ei(tv({title:tb(r),path:r}))})(),()=>{e=!0}},[r]);let e4=(0,a.useCallback)(()=>{let e={};eo&&el&&(e.activePage=el);let t=ed.filter(t=>!e.activePage||t.path!==e.activePage.path);return t.length>0?(e.attachedPages=t,e.scope="custom"):e.activePage&&(e.scope="current"),Object.keys(e).length>0?e:null},[el,ed,eo]),e3=(0,a.useCallback)(()=>{let e=G.current;if(!e)return;let t=e.value,s=e.selectionStart??t.length,n=t.slice(0,s),a=n.lastIndexOf("@");if(-1===a){eh(!1),ep(""),Q.current=null;return}let r=n[a-1],l=!r||/[\s([{]/.test(r),i=n.slice(a+1);if(!l||/\s/.test(i)){eh(!1),ep(""),Q.current=null;return}Q.current={start:a,end:s},ep(i),eh(!0),eC(!1),eA(""),ee.current=null},[]),e6=(0,a.useCallback)(async()=>{if(!ez&&!(eE.length>0)){e_(!0);try{let e=await fetch("/api/openclaw/commands"),t=e.ok?await e.json():null,s=Array.isArray(t?.commands)?t.commands.filter(e=>!!(e&&"string"==typeof e.name)).map(e=>({name:e.name,description:e.description??"",disabled:e.disabled})):[];e$(s),eT(0)}catch{e$([])}finally{e_(!1)}}},[eE.length,ez]),e9=(0,a.useCallback)(()=>{let e=G.current;if(!e)return;let t=e.value,s=e.selectionStart??t.length,n=t.slice(0,s),a=n.lastIndexOf("/");if(-1===a){eC(!1),eA(""),ee.current=null;return}let r=n[a-1],l=!r||/[\s([{]/.test(r),i=n.slice(a+1);if(!l||/\s/.test(i)){eC(!1),eA(""),ee.current=null;return}ee.current={start:a,end:s},eA(i),eC(!0),eh(!1),ep(""),Q.current=null,e6()},[e6]),e8=(0,a.useCallback)(e=>{let t=G.current,s=ee.current;if(!t||!s)return;let n=t.value,a=n.slice(0,s.start),r=n.slice(s.end),l=`/${e}`,i=r.startsWith(" ")?"":" ",o=`${a}${l}${i}${r}`,c=a.length+l.length+i.length;t.value=o,t.setSelectionRange(c,c),t.focus(),eC(!1),eA(""),ee.current=null,requestAnimationFrame(()=>{let e=G.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,150)}px`)})},[]),e7=(0,a.useCallback)(e=>{let t=G.current,s=Q.current;if(!t||!s)return;let n=t.value,a=n.slice(0,s.start),r=n.slice(s.end),l=`@${e.title}`,i=r.startsWith(" ")?"":" ",o=`${a}${l}${i}${r}`,c=a.length+l.length+i.length;t.value=o,t.setSelectionRange(c,c),t.focus(),eu(t=>t.some(t=>t.path===e.path)?t:[...t,e]),eh(!1),ep(""),Q.current=null,requestAnimationFrame(()=>{let e=G.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,150)}px`)})},[]),ts=(0,a.useCallback)(()=>{let e=G.current;if(!e)return;let t=e.value,s=e.selectionStart??t.length,n=e.selectionEnd??s;e.value=`${t.slice(0,s)}@${t.slice(n)}`;let a=s+1;e.setSelectionRange(a,a),e.focus(),e3()},[e3]);(0,a.useEffect)(()=>{if(!em)return void ev(!1);let e=!1,t=ex.trim();!t&&ey.length>0&&ef(ey);let s=setTimeout(async()=>{if(!e){ev(!0);try{let s=t?`/api/files/search?q=${encodeURIComponent(t)}&limit=8`:"/api/files/recent?limit=8",n=await fetch(s),a=n.ok?await n.json():[];if(e)return;let r=Array.isArray(a)?a.map(e=>tv(e)):[];ef(r),t||eN(r),ew(0)}catch{e||ef([])}finally{e||ev(!1)}}},150);return()=>{e=!0,clearTimeout(s)}},[em,ex,ey]),(0,a.useEffect)(()=>{b&&e6()},[b,e6]),(0,a.useEffect)(()=>{if(!b)return;let e=!1;return(async()=>{try{let t=await fetch("/api/files/recent?limit=8");if(!t.ok)return;let s=await t.json();if(e)return;let n=Array.isArray(s)?s.map(e=>tv(e)):[];eN(n)}catch{}})(),()=>{e=!0}},[b]),(0,a.useEffect)(()=>{b||(eh(!1),ep(""),Q.current=null,eC(!1),eA(""),ee.current=null)},[b]),(0,a.useEffect)(()=>{if(!em)return;let e=e=>{let t=e.target;Y.current&&!Y.current.contains(t)&&(eh(!1),ep(""),Q.current=null)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[em]),(0,a.useEffect)(()=>{if(!ek)return;let e=e=>{let t=e.target;et.current&&!et.current.contains(t)&&(eC(!1),eA(""),ee.current=null)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[ek]);let[tr,tl]=(0,a.useState)([]),ti=(0,a.useRef)(null),to=(0,a.useRef)([]),tc=(0,a.useRef)(null),td=(0,a.useRef)(null),tm=(0,a.useRef)(""),th=(0,a.useRef)(new Map),tj=(0,a.useRef)([]),ty=(0,a.useRef)(null),tN=(0,a.useRef)(null),[tk,tS]=(0,a.useState)([]),tE=(0,a.useCallback)(()=>{tS(tj.current.map(e=>th.current.get(e)).filter(e=>!!e))},[]),t$=(0,a.useCallback)((e=!1)=>{if(e){ty.current&&(clearTimeout(ty.current),ty.current=null),tE();return}ty.current||(ty.current=setTimeout(()=>{ty.current=null,tE()},80))},[tE]),tz=(0,a.useCallback)(()=>{th.current.clear(),tj.current=[],tN.current=null,ty.current&&(clearTimeout(ty.current),ty.current=null),tS([])},[]);(0,a.useEffect)(()=>{let e=ti.current;e&&("streaming"===H?tl(t=>t.map(t=>t.id===e&&"sending"===t.status?{...t,status:"sent"}:t)):"ready"===H&&(tl(t=>t.map(t=>t.id===e&&("sending"===t.status||"streaming"===t.status)?{...t,status:"sent"}:t)),ti.current=null))},[H]),(0,a.useEffect)(()=>{if(J&&ti.current){let e=ti.current;tl(t=>t.map(t=>t.id===e?{...t,status:"error"}:t)),ti.current=null}},[J]);let tR=(0,a.useRef)(!0),tP=(0,a.useRef)(0),[tM,tI]=(0,a.useState)(0),tq=(0,a.useCallback)((e="smooth")=>{let t=V.current;if(!t)return;let s=t.scrollHeight-t.clientHeight;t.scrollTo({top:s>0?s:0,behavior:e})},[]),tZ=(0,a.useCallback)(()=>{let e=V.current;!e||(tR.current=e.scrollHeight-e.scrollTop-e.clientHeight<100,tR.current&&tI(0))},[]),tJ=(0,a.useCallback)(e=>{if("tool"!==e.stream)return;let t="string"==typeof e.sessionKey?e.sessionKey:void 0,s=w.current||"main";if(y.current&&t&&t!==s)return;let n="string"==typeof e.runId?e.runId:"unknown",a=e.data??{},r="string"==typeof a.toolCallId?a.toolCallId:"";if(!r)return;let l="string"==typeof a.name?a.name:"tool",i="string"==typeof a.phase?a.phase:"unknown",o="start"===i||"update"===i||"result"===i||"error"===i?i:"unknown",c="start"===o?a.args:void 0,d="update"===o?tL(a.partialResult):"result"===o?tL(a.result):"error"===o?tL(a.error??a.result):void 0,u=Date.now();tN.current&&tN.current!==n&&"start"===o&&tz(),tN.current=n;let m=th.current.get(r);if(m?(m.name=l,m.phase=o,void 0!==c&&(m.args=c),void 0!==d&&(m.output=d),m.updatedAt=u):(m={toolCallId:r,runId:n,sessionKey:t,name:l,args:c,output:d,phase:o,startedAt:"number"==typeof e.ts?e.ts:u,updatedAt:u},th.current.set(r,m),tj.current.push(r)),tj.current.length>50){let e=tj.current.length-50;for(let t of tj.current.splice(0,e))th.current.delete(t)}t$("result"===o||"error"===o)},[tz,t$]),tV=(0,a.useMemo)(()=>{let e=[];for(let t of T){let s=tD(t);if(!s.internal)continue;let n=(s.displayText?.trim()??"").replace(/^System:\s*/i,"").trim();if(!n)continue;let{kind:a,tone:r}=function(e){let t=e.toLowerCase(),s=t.startsWith("heartbeat")||t.includes("heartbeat_ok")||t.includes("heartbeat"),n=/error|failed|denied|blocked|timeout|unavailable/i.test(t),a=/\[network\]|warning|alert/i.test(t);return n?{kind:"alert",tone:"error"}:a?{kind:"alert",tone:"warn"}:s?{kind:"heartbeat"}:{kind:"system"}}(n);e.push({id:`sys-${s.timestamp}-${e.length}`,kind:a,tone:r,text:n,timestamp:s.timestamp,source:"system"})}return e},[T]),tG=(0,a.useMemo)(()=>{let e=[];return eV.forEach((t,s)=>{let n=tA(t);if(!n)return;let a="alert"===t.indicatorType||"error"===t.indicatorType;e.push({id:`hb-${t.ts}-${s}`,kind:a?"alert":"heartbeat",tone:"error"===t.indicatorType?"error":a?"warn":void 0,text:n,timestamp:t.ts,source:"heartbeat"})}),e},[eV]),tQ=(0,a.useMemo)(()=>{let e=[...tV,...tG].sort((e,t)=>t.timestamp-e.timestamp),t=new Set,s=[];for(let n of e){let e=`${n.source}-${n.timestamp}-${n.text}`;t.has(e)||(t.add(e),s.push(n))}return s},[tV,tG]),t1=(0,a.useMemo)(()=>{var e=function(e,t,s,n,a,r){let l=[],i=new Map;for(let s=0;s<e.length;s+=1){let n=e[s];i.set(n,s);let a=tD(n);!a.internal&&(t||"tool"!==a.role)&&l.push({kind:"message",normalized:a})}for(let t of s){let s=t_(t.text);l.some(n=>{var a;if("message"!==n.kind)return!1;let r=n.normalized;if(r.role!==t.role)return!1;let l=tT(r.raw),o=l?function(e){if(!e.includes("[message_id:"))return null;for(let t of e.split(/\r?\n/)){let e=t.match(tC);if(e)return(e[1]??"").trim()||null}return null}(l):null;if(o&&o===t.id)return!0;let c=t_(r.displayText);if(!c||!s||c!==s)return!1;let d="number"==typeof(a=r.raw.timestamp)&&Number.isFinite(a)?a<1e12?1e3*a:a:null;if(null!==d){let e=3e5>Math.abs(d-t.timestamp),s=d>=t.timestamp-5e3;return e&&s}let u=i.get(r.raw);return"number"==typeof u&&u>=e.length-5})||l.push({kind:"optimistic",message:t})}if(t)for(let e of n)l.push({kind:"tool-stream",entry:e});if(r&&a.length>0){let e=a[a.length-1];"assistant"===e.role&&l.push({kind:"stream",message:e,isStreaming:r})}return l}(T,eP,tr,tk,W,es);let t=[],s=null;for(let n of e)if("message"===n.kind)s&&s.role===n.normalized.role?s.messages.push(n.normalized):(s&&t.push(s),s={kind:"group",role:n.normalized.role,messages:[n.normalized],timestamp:n.normalized.timestamp});else if(s&&(t.push(s),s=null),"optimistic"===n.kind)t.push({kind:"optimistic-group",messages:[n.message]});else if("tool-stream"===n.kind){let e=t[t.length-1];e&&"tool-stream-group"===e.kind?e.entries.push(n.entry):t.push({kind:"tool-stream-group",entries:[n.entry]})}else"stream"===n.kind?t.push({kind:"stream-group",message:n.message,isStreaming:n.isStreaming}):"indicator"===n.kind&&t.push({kind:"indicator-group",status:n.status});return s&&t.push(s),t},[T,eP,tr,tk,W,es]),t2=t1.length>0||eP&&tQ.length>0;(0,a.useEffect)(()=>{let e=t1.length;if(0===tP.current&&e>0){tP.current=e,tR.current=!0,b&&requestAnimationFrame(()=>tq("auto"));return}tR.current?requestAnimationFrame(()=>tq("smooth")):e>tP.current&&tP.current>0&&tI(t=>t+(e-tP.current)),tP.current=e},[t1.length,tq,b]);let t5=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(!b){t5.current=!1;return}!L&&(t5.current||(t5.current=!0,tR.current=!0,tI(0),requestAnimationFrame(()=>{tq("auto"),setTimeout(()=>tq("auto"),150)})))},[b,L,tq]);let t4=(0,a.useRef)(null),t3=(0,a.useCallback)(()=>{let e=V.current;e&&(t4.current={prevScrollHeight:e.scrollHeight,prevScrollTop:e.scrollTop}),K()},[K]);(0,a.useLayoutEffect)(()=>{let e=t4.current;if(!e)return;let t=V.current;if(!t)return;let s=t.scrollHeight-e.prevScrollHeight;0!==s&&(t.scrollTop=e.prevScrollTop+s),t4.current=null},[t1.length]),(0,a.useEffect)(()=>{es&&tR.current&&requestAnimationFrame(()=>tq("smooth"))},[es,W,tk,tq]),(0,a.useEffect)(()=>{if(!b)return;let e=null,t=null,s=!1,n=null;return!function a(){s||((e=new EventSource("/api/gateway/events")).addEventListener("gateway",e=>{try{let s=JSON.parse(e.data);if("number"==typeof s.seq&&(null!==n&&s.seq>n+1&&I({force:!0}),n=s.seq),"agent"===s.event&&s.payload&&tJ(s.payload),"chat"===s.event&&s.payload){let e=s.payload,n=w.current||"main";if(y.current&&e.sessionKey&&e.sessionKey!==n)return;let a=e.state;("final"===a||"error"===a||"aborted"===a)&&(t&&(clearTimeout(t),t=null),I({force:!0}))}}catch{}}),e.onerror=()=>{e?.close(),e=null,s||setTimeout(a,5e3)})}(),()=>{s=!0,t&&clearTimeout(t),e?.close()}},[tJ,b,I]);let[t6,t9]=(0,a.useState)([]),[t8,t7]=(0,a.useState)({}),[se,st]=(0,a.useState)(!1),ss=(0,a.useCallback)(async e=>{let t=await tw(e);t.length>0&&(t9(e=>[...e,...t]),G.current?.focus())},[]),sn=(0,a.useCallback)(e=>{t9(t=>t.filter(t=>t.id!==e))},[]),sa=(0,a.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let s=[];for(let e of Array.from(t))if("file"===e.kind&&tx.includes(e.type)){let t=e.getAsFile();t&&s.push(t)}s.length>0&&(e.preventDefault(),ss(s))},[ss]),sr=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer?.types.includes("Files")&&st(!0)},[]),sl=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=e.currentTarget.getBoundingClientRect(),{clientX:s,clientY:n}=e;(s<=t.left||s>=t.right||n<=t.top||n>=t.bottom)&&st(!1)},[]),si=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),st(!1);let t=Array.from(e.dataTransfer?.files??[]).filter(e=>tx.includes(e.type));t.length>0&&ss(t)},[ss]),so=(0,a.useCallback)(e=>{let t=Array.from(e.target.files??[]);t.length>0&&ss(t),e.target.value=""},[ss]),sc=(0,a.useCallback)(()=>{U(new eF.ry({transport:tF()})),t9([]),eu([]),ec(!0),eh(!1),ep(""),Q.current=null,tl([]),t7({}),tz(),tp=[],tg=null,ti.current=null,G.current&&(G.current.value="",G.current.style.height="auto",G.current.focus())},[tz]);(0,a.useEffect)(()=>{if("default"===e)return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t);function t(e){e.metaKey&&e.shiftKey&&"l"===e.key&&(e.preventDefault(),s(!0))}},[s,e]),(0,a.useEffect)(()=>{if(t||"default"!==e){let e=setTimeout(()=>{G.current?.focus()},100);return()=>clearTimeout(e)}},[t,e]);let sd=(0,a.useCallback)(async(e,t)=>{if(eL)return;let s=t6.length>0;if(!e.trim()&&!s)return;let n=e.trim()||(s?"What's in this image?":"");if(!n)return;tz();let a=t?.messageId?.trim()||crypto.randomUUID(),r=t6.map(e=>e.dataUrl),l={id:a,role:"user",text:n,images:r.length>0?r:void 0,timestamp:Date.now(),status:"sending"};tl(e=>[...e,l]),r.length>0&&t7(e=>({...e,[a]:r})),ti.current=a,R.current=Date.now(),t9([]),G.current&&(G.current.value="",G.current.style.height="auto"),eh(!1),ep(""),Q.current=null,tp=r,tg=e4();try{await q({text:n}),setTimeout(()=>{tl(e=>e.map(e=>e.id===a&&"sending"===e.status?{...e,status:"sent"}:e))},2e3)}catch(e){console.error("[chat] sendMessage error:",e),t?.messageId&&(to.current=to.current.filter(e=>e!==t.messageId),td.current===t.messageId&&(td.current=null,tm.current="")),tl(e=>e.map(e=>e.id===a?{...e,status:"error"}:e))}tp=[],tg=null},[eL,q,t6,e4,tz]);(0,a.useEffect)(()=>{let e=e=>{let n=e.detail??{},a=n.messageId?.trim()||crypto.randomUUID(),l=function(e,t){if(e.message&&e.message.trim()){let t=[e.message.trim()];return e.messageId?.trim()&&t.push(`[message_id: ${e.messageId.trim()}]`),t.join("\n\n")}if(!e.action)return null;let s=e.selection?.trim()??"",n=(e.pagePath??t??"").trim(),a=s.length>0,r="continue"===e.action?a?"context below":"referenced page":a?"selected text":"referenced page",l=[function(e,t){switch(e){case"improve":return`Improve the writing of the ${t}. Return only the improved text.`;case"simplify":return`Simplify the ${t} while preserving meaning. Return only the simplified text.`;case"expand":return`Expand the ${t} with more detail while preserving meaning. Return only the expanded text.`;case"summarize":return`Summarize the ${t} concisely. Return only the summary.`;case"fix-grammar":return`Fix grammar, spelling, and punctuation in the ${t}. Return only the corrected text.`;case"continue":return`Continue writing from the ${t}. Return only the continuation.`;default:return`Please help with the ${t}.`}}(e.action,r)];return n&&l.push(`Reference: ${n}`),s&&l.push(`Selected text:
8
- """
9
- ${s}
10
- """`),e.messageId?.trim()&&l.push(`[message_id: ${e.messageId.trim()}]`),l.join("\n\n")}({...n,messageId:a},r);l&&(t||s(!0),n.selection?.trim()&&to.current.push(a),sd(l,{messageId:a}))};return window.addEventListener("clawpad:ai-action",e),()=>window.removeEventListener("clawpad:ai-action",e)},[sd,r,t,s]),(0,a.useEffect)(()=>{if("ready"===H){td.current=null,tm.current="";return}if("streaming"!==H)return;let e=to.current[0];if(!e)return;td.current||(td.current=e);let t=[...W].reverse().find(e=>"assistant"===e.role);if(!t)return;let s=tY(t);s.trim()&&s!==tm.current&&(tm.current=s,window.dispatchEvent(new CustomEvent("clawpad:ai-stream",{detail:{messageId:td.current,text:s}})))},[W,H]),(0,a.useEffect)(()=>{let e=ea.current;if(ea.current=H,"ready"!==H||"ready"===e||0===to.current.length)return;let t=[...W].reverse().find(e=>"assistant"===e.role),s=to.current[0];if(!t||!s)return void to.current.shift();let n=tY(t);if(!n.trim())return void to.current.shift();let a=to.current.shift();a&&tc.current!==a&&(tc.current=a,td.current=null,tm.current="",window.dispatchEvent(new CustomEvent("clawpad:ai-result",{detail:{messageId:a,text:n.trim()}})))},[W,H]);let su=(0,a.useCallback)(async()=>{Z();try{await fetch("/api/chat/abort",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionKey:v})})}catch{}},[v,Z]),sm=(0,a.useCallback)(e=>{tl(t=>t.filter(t=>t.id!==e.id)),e.images&&e.images.length>0?(t9(e.images.map((e,t)=>({id:crypto.randomUUID(),dataUrl:e,name:`image-${t}`}))),setTimeout(()=>{sd(e.text)},0)):sd(e.text)},[sd]),sh=(0,a.useCallback)(e=>{e.preventDefault(),!eL&&G.current&&sd(G.current.value)},[eL,sd]),sx=(0,a.useCallback)(e=>{if(ek){let t=eS.trim().toLowerCase(),s=0===t.length?eE:eE.filter(e=>e.name.toLowerCase().includes(t)),n=s.length>0?s:eE.slice(0,12);if("ArrowDown"===e.key){e.preventDefault(),eT(e=>0===n.length?0:(e+1)%n.length);return}if("ArrowUp"===e.key){e.preventDefault(),eT(e=>0===n.length?0:(e-1+n.length)%n.length);return}if("Enter"===e.key&&!e.shiftKey){e.preventDefault();let t=n[eR]??n[0];t?e8(t.name):(eC(!1),eA(""),ee.current=null);return}if("Escape"===e.key){e.preventDefault(),eC(!1),eA(""),ee.current=null;return}}if(em){let t=ex.trim()||eg.length>0?eg:ey;if("ArrowDown"===e.key){e.preventDefault(),ew(e=>0===t.length?0:(e+1)%t.length);return}if("ArrowUp"===e.key){e.preventDefault(),ew(e=>0===t.length?0:(e-1+t.length)%t.length);return}if("Enter"===e.key&&!e.shiftKey){e.preventDefault();let s=t[ej]??t[0];if(s)e7(s);else{eh(!1),ep(""),Q.current=null;let t=e.target.value;(t||t6.length>0)&&sd(t||"")}return}if("Escape"===e.key){e.preventDefault(),eh(!1),ep(""),Q.current=null;return}}if("Enter"===e.key&&!e.shiftKey){e.preventDefault();let t=e.target.value;(t||t6.length>0)&&sd(t||"")}},[t6.length,e7,e8,sd,ej,em,ex,eg,ey,eE,eR,ek,eS]),sp=(0,a.useCallback)(()=>{let e=G.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,150)}px`,e9(),e3())},[e3,e9]),sg="default"===e&&!t,sf=el?.title??(r?r.split("/").pop()?.replace(/\.md$/,"").replace(/-/g," ")??null:null),sb="fullscreen"===e,sv="sheet"===e,sj=(0,a.useMemo)(()=>{let e=[];for(let t of(eo&&el&&e.push({key:`current-${el.path}`,page:el,kind:"current"}),ed))e.some(e=>e.page.path===t.path)||e.push({key:`attached-${t.path}`,page:t,kind:"attached"});return e},[el,ed,eo]),sw=ex.trim()||eg.length>0?eg:ey,sy=eE.filter(e=>!!(e&&"string"==typeof e.name)),sN=eS.trim().toLowerCase(),sk=0===sN.length?sy:sy.filter(e=>e.name.toLowerCase().includes(sN)),sC=sk.length>0?sk.slice(0,12):sy.slice(0,12),sS=(0,a.useCallback)(e=>{z&&(e.preventDefault(),E.current=e.clientX,$.current=N,A(!0))},[z,N]);return(0,n.jsxs)("div",{onDragOver:sr,onDragLeave:sl,onDrop:si,className:(0,c.cn)("relative flex flex-col bg-background",sg&&"hidden","default"===e&&"h-full shrink-0 border-l",sv&&"h-full w-full",sb&&"h-full w-full"),style:"default"===e?{width:N,minWidth:400,maxWidth:"40vw"}:void 0,children:[z&&(0,n.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize chat panel",onPointerDown:sS,className:(0,c.cn)("absolute left-0 top-0 z-20 h-full w-2 cursor-col-resize","group"),children:(0,n.jsx)("div",{className:(0,c.cn)("absolute inset-y-0 left-0 w-px bg-border/70","transition-colors group-hover:bg-[color:var(--cp-brand-2)]",S&&"bg-[color:var(--cp-brand-2)]")})}),se&&(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center rounded-lg border-2 border-dashed border-blue-500 bg-blue-50/60 dark:bg-blue-950/40",children:(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2 text-blue-600 dark:text-blue-400",children:[(0,n.jsx)(eK.A,{className:"h-8 w-8"}),(0,n.jsx)("span",{className:"text-sm font-medium",children:"Drop image here"})]})}),(0,n.jsxs)("div",{className:(0,c.cn)("flex shrink-0 items-center justify-between border-b px-4",sb?"h-14":"h-12"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,n.jsx)(er.A,{className:"h-4 w-4 shrink-0 text-[color:var(--cp-brand-2)]"}),(0,n.jsx)("span",{className:"text-sm font-medium",children:"Chat"}),(0,n.jsx)(tO,{connected:l,wsStatus:o,agentStatus:p})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:(0,c.cn)("h-8 w-8 text-muted-foreground hover:text-foreground",eP&&"text-[color:var(--cp-brand-2)] hover:text-[color:var(--cp-brand-2)]"),onClick:()=>eD(!eP),title:eP?"Hide details":"Show details","aria-pressed":eP,"aria-label":eP?"Hide details":"Show details",children:eP?(0,n.jsx)(eI.A,{className:"h-4 w-4"}):(0,n.jsx)(eO.A,{className:"h-4 w-4"})}),(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",onClick:sc,title:"New chat",children:(0,n.jsx)(eU.A,{className:"h-4 w-4"})})]})]}),eL&&(0,n.jsx)("div",{className:"border-b border-amber-500/30 bg-amber-500/10 px-4 py-2 text-xs text-amber-700 dark:text-amber-300",children:"reconnecting"===o?"Reconnecting to OpenClaw gateway…":"server_unreachable"===u?"ClawPad server is unreachable from this browser.":"OpenClaw gateway is unavailable. Start or restart the gateway to resume chat."}),(0,n.jsx)("div",{ref:V,onScroll:tZ,className:"flex-1 min-h-0 min-w-0 overflow-y-auto",children:(0,n.jsxs)("div",{className:"relative flex min-h-full flex-col gap-4 p-4 pb-[calc(8rem+env(safe-area-inset-bottom,0px))] min-w-0 overflow-hidden",children:[!t2&&!L&&(0,n.jsx)(tU,{pageTitle:sf}),L&&(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2 py-8 text-muted-foreground",children:[(0,n.jsx)(eW.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,n.jsx)("span",{className:"text-xs",children:"Loading history…"})]}),M&&!L&&(0,n.jsx)("div",{className:"flex justify-center py-2",children:(0,n.jsxs)("button",{onClick:t3,disabled:F,className:"mx-auto flex items-center gap-2 rounded-full bg-muted/60 px-4 py-2 text-xs text-muted-foreground hover:bg-muted transition-colors",children:[F?(0,n.jsx)(eW.A,{className:"h-3 w-3 animate-spin"}):(0,n.jsx)(en.A,{className:"h-3 w-3"}),"Load earlier messages"]})}),eP&&tQ.length>0&&(0,n.jsx)(tW,{events:tQ}),t1.map((e,t)=>{if("group"===e.kind)return(0,n.jsx)(tH,{group:e,showReasoning:eM,showTools:eP},`g-${t}-${e.timestamp}`);if("optimistic-group"===e.kind)return e.messages.map(e=>(0,n.jsx)(tX,{message:e,images:t8[e.id],onRetry:sm},e.id));if("tool-stream-group"===e.kind){let s=e.entries[e.entries.length-1],a=s?`tool-batch-${s.toolCallId}-${s.updatedAt}`:`tool-batch-${t}`;return(0,n.jsx)(tB,{entries:e.entries},a)}return"stream-group"===e.kind?(0,n.jsx)(t0,{message:e.message,isLatest:!0,isStreaming:e.isStreaming,showThinking:eP,onToolApprove:e=>B({id:e,approved:!0}),onToolDeny:e=>B({id:e,approved:!1,reason:"Denied by user"})},`stream-${e.message.id}`):null}),J&&!tr.some(e=>"error"===e.status)&&(0,n.jsxs)(te.P.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"flex items-start gap-2 rounded-lg border border-destructive/20 bg-destructive/5 p-3 text-sm text-destructive",children:[(0,n.jsx)(eq.A,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("p",{className:"font-medium",children:"Something went wrong"}),(0,n.jsx)("p",{className:"text-xs opacity-80 mt-0.5",children:J.message.includes("API key")?"No API key configured. Check your environment settings.":J.message})]})]})]})}),(0,n.jsx)(tt.N,{children:tM>0&&(0,n.jsxs)(te.P.button,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{duration:.2},onClick:()=>{tq("smooth"),tI(0)},className:"absolute bottom-[4.5rem] left-1/2 -translate-x-1/2 z-10 flex items-center gap-1.5 rounded-full bg-blue-600 dark:bg-blue-500 px-3 py-1.5 text-xs font-medium text-white shadow-lg hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors",children:[(0,n.jsx)(eB.A,{className:"h-3 w-3"}),tM," new message",1!==tM?"s":""]})}),!t2&&sf&&(0,n.jsx)("div",{className:"border-t px-4 py-2",children:(0,n.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{children:"Viewing:"}),(0,n.jsx)("span",{className:"font-medium capitalize text-foreground",children:sf})]})}),(0,n.jsxs)("div",{className:(0,c.cn)("shrink-0 border-t p-4",sb&&"pb-[calc(0.75rem+env(safe-area-inset-bottom,0px))]",sb&&"sticky bottom-0 bg-background"),children:[(0,n.jsx)(tu,{status:eX}),t6.length>0&&(0,n.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:t6.map(e=>(0,n.jsxs)("div",{className:"group relative",children:[(0,n.jsx)("img",{src:e.dataUrl,alt:e.name,className:"h-16 w-16 rounded-lg border object-cover"}),(0,n.jsx)("button",{type:"button",onClick:()=>sn(e.id),className:"absolute -right-1.5 -top-1.5 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-white opacity-0 transition-opacity group-hover:opacity-100 hover:bg-destructive/90",title:"Remove image",children:(0,n.jsx)(m.A,{className:"h-3 w-3"})}),(0,n.jsx)("div",{className:"absolute bottom-0 left-0 right-0 truncate rounded-b-lg bg-black/50 px-1 py-0.5 text-[9px] text-white",children:e.name})]},e.id))}),(0,n.jsxs)("form",{onSubmit:sh,className:"w-full",children:[(0,n.jsx)("input",{ref:X,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:so}),(0,n.jsxs)("div",{className:(0,c.cn)("relative flex w-full flex-col gap-2 rounded-2xl border bg-muted/30 px-4 py-3","shadow-[0_2px_5px_rgba(0,0,0,0.04)] transition-shadow duration-150","focus-within:shadow-[0_8px_14px_rgba(0,0,0,0.08)]",sb&&"min-h-[64px]"),ref:Y,children:[(sj.length>0||el&&!eo)&&(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[11px]",children:[(0,n.jsx)(d.$,{type:"button",size:"icon",variant:"ghost",className:(0,c.cn)("h-7 w-7 rounded-full text-muted-foreground/70 hover:text-foreground hover:bg-muted/60",em&&"bg-muted/60 text-foreground"),onClick:ts,title:"Mention a page","aria-label":"Mention a page",disabled:es||eL,children:(0,n.jsx)(eH.A,{className:"h-4 w-4"})}),sj.map(e=>(0,n.jsxs)("span",{className:"group inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-muted/30 px-2.5 py-1 text-muted-foreground",children:["current"===e.kind?(0,n.jsx)(k.A,{className:"h-3.5 w-3.5 text-muted-foreground/70"}):(0,n.jsx)(eH.A,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),(0,n.jsx)("span",{className:"max-w-[180px] truncate text-foreground/80",children:e.page.title}),(0,n.jsx)("button",{type:"button",onClick:()=>{"current"===e.kind?ec(!1):eu(t=>t.filter(t=>t.path!==e.page.path))},className:"ml-0.5 rounded-full p-0.5 text-muted-foreground/60 hover:text-foreground","aria-label":"Remove context",children:(0,n.jsx)(m.A,{className:"h-3 w-3"})})]},e.key)),!eo&&el&&(0,n.jsx)("button",{type:"button",onClick:()=>ec(!0),className:"rounded-full border border-dashed border-border/70 px-2.5 py-1 text-[10px] text-muted-foreground hover:text-foreground",children:"Add current page"})]}),em&&(0,n.jsxs)("div",{className:"absolute bottom-full left-0 right-0 mb-2 rounded-xl border bg-popover shadow-lg",onMouseDown:e=>e.preventDefault(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[(0,n.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground/60",children:ex.trim()?"Pages":"Recent pages"}),eb&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/60",children:"Searching…"})]}),(0,n.jsxs)("div",{className:"max-h-56 overflow-y-auto pb-1",children:[!eb&&0===sw.length&&(0,n.jsx)("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:ex.trim()?"No matching pages":"No recent pages"}),sw.map((e,t)=>(0,n.jsxs)("button",{type:"button",onClick:()=>e7(e),className:(0,c.cn)("flex w-full items-start gap-2 px-3 py-2 text-left text-sm transition-colors",t===ej?"bg-muted/60":"hover:bg-muted/40"),children:[(0,n.jsx)(k.A,{className:"mt-0.5 h-4 w-4 text-muted-foreground/70"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"truncate font-medium text-foreground",children:e.title}),(0,n.jsx)("div",{className:"truncate text-[11px] text-muted-foreground/70",children:e.path})]})]},e.path))]})]}),ek&&(0,n.jsxs)("div",{ref:et,className:"absolute bottom-full left-0 right-0 mb-2 rounded-xl border bg-popover shadow-lg",onMouseDown:e=>e.preventDefault(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[(0,n.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground/60",children:"OpenClaw commands"}),ez&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/60",children:"Loading…"})]}),(0,n.jsxs)("div",{className:"max-h-56 overflow-y-auto pb-1",children:[!ez&&0===sC.length&&(0,n.jsx)("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No commands available"}),sC.map((e,t)=>(0,n.jsxs)("button",{type:"button",onClick:()=>e8(e.name),className:(0,c.cn)("flex w-full items-start gap-2 px-3 py-2 text-left text-sm transition-colors",t===eR?"bg-muted/60":"hover:bg-muted/40",e.disabled&&"opacity-60"),children:[(0,n.jsx)(eZ.A,{className:"mt-0.5 h-4 w-4 text-muted-foreground/70"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"truncate font-medium text-foreground",children:e.name}),(0,n.jsxs)("div",{className:"truncate text-[11px] text-muted-foreground/70",children:["/",e.name," — ",e.description]})]})]},e.name))]})]}),(0,n.jsx)("textarea",{ref:G,onKeyDown:sx,onPaste:sa,onInput:sp,placeholder:t6.length>0?"Add a message or send…":"Ask your agent…",rows:sb?1:2,className:(0,c.cn)("w-full resize-none bg-transparent px-1 py-1 text-sm leading-relaxed","placeholder:text-muted-foreground/80","focus:outline-none focus:ring-0","min-h-[44px] max-h-[150px]",sb&&"text-base"),disabled:es}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)(d.$,{type:"button",size:"icon",variant:"ghost",className:"h-8 w-8 rounded-full text-muted-foreground/70 hover:text-foreground hover:bg-muted/60",onClick:()=>X.current?.click(),title:"Attach image","aria-label":"Attach image",disabled:es||eL,children:(0,n.jsx)(i.A,{className:"h-4 w-4"})})}),es?(0,n.jsx)(d.$,{type:"button",size:"icon",variant:"ghost",onClick:su,className:"h-9 w-9 rounded-full bg-white text-black shadow-sm hover:bg-white/90","aria-label":"Stop generation",children:(0,n.jsx)("span",{className:"h-3.5 w-3.5 rounded-sm bg-black"})}):(0,n.jsx)(d.$,{type:"submit",size:"icon",className:"h-9 w-9 rounded-full bg-white text-black shadow-sm hover:bg-white/90","aria-label":"Send message",disabled:eL,children:(0,n.jsx)(eJ.A,{className:"h-4 w-4"})})]})]})]})]})]})}function tO({connected:e,wsStatus:t,agentStatus:s}){let a="connecting"===t||"reconnecting"===t,r=e?"active"===s||"thinking"===s?"bg-violet-400":"bg-green-500":a?"bg-amber-400":"bg-zinc-300 dark:bg-zinc-600";return(0,n.jsxs)("span",{className:"relative flex h-2 w-2",title:e?s:a?t:"disconnected",children:[(a||e&&("active"===s||"thinking"===s))&&(0,n.jsx)("span",{className:(0,c.cn)("absolute inline-flex h-full w-full rounded-full opacity-75 animate-ping",r)}),(0,n.jsx)("span",{className:(0,c.cn)("relative inline-flex h-2 w-2 rounded-full",r)})]})}function tU({pageTitle:e}){return(0,n.jsx)("div",{className:"flex flex-1 items-center justify-center py-16",children:(0,n.jsxs)("div",{className:"space-y-3 text-center",children:[(0,n.jsx)(er.A,{className:"mx-auto h-8 w-8 text-muted-foreground/40"}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Chat with your OpenClaw agent"}),e&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground/60",children:["Viewing:"," ",(0,n.jsx)("span",{className:"capitalize font-medium",children:e})]})]})]})})}let tW=(0,a.memo)(function({events:e}){let[t,s]=(0,a.useState)(!1),[r,l]=(0,a.useState)(null),i=e.filter(e=>"alert"===e.kind).length;return(0,n.jsxs)("div",{className:"rounded-xl border border-border/60 bg-muted/20",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>s(e=>!e),className:(0,c.cn)("flex w-full items-center justify-between gap-2 px-3 py-2 text-left","text-[11px] text-muted-foreground hover:text-foreground"),"aria-expanded":t,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(eV.A,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),(0,n.jsx)("span",{className:"font-medium text-foreground/80",children:"System events"}),(0,n.jsx)("span",{className:"rounded-full border border-border/60 px-2 py-0.5 text-[10px] text-muted-foreground",children:e.length}),i>0&&(0,n.jsxs)("span",{className:"rounded-full border border-red-500/30 bg-red-500/10 px-2 py-0.5 text-[10px] text-red-500",children:[i," alert",1!==i?"s":""]})]}),(0,n.jsx)(eG.A,{className:(0,c.cn)("h-4 w-4 transition-transform",t?"rotate-180":"rotate-0")})]}),t&&(0,n.jsx)("div",{className:"border-t border-border/50",children:e.map(e=>{let t=r===e.id,s=e.text.length>140,a=s?`${e.text.slice(0,137)}…`:e.text;return(0,n.jsx)("div",{className:"border-t border-border/40 first:border-t-0",children:(0,n.jsxs)("button",{type:"button",onClick:()=>{s&&l(t=>t===e.id?null:e.id)},className:"flex w-full items-start gap-3 px-3 py-2 text-left",children:[(0,n.jsx)(tq,{kind:e.kind,tone:e.tone}),(0,n.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,n.jsx)("div",{className:"text-[10px] text-muted-foreground/70",children:new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}),(0,n.jsx)("div",{className:"text-xs text-foreground/80 whitespace-pre-wrap",children:t?e.text:a})]}),s&&(0,n.jsx)(N.A,{className:(0,c.cn)("mt-1 h-3.5 w-3.5 text-muted-foreground/60 transition-transform",t&&"rotate-90")})]})},e.id)})})]})});function tq({kind:e,tone:t}){let s=(0,c.cn)("shrink-0 rounded-full border px-2 py-0.5 text-[10px] font-medium","system"===e&&"border-border/60 bg-muted/40 text-muted-foreground","heartbeat"===e&&"border-blue-500/30 bg-[color:var(--cp-status-heartbeat-bg)] text-[color:var(--cp-status-heartbeat-text)]","alert"===e&&("error"===t?"border-red-500/30 bg-[color:var(--cp-status-error-bg)] text-[color:var(--cp-status-error-text)]":"border-amber-500/30 bg-[color:var(--cp-status-alert-bg)] text-[color:var(--cp-status-alert-text)]"));return(0,n.jsx)("span",{className:s,children:"system"===e?"System":"heartbeat"===e?"Heartbeat":"Alert"})}let tB=(0,a.memo)(function({entries:e}){return(0,n.jsx)("div",{className:"flex flex-col gap-0.5 items-start max-w-[95%]",children:e.map(e=>(0,n.jsx)(t5,{entry:e},`${e.toolCallId}-${e.updatedAt}`))})}),tH=(0,a.memo)(function({group:e,showReasoning:t,showTools:s}){return"user"===e.role?(0,n.jsx)("div",{className:"flex flex-col gap-2",children:e.messages.map((e,t)=>(0,n.jsx)(tZ,{message:e},e.id??`u-${t}`))}):"assistant"===e.role?(0,n.jsx)("div",{className:"flex flex-col gap-1 items-start",children:e.messages.map((e,a)=>(0,n.jsx)(tJ,{message:e,showReasoning:t,showTools:s},e.id??`a-${a}`))}):"tool"===e.role?(0,n.jsx)("div",{className:"flex flex-col gap-1",children:e.messages.map((e,t)=>(0,n.jsx)(tV,{message:e},e.id??`t-${t}`))}):"system"===e.role?(0,n.jsx)("div",{className:"flex flex-col gap-1",children:e.messages.map((e,t)=>{let s=e.displayText;return s?(0,n.jsx)("div",{className:"text-center text-xs text-muted-foreground/60 italic py-1",children:s},e.id??`s-${t}`):null})}):null}),tZ=(0,a.memo)(function({message:e}){let t=e.displayText,[s,r]=(0,a.useState)(null),l=(0,a.useMemo)(()=>{let t=[];for(let s of e.content)if("input_image"===s.type||"image"===s.type){let e,n=s.source;if(n?.type==="base64"&&"string"==typeof n.data){let t=n.data,s=n.media_type||"image/png";e=t.startsWith("data:")?t:`data:${s};base64,${t}`}else e=s.image_url??s.url??("string"==typeof n?.url?n.url:void 0);e&&t.push(e)}return t},[e.content]);if((!t||t.trim().length<1)&&0===l.length)return null;let i=e.timestamp?new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):null;return(0,n.jsxs)("div",{className:"flex flex-col gap-0.5 items-end",children:[s&&(0,n.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/70 p-4 cursor-pointer",onClick:()=>r(null),children:[(0,n.jsx)("img",{src:s,alt:"Full size",className:"max-h-[90vh] max-w-[90vw] rounded-lg object-contain shadow-2xl"}),(0,n.jsx)("button",{className:"absolute right-4 top-4 flex h-8 w-8 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70",onClick:()=>r(null),children:(0,n.jsx)(m.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 pr-4",children:[(0,n.jsx)(th,{channel:e.channel,sessionKey:e.sessionKey}),i&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50",children:i})]}),(0,n.jsxs)("div",{className:"max-w-[85%] space-y-2",children:[l.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap justify-end gap-1.5",children:l.map((e,t)=>(0,n.jsx)("img",{src:e,alt:`Attached image ${t+1}`,className:"max-h-48 max-w-[200px] cursor-pointer rounded-xl border border-white/20 object-cover shadow-sm transition-transform hover:scale-[1.02]",onClick:()=>r(e)},t))}),t&&t.trim().length>0&&(0,n.jsx)("div",{className:"cp-user-bubble rounded-2xl px-4 py-2 text-sm leading-relaxed break-words overflow-hidden",children:t})]})]})}),tJ=(0,a.memo)(function({message:e,showReasoning:t,showTools:s}){let a=e.displayText?.trim()||null,r=s?e.toolCards:[],l=r.length>0,i=t?function(e){let t=e.content,s=[];if(Array.isArray(t)){for(let e of t)if("thinking"===e.type&&"string"==typeof e.thinking){let t=e.thinking.trim();t&&s.push(t)}}if(s.length>0)return s.join("\n");let n=tT(e);if(!n)return null;let a=[...n.matchAll(/<\s*think(?:ing)?\s*>([\s\S]*?)<\s*\/\s*think(?:ing)?\s*>/gi)].map(e=>(e[1]??"").trim()).filter(Boolean);return a.length>0?a.join("\n"):null}(e.raw):null,o=i?function(e){let t=e.trim();if(!t)return"";let s=t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(e=>`_${e}_`);return s.length?["_Reasoning:_",...s].join("\n"):""}(i):null,c=e.timestamp?new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):null;return a||l?(0,n.jsxs)("div",{className:"flex flex-col gap-0.5 items-start max-w-[95%] min-w-0",children:[a&&(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(th,{channel:e.channel,sessionKey:e.sessionKey}),c&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50",children:c})]}),a&&(0,n.jsx)("div",{className:"min-w-0 text-sm leading-relaxed opacity-90",children:(0,n.jsx)(t2,{text:a})}),o&&(0,n.jsx)("div",{className:"min-w-0 text-xs text-muted-foreground",children:(0,n.jsx)(t2,{text:o})}),l&&r.map((e,t)=>(0,n.jsx)(tG,{card:e},`tc-${t}`))]}):null}),tV=(0,a.memo)(function({message:e}){let t=e.toolCards;return 0===t.length?null:(0,n.jsx)("div",{className:"flex flex-col gap-0.5",children:t.map((e,t)=>(0,n.jsx)(tG,{card:e},`tr-${t}`))})}),tG=(0,a.memo)(function({card:e}){let[t,s]=(0,a.useState)(!1),r=(0,a.useId)(),l=(0,ts.I)(),i=t3(e.name),o=i.icon,d=t9(e.text)??e.text??"",u=!!d.trim(),m=t6(e.args);return(0,n.jsxs)("div",{className:"my-0 max-w-full",children:[(0,n.jsxs)("button",{type:"button",onClick:u?()=>s(!t):void 0,className:(0,c.cn)("group flex w-full items-center gap-1 rounded-md px-0 py-px text-left text-[11px] leading-4 transition-colors","text-muted-foreground/60 hover:text-muted-foreground",u&&"hover:bg-muted/30 cursor-pointer",!u&&"cursor-default",t&&"bg-muted/40 text-foreground"),"aria-expanded":u?t:void 0,"aria-controls":u?r:void 0,children:[(0,n.jsx)("span",{className:(0,c.cn)("flex h-3.5 w-3.5 items-center justify-center",u?"text-muted-foreground/50 group-hover:text-muted-foreground":"opacity-0"),"aria-hidden":"true",children:u&&t?(0,n.jsx)(eG.A,{className:"h-3 w-3"}):(0,n.jsx)(N.A,{className:"h-3 w-3"})}),(0,n.jsx)("span",{className:"shrink-0 text-muted-foreground/70 group-hover:text-foreground",children:(0,n.jsx)(o,{className:"h-3.5 w-3.5"})}),(0,n.jsxs)("span",{className:"min-w-0 flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"font-medium text-foreground/75 group-hover:text-foreground",children:i.label}),m&&(0,n.jsx)("span",{className:"truncate max-w-[220px] text-[10px] font-mono text-muted-foreground/60 group-hover:text-muted-foreground",children:m})]}),(0,n.jsx)("span",{className:"ml-auto flex items-center gap-1 text-muted-foreground/50",children:"result"===e.kind&&!u&&(0,n.jsx)(eX.A,{className:"h-3 w-3"})})]}),(0,n.jsx)(tt.N,{initial:!1,children:u&&t&&(0,n.jsx)(te.P.div,{id:r,initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.18*!l},className:"overflow-hidden",children:(0,n.jsx)("div",{className:"pt-1 pl-6",children:(0,n.jsx)("pre",{className:"max-h-[200px] overflow-y-auto rounded bg-muted/30 p-2 text-[10px] font-mono text-muted-foreground whitespace-pre-wrap",children:d})})})})]})}),tX=(0,a.memo)(function({message:e,images:t,onRetry:s}){let[r,l]=(0,a.useState)(null),i=new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return(0,n.jsxs)("div",{className:"flex flex-col gap-0.5 items-end",children:[r&&(0,n.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/70 p-4 cursor-pointer",onClick:()=>l(null),children:[(0,n.jsx)("img",{src:r,alt:"Full size",className:"max-h-[90vh] max-w-[90vw] rounded-lg object-contain shadow-2xl"}),(0,n.jsx)("button",{className:"absolute right-4 top-4 flex h-8 w-8 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70",onClick:()=>l(null),children:(0,n.jsx)(m.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 px-1",children:[(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50",children:i}),"sending"===e.status&&(0,n.jsx)(en.A,{className:"h-3 w-3 text-muted-foreground/50"}),("streaming"===e.status||"sent"===e.status)&&(0,n.jsxs)("div",{className:"flex items-center text-blue-400",children:[(0,n.jsx)(eX.A,{className:"h-3 w-3"}),(0,n.jsx)(eX.A,{className:"-ml-1.5 h-3 w-3"})]}),"error"===e.status&&(0,n.jsxs)("button",{onClick:()=>s(e),className:"flex items-center gap-1 text-destructive hover:text-destructive/80 transition-colors",title:"Tap to retry",children:[(0,n.jsx)(eq.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{className:"text-[10px] font-medium",children:"Retry"})]})]}),(0,n.jsxs)("div",{className:"max-w-[85%] space-y-2",children:[t&&t.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap justify-end gap-1.5",children:t.map((e,t)=>(0,n.jsx)("img",{src:e,alt:`Attached image ${t+1}`,className:"max-h-48 max-w-[200px] cursor-pointer rounded-xl border border-white/20 object-cover shadow-sm transition-transform hover:scale-[1.02]",onClick:()=>l(e)},t))}),(0,n.jsx)("div",{className:(0,c.cn)("rounded-2xl px-4 py-2.5 text-sm leading-relaxed shadow-sm break-words overflow-hidden","error"===e.status?"bg-red-500 text-white dark:bg-red-600":"cp-user-bubble"),children:(0,n.jsx)("span",{children:e.text})})]})]})});function tQ(e){let t=[],s="",n=()=>{s.trim().length>0&&t.push({type:"text",text:s}),s=""};for(let a of e){if("text"===a.type&&"string"==typeof a.text){s&&(s+="\n"),s+=a.text;continue}n(),t.push(a)}return n(),t}function tY(e){return tQ(e.parts??[]).filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join("\n").trim()}let t0=(0,a.memo)(function({message:e,_images:t,isLatest:s,isStreaming:r,showThinking:l,onToolApprove:i,onToolDeny:o}){let[c,d]=(0,a.useState)(null),u=(0,a.useMemo)(()=>tQ(e.parts??[]),[e.parts]);return"user"===e.role?null:(0,n.jsxs)("div",{className:"flex flex-col gap-1 items-start",children:[c&&(0,n.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/70 p-4 cursor-pointer",onClick:()=>d(null),children:[(0,n.jsx)("img",{src:c,alt:"Full size",className:"max-h-[90vh] max-w-[90vw] rounded-lg object-contain shadow-2xl"}),(0,n.jsx)("button",{className:"absolute right-4 top-4 flex h-8 w-8 items-center justify-center rounded-full bg-black/50 text-white hover:bg-black/70",onClick:()=>d(null),children:(0,n.jsx)(m.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"max-w-[95%] min-w-0 text-sm leading-relaxed",children:[u.map((e,t)=>{if("text"===e.type)return(0,n.jsx)(t2,{text:e.text??""},t);if("dynamic-tool"===e.type||e.type?.startsWith("tool-")){let s="approval-requested"===e.state;if(!s&&!l)return null;let a=e.toolName??e.type.replace(/^tool-/,""),r=e.approval?.approvalId??e.toolCallId;return(0,n.jsx)(t8,{toolName:a,state:e.state??"",args:e.input,onApprove:s&&i?()=>i(r??""):void 0,onDeny:s&&o?()=>o(r??""):void 0},t)}return null}),r&&s&&(0,n.jsx)("span",{className:"inline-block h-4 w-0.5 animate-pulse bg-foreground/60 ml-0.5 align-text-bottom"})]})]})}),t1={code:({className:e,children:t,...s})=>e||"string"!=typeof t||t.includes("\n")?(0,n.jsx)("pre",{className:"my-2 overflow-x-auto rounded-lg bg-zinc-100 p-3 text-[13px] dark:bg-zinc-900",children:(0,n.jsx)("code",{className:e,...s,children:t})}):(0,n.jsx)("code",{className:"rounded bg-zinc-100 px-1.5 py-0.5 text-[13px] dark:bg-zinc-800",...s,children:t}),pre:({children:e})=>(0,n.jsx)(n.Fragment,{children:e}),p:({children:e})=>(0,n.jsx)("p",{className:"my-1",children:e}),a:({href:e,children:t})=>(0,n.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 underline dark:text-blue-400 break-all",children:t}),ul:({children:e})=>(0,n.jsx)("ul",{className:"my-1 list-disc pl-4",children:e}),ol:({children:e})=>(0,n.jsx)("ol",{className:"my-1 list-decimal pl-4",children:e}),li:({children:e})=>(0,n.jsx)("li",{className:"my-0",children:e}),blockquote:({children:e})=>(0,n.jsx)("blockquote",{className:"my-2 border-l-2 border-zinc-300 pl-3 italic text-muted-foreground dark:border-zinc-600",children:e}),table:({children:e})=>(0,n.jsx)("div",{className:"my-2 overflow-x-auto",children:(0,n.jsx)("table",{className:"min-w-full border-collapse text-sm",children:e})}),th:({children:e})=>(0,n.jsx)("th",{className:"border border-zinc-300 bg-zinc-100 px-2 py-1 text-left font-medium dark:border-zinc-600 dark:bg-zinc-800",children:e}),td:({children:e})=>(0,n.jsx)("td",{className:"border border-zinc-300 px-2 py-1 dark:border-zinc-600",children:e}),h1:({children:e})=>(0,n.jsx)("h1",{className:"my-2 text-base font-bold",children:e}),h2:({children:e})=>(0,n.jsx)("h2",{className:"my-1.5 text-sm font-bold",children:e}),h3:({children:e})=>(0,n.jsx)("h3",{className:"my-1 text-sm font-semibold",children:e}),img:({src:e,alt:t})=>(0,n.jsx)("img",{src:e,alt:t??"",className:"my-2 max-w-full rounded-lg"})},t2=(0,a.memo)(function({text:e}){return(0,n.jsx)("div",{className:"chat-message-content min-w-0 max-w-full overflow-hidden text-sm leading-relaxed [overflow-wrap:break-word]",children:(0,n.jsx)(e8.oz,{remarkPlugins:[e7.A],components:t1,children:e})})}),t5=(0,a.memo)(function({entry:e}){let[t,s]=(0,a.useState)(!1),r=(0,a.useId)(),l=(0,ts.I)(),i=t3(e.name),o=i.icon,d=t6(e.args),u=function(e){if(null==e)return null;if("string"==typeof e)return e.trim()?e:null;try{return JSON.stringify(e,null,2)}catch{return String(e)}}(e.args),m=e.output?.trim()??"",h=t9(m)??m,x=!!m,p=!!(u||x),g="start"===e.phase||"update"===e.phase,f="result"===e.phase?"Completed":"error"===e.phase?"Error":"Running",b="result"===e.phase?eX.A:"error"===e.phase?eq.A:eW.A;return(0,n.jsxs)("div",{className:(0,c.cn)("rounded-lg border border-transparent bg-transparent","transition-colors","hover:border-border/40 hover:bg-muted/20",t&&"border-border/50 bg-muted/30",g&&"bg-muted/30"),children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{p&&s(e=>!e)},className:(0,c.cn)("group flex w-full items-center justify-between gap-2 px-0 py-px text-left","text-[11px] leading-4 transition-colors","text-muted-foreground/60 hover:text-muted-foreground",p?"cursor-pointer":"cursor-default"),"aria-expanded":p?t:void 0,"aria-disabled":!p,"aria-controls":p?r:void 0,children:[(0,n.jsx)("span",{className:(0,c.cn)("flex h-3.5 w-3.5 items-center justify-center",p?"text-muted-foreground/50 group-hover:text-muted-foreground":"opacity-0"),"aria-hidden":"true",children:p&&t?(0,n.jsx)(eG.A,{className:"h-3 w-3"}):(0,n.jsx)(N.A,{className:"h-3 w-3"})}),(0,n.jsx)("span",{className:"shrink-0 text-muted-foreground/70 group-hover:text-foreground","aria-hidden":"true",children:(0,n.jsx)(o,{className:"h-3.5 w-3.5"})}),(0,n.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,n.jsx)("span",{className:"text-[11px] font-medium text-foreground/75 group-hover:text-foreground",children:i.label}),d&&(0,n.jsx)("span",{className:"text-[10px] font-mono text-muted-foreground/60 truncate group-hover:text-muted-foreground",children:d})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,n.jsx)(b,{className:(0,c.cn)("h-3.5 w-3.5","Running"===f&&"animate-spin motion-reduce:animate-none","Error"===f&&"text-destructive")}),(0,n.jsx)("span",{className:(0,c.cn)("Error"===f&&"text-destructive",g&&"animate-pulse motion-reduce:animate-none"),children:f})]})]}),(0,n.jsx)(tt.N,{initial:!1,children:t&&p&&(0,n.jsx)(te.P.div,{id:r,initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.18*!l},className:"overflow-hidden",children:(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-2",children:[u&&(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70",children:"Args"}),(0,n.jsx)("pre",{className:"max-h-60 overflow-auto rounded-md bg-background/60 px-2 py-1.5 text-[10px] font-mono whitespace-pre-wrap text-foreground",children:u})]}),x&&(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70",children:"Output"}),(0,n.jsx)("pre",{className:"max-h-60 overflow-auto rounded-md bg-background/60 px-2 py-1.5 text-[10px] font-mono whitespace-pre-wrap text-foreground",children:h})]})]})})})]})}),t4={Read:{icon:k.A,label:"Read file"},Edit:{icon:eQ.A,label:"Edit file"},Write:{icon:eY.A,label:"Write file"},exec:{icon:eZ.A,label:"Run command"},web_search:{icon:l.A,label:"Web search"},web_fetch:{icon:e0.A,label:"Fetch page"},browser:{icon:e0.A,label:"Browser"},message:{icon:ec.A,label:"Send message"},image:{icon:e1.A,label:"Analyze image"},tts:{icon:e2.A,label:"Text to speech"},nodes:{icon:e5.A,label:"Node control"},canvas:{icon:e4.A,label:"Canvas"},process:{icon:e3.A,label:"Process"}};function t3(e){let t=e.trim(),s=t.replace(/[\s-]+/g,"_"),n=s.toLowerCase(),a=n.length>0?n[0].toUpperCase()+n.slice(1):"";for(let e of[t,s,n,t.toLowerCase(),a])if(e&&t4[e])return t4[e];return{icon:e6.A,label:t||"Tool"}}function t6(e){if(!e)return null;if("string"==typeof e){let t=e.trim();return t?t.length>60?t.slice(0,57)+"…":t:null}if("object"!=typeof e)return null;if(e.query)return`"${String(e.query)}"`;if(e.path)return String(e.path).replace(/\/Users\/[^/]+/g,"~").replace(/\/home\/[^/]+/g,"~");if(e.file_path)return String(e.file_path).replace(/\/Users\/[^/]+/g,"~").replace(/\/home\/[^/]+/g,"~");if(e.command){let t=String(e.command);return t.length>60?t.slice(0,57)+"…":t}return e.url?String(e.url):e.action?String(e.action):null}function t9(e){return e?tP(e)??e:null}let t8=(0,a.memo)(function({toolName:e,state:t,args:s,onApprove:a,onDeny:r}){let l=t3(e),i=l.icon,o=(()=>{if(!s||"object"!=typeof s)return null;if(s.query)return`"${String(s.query)}"`;if(s.path)return String(s.path).split("/").pop();if(s.file_path)return String(s.file_path).split("/").pop();if(s.command){let e=String(s.command);return e.length>50?e.slice(0,50)+"…":e}return s.url?String(s.url):null})();return"approval-requested"!==t?(0,n.jsxs)("div",{className:"my-1.5 flex items-center gap-2 rounded-md px-2 py-1 text-[11px] leading-4 text-muted-foreground/60 transition-colors hover:text-muted-foreground hover:bg-muted/30",children:["call"===t||"input-streaming"===t||"input-available"===t?(0,n.jsx)(eW.A,{className:"h-3 w-3 animate-spin motion-reduce:animate-none shrink-0"}):"output-available"===t||"result"===t?(0,n.jsx)(eX.A,{className:"h-3 w-3 text-green-600 shrink-0"}):"output-error"===t?(0,n.jsx)(e9.A,{className:"h-3 w-3 text-destructive shrink-0"}):(0,n.jsx)("span",{className:"shrink-0 text-muted-foreground/70",children:(0,n.jsx)(i,{className:"h-3.5 w-3.5"})}),(0,n.jsx)("span",{className:"font-medium text-foreground/75",children:l.label}),o&&(0,n.jsx)("span",{className:"truncate max-w-[200px] text-[10px] font-mono text-muted-foreground/60",children:o})]}):(0,n.jsxs)("div",{className:"my-1.5 rounded-lg border border-amber-500/40 bg-amber-50/50 dark:bg-amber-950/20 p-2.5 text-xs",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[(0,n.jsx)(eV.A,{className:"h-3.5 w-3.5 text-amber-600 dark:text-amber-400"}),(0,n.jsx)("span",{className:"font-medium font-mono",children:e}),(0,n.jsx)("span",{className:"text-muted-foreground/60",children:"Requires approval"})]}),null!=s&&"object"==typeof s&&Object.keys(s).length>0?(0,n.jsx)("pre",{className:"mt-1.5 overflow-x-auto rounded bg-background dark:bg-muted/50 p-1.5 text-[11px] font-mono text-muted-foreground",children:JSON.stringify(s,null,2)}):null,a&&r&&(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,n.jsxs)("button",{onClick:a,className:"inline-flex items-center gap-1 rounded-md bg-green-600 px-2.5 py-1 text-[11px] font-medium text-white transition-colors hover:bg-green-700",children:[(0,n.jsx)(eX.A,{className:"h-3 w-3"}),"Approve"]}),(0,n.jsxs)("button",{onClick:r,className:"inline-flex items-center gap-1 rounded-md bg-red-600 px-2.5 py-1 text-[11px] font-medium text-white transition-colors hover:bg-red-700",children:[(0,n.jsx)(e9.A,{className:"h-3 w-3"}),"Deny"]})]})]})});var t7=s(37618),se=s(92564),st=s(93219);let ss=[{id:"pages",label:"Pages",icon:k.A},{id:"editor",label:"Editor",icon:t7.A},{id:"chat",label:"Chat",icon:se.A},{id:"activity",label:"Activity",icon:st.A}],sn=(0,a.memo)(function({activeTab:e,onTabChange:t,hasUnreadChat:s=!1,onNewPage:a}){return(0,n.jsxs)(n.Fragment,{children:["pages"===e&&a&&(0,n.jsx)("button",{onClick:a,className:(0,c.cn)("fixed bottom-20 right-4 z-50 flex h-14 w-14 items-center justify-center","rounded-full bg-accent-blue text-white shadow-lg","active:scale-95 transition-transform","safe-area-bottom-fab"),"aria-label":"New Page",children:(0,n.jsx)(i.A,{className:"h-6 w-6"})}),(0,n.jsx)("nav",{className:"fixed bottom-0 left-0 right-0 z-50 flex h-14 items-stretch border-t border-border bg-background/95 backdrop-blur-sm safe-area-bottom",children:ss.map(({id:a,label:r,icon:l})=>{let i=e===a;return(0,n.jsxs)("button",{onClick:()=>t(a),className:(0,c.cn)("relative flex flex-1 flex-col items-center justify-center gap-0.5 transition-colors min-h-[44px]",i?"text-accent-blue":"text-muted-foreground active:text-foreground"),children:[(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(l,{className:"h-5 w-5"}),"chat"===a&&s&&(0,n.jsxs)("span",{className:"absolute -right-1.5 -top-1 flex h-2.5 w-2.5",children:[(0,n.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-accent-blue opacity-75"}),(0,n.jsx)("span",{className:"relative inline-flex h-2.5 w-2.5 rounded-full bg-accent-blue"})]})]}),(0,n.jsx)("span",{className:"text-[10px] font-medium",children:r}),i&&(0,n.jsx)("span",{className:"absolute top-0 left-1/4 right-1/4 h-0.5 rounded-full bg-accent-blue"})]},a)})})]})});function sa({onNavigate:e}){let t=(0,w.usePathname)(),s=(0,w.useRouter)(),{spaces:r,expandedSpaces:i,expandedFolders:o,toggleSpace:d,toggleFolder:u,pagesBySpace:m,loadingSpaces:h,loadingPages:x,recentPages:p,loadSpaces:g,loadRecentPages:f}=(0,P.M)(),[b,v]=(0,a.useState)("");(0,a.useEffect)(()=>{g(),f()},[g,f]);let j=(0,a.useCallback)(t=>{s.push((0,I.C)(t)),e?.()},[s,e]),y=(0,D.z)(e=>e.agentName);return(0,n.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,n.jsx)("div",{className:"flex h-14 shrink-0 items-center justify-between border-b px-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-primary text-[11px] font-bold text-primary-foreground",children:"C"}),(0,n.jsx)("span",{className:"text-sm font-semibold",children:y??"ClawPad"})]})}),(0,n.jsx)("div",{className:"shrink-0 px-4 py-3",children:(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(l.A,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)("input",{type:"text",placeholder:"Search pages…",value:b,onChange:e=>v(e.target.value),className:(0,c.cn)("w-full rounded-lg border bg-secondary/50 py-2.5 pl-9 pr-3 text-sm","placeholder:text-muted-foreground","focus:outline-none focus:ring-2 focus:ring-ring","min-h-[44px]")})]})}),(0,n.jsxs)(E,{className:"flex-1 px-4",children:[!b&&p.length>0&&(0,n.jsxs)("div",{className:"mb-4",children:[(0,n.jsx)(sr,{children:"Recent"}),(0,n.jsx)("div",{className:"space-y-0.5",children:p.slice(0,5).map(e=>(0,n.jsx)(si,{page:e,isActive:t===(0,I.C)(e.path),onNavigate:()=>j(e.path),showTime:!0},e.path))})]}),(0,n.jsx)(z.w,{className:"my-2"}),(0,n.jsxs)("div",{className:"pb-4",children:[(0,n.jsx)(sr,{children:"Spaces"}),h?(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(R.E,{className:"h-12 w-full rounded-lg"}),(0,n.jsx)(R.E,{className:"h-12 w-full rounded-lg"}),(0,n.jsx)(R.E,{className:"h-12 w-full rounded-lg"})]}):0===r.length?(0,n.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:"No spaces yet"}):(0,n.jsx)("div",{className:"space-y-1",children:r.map(e=>(0,n.jsx)(sl,{space:e,isExpanded:i.has(e.path),pages:m.get(e.path)??[],isLoadingPages:x.get(e.path)??!1,pathname:t,searchQuery:b,onToggle:()=>d(e.path),expandedFolders:o,onToggleFolder:u,onNavigate:j},e.path))})]})]})]})}function sr({children:e}){return(0,n.jsx)("h3",{className:"mb-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:e})}let sl=(0,a.memo)(function({space:e,isExpanded:t,pages:s,isLoadingPages:a,pathname:r,searchQuery:l,onToggle:i,expandedFolders:o,onToggleFolder:d,onNavigate:u}){let m=K(l?s.filter(e=>e.title.toLowerCase().includes(l.toLowerCase())):s,e.path);if(l&&0===m.length)return null;let h=t=>t.map(t=>{if("page"===t.type)return(0,n.jsx)(si,{page:t.page,isActive:r===(0,I.C)(t.page.path),onNavigate:()=>u(t.page.path)},t.page.path);let s=`${e.path}/${t.path}`,a=o.has(s);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:()=>d(s),className:(0,c.cn)("flex w-full items-center gap-2 rounded-lg px-3 py-2 text-[13px] transition-colors","text-muted-foreground hover:bg-secondary active:bg-secondary","min-h-[44px]"),children:[(0,n.jsx)(N.A,{className:(0,c.cn)("h-3.5 w-3.5 shrink-0 transition-transform duration-200",a&&"rotate-90")}),(0,n.jsx)("span",{className:"shrink-0 text-xs",children:"\uD83D\uDCC2"}),(0,n.jsx)("span",{className:"flex-1 truncate text-left",children:t.name})]}),a&&(0,n.jsx)("div",{className:"ml-3 border-l border-border/50 pl-3 py-0.5",children:h(t.children)})]},s)});return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:i,className:(0,c.cn)("flex w-full items-center gap-2 rounded-lg px-3 py-3 text-sm transition-colors","hover:bg-secondary active:bg-secondary","min-h-[48px]",t&&"font-medium"),children:[(0,n.jsx)(N.A,{className:(0,c.cn)("h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",t&&"rotate-90")}),(0,n.jsx)("span",{className:"shrink-0 text-base",children:e.icon??"\uD83D\uDCC1"}),(0,n.jsx)("span",{className:"flex-1 truncate text-left",children:e.name}),(0,n.jsx)(_.E,{variant:"secondary",className:"h-5 shrink-0 px-1.5 text-[11px] font-normal",children:e.pageCount})]}),t&&(0,n.jsx)("div",{className:"ml-4 border-l border-border/50 pl-3 py-0.5",children:a?(0,n.jsxs)("div",{className:"space-y-1 py-1",children:[(0,n.jsx)(R.E,{className:"h-10 w-full rounded-lg"}),(0,n.jsx)(R.E,{className:"h-10 w-3/4 rounded-lg"})]}):0===m.length?(0,n.jsx)("p",{className:"py-3 px-2 text-xs text-muted-foreground",children:"No pages"}):h(m)})]})}),si=(0,a.memo)(function({page:e,isActive:t,onNavigate:s,showTime:a}){return(0,n.jsxs)("button",{onClick:s,className:(0,c.cn)("flex w-full items-center gap-2 rounded-lg px-3 py-2.5 text-sm transition-colors","text-muted-foreground hover:bg-secondary active:bg-secondary","min-h-[44px]",t&&"bg-accent-light text-accent-blue font-medium"),children:[(0,n.jsx)(en.A,{className:"h-3.5 w-3.5 shrink-0 opacity-50"}),e.icon?(0,n.jsx)("span",{className:"shrink-0 text-sm",children:e.icon}):(0,n.jsx)(k.A,{className:"h-4 w-4 shrink-0"}),(0,n.jsx)("span",{className:"flex-1 truncate text-left",children:e.title}),a&&(0,n.jsx)("span",{className:"shrink-0 text-[11px] text-muted-foreground/60",children:(0,F.f)(e.modified)})]})});var so=s(3926),sc=s(34269),sd=s(49619),su=s(90718),sm=s(3163);let sh={"file-changed":{icon:so.A,className:"text-blue-500"},"file-added":{icon:es.A,className:"text-green-500"},"file-removed":{icon:sc.A,className:"text-red-400"},"chat-message":{icon:ec.A,className:"text-violet-500"},"tool-used":{icon:e6.A,className:"text-amber-500"},"sub-agent":{icon:sd.A,className:"text-cyan-500"}};function sx(){let e=(0,D.z)(e=>e.agentStatus);return"thinking"!==e&&"active"!==e?null:(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-violet-500/10 px-2 py-1.5 mb-1",children:[(0,n.jsx)(su.A,{className:(0,c.cn)("h-3.5 w-3.5 text-violet-500","thinking"===e&&"animate-pulse")}),(0,n.jsx)("span",{className:"text-[12px] text-violet-500 font-medium",children:"thinking"===e?"Agent thinking…":"Agent working…"}),(0,n.jsxs)("span",{className:"ml-auto flex gap-0.5",children:[(0,n.jsx)("span",{className:"h-1 w-1 rounded-full bg-violet-400 animate-bounce [animation-delay:0ms]"}),(0,n.jsx)("span",{className:"h-1 w-1 rounded-full bg-violet-400 animate-bounce [animation-delay:150ms]"}),(0,n.jsx)("span",{className:"h-1 w-1 rounded-full bg-violet-400 animate-bounce [animation-delay:300ms]"})]})]})}function sp({type:e,description:t,timestamp:s}){let a,r=sh[e]??sh["file-changed"],l=r.icon;return(0,n.jsxs)("div",{className:"flex items-start gap-2 rounded-md px-2 py-1.5 transition-colors hover:bg-sidebar-accent group",children:[(0,n.jsx)(l,{className:(0,c.cn)("mt-0.5 h-3.5 w-3.5 shrink-0",r.className)}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("p",{className:"truncate text-[12px] leading-snug text-foreground/80",children:t}),(0,n.jsx)("p",{className:"text-[10px] text-muted-foreground/60",children:(a=Math.floor((Date.now()-s)/1e3))<5?"just now":a<60?`${a}s ago`:a<3600?`${Math.floor(a/60)}m ago`:a<86400?`${Math.floor(a/3600)}h ago`:`${Math.floor(a/86400)}d ago`})]})]})}function sg(){let e=(0,sm.e)(e=>e.items),t=(0,sm.e)(e=>e.clear);return(0,n.jsxs)("div",{className:"flex flex-col",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 py-1",children:[(0,n.jsx)("h3",{className:"text-xs font-medium text-muted-foreground",children:"Activity"}),e.length>0&&(0,n.jsx)("button",{onClick:t,className:"text-[10px] text-muted-foreground/60 hover:text-muted-foreground transition-colors",children:"Clear"})]}),(0,n.jsx)(sx,{}),0===e.length?(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[(0,n.jsx)(st.A,{className:"mb-3 h-8 w-8 text-muted-foreground/30"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No recent activity"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground/60",children:"File changes and agent events will appear here"})]}):(0,n.jsx)(E,{className:"max-h-[400px]",children:(0,n.jsx)("div",{className:"space-y-0.5",children:e.map(e=>(0,n.jsx)(sp,{type:e.type,description:e.description,timestamp:e.timestamp},e.id))})})]})}function sf(){return(0,n.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,n.jsx)("div",{className:"flex h-14 shrink-0 items-center border-b px-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(st.A,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-sm font-medium",children:"Activity"})]})}),(0,n.jsx)(E,{className:"flex-1",children:(0,n.jsx)("div",{className:"p-4",children:(0,n.jsx)(sg,{})})})]})}var sb=s(42317);let sv={navigation:"Navigation",panels:"Panels",editing:"Editing",ai:"AI",general:"General"},sj=["navigation","panels","editing","ai","general"];function sw({shortcuts:e}){let[t,s]=(0,a.useState)(!1);(0,a.useEffect)(()=>{function e(){s(!0)}return window.addEventListener("clawpad:shortcuts-dialog",e),()=>window.removeEventListener("clawpad:shortcuts-dialog",e)},[]);let r=(0,a.useCallback)(e=>{s(e)},[]),l=sj.map(t=>({category:t,label:sv[t]??t,items:e.filter(e=>e.category===t)})).filter(e=>e.items.length>0);return(0,n.jsx)(ep,{open:t,onOpenChange:r,children:(0,n.jsxs)(eb,{className:"sm:max-w-[480px]",children:[(0,n.jsxs)(ev,{children:[(0,n.jsxs)(ew,{className:"flex items-center gap-2",children:[(0,n.jsx)(eh.A,{className:"h-4 w-4 text-muted-foreground"}),"Keyboard Shortcuts"]}),(0,n.jsx)(ey,{children:"Quick actions to navigate your workspace"})]}),(0,n.jsxs)("div",{className:"grid gap-5 py-2",children:[l.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"mb-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:e.label}),(0,n.jsx)("div",{className:"space-y-1",children:e.items.map(e=>(0,n.jsxs)("div",{className:"flex items-center justify-between rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-muted/50",children:[(0,n.jsx)("span",{className:"text-foreground/80",children:e.label}),(0,n.jsx)(sN,{keys:e.keys})]},e.id))})]},e.category)),(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"mb-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"Other"}),(0,n.jsxs)("div",{className:"flex items-center justify-between rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-muted/50",children:[(0,n.jsx)("span",{className:"text-foreground/80",children:"Close dialog / panel"}),(0,n.jsx)(sN,{keys:"Esc"})]})]})]})]})})}let sy={"⌘":"⌘","⇧":"⇧","⌥":"⌥","⌃":"⌃",Cmd:"⌘",Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Esc:"Esc",Enter:"↵",Tab:"⇥",Backspace:"⌫",Delete:"⌦","\\":"\\"};function sN({keys:e,className:t}){let s=function(e){let t=new Set(["⌘","⇧","⌥","⌃"]),s=[],n=0;for(;n<e.length;){let a=e[n];if(t.has(a))s.push(a),n++;else if("+"===a)n++;else{s.push(e.slice(n));break}}return 0===s.length&&s.push(e),s}(e);return(0,n.jsx)("div",{className:`flex items-center gap-0.5 ${t??""}`,children:s.map((e,t)=>(0,n.jsx)("kbd",{className:"inline-flex h-5 min-w-5 items-center justify-center rounded border border-border bg-muted/60 px-1 text-[11px] font-medium text-muted-foreground",children:sy[e]??e},t))})}function sk(){var e;let t,s,r=(0,P.M)(e=>e.toggleSidebar),l=(0,P.M)(e=>e.toggleChatPanel),{resolvedTheme:i,setTheme:o}=(0,L.D)(),c=(0,a.useCallback)(()=>{let e=new KeyboardEvent("keydown",{key:"k",metaKey:!0,bubbles:!0});document.dispatchEvent(e)},[]),d=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:new-page"))},[]),u=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:shortcuts-dialog"))},[]),m=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:save"))},[]),h=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:save"))},[]),x=(0,a.useCallback)(()=>{o("dark"===i?"light":"dark")},[i,o]),p=(0,a.useCallback)(()=>{let e=document.querySelector(".clawpad-editor [contenteditable]")??document.querySelector(".clawpad-editor .bn-editor")??document.querySelector(".clawpad-editor");e&&e.focus()},[]),g=(0,a.useMemo)(()=>{var e;return[{id:"search",label:"Search",keys:"⌘K",category:"navigation",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"k"===e.key,action:(e={openSearch:c,newPage:d,toggleChat:l,toggleSidebar:r,save:m,saveAll:h,openShortcuts:u,toggleDarkMode:x,focusEditor:p}).openSearch},{id:"quick-switcher",label:"Quick Page Switcher",keys:"⌘P",category:"navigation",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"p"===e.key,action:e.openSearch},{id:"new-page",label:"New Page",keys:"⌘N",category:"navigation",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"n"===e.key,action:e.newPage},{id:"toggle-sidebar",label:"Toggle Sidebar",keys:"⌘\\",category:"panels",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"\\"===e.key,action:e.toggleSidebar},{id:"toggle-chat",label:"Toggle Chat",keys:"⌘⇧L",category:"panels",match:e=>(e.metaKey||e.ctrlKey)&&e.shiftKey&&"l"===e.key.toLowerCase(),action:e.toggleChat},{id:"focus-editor",label:"Focus Editor",keys:"⌘⇧E",category:"panels",match:e=>(e.metaKey||e.ctrlKey)&&e.shiftKey&&"e"===e.key.toLowerCase(),action:e.focusEditor},{id:"save",label:"Save",keys:"⌘S",category:"editing",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"s"===e.key,action:e.save},{id:"save-all",label:"Save All",keys:"⌘⇧S",category:"editing",match:e=>(e.metaKey||e.ctrlKey)&&e.shiftKey&&"s"===e.key.toLowerCase(),action:e.saveAll},...e.aiOnSelection?[{id:"ai-selection",label:"AI on Selection",keys:"⌘J",category:"ai",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"j"===e.key,action:e.aiOnSelection}]:[{id:"ai-selection",label:"AI on Selection",keys:"⌘J",category:"ai",match:e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&"j"===e.key,action:()=>{}}],{id:"toggle-dark-mode",label:"Toggle Dark Mode",keys:"⌘⇧D",category:"general",match:e=>(e.metaKey||e.ctrlKey)&&e.shiftKey&&"d"===e.key.toLowerCase(),action:e.toggleDarkMode},{id:"shortcuts-help",label:"Keyboard Shortcuts",keys:"⌘/",category:"general",match:e=>(e.metaKey||e.ctrlKey)&&"/"===e.key,action:e.openShortcuts}]},[c,d,l,r,m,h,u,x,p]);return e=(0,a.useMemo)(()=>g.filter(e=>["toggle-sidebar","shortcuts-help","toggle-dark-mode","focus-editor","quick-switcher","save-all"].includes(e.id)),[g]),t=(0,a.useRef)(e),(0,a.useEffect)(()=>{t.current=e},[e]),s=(0,a.useCallback)(e=>{let s=e.target,n="INPUT"===s.tagName||"TEXTAREA"===s.tagName||s.isContentEditable;for(let s of t.current)if(s.match(e)&&(!n||e.metaKey||e.ctrlKey)){e.preventDefault(),s.action();return}},[]),(0,a.useEffect)(()=>(window.addEventListener("keydown",s,{capture:!0}),()=>window.removeEventListener("keydown",s,{capture:!0})),[s]),(0,n.jsx)(sw,{shortcuts:g})}function sC(){return(0,n.jsxs)("div",{className:"flex h-full w-full flex-col p-4 gap-4",children:[(0,n.jsx)(R.E,{className:"h-8 w-32"}),(0,n.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,n.jsx)(R.E,{className:"h-16 w-3/4 ml-auto"}),(0,n.jsx)(R.E,{className:"h-24 w-4/5"}),(0,n.jsx)(R.E,{className:"h-16 w-2/3 ml-auto"})]}),(0,n.jsx)(R.E,{className:"h-12 w-full"})]})}function sS({children:e}){let{isMobile:t,isTablet:s}=Q(),[r,l]=(0,a.useState)("editor"),{chatPanelOpen:i,setChatPanelOpen:o,setSidebarOpen:c}=(0,P.M)(),d=(0,a.useRef)(new Map),u=(0,a.useCallback)(e=>{let t=e.currentTarget;t.classList.add("is-scrolling");let s=d.current,n=s.get(t);n&&window.clearTimeout(n);let a=window.setTimeout(()=>{t.classList.remove("is-scrolling"),s.delete(t)},900);s.set(t,a)},[]);(0,a.useEffect)(()=>()=>{d.current.forEach(e=>window.clearTimeout(e)),d.current.clear()},[]);let m=(0,a.useCallback)(e=>{l(e),c(!1),"chat"===e?o(!0):o(!1)},[c,o]),h=(0,a.useCallback)(()=>{window.dispatchEvent(new CustomEvent("clawpad:new-page"))},[]);return t?(0,n.jsxs)("div",{className:"flex h-[100dvh] flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex-1 overflow-hidden",children:["pages"===r&&(0,n.jsx)("div",{className:"h-full pb-14",children:(0,n.jsx)(sa,{onNavigate:()=>l("editor")})}),"editor"===r&&(0,n.jsx)("main",{className:"workspace-scroll-area h-full overflow-y-auto pb-14",onScroll:u,children:(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(sb.L,{}),children:e})}),"chat"===r&&(0,n.jsx)("div",{className:"h-full pb-14",children:(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(sC,{}),children:(0,n.jsx)(tI,{variant:"fullscreen"})})}),"activity"===r&&(0,n.jsx)("div",{className:"h-full pb-14",children:(0,n.jsx)(sf,{})})]}),(0,n.jsx)(sn,{activeTab:r,onTabChange:m,onNewPage:h}),(0,n.jsx)(eR,{}),(0,n.jsx)(eD,{}),(0,n.jsx)(sk,{})]}):s?(0,n.jsxs)("div",{className:"flex h-screen overflow-hidden",children:[(0,n.jsx)(ee,{}),(0,n.jsx)("main",{className:"workspace-scroll-area relative z-0 flex-1 overflow-y-auto",onScroll:u,children:(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(sb.L,{}),children:e})}),(0,n.jsx)(x,{open:i,onOpenChange:o,children:(0,n.jsxs)(f,{side:"right",className:"w-[400px] p-0",showCloseButton:!1,children:[(0,n.jsx)(Y,{children:(0,n.jsx)(b,{children:"Chat"})}),(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(sC,{}),children:(0,n.jsx)(tI,{variant:"sheet"})})]})}),(0,n.jsx)(eR,{}),(0,n.jsx)(eD,{}),(0,n.jsx)(sk,{})]}):(0,n.jsxs)("div",{className:"flex h-screen overflow-hidden",children:[(0,n.jsx)(ee,{}),(0,n.jsx)("main",{className:"workspace-scroll-area relative z-0 flex-1 overflow-y-auto",onScroll:u,children:(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(sb.L,{}),children:e})}),(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(sC,{}),children:(0,n.jsx)(tI,{})}),(0,n.jsx)(eR,{}),(0,n.jsx)(eD,{}),(0,n.jsx)(sk,{})]})}},29991:(e,t,s)=>{"use strict";s.d(t,{bq:()=>u,eb:()=>h,gC:()=>m,l6:()=>c,yv:()=>d});var n=s(95155);s(12115);var a=s(66088),r=s(94514),l=s(9921),i=s(89064),o=s(52799);function c({...e}){return(0,n.jsx)(i.bL,{"data-slot":"select",...e})}function d({...e}){return(0,n.jsx)(i.WT,{"data-slot":"select-value",...e})}function u({className:e,size:t="default",children:s,...r}){return(0,n.jsxs)(i.l9,{"data-slot":"select-trigger","data-size":t,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[s,(0,n.jsx)(i.In,{asChild:!0,children:(0,n.jsx)(a.A,{className:"size-4 opacity-50"})})]})}function m({className:e,children:t,position:s="item-aligned",align:a="center",...r}){return(0,n.jsx)(i.ZL,{children:(0,n.jsxs)(i.UC,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,align:a,...r,children:[(0,n.jsx)(x,{}),(0,n.jsx)(i.LM,{className:(0,o.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,n.jsx)(p,{})]})})}function h({className:e,children:t,...s}){return(0,n.jsxs)(i.q7,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...s,children:[(0,n.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(i.VF,{children:(0,n.jsx)(r.A,{className:"size-4"})})}),(0,n.jsx)(i.p4,{children:t})]})}function x({className:e,...t}){return(0,n.jsx)(i.PP,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,n.jsx)(l.A,{className:"size-4"})})}function p({className:e,...t}){return(0,n.jsx)(i.wn,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,n.jsx)(a.A,{className:"size-4"})})}},31328:(e,t,s)=>{"use strict";s.d(t,{z:()=>r});var n=s(1934);let a="http://127.0.0.1:18789",r=(0,n.v)((e,t)=>({connected:!1,connecting:!1,wsStatus:"disconnected",wsError:void 0,reason:null,url:a,token:void 0,agentName:void 0,source:void 0,sessions:[],agentStatus:"idle",error:void 0,detect:async()=>{try{let t=await fetch("/api/gateway/detect");if(!t.ok)throw Error("Failed to detect gateway");let s=await t.json();s&&e({url:s.url||a,token:s.token||void 0,agentName:s.agentName||void 0,source:s.source||void 0})}catch(t){e({reason:"server_unreachable",error:`Detection failed: ${String(t)}`})}},connect:async()=>{let{url:s}=t();e({connecting:!0,error:void 0,reason:null});try{let n=await fetch("/api/gateway/status");if(!n.ok)throw Error("Failed to check gateway status");let a=await n.json();a.connected?(e({connected:!0,connecting:!1,agentName:a.agentName||t().agentName,reason:null,error:void 0}),t().loadSessions()):e({connected:!1,connecting:!1,reason:a.reason??"gateway_unreachable",error:a.error||`Cannot connect to ${s}`})}catch(t){e({connected:!1,connecting:!1,reason:"server_unreachable",error:`ClawPad server unreachable: ${String(t)}`})}},disconnect:()=>{e({connected:!1,connecting:!1,wsStatus:"disconnected",reason:null,sessions:[],agentStatus:"idle",error:void 0})},loadSessions:async()=>{try{let t=await fetch("/api/gateway/sessions");if(!t.ok)return;let s=(await t.json()).sessions??[],n=s.some(e=>"active"===e.status),a=s.some(e=>"thinking"===e.status);e({sessions:s,agentStatus:n?"active":a?"thinking":"idle"})}catch{}},setUrl:t=>e({url:t}),setToken:t=>e({token:t||void 0}),setWSStatus:(s,n)=>{e({wsStatus:s,wsError:"connected"===s?void 0:n?.error}),"connected"===s?e({connected:!0,connecting:!1,reason:null,error:void 0}):"connecting"===s||"reconnecting"===s?e({connected:!1,connecting:!0,reason:n?.reason??"gateway_unreachable"}):e({connected:!1,connecting:!1,reason:n?.reason??t().reason??"gateway_unreachable"})},setAgentStatus:t=>e({agentStatus:t})}))},35018:(e,t,s)=>{Promise.resolve().then(s.bind(s,24733))},42317:(e,t,s)=>{"use strict";s.d(t,{L:()=>r});var n=s(95155),a=s(86846);function r(){return(0,n.jsxs)("div",{className:"mx-auto w-full max-w-[720px] px-6",children:[(0,n.jsxs)("div",{className:"pt-20 pb-4",children:[(0,n.jsx)(a.E,{className:"h-10 w-2/3 mb-3"}),(0,n.jsx)(a.E,{className:"h-4 w-1/3"})]}),(0,n.jsxs)("div",{className:"space-y-3 pt-6",children:[(0,n.jsx)(a.E,{className:"h-4 w-full"}),(0,n.jsx)(a.E,{className:"h-4 w-[92%]"}),(0,n.jsx)(a.E,{className:"h-4 w-[78%]"}),(0,n.jsx)("div",{className:"h-3"}),(0,n.jsx)(a.E,{className:"h-4 w-full"}),(0,n.jsx)(a.E,{className:"h-4 w-[85%]"}),(0,n.jsx)(a.E,{className:"h-4 w-[65%]"}),(0,n.jsx)("div",{className:"h-3"}),(0,n.jsx)(a.E,{className:"h-4 w-[90%]"}),(0,n.jsx)(a.E,{className:"h-4 w-[70%]"})]})]})}},45160:(e,t,s)=>{"use strict";s.d(t,{E:()=>o});var n=s(95155);s(12115);var a=s(18460),r=s(42442),l=s(52799);let i=(0,a.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t="default",asChild:s=!1,...a}){let o=s?r.bL:"span";return(0,n.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,l.cn)(i({variant:t}),e),...a})}},46794:(e,t,s)=>{"use strict";s.d(t,{b:()=>n});let n=(0,s(1934).v)(e=>({lastEvent:void 0,events:[],updatedAt:void 0,addEvent:t=>e(e=>{let s=function(e,t){if(t)return t;let s=(e??"").toLowerCase();if(s){if("failed"===s)return"error";if("sent"===s)return"alert";if(s.startsWith("ok"))return"ok"}}(t.status,t.indicatorType),n={...t,indicatorType:s,actionable:"alert"===s||"error"===s},a=[n,...e.events];return a.length>20&&(a.length=20),{lastEvent:n,events:a,updatedAt:Date.now()}}),clear:()=>e({lastEvent:void 0,events:[],updatedAt:void 0})}))},52799:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var n=s(29722),a=s(622);function r(...e){return(0,a.QP)((0,n.$)(e))}},53536:(e,t,s)=>{"use strict";function n(e){let t=new Date(e),s=Math.floor((new Date().getTime()-t.getTime())/1e3),n=Math.floor(s/60),a=Math.floor(n/60),r=Math.floor(a/24);return s<60?"just now":n<60?`${n}m`:a<24?`${a}h`:1===r?"Yesterday":r<7?`${r}d`:r<30?`${Math.floor(r/7)}w`:t.toLocaleDateString("en-US",{month:"short",day:"numeric"})}s.d(t,{f:()=>n})},60464:(e,t,s)=>{"use strict";s.d(t,{Sz:()=>n,ke:()=>a});let n="__root__",a="General"},60529:(e,t,s)=>{"use strict";s.d(t,{p:()=>r});var n=s(95155);s(12115);var a=s(52799);function r({className:e,type:t,...s}){return(0,n.jsx)("input",{type:t,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 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",e),...s})}},70872:(e,t,s)=>{"use strict";s.d(t,{Bc:()=>l,ZI:()=>c,k$:()=>o,m_:()=>i});var n=s(95155);s(12115);var a=s(28935),r=s(52799);function l({delayDuration:e=0,...t}){return(0,n.jsx)(a.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function i({...e}){return(0,n.jsx)(l,{children:(0,n.jsx)(a.bL,{"data-slot":"tooltip",...e})})}function o({...e}){return(0,n.jsx)(a.l9,{"data-slot":"tooltip-trigger",...e})}function c({className:e,sideOffset:t=0,children:s,...l}){return(0,n.jsx)(a.ZL,{children:(0,n.jsxs)(a.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,r.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...l,children:[s,(0,n.jsx)(a.i3,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},83099:(e,t,s)=>{"use strict";s.d(t,{W:()=>n});let n=(0,s(1934).v)((e,t)=>({sessionKey:null,activeRun:null,activeFiles:new Set,changeSets:[],review:{open:!1,changeSetId:null,filePath:null},dismissed:new Set,loading:!1,error:void 0,setSessionKey:t=>e({sessionKey:t}),setActiveRun:t=>e({activeRun:t}),touchFile:t=>e(e=>{let s=new Set(e.activeFiles);return s.add(t),{activeFiles:s}}),clearActiveFiles:()=>e({activeFiles:new Set}),loadChangeSets:async()=>{let s=t().sessionKey;if(s){e({loading:!0,error:void 0});try{let t=await fetch(`/api/changes?sessionKey=${encodeURIComponent(s)}`);if(!t.ok)throw Error("Failed to load change sets");let n=await t.json();e({changeSets:n,loading:!1})}catch(t){e({loading:!1,error:String(t)})}}},openReview:(t,s)=>e({review:{open:!0,changeSetId:t,filePath:s}}),closeReview:()=>e({review:{open:!1,changeSetId:null,filePath:null}}),dismissChangeSet:t=>e(e=>{let s=new Set(e.dismissed);return s.add(t),{dismissed:s}})}))},86846:(e,t,s)=>{"use strict";s.d(t,{E:()=>r});var n=s(95155),a=s(52799);function r({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"skeleton",className:(0,a.cn)("bg-accent animate-pulse rounded-md",e),...t})}},89239:(e,t,s)=>{"use strict";s.d(t,{$:()=>o});var n=s(95155);s(12115);var a=s(18460),r=s(42442),l=s(52799);let i=(0,a.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 hover:bg-primary/90",destructive:"bg-destructive text-white 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 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",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-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","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:t="default",size:s="default",asChild:a=!1,...o}){let c=a?r.bL:"button";return(0,n.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,l.cn)(i({variant:t,size:s,className:e})),...o})}},93571:(e,t,s)=>{"use strict";s.d(t,{R:()=>o});var n=s(95155),a=s(5772),r=s(52799);let l=265/235,i=1152/235;function o({variant:e="icon",size:t=24,className:s,imageClassName:o,lightImageClassName:c,darkImageClassName:d,theme:u="auto",alt:m="ClawPad",priority:h=!1}){let x="icon"===e,p=Math.round(t*(x?l:i));return(0,n.jsx)("span",{className:(0,r.cn)("inline-flex items-center",s),children:(0,n.jsx)(a.default,{src:x?"/brand/icon.png":"/brand/logo.png",width:p,height:t,alt:m,priority:h,className:(0,r.cn)("block",o,"dark"===u?d:"light"===u?c:void 0)})})}},97916:(e,t,s)=>{"use strict";s.d(t,{w:()=>l});var n=s(95155);s(12115);var a=s(89803),r=s(52799);function l({className:e,orientation:t="horizontal",decorative:s=!0,...l}){return(0,n.jsx)(a.b,{"data-slot":"separator",decorative:s,orientation:t,className:(0,r.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...l})}}},e=>{e.O(0,[8803,330,9907,5403,5488,528,3496,9352,7005,8485,8500,4839,8441,3794,7358],()=>e(e.s=35018)),_N_E=e.O()}]);
@@ -1,4 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6364],{1934:(e,t,a)=>{"use strict";a.d(t,{v:()=>i});var s=a(12115);let r=e=>{let t,a=new Set,s=(e,s)=>{let r="function"==typeof e?e(t):e;if(!Object.is(r,t)){let e=t;t=(null!=s?s:"object"!=typeof r||null===r)?r:Object.assign({},t,r),a.forEach(a=>a(t,e))}},r=()=>t,n={setState:s,getState:r,getInitialState:()=>i,subscribe:e=>(a.add(e),()=>a.delete(e))},i=t=e(s,r,n);return n},n=e=>{let t=e?r(e):r,a=e=>(function(e,t=e=>e){let a=s.useSyncExternalStore(e.subscribe,s.useCallback(()=>t(e.getState()),[e,t]),s.useCallback(()=>t(e.getInitialState()),[e,t]));return s.useDebugValue(a),a})(t,e);return Object.assign(a,t),a},i=e=>e?n(e):n},7814:(e,t,a)=>{"use strict";function s(e){let t=e.replace(/\.md$/,"").split("/").filter(Boolean).map(e=>encodeURIComponent(e));return 0===t.length?"/workspace":`/workspace/${t.join("/")}`}a.d(t,{C:()=>s})},18496:(e,t,a)=>{"use strict";a.d(t,{M:()=>n});var s=a(1934),r=a(60464);let n=(0,s.v)((e,t)=>({spaces:[],expandedSpaces:new Set,expandedFolders:new Set,sidebarOpen:!0,activePage:null,recentPages:[],chatPanelOpen:!0,loadingSpaces:!1,loadingPages:new Map,pagesBySpace:new Map,loadSpaces:async()=>{e({loadingSpaces:!0});try{let t=await fetch("/api/files/spaces");if(!t.ok)throw Error("Failed to load spaces");let a=await t.json();e({spaces:a,loadingSpaces:!1})}catch{e({loadingSpaces:!1})}},loadPages:async a=>{let{loadingPages:s}=t(),r=new Map(s);r.set(a,!0),e({loadingPages:r});try{let s=await fetch(`/api/files/spaces/${encodeURIComponent(a)}/pages?recursive=true`);if(!s.ok)throw Error("Failed to load pages");let r=await s.json(),{pagesBySpace:n,loadingPages:i}=t(),l=new Map(n);l.set(a,r);let o=new Map(i);o.set(a,!1),e({pagesBySpace:l,loadingPages:o})}catch{let{loadingPages:s}=t(),r=new Map(s);r.set(a,!1),e({loadingPages:r})}},loadRecentPages:async()=>{try{let t=await fetch("/api/files/recent?limit=5");if(!t.ok)throw Error("Failed to load recent pages");let a=await t.json();e({recentPages:a})}catch{}},setActivePage:t=>e(e=>{if(!t)return{activePage:null};let a=t.replace(/\.md$/,"").split("/").filter(Boolean);if(a.length<=1)return{activePage:t};let s=a[0],n=e.spaces.some(e=>e.path===s),i=n?s:r.Sz,l=n?a.slice(1,-1):a.slice(0,-1),o=new Set(e.expandedFolders),c=i;for(let e of l)c=`${c}/${e}`,o.add(c);return{activePage:t,expandedFolders:o}}),toggleSpace:a=>{let{expandedSpaces:s,pagesBySpace:r}=t(),n=new Set(s);n.has(a)?n.delete(a):(n.add(a),r.has(a)||t().loadPages(a)),e({expandedSpaces:n})},toggleFolder:a=>{let{expandedFolders:s}=t(),r=new Set(s);r.has(a)?r.delete(a):r.add(a),e({expandedFolders:r})},toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),toggleChatPanel:()=>e({chatPanelOpen:!0}),setChatPanelOpen:t=>e({chatPanelOpen:t}),createPage:async(e,a)=>{let s=a.toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu,"").replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");if(!s)throw Error("Title results in an empty filename.");let n=e===r.Sz?s:`${e}/${s}`,i=e===r.Sz?encodeURIComponent(s):[e,s].map(encodeURIComponent).join("/"),l=await fetch(`/api/files/pages/${i}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`
2
- # ${a}
3
-
4
- `,meta:{title:a}})});if(!l.ok){let e="Failed to create page";try{let t=await l.json();t?.error&&(e=t.error)}catch{}throw Error(e)}return t().loadPages(e),t().loadRecentPages(),t().loadSpaces(),n},deletePage:async a=>{if(!(await fetch(`/api/files/pages/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete page");let s=a.includes("/")?a.split("/")[0]:r.Sz;t().loadPages(s),t().loadRecentPages(),t().loadSpaces();let{activePage:n}=t();n===a&&e({activePage:null})}}))},27027:(e,t,a)=>{Promise.resolve().then(a.bind(a,59176))},51914:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});let s=(0,a(90425).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},52799:(e,t,a)=>{"use strict";a.d(t,{cn:()=>n});var s=a(29722),r=a(622);function n(...e){return(0,r.QP)((0,s.$)(e))}},53536:(e,t,a)=>{"use strict";function s(e){let t=new Date(e),a=Math.floor((new Date().getTime()-t.getTime())/1e3),s=Math.floor(a/60),r=Math.floor(s/60),n=Math.floor(r/24);return a<60?"just now":s<60?`${s}m`:r<24?`${r}h`:1===n?"Yesterday":n<7?`${n}d`:n<30?`${Math.floor(n/7)}w`:t.toLocaleDateString("en-US",{month:"short",day:"numeric"})}a.d(t,{f:()=>s})},59176:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>x});var s=a(95155),r=a(12115),n=a(73321),i=a(51914),l=a(61878),o=a(84980),c=a(89239),d=a(18496),u=a(53536),p=a(52799),g=a(93571),h=a(60464),m=a(7814);function f(){let e=(0,n.useSearchParams)(),t=(0,n.useRouter)(),a=(0,d.M)(e=>e.setChatPanelOpen);return(0,r.useEffect)(()=>{"open"===e.get("chat")&&(a(!0),t.replace("/workspace",{scroll:!1}))},[e,a,t]),null}function x(){let e=(0,n.useRouter)(),{recentPages:t,loadRecentPages:a,spaces:x,loadSpaces:v}=(0,d.M)(),[b,w]=(0,r.useState)(!1),[j,y]=(0,r.useState)(!1),[k,S]=(0,r.useState)(null);if((0,r.useEffect)(()=>{let t=!1;return fetch("/api/setup/status").then(e=>e.ok?e.json():null).then(a=>{if(!t){if(!a?.hasWorkspace)return void e.replace("/setup");w(!0)}}).catch(()=>{t||w(!0)}),()=>{t=!0}},[e]),(0,r.useEffect)(()=>{b&&(a(),v())},[a,v,b]),!b)return(0,s.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Loading workspace..."});let P=async()=>{y(!0),S(null);try{let e=await fetch("/api/setup/bootstrap",{method:"POST"});if(!e.ok){let t=await e.json();throw Error(t?.error||"Failed to bootstrap workspace")}await v(),await a(),fetch("/api/setup/trigger-onboarding",{method:"POST"})}catch(e){S(e.message)}finally{y(!1)}};return(0,s.jsxs)("div",{className:"flex h-full flex-col items-center justify-center px-4",children:[(0,s.jsx)(r.Suspense,{fallback:null,children:(0,s.jsx)(f,{})}),(0,s.jsxs)("div",{className:"max-w-lg w-full space-y-8 text-center",children:[(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-muted/60 ring-1 ring-border/50",children:(0,s.jsx)(g.R,{variant:"icon",size:36,alt:""})}),(0,s.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Welcome to ClawPad"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground max-w-sm mx-auto",children:"Your workspace for OpenClaw. Select a page from the sidebar or create a new one to get started."})]}),(0,s.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,s.jsxs)(c.$,{onClick:()=>{window.dispatchEvent(new CustomEvent("clawpad:new-page"))},children:[(0,s.jsx)(i.A,{className:"mr-2 h-4 w-4"}),"New Page"]}),(0,s.jsxs)(c.$,{variant:"outline",onClick:()=>{let e=new KeyboardEvent("keydown",{key:"k",metaKey:!0,bubbles:!0});document.dispatchEvent(e)},children:[(0,s.jsx)(l.A,{className:"mr-2 h-4 w-4"}),"Search"]})]}),0===x.length&&0===t.length&&(0,s.jsxs)("div",{className:"rounded-lg border border-border/60 bg-muted/20 p-4 text-sm text-muted-foreground",children:[(0,s.jsx)("div",{className:"mb-3 font-medium text-foreground",children:"No workspace yet"}),(0,s.jsx)("p",{className:"mb-4 text-xs",children:"Create a starter workspace with default spaces and a welcome page."}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[(0,s.jsx)(c.$,{size:"sm",onClick:P,disabled:j,children:j?"Creating…":"Create starter workspace"}),(0,s.jsx)(c.$,{size:"sm",variant:"outline",onClick:()=>e.push("/setup"),children:"Open setup"})]}),k&&(0,s.jsx)("p",{className:"mt-3 text-xs text-rose-500",children:k})]}),t.length>0&&(0,s.jsxs)("div",{className:"space-y-3 pt-4",children:[(0,s.jsx)("h2",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Recent Pages"}),(0,s.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:t.slice(0,6).map(t=>(0,s.jsxs)("button",{onClick:()=>{var a;return a=t.path,void e.push((0,m.C)(a))},className:(0,p.cn)("flex items-center gap-3 rounded-lg border border-border/50 p-3 text-left","transition-colors duration-200 hover:bg-muted/50 hover:border-border"),children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted text-sm",children:t.icon??"\uD83D\uDCC4"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"truncate text-sm font-medium",children:t.title}),(0,s.jsxs)("div",{className:"flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,s.jsx)(o.A,{className:"h-3 w-3"}),(0,s.jsx)("span",{children:(0,u.f)(t.modified)}),(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"\xb7"}),(0,s.jsx)("span",{children:t.space===h.Sz?h.ke:t.space})]})]})]},t.path))})]})]})]})}},60464:(e,t,a)=>{"use strict";a.d(t,{Sz:()=>s,ke:()=>r});let s="__root__",r="General"},61878:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});let s=(0,a(90425).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},84980:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});let s=(0,a(90425).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},89239:(e,t,a)=>{"use strict";a.d(t,{$:()=>o});var s=a(95155);a(12115);var r=a(18460),n=a(42442),i=a(52799);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 hover:bg-primary/90",destructive:"bg-destructive text-white 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 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",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-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","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:t="default",size:a="default",asChild:r=!1,...o}){let c=r?n.bL:"button";return(0,s.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":a,className:(0,i.cn)(l({variant:t,size:a,className:e})),...o})}},93571:(e,t,a)=>{"use strict";a.d(t,{R:()=>o});var s=a(95155),r=a(5772),n=a(52799);let i=265/235,l=1152/235;function o({variant:e="icon",size:t=24,className:a,imageClassName:o,lightImageClassName:c,darkImageClassName:d,theme:u="auto",alt:p="ClawPad",priority:g=!1}){let h="icon"===e,m=Math.round(t*(h?i:l));return(0,s.jsx)("span",{className:(0,n.cn)("inline-flex items-center",a),children:(0,s.jsx)(r.default,{src:h?"/brand/icon.png":"/brand/logo.png",width:m,height:t,alt:p,priority:g,className:(0,n.cn)("block",o,"dark"===u?d:"light"===u?c:void 0)})})}}},e=>{e.O(0,[330,5403,8441,3794,7358],()=>e(e.s=27027)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8257],{7814:(e,t,s)=>{"use strict";function a(e){let t=e.replace(/\.md$/,"").split("/").filter(Boolean).map(e=>encodeURIComponent(e));return 0===t.length?"/workspace":`/workspace/${t.join("/")}`}s.d(t,{C:()=>a})},18460:(e,t,s)=>{"use strict";s.d(t,{F:()=>n});var a=s(29722);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=a.$,n=(e,t)=>s=>{var a;if((null==t?void 0:t.variants)==null)return i(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:n,defaultVariants:l}=t,o=Object.keys(n).map(e=>{let t=null==s?void 0:s[e],a=null==l?void 0:l[e];if(null===t)return null;let i=r(t)||r(a);return n[e][i]}),d=s&&Object.entries(s).reduce((e,t)=>{let[s,a]=t;return void 0===a||(e[s]=a),e},{});return i(e,o,null==t||null==(a=t.compoundVariants)?void 0:a.reduce((e,t)=>{let{class:s,className:a,...r}=t;return Object.entries(r).every(e=>{let[t,s]=e;return Array.isArray(s)?s.includes({...l,...d}[t]):({...l,...d})[t]===s})?[...e,s,a]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}},24356:(e,t,s)=>{"use strict";s.d(t,{bL:()=>d,Qg:()=>l});var a=s(12115);s(47650);var r=s(42442),i=s(95155),n=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let s=(0,r.TL)(`Primitive.${t}`),n=a.forwardRef((e,a)=>{let{asChild:r,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(r?s:t,{...n,ref:a})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),l=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),o=a.forwardRef((e,t)=>(0,i.jsx)(n.span,{...e,ref:t,style:{...l,...e.style}}));o.displayName="VisuallyHidden";var d=o},29991:(e,t,s)=>{"use strict";s.d(t,{bq:()=>u,eb:()=>p,gC:()=>m,l6:()=>d,yv:()=>c});var a=s(95155);s(12115);var r=s(66088),i=s(94514),n=s(9921),l=s(89064),o=s(52799);function d({...e}){return(0,a.jsx)(l.bL,{"data-slot":"select",...e})}function c({...e}){return(0,a.jsx)(l.WT,{"data-slot":"select-value",...e})}function u({className:e,size:t="default",children:s,...i}){return(0,a.jsxs)(l.l9,{"data-slot":"select-trigger","data-size":t,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i,children:[s,(0,a.jsx)(l.In,{asChild:!0,children:(0,a.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function m({className:e,children:t,position:s="item-aligned",align:r="center",...i}){return(0,a.jsx)(l.ZL,{children:(0,a.jsxs)(l.UC,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,align:r,...i,children:[(0,a.jsx)(x,{}),(0,a.jsx)(l.LM,{className:(0,o.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,a.jsx)(h,{})]})})}function p({className:e,children:t,...s}){return(0,a.jsxs)(l.q7,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...s,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(l.VF,{children:(0,a.jsx)(i.A,{className:"size-4"})})}),(0,a.jsx)(l.p4,{children:t})]})}function x({className:e,...t}){return(0,a.jsx)(l.PP,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,a.jsx)(n.A,{className:"size-4"})})}function h({className:e,...t}){return(0,a.jsx)(l.wn,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,a.jsx)(r.A,{className:"size-4"})})}},45160:(e,t,s)=>{"use strict";s.d(t,{E:()=>o});var a=s(95155);s(12115);var r=s(18460),i=s(42442),n=s(52799);let l=(0,r.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t="default",asChild:s=!1,...r}){let o=s?i.bL:"span";return(0,a.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,n.cn)(l({variant:t}),e),...r})}},48368:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},52799:(e,t,s)=>{"use strict";s.d(t,{cn:()=>i});var a=s(29722),r=s(622);function i(...e){return(0,r.QP)((0,a.$)(e))}},60529:(e,t,s)=>{"use strict";s.d(t,{p:()=>i});var a=s(95155);s(12115);var r=s(52799);function i({className:e,type:t,...s}){return(0,a.jsx)("input",{type:t,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 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",e),...s})}},73321:(e,t,s)=>{"use strict";var a=s(74645);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},86055:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>w});var a=s(95155),r=s(12115),i=s(73321),n=s(61878),l=s(33210);let o=(0,s(90425).A)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var d=s(60529),c=s(45160),u=s(89239),m=s(29991),p=s(48368),x=s(21628),h=s(90718),g=s(7814);function f({results:e,query:t,mode:s="basic",loading:l=!1,compact:o=!1,onNavigate:d,showHeader:c=!1,emptyMessage:u}){let m=(0,i.useRouter)(),p=(0,r.useCallback)(e=>{let t=e.replace(/\.md$/,"");d?d(t):m.push((0,g.C)(e))},[m,d]);return l?(0,a.jsx)(j,{compact:o}):0===e.length&&t.trim()?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-8 text-muted-foreground",children:[(0,a.jsx)(n.A,{className:"h-8 w-8 opacity-40"}),(0,a.jsx)("p",{className:"text-sm",children:u??"No results found"}),(0,a.jsx)("p",{className:"text-xs opacity-60",children:"Try different keywords or check your spelling"})]}):0===e.length?null:(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[c&&(0,a.jsxs)("div",{className:"flex items-center justify-between px-1 pb-2",children:[(0,a.jsxs)("span",{className:"text-xs font-medium text-muted-foreground",children:[e.length," result",1!==e.length?"s":""]}),(0,a.jsx)(b,{mode:s})]}),e.map(e=>(0,a.jsx)(v,{result:e,query:t,compact:o,onClick:()=>p(e.path)},e.path))]})}function v({result:e,query:t,compact:s,onClick:r}){return(0,a.jsxs)("button",{onClick:r,className:`group flex w-full flex-col items-start gap-1 rounded-md border border-transparent px-3 text-left transition-colors hover:bg-accent/50 hover:border-border/50 ${s?"py-2":"py-3"}`,children:[(0,a.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,a.jsx)(p.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,a.jsxs)("span",{className:`truncate font-medium ${s?"text-sm":""}`,children:[e.icon&&`${e.icon} `,e.title]}),(0,a.jsx)(c.E,{variant:"secondary",className:"ml-auto shrink-0 text-[10px] px-1.5 py-0",children:e.space.replace(/[-_]+/g," ").replace(/\b\w/g,e=>e.toUpperCase())}),null!=e.score&&!s&&(0,a.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground tabular-nums opacity-60",children:e.score.toFixed(1)}),e.modified&&(0,a.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground tabular-nums",children:function(e){try{let t=new Date(e),s=new Date().getTime()-t.getTime(),a=Math.floor(s/6e4),r=Math.floor(s/36e5),i=Math.floor(s/864e5);if(a<1)return"just now";if(a<60)return`${a}m ago`;if(r<24)return`${r}h ago`;if(i<7)return`${i}d ago`;return t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch{return""}}(e.modified)}),(0,a.jsx)(x.A,{className:"h-3 w-3 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-60"})]}),e.snippet&&(0,a.jsx)("p",{className:`ml-6 text-muted-foreground ${s?"text-xs line-clamp-1":"text-sm line-clamp-2"} max-w-full`,children:(0,a.jsx)(y,{text:e.snippet,query:t})})]})}function b({mode:e}){return"semantic"===e?(0,a.jsxs)(c.E,{variant:"secondary",className:"gap-1 text-[10px] px-1.5 py-0 bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",children:[(0,a.jsx)(h.A,{className:"h-3 w-3"}),"Semantic"]}):(0,a.jsxs)(c.E,{variant:"secondary",className:"gap-1 text-[10px] px-1.5 py-0",children:[(0,a.jsx)(n.A,{className:"h-3 w-3"}),"Basic"]})}function y({text:e,query:t}){let s=(0,r.useMemo)(()=>{if(!t.trim())return[{text:e,highlighted:!1}];let s=t.toLowerCase().split(/\s+/).filter(Boolean).sort((e,t)=>t.length-e.length);if(0===s.length)return[{text:e,highlighted:!1}];let a=s.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),r=RegExp(`(${a.join("|")})`,"gi"),i=[],n=0;return e.replace(r,(t,s,a)=>(a>n&&i.push({text:e.slice(n,a),highlighted:!1}),i.push({text:t,highlighted:!0}),n=a+t.length,t)),n<e.length&&i.push({text:e.slice(n),highlighted:!1}),i},[e,t]);return(0,a.jsx)(a.Fragment,{children:s.map((e,t)=>e.highlighted?(0,a.jsx)("mark",{className:"bg-yellow-200/70 dark:bg-yellow-500/30 text-inherit rounded-sm px-0.5",children:e.text},t):(0,a.jsx)("span",{children:e.text},t))})}function j({compact:e}){return(0,a.jsx)("div",{className:"flex flex-col gap-1",children:Array.from({length:e?4:6}).map((t,s)=>(0,a.jsxs)("div",{className:`flex flex-col gap-1.5 rounded-md px-3 ${e?"py-2":"py-3"}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"h-4 w-4 rounded bg-muted animate-pulse"}),(0,a.jsx)("div",{className:"h-4 flex-1 rounded bg-muted animate-pulse",style:{maxWidth:`${150+30*s}px`}}),(0,a.jsx)("div",{className:"h-4 w-16 rounded bg-muted animate-pulse"})]}),!e&&(0,a.jsx)("div",{className:"ml-6 h-3 w-4/5 rounded bg-muted/60 animate-pulse"})]},s))})}function w(){let e=(0,i.useRouter)(),t=(0,i.useSearchParams)().get("q")??"",[s,p]=(0,r.useState)(t),[x,h]=(0,r.useState)([]),[v,y]=(0,r.useState)("basic"),[j,w]=(0,r.useState)(!1),[N,k]=(0,r.useState)([]),[z,$]=(0,r.useState)("all"),[C,S]=(0,r.useState)("relevance"),[A,M]=(0,r.useState)(!1),_=(0,r.useRef)(null),q=(0,r.useRef)(null);(0,r.useEffect)(()=>{fetch("/api/files/spaces").then(e=>e.ok?e.json():[]).then(e=>k(e)).catch(()=>{})},[]),(0,r.useEffect)(()=>{_.current?.focus()},[]),(0,r.useEffect)(()=>{t.trim()&&E(t)},[]);let E=(0,r.useCallback)(async e=>{if(!e.trim()){h([]),w(!1);return}w(!0),q.current?.abort();let t=new AbortController;q.current=t;try{let s=new URLSearchParams({q:e,mode:"auto",limit:"50"});z&&"all"!==z&&s.set("space",z);let a=await fetch(`/api/search?${s}`,{signal:t.signal});if(a.ok){let e=await a.json(),t=e.results??[];"date"===C&&(t=t.sort((e,t)=>new Date(t.modified??0).getTime()-new Date(e.modified??0).getTime())),h(t),y(e.mode??"basic")}}catch(e){"AbortError"!==e.name&&console.error("Search error:",e)}finally{t.signal.aborted||w(!1)}},[z,C]);(0,r.useEffect)(()=>{let e=setTimeout(()=>{E(s);let e=new URLSearchParams;s.trim()&&e.set("q",s.trim());let t=`/workspace/search${e.toString()?`?${e}`:""}`;window.history.replaceState(null,"",t)},300);return()=>clearTimeout(e)},[s,E]),(0,r.useEffect)(()=>{s.trim()&&E(s)},[z,C]);let P=(0,r.useCallback)(t=>{e.push((0,g.C)(t))},[e]);return(0,a.jsxs)("div",{className:"mx-auto max-w-3xl px-4 py-8 sm:px-6",children:[(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Search"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Find pages across your workspace"})]}),(0,a.jsxs)("div",{className:"relative mb-4",children:[(0,a.jsx)(n.A,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,a.jsx)(d.p,{ref:_,value:s,onChange:e=>p(e.target.value),placeholder:"Search pages…",className:"pl-10 pr-10 h-11 text-base"}),s&&(0,a.jsx)("button",{onClick:()=>{p(""),h([]),_.current?.focus()},className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",children:(0,a.jsx)(l.A,{className:"h-4 w-4"})})]}),(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-3 flex-wrap",children:[(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"gap-1.5 h-8 text-xs",onClick:()=>M(!A),children:[(0,a.jsx)(o,{className:"h-3.5 w-3.5"}),"Filters","all"!==z&&(0,a.jsx)(c.E,{variant:"secondary",className:"ml-1 px-1 py-0 text-[10px]",children:"1"})]}),(0,a.jsx)("div",{className:"flex-1"}),s.trim()&&!j&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:[x.length," result",1!==x.length?"s":""]}),(0,a.jsx)(b,{mode:v})]})]}),A&&(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-4 rounded-lg border bg-muted/30 p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Space"}),(0,a.jsxs)(m.l6,{value:z,onValueChange:$,children:[(0,a.jsx)(m.bq,{className:"h-8 w-[160px] text-xs",children:(0,a.jsx)(m.yv,{placeholder:"All spaces"})}),(0,a.jsxs)(m.gC,{children:[(0,a.jsx)(m.eb,{value:"all",children:"All spaces"}),N.map(e=>(0,a.jsxs)(m.eb,{value:e.path,children:[e.icon&&`${e.icon} `,e.name]},e.path))]})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Sort"}),(0,a.jsxs)(m.l6,{value:C,onValueChange:e=>S(e),children:[(0,a.jsx)(m.bq,{className:"h-8 w-[130px] text-xs",children:(0,a.jsx)(m.yv,{})}),(0,a.jsxs)(m.gC,{children:[(0,a.jsx)(m.eb,{value:"relevance",children:"Relevance"}),(0,a.jsx)(m.eb,{value:"date",children:"Date modified"})]})]})]}),"all"!==z&&(0,a.jsx)(u.$,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>$("all"),children:"Clear filters"})]}),(0,a.jsx)(f,{results:x,query:s,mode:v,loading:j,compact:!1,onNavigate:P,emptyMessage:"all"!==z?`No results in ${N.find(e=>e.path===z)?.name??z}`:void 0}),!s.trim()&&(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16 text-muted-foreground",children:[(0,a.jsx)(n.A,{className:"h-12 w-12 opacity-20"}),(0,a.jsx)("p",{className:"text-sm",children:"Start typing to search your workspace"}),(0,a.jsxs)("p",{className:"text-xs opacity-60",children:["Tip: Use"," ",(0,a.jsx)("kbd",{className:"rounded border bg-muted px-1.5 py-0.5 text-[10px] font-mono",children:"⌘K"})," ","for quick search from anywhere"]})]})]})}},89239:(e,t,s)=>{"use strict";s.d(t,{$:()=>o});var a=s(95155);s(12115);var r=s(18460),i=s(42442),n=s(52799);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 hover:bg-primary/90",destructive:"bg-destructive text-white 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 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",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-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","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:t="default",size:s="default",asChild:r=!1,...o}){let d=r?i.bL:"button";return(0,a.jsx)(d,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,n.cn)(l({variant:t,size:s,className:e})),...o})}},93220:(e,t,s)=>{Promise.resolve().then(s.bind(s,86055))},94514:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])}},e=>{e.O(0,[330,9907,5488,8485,8441,3794,7358],()=>e(e.s=93220)),_N_E=e.O()}]);