@multiplayer-app/ai-agent-react 0.1.0-beta.67 → 0.1.0-beta.68

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.
@@ -8643,6 +8643,6 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
8643
8643
  `)===-1?e.length:Math.max(...e.split(`
8644
8644
  `).slice(0,100).map(n=>n.length)))<=hje}function gje(e){const t=e.split(`
8645
8645
  `),n=t.length;return n>ho?{truncated:t.slice(0,ho).join(`
8646
- `),isTruncated:!0,totalLines:n}:e.length>Jd?{truncated:e.slice(0,Jd),isTruncated:!0,totalLines:n}:{truncated:e,isTruncated:!1,totalLines:n}}const yje={margin:0,padding:"12px 16px",background:"var(--mp-agents-surface)",fontSize:"13px",lineHeight:"1.5",overflowX:"auto"},V7=G.memo(({code:e,lang:t,highlight:n,prismStyle:r})=>n?N.jsx(j7,{language:t,style:r,PreTag:mje,autoDetectLanguage:!1,customStyle:yje,children:e}):N.jsx("pre",{className:"mp-agent-code-block-pre",children:N.jsx("code",{children:e})}));V7.displayName="CodeContent";const G7=G.memo(({lang:e="text",codeChildren:t,allowExecution:n=!1})=>{const{colorMode:r}=B3(),a=ep(t).replace(/\n$/,""),i=r==="light"?dje:uje,{truncated:o,isTruncated:s,totalLines:l}=G.useMemo(()=>gje(a),[a]),[u,d]=G.useState(!1),p=G.useCallback(()=>d(g=>!g),[]),m=u?a:o,h=G.useMemo(()=>fje(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(bp,{text:a})]}),N.jsx("div",{className:"mp-agent-code-block-body",children:N.jsx(V7,{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>ho?`${l-ho} more lines`:`${a.length-Jd} more chars`})`})]})});G7.displayName="CodeBlock";const bje=e=>G.isValidElement(e)?e.key?.startsWith("code-")??!1:!1,kje=G.memo(({className:e,children:t})=>{const n=/language-(\w+)/.exec(e??""),r=n&&n[1],a=r==="math",i=typeof t=="string"&&t.split(`
8646
+ `),isTruncated:!0,totalLines:n}:e.length>Jd?{truncated:e.slice(0,Jd),isTruncated:!0,totalLines:n}:{truncated:e,isTruncated:!1,totalLines:n}}const yje={margin:0,padding:"12px 16px",background:"var(--mp-agents-surface)",fontSize:"13px",lineHeight:"1.5",overflowX:"auto"},V7=G.memo(({code:e,lang:t,highlight:n,prismStyle:r})=>n?N.jsx(j7,{language:t,style:r,PreTag:mje,customStyle:yje,children:e}):N.jsx("pre",{className:"mp-agent-code-block-pre",children:N.jsx("code",{children:e})}));V7.displayName="CodeContent";const G7=G.memo(({lang:e="text",codeChildren:t,allowExecution:n=!1})=>{const{colorMode:r}=B3(),a=ep(t).replace(/\n$/,""),i=r==="light"?dje:uje,{truncated:o,isTruncated:s,totalLines:l}=G.useMemo(()=>gje(a),[a]),[u,d]=G.useState(!1),p=G.useCallback(()=>d(g=>!g),[]),m=u?a:o,h=G.useMemo(()=>fje(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(bp,{text:a})]}),N.jsx("div",{className:"mp-agent-code-block-body",children:N.jsx(V7,{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>ho?`${l-ho} more lines`:`${a.length-Jd} more chars`})`})]})});G7.displayName="CodeBlock";const bje=e=>G.isValidElement(e)?e.key?.startsWith("code-")??!1:!1,kje=G.memo(({className:e,children:t})=>{const n=/language-(\w+)/.exec(e??""),r=n&&n[1],a=r==="math",i=typeof t=="string"&&t.split(`
8647
8647
  `).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(G7,{lang:r||void 0,codeChildren:t,allowExecution:!1})}),vje=G.memo(({children:e,...t})=>{const r=(Array.isArray(e)?e:[e]).find(bje);return r?N.jsx(N.Fragment,{children:r}):N.jsx("pre",{className:"mp-agent-markdown-pre",...t,children:e})}),_je=G.memo(({children:e,...t})=>N.jsx("div",{className:"mp-agent-markdown-p",...t,children:e})),wje=G.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})}),xje=G.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),W7={code:kje,pre:vje,p:_je,a:wje,img:xje},Eje=[_8,x6,x8,[k8,{singleDollarTextMath:!1}]],Mje=[I8,[l7,{detect:!0,ignoreMissing:!0}]],Sje=G.memo(({text:e})=>N.jsx(Qv,{className:"mp-agent-message-markdown",remarkPlugins:Eje,rehypePlugins:Mje,components:W7,children:e})),K7=({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(Sje,{text:e})},Y7=({text:e,isReasoning:t})=>t?null:N.jsx("div",{className:"mp-agent-message-actions",children:N.jsx(bp,{text:e})}),Z7=({message:e})=>{const t=e.role===exports.MessageRole.User,n=e.role===exports.MessageRole.Error,r=e.role===exports.MessageRole.Reasoning,a=!!e.content,i=(e.attachments?.length??0)>0;return N.jsx("div",{className:`mp-agent-message-wrapper ${t?"mp-agent-message-user":n?"mp-agent-message-error":"mp-agent-message-assistant"}`,children:N.jsx("div",{className:"mp-agent-message-content-wrapper",children:N.jsxs("div",{className:`mp-agent-message-bubble ${t?"mp-agent-message-bubble-user":n?"mp-agent-message-bubble-error":"mp-agent-message-bubble-assistant"}`,children:[N.jsxs("div",{className:"mp-agent-message-text",children:[i&&N.jsx(pwe,{attachments:e.attachments??[]}),a&&N.jsx(K7,{content:e.content,role:e.role})]}),!t&&a&&N.jsx(Y7,{text:e.content,isReasoning:r})]})})})},Nje=[_8,x6,x8,[k8,{singleDollarTextMath:!1}]],Aje=[I8,[l7,{detect:!0,ignoreMissing:!0}]],jh=G.memo(({reasoning:e,isStreaming:t})=>{const[n,r]=G.useState(!t),a=G.useRef(null);if(G.useEffect(()=>{r(!t)},[t]),G.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",children:"Thinking"}),N.jsx(En,{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(Qv,{className:"mp-agent-message-markdown mp-agent-reasoning-markdown",remarkPlugins:Nje,rehypePlugins:Aje,components:W7,children:e})})})]})});jh.displayName="ReasoningPanel";const X7=()=>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"})]}),Tje=({message:e,contextKey:t,isStreaming:n})=>{const i=nt().config.features?.reasoning!==!1&&e.role===exports.MessageRole.Assistant&&!!e.reasoning,o=e.role===exports.MessageRole.Assistant&&typeof e.content=="string"&&e.content.trim().length>0,s=!!(n&&!i&&!o),l=typeof e.content=="string"&&e.content.trim().length>0||(e.attachments?.length??0)>0;return N.jsxs("div",{className:"mp-agent-message-group",children:[i&&N.jsx(jh,{reasoning:e.reasoning,isStreaming:n}),s&&N.jsx(X7,{}),l&&N.jsx(Z7,{message:e}),!n&&e.toolCalls?.map(u=>N.jsx(Wwe,{call:u,contextKey:t,messageId:e.id,chatId:e.chat},u.id))]})},Q7=G.memo(Tje),_5=[],Cje=120,Rje=e=>{const t=e.activeChatId;return t?e.chatState[t]?.messages??_5:_5},J7=()=>{const e=bn(),t=xe(x=>x.contextKey),n=xe(x=>x.draftChatKey),r=xe(x=>x.activeChatId),a=xe(Rje),i=r??n,o=I3(r),s=xe(x=>Je(x,i).pendingAssistant?.content?.length),l=xe(x=>Je(x,i).pendingAssistant?.id),u=xe(x=>Je(x,i).status),d=u===cn.Sending||u===cn.Streaming,p=G.useRef(null),m=G.useRef(!0),h=G.useRef(!1),g=G.useRef(!1),f=G.useRef(null),_=Bwe({count:a.length,getScrollElement:()=>p.current,estimateSize:()=>Cje,overscan:8,gap:16,getItemKey:x=>a[x]?.id??x}),v=_.getVirtualItems(),b=G.useCallback(()=>{const x=p.current;x&&(x.scrollTop=x.scrollHeight)},[]);G.useEffect(()=>{if(a.length!==0){if(!h.current){h.current=!0,g.current=!0,_.scrollToIndex(a.length-1,{align:"end"}),requestAnimationFrame(()=>{b(),requestAnimationFrame(()=>{b(),g.current=!1})});return}m.current&&requestAnimationFrame(b)}},[a.length,_,b]),G.useLayoutEffect(()=>{const x=f.current,S=p.current;!x||!S||o.isFetchingNextPage||a.length<=x.count||(g.current=!0,x.wasAtBottom?S.scrollTop=S.scrollHeight:S.scrollTop=x.scrollTop+(S.scrollHeight-x.scrollHeight),f.current=null,requestAnimationFrame(()=>{g.current=!1}))},[a.length,o.isFetchingNextPage]),G.useEffect(()=>{d&&m.current&&b()},[s,d,b]),G.useEffect(()=>{const x=p.current;if(!x)return;const S=()=>{if(g.current)return;const{scrollTop:E,scrollHeight:F,clientHeight:B}=x;m.current=F-E-B<150};return x.addEventListener("scroll",S,{passive:!0}),()=>x.removeEventListener("scroll",S)},[]);const w=v[0]?.index??Number.POSITIVE_INFINITY;return G.useEffect(()=>{if(!o.hasNextPage||o.isFetchingNextPage||w>1)return;const x=p.current;x&&(f.current={scrollHeight:x.scrollHeight,scrollTop:x.scrollTop,count:a.length,wasAtBottom:m.current}),o.fetchNextPage()},[w,o.hasNextPage,o.isFetchingNextPage,o.fetchNextPage,a.length]),!r&&a.length===0&&!l?N.jsx("div",{className:"mp-agent-messages-empty",children:N.jsxs("div",{className:"mp-agent-messages-empty-content",children:[N.jsx("h4",{children:e.helloThere}),N.jsx("p",{children:e.howCanIHelpYou})]})}):r&&a.length===0&&o.isLoading?N.jsx("div",{className:"mp-agent-messages-empty",children:N.jsx("div",{className:"mp-agent-messages-empty-content",children:N.jsx("p",{children:e.fetchingChats})})}):N.jsxs("div",{className:"mp-agent-messages",ref:p,children:[o.isFetchingNextPage&&N.jsx("div",{className:"mp-agent-messages-load-more",children:N.jsx("div",{className:"mp-agent-messages-load-more-text",children:e.fetchingChats})}),N.jsx("div",{className:"mp-agent-messages-virtual-list",style:{height:_.getTotalSize()},children:v.map(x=>{const S=a[x.index];return S?N.jsx("div",{ref:_.measureElement,"data-index":x.index,className:"mp-agent-messages-virtual-item",style:{transform:`translateY(${x.start}px)`},children:N.jsx(Q7,{message:S,contextKey:t})},x.key):null})}),!!l&&N.jsx(Ije,{pendingKey:i,contextKey:t}),N.jsx(uv,{})]})},Ije=G.memo(({pendingKey:e,contextKey:t})=>{const n=xe(o=>Je(o,e)),r=n.pendingAssistant,a=n.status;if(!r)return null;const i=a===cn.Sending||a===cn.Streaming;return N.jsx(Q7,{message:r,contextKey:t,isStreaming:i},r.id)}),e_=({onClose:e,agentLogo:t})=>{const n=bn(),a=nt().config.features?.historySidebar!==!1,i=xe(u=>u.isChatHistoryOpen),o=xe(u=>u.setChatHistoryOpen),s=xe(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(En,{onClick:()=>o(!i),icon:i?"PanelLeftClose":"PanelLeftOpen",tooltip:i?n.hideChatHistory:n.showChatHistory,"aria-label":i?n.hideChatHistory:n.showChatHistory}),N.jsx(En,{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(En,{onClick:e,icon:"X","aria-label":n.close,tooltip:n.close})})]})},t_=({fetchNextPage:e,hasNextPage:t,isFetchingNextPage:n,itemRenderer:r}={})=>{const a=bn(),{deleteChat:i,isDeleting:o}=O3(),s=xe(h=>h.chats),l=xe(h=>h.activeChatId),u=xe(h=>h.setActiveChat),d=G.useRef(null),p=G.useRef(null),m=G.useMemo(()=>Object.values(s).sort((h,g)=>h.updatedAt===g.updatedAt?0:h.updatedAt<g.updatedAt?1:-1),[s]);return G.useEffect(()=>{const h=d.current,g=p.current;if(!h||!g||!e||!t)return;const f=new IntersectionObserver(_=>{_[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(Wn,{content:a.deleteChat,children:N.jsx(En,{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})]})]})]})},n_=e=>{const t=nt(),n=vp(),r=xe(i=>i.isChatHistoryOpen);return!(t.config.features?.historySidebar!==!1)||!r?null:N.jsx("div",{className:"mp-agent-chat-history-panel",children:N.jsx(t_,{fetchNextPage:n.fetchNextPage,hasNextPage:n.hasNextPage,isFetchingNextPage:n.isFetchingNextPage})})},Oje=({children:e})=>{const t=xe(n=>n.isChatHistoryOpen);return N.jsx("section",{className:`mp-agent-main ${t?"with-chat-history":""}`,children:e})},Lje=({onToolSelected:e,onClose:t,agentLogo:n})=>{const r=bn(),{isLoading:a}=C3(),i=xe(l=>l.activeChatId),{isLoading:o,error:s}=vp();return N.jsxs("div",{className:"mp-agent-shell mp-agent-shell-panel",children:[N.jsx(n_,{}),N.jsxs(Oje,{children:[N.jsx(e_,{onClose:t,agentLogo:n}),N.jsx("div",{className:"mp-agent-main-content",children:o||a?N.jsx("div",{style:{padding:24},children:r.fetchingChats}):s?N.jsx("div",{style:{padding:24,color:"var(--mp-agents-danger)"},children:r.fetchingChatError}):N.jsx(J7,{},i)}),N.jsx(lv,{onToolSelected:e})]})]})},r_=G.forwardRef(({attachment:e,context:t,onAdded:n,onClick:r,...a},i)=>{const{addAttachments:o}=M3(),s=l=>{if(r?.(l),l.defaultPrevented)return;const d=(typeof e=="function"?e():e)??(()=>{const p=typeof t=="function"?t():t;return p?Co(p):void 0})();d&&(o([d]),n?.(d))};return N.jsx("button",{ref:i,type:"button",...a,onClick:s})});r_.displayName="AttachContextButton";exports.AgentAttachmentSchema=C5;exports.AgentControls=e_;exports.AgentPreferencesPanel=sv;exports.AgentProvider=iwe;exports.AgentRuntime=$3;exports.AgentThemeProvider=q3;exports.AttachContextButton=r_;exports.BuiltinContextAttachmentKinds=A5;exports.CHATS_PAGE_SIZE=kp;exports.ChatHistory=t_;exports.ChatHistoryPanel=n_;exports.ChatWindow=Lje;exports.Composer=lv;exports.ContextAttachmentMetadataSchemaV1=T5;exports.DEFAULT_MESSAGES_PAGE_SIZE=R3;exports.FormApplyRequestedEventType=ap;exports.FormProposalToolRenderer=L3;exports.MessageActions=Y7;exports.MessageAvatar=pv;exports.MessageBubble=Z7;exports.MessageContent=K7;exports.MessageHeader=hv;exports.MessageList=J7;exports.MessageTypingAnimation=X7;exports.ReasoningPanel=jh;exports.SendMessagePayloadSchema=M_;exports.SocketIOConfig=Gi;exports.SocketIOEvents=Oi;exports.activityKeys=wn;exports.captureTextSelectionTarget=z3;exports.chatKeys=sr;exports.contextKeySchema=N5;exports.createContextAttachment=Co;exports.createPageContextAttachment=D3;exports.defaultTranslations=Vi;exports.flattenInfiniteActivities=B7e;exports.flattenInfiniteChats=G7e;exports.frontendConfigSchema=dd;exports.themeTokenSchema=S5;exports.translationsSchema=m_;exports.useActivitiesInfiniteList=U7e;exports.useActivitiesList=H7e;exports.useActivity=j7e;exports.useActivitySummary=V7e;exports.useAgentConfigurations=S3;exports.useAgentPreferences=T3;exports.useAgentRuntime=nt;exports.useAgentStore=xe;exports.useAgentTheme=B3;exports.useAutoScroll=K7e;exports.useChatBootstrap=vp;exports.useChats=w3;exports.useChatsInfiniteList=_3;exports.useChatsList=W7e;exports.useComposerDraft=M3;exports.useDeleteChat=O3;exports.useEnsureActiveChat=C3;exports.useMessagesInfinite=I3;exports.useModels=x3;exports.usePageContext=Z7e;exports.useProposeFormValues=X7e;exports.useRuntimeEventEmitter=N3;exports.useRuntimeEventListener=A3;exports.useTranslations=bn;
8648
8648
  //# sourceMappingURL=ai-agent-react.cjs.js.map