PageSourceSearch

https://shelfy.so/_next/static/chunks/3840.ce02f0606f854819.js

js shelfy.so collected 2026-10-09 22:43:38 UTC 11,548 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3840],{3840:(e,t,r)=>{r.r(t),r.d(t,{default:()=>k});var s=r(95155),a=r(12115),l=r(71408),n=r(1733),i=r(91285),o=r(63892),c=r(91120),d=r(99534),u=r(64269),h=r(98053),g=r(52773),p=r(12279),x=r(20063),m=r(42138),y=r(16105),v=r(77317),f=r(23083),w=r(38218);let k=e=>{let{isOpen:t=!0,onMinimize:r,variant:k="floating",className:C,enableDefaultContext:_=!0}=e,[b,j]=(0,a.useState)("New Assistant Chat"),[N,M]=(0,a.useState)(null),[A,S]=(0,a.useState)([]),[I,L]=(0,a.useState)(""),[D,E]=(0,a.useState)(!1),[R,T]=(0,a.useState)({type:"idle"}),F=(0,a.useRef)(!1),[P,V]=(0,a.useState)(!1),[z,W]=(0,a.useState)(null),[H,U]=(0,a.useState)("New Assistant Chat"),B=(0,a.useRef)(null),G=(0,a.useCallback)(()=>{B.current&&(clearInterval(B.current),B.current=null)},[]),O=(0,a.useCallback)(e=>{G(),j(e),U(e)},[G]),Q=(0,a.useCallback)(e=>{G(),j(e),U("");let t=0;B.current=setInterval(()=>{t++,U(e.slice(0,t)),t>=e.length&&G()},35)},[G]);(0,a.useEffect)(()=>()=>G(),[G]);let Z=(0,a.useRef)(null),$=(0,a.useRef)(null),{contextItems:q,resourceSummary:J,resourceTitle:K}=(e=>{var t;let r=null==(t=null==e?void 0:e.enabled)||t,s=(0,x.usePathname)(),l=(0,x.useParams)(),n=null==l?void 0:l.resourceId,i=null==l?void 0:l.collectionId,o=(0,a.useMemo)(()=>{let e=null==s?void 0:s.match(/\/collections\/(\d+)/);return e?e[1]:void 0},[s]),c=i||o,d=(0,a.useMemo)(()=>!!s&&s.includes("/resources/")&&/\/resources\/\d+/.test(s),[s]),u=(0,a.useMemo)(()=>{if(!s)return!1;let e=/\/collections\/\d+/.test(s),t=/\/collections\/\d+\/resources\/\d+/.test(s);return e&&!t},[s]),h=(0,a.useMemo)(()=>s?s.startsWith("/reading-list")&&!s.includes("/resources/")?"reading_list":s.startsWith("/favorites")&&!s.includes("/resources/")?"favorites":s.startsWith("/collections/unsorted")&&!s.includes("/resources/")?"unsorted":null:null,[s]),{data:g}=(0,m.useGetResourceQuery)(n,{skip:!r||!d||!n}),{data:p}=(0,y.useGetCollectionQuery)(c,{skip:!r||!u||!c}),v=(0,a.useMemo)(()=>d&&n&&(null==g?void 0:g.data)?[{id:parseInt(n,10),title:g.data.title||"Untitled Resource",resource_type:"resource"}]:u&&c&&(null==p?void 0:p.data)?[{id:parseInt(c,10),title:p.data.name||"Untitled Collection",resource_type:"collection"}]:h?[{title:{reading_list:"Reading List",favorites:"Favorites",unsorted:"Unsorted"}[h],resource_type:"preset",preset:h}]:[],[d,n,g,u,c,p,h]);return{contextItems:v,resourceSummary:(0,a.useMemo)(()=>{var e;return d&&(null==g||null==(e=g.data)?void 0:e.summary)?g.data.summary:null},[d,g]),resourceTitle:(0,a.useMemo)(()=>{var e;return d&&(null==g||null==(e=g.data)?void 0:e.title)?g.data.title:null},[d,g])}})({enabled:_}),X=(0,v.d4)(f.NE),[Y,{data:ee,isLoading:et}]=(0,g.useLazyGetChatsQuery)(),[er,{isLoading:es}]=(0,g.useLazyGetChatQuery)(),ea=(0,a.useRef)(!1);(0,a.useEffect)(()=>{"floating"===k&&Y()},[k,Y]),(0,a.useEffect)(()=>{if("floating"!==k||ea.current||null!==N||!ee||0===ee.length)return;let e=[...ee].sort((e,t)=>new Date(t.updated_at).getTime()-new Date(e.updated_at).getTime())[0];e&&(ea.current=!0,eh({id:e.id,title:e.title}))},[k,ee,N]);let[el,{isLoading:en}]=(0,g.useSendMessageMutation)(),[ei]=(0,g.useDeleteChatMutation)(),{subscribeToChatMessages:eo,unsubscribeFromChatMessages:ec}=(0,p.h)(),ed="free"===X,eu=(0,w.a)(1024),eh=async e=>{if(O(e.title),M(e.id),S([]),L(""),E(!1),T({type:"idle"}),null!==e.id)try{let r=await er(e.id).unwrap();if(r.messages&&r.messages.length>0&&S(r.messages),r.chat_contexts&&r.chat_contexts.length>0){var t;let e=r.chat_contexts.map(e=>"preset"===e.resource_type&&e.preset?{title:e.title,resource_type:"preset",preset:e.preset}:{id:e.resource_id,title:e.title,resource_type:e.resource_type});(null==(t=Z.current)?void 0:t.setContextItems)&&Z.current.setContextItems(e)}}catch(e){console.error("[AssistantChat] Failed to fetch chat:",e)}eu||setTimeout(()=>{var e;return null==(e=Z.current)?void 0:e.focus()},100)},eg=async()=>{if(z)try{if(await ei(z.id).unwrap(),z.id===N){var e;M(null),O("New Assistant Chat"),S([]),L(""),E(!1),T({type:"idle"}),(null==(e=Z.current)?void 0:e.setContextItems)&&Z.current.setContextItems([])}V(!1),W(null)}catch(e){console.error("[AssistantChat] Failed to delete chat:",e)}};(0,a.useEffect)(()=>{!eu&&("embedded"===k||t)&&setTimeout(()=>{var e;return null==(e=Z.current)?void 0:e.focus()},100)},[t,k,eu]);let ep=(0,a.useCallback)(e=>{if("message_created"===e.type)E(!0),L(""),T({type:"idle"}),F.current=!1;else if("status"===e.type)"thinking"===e.status?(T(F.current?{type:"processing"}:{type:"thinking"}),E(!0)):"generating"===e.status&&T({type:"generating"});else if("tool_call"===e.type){F.current=!0;let t=e.status;"completed"===t?T({type:"tool_call",tool_name:e.tool_name||"unknown",tool_call_id:e.tool_call_id||"",status:"completed",success:e.success}):T({type:"tool_call",tool_name:e.tool_name||"unknown",tool_call_id:e.tool_call_id||"",status:t}),E(!0)}else"content_chunk"===e.type?L(t=>t+(e.chunk||"")):"message_completed"===e.type?(e.message&&S(t=>{var r;return[...t,{id:e.message.id,role:e.message.role,content:e.message.content,result_set_id:null!=(r=e.message.result_set_id)?r:null}]}),L(""),E(!1),T({type:"idle"})):"chat_title_updated"===e.type?e.title&&(Q(e.title),Y()):"error"===e.type?(console.error("[AssistantChat] Error event:",e),E(!1),T({type:"idle"})):console.warn("[AssistantChat] Unknown message type:",e.type)},[Q,Y]);(0,a.useEffect)(()=>
1{if(N)return eo(N,ep),()=>{ec(N)}},[N,eo,ec,ep]);let ex=(0,a.useCallback)(async(e,t)=>{if(!e.trim())return;let r=t.map(e=>"preset"===e.resource_type&&e.preset?{preset:e.preset}:{resource_id:e.id,resource_type:"collection"===e.resource_type?"Collection":"Resource"});try{var s;let t=await el({content:e,chat_id:N,context_items:r.length>0?r:void 0}).unwrap();!N&&(null==(s=t.chat)?void 0:s.id)&&(eo(t.chat.id,ep),M(t.chat.id),O(t.chat.title)),S(e=>[...e,t.message])}catch(e){console.error("[AssistantChat] Failed to send message:",e)}},[N,el,eo,ep]),em=(0,s.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1.5 rounded-md hover:bg-gray-100 dark:hover:bg-gray-600 transition-colors cursor-pointer max-w-[200px]",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-gray-900 dark:text-gray-200 truncate",children:null===N?"New Assistant Chat":H.length>50?H.slice(0,50)+"...":H}),(0,s.jsx)("div",{className:"text-gray-500 dark:text-gray-400 flex-shrink-0",children:(0,s.jsx)(o.A,{name:"ArrowDown",width:16,height:16})})]}),ey=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{ref:$,className:"relative z-[12030]"}),(0,s.jsxs)("div",{className:"flex items-center justify-between h-11 px-4 border-b border-gray-200 dark:border-gray-700/50 bg-white dark:bg-transparent",children:[(0,s.jsx)(i.Ay,{trigger:em,align:"start",contentClassName:"w-[250px] max-h-[300px] overflow-y-auto",onOpenChange:e=>{e&&Y()},portalContainer:$.current,children:et?(0,s.jsx)("div",{className:"space-y-1 p-1",children:[1,2,3].map(e=>(0,s.jsx)("div",{className:"px-2 py-1.5 rounded-lg",children:(0,s.jsx)("div",{className:"h-3.5 bg-gray-200 dark:bg-gray-600 rounded animate-pulse",style:{width:"".concat(60+8*e,"%")}})},e))}):(0,s.jsx)(s.Fragment,{children:ee&&ee.length>0?(0,s.jsx)(s.Fragment,{children:ee.map(e=>(0,s.jsx)(i._2,{selected:e.id===N,onClick:()=>eh({id:e.id,title:e.title}),className:"cursor-pointer text-xs font-normal",children:(0,s.jsxs)("div",{className:"flex items-center justify-between w-full gap-2",children:[(0,s.jsx)("span",{className:"truncate flex-1",children:e.title}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[e.id===N&&(0,s.jsx)(o.A,{name:"Check",width:12,height:12,color:"#4B5563"}),(0,s.jsx)("button",{onClick:t=>{var r,s;return r=e.id,s=e.title,void(t.stopPropagation(),W({id:r,title:s}),V(!0))},className:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors text-gray-400 dark:text-gray-500 hover:text-red-500 dark:hover:text-red-400 cursor-pointer","aria-label":"Delete chat",title:"Delete chat",children:(0,s.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"M3.5 4.5H12.5M6.5 7V11M9.5 7V11M10.5 4.5V3C10.5 2.72386 10.2761 2.5 10 2.5H6C5.72386 2.5 5.5 2.72386 5.5 3V4.5M4.5 4.5H11.5V13C11.5 13.2761 11.2761 13.5 11 13.5H5C4.72386 13.5 4.5 13.2761 4.5 13V4.5Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})},e.id))}):(0,s.jsx)("div",{className:"px-3 py-4 text-xs text-gray-500 dark:text-gray-400 text-center",children:"No chat history yet"})})}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsxs)("button",{onClick:()=>{var e;!ed&&(M(null),O("New Assistant Chat"),S([]),L(""),E(!1),T({type:"idle"}),(null==(e=Z.current)?void 0:e.resetToDefaultContext)&&Z.current.resetToDefaultContext(),eu||setTimeout(()=>{var e;return null==(e=Z.current)?void 0:e.focus()},100))},disabled:ed,className:"flex items-center gap-1 px-2.5 py-1.5 rounded transition-colors ".concat(ed?"text-gray-400 dark:text-gray-600 cursor-not-allowed opacity-50":"hover:bg-gray-100 dark:hover:bg-gray-600 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 cursor-pointer"),"aria-label":"New chat",title:ed?"Upgrade to create new chats":"Start a new chat",children:[(0,s.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"M8 3V13M3 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})}),(0,s.jsx)("span",{className:"text-xs font-medium",children:"New Chat"})]}),r&&"floating"===k&&(0,s.jsx)("button",{onClick:r,className:"p-1.5 rounded hover:bg-gray-100 dark:hover:bg-gray-600 transition-colors text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 cursor-pointer","aria-label":"Minimize Assistant",title:"Minimize",children:(0,s.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"M13 8L3 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]}),(0,s.jsx)(d.A,{messages:A,streamingContent:I,isStreaming:D,streamingPhase:R,isLoadingChat:es,isFreePlan:ed,resourceSummary:J,resourceTitle:K,chatId:N,onSuggestionClick:e=>{var t;return null==(t=Z.current)?void 0:t.setMessage(e)}}),(0,s.jsx)(c.A,{ref:Z,onSendMessage:ex,disabled:en||D,isFreePlan:ed,dropdownPortalContainer:$.current,defaultContext:q}),(0,s.jsx)(h.Lt,{open:P,onOpenChange:V,children:(0,s.jsxs)(h.EO,{children:[(0,s.jsxs)(h.wd,{children:[(0,s.jsx)(h.r7,{children:"Delete Chat"}),(0,s.jsxs)(h.$v,{children:['Are you sure you want to delete "',null==z?void 0:z.title,'"? This action cannot be undone.']})]}),(0,s.jsxs)(h.ck,{children:[(0,s.jsx)(h.Zr,{onClick:()=>V(!1),children:"Cancel"}),(0,s.jsx)(h.Rx,{onClick:eg,className:"bg-red-500 hover:bg-red-600 text-white",children:"Delete"})]})]})})]});return"embedded"===k?(0,s.jsx)("div",{className:(0,u.cn)("flex h-full flex-col overflow-hidden bg-white dark:bg-gray-700",C),children:ey}):(0,s.jsx)(l.N,{children:t&&(0,s.jsx)(n.P.div,{className:(0,u.cn)("fixed bg-white dark:bg-gray-700 shadow-lg z-50 flex flex-col overflow-hidden border border-gray-200 dark:border-gray-600","left-2 right-2 bottom-[68px] top-2 rounded-[18px]","lg:left-auto lg:right-5 lg:bottom-5 lg:top-[50px] lg:w-[465px] lg:rounded-[22px_22px_36px_36px]",C),initial:{opacity:0,scale:.95,y:20}
1,animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:20},transition:{duration:.2,ease:[.4,0,.2,1]},style:{transformOrigin:"right bottom"},children:ey})})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.