@multiplayer-app/ai-agent-react 0.1.0-beta.86 → 0.1.0-beta.87
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.
|
@@ -8615,5 +8615,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
8615
8615
|
`).slice(0,100).map(n=>n.length)))<=DHe}function FHe(e){const t=e.split(`
|
|
8616
8616
|
`),n=t.length;return n>Yi?{truncated:t.slice(0,Yi).join(`
|
|
8617
8617
|
`),isTruncated:!0,totalLines:n}:e.length>Od?{truncated:e.slice(0,Od),isTruncated:!0,totalLines:n}:{truncated:e,isTruncated:!1,totalLines:n}}const PHe={margin:0,padding:"12px 16px",background:"var(--mp-agents-surface)",fontSize:"13px",lineHeight:"1.5",overflowX:"auto"},w7=V.memo(({code:e,lang:t,highlight:n,prismStyle:r})=>n?N.jsx(_7,{language:t,style:r,PreTag:zHe,customStyle:PHe,children:e}):N.jsx("pre",{className:"mp-agent-code-block-pre",children:N.jsx("code",{children:e})}));w7.displayName="CodeContent";const x7=V.memo(({lang:e="text",codeChildren:t,allowExecution:n=!1})=>{const{colorMode:r}=v3(),a=Ld(t).replace(/\n$/,""),i=r==="light"?OHe:IHe,{truncated:o,isTruncated:s,totalLines:l}=V.useMemo(()=>FHe(a),[a]),[u,d]=V.useState(!1),p=V.useCallback(()=>d(g=>!g),[]),m=u?a:o,h=V.useMemo(()=>$He(m),[m]);return N.jsxs("div",{className:"mp-agent-code-block-wrapper",children:[N.jsxs("div",{className:"mp-agent-code-block-header",children:[N.jsx("span",{className:"mp-agent-code-block-language",children:e}),N.jsx(Jd,{text:a})]}),N.jsx("div",{className:"mp-agent-code-block-body",children:N.jsx(w7,{code:m,lang:e,highlight:h,prismStyle:i})}),s&&N.jsx("button",{type:"button",className:"mp-agent-code-block-toggle",onClick:p,children:u?"Show less":`Show more (${l>Yi?`${l-Yi} more lines`:`${a.length-Od} more chars`})`})]})});x7.displayName="CodeBlock";const qHe=e=>V.isValidElement(e)?e.key?.startsWith("code-")??!1:!1,BHe=V.memo(({className:e,children:t})=>{const n=/language-(\w+)/.exec(e??""),r=n&&n[1],a=r==="math",i=typeof t=="string"&&t.split(`
|
|
8618
|
-
`).length===1;if(a)return N.jsx(N.Fragment,{children:t});if(i||!n){const o=s=>{const l=window.getSelection();if(l){const u=document.createRange();u.selectNodeContents(s.currentTarget),l.removeAllRanges(),l.addRange(u)}};return N.jsx("code",{onDoubleClick:o,className:e||"mp-agent-inline-code",children:t})}return N.jsx(x7,{lang:r||void 0,codeChildren:t,allowExecution:!1})}),UHe=V.memo(({children:e,...t})=>{const r=(Array.isArray(e)?e:[e]).find(qHe);return r?N.jsx(N.Fragment,{children:r}):N.jsx("pre",{className:"mp-agent-markdown-pre",...t,children:e})}),HHe=V.memo(({children:e,...t})=>N.jsx("div",{className:"mp-agent-markdown-p",...t,children:e})),jHe=V.memo(({href:e,children:t,...n})=>{const r=e?.startsWith("http"),a=r?"_blank":void 0,i=r?"noopener noreferrer":void 0;return N.jsx("a",{href:e||void 0,target:a,rel:i,className:"mp-agent-markdown-link",...n,children:t})}),VHe=V.memo(({src:e,alt:t,title:n,className:r,style:a,...i})=>e?N.jsx("img",{src:e||void 0,alt:t,title:n,style:a,loading:"lazy",className:r||"mp-agent-markdown-img",...i}):null),E7={code:BHe,pre:UHe,p:HHe,a:jHe,img:VHe},GHe=[Q6,e6,e8,[Z6,{singleDollarTextMath:!1}]],WHe=[c8,[P8,{detect:!0,ignoreMissing:!0}]],KHe=V.memo(({text:e})=>N.jsx(Tv,{className:"mp-agent-message-markdown",remarkPlugins:GHe,rehypePlugins:WHe,components:E7,children:e})),M7=({content:e,role:t})=>{const n=t===exports.MessageRole.User,r=t===exports.MessageRole.Error,a=t===exports.MessageRole.Reasoning;return n?N.jsx("p",{style:{margin:0,whiteSpace:"pre-wrap"},children:e}):r?N.jsx("p",{style:{margin:0,whiteSpace:"pre-wrap"},children:e}):a?N.jsx("pre",{style:{margin:0,fontSize:"13px",opacity:.8},children:e}):N.jsx(KHe,{text:e})},S7=({text:e,isReasoning:t})=>t?null:N.jsx("div",{className:"mp-agent-message-actions",children:N.jsx(Jd,{text:e})}),N7=({message:e,showParticipantChrome:t=!1})=>{const n=e.role===exports.MessageRole.User,r=e.role===exports.MessageRole.Error,a=e.role===exports.MessageRole.Reasoning,i=!!e.content,o=(e.attachments?.length??0)>0,s=t&&!!(e.sender||e.agentName);return N.jsxs("div",{className:`mp-agent-message-wrapper ${n?"mp-agent-message-user":r?"mp-agent-message-error":"mp-agent-message-assistant"}`,children:[s&&N.jsx(dp,{message:e}),N.jsxs("div",{className:"mp-agent-message-content-wrapper",children:[s&&N.jsx(pp,{message:e}),N.jsxs("div",{className:`mp-agent-message-bubble ${n?"mp-agent-message-bubble-user":r?"mp-agent-message-bubble-error":"mp-agent-message-bubble-assistant"}`,children:[N.jsxs("div",{className:"mp-agent-message-text",children:[o&&N.jsx(I_e,{attachments:e.attachments??[]}),i&&N.jsx(M7,{content:e.content,role:e.role})]}),!n&&i&&N.jsx(S7,{text:e.content,isReasoning:a})]})]})]})},YHe=[Q6,e6,e8,[Z6,{singleDollarTextMath:!1}]],ZHe=[c8,[P8,{detect:!0,ignoreMissing:!0}]],Th=V.memo(({reasoning:e,isStreaming:t})=>{const[n,r]=V.useState(!t),a=V.useRef(null);if(V.useEffect(()=>{r(!t)},[t]),V.useEffect(()=>{if(n)return;const o=a.current;o&&(o.scrollTop=o.scrollHeight)},[e,n,a]),!e||!e.trim())return null;const i=o=>{o.preventDefault(),o.stopPropagation(),r(s=>!s)};return N.jsxs("div",{className:`mp-agent-reasoning-panel ${n?"mp-agent-reasoning-collapsed":""}`,children:[N.jsxs("div",{className:"mp-agent-reasoning-header",children:[N.jsx("span",{className:`mp-agent-reasoning-label ${t?"mp-agent-reasoning-label-streaming":""}`,children:"Thinking"}),N.jsx(nn,{icon:n?"ChevronDown":"ChevronUp",size:"sm",onClick:i})]}),!n&&N.jsx("div",{className:"mp-agent-reasoning-body",children:N.jsx("div",{className:"mp-agent-reasoning-content",ref:a,children:N.jsx(Tv,{className:"mp-agent-message-markdown mp-agent-reasoning-markdown",remarkPlugins:YHe,rehypePlugins:ZHe,components:E7,children:e})})})]})});Th.displayName="ReasoningPanel";const A7=()=>N.jsxs("span",{className:"mp-agent-message-typing-bubble",children:[N.jsx("span",{className:"mp-agent-message-typing-dot"}),N.jsx("span",{className:"mp-agent-message-typing-dot"}),N.jsx("span",{className:"mp-agent-message-typing-dot"})]}),XHe=({message:e,contextKey:t,isStreaming:n,showParticipantChrome:r=!1})=>{const o=Ue().config.features?.reasoning!==!1&&e.role===exports.MessageRole.Assistant&&!!e.reasoning,s=e.role===exports.MessageRole.Assistant&&typeof e.content=="string"&&e.content.trim().length>0,l=!!(n&&!o&&!s),u=typeof e.content=="string"&&e.content.trim().length>0||(e.attachments?.length??0)>0,d=(()=>{const p=e.toolCalls??[];if(p.length<=1)return p;const m=new Map;for(const h of p)m.set(h.id,h);return Array.from(m.values())})();return N.jsxs("div",{className:"mp-agent-message-group",children:[o&&N.jsx(Th,{reasoning:e.reasoning,isStreaming:n}),l&&N.jsx(A7,{}),!n&&d.map(p=>N.jsx(hwe,{call:p,contextKey:t,messageId:e.id,chatId:e.chat},p.id)),u&&N.jsx(N7,{message:e,showParticipantChrome:r})]})},Zi=V.memo(XHe),n5=[],QHe=120,JHe=e=>{const t=e.activeChatId;return t?e.chatState[t]?.messages??n5:n5},T7=({showParticipantChrome:e=!1})=>{const t=Wt(),n=be(S=>S.contextKey),r=be(S=>S.draftChatKey),a=be(S=>S.activeChatId),i=be(JHe),o=a??r,s=np(a),l=be(S=>ze(S,o).pendingAssistant?.content?.length),u=be(S=>ze(S,o).pendingAssistant?.id),d=be(S=>ze(S,o).status),p=d===vt.Sending||d===vt.Streaming,m=V.useRef(null),h=V.useRef(!0),g=V.useRef(!1),f=V.useRef(!1),w=V.useRef(null),v=swe({count:i.length,getScrollElement:()=>m.current,estimateSize:()=>QHe,overscan:8,gap:16,getItemKey:S=>i[S]?.id??S}),k=v.getVirtualItems(),_=V.useCallback(()=>{const S=m.current;S&&(S.scrollTop=S.scrollHeight)},[]);V.useEffect(()=>{if(i.length!==0){if(!g.current){g.current=!0,f.current=!0,v.scrollToIndex(i.length-1,{align:"end"}),requestAnimationFrame(()=>{_(),requestAnimationFrame(()=>{_(),f.current=!1})});return}h.current&&requestAnimationFrame(_)}},[i.length,v,_]),V.useLayoutEffect(()=>{const S=w.current,x=m.current;!S||!x||s.isFetchingNextPage||i.length<=S.count||(f.current=!0,S.wasAtBottom?x.scrollTop=x.scrollHeight:x.scrollTop=S.scrollTop+(x.scrollHeight-S.scrollHeight),w.current=null,requestAnimationFrame(()=>{f.current=!1}))},[i.length,s.isFetchingNextPage]),V.useEffect(()=>{p&&h.current&&_()},[l,p,_]),V.useEffect(()=>{const S=m.current;if(!S)return;const x=()=>{if(f.current)return;const{scrollTop:D,scrollHeight:P,clientHeight:C}=S;h.current=P-D-C<150};return S.addEventListener("scroll",x,{passive:!0}),()=>S.removeEventListener("scroll",x)},[]);const E=k[0]?.index??Number.POSITIVE_INFINITY;return V.useEffect(()=>{if(!s.hasNextPage||s.isFetchingNextPage||E>1)return;const S=m.current;S&&(w.current={scrollHeight:S.scrollHeight,scrollTop:S.scrollTop,count:i.length,wasAtBottom:h.current}),s.fetchNextPage()},[E,s.hasNextPage,s.isFetchingNextPage,s.fetchNextPage,i.length]),!a&&i.length===0&&!u?N.jsx("div",{className:"mp-agent-messages-empty",children:N.jsxs("div",{className:"mp-agent-messages-empty-content",children:[N.jsx("h4",{children:t.helloThere}),N.jsx("p",{children:t.howCanIHelpYou})]})}):a&&i.length===0&&s.isLoading?N.jsx("div",{className:"mp-agent-messages-empty",children:N.jsx("div",{className:"mp-agent-messages-empty-content",children:N.jsx("p",{children:t.fetchingChats})})}):N.jsxs("div",{className:"mp-agent-messages",ref:m,children:[s.isFetchingNextPage&&N.jsx("div",{className:"mp-agent-messages-load-more",children:N.jsx("div",{className:"mp-agent-messages-load-more-text",children:t.fetchingChats})}),N.jsx("div",{className:"mp-agent-messages-virtual-list",style:{height:v.getTotalSize()},children:k.map(S=>{const x=i[S.index];return x?N.jsx("div",{ref:v.measureElement,"data-index":S.index,className:"mp-agent-messages-virtual-item",style:{transform:`translateY(${S.start}px)`},children:N.jsx(Zi,{message:x,contextKey:n,showParticipantChrome:e})},S.key):null})}),!!u&&N.jsx(eje,{pendingKey:o,contextKey:n,showParticipantChrome:e}),N.jsx(H3,{})]})},eje=V.memo(({pendingKey:e,contextKey:t,showParticipantChrome:n})=>{const r=be(s=>ze(s,e)),a=r.pendingAssistant,i=r.status;if(!a)return null;const o=i===vt.Sending||i===vt.Streaming;return N.jsx(Zi,{message:a,contextKey:t,isStreaming:o,showParticipantChrome:n},a.id)}),C7=({onClose:e,agentLogo:t})=>{const n=Wt(),a=Ue().config.features?.historySidebar!==!1,i=be(u=>u.isChatHistoryOpen),o=be(u=>u.setChatHistoryOpen),s=be(u=>u.setActiveChat),l=()=>{s(void 0)};return N.jsxs("div",{className:"mp-agent-agent-controls",children:[N.jsxs("div",{className:"mp-agent-agent-controls-left",children:[a&&N.jsx(nn,{onClick:()=>o(!i),icon:i?"PanelLeftClose":"PanelLeftOpen",tooltip:i?n.hideChatHistory:n.showChatHistory,"aria-label":i?n.hideChatHistory:n.showChatHistory}),N.jsx(nn,{onClick:l,icon:"SquarePen","aria-label":n.newChat,tooltip:n.newChat})]}),t&&N.jsx("div",{className:"mp-agent-agent-controls-logo",children:t}),n.panelTitle&&N.jsx("div",{className:"mp-agent-agent-controls-title",children:N.jsx("h4",{children:n.panelTitle})}),e&&N.jsx("div",{className:"mp-agent-agent-controls-right",children:N.jsx(nn,{onClick:e,icon:"X","aria-label":n.close,tooltip:n.close})})]})},R7=({fetchNextPage:e,hasNextPage:t,isFetchingNextPage:n,itemRenderer:r}={})=>{const a=Wt(),{deleteChat:i,isDeleting:o}=rp(),s=be(h=>h.chats),l=be(h=>h.activeChatId),u=be(h=>h.setActiveChat),d=V.useRef(null),p=V.useRef(null),m=V.useMemo(()=>Object.values(s).filter(h=>h.sessionKind!==exports.AgentSessionKind.SUBAGENT).sort((h,g)=>h.updatedAt===g.updatedAt?0:h.updatedAt<g.updatedAt?1:-1),[s]);return V.useEffect(()=>{const h=d.current,g=p.current;if(!h||!g||!e||!t)return;const f=new IntersectionObserver(w=>{w[0]?.isIntersecting&&t&&!n&&e()},{root:h,rootMargin:"100px",threshold:0});return f.observe(g),()=>f.disconnect()},[e,t,n]),N.jsxs("section",{className:"mp-agent-chat-history",children:[N.jsx("h4",{children:a.chats}),m.length===0?N.jsx("div",{className:"mp-agent-chat-history-empty",children:a.noChatsYet}):N.jsxs("ul",{ref:d,className:"mp-agent-chat-history-list",children:[m.map(h=>{const g=h.id===l;return r?N.jsx("li",{onClick:()=>u(h.id),className:`mp-agent-chat-history-item${g?" active":""}`,children:r(h)},h.id):N.jsxs("li",{onClick:()=>u(h.id),className:`mp-agent-chat-history-item${g?" active":""}`,children:[N.jsxs("div",{className:"mp-agent-chat-history-item-content",children:[N.jsx("span",{className:"mp-agent-chat-history-item-title",children:h.title||a.untitledChat}),N.jsx("span",{className:"mp-agent-chat-history-item-meta",children:new Date(h.updatedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]}),N.jsx("div",{className:"mp-agent-chat-history-item-actions",children:N.jsx(bn,{content:a.deleteChat,children:N.jsx(nn,{size:"sm",icon:"Archive","aria-label":a.deleteChat,disabled:o(h.id),onClick:f=>{f.stopPropagation(),i(h.id)}})})})]},h.id)}),t&&N.jsxs("li",{className:"mp-agent-chat-history-sentinel","aria-hidden":!0,children:[N.jsx("div",{ref:p,className:"mp-agent-chat-history-sentinel-inner"}),n&&N.jsx("div",{className:"mp-agent-chat-history-loading",children:a.fetchingChats})]})]})]})},I7=({loadChats:e=!0,multiUser:t=!1})=>{const n=Ue(),r=be(o=>o.isChatHistoryOpen),a=n.config.features?.historySidebar!==!1,i=tp({enabled:e&&a,multiUser:t});return!a||!r?null:N.jsx("div",{className:"mp-agent-chat-history-panel",children:N.jsx(R7,{fetchNextPage:i.fetchNextPage,hasNextPage:i.hasNextPage,isFetchingNextPage:i.isFetchingNextPage})})},tje=({children:e})=>{const t=be(n=>n.isChatHistoryOpen);return N.jsx("section",{className:`mp-agent-main ${t?"with-chat-history":""}`,children:e})},O7=({onToolSelected:e,onClose:t,agentLogo:n,multiUser:r=!1,participantIds:a,loadChats:i=!0,restoreLastActiveChat:o=!0})=>{const s=Wt(),l=Ue(),u=be(g=>g.activeChatId),d=be(g=>g.setActiveChat),{isLoading:p}=d3(),{isLoading:m,error:h}=tp({enabled:i,multiUser:r});return V.useLayoutEffect(()=>{if(!o)return;const g=l.config.user?.id??Hr(),f=N7e(g);f&&d(f)},[o,l.config.user?.id,d]),N.jsxs("div",{className:"mp-agent-shell mp-agent-shell-panel",children:[N.jsx(I7,{loadChats:i,multiUser:r}),N.jsxs(tje,{children:[N.jsx(C7,{onClose:t,agentLogo:n}),N.jsx("div",{className:"mp-agent-main-content",children:m||p?N.jsx("div",{style:{padding:24},children:s.fetchingChats}):h?N.jsx("div",{style:{padding:24,color:"var(--mp-agents-danger)"},children:s.fetchingChatError}):N.jsx(T7,{showParticipantChrome:r},u)}),N.jsx(B3,{onToolSelected:e,multiUser:r,participantIds:a})]})]})},nje=e=>N.jsx(O7,{...e,multiUser:!0}),rje=({enabled:e=!0,className:t,pageSize:n=uo,showDelete:r=!0,onChatSelect:a})=>{const i=Wt(),o=yt.useQueryClient(),{deleteChat:s,isDeleting:l}=rp(),u=be(_=>_.upsertChat),d=be(_=>_.activeChatId),p=be(_=>_.setActiveChat),m=ep({enabled:e,multiUser:!0,pageSize:n}),h=V.useMemo(()=>n3(m.data).filter(_=>_.sessionKind!==exports.AgentSessionKind.SUBAGENT),[m.data]),g=V.useRef(null),f=V.useRef(null);V.useEffect(()=>{const _=g.current,E=f.current,{fetchNextPage:S,hasNextPage:x,isFetchingNextPage:D}=m;if(!_||!E||!S||!x)return;const P=new IntersectionObserver(C=>{C[0]?.isIntersecting&&x&&!D&&S()},{root:_,rootMargin:"100px",threshold:0});return P.observe(E),()=>P.disconnect()},[m,m.fetchNextPage,m.hasNextPage,m.isFetchingNextPage]);const w=_=>{u(_),p(_.id),a?.(_)},v=async(_,E)=>{_.stopPropagation(),await s(E),o.invalidateQueries({queryKey:In.all})},k=["mp-agent-chat-history","mp-agent-multiuser-chat-list",t].filter(Boolean).join(" ");return m.isError?N.jsxs("section",{className:k,children:[N.jsx("h4",{children:i.multiUserChats}),N.jsx("div",{className:"mp-agent-chat-history-empty",role:"alert",children:i.fetchingChatError})]}):m.isLoading?N.jsxs("section",{className:k,children:[N.jsx("h4",{children:i.multiUserChats}),N.jsx("div",{className:"mp-agent-chat-history-empty",children:i.fetchingChats})]}):N.jsxs("section",{className:k,children:[N.jsx("h4",{children:i.multiUserChats}),h.length===0?N.jsx("div",{className:"mp-agent-chat-history-empty",children:i.noMultiUserChats}):N.jsxs("ul",{ref:g,className:"mp-agent-chat-history-list",children:[h.map(_=>{const E=_.id===d,S=_.participantIds?.length??0;return N.jsxs("li",{onClick:()=>w(_),className:`mp-agent-chat-history-item${E?" active":""}`,children:[N.jsxs("div",{className:"mp-agent-chat-history-item-content",children:[N.jsx("span",{className:"mp-agent-chat-history-item-title",children:_.title||i.untitledChat}),N.jsxs("span",{className:"mp-agent-chat-history-item-meta",children:[S>0?`${S} · `:"",new Date(_.updatedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]})]}),r?N.jsx("div",{className:"mp-agent-chat-history-item-actions",children:N.jsx(bn,{content:i.deleteChat,children:N.jsx(nn,{size:"sm",icon:"Archive","aria-label":i.deleteChat,disabled:l(_.id),onClick:x=>void v(x,_.id)})})}):null]},_.id)}),m.hasNextPage?N.jsxs("li",{className:"mp-agent-chat-history-sentinel","aria-hidden":!0,children:[N.jsx("div",{ref:f,className:"mp-agent-chat-history-sentinel-inner"}),m.isFetchingNextPage?N.jsx("div",{className:"mp-agent-chat-history-loading",children:i.fetchingChats}):null]}):null]})]})},L7=V.forwardRef(({attachment:e,context:t,onAdded:n,onClick:r,...a},i)=>{const{addAttachments:o}=o3(),s=l=>{if(r?.(l),l.defaultPrevented)return;const d=(typeof e=="function"?e():e)??(()=>{const p=typeof t=="function"?t():t;return p?po(p):void 0})();d&&(o([d]),n?.(d))};return N.jsx("button",{ref:i,type:"button",...a,onClick:s})});L7.displayName="AttachContextButton";exports.AgentAttachmentSchema=d5;exports.AgentControls=C7;exports.AgentPreferencesPanel=q3;exports.AgentProvider=E_e;exports.AgentRuntime=g3;exports.AgentThemeProvider=k3;exports.AttachContextButton=L7;exports.BuiltinContextAttachmentKinds=c5;exports.CHATS_PAGE_SIZE=uo;exports.ChatHistory=R7;exports.ChatHistoryPanel=I7;exports.ChatWindow=O7;exports.Composer=B3;exports.ContextAttachmentMetadataSchemaV1=u5;exports.DEFAULT_MESSAGES_PAGE_SIZE=p3;exports.FormApplyRequestedEventType=Pd;exports.FormProposalToolRenderer=h3;exports.HttpError=Gu;exports.MessageActions=S7;exports.MessageAvatar=dp;exports.MessageBubble=N7;exports.MessageContent=M7;exports.MessageHeader=pp;exports.MessageList=T7;exports.MessageTypingAnimation=A7;exports.MultiUserChatList=rje;exports.MultiUserChatWindow=nje;exports.ReasoningPanel=Th;exports.SendMessagePayloadSchema=V7;exports.SocketIOConfig=Ai;exports.SocketIOEvents=fi;exports.activityKeys=Ht;exports.captureTextSelectionTarget=f3;exports.chatKeys=In;exports.contextKeySchema=l5;exports.createContextAttachment=po;exports.createPageContextAttachment=m3;exports.defaultTranslations=Ni;exports.flattenInfiniteActivities=o7e;exports.flattenInfiniteChats=n3;exports.frontendConfigSchema=Wu;exports.themeTokenSchema=s5;exports.translationsSchema=z7;exports.useActivitiesInfiniteList=s7e;exports.useActivitiesList=l7e;exports.useActivity=c7e;exports.useActivitySourceTypes=d7e;exports.useActivitySummary=u7e;exports.useAgentConfigurations=s3;exports.useAgentPreferences=u3;exports.useAgentRuntime=Ue;exports.useAgentStore=be;exports.useAgentTheme=v3;exports.useAutoScroll=h7e;exports.useChatBootstrap=tp;exports.useChats=r3;exports.useChatsInfiniteList=ep;exports.useChatsList=p7e;exports.useComposerDraft=o3;exports.useDeleteChat=rp;exports.useEnsureActiveChat=d3;exports.useMessagesInfinite=np;exports.useModels=a3;exports.usePageContext=f7e;exports.useProposeFormValues=g7e;exports.useRuntimeEventEmitter=l3;exports.useRuntimeEventListener=c3;exports.useTranslations=Wt;
|
|
8618
|
+
`).length===1;if(a)return N.jsx(N.Fragment,{children:t});if(i||!n){const o=s=>{const l=window.getSelection();if(l){const u=document.createRange();u.selectNodeContents(s.currentTarget),l.removeAllRanges(),l.addRange(u)}};return N.jsx("code",{onDoubleClick:o,className:e||"mp-agent-inline-code",children:t})}return N.jsx(x7,{lang:r||void 0,codeChildren:t,allowExecution:!1})}),UHe=V.memo(({children:e,...t})=>{const r=(Array.isArray(e)?e:[e]).find(qHe);return r?N.jsx(N.Fragment,{children:r}):N.jsx("pre",{className:"mp-agent-markdown-pre",...t,children:e})}),HHe=V.memo(({children:e,...t})=>N.jsx("div",{className:"mp-agent-markdown-p",...t,children:e})),jHe=V.memo(({href:e,children:t,...n})=>{const r=e?.startsWith("http"),a=r?"_blank":void 0,i=r?"noopener noreferrer":void 0;return N.jsx("a",{href:e||void 0,target:a,rel:i,className:"mp-agent-markdown-link",...n,children:t})}),VHe=V.memo(({src:e,alt:t,title:n,className:r,style:a,...i})=>e?N.jsx("img",{src:e||void 0,alt:t,title:n,style:a,loading:"lazy",className:r||"mp-agent-markdown-img",...i}):null),E7={code:BHe,pre:UHe,p:HHe,a:jHe,img:VHe},GHe=[Q6,e6,e8,[Z6,{singleDollarTextMath:!1}]],WHe=[c8,[P8,{detect:!0,ignoreMissing:!0}]],KHe=V.memo(({text:e})=>N.jsx(Tv,{className:"mp-agent-message-markdown",remarkPlugins:GHe,rehypePlugins:WHe,components:E7,children:e})),M7=({content:e,role:t})=>{const n=t===exports.MessageRole.User,r=t===exports.MessageRole.Error,a=t===exports.MessageRole.Reasoning;return n?N.jsx("p",{style:{margin:0,whiteSpace:"pre-wrap"},children:e}):r?N.jsx("p",{style:{margin:0,whiteSpace:"pre-wrap"},children:e}):a?N.jsx("pre",{style:{margin:0,fontSize:"13px",opacity:.8},children:e}):N.jsx(KHe,{text:e})},S7=({text:e,isReasoning:t})=>t?null:N.jsx("div",{className:"mp-agent-message-actions",children:N.jsx(Jd,{text:e})}),N7=({message:e,showParticipantChrome:t=!1})=>{const n=e.role===exports.MessageRole.User,r=e.role===exports.MessageRole.Error,a=e.role===exports.MessageRole.Reasoning,i=!!e.content,o=(e.attachments?.length??0)>0,s=t&&!!(e.sender||e.agentName);return N.jsxs("div",{className:`mp-agent-message-wrapper ${n?"mp-agent-message-user":r?"mp-agent-message-error":"mp-agent-message-assistant"}`,children:[s&&N.jsx(dp,{message:e}),N.jsxs("div",{className:"mp-agent-message-content-wrapper",children:[s&&N.jsx(pp,{message:e}),N.jsxs("div",{className:`mp-agent-message-bubble ${n?"mp-agent-message-bubble-user":r?"mp-agent-message-bubble-error":"mp-agent-message-bubble-assistant"}`,children:[N.jsxs("div",{className:"mp-agent-message-text",children:[o&&N.jsx(I_e,{attachments:e.attachments??[]}),i&&N.jsx(M7,{content:e.content,role:e.role})]}),!n&&i&&N.jsx(S7,{text:e.content,isReasoning:a})]})]})]})},YHe=[Q6,e6,e8,[Z6,{singleDollarTextMath:!1}]],ZHe=[c8,[P8,{detect:!0,ignoreMissing:!0}]],Th=V.memo(({reasoning:e,isStreaming:t})=>{const[n,r]=V.useState(!t),a=V.useRef(null);if(V.useEffect(()=>{r(!t)},[t]),V.useEffect(()=>{if(n)return;const o=a.current;o&&(o.scrollTop=o.scrollHeight)},[e,n,a]),!e||!e.trim())return null;const i=o=>{o.preventDefault(),o.stopPropagation(),r(s=>!s)};return N.jsxs("div",{className:`mp-agent-reasoning-panel ${n?"mp-agent-reasoning-collapsed":""}`,children:[N.jsxs("div",{className:"mp-agent-reasoning-header",children:[N.jsx("span",{className:`mp-agent-reasoning-label ${t?"mp-agent-reasoning-label-streaming":""}`,children:"Thinking"}),N.jsx(nn,{icon:n?"ChevronDown":"ChevronUp",size:"sm",onClick:i})]}),!n&&N.jsx("div",{className:"mp-agent-reasoning-body",children:N.jsx("div",{className:"mp-agent-reasoning-content",ref:a,children:N.jsx(Tv,{className:"mp-agent-message-markdown mp-agent-reasoning-markdown",remarkPlugins:YHe,rehypePlugins:ZHe,components:E7,children:e})})})]})});Th.displayName="ReasoningPanel";const A7=()=>N.jsxs("span",{className:"mp-agent-message-typing-bubble",children:[N.jsx("span",{className:"mp-agent-message-typing-dot"}),N.jsx("span",{className:"mp-agent-message-typing-dot"}),N.jsx("span",{className:"mp-agent-message-typing-dot"})]}),XHe=({message:e,contextKey:t,isStreaming:n,showParticipantChrome:r=!1})=>{const o=Ue().config.features?.reasoning!==!1&&e.role===exports.MessageRole.Assistant&&!!e.reasoning,s=e.role===exports.MessageRole.Assistant&&typeof e.content=="string"&&e.content.trim().length>0,l=!!(n&&!o&&!s),u=typeof e.content=="string"&&e.content.trim().length>0||(e.attachments?.length??0)>0,d=(()=>{const p=e.toolCalls??[];if(p.length<=1)return p;const m=new Map;for(const h of p)m.set(h.id,h);return Array.from(m.values())})();return N.jsxs("div",{className:"mp-agent-message-group",children:[o&&N.jsx(Th,{reasoning:e.reasoning,isStreaming:n}),l&&N.jsx(A7,{}),u&&N.jsx(N7,{message:e,showParticipantChrome:r}),!n&&d.map(p=>N.jsx(hwe,{call:p,contextKey:t,messageId:e.id,chatId:e.chat},p.id))]})},Zi=V.memo(XHe),n5=[],QHe=120,JHe=e=>{const t=e.activeChatId;return t?e.chatState[t]?.messages??n5:n5},T7=({showParticipantChrome:e=!1})=>{const t=Wt(),n=be(S=>S.contextKey),r=be(S=>S.draftChatKey),a=be(S=>S.activeChatId),i=be(JHe),o=a??r,s=np(a),l=be(S=>ze(S,o).pendingAssistant?.content?.length),u=be(S=>ze(S,o).pendingAssistant?.id),d=be(S=>ze(S,o).status),p=d===vt.Sending||d===vt.Streaming,m=V.useRef(null),h=V.useRef(!0),g=V.useRef(!1),f=V.useRef(!1),w=V.useRef(null),v=swe({count:i.length,getScrollElement:()=>m.current,estimateSize:()=>QHe,overscan:8,gap:16,getItemKey:S=>i[S]?.id??S}),k=v.getVirtualItems(),_=V.useCallback(()=>{const S=m.current;S&&(S.scrollTop=S.scrollHeight)},[]);V.useEffect(()=>{if(i.length!==0){if(!g.current){g.current=!0,f.current=!0,v.scrollToIndex(i.length-1,{align:"end"}),requestAnimationFrame(()=>{_(),requestAnimationFrame(()=>{_(),f.current=!1})});return}h.current&&requestAnimationFrame(_)}},[i.length,v,_]),V.useLayoutEffect(()=>{const S=w.current,x=m.current;!S||!x||s.isFetchingNextPage||i.length<=S.count||(f.current=!0,S.wasAtBottom?x.scrollTop=x.scrollHeight:x.scrollTop=S.scrollTop+(x.scrollHeight-S.scrollHeight),w.current=null,requestAnimationFrame(()=>{f.current=!1}))},[i.length,s.isFetchingNextPage]),V.useEffect(()=>{p&&h.current&&_()},[l,p,_]),V.useEffect(()=>{const S=m.current;if(!S)return;const x=()=>{if(f.current)return;const{scrollTop:D,scrollHeight:P,clientHeight:C}=S;h.current=P-D-C<150};return S.addEventListener("scroll",x,{passive:!0}),()=>S.removeEventListener("scroll",x)},[]);const E=k[0]?.index??Number.POSITIVE_INFINITY;return V.useEffect(()=>{if(!s.hasNextPage||s.isFetchingNextPage||E>1)return;const S=m.current;S&&(w.current={scrollHeight:S.scrollHeight,scrollTop:S.scrollTop,count:i.length,wasAtBottom:h.current}),s.fetchNextPage()},[E,s.hasNextPage,s.isFetchingNextPage,s.fetchNextPage,i.length]),!a&&i.length===0&&!u?N.jsx("div",{className:"mp-agent-messages-empty",children:N.jsxs("div",{className:"mp-agent-messages-empty-content",children:[N.jsx("h4",{children:t.helloThere}),N.jsx("p",{children:t.howCanIHelpYou})]})}):a&&i.length===0&&s.isLoading?N.jsx("div",{className:"mp-agent-messages-empty",children:N.jsx("div",{className:"mp-agent-messages-empty-content",children:N.jsx("p",{children:t.fetchingChats})})}):N.jsxs("div",{className:"mp-agent-messages",ref:m,children:[s.isFetchingNextPage&&N.jsx("div",{className:"mp-agent-messages-load-more",children:N.jsx("div",{className:"mp-agent-messages-load-more-text",children:t.fetchingChats})}),N.jsx("div",{className:"mp-agent-messages-virtual-list",style:{height:v.getTotalSize()},children:k.map(S=>{const x=i[S.index];return x?N.jsx("div",{ref:v.measureElement,"data-index":S.index,className:"mp-agent-messages-virtual-item",style:{transform:`translateY(${S.start}px)`},children:N.jsx(Zi,{message:x,contextKey:n,showParticipantChrome:e})},S.key):null})}),!!u&&N.jsx(eje,{pendingKey:o,contextKey:n,showParticipantChrome:e}),N.jsx(H3,{})]})},eje=V.memo(({pendingKey:e,contextKey:t,showParticipantChrome:n})=>{const r=be(s=>ze(s,e)),a=r.pendingAssistant,i=r.status;if(!a)return null;const o=i===vt.Sending||i===vt.Streaming;return N.jsx(Zi,{message:a,contextKey:t,isStreaming:o,showParticipantChrome:n},a.id)}),C7=({onClose:e,agentLogo:t})=>{const n=Wt(),a=Ue().config.features?.historySidebar!==!1,i=be(u=>u.isChatHistoryOpen),o=be(u=>u.setChatHistoryOpen),s=be(u=>u.setActiveChat),l=()=>{s(void 0)};return N.jsxs("div",{className:"mp-agent-agent-controls",children:[N.jsxs("div",{className:"mp-agent-agent-controls-left",children:[a&&N.jsx(nn,{onClick:()=>o(!i),icon:i?"PanelLeftClose":"PanelLeftOpen",tooltip:i?n.hideChatHistory:n.showChatHistory,"aria-label":i?n.hideChatHistory:n.showChatHistory}),N.jsx(nn,{onClick:l,icon:"SquarePen","aria-label":n.newChat,tooltip:n.newChat})]}),t&&N.jsx("div",{className:"mp-agent-agent-controls-logo",children:t}),n.panelTitle&&N.jsx("div",{className:"mp-agent-agent-controls-title",children:N.jsx("h4",{children:n.panelTitle})}),e&&N.jsx("div",{className:"mp-agent-agent-controls-right",children:N.jsx(nn,{onClick:e,icon:"X","aria-label":n.close,tooltip:n.close})})]})},R7=({fetchNextPage:e,hasNextPage:t,isFetchingNextPage:n,itemRenderer:r}={})=>{const a=Wt(),{deleteChat:i,isDeleting:o}=rp(),s=be(h=>h.chats),l=be(h=>h.activeChatId),u=be(h=>h.setActiveChat),d=V.useRef(null),p=V.useRef(null),m=V.useMemo(()=>Object.values(s).filter(h=>h.sessionKind!==exports.AgentSessionKind.SUBAGENT).sort((h,g)=>h.updatedAt===g.updatedAt?0:h.updatedAt<g.updatedAt?1:-1),[s]);return V.useEffect(()=>{const h=d.current,g=p.current;if(!h||!g||!e||!t)return;const f=new IntersectionObserver(w=>{w[0]?.isIntersecting&&t&&!n&&e()},{root:h,rootMargin:"100px",threshold:0});return f.observe(g),()=>f.disconnect()},[e,t,n]),N.jsxs("section",{className:"mp-agent-chat-history",children:[N.jsx("h4",{children:a.chats}),m.length===0?N.jsx("div",{className:"mp-agent-chat-history-empty",children:a.noChatsYet}):N.jsxs("ul",{ref:d,className:"mp-agent-chat-history-list",children:[m.map(h=>{const g=h.id===l;return r?N.jsx("li",{onClick:()=>u(h.id),className:`mp-agent-chat-history-item${g?" active":""}`,children:r(h)},h.id):N.jsxs("li",{onClick:()=>u(h.id),className:`mp-agent-chat-history-item${g?" active":""}`,children:[N.jsxs("div",{className:"mp-agent-chat-history-item-content",children:[N.jsx("span",{className:"mp-agent-chat-history-item-title",children:h.title||a.untitledChat}),N.jsx("span",{className:"mp-agent-chat-history-item-meta",children:new Date(h.updatedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]}),N.jsx("div",{className:"mp-agent-chat-history-item-actions",children:N.jsx(bn,{content:a.deleteChat,children:N.jsx(nn,{size:"sm",icon:"Archive","aria-label":a.deleteChat,disabled:o(h.id),onClick:f=>{f.stopPropagation(),i(h.id)}})})})]},h.id)}),t&&N.jsxs("li",{className:"mp-agent-chat-history-sentinel","aria-hidden":!0,children:[N.jsx("div",{ref:p,className:"mp-agent-chat-history-sentinel-inner"}),n&&N.jsx("div",{className:"mp-agent-chat-history-loading",children:a.fetchingChats})]})]})]})},I7=({loadChats:e=!0,multiUser:t=!1})=>{const n=Ue(),r=be(o=>o.isChatHistoryOpen),a=n.config.features?.historySidebar!==!1,i=tp({enabled:e&&a,multiUser:t});return!a||!r?null:N.jsx("div",{className:"mp-agent-chat-history-panel",children:N.jsx(R7,{fetchNextPage:i.fetchNextPage,hasNextPage:i.hasNextPage,isFetchingNextPage:i.isFetchingNextPage})})},tje=({children:e})=>{const t=be(n=>n.isChatHistoryOpen);return N.jsx("section",{className:`mp-agent-main ${t?"with-chat-history":""}`,children:e})},O7=({onToolSelected:e,onClose:t,agentLogo:n,multiUser:r=!1,participantIds:a,loadChats:i=!0,restoreLastActiveChat:o=!0})=>{const s=Wt(),l=Ue(),u=be(g=>g.activeChatId),d=be(g=>g.setActiveChat),{isLoading:p}=d3(),{isLoading:m,error:h}=tp({enabled:i,multiUser:r});return V.useLayoutEffect(()=>{if(!o)return;const g=l.config.user?.id??Hr(),f=N7e(g);f&&d(f)},[o,l.config.user?.id,d]),N.jsxs("div",{className:"mp-agent-shell mp-agent-shell-panel",children:[N.jsx(I7,{loadChats:i,multiUser:r}),N.jsxs(tje,{children:[N.jsx(C7,{onClose:t,agentLogo:n}),N.jsx("div",{className:"mp-agent-main-content",children:m||p?N.jsx("div",{style:{padding:24},children:s.fetchingChats}):h?N.jsx("div",{style:{padding:24,color:"var(--mp-agents-danger)"},children:s.fetchingChatError}):N.jsx(T7,{showParticipantChrome:r},u)}),N.jsx(B3,{onToolSelected:e,multiUser:r,participantIds:a})]})]})},nje=e=>N.jsx(O7,{...e,multiUser:!0}),rje=({enabled:e=!0,className:t,pageSize:n=uo,showDelete:r=!0,onChatSelect:a})=>{const i=Wt(),o=yt.useQueryClient(),{deleteChat:s,isDeleting:l}=rp(),u=be(_=>_.upsertChat),d=be(_=>_.activeChatId),p=be(_=>_.setActiveChat),m=ep({enabled:e,multiUser:!0,pageSize:n}),h=V.useMemo(()=>n3(m.data).filter(_=>_.sessionKind!==exports.AgentSessionKind.SUBAGENT),[m.data]),g=V.useRef(null),f=V.useRef(null);V.useEffect(()=>{const _=g.current,E=f.current,{fetchNextPage:S,hasNextPage:x,isFetchingNextPage:D}=m;if(!_||!E||!S||!x)return;const P=new IntersectionObserver(C=>{C[0]?.isIntersecting&&x&&!D&&S()},{root:_,rootMargin:"100px",threshold:0});return P.observe(E),()=>P.disconnect()},[m,m.fetchNextPage,m.hasNextPage,m.isFetchingNextPage]);const w=_=>{u(_),p(_.id),a?.(_)},v=async(_,E)=>{_.stopPropagation(),await s(E),o.invalidateQueries({queryKey:In.all})},k=["mp-agent-chat-history","mp-agent-multiuser-chat-list",t].filter(Boolean).join(" ");return m.isError?N.jsxs("section",{className:k,children:[N.jsx("h4",{children:i.multiUserChats}),N.jsx("div",{className:"mp-agent-chat-history-empty",role:"alert",children:i.fetchingChatError})]}):m.isLoading?N.jsxs("section",{className:k,children:[N.jsx("h4",{children:i.multiUserChats}),N.jsx("div",{className:"mp-agent-chat-history-empty",children:i.fetchingChats})]}):N.jsxs("section",{className:k,children:[N.jsx("h4",{children:i.multiUserChats}),h.length===0?N.jsx("div",{className:"mp-agent-chat-history-empty",children:i.noMultiUserChats}):N.jsxs("ul",{ref:g,className:"mp-agent-chat-history-list",children:[h.map(_=>{const E=_.id===d,S=_.participantIds?.length??0;return N.jsxs("li",{onClick:()=>w(_),className:`mp-agent-chat-history-item${E?" active":""}`,children:[N.jsxs("div",{className:"mp-agent-chat-history-item-content",children:[N.jsx("span",{className:"mp-agent-chat-history-item-title",children:_.title||i.untitledChat}),N.jsxs("span",{className:"mp-agent-chat-history-item-meta",children:[S>0?`${S} · `:"",new Date(_.updatedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]})]}),r?N.jsx("div",{className:"mp-agent-chat-history-item-actions",children:N.jsx(bn,{content:i.deleteChat,children:N.jsx(nn,{size:"sm",icon:"Archive","aria-label":i.deleteChat,disabled:l(_.id),onClick:x=>void v(x,_.id)})})}):null]},_.id)}),m.hasNextPage?N.jsxs("li",{className:"mp-agent-chat-history-sentinel","aria-hidden":!0,children:[N.jsx("div",{ref:f,className:"mp-agent-chat-history-sentinel-inner"}),m.isFetchingNextPage?N.jsx("div",{className:"mp-agent-chat-history-loading",children:i.fetchingChats}):null]}):null]})]})},L7=V.forwardRef(({attachment:e,context:t,onAdded:n,onClick:r,...a},i)=>{const{addAttachments:o}=o3(),s=l=>{if(r?.(l),l.defaultPrevented)return;const d=(typeof e=="function"?e():e)??(()=>{const p=typeof t=="function"?t():t;return p?po(p):void 0})();d&&(o([d]),n?.(d))};return N.jsx("button",{ref:i,type:"button",...a,onClick:s})});L7.displayName="AttachContextButton";exports.AgentAttachmentSchema=d5;exports.AgentControls=C7;exports.AgentPreferencesPanel=q3;exports.AgentProvider=E_e;exports.AgentRuntime=g3;exports.AgentThemeProvider=k3;exports.AttachContextButton=L7;exports.BuiltinContextAttachmentKinds=c5;exports.CHATS_PAGE_SIZE=uo;exports.ChatHistory=R7;exports.ChatHistoryPanel=I7;exports.ChatWindow=O7;exports.Composer=B3;exports.ContextAttachmentMetadataSchemaV1=u5;exports.DEFAULT_MESSAGES_PAGE_SIZE=p3;exports.FormApplyRequestedEventType=Pd;exports.FormProposalToolRenderer=h3;exports.HttpError=Gu;exports.MessageActions=S7;exports.MessageAvatar=dp;exports.MessageBubble=N7;exports.MessageContent=M7;exports.MessageHeader=pp;exports.MessageList=T7;exports.MessageTypingAnimation=A7;exports.MultiUserChatList=rje;exports.MultiUserChatWindow=nje;exports.ReasoningPanel=Th;exports.SendMessagePayloadSchema=V7;exports.SocketIOConfig=Ai;exports.SocketIOEvents=fi;exports.activityKeys=Ht;exports.captureTextSelectionTarget=f3;exports.chatKeys=In;exports.contextKeySchema=l5;exports.createContextAttachment=po;exports.createPageContextAttachment=m3;exports.defaultTranslations=Ni;exports.flattenInfiniteActivities=o7e;exports.flattenInfiniteChats=n3;exports.frontendConfigSchema=Wu;exports.themeTokenSchema=s5;exports.translationsSchema=z7;exports.useActivitiesInfiniteList=s7e;exports.useActivitiesList=l7e;exports.useActivity=c7e;exports.useActivitySourceTypes=d7e;exports.useActivitySummary=u7e;exports.useAgentConfigurations=s3;exports.useAgentPreferences=u3;exports.useAgentRuntime=Ue;exports.useAgentStore=be;exports.useAgentTheme=v3;exports.useAutoScroll=h7e;exports.useChatBootstrap=tp;exports.useChats=r3;exports.useChatsInfiniteList=ep;exports.useChatsList=p7e;exports.useComposerDraft=o3;exports.useDeleteChat=rp;exports.useEnsureActiveChat=d3;exports.useMessagesInfinite=np;exports.useModels=a3;exports.usePageContext=f7e;exports.useProposeFormValues=g7e;exports.useRuntimeEventEmitter=l3;exports.useRuntimeEventListener=c3;exports.useTranslations=Wt;
|
|
8619
8619
|
//# sourceMappingURL=ai-agent-react.cjs.js.map
|