viba-cli 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/fallback-build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +2 -2
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found.html +2 -2
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/credentials/page/server-reference-manifest.json +7 -7
  21. package/.next/server/app/credentials/page.js.nft.json +1 -1
  22. package/.next/server/app/credentials/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/credentials.html +2 -2
  24. package/.next/server/app/credentials.rsc +3 -3
  25. package/.next/server/app/credentials.segments/_full.segment.rsc +3 -3
  26. package/.next/server/app/credentials.segments/_head.segment.rsc +1 -1
  27. package/.next/server/app/credentials.segments/_index.segment.rsc +1 -1
  28. package/.next/server/app/credentials.segments/_tree.segment.rsc +1 -1
  29. package/.next/server/app/credentials.segments/credentials/__PAGE__.segment.rsc +2 -2
  30. package/.next/server/app/credentials.segments/credentials.segment.rsc +1 -1
  31. package/.next/server/app/index.html +2 -2
  32. package/.next/server/app/index.rsc +2 -2
  33. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  35. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  36. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  37. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  38. package/.next/server/app/new/page/server-reference-manifest.json +29 -29
  39. package/.next/server/app/new/page.js.nft.json +1 -1
  40. package/.next/server/app/new/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/page/server-reference-manifest.json +29 -29
  42. package/.next/server/app/page.js.nft.json +1 -1
  43. package/.next/server/app/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/session/[sessionId]/page/server-reference-manifest.json +19 -19
  45. package/.next/server/app/session/[sessionId]/page.js.nft.json +1 -1
  46. package/.next/server/app/session/[sessionId]/page_client-reference-manifest.js +1 -1
  47. package/.next/server/chunks/ssr/[root-of-the-server]__03608b11._.js +1 -1
  48. package/.next/server/chunks/ssr/[root-of-the-server]__03608b11._.js.map +1 -1
  49. package/.next/server/chunks/ssr/[root-of-the-server]__0522f852._.js +1 -1
  50. package/.next/server/chunks/ssr/{[root-of-the-server]__d7106274._.js → [root-of-the-server]__34682cce._.js} +2 -2
  51. package/.next/server/chunks/ssr/{[root-of-the-server]__d7106274._.js.map → [root-of-the-server]__34682cce._.js.map} +1 -1
  52. package/.next/server/chunks/ssr/[root-of-the-server]__352d2b3c._.js +1 -1
  53. package/.next/server/chunks/ssr/[root-of-the-server]__4c388861._.js +1 -1
  54. package/.next/server/chunks/ssr/[root-of-the-server]__4c388861._.js.map +1 -1
  55. package/.next/server/chunks/ssr/{[root-of-the-server]__45338798._.js → [root-of-the-server]__5248b09d._.js} +2 -2
  56. package/.next/server/chunks/ssr/{[root-of-the-server]__45338798._.js.map → [root-of-the-server]__5248b09d._.js.map} +1 -1
  57. package/.next/server/chunks/ssr/[root-of-the-server]__59834c63._.js +1 -1
  58. package/.next/server/chunks/ssr/[root-of-the-server]__59834c63._.js.map +1 -1
  59. package/.next/server/chunks/ssr/[root-of-the-server]__90f3f366._.js +1 -1
  60. package/.next/server/chunks/ssr/[root-of-the-server]__90f3f366._.js.map +1 -1
  61. package/.next/server/chunks/ssr/[root-of-the-server]__9201693f._.js +1 -1
  62. package/.next/server/chunks/ssr/{[root-of-the-server]__f92d6383._.js → [root-of-the-server]__ddfe4bc9._.js} +2 -2
  63. package/.next/server/chunks/ssr/{[root-of-the-server]__f92d6383._.js.map → [root-of-the-server]__ddfe4bc9._.js.map} +1 -1
  64. package/.next/server/chunks/ssr/_0e1eddd4._.js +3 -0
  65. package/.next/server/chunks/ssr/{_9e495cd1._.js.map → _0e1eddd4._.js.map} +1 -1
  66. package/.next/server/chunks/ssr/_24abf4af._.js +3 -0
  67. package/.next/server/chunks/ssr/{_7dd8c91e._.js.map → _24abf4af._.js.map} +1 -1
  68. package/.next/server/chunks/ssr/src_app_credentials_page_tsx_63d8d34a._.js +1 -1
  69. package/.next/server/chunks/ssr/src_app_credentials_page_tsx_63d8d34a._.js.map +1 -1
  70. package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js +1 -1
  71. package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js.map +1 -1
  72. package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js +1 -1
  73. package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js.map +1 -1
  74. package/.next/server/pages/404.html +2 -2
  75. package/.next/server/pages/500.html +2 -2
  76. package/.next/server/server-reference-manifest.js +1 -1
  77. package/.next/server/server-reference-manifest.json +48 -48
  78. package/.next/static/chunks/{5ad3d5d6c07c99cf.js → 55530e7372f637a5.js} +3 -3
  79. package/.next/static/chunks/{d9512842f72f81d6.js → 69f9cafe63e37b94.js} +2 -2
  80. package/.next/static/chunks/{f526d44cc764beed.js → 77fd18eb8db19b06.js} +1 -1
  81. package/.next/static/chunks/{21e669e5ae3894e2.js → 7d1a2e687efd0dae.js} +1 -1
  82. package/.next/static/chunks/{2bfa56d03bfd813d.js → 87a0daee0af7dbbb.js} +2 -2
  83. package/.next/static/chunks/{a681ffd5bce0ddd1.js → cbeda3911cb6ed6b.js} +1 -1
  84. package/package.json +1 -1
  85. package/.next/server/chunks/ssr/_7dd8c91e._.js +0 -3
  86. package/.next/server/chunks/ssr/_9e495cd1._.js +0 -3
  87. /package/.next/static/{xdnDnbUFZLle37zkWVRbd → ZQBlMiVA1p6iyepPKzRE3}/_buildManifest.js +0 -0
  88. /package/.next/static/{xdnDnbUFZLle37zkWVRbd → ZQBlMiVA1p6iyepPKzRE3}/_clientMiddlewareManifest.json +0 -0
  89. /package/.next/static/{xdnDnbUFZLle37zkWVRbd → ZQBlMiVA1p6iyepPKzRE3}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},78917,e=>{"use strict";let t=(0,e.i(75254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],78917)},85102,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("0066b7b106c642ef4b72dce222493eb03eda405f51",t.callServer,void 0,t.findSourceMapURL,"getHomeDirectory");e.s(["getHomeDirectory",()=>r])},27025,e=>{"use strict";let t=(0,e.i(75254).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",()=>t],27025)},71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},81016,43733,e=>{"use strict";function t(e){return e&&e.replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function r(e){if(!e)return"";let t=e.replace(/\\/g,"/"),r=t.length>1&&t.endsWith("/")?t.slice(0,-1):t,a=r.lastIndexOf("/");return -1===a?e.includes(":")&&e.length<=3?t:".":0===a?"/":e.includes(":")&&2===a?r.substring(0,3):r.substring(0,a)}function a(e){return/^[a-zA-Z]:[\\/]/.test(e)}e.s(["getBaseName",()=>t,"getDirName",()=>r,"isWindowsAbsolutePath",()=>a],81016);var i=e.i(71645);function s({enabled:e=!0,onConfirm:t,onDismiss:r,canConfirm:a=!0}){(0,i.useEffect)(()=>{if(!e)return;let i=e=>{if("Escape"===e.key){e.preventDefault(),r();return}"Enter"!==e.key||!t||!a||e.defaultPrevented||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||(e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toUpperCase();return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t||e.isContentEditable})(e.target)||(e.preventDefault(),t())};return window.addEventListener("keydown",i),()=>{window.removeEventListener("keydown",i)}},[e,t,r,a])}e.s(["useDialogKeyboardShortcuts",()=>s],43733)},68339,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("7f9dc57d041c4edb322ba7d1d13eb79fa659814239",t.callServer,void 0,t.findSourceMapURL,"startTtydProcess");e.s(["startTtydProcess",()=>r])},80059,60095,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("0090ca1b58238fe3d84576aa7598f62fec82e1c39f",t.callServer,void 0,t.findSourceMapURL,"getConfig");e.s(["getConfig",()=>r],80059);let a=(0,t.createServerReference)("402dc43f0f57cd2d5cca381b7ec49b2f2f08d22cad",t.callServer,void 0,t.findSourceMapURL,"updateConfig");e.s(["updateConfig",()=>a],60095)},63671,e=>{"use strict";let t="viba:sessions-updated-at",r="viba:sessions-updated";function a(){try{localStorage.setItem(t,new Date().toISOString())}catch{}window.dispatchEvent(new CustomEvent(r))}e.s(["SESSIONS_UPDATED_EVENT",0,r,"SESSIONS_UPDATED_STORAGE_KEY",0,t,"notifySessionsUpdated",()=>a])},38467,52846,48939,78583,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("40c6d25f0a1d12624264cfab1df7b65529d6a1954e",t.callServer,void 0,t.findSourceMapURL,"listPathEntries");e.s(["listPathEntries",()=>r],38467);let a=(0,t.createServerReference)("7fc04de30f1cf912afb0c21ae821e159cb23a52b95",t.callServer,void 0,t.findSourceMapURL,"saveAttachments");e.s(["saveAttachments",()=>a],52846);var i=e.i(75254);let s=(0,i.default)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]);e.s(["Clipboard",()=>s],48939);let n=(0,i.default)("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"}]]);e.s(["FileText",()=>n],78583)},82743,44809,70956,40433,94569,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);e.s(["Grid2x2",()=>r],82743);let a=(0,t.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);e.s(["House",()=>a],44809);let i=(0,t.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>i],70956);let s=(0,t.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);e.s(["Pin",()=>s],40433);let n=(0,t.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);e.s(["PinOff",()=>n],94569)},74216,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(57688),i=e.i(85102),s=e.i(38467),n=e.i(52846),l=e.i(80059),o=e.i(60095),c=e.i(71689),d=e.i(48939),u=e.i(78583),f=e.i(27025),p=e.i(82743),h=e.i(44809),m=e.i(70956),g=e.i(40433),b=e.i(94569),y=e.i(81016),v=e.i(43733);let x="viba:session-file-browser:view-mode";function w({initialPath:e,worktreePath:w,onConfirm:j,onCancel:S,onPathChange:k}){let C=(0,r.useMemo)(()=>new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".svg",".ico",".avif"]),[]),[_,P]=(0,r.useState)(""),[E,N]=(0,r.useState)([]),[M,O]=(0,r.useState)(!1),[R,z]=(0,r.useState)(null),[A,D]=(0,r.useState)(""),[$,I]=(0,r.useState)([]),[L,F]=(0,r.useState)(null),[T,U]=(0,r.useState)("list"),[H,q]=(0,r.useState)(!1),[G,V]=(0,r.useState)({}),[B,W]=(0,r.useState)([]);(0,r.useEffect)(()=>{let t=!0;return(async()=>{try{let r=await (0,i.getHomeDirectory)();if(!t)return;D(r),e||P(r)}catch(e){console.error("Failed to resolve home directory:",e)}e&&t&&P(e)})(),()=>{t=!1}},[e]),(0,r.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await (0,l.getConfig)();if(!e)return;let r=Array.isArray(t.pinnedFolderShortcuts)?t.pinnedFolderShortcuts.filter(e=>"string"==typeof e&&e.trim().length>0):[];W(Array.from(new Set(r)))}catch(e){console.error("Failed to load pinned folder shortcuts:",e)}})(),()=>{e=!1}},[]),(0,r.useEffect)(()=>{try{let e=localStorage.getItem(x);("list"===e||"grid"===e)&&U(e)}catch{}finally{q(!0)}},[]),(0,r.useEffect)(()=>{if(H)try{localStorage.setItem(x,T)}catch{}},[H,T]),(0,r.useEffect)(()=>{_&&(async()=>{O(!0),z(null);try{let e=await (0,s.listPathEntries)(_);N(e)}catch(e){console.error("Failed to list files:",e),z("Failed to load directory contents")}finally{O(!1)}})()},[_]),(0,r.useEffect)(()=>{_&&k?.(_)},[_,k]),(0,r.useEffect)(()=>{I([]),F(null),V({})},[_]);let K=(0,r.useMemo)(()=>new Set($),[$]),X=(e,t,r)=>{if(e.isDirectory)return void P(e.path);let a=r.metaKey||r.ctrlKey;if(r.shiftKey&&null!==L){let e=Math.min(L,t),r=Math.max(L,t);I(E.slice(e,r+1).filter(e=>!e.isDirectory).map(e=>e.path));return}if(a){I(t=>t.includes(e.path)?t.filter(t=>t!==e.path):[...t,e.path]),F(t);return}I([e.path]),F(t)},Z=async()=>{if(z(null),!w)return void z("Cannot paste: Session worktree path is missing.");try{if(O(!0),!navigator.clipboard||!navigator.clipboard.read)throw Error("Clipboard API not supported in this browser");let e=await navigator.clipboard.read(),t=new FormData,r=!1;for(let a of e)for(let e of a.types)if(e.startsWith("image/")){let i=await a.getType(e),s=e.split("/")[1]||"png",n=`pasted-image-${Date.now()}.${s}`,l=new File([i],n,{type:e});t.append(n,l),r=!0;break}if(r){let e=await (0,n.saveAttachments)(w,t);if(e&&e.length>0)return void await j(e);z("Failed to save pasted files.")}else try{let e=await navigator.clipboard.readText();e&&e.trim().startsWith("/")?z("No file content found in clipboard. Copy an image or file first."):z("No file content found in clipboard.")}catch{z("No file content found in clipboard.")}}catch(t){let e=t instanceof Error?t.message:String(t);console.error("Paste error:",t),z(`Failed to read from clipboard: ${e}`)}finally{O(!1)}},Y=async e=>{W(e);try{await (0,o.updateConfig)({pinnedFolderShortcuts:e})}catch(e){console.error("Failed to save pinned folder shortcuts:",e),z("Failed to save pinned shortcuts")}},J=async e=>{(z(null),B.includes(e))?await Y(B.filter(t=>t!==e)):await Y([...B,e])},Q=(0,r.useCallback)(async()=>{0!==$.length&&await j($)},[j,$]);return(0,v.useDialogKeyboardShortcuts)({onConfirm:Q,onDismiss:S,canConfirm:$.length>0}),(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",children:(0,t.jsxs)("div",{className:"bg-base-200 rounded-lg shadow-xl w-full max-w-5xl h-[82vh] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-4 border-b border-base-300",children:[(0,t.jsxs)("h2",{className:"text-xl font-bold flex items-center gap-2",children:[(0,t.jsx)(f.Folder,{className:"w-5 h-5"}),"Browse Files"]}),(0,t.jsx)("button",{onClick:S,className:"btn btn-sm btn-ghost btn-circle",title:"Close file browser",children:"✕"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-base-300",children:[(0,t.jsx)("button",{onClick:()=>{let e=(0,y.getDirName)(_);e&&e!==_&&P(e)},className:"btn btn-sm btn-square btn-ghost",title:"Go Up",disabled:"/"===_||!_,children:(0,t.jsx)(c.ArrowLeft,{className:"w-4 h-4"})}),(0,t.jsxs)("button",{onClick:()=>{A&&_!==A&&P(A)},className:"btn btn-sm btn-ghost gap-1",title:A?`Go to Home Folder (${A})`:"Go to Home Folder",disabled:!A||_===A,children:[(0,t.jsx)(h.House,{className:"w-4 h-4"}),"Home"]}),(0,t.jsx)("div",{className:"flex-1 overflow-x-auto whitespace-nowrap px-2 font-mono text-sm",children:_}),(0,t.jsxs)("div",{className:"join",children:[(0,t.jsx)("button",{type:"button",onClick:()=>U("list"),className:`btn btn-sm join-item ${"list"===T?"btn-active":"btn-ghost"}`,title:"List view",children:(0,t.jsx)(m.List,{className:"w-4 h-4"})}),(0,t.jsx)("button",{type:"button",onClick:()=>U("grid"),className:`btn btn-sm join-item ${"grid"===T?"btn-active":"btn-ghost"}`,title:"Grid view",children:(0,t.jsx)(p.Grid2x2,{className:"w-4 h-4"})})]}),(0,t.jsxs)("button",{onClick:Q,className:"btn btn-sm btn-primary gap-2",disabled:0===$.length,title:"Insert selected absolute paths",children:["Insert (",$.length,")"]}),(0,t.jsx)("div",{className:"w-[1px] h-6 bg-base-content/10 mx-1"}),(0,t.jsxs)("button",{onClick:Z,className:"btn btn-sm btn-ghost gap-2",title:"Paste file/image from clipboard",disabled:!w,children:[(0,t.jsx)(d.Clipboard,{className:"w-4 h-4"}),"Paste"]})]}),B.length>0&&(0,t.jsx)("div",{className:"px-3 py-2 border-b border-base-300 bg-base-200/50",children:(0,t.jsx)("div",{className:"flex items-center gap-2 overflow-x-auto",children:B.map(e=>{let r=e===_,a=e.split(/[\\/]/).filter(Boolean).pop()||e;return(0,t.jsxs)("div",{className:"join shrink-0",children:[(0,t.jsxs)("button",{type:"button",className:`btn btn-xs join-item ${r?"btn-primary":"btn-ghost"}`,onClick:()=>P(e),title:e,children:[(0,t.jsx)(f.Folder,{className:"w-3 h-3"}),a]}),(0,t.jsx)("button",{type:"button",className:"btn btn-xs btn-ghost join-item",onClick:()=>void J(e),title:`Unpin ${e}`,children:(0,t.jsx)(b.PinOff,{className:"w-3 h-3"})})]},e)})})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-2",children:M?(0,t.jsx)("div",{className:"flex justify-center items-center h-full",children:(0,t.jsx)("span",{className:"loading loading-spinner loading-lg"})}):R?(0,t.jsx)("div",{className:"alert alert-error",children:R}):0===E.length?(0,t.jsx)("div",{className:"text-center text-base-content/50 mt-10",children:"Empty directory"}):"list"===T?(0,t.jsx)("div",{className:"grid grid-cols-1 gap-1",children:E.map((e,r)=>{let a=K.has(e.path);return(0,t.jsxs)("div",{className:`flex items-center justify-between p-2 rounded-md cursor-pointer transition-colors border ${a?"bg-primary text-primary-content border-primary":"hover:bg-base-100 border-transparent"}`,onClick:t=>X(e,r,t),title:e.path,children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[e.isDirectory?(0,t.jsx)(f.Folder,{className:"w-5 h-5 shrink-0"}):(0,t.jsx)(u.FileText,{className:"w-5 h-5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]}),(0,t.jsx)("span",{className:"text-[10px] opacity-70 shrink-0",children:e.isDirectory?(0,t.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs h-6 min-h-6",onClick:t=>{t.stopPropagation(),J(e.path)},title:B.includes(e.path)?"Unpin folder":"Pin folder",children:(0,t.jsx)(g.Pin,{className:`w-3 h-3 ${B.includes(e.path)?"fill-current":""}`})}):"file"})]},e.path)})}):(0,t.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-3",children:E.map((e,r)=>{var i;let s,n=K.has(e.path),l=!e.isDirectory&&-1!==(s=(i=e.name).lastIndexOf("."))&&C.has(i.slice(s).toLowerCase()),o=`/api/file-thumbnail?path=${encodeURIComponent(e.path)}`;return(0,t.jsxs)("button",{type:"button",className:`rounded-lg border text-left overflow-hidden transition-colors ${n?"border-primary bg-primary/15":"border-base-300 hover:bg-base-100"}`,onClick:t=>X(e,r,t),title:e.path,children:[(0,t.jsxs)("div",{className:"aspect-square bg-base-300 flex items-center justify-center overflow-hidden relative",children:[l&&!G[e.path]?(0,t.jsx)(a.default,{src:o,alt:e.name,fill:!0,sizes:"(max-width: 768px) 50vw, (max-width: 1024px) 25vw, 20vw",className:"object-cover",unoptimized:!0,onError:()=>V(t=>({...t,[e.path]:!0}))}):e.isDirectory?(0,t.jsx)(f.Folder,{className:"w-10 h-10 opacity-80"}):(0,t.jsx)(u.FileText,{className:"w-10 h-10 opacity-80"}),e.isDirectory&&(0,t.jsx)("button",{type:"button",className:`absolute top-1 right-1 btn btn-xs btn-circle ${B.includes(e.path)?"btn-primary":"btn-ghost bg-base-100/70"}`,onClick:t=>{t.stopPropagation(),J(e.path)},title:B.includes(e.path)?"Unpin folder":"Pin folder",children:(0,t.jsx)(g.Pin,{className:`w-3 h-3 ${B.includes(e.path)?"fill-current":""}`})})]}),(0,t.jsxs)("div",{className:"px-2 py-2",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",title:e.name,children:e.name}),(0,t.jsx)("div",{className:"text-[10px] opacity-70",children:e.isDirectory?"folder":l?"image":"file"})]})]},e.path)})})}),(0,t.jsx)("div",{className:"p-3 border-t border-base-300 text-xs text-base-content/60 text-center",children:"Click: single select. Cmd/Ctrl+Click: multi-select. Shift+Click: range select. Click a folder to open it."})]})})}e.s(["default",()=>w])},88143,(e,t,r)=>{"use strict";function a({widthInt:e,heightInt:t,blurWidth:r,blurHeight:a,blurDataURL:i,objectFit:s}){let n=r?40*r:e,l=a?40*a:t,o=n&&l?`viewBox='0 0 ${n} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${o}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${o?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return n}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return c}}),e.r(33525);let a=e.r(43369),i=e.r(88143),s=e.r(87690),n=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:d=!1,loading:u,className:f,quality:p,width:h,height:m,fill:g=!1,style:b,overrideSrc:y,onLoad:v,onLoadingComplete:x,placeholder:w="empty",blurDataURL:j,fetchPriority:S,decoding:k="async",layout:C,objectFit:_,objectPosition:P,lazyBoundary:E,lazyRoot:N,...M},O){var R;let z,A,D,{imgConf:$,showAltText:I,blurComplete:L,defaultLoader:F}=O,T=$||s.imageConfigDefault;if("allSizes"in T)z=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t),r=T.qualities?.sort((e,t)=>e-t);z={...T,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let U=M.loader||F;delete M.loader,delete M.srcSet;let H="__next_img_default"in U;if(H){if("custom"===z.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},78917,e=>{"use strict";let t=(0,e.i(75254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],78917)},68476,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("00a74f384d2cda752e3b9ee67bd62fa7761af1ea26",t.callServer,void 0,t.findSourceMapURL,"getHomeDirectory");e.s(["getHomeDirectory",()=>r])},27025,e=>{"use strict";let t=(0,e.i(75254).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",()=>t],27025)},71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},81016,43733,e=>{"use strict";function t(e){return e&&e.replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function r(e){if(!e)return"";let t=e.replace(/\\/g,"/"),r=t.length>1&&t.endsWith("/")?t.slice(0,-1):t,a=r.lastIndexOf("/");return -1===a?e.includes(":")&&e.length<=3?t:".":0===a?"/":e.includes(":")&&2===a?r.substring(0,3):r.substring(0,a)}function a(e){return/^[a-zA-Z]:[\\/]/.test(e)}e.s(["getBaseName",()=>t,"getDirName",()=>r,"isWindowsAbsolutePath",()=>a],81016);var i=e.i(71645);function s({enabled:e=!0,onConfirm:t,onDismiss:r,canConfirm:a=!0}){(0,i.useEffect)(()=>{if(!e)return;let i=e=>{if("Escape"===e.key){e.preventDefault(),r();return}"Enter"!==e.key||!t||!a||e.defaultPrevented||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||(e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toUpperCase();return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t||e.isContentEditable})(e.target)||(e.preventDefault(),t())};return window.addEventListener("keydown",i),()=>{window.removeEventListener("keydown",i)}},[e,t,r,a])}e.s(["useDialogKeyboardShortcuts",()=>s],43733)},89705,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("7f8444b3b99875207f964f39accc0122511e2a0004",t.callServer,void 0,t.findSourceMapURL,"startTtydProcess");e.s(["startTtydProcess",()=>r])},79248,28623,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("0090143951524e8794de0cc16631ba5964247564ab",t.callServer,void 0,t.findSourceMapURL,"getConfig");e.s(["getConfig",()=>r],79248);let a=(0,t.createServerReference)("40fb598c6dcac5f8751f764c103c9babd05dccca94",t.callServer,void 0,t.findSourceMapURL,"updateConfig");e.s(["updateConfig",()=>a],28623)},63671,e=>{"use strict";let t="viba:sessions-updated-at",r="viba:sessions-updated";function a(){try{localStorage.setItem(t,new Date().toISOString())}catch{}window.dispatchEvent(new CustomEvent(r))}e.s(["SESSIONS_UPDATED_EVENT",0,r,"SESSIONS_UPDATED_STORAGE_KEY",0,t,"notifySessionsUpdated",()=>a])},92325,69354,48939,78583,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("409308512ce8225139218969f6a5b2387b5924b603",t.callServer,void 0,t.findSourceMapURL,"listPathEntries");e.s(["listPathEntries",()=>r],92325);let a=(0,t.createServerReference)("7f6243b34e46ab390207d9a1c2cb42b1dbd5567506",t.callServer,void 0,t.findSourceMapURL,"saveAttachments");e.s(["saveAttachments",()=>a],69354);var i=e.i(75254);let s=(0,i.default)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]);e.s(["Clipboard",()=>s],48939);let n=(0,i.default)("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"}]]);e.s(["FileText",()=>n],78583)},82743,44809,70956,40433,94569,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);e.s(["Grid2x2",()=>r],82743);let a=(0,t.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);e.s(["House",()=>a],44809);let i=(0,t.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>i],70956);let s=(0,t.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);e.s(["Pin",()=>s],40433);let n=(0,t.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);e.s(["PinOff",()=>n],94569)},74216,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(57688),i=e.i(68476),s=e.i(92325),n=e.i(69354),l=e.i(79248),o=e.i(28623),c=e.i(71689),d=e.i(48939),u=e.i(78583),f=e.i(27025),p=e.i(82743),h=e.i(44809),m=e.i(70956),g=e.i(40433),b=e.i(94569),y=e.i(81016),v=e.i(43733);let x="viba:session-file-browser:view-mode";function w({initialPath:e,worktreePath:w,onConfirm:j,onCancel:S,onPathChange:k}){let C=(0,r.useMemo)(()=>new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".svg",".ico",".avif"]),[]),[_,P]=(0,r.useState)(""),[E,N]=(0,r.useState)([]),[M,O]=(0,r.useState)(!1),[R,z]=(0,r.useState)(null),[A,D]=(0,r.useState)(""),[$,I]=(0,r.useState)([]),[L,F]=(0,r.useState)(null),[T,U]=(0,r.useState)("list"),[H,q]=(0,r.useState)(!1),[G,V]=(0,r.useState)({}),[B,W]=(0,r.useState)([]);(0,r.useEffect)(()=>{let t=!0;return(async()=>{try{let r=await (0,i.getHomeDirectory)();if(!t)return;D(r),e||P(r)}catch(e){console.error("Failed to resolve home directory:",e)}e&&t&&P(e)})(),()=>{t=!1}},[e]),(0,r.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await (0,l.getConfig)();if(!e)return;let r=Array.isArray(t.pinnedFolderShortcuts)?t.pinnedFolderShortcuts.filter(e=>"string"==typeof e&&e.trim().length>0):[];W(Array.from(new Set(r)))}catch(e){console.error("Failed to load pinned folder shortcuts:",e)}})(),()=>{e=!1}},[]),(0,r.useEffect)(()=>{try{let e=localStorage.getItem(x);("list"===e||"grid"===e)&&U(e)}catch{}finally{q(!0)}},[]),(0,r.useEffect)(()=>{if(H)try{localStorage.setItem(x,T)}catch{}},[H,T]),(0,r.useEffect)(()=>{_&&(async()=>{O(!0),z(null);try{let e=await (0,s.listPathEntries)(_);N(e)}catch(e){console.error("Failed to list files:",e),z("Failed to load directory contents")}finally{O(!1)}})()},[_]),(0,r.useEffect)(()=>{_&&k?.(_)},[_,k]),(0,r.useEffect)(()=>{I([]),F(null),V({})},[_]);let K=(0,r.useMemo)(()=>new Set($),[$]),X=(e,t,r)=>{if(e.isDirectory)return void P(e.path);let a=r.metaKey||r.ctrlKey;if(r.shiftKey&&null!==L){let e=Math.min(L,t),r=Math.max(L,t);I(E.slice(e,r+1).filter(e=>!e.isDirectory).map(e=>e.path));return}if(a){I(t=>t.includes(e.path)?t.filter(t=>t!==e.path):[...t,e.path]),F(t);return}I([e.path]),F(t)},Z=async()=>{if(z(null),!w)return void z("Cannot paste: Session worktree path is missing.");try{if(O(!0),!navigator.clipboard||!navigator.clipboard.read)throw Error("Clipboard API not supported in this browser");let e=await navigator.clipboard.read(),t=new FormData,r=!1;for(let a of e)for(let e of a.types)if(e.startsWith("image/")){let i=await a.getType(e),s=e.split("/")[1]||"png",n=`pasted-image-${Date.now()}.${s}`,l=new File([i],n,{type:e});t.append(n,l),r=!0;break}if(r){let e=await (0,n.saveAttachments)(w,t);if(e&&e.length>0)return void await j(e);z("Failed to save pasted files.")}else try{let e=await navigator.clipboard.readText();e&&e.trim().startsWith("/")?z("No file content found in clipboard. Copy an image or file first."):z("No file content found in clipboard.")}catch{z("No file content found in clipboard.")}}catch(t){let e=t instanceof Error?t.message:String(t);console.error("Paste error:",t),z(`Failed to read from clipboard: ${e}`)}finally{O(!1)}},Y=async e=>{W(e);try{await (0,o.updateConfig)({pinnedFolderShortcuts:e})}catch(e){console.error("Failed to save pinned folder shortcuts:",e),z("Failed to save pinned shortcuts")}},J=async e=>{(z(null),B.includes(e))?await Y(B.filter(t=>t!==e)):await Y([...B,e])},Q=(0,r.useCallback)(async()=>{0!==$.length&&await j($)},[j,$]);return(0,v.useDialogKeyboardShortcuts)({onConfirm:Q,onDismiss:S,canConfirm:$.length>0}),(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",children:(0,t.jsxs)("div",{className:"bg-base-200 rounded-lg shadow-xl w-full max-w-5xl h-[82vh] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-4 border-b border-base-300",children:[(0,t.jsxs)("h2",{className:"text-xl font-bold flex items-center gap-2",children:[(0,t.jsx)(f.Folder,{className:"w-5 h-5"}),"Browse Files"]}),(0,t.jsx)("button",{onClick:S,className:"btn btn-sm btn-ghost btn-circle",title:"Close file browser",children:"✕"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-base-300",children:[(0,t.jsx)("button",{onClick:()=>{let e=(0,y.getDirName)(_);e&&e!==_&&P(e)},className:"btn btn-sm btn-square btn-ghost",title:"Go Up",disabled:"/"===_||!_,children:(0,t.jsx)(c.ArrowLeft,{className:"w-4 h-4"})}),(0,t.jsxs)("button",{onClick:()=>{A&&_!==A&&P(A)},className:"btn btn-sm btn-ghost gap-1",title:A?`Go to Home Folder (${A})`:"Go to Home Folder",disabled:!A||_===A,children:[(0,t.jsx)(h.House,{className:"w-4 h-4"}),"Home"]}),(0,t.jsx)("div",{className:"flex-1 overflow-x-auto whitespace-nowrap px-2 font-mono text-sm",children:_}),(0,t.jsxs)("div",{className:"join",children:[(0,t.jsx)("button",{type:"button",onClick:()=>U("list"),className:`btn btn-sm join-item ${"list"===T?"btn-active":"btn-ghost"}`,title:"List view",children:(0,t.jsx)(m.List,{className:"w-4 h-4"})}),(0,t.jsx)("button",{type:"button",onClick:()=>U("grid"),className:`btn btn-sm join-item ${"grid"===T?"btn-active":"btn-ghost"}`,title:"Grid view",children:(0,t.jsx)(p.Grid2x2,{className:"w-4 h-4"})})]}),(0,t.jsxs)("button",{onClick:Q,className:"btn btn-sm btn-primary gap-2",disabled:0===$.length,title:"Insert selected absolute paths",children:["Insert (",$.length,")"]}),(0,t.jsx)("div",{className:"w-[1px] h-6 bg-base-content/10 mx-1"}),(0,t.jsxs)("button",{onClick:Z,className:"btn btn-sm btn-ghost gap-2",title:"Paste file/image from clipboard",disabled:!w,children:[(0,t.jsx)(d.Clipboard,{className:"w-4 h-4"}),"Paste"]})]}),B.length>0&&(0,t.jsx)("div",{className:"px-3 py-2 border-b border-base-300 bg-base-200/50",children:(0,t.jsx)("div",{className:"flex items-center gap-2 overflow-x-auto",children:B.map(e=>{let r=e===_,a=e.split(/[\\/]/).filter(Boolean).pop()||e;return(0,t.jsxs)("div",{className:"join shrink-0",children:[(0,t.jsxs)("button",{type:"button",className:`btn btn-xs join-item ${r?"btn-primary":"btn-ghost"}`,onClick:()=>P(e),title:e,children:[(0,t.jsx)(f.Folder,{className:"w-3 h-3"}),a]}),(0,t.jsx)("button",{type:"button",className:"btn btn-xs btn-ghost join-item",onClick:()=>void J(e),title:`Unpin ${e}`,children:(0,t.jsx)(b.PinOff,{className:"w-3 h-3"})})]},e)})})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-2",children:M?(0,t.jsx)("div",{className:"flex justify-center items-center h-full",children:(0,t.jsx)("span",{className:"loading loading-spinner loading-lg"})}):R?(0,t.jsx)("div",{className:"alert alert-error",children:R}):0===E.length?(0,t.jsx)("div",{className:"text-center text-base-content/50 mt-10",children:"Empty directory"}):"list"===T?(0,t.jsx)("div",{className:"grid grid-cols-1 gap-1",children:E.map((e,r)=>{let a=K.has(e.path);return(0,t.jsxs)("div",{className:`flex items-center justify-between p-2 rounded-md cursor-pointer transition-colors border ${a?"bg-primary text-primary-content border-primary":"hover:bg-base-100 border-transparent"}`,onClick:t=>X(e,r,t),title:e.path,children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[e.isDirectory?(0,t.jsx)(f.Folder,{className:"w-5 h-5 shrink-0"}):(0,t.jsx)(u.FileText,{className:"w-5 h-5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]}),(0,t.jsx)("span",{className:"text-[10px] opacity-70 shrink-0",children:e.isDirectory?(0,t.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs h-6 min-h-6",onClick:t=>{t.stopPropagation(),J(e.path)},title:B.includes(e.path)?"Unpin folder":"Pin folder",children:(0,t.jsx)(g.Pin,{className:`w-3 h-3 ${B.includes(e.path)?"fill-current":""}`})}):"file"})]},e.path)})}):(0,t.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-3",children:E.map((e,r)=>{var i;let s,n=K.has(e.path),l=!e.isDirectory&&-1!==(s=(i=e.name).lastIndexOf("."))&&C.has(i.slice(s).toLowerCase()),o=`/api/file-thumbnail?path=${encodeURIComponent(e.path)}`;return(0,t.jsxs)("button",{type:"button",className:`rounded-lg border text-left overflow-hidden transition-colors ${n?"border-primary bg-primary/15":"border-base-300 hover:bg-base-100"}`,onClick:t=>X(e,r,t),title:e.path,children:[(0,t.jsxs)("div",{className:"aspect-square bg-base-300 flex items-center justify-center overflow-hidden relative",children:[l&&!G[e.path]?(0,t.jsx)(a.default,{src:o,alt:e.name,fill:!0,sizes:"(max-width: 768px) 50vw, (max-width: 1024px) 25vw, 20vw",className:"object-cover",unoptimized:!0,onError:()=>V(t=>({...t,[e.path]:!0}))}):e.isDirectory?(0,t.jsx)(f.Folder,{className:"w-10 h-10 opacity-80"}):(0,t.jsx)(u.FileText,{className:"w-10 h-10 opacity-80"}),e.isDirectory&&(0,t.jsx)("button",{type:"button",className:`absolute top-1 right-1 btn btn-xs btn-circle ${B.includes(e.path)?"btn-primary":"btn-ghost bg-base-100/70"}`,onClick:t=>{t.stopPropagation(),J(e.path)},title:B.includes(e.path)?"Unpin folder":"Pin folder",children:(0,t.jsx)(g.Pin,{className:`w-3 h-3 ${B.includes(e.path)?"fill-current":""}`})})]}),(0,t.jsxs)("div",{className:"px-2 py-2",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",title:e.name,children:e.name}),(0,t.jsx)("div",{className:"text-[10px] opacity-70",children:e.isDirectory?"folder":l?"image":"file"})]})]},e.path)})})}),(0,t.jsx)("div",{className:"p-3 border-t border-base-300 text-xs text-base-content/60 text-center",children:"Click: single select. Cmd/Ctrl+Click: multi-select. Shift+Click: range select. Click a folder to open it."})]})})}e.s(["default",()=>w])},88143,(e,t,r)=>{"use strict";function a({widthInt:e,heightInt:t,blurWidth:r,blurHeight:a,blurDataURL:i,objectFit:s}){let n=r?40*r:e,l=a?40*a:t,o=n&&l?`viewBox='0 0 ${n} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${o}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${o?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return n}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return c}}),e.r(33525);let a=e.r(43369),i=e.r(88143),s=e.r(87690),n=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:d=!1,loading:u,className:f,quality:p,width:h,height:m,fill:g=!1,style:b,overrideSrc:y,onLoad:v,onLoadingComplete:x,placeholder:w="empty",blurDataURL:j,fetchPriority:S,decoding:k="async",layout:C,objectFit:_,objectPosition:P,lazyBoundary:E,lazyRoot:N,...M},O){var R;let z,A,D,{imgConf:$,showAltText:I,blurComplete:L,defaultLoader:F}=O,T=$||s.imageConfigDefault;if("allSizes"in T)z=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t),r=T.qualities?.sort((e,t)=>e-t);z={...T,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let U=M.loader||F;delete M.loader,delete M.srcSet;let H="__next_img_default"in U;if(H){if("custom"===z.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
2
  Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=U;U=t=>{let{config:r,...a}=t;return e(a)}}if(C){"fill"===C&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[C];r&&!t&&(t=r)}let q="",G=o(h),V=o(m);if((R=e)&&"object"==typeof R&&(l(R)||void 0!==R.src)){let t=l(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(A=t.blurWidth,D=t.blurHeight,j=j||t.blurDataURL,q=t.src,!g)if(G||V){if(G&&!V){let e=G/t.width;V=Math.round(t.height*e)}else if(!G&&V){let e=V/t.height;G=Math.round(t.width*e)}}else G=t.width,V=t.height}let B=!c&&!d&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:q)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,B=!1),z.unoptimized&&(r=!0),H&&!z.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let W=o(p),K=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:_,objectPosition:P}:{},I?{}:{color:"transparent"},b),X=L||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:G,heightInt:V,blurWidth:A,blurHeight:D,blurDataURL:j||"",objectFit:K.objectFit})}")`:`url("${w}")`,Z=n.includes(K.objectFit)?"fill"===K.objectFit?"100% 100%":"cover":K.objectFit,Y=X?{backgroundSize:Z,backgroundPosition:K.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},J=function({config:e,src:t,unoptimized:r,width:i,quality:s,sizes:n,loader:l}){if(r){let e=(0,a.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:o,kind:c}=function({deviceSizes:e,allSizes:t},r,a){if(a){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(a);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,n),d=o.length-1;return{sizes:n||"w"!==c?n:"100vw",srcSet:o.map((r,a)=>`${l({config:e,src:t,quality:s,width:r})} ${"w"===c?r:a+1}${c}`).join(", "),src:l({config:e,src:t,quality:s,width:o[d]})}}({config:z,src:e,unoptimized:r,width:G,quality:W,sizes:t,loader:U}),Q=B?"lazy":u;return{props:{...M,loading:Q,fetchPriority:S,width:G,height:V,decoding:k,className:f,style:{...K,...Y},sizes:J.sizes,srcSet:J.srcSet,src:y||J.src},meta:{unoptimized:r,preload:d||c,placeholder:w,fill:g}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let a=e.r(71645),i="u"<typeof window,s=i?()=>{}:a.useLayoutEffect,n=i?()=>{}:a.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let e=a.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),l()),s(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),s(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),n(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return m},defaultHead:function(){return u}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(55682),n=e.r(90809),l=e.r(43476),o=n._(e.r(71645)),c=s._(e.r(98879)),d=e.r(42732);function u(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function h(e){let t,r,a,i;return e.reduce(f,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,a=new Set,i={},e=>{let s=!0,n=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){n=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?s=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?s=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)a.has(r)?s=!1:a.add(r);else{let t=e.props[r],a=i[r]||new Set;("name"!==r||!n)&&a.has(t)?s=!1:(a.add(t),i[r]=a)}}}return s})).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,o.useContext)(d.HeadManagerContext);return(0,l.jsx)(c.default,{reduceComponentsToState:h,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let a=e.r(55682)._(e.r(71645)),i=e.r(87690),s=a.default.createContext(i.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return a}});let a=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function a(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return a}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let a=e.r(70965),i=e.r(43369);function s({config:e,src:t,width:r,quality:s}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let n=(0,a.findClosestQuality)(s,e),l=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${n}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}s.__next_img_default=!0;let n=s},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let a=e.r(71645);function i(e,t){let r=(0,a.useRef)(null),i=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=s(e,a)),t&&(i.current=s(t,a))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let a=e.r(55682),i=e.r(90809),s=e.r(43476),n=i._(e.r(71645)),l=a._(e.r(74080)),o=a._(e.r(25633)),c=e.r(8927),d=e.r(87690),u=e.r(18556);e.r(33525);let f=e.r(65856),p=a._(e.r(1948)),h=e.r(18581),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,a,i,s,n){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}a?.current&&a.current(e)}}))}function b(e){return n.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,n.forwardRef)(({src:e,srcSet:t,sizes:r,height:a,width:i,decoding:l,className:o,style:c,fetchPriority:d,placeholder:u,loading:f,unoptimized:p,fill:m,onLoadRef:y,onLoadingCompleteRef:v,setBlurComplete:x,setShowAltText:w,sizesInput:j,onLoad:S,onError:k,...C},_)=>{let P=(0,n.useCallback)(e=>{e&&(k&&(e.src=e.src),e.complete&&g(e,u,y,v,x,p,j))},[e,u,y,v,x,k,p,j]),E=(0,h.useMergedRef)(_,P);return(0,s.jsx)("img",{...C,...b(d),loading:f,width:i,height:a,decoding:l,"data-nimg":m?"fill":"1",className:o,style:c,sizes:r,srcSet:t,src:e,ref:E,onLoad:e=>{g(e.currentTarget,u,y,v,x,p,j)},onError:e=>{w(!0),"empty"!==u&&x(!0),k&&k(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...b(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,s.jsx)(o.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let x=(0,n.forwardRef)((e,t)=>{let r=(0,n.useContext)(f.RouterContext),a=(0,n.useContext)(u.ImageConfigContext),i=(0,n.useMemo)(()=>{let e=m||a||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?a?.localPatterns:e.localPatterns}},[a]),{onLoad:l,onLoadingComplete:o}=e,h=(0,n.useRef)(l);(0,n.useEffect)(()=>{h.current=l},[l]);let g=(0,n.useRef)(o);(0,n.useEffect)(()=>{g.current=o},[o]);let[b,x]=(0,n.useState)(!1),[w,j]=(0,n.useState)(!1),{props:S,meta:k}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:b,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y,{...S,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:x,setShowAltText:j,sizesInput:e.sizes,ref:t}),k.preload?(0,s.jsx)(v,{isAppRouter:!r,imgAttributes:S}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return d},getImageProps:function(){return c}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(55682),n=e.r(8927),l=e.r(5500),o=s._(e.r(1948));function c(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=l.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:l="",children:o,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...i,width:a,height:a,stroke:e,strokeWidth:n?24*Number(s)/Number(a):s,className:r("lucide",l),...!o&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(o)?o:[o]])),n=(e,i)=>{let n=(0,t.forwardRef)(({className:n,...l},o)=>(0,t.createElement)(s,{ref:o,iconNode:i,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,n),...l}));return n.displayName=a(e),n};e.s(["default",()=>n],75254)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},27612,e=>{"use strict";let t=(0,e.i(75254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],27612)},95187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return s.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(32120),n=e.r(92245),l=e.r(35326)},18566,(e,t,r)=>{t.exports=e.r(76562)},65261,e=>{"use strict";let t=(0,e.i(75254).default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",()=>t],65261)},20201,76315,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("00b4036ea2f98f15738c5b703ee699c2bc74ed090b",t.callServer,void 0,t.findSourceMapURL,"listAgentApiCredentials");e.s(["listAgentApiCredentials",()=>r],20201);let a=(0,t.createServerReference)("0051a3b92b920bfcdb376cb6b6ed78967546f78dc8",t.callServer,void 0,t.findSourceMapURL,"listCredentials");e.s(["listCredentials",()=>a],76315)},52683,e=>{"use strict";var t=e.i(43476),r=e.i(57688),a=e.i(5951);function i(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("a",{href:"https://github.com/m0o0scar/viba",target:"_blank",rel:"noopener noreferrer","aria-label":"Open Viba GitHub repository",className:"fixed top-0 right-0 z-50 h-20 w-20 cursor-pointer border-l border-b border-gray-400 bg-gray-300/95 shadow-sm backdrop-blur-sm transition-colors hover:bg-gray-500/95 dark:border-slate-700 dark:bg-slate-900/95 dark:hover:bg-slate-800/95",style:{clipPath:"polygon(100% 0, 0 0, 100% 100%)"},children:(0,t.jsx)("span",{className:"absolute left-[67%] top-[33%] -translate-x-1/2 -translate-y-1/2",children:(0,t.jsx)(r.default,{src:"/github.png",alt:"GitHub",width:22,height:22,priority:!0,className:"rotate-45"})})}),(0,t.jsx)("main",{className:"flex min-h-screen flex-col items-center justify-start p-4 transition-colors md:p-6",children:(0,t.jsx)(a.default,{mode:"home"})})]})}e.s(["default",()=>i])}]);
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let n=(0,a.findClosestQuality)(s,e),l=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${n}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}s.__next_img_default=!0;let n=s},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let a=e.r(71645);function i(e,t){let r=(0,a.useRef)(null),i=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=s(e,a)),t&&(i.current=s(t,a))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let a=e.r(55682),i=e.r(90809),s=e.r(43476),n=i._(e.r(71645)),l=a._(e.r(74080)),o=a._(e.r(25633)),c=e.r(8927),d=e.r(87690),u=e.r(18556);e.r(33525);let f=e.r(65856),p=a._(e.r(1948)),h=e.r(18581),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,a,i,s,n){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}a?.current&&a.current(e)}}))}function b(e){return n.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,n.forwardRef)(({src:e,srcSet:t,sizes:r,height:a,width:i,decoding:l,className:o,style:c,fetchPriority:d,placeholder:u,loading:f,unoptimized:p,fill:m,onLoadRef:y,onLoadingCompleteRef:v,setBlurComplete:x,setShowAltText:w,sizesInput:j,onLoad:S,onError:k,...C},_)=>{let P=(0,n.useCallback)(e=>{e&&(k&&(e.src=e.src),e.complete&&g(e,u,y,v,x,p,j))},[e,u,y,v,x,k,p,j]),E=(0,h.useMergedRef)(_,P);return(0,s.jsx)("img",{...C,...b(d),loading:f,width:i,height:a,decoding:l,"data-nimg":m?"fill":"1",className:o,style:c,sizes:r,srcSet:t,src:e,ref:E,onLoad:e=>{g(e.currentTarget,u,y,v,x,p,j)},onError:e=>{w(!0),"empty"!==u&&x(!0),k&&k(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...b(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,s.jsx)(o.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let x=(0,n.forwardRef)((e,t)=>{let r=(0,n.useContext)(f.RouterContext),a=(0,n.useContext)(u.ImageConfigContext),i=(0,n.useMemo)(()=>{let e=m||a||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?a?.localPatterns:e.localPatterns}},[a]),{onLoad:l,onLoadingComplete:o}=e,h=(0,n.useRef)(l);(0,n.useEffect)(()=>{h.current=l},[l]);let g=(0,n.useRef)(o);(0,n.useEffect)(()=>{g.current=o},[o]);let[b,x]=(0,n.useState)(!1),[w,j]=(0,n.useState)(!1),{props:S,meta:k}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:b,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y,{...S,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:x,setShowAltText:j,sizesInput:e.sizes,ref:t}),k.preload?(0,s.jsx)(v,{isAppRouter:!r,imgAttributes:S}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return d},getImageProps:function(){return c}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(55682),n=e.r(8927),l=e.r(5500),o=s._(e.r(1948));function c(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=l.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:l="",children:o,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...i,width:a,height:a,stroke:e,strokeWidth:n?24*Number(s)/Number(a):s,className:r("lucide",l),...!o&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(o)?o:[o]])),n=(e,i)=>{let n=(0,t.forwardRef)(({className:n,...l},o)=>(0,t.createElement)(s,{ref:o,iconNode:i,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,n),...l}));return n.displayName=a(e),n};e.s(["default",()=>n],75254)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},27612,e=>{"use strict";let t=(0,e.i(75254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],27612)},95187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return s.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(32120),n=e.r(92245),l=e.r(35326)},18566,(e,t,r)=>{t.exports=e.r(76562)},65261,e=>{"use strict";let t=(0,e.i(75254).default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",()=>t],65261)},31200,47274,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("00f788a987802139e46a67eba5adb590c5fcd38ef1",t.callServer,void 0,t.findSourceMapURL,"listAgentApiCredentials");e.s(["listAgentApiCredentials",()=>r],31200);let a=(0,t.createServerReference)("0059895046be5f7d970c84173683f7146b15a9e827",t.callServer,void 0,t.findSourceMapURL,"listCredentials");e.s(["listCredentials",()=>a],47274)},52683,e=>{"use strict";var t=e.i(43476),r=e.i(57688),a=e.i(5951);function i(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("a",{href:"https://github.com/m0o0scar/viba",target:"_blank",rel:"noopener noreferrer","aria-label":"Open Viba GitHub repository",className:"fixed top-0 right-0 z-50 h-20 w-20 cursor-pointer border-l border-b border-gray-400 bg-gray-300/95 shadow-sm backdrop-blur-sm transition-colors hover:bg-gray-500/95 dark:border-slate-700 dark:bg-slate-900/95 dark:hover:bg-slate-800/95",style:{clipPath:"polygon(100% 0, 0 0, 100% 100%)"},children:(0,t.jsx)("span",{className:"absolute left-[67%] top-[33%] -translate-x-1/2 -translate-y-1/2",children:(0,t.jsx)(r.default,{src:"/github.png",alt:"GitHub",width:22,height:22,priority:!0,className:"rotate-45"})})}),(0,t.jsx)("main",{className:"flex min-h-screen flex-col items-center justify-start p-4 transition-colors md:p-6",children:(0,t.jsx)(a.default,{mode:"home"})})]})}e.s(["default",()=>i])}]);
@@ -1,3 +1,3 @@
1
1
  (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},95187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return l.callServer},createServerReference:function(){return n.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let l=e.r(32120),i=e.r(92245),n=e.r(35326)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:l=2,absoluteStrokeWidth:i,className:n="",children:d,iconNode:o,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:a,height:a,stroke:e,strokeWidth:i?24*Number(l)/Number(a):l,className:r("lucide",n),...!d&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...o.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(d)?d:[d]])),i=(e,s)=>{let i=(0,t.forwardRef)(({className:i,...n},d)=>(0,t.createElement)(l,{ref:d,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...n}));return i.displayName=a(e),i};e.s(["default",()=>i],75254)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},27612,e=>{"use strict";let t=(0,e.i(75254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],27612)},88143,(e,t,r)=>{"use strict";function a({widthInt:e,heightInt:t,blurWidth:r,blurHeight:a,blurDataURL:s,objectFit:l}){let i=r?40*r:e,n=a?40*a:t,d=i&&n?`viewBox='0 0 ${i} ${n}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===l?"xMidYMid":"cover"===l?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${s}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={VALID_LOADERS:function(){return l},imageConfigDefault:function(){return i}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let l=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return o}}),e.r(33525);let a=e.r(43369),s=e.r(88143),l=e.r(87690),i=["-moz-initial","fill","none","scale-down",void 0];function n(e){return void 0!==e.default}function d(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function o({src:e,sizes:t,unoptimized:r=!1,priority:o=!1,preload:c=!1,loading:u,className:f,quality:m,width:p,height:x,fill:g=!1,style:h,overrideSrc:b,onLoad:v,onLoadingComplete:y,placeholder:j="empty",blurDataURL:w,fetchPriority:k,decoding:N="async",layout:_,objectFit:S,objectPosition:C,lazyBoundary:P,lazyRoot:R,...O},M){var E;let A,$,I,{imgConf:L,showAltText:z,blurComplete:U,defaultLoader:D}=M,T=L||l.imageConfigDefault;if("allSizes"in T)A=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t),r=T.qualities?.sort((e,t)=>e-t);A={...T,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=O.loader||D;delete O.loader,delete O.srcSet;let B="__next_img_default"in G;if(B){if("custom"===A.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
2
  Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=G;G=t=>{let{config:r,...a}=t;return e(a)}}if(_){"fill"===_&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(h={...h,...e});let r={responsive:"100vw",fill:"100vw"}[_];r&&!t&&(t=r)}let q="",W=d(p),F=d(x);if((E=e)&&"object"==typeof E&&(n(E)||void 0!==E.src)){let t=n(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if($=t.blurWidth,I=t.blurHeight,w=w||t.blurDataURL,q=t.src,!g)if(W||F){if(W&&!F){let e=W/t.width;F=Math.round(t.height*e)}else if(!W&&F){let e=F/t.height;W=Math.round(t.width*e)}}else W=t.width,F=t.height}let H=!o&&!c&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:q)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,H=!1),A.unoptimized&&(r=!0),B&&!A.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=d(m),V=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:S,objectPosition:C}:{},z?{}:{color:"transparent"},h),X=U||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:W,heightInt:F,blurWidth:$,blurHeight:I,blurDataURL:w||"",objectFit:V.objectFit})}")`:`url("${j}")`,Y=i.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,J=X?{backgroundSize:Y,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},Q=function({config:e,src:t,unoptimized:r,width:s,quality:l,sizes:i,loader:n}){if(r){let e=(0,a.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:d,kind:o}=function({deviceSizes:e,allSizes:t},r,a){if(a){let r=/(^|\s)(1?\d?\d)vw/g,s=[];for(let e;e=r.exec(a);)s.push(parseInt(e[2]));if(s.length){let r=.01*Math.min(...s);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,s,i),c=d.length-1;return{sizes:i||"w"!==o?i:"100vw",srcSet:d.map((r,a)=>`${n({config:e,src:t,quality:l,width:r})} ${"w"===o?r:a+1}${o}`).join(", "),src:n({config:e,src:t,quality:l,width:d[c]})}}({config:A,src:e,unoptimized:r,width:W,quality:K,sizes:t,loader:G}),Z=H?"lazy":u;return{props:{...O,loading:Z,fetchPriority:k,width:W,height:F,decoding:N,className:f,style:{...V,...J},sizes:Q.sizes,srcSet:Q.srcSet,src:b||Q.src},meta:{unoptimized:r,preload:c||o,placeholder:j,fill:g}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let a=e.r(71645),s="u"<typeof window,l=s?()=>{}:a.useLayoutEffect,i=s?()=>{}:a.useEffect;function n(e){let{headManager:t,reduceComponentsToState:r}=e;function n(){if(t&&t.mountedInstances){let e=a.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return s&&(t?.mountedInstances?.add(e.children),n()),l(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),l(()=>(t&&(t._pendingUpdate=n),()=>{t&&(t._pendingUpdate=n)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return x},defaultHead:function(){return u}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let l=e.r(55682),i=e.r(90809),n=e.r(43476),d=i._(e.r(71645)),o=l._(e.r(98879)),c=e.r(42732);function u(){return[(0,n.jsx)("meta",{charSet:"utf-8"},"charset"),(0,n.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===d.default.Fragment?e.concat(d.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let m=["name","httpEquiv","charSet","itemProp"];function p(e){let t,r,a,s;return e.reduce(f,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,a=new Set,s={},e=>{let l=!0,i=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){i=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?l=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?l=!1:r.add(e.type);break;case"meta":for(let t=0,r=m.length;t<r;t++){let r=m[t];if(e.props.hasOwnProperty(r))if("charSet"===r)a.has(r)?l=!1:a.add(r);else{let t=e.props[r],a=s[r]||new Set;("name"!==r||!i)&&a.has(t)?l=!1:(a.add(t),s[r]=a)}}}return l})).reverse().map((e,t)=>{let r=e.key||t;return d.default.cloneElement(e,{key:r})})}let x=function({children:e}){let t=(0,d.useContext)(c.HeadManagerContext);return(0,n.jsx)(o.default,{reduceComponentsToState:p,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return l}});let a=e.r(55682)._(e.r(71645)),s=e.r(87690),l=a.default.createContext(s.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return a}});let a=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function a(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return a}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}});let a=e.r(70965),s=e.r(43369);function l({config:e,src:t,width:r,quality:l}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,a.findClosestQuality)(l,e),n=(0,s.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${i}${t.startsWith("/")&&n?`&dpl=${n}`:""}`}l.__next_img_default=!0;let i=l},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=e.r(71645);function s(e,t){let r=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=l(e,a)),t&&(s.current=l(t,a))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let a=e.r(55682),s=e.r(90809),l=e.r(43476),i=s._(e.r(71645)),n=a._(e.r(74080)),d=a._(e.r(25633)),o=e.r(8927),c=e.r(87690),u=e.r(18556);e.r(33525);let f=e.r(65856),m=a._(e.r(1948)),p=e.r(18581),x={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,a,s,l,i){let n=e?.src;e&&e["data-loaded-src"]!==n&&(e["data-loaded-src"]=n,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,s=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}a?.current&&a.current(e)}}))}function h(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,i.forwardRef)(({src:e,srcSet:t,sizes:r,height:a,width:s,decoding:n,className:d,style:o,fetchPriority:c,placeholder:u,loading:f,unoptimized:m,fill:x,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:y,setShowAltText:j,sizesInput:w,onLoad:k,onError:N,..._},S)=>{let C=(0,i.useCallback)(e=>{e&&(N&&(e.src=e.src),e.complete&&g(e,u,b,v,y,m,w))},[e,u,b,v,y,N,m,w]),P=(0,p.useMergedRef)(S,C);return(0,l.jsx)("img",{..._,...h(c),loading:f,width:s,height:a,decoding:n,"data-nimg":x?"fill":"1",className:d,style:o,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{g(e.currentTarget,u,b,v,y,m,w)},onError:e=>{j(!0),"empty"!==u&&y(!0),N&&N(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...h(t.fetchPriority)};return e&&n.default.preload?(n.default.preload(t.src,r),null):(0,l.jsx)(d.default,{children:(0,l.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(f.RouterContext),a=(0,i.useContext)(u.ImageConfigContext),s=(0,i.useMemo)(()=>{let e=x||a||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:s,localPatterns:"u"<typeof window?a?.localPatterns:e.localPatterns}},[a]),{onLoad:n,onLoadingComplete:d}=e,p=(0,i.useRef)(n);(0,i.useEffect)(()=>{p.current=n},[n]);let g=(0,i.useRef)(d);(0,i.useEffect)(()=>{g.current=d},[d]);let[h,y]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),{props:k,meta:N}=(0,o.getImgProps)(e,{defaultLoader:m.default,imgConf:s,blurComplete:h,showAltText:j});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b,{...k,unoptimized:N.unoptimized,placeholder:N.placeholder,fill:N.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:y,setShowAltText:w,sizesInput:e.sizes,ref:t}),N.preload?(0,l.jsx)(v,{isAppRouter:!r,imgAttributes:k}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return c},getImageProps:function(){return o}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let l=e.r(55682),i=e.r(8927),n=e.r(5500),d=l._(e.r(1948));function o(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:d.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=n.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},18566,(e,t,r)=>{t.exports=e.r(76562)},20201,76315,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("00b4036ea2f98f15738c5b703ee699c2bc74ed090b",t.callServer,void 0,t.findSourceMapURL,"listAgentApiCredentials");e.s(["listAgentApiCredentials",()=>r],20201);let a=(0,t.createServerReference)("0051a3b92b920bfcdb376cb6b6ed78967546f78dc8",t.callServer,void 0,t.findSourceMapURL,"listCredentials");e.s(["listCredentials",()=>a],76315)},65261,e=>{"use strict";let t=(0,e.i(75254).default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",()=>t],65261)},63768,e=>{"use strict";var t=e.i(43476),r=e.i(20201),a=e.i(76315),s=e.i(95187);let l=(0,s.createServerReference)("4039d6b642806340055367f225542cd7e40aaae218",s.callServer,void 0,s.findSourceMapURL,"removeAgentApiCredential"),i=(0,s.createServerReference)("408b2012a0ab921b59a00c1a6f7b4038ef09139290",s.callServer,void 0,s.findSourceMapURL,"removeCredential"),n=(0,s.createServerReference)("702257d7c64268d734cf7034bc86f712341ddd9b6a",s.callServer,void 0,s.findSourceMapURL,"saveAgentApiCredential"),d=(0,s.createServerReference)("409348d36c78507d631779e660b4b42cdd9bad596c",s.callServer,void 0,s.findSourceMapURL,"saveGitHubCredential"),o=(0,s.createServerReference)("60f7783080ede8def24e544e45972f78e85a68f145",s.callServer,void 0,s.findSourceMapURL,"saveGitLabCredential");var c=e.i(63059),u=e.i(65261),f=e.i(27612),m=e.i(57688),p=e.i(18566),x=e.i(71645);let g="https://gitlab.com",h={github:"https://www.google.com/s2/favicons?domain=github.com&sz=64",gitlab:"https://www.google.com/s2/favicons?domain=gitlab.com&sz=64"},b={codex:"Codex CLI"},v={codex:"sk-..."},y={codex:"https://proxy.example.com/v1"},j=["codex"];function w(e){return"github"===e?"GitHub":"GitLab"}function k({type:e}){return(0,t.jsx)(m.default,{src:h[e],alt:`${w(e)} icon`,width:20,height:20,className:"h-5 w-5 rounded-sm",unoptimized:!0})}function N(){let e=(0,p.useRouter)(),[s,m]=(0,x.useState)([]),[h,N]=(0,x.useState)([]),[_,S]=(0,x.useState)(!0),[C,P]=(0,x.useState)(""),[R,O]=(0,x.useState)(""),[M,E]=(0,x.useState)(g),[A,$]=(0,x.useState)({codex:""}),[I,L]=(0,x.useState)({codex:""}),[z,U]=(0,x.useState)(null),[D,T]=(0,x.useState)(null),[G,B]=(0,x.useState)(null),[q,W]=(0,x.useState)(null),[F,H]=(0,x.useState)(null),K=(0,x.useMemo)(()=>s.filter(e=>"github"===e.type),[s]),V=(0,x.useMemo)(()=>s.filter(e=>"gitlab"===e.type),[s]),X=(0,x.useMemo)(()=>new Map(h.map(e=>[e.agent,e])),[h]),Y=async()=>{let[e,t]=await Promise.all([(0,a.listCredentials)(),(0,r.listAgentApiCredentials)()]);if(!e.success){H({tone:"error",text:e.error}),S(!1);return}if(!t.success){H({tone:"error",text:t.error}),S(!1);return}m(e.credentials),N(t.credentials),L(e=>{let r={...e};for(let e of j)r[e]=t.credentials.find(t=>t.agent===e)?.apiProxy||"";return r}),S(!1)};(0,x.useEffect)(()=>{let e=!0;return(async()=>{let[t,s]=await Promise.all([(0,a.listCredentials)(),(0,r.listAgentApiCredentials)()]);if(e){if(!t.success){H({tone:"error",text:t.error}),S(!1);return}if(!s.success){H({tone:"error",text:s.error}),S(!1);return}m(t.credentials),N(s.credentials),L(e=>{let t={...e};for(let e of j)t[e]=s.credentials.find(t=>t.agent===e)?.apiProxy||"";return t}),S(!1)}})(),()=>{e=!1}},[]);let J=async()=>{H(null),U("github");let e=await d(C);if(!e.success){H({tone:"error",text:e.error}),U(null);return}P(""),H({tone:"success",text:"GitHub credential added."}),await Y(),U(null)},Q=async()=>{H(null),U("gitlab");let e=await o(M,R);if(!e.success){H({tone:"error",text:e.error}),U(null);return}O(""),H({tone:"success",text:"GitLab credential added."}),await Y(),U(null)},Z=async e=>{H(null),T(e);let t=await n(e,A[e],I[e]);if(!t.success){H({tone:"error",text:t.error}),T(null);return}$(t=>({...t,[e]:""})),L(r=>({...r,[e]:t.credential.apiProxy||""})),H({tone:"success",text:`${b[e]} credential saved.`}),await Y(),T(null)},ee=async e=>{let t=w(e.type);if(!confirm(`Delete this ${t} credential for ${"gitlab"===e.type?`${e.username} @ ${e.serverUrl}`:e.username}?`))return;H(null),B(e.id);let r=await i(e.id);if(!r.success){H({tone:"error",text:r.error}),B(null);return}H({tone:"success",text:`${t} credential deleted.`}),await Y(),B(null)},et=async e=>{if(!confirm(`Delete the saved ${b[e]} API credential?`))return;H(null),W(e);let t=await l(e);if(!t.success){H({tone:"error",text:t.error}),W(null);return}$(t=>({...t,[e]:""})),L(t=>({...t,[e]:""})),H({tone:"success",text:`${b[e]} credential deleted.`}),await Y(),W(null)},er="overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-slate-700/50 dark:bg-slate-800 dark:shadow-[0_12px_30px_-18px_rgba(2,6,23,0.9)]",ea="flex flex-col gap-3 border-b border-slate-200 bg-white px-6 py-5 md:flex-row md:items-center md:justify-between dark:border-slate-700/50 dark:bg-slate-800",es="block w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-2.5 text-sm text-slate-900 placeholder-slate-400 transition-all focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-60 dark:border-slate-700 dark:bg-slate-900/50 dark:text-white dark:placeholder-slate-500 dark:focus:border-primary/50 dark:focus:bg-slate-900",el="inline-flex items-center justify-center gap-2 rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white shadow-lg shadow-blue-900/20 transition-colors hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-60",ei="inline-flex items-center justify-center gap-2 rounded-lg border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 shadow-sm transition-colors hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-60 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700",en="inline-flex h-8 w-8 items-center justify-center rounded-lg text-slate-400 transition-all hover:bg-red-50 hover:text-red-500 dark:text-slate-400 dark:hover:bg-red-900/30 dark:hover:text-red-400";return(0,t.jsx)("main",{className:"min-h-screen bg-[#f6f6f8] px-4 py-8 md:px-8 md:py-12 dark:bg-[#0f1117]",children:(0,t.jsxs)("div",{className:"mx-auto w-full max-w-4xl space-y-8",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-4",children:[(0,t.jsx)("button",{type:"button",className:"flex h-10 w-10 items-center justify-center rounded-lg text-slate-500 transition-colors hover:bg-white hover:text-slate-900 dark:text-slate-400 dark:hover:bg-slate-800 dark:hover:text-white",onClick:()=>e.push("/"),"aria-label":"Back to home",children:(0,t.jsx)(c.ChevronRight,{className:"h-6 w-6 rotate-180"})}),(0,t.jsx)("h1",{className:"text-3xl font-black tracking-[-0.02em] text-slate-900 md:text-4xl dark:text-white",children:"Credential Management"})]}),(0,t.jsx)("p",{className:"ml-14 text-sm text-slate-500 md:text-base dark:text-slate-400",children:"Manage your API keys and access tokens for third-party services safely."})]}),F&&(0,t.jsx)("div",{className:`rounded-lg border px-4 py-3 text-sm ${"error"===F.tone?"border-red-200 bg-red-50 text-red-700 dark:border-red-500/40 dark:bg-red-900/30 dark:text-red-200":"border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/40 dark:bg-emerald-900/30 dark:text-emerald-200"}`,children:F.text}),_?(0,t.jsx)("div",{className:`${er} p-10`,children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,t.jsx)("span",{className:"loading loading-spinner loading-md text-primary"}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Loading credentials..."})]})}):(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("section",{className:er,children:[(0,t.jsxs)("div",{className:ea,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-bold text-slate-900 dark:text-white",children:"GitHub Credentials"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-slate-500 dark:text-slate-400",children:"Access private repositories and Gists."})]}),(0,t.jsxs)("button",{className:el,onClick:()=>void J(),disabled:"github"===z,children:["github"===z?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(u.KeyRound,{className:"h-4 w-4"}),"Add Token"]})]}),(0,t.jsxs)("div",{className:"border-b border-slate-100 bg-slate-50/40 px-6 py-4 dark:border-slate-700/50 dark:bg-slate-900/35",children:[(0,t.jsx)("label",{className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:"Personal Access Token"}),(0,t.jsx)("input",{type:"password",className:es,placeholder:"ghp_xxx",value:C,onChange:e=>P(e.target.value),disabled:"github"===z})]}),0===K.length?(0,t.jsx)("div",{className:"px-6 py-6 text-sm text-slate-500 dark:text-slate-400",children:"No GitHub credentials saved."}):(0,t.jsx)("div",{className:"divide-y divide-slate-100 dark:divide-slate-700/50",children:K.map(e=>(0,t.jsxs)("div",{className:"group flex items-center justify-between gap-4 px-6 py-5 transition-colors hover:bg-slate-50 dark:hover:bg-slate-800/50",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-4",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-slate-100 dark:bg-slate-700/60",children:(0,t.jsx)(k,{type:"github"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:e.username}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-slate-500 dark:text-slate-400",children:["Updated ",new Date(e.updatedAt).toLocaleString()]})]})]}),(0,t.jsx)("button",{className:`${en} opacity-0 group-hover:opacity-100 disabled:opacity-40`,onClick:()=>void ee(e),disabled:G===e.id,title:"Delete",children:G===e.id?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(f.Trash2,{className:"h-4 w-4"})})]},e.id))})]}),(0,t.jsxs)("section",{className:er,children:[(0,t.jsxs)("div",{className:ea,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-bold text-slate-900 dark:text-white",children:"GitLab Credentials"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-slate-500 dark:text-slate-400",children:"Connect to self-hosted or cloud GitLab instances."})]}),(0,t.jsxs)("button",{className:ei,onClick:()=>void Q(),disabled:"gitlab"===z,children:["gitlab"===z?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(u.KeyRound,{className:"h-4 w-4"}),"Add Instance"]})]}),(0,t.jsxs)("div",{className:"space-y-4 border-b border-slate-100 bg-slate-50/40 px-6 py-4 dark:border-slate-700/50 dark:bg-slate-900/35",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:"Server URL"}),(0,t.jsx)("input",{type:"url",className:es,placeholder:g,value:M,onChange:e=>E(e.target.value),disabled:"gitlab"===z})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:"Personal Access Token"}),(0,t.jsx)("input",{type:"password",className:es,placeholder:"glpat-xxx",value:R,onChange:e=>O(e.target.value),disabled:"gitlab"===z})]})]}),0===V.length?(0,t.jsx)("div",{className:"px-6 py-6 text-sm text-slate-500 dark:text-slate-400",children:"No GitLab credentials saved."}):(0,t.jsx)("div",{className:"divide-y divide-slate-100 dark:divide-slate-700/50",children:V.map(e=>(0,t.jsxs)("div",{className:"group flex items-center justify-between gap-4 px-6 py-5 transition-colors hover:bg-slate-50 dark:hover:bg-slate-800/50",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-4",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-orange-50 dark:border dark:border-orange-500/20 dark:bg-orange-500/10",children:(0,t.jsx)(k,{type:"gitlab"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:e.username}),(0,t.jsx)("div",{className:"truncate text-xs text-slate-500 dark:text-slate-400",children:e.serverUrl}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-slate-500 dark:text-slate-400",children:["Updated ",new Date(e.updatedAt).toLocaleString()]})]})]}),(0,t.jsx)("button",{className:`${en} opacity-0 group-hover:opacity-100 disabled:opacity-40`,onClick:()=>void ee(e),disabled:G===e.id,title:"Delete",children:G===e.id?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(f.Trash2,{className:"h-4 w-4"})})]},e.id))})]}),j.map(e=>{let r=X.get(e),a=D===e,s=q===e;return(0,t.jsxs)("section",{className:er,children:[(0,t.jsxs)("div",{className:ea,children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"rounded-lg bg-emerald-100 p-1.5 text-emerald-600 dark:border dark:border-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400",children:(0,t.jsx)(u.KeyRound,{className:"h-5 w-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h2",{className:"text-lg font-bold text-slate-900 dark:text-white",children:[b[e]," Configuration"]}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Configure access for LLM capabilities."})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[r&&(0,t.jsxs)("button",{className:ei,onClick:()=>void et(e),disabled:a||s,children:[s?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(f.Trash2,{className:"h-4 w-4"}),"Remove"]}),(0,t.jsxs)("button",{className:el,onClick:()=>void Z(e),disabled:a||s,children:[a?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(u.KeyRound,{className:"h-4 w-4"}),r?"Save Changes":"Save"]})]})]}),(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsxs)("div",{className:"max-w-2xl space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-300",children:"API Key"}),(0,t.jsx)("input",{type:"password",className:es,placeholder:v[e],value:A[e],onChange:t=>$(r=>({...r,[e]:t.target.value})),disabled:a||s}),(0,t.jsx)("p",{className:"mt-1 text-xs text-slate-500 dark:text-slate-400",children:"Your API key is stored locally and never shared."})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-300",children:["API Proxy ",(0,t.jsx)("span",{className:"font-normal text-slate-400 dark:text-slate-500",children:"(Optional)"})]}),(0,t.jsx)("input",{type:"url",className:es,placeholder:y[e],value:I[e],onChange:t=>L(r=>({...r,[e]:t.target.value})),disabled:a||s}),(0,t.jsx)("p",{className:"mt-1 text-xs text-slate-500 dark:text-slate-400",children:"Override this when using a proxy or a compatible endpoint."})]})]}),(0,t.jsx)("div",{className:"rounded-lg border border-slate-200 bg-slate-50 p-3 text-xs text-slate-600 dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-300",children:r?(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{children:"API key configured."}),(0,t.jsxs)("div",{children:["Updated ",new Date(r.updatedAt).toLocaleString()]}),(0,t.jsxs)("div",{children:["Proxy ",r.apiProxy?r.apiProxy:"not set"]})]}):(0,t.jsx)("div",{children:"No API credential saved."})})]})]},e)}),(0,t.jsx)("div",{className:"pb-2 pt-4 text-center text-xs text-slate-400 dark:text-slate-500",children:"Credentials are encrypted at rest using your system keychain."})]})]})})}e.s(["default",()=>N],63768)}]);
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,a.findClosestQuality)(l,e),n=(0,s.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${i}${t.startsWith("/")&&n?`&dpl=${n}`:""}`}l.__next_img_default=!0;let i=l},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=e.r(71645);function s(e,t){let r=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=l(e,a)),t&&(s.current=l(t,a))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let a=e.r(55682),s=e.r(90809),l=e.r(43476),i=s._(e.r(71645)),n=a._(e.r(74080)),d=a._(e.r(25633)),o=e.r(8927),c=e.r(87690),u=e.r(18556);e.r(33525);let f=e.r(65856),m=a._(e.r(1948)),p=e.r(18581),x={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,a,s,l,i){let n=e?.src;e&&e["data-loaded-src"]!==n&&(e["data-loaded-src"]=n,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,s=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}a?.current&&a.current(e)}}))}function h(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,i.forwardRef)(({src:e,srcSet:t,sizes:r,height:a,width:s,decoding:n,className:d,style:o,fetchPriority:c,placeholder:u,loading:f,unoptimized:m,fill:x,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:y,setShowAltText:j,sizesInput:w,onLoad:k,onError:N,..._},S)=>{let C=(0,i.useCallback)(e=>{e&&(N&&(e.src=e.src),e.complete&&g(e,u,b,v,y,m,w))},[e,u,b,v,y,N,m,w]),P=(0,p.useMergedRef)(S,C);return(0,l.jsx)("img",{..._,...h(c),loading:f,width:s,height:a,decoding:n,"data-nimg":x?"fill":"1",className:d,style:o,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{g(e.currentTarget,u,b,v,y,m,w)},onError:e=>{j(!0),"empty"!==u&&y(!0),N&&N(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...h(t.fetchPriority)};return e&&n.default.preload?(n.default.preload(t.src,r),null):(0,l.jsx)(d.default,{children:(0,l.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(f.RouterContext),a=(0,i.useContext)(u.ImageConfigContext),s=(0,i.useMemo)(()=>{let e=x||a||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:s,localPatterns:"u"<typeof window?a?.localPatterns:e.localPatterns}},[a]),{onLoad:n,onLoadingComplete:d}=e,p=(0,i.useRef)(n);(0,i.useEffect)(()=>{p.current=n},[n]);let g=(0,i.useRef)(d);(0,i.useEffect)(()=>{g.current=d},[d]);let[h,y]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),{props:k,meta:N}=(0,o.getImgProps)(e,{defaultLoader:m.default,imgConf:s,blurComplete:h,showAltText:j});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b,{...k,unoptimized:N.unoptimized,placeholder:N.placeholder,fill:N.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:y,setShowAltText:w,sizesInput:e.sizes,ref:t}),N.preload?(0,l.jsx)(v,{isAppRouter:!r,imgAttributes:k}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return c},getImageProps:function(){return o}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let l=e.r(55682),i=e.r(8927),n=e.r(5500),d=l._(e.r(1948));function o(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:d.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=n.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},18566,(e,t,r)=>{t.exports=e.r(76562)},31200,47274,e=>{"use strict";var t=e.i(95187);let r=(0,t.createServerReference)("00f788a987802139e46a67eba5adb590c5fcd38ef1",t.callServer,void 0,t.findSourceMapURL,"listAgentApiCredentials");e.s(["listAgentApiCredentials",()=>r],31200);let a=(0,t.createServerReference)("0059895046be5f7d970c84173683f7146b15a9e827",t.callServer,void 0,t.findSourceMapURL,"listCredentials");e.s(["listCredentials",()=>a],47274)},65261,e=>{"use strict";let t=(0,e.i(75254).default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",()=>t],65261)},63768,e=>{"use strict";var t=e.i(43476),r=e.i(31200),a=e.i(47274),s=e.i(95187);let l=(0,s.createServerReference)("40a0a853fa0d398367fdf97332b450ac737400fb43",s.callServer,void 0,s.findSourceMapURL,"removeAgentApiCredential"),i=(0,s.createServerReference)("4041b80033a71531b74b20ff6b4fc7130ca65f48e7",s.callServer,void 0,s.findSourceMapURL,"removeCredential"),n=(0,s.createServerReference)("70dfba5cb918f24cd0db4026a6167587584b87871c",s.callServer,void 0,s.findSourceMapURL,"saveAgentApiCredential"),d=(0,s.createServerReference)("408d0413a7e2b53e29b3de1bb5edb388d7af7b6c3c",s.callServer,void 0,s.findSourceMapURL,"saveGitHubCredential"),o=(0,s.createServerReference)("60639821e5c6ec13c50b35cb0a4a2c8b8e0b1a10f5",s.callServer,void 0,s.findSourceMapURL,"saveGitLabCredential");var c=e.i(63059),u=e.i(65261),f=e.i(27612),m=e.i(57688),p=e.i(18566),x=e.i(71645);let g="https://gitlab.com",h={github:"https://www.google.com/s2/favicons?domain=github.com&sz=64",gitlab:"https://www.google.com/s2/favicons?domain=gitlab.com&sz=64"},b={codex:"Codex CLI"},v={codex:"sk-..."},y={codex:"https://proxy.example.com/v1"},j=["codex"];function w(e){return"github"===e?"GitHub":"GitLab"}function k({type:e}){return(0,t.jsx)(m.default,{src:h[e],alt:`${w(e)} icon`,width:20,height:20,className:"h-5 w-5 rounded-sm",unoptimized:!0})}function N(){let e=(0,p.useRouter)(),[s,m]=(0,x.useState)([]),[h,N]=(0,x.useState)([]),[_,S]=(0,x.useState)(!0),[C,P]=(0,x.useState)(""),[R,O]=(0,x.useState)(""),[M,E]=(0,x.useState)(g),[A,$]=(0,x.useState)({codex:""}),[I,L]=(0,x.useState)({codex:""}),[z,U]=(0,x.useState)(null),[D,T]=(0,x.useState)(null),[G,B]=(0,x.useState)(null),[q,W]=(0,x.useState)(null),[F,H]=(0,x.useState)(null),K=(0,x.useMemo)(()=>s.filter(e=>"github"===e.type),[s]),V=(0,x.useMemo)(()=>s.filter(e=>"gitlab"===e.type),[s]),X=(0,x.useMemo)(()=>new Map(h.map(e=>[e.agent,e])),[h]),Y=async()=>{let[e,t]=await Promise.all([(0,a.listCredentials)(),(0,r.listAgentApiCredentials)()]);if(!e.success){H({tone:"error",text:e.error}),S(!1);return}if(!t.success){H({tone:"error",text:t.error}),S(!1);return}m(e.credentials),N(t.credentials),L(e=>{let r={...e};for(let e of j)r[e]=t.credentials.find(t=>t.agent===e)?.apiProxy||"";return r}),S(!1)};(0,x.useEffect)(()=>{let e=!0;return(async()=>{let[t,s]=await Promise.all([(0,a.listCredentials)(),(0,r.listAgentApiCredentials)()]);if(e){if(!t.success){H({tone:"error",text:t.error}),S(!1);return}if(!s.success){H({tone:"error",text:s.error}),S(!1);return}m(t.credentials),N(s.credentials),L(e=>{let t={...e};for(let e of j)t[e]=s.credentials.find(t=>t.agent===e)?.apiProxy||"";return t}),S(!1)}})(),()=>{e=!1}},[]);let J=async()=>{H(null),U("github");let e=await d(C);if(!e.success){H({tone:"error",text:e.error}),U(null);return}P(""),H({tone:"success",text:"GitHub credential added."}),await Y(),U(null)},Q=async()=>{H(null),U("gitlab");let e=await o(M,R);if(!e.success){H({tone:"error",text:e.error}),U(null);return}O(""),H({tone:"success",text:"GitLab credential added."}),await Y(),U(null)},Z=async e=>{H(null),T(e);let t=await n(e,A[e],I[e]);if(!t.success){H({tone:"error",text:t.error}),T(null);return}$(t=>({...t,[e]:""})),L(r=>({...r,[e]:t.credential.apiProxy||""})),H({tone:"success",text:`${b[e]} credential saved.`}),await Y(),T(null)},ee=async e=>{let t=w(e.type);if(!confirm(`Delete this ${t} credential for ${"gitlab"===e.type?`${e.username} @ ${e.serverUrl}`:e.username}?`))return;H(null),B(e.id);let r=await i(e.id);if(!r.success){H({tone:"error",text:r.error}),B(null);return}H({tone:"success",text:`${t} credential deleted.`}),await Y(),B(null)},et=async e=>{if(!confirm(`Delete the saved ${b[e]} API credential?`))return;H(null),W(e);let t=await l(e);if(!t.success){H({tone:"error",text:t.error}),W(null);return}$(t=>({...t,[e]:""})),L(t=>({...t,[e]:""})),H({tone:"success",text:`${b[e]} credential deleted.`}),await Y(),W(null)},er="overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-slate-700/50 dark:bg-slate-800 dark:shadow-[0_12px_30px_-18px_rgba(2,6,23,0.9)]",ea="flex flex-col gap-3 border-b border-slate-200 bg-white px-6 py-5 md:flex-row md:items-center md:justify-between dark:border-slate-700/50 dark:bg-slate-800",es="block w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-2.5 text-sm text-slate-900 placeholder-slate-400 transition-all focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-60 dark:border-slate-700 dark:bg-slate-900/50 dark:text-white dark:placeholder-slate-500 dark:focus:border-primary/50 dark:focus:bg-slate-900",el="inline-flex items-center justify-center gap-2 rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white shadow-lg shadow-blue-900/20 transition-colors hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-60",ei="inline-flex items-center justify-center gap-2 rounded-lg border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 shadow-sm transition-colors hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-60 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700",en="inline-flex h-8 w-8 items-center justify-center rounded-lg text-slate-400 transition-all hover:bg-red-50 hover:text-red-500 dark:text-slate-400 dark:hover:bg-red-900/30 dark:hover:text-red-400";return(0,t.jsx)("main",{className:"min-h-screen bg-[#f6f6f8] px-4 py-8 md:px-8 md:py-12 dark:bg-[#0f1117]",children:(0,t.jsxs)("div",{className:"mx-auto w-full max-w-4xl space-y-8",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-4",children:[(0,t.jsx)("button",{type:"button",className:"flex h-10 w-10 items-center justify-center rounded-lg text-slate-500 transition-colors hover:bg-white hover:text-slate-900 dark:text-slate-400 dark:hover:bg-slate-800 dark:hover:text-white",onClick:()=>e.push("/"),"aria-label":"Back to home",children:(0,t.jsx)(c.ChevronRight,{className:"h-6 w-6 rotate-180"})}),(0,t.jsx)("h1",{className:"text-3xl font-black tracking-[-0.02em] text-slate-900 md:text-4xl dark:text-white",children:"Credential Management"})]}),(0,t.jsx)("p",{className:"ml-14 text-sm text-slate-500 md:text-base dark:text-slate-400",children:"Manage your API keys and access tokens for third-party services safely."})]}),F&&(0,t.jsx)("div",{className:`rounded-lg border px-4 py-3 text-sm ${"error"===F.tone?"border-red-200 bg-red-50 text-red-700 dark:border-red-500/40 dark:bg-red-900/30 dark:text-red-200":"border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/40 dark:bg-emerald-900/30 dark:text-emerald-200"}`,children:F.text}),_?(0,t.jsx)("div",{className:`${er} p-10`,children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,t.jsx)("span",{className:"loading loading-spinner loading-md text-primary"}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Loading credentials..."})]})}):(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("section",{className:er,children:[(0,t.jsxs)("div",{className:ea,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-bold text-slate-900 dark:text-white",children:"GitHub Credentials"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-slate-500 dark:text-slate-400",children:"Access private repositories and Gists."})]}),(0,t.jsxs)("button",{className:el,onClick:()=>void J(),disabled:"github"===z,children:["github"===z?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(u.KeyRound,{className:"h-4 w-4"}),"Add Token"]})]}),(0,t.jsxs)("div",{className:"border-b border-slate-100 bg-slate-50/40 px-6 py-4 dark:border-slate-700/50 dark:bg-slate-900/35",children:[(0,t.jsx)("label",{className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:"Personal Access Token"}),(0,t.jsx)("input",{type:"password",className:es,placeholder:"ghp_xxx",value:C,onChange:e=>P(e.target.value),disabled:"github"===z})]}),0===K.length?(0,t.jsx)("div",{className:"px-6 py-6 text-sm text-slate-500 dark:text-slate-400",children:"No GitHub credentials saved."}):(0,t.jsx)("div",{className:"divide-y divide-slate-100 dark:divide-slate-700/50",children:K.map(e=>(0,t.jsxs)("div",{className:"group flex items-center justify-between gap-4 px-6 py-5 transition-colors hover:bg-slate-50 dark:hover:bg-slate-800/50",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-4",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-slate-100 dark:bg-slate-700/60",children:(0,t.jsx)(k,{type:"github"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:e.username}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-slate-500 dark:text-slate-400",children:["Updated ",new Date(e.updatedAt).toLocaleString()]})]})]}),(0,t.jsx)("button",{className:`${en} opacity-0 group-hover:opacity-100 disabled:opacity-40`,onClick:()=>void ee(e),disabled:G===e.id,title:"Delete",children:G===e.id?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(f.Trash2,{className:"h-4 w-4"})})]},e.id))})]}),(0,t.jsxs)("section",{className:er,children:[(0,t.jsxs)("div",{className:ea,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-bold text-slate-900 dark:text-white",children:"GitLab Credentials"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-slate-500 dark:text-slate-400",children:"Connect to self-hosted or cloud GitLab instances."})]}),(0,t.jsxs)("button",{className:ei,onClick:()=>void Q(),disabled:"gitlab"===z,children:["gitlab"===z?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(u.KeyRound,{className:"h-4 w-4"}),"Add Instance"]})]}),(0,t.jsxs)("div",{className:"space-y-4 border-b border-slate-100 bg-slate-50/40 px-6 py-4 dark:border-slate-700/50 dark:bg-slate-900/35",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:"Server URL"}),(0,t.jsx)("input",{type:"url",className:es,placeholder:g,value:M,onChange:e=>E(e.target.value),disabled:"gitlab"===z})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:"Personal Access Token"}),(0,t.jsx)("input",{type:"password",className:es,placeholder:"glpat-xxx",value:R,onChange:e=>O(e.target.value),disabled:"gitlab"===z})]})]}),0===V.length?(0,t.jsx)("div",{className:"px-6 py-6 text-sm text-slate-500 dark:text-slate-400",children:"No GitLab credentials saved."}):(0,t.jsx)("div",{className:"divide-y divide-slate-100 dark:divide-slate-700/50",children:V.map(e=>(0,t.jsxs)("div",{className:"group flex items-center justify-between gap-4 px-6 py-5 transition-colors hover:bg-slate-50 dark:hover:bg-slate-800/50",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-4",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-orange-50 dark:border dark:border-orange-500/20 dark:bg-orange-500/10",children:(0,t.jsx)(k,{type:"gitlab"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:e.username}),(0,t.jsx)("div",{className:"truncate text-xs text-slate-500 dark:text-slate-400",children:e.serverUrl}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-slate-500 dark:text-slate-400",children:["Updated ",new Date(e.updatedAt).toLocaleString()]})]})]}),(0,t.jsx)("button",{className:`${en} opacity-0 group-hover:opacity-100 disabled:opacity-40`,onClick:()=>void ee(e),disabled:G===e.id,title:"Delete",children:G===e.id?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(f.Trash2,{className:"h-4 w-4"})})]},e.id))})]}),j.map(e=>{let r=X.get(e),a=D===e,s=q===e;return(0,t.jsxs)("section",{className:er,children:[(0,t.jsxs)("div",{className:ea,children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"rounded-lg bg-emerald-100 p-1.5 text-emerald-600 dark:border dark:border-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400",children:(0,t.jsx)(u.KeyRound,{className:"h-5 w-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h2",{className:"text-lg font-bold text-slate-900 dark:text-white",children:[b[e]," Configuration"]}),(0,t.jsx)("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"Configure access for LLM capabilities."})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[r&&(0,t.jsxs)("button",{className:ei,onClick:()=>void et(e),disabled:a||s,children:[s?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(f.Trash2,{className:"h-4 w-4"}),"Remove"]}),(0,t.jsxs)("button",{className:el,onClick:()=>void Z(e),disabled:a||s,children:[a?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(u.KeyRound,{className:"h-4 w-4"}),r?"Save Changes":"Save"]})]})]}),(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsxs)("div",{className:"max-w-2xl space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-300",children:"API Key"}),(0,t.jsx)("input",{type:"password",className:es,placeholder:v[e],value:A[e],onChange:t=>$(r=>({...r,[e]:t.target.value})),disabled:a||s}),(0,t.jsx)("p",{className:"mt-1 text-xs text-slate-500 dark:text-slate-400",children:"Your API key is stored locally and never shared."})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-300",children:["API Proxy ",(0,t.jsx)("span",{className:"font-normal text-slate-400 dark:text-slate-500",children:"(Optional)"})]}),(0,t.jsx)("input",{type:"url",className:es,placeholder:y[e],value:I[e],onChange:t=>L(r=>({...r,[e]:t.target.value})),disabled:a||s}),(0,t.jsx)("p",{className:"mt-1 text-xs text-slate-500 dark:text-slate-400",children:"Override this when using a proxy or a compatible endpoint."})]})]}),(0,t.jsx)("div",{className:"rounded-lg border border-slate-200 bg-slate-50 p-3 text-xs text-slate-600 dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-300",children:r?(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{children:"API key configured."}),(0,t.jsxs)("div",{children:["Updated ",new Date(r.updatedAt).toLocaleString()]}),(0,t.jsxs)("div",{children:["Proxy ",r.apiProxy?r.apiProxy:"not set"]})]}):(0,t.jsx)("div",{children:"No API credential saved."})})]})]},e)}),(0,t.jsx)("div",{className:"pb-2 pt-4 text-center text-xs text-slate-400 dark:text-slate-500",children:"Credentials are encrypted at rest using your system keychain."})]})]})})}e.s(["default",()=>N],63768)}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viba-cli",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "private": false,
5
5
  "description": "Local session manager for AI coding agents.",
6
6
  "repository": {
@@ -1,3 +0,0 @@
1
- module.exports=[74294,51604,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("0090ca1b58238fe3d84576aa7598f62fec82e1c39f",b.callServer,void 0,b.findSourceMapURL,"getConfig");a.s(["getConfig",()=>c],74294);let d=(0,b.createServerReference)("402dc43f0f57cd2d5cca381b7ec49b2f2f08d22cad",b.callServer,void 0,b.findSourceMapURL,"updateConfig");a.s(["updateConfig",()=>d],51604)},52495,a=>{"use strict";let b=(0,a.i(70106).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],52495)},5784,a=>{"use strict";let b=(0,a.i(70106).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],5784)},15618,a=>{"use strict";let b=(0,a.i(70106).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],15618)},210,a=>{"use strict";let b=(0,a.i(70106).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],210)},33508,a=>{"use strict";let b=(0,a.i(70106).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],33508)},78547,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("0066b7b106c642ef4b72dce222493eb03eda405f51",b.callServer,void 0,b.findSourceMapURL,"getHomeDirectory");a.s(["getHomeDirectory",()=>c])},38734,28630,92106,4720,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("40c6d25f0a1d12624264cfab1df7b65529d6a1954e",b.callServer,void 0,b.findSourceMapURL,"listPathEntries");a.s(["listPathEntries",()=>c],38734);let d=(0,b.createServerReference)("7fc04de30f1cf912afb0c21ae821e159cb23a52b95",b.callServer,void 0,b.findSourceMapURL,"saveAttachments");a.s(["saveAttachments",()=>d],28630);var e=a.i(70106);let f=(0,e.default)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]);a.s(["Clipboard",()=>f],92106);let g=(0,e.default)("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"}]]);a.s(["FileText",()=>g],4720)},92596,a=>{"use strict";let b=(0,a.i(70106).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",()=>b],92596)},996,60087,67329,1239,58988,a=>{"use strict";var b=a.i(70106);let c=(0,b.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);a.s(["Grid2x2",()=>c],996);let d=(0,b.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);a.s(["House",()=>d],60087);let e=(0,b.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);a.s(["List",()=>e],67329);let f=(0,b.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);a.s(["Pin",()=>f],1239);let g=(0,b.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);a.s(["PinOff",()=>g],58988)},11431,94659,a=>{"use strict";function b(a){return a&&a.replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function c(a){if(!a)return"";let b=a.replace(/\\/g,"/"),c=b.length>1&&b.endsWith("/")?b.slice(0,-1):b,d=c.lastIndexOf("/");return -1===d?a.includes(":")&&a.length<=3?b:".":0===d?"/":a.includes(":")&&2===d?c.substring(0,3):c.substring(0,d)}function d(a){return/^[a-zA-Z]:[\\/]/.test(a)}a.s(["getBaseName",()=>b,"getDirName",()=>c,"isWindowsAbsolutePath",()=>d],11431);var e=a.i(72131);function f({enabled:a=!0,onConfirm:b,onDismiss:c,canConfirm:d=!0}){(0,e.useEffect)(()=>{if(!a)return;let e=a=>{if("Escape"===a.key){a.preventDefault(),c();return}"Enter"!==a.key||!b||!d||a.defaultPrevented||a.metaKey||a.ctrlKey||a.altKey||a.shiftKey||(a=>{if(!(a instanceof HTMLElement))return!1;let b=a.tagName.toUpperCase();return"INPUT"===b||"TEXTAREA"===b||"SELECT"===b||a.isContentEditable})(a.target)||(a.preventDefault(),b())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[a,b,c,d])}a.s(["useDialogKeyboardShortcuts",()=>f],94659)},64724,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(71987),e=a.i(78547),f=a.i(38734),g=a.i(28630),h=a.i(74294),i=a.i(51604),j=a.i(210),k=a.i(92106),l=a.i(4720),m=a.i(92596),n=a.i(996),o=a.i(60087),p=a.i(67329),q=a.i(1239),r=a.i(58988),s=a.i(11431),t=a.i(94659);let u="viba:session-file-browser:view-mode";function v({initialPath:a,worktreePath:v,onConfirm:w,onCancel:x,onPathChange:y}){let z=(0,c.useMemo)(()=>new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".svg",".ico",".avif"]),[]),[A,B]=(0,c.useState)(""),[C,D]=(0,c.useState)([]),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(null),[I,J]=(0,c.useState)(""),[K,L]=(0,c.useState)([]),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)("list"),[Q,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)({}),[U,V]=(0,c.useState)([]);(0,c.useEffect)(()=>{let b=!0;return(async()=>{try{let c=await (0,e.getHomeDirectory)();if(!b)return;J(c),a||B(c)}catch(a){console.error("Failed to resolve home directory:",a)}a&&b&&B(a)})(),()=>{b=!1}},[a]),(0,c.useEffect)(()=>{let a=!0;return(async()=>{try{let b=await (0,h.getConfig)();if(!a)return;let c=Array.isArray(b.pinnedFolderShortcuts)?b.pinnedFolderShortcuts.filter(a=>"string"==typeof a&&a.trim().length>0):[];V(Array.from(new Set(c)))}catch(a){console.error("Failed to load pinned folder shortcuts:",a)}})(),()=>{a=!1}},[]),(0,c.useEffect)(()=>{try{let a=localStorage.getItem(u);("list"===a||"grid"===a)&&P(a)}catch{}finally{R(!0)}},[]),(0,c.useEffect)(()=>{if(Q)try{localStorage.setItem(u,O)}catch{}},[Q,O]),(0,c.useEffect)(()=>{A&&(async()=>{F(!0),H(null);try{let a=await (0,f.listPathEntries)(A);D(a)}catch(a){console.error("Failed to list files:",a),H("Failed to load directory contents")}finally{F(!1)}})()},[A]),(0,c.useEffect)(()=>{A&&y?.(A)},[A,y]),(0,c.useEffect)(()=>{L([]),N(null),T({})},[A]);let W=(0,c.useMemo)(()=>new Set(K),[K]),X=(a,b,c)=>{if(a.isDirectory)return void B(a.path);let d=c.metaKey||c.ctrlKey;if(c.shiftKey&&null!==M){let a=Math.min(M,b),c=Math.max(M,b);L(C.slice(a,c+1).filter(a=>!a.isDirectory).map(a=>a.path));return}if(d){L(b=>b.includes(a.path)?b.filter(b=>b!==a.path):[...b,a.path]),N(b);return}L([a.path]),N(b)},Y=async()=>{if(H(null),!v)return void H("Cannot paste: Session worktree path is missing.");try{if(F(!0),!navigator.clipboard||!navigator.clipboard.read)throw Error("Clipboard API not supported in this browser");let a=await navigator.clipboard.read(),b=new FormData,c=!1;for(let d of a)for(let a of d.types)if(a.startsWith("image/")){let e=await d.getType(a),f=a.split("/")[1]||"png",g=`pasted-image-${Date.now()}.${f}`,h=new File([e],g,{type:a});b.append(g,h),c=!0;break}if(c){let a=await (0,g.saveAttachments)(v,b);if(a&&a.length>0)return void await w(a);H("Failed to save pasted files.")}else try{let a=await navigator.clipboard.readText();a&&a.trim().startsWith("/")?H("No file content found in clipboard. Copy an image or file first."):H("No file content found in clipboard.")}catch{H("No file content found in clipboard.")}}catch(b){let a=b instanceof Error?b.message:String(b);console.error("Paste error:",b),H(`Failed to read from clipboard: ${a}`)}finally{F(!1)}},Z=async a=>{V(a);try{await (0,i.updateConfig)({pinnedFolderShortcuts:a})}catch(a){console.error("Failed to save pinned folder shortcuts:",a),H("Failed to save pinned shortcuts")}},$=async a=>{(H(null),U.includes(a))?await Z(U.filter(b=>b!==a)):await Z([...U,a])},_=(0,c.useCallback)(async()=>{0!==K.length&&await w(K)},[w,K]);return(0,t.useDialogKeyboardShortcuts)({onConfirm:_,onDismiss:x,canConfirm:K.length>0}),(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",children:(0,b.jsxs)("div",{className:"bg-base-200 rounded-lg shadow-xl w-full max-w-5xl h-[82vh] flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border-b border-base-300",children:[(0,b.jsxs)("h2",{className:"text-xl font-bold flex items-center gap-2",children:[(0,b.jsx)(m.Folder,{className:"w-5 h-5"}),"Browse Files"]}),(0,b.jsx)("button",{onClick:x,className:"btn btn-sm btn-ghost btn-circle",title:"Close file browser",children:"✕"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-base-300",children:[(0,b.jsx)("button",{onClick:()=>{let a=(0,s.getDirName)(A);a&&a!==A&&B(a)},className:"btn btn-sm btn-square btn-ghost",title:"Go Up",disabled:"/"===A||!A,children:(0,b.jsx)(j.ArrowLeft,{className:"w-4 h-4"})}),(0,b.jsxs)("button",{onClick:()=>{I&&A!==I&&B(I)},className:"btn btn-sm btn-ghost gap-1",title:I?`Go to Home Folder (${I})`:"Go to Home Folder",disabled:!I||A===I,children:[(0,b.jsx)(o.House,{className:"w-4 h-4"}),"Home"]}),(0,b.jsx)("div",{className:"flex-1 overflow-x-auto whitespace-nowrap px-2 font-mono text-sm",children:A}),(0,b.jsxs)("div",{className:"join",children:[(0,b.jsx)("button",{type:"button",onClick:()=>P("list"),className:`btn btn-sm join-item ${"list"===O?"btn-active":"btn-ghost"}`,title:"List view",children:(0,b.jsx)(p.List,{className:"w-4 h-4"})}),(0,b.jsx)("button",{type:"button",onClick:()=>P("grid"),className:`btn btn-sm join-item ${"grid"===O?"btn-active":"btn-ghost"}`,title:"Grid view",children:(0,b.jsx)(n.Grid2x2,{className:"w-4 h-4"})})]}),(0,b.jsxs)("button",{onClick:_,className:"btn btn-sm btn-primary gap-2",disabled:0===K.length,title:"Insert selected absolute paths",children:["Insert (",K.length,")"]}),(0,b.jsx)("div",{className:"w-[1px] h-6 bg-base-content/10 mx-1"}),(0,b.jsxs)("button",{onClick:Y,className:"btn btn-sm btn-ghost gap-2",title:"Paste file/image from clipboard",disabled:!v,children:[(0,b.jsx)(k.Clipboard,{className:"w-4 h-4"}),"Paste"]})]}),U.length>0&&(0,b.jsx)("div",{className:"px-3 py-2 border-b border-base-300 bg-base-200/50",children:(0,b.jsx)("div",{className:"flex items-center gap-2 overflow-x-auto",children:U.map(a=>{let c=a===A,d=a.split(/[\\/]/).filter(Boolean).pop()||a;return(0,b.jsxs)("div",{className:"join shrink-0",children:[(0,b.jsxs)("button",{type:"button",className:`btn btn-xs join-item ${c?"btn-primary":"btn-ghost"}`,onClick:()=>B(a),title:a,children:[(0,b.jsx)(m.Folder,{className:"w-3 h-3"}),d]}),(0,b.jsx)("button",{type:"button",className:"btn btn-xs btn-ghost join-item",onClick:()=>void $(a),title:`Unpin ${a}`,children:(0,b.jsx)(r.PinOff,{className:"w-3 h-3"})})]},a)})})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-2",children:E?(0,b.jsx)("div",{className:"flex justify-center items-center h-full",children:(0,b.jsx)("span",{className:"loading loading-spinner loading-lg"})}):G?(0,b.jsx)("div",{className:"alert alert-error",children:G}):0===C.length?(0,b.jsx)("div",{className:"text-center text-base-content/50 mt-10",children:"Empty directory"}):"list"===O?(0,b.jsx)("div",{className:"grid grid-cols-1 gap-1",children:C.map((a,c)=>{let d=W.has(a.path);return(0,b.jsxs)("div",{className:`flex items-center justify-between p-2 rounded-md cursor-pointer transition-colors border ${d?"bg-primary text-primary-content border-primary":"hover:bg-base-100 border-transparent"}`,onClick:b=>X(a,c,b),title:a.path,children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[a.isDirectory?(0,b.jsx)(m.Folder,{className:"w-5 h-5 shrink-0"}):(0,b.jsx)(l.FileText,{className:"w-5 h-5 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]}),(0,b.jsx)("span",{className:"text-[10px] opacity-70 shrink-0",children:a.isDirectory?(0,b.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs h-6 min-h-6",onClick:b=>{b.stopPropagation(),$(a.path)},title:U.includes(a.path)?"Unpin folder":"Pin folder",children:(0,b.jsx)(q.Pin,{className:`w-3 h-3 ${U.includes(a.path)?"fill-current":""}`})}):"file"})]},a.path)})}):(0,b.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-3",children:C.map((a,c)=>{var e;let f,g=W.has(a.path),h=!a.isDirectory&&-1!==(f=(e=a.name).lastIndexOf("."))&&z.has(e.slice(f).toLowerCase()),i=`/api/file-thumbnail?path=${encodeURIComponent(a.path)}`;return(0,b.jsxs)("button",{type:"button",className:`rounded-lg border text-left overflow-hidden transition-colors ${g?"border-primary bg-primary/15":"border-base-300 hover:bg-base-100"}`,onClick:b=>X(a,c,b),title:a.path,children:[(0,b.jsxs)("div",{className:"aspect-square bg-base-300 flex items-center justify-center overflow-hidden relative",children:[h&&!S[a.path]?(0,b.jsx)(d.default,{src:i,alt:a.name,fill:!0,sizes:"(max-width: 768px) 50vw, (max-width: 1024px) 25vw, 20vw",className:"object-cover",unoptimized:!0,onError:()=>T(b=>({...b,[a.path]:!0}))}):a.isDirectory?(0,b.jsx)(m.Folder,{className:"w-10 h-10 opacity-80"}):(0,b.jsx)(l.FileText,{className:"w-10 h-10 opacity-80"}),a.isDirectory&&(0,b.jsx)("button",{type:"button",className:`absolute top-1 right-1 btn btn-xs btn-circle ${U.includes(a.path)?"btn-primary":"btn-ghost bg-base-100/70"}`,onClick:b=>{b.stopPropagation(),$(a.path)},title:U.includes(a.path)?"Unpin folder":"Pin folder",children:(0,b.jsx)(q.Pin,{className:`w-3 h-3 ${U.includes(a.path)?"fill-current":""}`})})]}),(0,b.jsxs)("div",{className:"px-2 py-2",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",title:a.name,children:a.name}),(0,b.jsx)("div",{className:"text-[10px] opacity-70",children:a.isDirectory?"folder":h?"image":"file"})]})]},a.path)})})}),(0,b.jsx)("div",{className:"p-3 border-t border-base-300 text-xs text-base-content/60 text-center",children:"Click: single select. Cmd/Ctrl+Click: multi-select. Shift+Click: range select. Click a folder to open it."})]})})}a.s(["default",()=>v])},12627,a=>{"use strict";function b(){}a.s(["SESSIONS_UPDATED_EVENT",0,"viba:sessions-updated","SESSIONS_UPDATED_STORAGE_KEY",0,"viba:sessions-updated-at","notifySessionsUpdated",()=>b])},60459,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("7f9dc57d041c4edb322ba7d1d13eb79fa659814239",b.callServer,void 0,b.findSourceMapURL,"startTtydProcess");a.s(["startTtydProcess",()=>c])}];
2
-
3
- //# sourceMappingURL=_7dd8c91e._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[15618,a=>{"use strict";let b=(0,a.i(70106).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],15618)},33508,a=>{"use strict";let b=(0,a.i(70106).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],33508)},5784,a=>{"use strict";let b=(0,a.i(70106).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],5784)},52495,a=>{"use strict";let b=(0,a.i(70106).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],52495)},78547,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("0066b7b106c642ef4b72dce222493eb03eda405f51",b.callServer,void 0,b.findSourceMapURL,"getHomeDirectory");a.s(["getHomeDirectory",()=>c])},92596,a=>{"use strict";let b=(0,a.i(70106).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",()=>b],92596)},210,a=>{"use strict";let b=(0,a.i(70106).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],210)},11431,94659,a=>{"use strict";function b(a){return a&&a.replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function c(a){if(!a)return"";let b=a.replace(/\\/g,"/"),c=b.length>1&&b.endsWith("/")?b.slice(0,-1):b,d=c.lastIndexOf("/");return -1===d?a.includes(":")&&a.length<=3?b:".":0===d?"/":a.includes(":")&&2===d?c.substring(0,3):c.substring(0,d)}function d(a){return/^[a-zA-Z]:[\\/]/.test(a)}a.s(["getBaseName",()=>b,"getDirName",()=>c,"isWindowsAbsolutePath",()=>d],11431);var e=a.i(72131);function f({enabled:a=!0,onConfirm:b,onDismiss:c,canConfirm:d=!0}){(0,e.useEffect)(()=>{if(!a)return;let e=a=>{if("Escape"===a.key){a.preventDefault(),c();return}"Enter"!==a.key||!b||!d||a.defaultPrevented||a.metaKey||a.ctrlKey||a.altKey||a.shiftKey||(a=>{if(!(a instanceof HTMLElement))return!1;let b=a.tagName.toUpperCase();return"INPUT"===b||"TEXTAREA"===b||"SELECT"===b||a.isContentEditable})(a.target)||(a.preventDefault(),b())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[a,b,c,d])}a.s(["useDialogKeyboardShortcuts",()=>f],94659)},60459,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("7f9dc57d041c4edb322ba7d1d13eb79fa659814239",b.callServer,void 0,b.findSourceMapURL,"startTtydProcess");a.s(["startTtydProcess",()=>c])},74294,51604,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("0090ca1b58238fe3d84576aa7598f62fec82e1c39f",b.callServer,void 0,b.findSourceMapURL,"getConfig");a.s(["getConfig",()=>c],74294);let d=(0,b.createServerReference)("402dc43f0f57cd2d5cca381b7ec49b2f2f08d22cad",b.callServer,void 0,b.findSourceMapURL,"updateConfig");a.s(["updateConfig",()=>d],51604)},12627,a=>{"use strict";function b(){}a.s(["SESSIONS_UPDATED_EVENT",0,"viba:sessions-updated","SESSIONS_UPDATED_STORAGE_KEY",0,"viba:sessions-updated-at","notifySessionsUpdated",()=>b])},38734,28630,92106,4720,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("40c6d25f0a1d12624264cfab1df7b65529d6a1954e",b.callServer,void 0,b.findSourceMapURL,"listPathEntries");a.s(["listPathEntries",()=>c],38734);let d=(0,b.createServerReference)("7fc04de30f1cf912afb0c21ae821e159cb23a52b95",b.callServer,void 0,b.findSourceMapURL,"saveAttachments");a.s(["saveAttachments",()=>d],28630);var e=a.i(70106);let f=(0,e.default)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]);a.s(["Clipboard",()=>f],92106);let g=(0,e.default)("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"}]]);a.s(["FileText",()=>g],4720)},996,60087,67329,1239,58988,a=>{"use strict";var b=a.i(70106);let c=(0,b.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);a.s(["Grid2x2",()=>c],996);let d=(0,b.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);a.s(["House",()=>d],60087);let e=(0,b.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);a.s(["List",()=>e],67329);let f=(0,b.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);a.s(["Pin",()=>f],1239);let g=(0,b.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);a.s(["PinOff",()=>g],58988)},64724,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(71987),e=a.i(78547),f=a.i(38734),g=a.i(28630),h=a.i(74294),i=a.i(51604),j=a.i(210),k=a.i(92106),l=a.i(4720),m=a.i(92596),n=a.i(996),o=a.i(60087),p=a.i(67329),q=a.i(1239),r=a.i(58988),s=a.i(11431),t=a.i(94659);let u="viba:session-file-browser:view-mode";function v({initialPath:a,worktreePath:v,onConfirm:w,onCancel:x,onPathChange:y}){let z=(0,c.useMemo)(()=>new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".svg",".ico",".avif"]),[]),[A,B]=(0,c.useState)(""),[C,D]=(0,c.useState)([]),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(null),[I,J]=(0,c.useState)(""),[K,L]=(0,c.useState)([]),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)("list"),[Q,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)({}),[U,V]=(0,c.useState)([]);(0,c.useEffect)(()=>{let b=!0;return(async()=>{try{let c=await (0,e.getHomeDirectory)();if(!b)return;J(c),a||B(c)}catch(a){console.error("Failed to resolve home directory:",a)}a&&b&&B(a)})(),()=>{b=!1}},[a]),(0,c.useEffect)(()=>{let a=!0;return(async()=>{try{let b=await (0,h.getConfig)();if(!a)return;let c=Array.isArray(b.pinnedFolderShortcuts)?b.pinnedFolderShortcuts.filter(a=>"string"==typeof a&&a.trim().length>0):[];V(Array.from(new Set(c)))}catch(a){console.error("Failed to load pinned folder shortcuts:",a)}})(),()=>{a=!1}},[]),(0,c.useEffect)(()=>{try{let a=localStorage.getItem(u);("list"===a||"grid"===a)&&P(a)}catch{}finally{R(!0)}},[]),(0,c.useEffect)(()=>{if(Q)try{localStorage.setItem(u,O)}catch{}},[Q,O]),(0,c.useEffect)(()=>{A&&(async()=>{F(!0),H(null);try{let a=await (0,f.listPathEntries)(A);D(a)}catch(a){console.error("Failed to list files:",a),H("Failed to load directory contents")}finally{F(!1)}})()},[A]),(0,c.useEffect)(()=>{A&&y?.(A)},[A,y]),(0,c.useEffect)(()=>{L([]),N(null),T({})},[A]);let W=(0,c.useMemo)(()=>new Set(K),[K]),X=(a,b,c)=>{if(a.isDirectory)return void B(a.path);let d=c.metaKey||c.ctrlKey;if(c.shiftKey&&null!==M){let a=Math.min(M,b),c=Math.max(M,b);L(C.slice(a,c+1).filter(a=>!a.isDirectory).map(a=>a.path));return}if(d){L(b=>b.includes(a.path)?b.filter(b=>b!==a.path):[...b,a.path]),N(b);return}L([a.path]),N(b)},Y=async()=>{if(H(null),!v)return void H("Cannot paste: Session worktree path is missing.");try{if(F(!0),!navigator.clipboard||!navigator.clipboard.read)throw Error("Clipboard API not supported in this browser");let a=await navigator.clipboard.read(),b=new FormData,c=!1;for(let d of a)for(let a of d.types)if(a.startsWith("image/")){let e=await d.getType(a),f=a.split("/")[1]||"png",g=`pasted-image-${Date.now()}.${f}`,h=new File([e],g,{type:a});b.append(g,h),c=!0;break}if(c){let a=await (0,g.saveAttachments)(v,b);if(a&&a.length>0)return void await w(a);H("Failed to save pasted files.")}else try{let a=await navigator.clipboard.readText();a&&a.trim().startsWith("/")?H("No file content found in clipboard. Copy an image or file first."):H("No file content found in clipboard.")}catch{H("No file content found in clipboard.")}}catch(b){let a=b instanceof Error?b.message:String(b);console.error("Paste error:",b),H(`Failed to read from clipboard: ${a}`)}finally{F(!1)}},Z=async a=>{V(a);try{await (0,i.updateConfig)({pinnedFolderShortcuts:a})}catch(a){console.error("Failed to save pinned folder shortcuts:",a),H("Failed to save pinned shortcuts")}},$=async a=>{(H(null),U.includes(a))?await Z(U.filter(b=>b!==a)):await Z([...U,a])},_=(0,c.useCallback)(async()=>{0!==K.length&&await w(K)},[w,K]);return(0,t.useDialogKeyboardShortcuts)({onConfirm:_,onDismiss:x,canConfirm:K.length>0}),(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",children:(0,b.jsxs)("div",{className:"bg-base-200 rounded-lg shadow-xl w-full max-w-5xl h-[82vh] flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border-b border-base-300",children:[(0,b.jsxs)("h2",{className:"text-xl font-bold flex items-center gap-2",children:[(0,b.jsx)(m.Folder,{className:"w-5 h-5"}),"Browse Files"]}),(0,b.jsx)("button",{onClick:x,className:"btn btn-sm btn-ghost btn-circle",title:"Close file browser",children:"✕"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-base-300",children:[(0,b.jsx)("button",{onClick:()=>{let a=(0,s.getDirName)(A);a&&a!==A&&B(a)},className:"btn btn-sm btn-square btn-ghost",title:"Go Up",disabled:"/"===A||!A,children:(0,b.jsx)(j.ArrowLeft,{className:"w-4 h-4"})}),(0,b.jsxs)("button",{onClick:()=>{I&&A!==I&&B(I)},className:"btn btn-sm btn-ghost gap-1",title:I?`Go to Home Folder (${I})`:"Go to Home Folder",disabled:!I||A===I,children:[(0,b.jsx)(o.House,{className:"w-4 h-4"}),"Home"]}),(0,b.jsx)("div",{className:"flex-1 overflow-x-auto whitespace-nowrap px-2 font-mono text-sm",children:A}),(0,b.jsxs)("div",{className:"join",children:[(0,b.jsx)("button",{type:"button",onClick:()=>P("list"),className:`btn btn-sm join-item ${"list"===O?"btn-active":"btn-ghost"}`,title:"List view",children:(0,b.jsx)(p.List,{className:"w-4 h-4"})}),(0,b.jsx)("button",{type:"button",onClick:()=>P("grid"),className:`btn btn-sm join-item ${"grid"===O?"btn-active":"btn-ghost"}`,title:"Grid view",children:(0,b.jsx)(n.Grid2x2,{className:"w-4 h-4"})})]}),(0,b.jsxs)("button",{onClick:_,className:"btn btn-sm btn-primary gap-2",disabled:0===K.length,title:"Insert selected absolute paths",children:["Insert (",K.length,")"]}),(0,b.jsx)("div",{className:"w-[1px] h-6 bg-base-content/10 mx-1"}),(0,b.jsxs)("button",{onClick:Y,className:"btn btn-sm btn-ghost gap-2",title:"Paste file/image from clipboard",disabled:!v,children:[(0,b.jsx)(k.Clipboard,{className:"w-4 h-4"}),"Paste"]})]}),U.length>0&&(0,b.jsx)("div",{className:"px-3 py-2 border-b border-base-300 bg-base-200/50",children:(0,b.jsx)("div",{className:"flex items-center gap-2 overflow-x-auto",children:U.map(a=>{let c=a===A,d=a.split(/[\\/]/).filter(Boolean).pop()||a;return(0,b.jsxs)("div",{className:"join shrink-0",children:[(0,b.jsxs)("button",{type:"button",className:`btn btn-xs join-item ${c?"btn-primary":"btn-ghost"}`,onClick:()=>B(a),title:a,children:[(0,b.jsx)(m.Folder,{className:"w-3 h-3"}),d]}),(0,b.jsx)("button",{type:"button",className:"btn btn-xs btn-ghost join-item",onClick:()=>void $(a),title:`Unpin ${a}`,children:(0,b.jsx)(r.PinOff,{className:"w-3 h-3"})})]},a)})})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-2",children:E?(0,b.jsx)("div",{className:"flex justify-center items-center h-full",children:(0,b.jsx)("span",{className:"loading loading-spinner loading-lg"})}):G?(0,b.jsx)("div",{className:"alert alert-error",children:G}):0===C.length?(0,b.jsx)("div",{className:"text-center text-base-content/50 mt-10",children:"Empty directory"}):"list"===O?(0,b.jsx)("div",{className:"grid grid-cols-1 gap-1",children:C.map((a,c)=>{let d=W.has(a.path);return(0,b.jsxs)("div",{className:`flex items-center justify-between p-2 rounded-md cursor-pointer transition-colors border ${d?"bg-primary text-primary-content border-primary":"hover:bg-base-100 border-transparent"}`,onClick:b=>X(a,c,b),title:a.path,children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[a.isDirectory?(0,b.jsx)(m.Folder,{className:"w-5 h-5 shrink-0"}):(0,b.jsx)(l.FileText,{className:"w-5 h-5 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]}),(0,b.jsx)("span",{className:"text-[10px] opacity-70 shrink-0",children:a.isDirectory?(0,b.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs h-6 min-h-6",onClick:b=>{b.stopPropagation(),$(a.path)},title:U.includes(a.path)?"Unpin folder":"Pin folder",children:(0,b.jsx)(q.Pin,{className:`w-3 h-3 ${U.includes(a.path)?"fill-current":""}`})}):"file"})]},a.path)})}):(0,b.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-3",children:C.map((a,c)=>{var e;let f,g=W.has(a.path),h=!a.isDirectory&&-1!==(f=(e=a.name).lastIndexOf("."))&&z.has(e.slice(f).toLowerCase()),i=`/api/file-thumbnail?path=${encodeURIComponent(a.path)}`;return(0,b.jsxs)("button",{type:"button",className:`rounded-lg border text-left overflow-hidden transition-colors ${g?"border-primary bg-primary/15":"border-base-300 hover:bg-base-100"}`,onClick:b=>X(a,c,b),title:a.path,children:[(0,b.jsxs)("div",{className:"aspect-square bg-base-300 flex items-center justify-center overflow-hidden relative",children:[h&&!S[a.path]?(0,b.jsx)(d.default,{src:i,alt:a.name,fill:!0,sizes:"(max-width: 768px) 50vw, (max-width: 1024px) 25vw, 20vw",className:"object-cover",unoptimized:!0,onError:()=>T(b=>({...b,[a.path]:!0}))}):a.isDirectory?(0,b.jsx)(m.Folder,{className:"w-10 h-10 opacity-80"}):(0,b.jsx)(l.FileText,{className:"w-10 h-10 opacity-80"}),a.isDirectory&&(0,b.jsx)("button",{type:"button",className:`absolute top-1 right-1 btn btn-xs btn-circle ${U.includes(a.path)?"btn-primary":"btn-ghost bg-base-100/70"}`,onClick:b=>{b.stopPropagation(),$(a.path)},title:U.includes(a.path)?"Unpin folder":"Pin folder",children:(0,b.jsx)(q.Pin,{className:`w-3 h-3 ${U.includes(a.path)?"fill-current":""}`})})]}),(0,b.jsxs)("div",{className:"px-2 py-2",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",title:a.name,children:a.name}),(0,b.jsx)("div",{className:"text-[10px] opacity-70",children:a.isDirectory?"folder":h?"image":"file"})]})]},a.path)})})}),(0,b.jsx)("div",{className:"p-3 border-t border-base-300 text-xs text-base-content/60 text-center",children:"Click: single select. Cmd/Ctrl+Click: multi-select. Shift+Click: range select. Click a folder to open it."})]})})}a.s(["default",()=>v])}];
2
-
3
- //# sourceMappingURL=_9e495cd1._.js.map