@mujian/js-sdk 0.0.6-beta.75 → 0.0.6-beta.77
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.
- package/dist/react.js +1 -2
- package/dist/umd/react.js +1 -2
- package/package.json +5 -5
package/dist/react.js
CHANGED
|
@@ -1130,8 +1130,7 @@ async function* callSdk(mujian, content, type = 'generate', signal) {
|
|
|
1130
1130
|
});
|
|
1131
1131
|
}
|
|
1132
1132
|
const NOT_SAVED_MSG_ID_PREFIX = 'not_saved';
|
|
1133
|
-
const FALLBACK_MESSAGE =
|
|
1134
|
-
哎呀,AI线路好像抽风了,重说一下试试吧~`;
|
|
1133
|
+
const FALLBACK_MESSAGE = `哎呀,AI线路好像抽风了,请刷新页面后重新试试吧~`;
|
|
1135
1134
|
const useChatStreaming = ({ common, setError, setMessages, mujian })=>{
|
|
1136
1135
|
const { body } = common;
|
|
1137
1136
|
const [isStreaming, setIsStreaming] = useState(false);
|
package/dist/umd/react.js
CHANGED
|
@@ -135,5 +135,4 @@ ${n}
|
|
|
135
135
|
0% { transform: rotate(0deg); }
|
|
136
136
|
100% { transform: rotate(360deg); }
|
|
137
137
|
}
|
|
138
|
-
`,t2={width:48,height:48,animation:"spin 1s linear infinite"},t6=({className:e,style:t})=>(0,ep.jsxs)(ep.Fragment,{children:[(0,ep.jsx)("style",{children:t1}),(0,ep.jsx)("svg",{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",className:e,style:{...t2,...t},children:(0,ep.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})})]}),t4=(0,A.createContext)(null),t9=({children:e,loadingComponent:t})=>{let[r,n]=(0,A.useState)(null);return(0,A.useEffect)(()=>{(async()=>{let e=t0.getInstance();await e.init(),n(e)})()},[]),(0,ep.jsx)(t4.Provider,{value:r,children:r?e:t??(0,ep.jsx)("div",{style:{height:"100%",width:"100%",display:"flex",justifyContent:"center",alignItems:"center"},children:(0,ep.jsx)(t6,{style:{color:"#EC4342"}})})})},t7=()=>{let e=(0,A.useContext)(t4);if(!e){let e="Mujian is not initialized. Please check that useMujian is called inside MujianProvider";throw console.error(e),Error(e)}return e};var t5=n("../../common/temp/node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/index.js");let{min:re,max:rt,abs:rr,floor:rn}=Math,rd=(e,t,r)=>re(r,rt(t,e)),ra=e=>[...e].sort((e,t)=>e-t),ri="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},ru=()=>{let e;return[new Promise(t=>{e=t}),e]},ro=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},rs=(e,t,r)=>{let n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](-1);return e},rc=(e,t)=>{let r=e.t[t];return -1===r?e.o:r},rl=(e,t,r)=>{let n=-1===e.t[t];return e.t[t]=r,e.i=re(t,e.i),n},rf=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let r=e.i,n=e.u[r];for(;r<t;)n+=rc(e,r),e.u[++r]=n;return e.i=t,n},rp=(e,t,r=0,n=e.l-1)=>{for(;r<=n;){let d=rn((r+n)/2),a=rf(e,d);if(a<=t){if(a+rc(e,d)>t)return d;r=d+1}else n=d-1}return rd(r,0,e.l-1)},rh=(e,t,r)=>{let n=t-e.l;return e.i=r?-1:re(t-1,e.i),e.l=t,n>0?(rs(e.u,n),rs(e.t,n,r),e.o*n):(e.u.splice(n),(r?e.t.splice(0,-n):e.t.splice(n)).reduce((t,r)=>t-(-1===r?e.o:r),0))},rm="undefined"!=typeof window,rg=ro(()=>!!rm&&"rtl"===getComputedStyle(document.documentElement).direction),r_=ro(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0),rb=ro(()=>"scrollBehavior"in document.documentElement.style),rw=setTimeout,ry=(e,t)=>t&&rg()?-e:e,rv=rm?A.useLayoutEffect:A.useEffect,rk="current",rE=(e,t)=>{if(Array.isArray(e))for(let r of e)rE(r,t);else null==e||"boolean"==typeof e||t.push(e)},rA=e=>{let t=(0,A.useRef)(e);return rv(()=>{t[rk]=e},[e]),t},rS=(0,A.memo)(({Z:e,ee:t,te:r,oe:n,ne:d,re:a,ie:i,se:u})=>{let o=(0,A.useRef)(null);rv(()=>t(o[rk],r),[r]);let s=(0,A.useMemo)(()=>{let e={contain:"layout style",position:d&&u?void 0:"absolute",[i?"height":"width"]:"100%",[i?"top":"left"]:0,[i?rg()?"right":"left":"top"]:n,visibility:!d||u?"visible":"hidden"};return i&&(e.display="inline-flex"),e},[n,d,u,i]);return(0,ep.jsx)(a,"string"==typeof a?{ref:o,style:s,children:e}:{ref:o,style:s,index:r,children:e})}),rT=(0,A.forwardRef)(({children:e,data:t,overscan:r,itemSize:n,shift:d,horizontal:a,keepMounted:i,cache:u,startMargin:o=0,ssrCount:s,as:c="div",item:l="div",scrollRef:f,onScroll:p,onScrollEnd:h},m)=>{var g;let _,[b,w]=(0,A.useMemo)(()=>{let r;if("function"==typeof e)return[r=>e(t[r],r),t.length];let n=(rE(e,r=[]),r);return[e=>n[e],n.length]},[e,t]),y=(0,A.useRef)(null),v=(0,A.useRef)(!!s),k=rA(p),E=rA(h),[S,T,x,j]=(g=()=>{var e;let t,d,i,o,c,l=!!a,f=((e,t=40,r=4,n=0,d,a=!1)=>{let i=!!n,u=1,o=0,s=0,c=0,l=0,f=0,p=0,h=0,m=0,g=i?[0,rt(n-1,0)]:null,_=[0,0],b=0,w={o:d?d[1]:t,t:d&&d[0]?rs(d[0].slice(0,re(e,d[0].length)),rt(0,e-d[0].length)):rs([],e),l:e,i:-1,u:rs([],e)},y=new Set,v=()=>c-s+f+l,k=e=>((e,t,r,n)=>{if(n=re(n,e.l-1),rf(e,n)<=t){let d=rp(e,t+r,n);return[rp(e,t,n,d),d]}{let d=rp(e,t,void 0,n);return[d,rp(e,t+r,d)]}})(w,e,o,_[0]),E=()=>w.l?rf(w,w.l-1)+rc(w,w.l-1):0,A=e=>rf(w,e)-f,S=e=>rc(w,e),T=e=>{e&&(r_()&&0!==h||g&&1===m?f+=e:l+=e)};return{v:()=>u,m:()=>[w.t.slice(),w.o],_:()=>{let e,t;return p?[e,t]=_:([e,t]=_=k(rt(0,v())),g&&(e=re(e,g[0]),t=rt(t,g[1]))),1!==h&&(e-=rt(0,r)),2!==h&&(t+=rt(0,r)),[rt(e,0),re(t,w.l-1)]},S:()=>rp(w,v()),$:()=>rp(w,v()+o),I:e=>-1===w.t[e],k:A,R:S,T:()=>w.l,M:()=>c,C:()=>0!==h,p:()=>o,H:()=>s,h:E,W:()=>(p=l,l=0,[p,2===m]),O:(e,t)=>{let r=[e,t];return y.add(r),()=>{y.delete(r)}},B:(e,t)=>{let r,n,d=0;switch(e){case 1:{let e=p;p=0;let r=t-c,a=rr(r);e&&a<rr(e)+1||0!==m||(h=r<0?2:1),i&&(g=null,i=!1),c=t,d=4;let u=c-s;u>=-o&&u<=E()&&(d+=1,n=a>o);break}case 2:d=8,0!==h&&(r=!0,d+=1),h=0,m=0,g=null;break;case 3:{var _;let e,r,i,u,l,f,p,y=t.filter(([e,t])=>w.t[e]!==t);if(!y.length)break;for(let[e,t]of(T(y.reduce((e,[t,r])=>((2===m||(g&&1===m?t<g[0]:A(t)+(0===h&&0===m?S(t):0)<c-s))&&(e+=r-S(t)),e),0)),y)){let r=S(e),n=rl(w,e,t);a&&(b+=n?t:t-r)}a&&o&&b>o&&(T((_=rp(w,v()),e=0,r=[],w.t.forEach((t,n)=>{-1!==t&&(r.push(t),n<_&&e++)}),w.i=-1,l=(u=(i=ra(r)).length)/2|0,f=u%2==0?(i[l-1]+i[l])/2:i[l],p=w.o,((w.o=f)-p)*rt(_-e,0))),a=!1),d=3,n=!0;break}case 4:o!==t&&(o=t,d=3);break;case 5:t[1]?(T(rh(w,t[0],!0)),m=2):rh(w,t[0]),d=1;break;case 6:s=t;break;case 7:m=1;break;case 8:g=k(t),d=1}d&&(u=1+(0x7fffffff&u),r&&f&&(l+=f,f=0),y.forEach(([e,t])=>{d&e&&t(n)}))}}})(w,n,r,s,u,!n);return[f,(i=l?"width":"height",o=new WeakMap,e=e=>{let r=[];for(let{target:n,contentRect:d}of e)if(n.offsetParent)if(n===t)f.B(4,d[i]);else{let e=o.get(n);null!=e&&r.push([e,d[i]])}r.length&&f.B(3,r)},{U(e){c.q(t=e)},F:(e,t)=>(o.set(e,t),c.q(e),()=>{o.delete(e),c.G(e)}),P:(c={q(t){(d||(d=new t.ownerDocument.defaultView.ResizeObserver(e))).observe(t)},G(e){d.unobserve(e)},A(){d&&d.disconnect()}}).A}),((e,t)=>{var r,n;let d,a,i,u=ru(),o=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",[c,l]=(r=()=>u[0],n=(e,r)=>{e=ry(e,t),r?a.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):a[o]=e},[async(t,a)=>{if(!await r())return;d&&d();let i=()=>{let[t,r]=ru();return d=()=>{r(!1)},e.p()&&rw(d,150),[t,e.O(2,()=>{r(!0)})]};if(a&&rb())e.B(8,t()),ri(async()=>{for(;;){let t=!0;for(let[r,n]=e._();r<=n;r++)if(e.I(r)){t=!1;break}if(t)break;let[r,n]=i();try{if(!await r)return}finally{n()}}e.B(7),n(t(),a)});else for(;;){let[r,d]=i();try{if(e.B(7),n(t()),!await r)return}finally{d()}}},()=>{d&&d()}]);return{D(r){var n,d;let c,f,p,h,m,g,_,b,w,y,v,k,E,A;a=r,n=()=>ry(r[o],t),c=Date.now,f=0,p=!1,h=!1,m=!1,g=!1,b=()=>{null!=_&&clearTimeout(_)},(w=()=>{b(),_=rw(()=>{_=null,(()=>{if(p||h)return p=!1,y();m=!1,e.B(2)})()},150)}).J=b,y=w,v=()=>{f=c(),m&&(g=!0),d&&e.B(6,d()),e.B(1,n()),y()},k=r=>{if(p||!e.C()||r.ctrlKey)return;let n=c()-f;150>n&&50<n&&(t?r.deltaX:r.deltaY)&&(p=!0)},E=()=>{h=!0,m=g=!1},A=()=>{h=!1,r_()&&(m=!0)},r.addEventListener("scroll",v),r.addEventListener("wheel",k,{passive:!0}),r.addEventListener("touchstart",E,{passive:!0}),r.addEventListener("touchend",A,{passive:!0}),i={A:()=>{r.removeEventListener("scroll",v),r.removeEventListener("wheel",k),r.removeEventListener("touchstart",E),r.removeEventListener("touchend",A),y.J()},L:()=>{let[d,a]=e.W();d&&(((t,n,d)=>{if(d){let e=r.style,t=e[s];e[s]="hidden",rw(()=>{e[s]=t})}r[o]=e.M()+t,n&&l()})(ry(d,t),a,g),g=!1,a&&e.p()>e.h()&&e.B(1,n()))}},u[1](!0)},P(){i&&i.A(),u[1](!1),u=ru()},V(e){c(()=>e)},X(t){t+=e.M(),c(()=>t)},Y(t,{align:r,smooth:n,offset:d=0}={}){if(t=rd(t,0,e.T()-1),"nearest"===r){let n=e.k(t),d=e.M();if(n<d)r="start";else{if(!(n+e.R(t)>d+e.p()))return;r="end"}}c(()=>d+e.H()+e.k(t)+("end"===r?e.R(t)-e.p():"center"===r?(e.R(t)-e.p())/2:0),n)},j:()=>{i&&i.L()}}})(f,l),l]},(_=(0,A.useRef)(null))[rk]||(_[rk]=g()));w!==S.T()&&S.B(5,[w,d]),o!==S.H()&&S.B(6,o);let[M,I]=(0,A.useReducer)(S.v,void 0,S.v),[P,C]=S._(),O=S.C(),N=S.h(),L=[],R=e=>{let t,r=b(e);return(0,ep.jsx)(rS,{ee:T.F,te:e,oe:S.k(e),ne:S.I(e),re:l,Z:r,ie:j,se:v[rk]},null!=(t=r.key)?t:"_"+e)};if(rv(()=>{v[rk]=!1;let e=S.O(1,e=>{e?(0,t5.flushSync)(I):I()}),t=S.O(4,()=>{k[rk]&&k[rk](S.M())}),r=S.O(8,()=>{E[rk]&&E[rk]()}),n=e=>{T.U(e),x.D(e)};return f?ri(()=>{f[rk]&&n(f[rk])}):n(y[rk].parentElement),()=>{e(),t(),r(),T.P(),x.P()}},[]),rv(()=>{x.j()},[M]),(0,A.useImperativeHandle)(m,()=>({get cache(){return S.m()},get scrollOffset(){return S.M()},get scrollSize(){return rt(S.h(),S.p())},get viewportSize(){return S.p()},findStartIndex:S.S,findEndIndex:S.$,getItemOffset:S.k,getItemSize:S.R,scrollToIndex:x.Y,scrollTo:x.V,scrollBy:x.X}),[]),i){let e=new Set(i);for(let t=P;t<=C;t++)e.add(t);ra([...e]).forEach(e=>{L.push(R(e))})}else for(let e=P;e<=C;e++)L.push(R(e));return(0,ep.jsx)(c,{ref:y,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:j?N:"100%",height:j?"100%":N,pointerEvents:O?"none":void 0},children:L})}),rx={MessageItem:e=>{let{message:t,children:r,depth:n,index:d}=e,a=t7(),{data:i}=ec(async()=>{let{isStreaming:e}=t;return e?t:await a.ai.chat.renderMessage({message:t,depth:n,index:d})},{refreshDeps:[t]});return r(i||t,t)},MessageList:(0,A.forwardRef)((e,t)=>{let{children:r,messages:n,vListProps:d}=e;return(0,ep.jsx)(rT,{...d,data:n,ref:t,children:(e,t)=>r({message:e,index:t,depth:n.length-1-t})})})};var rj=Array.isArray,rM="object"==typeof global&&global&&global.Object===Object&&global,rI="object"==typeof self&&self&&self.Object===Object&&self,rP=rM||rI||Function("return this")(),rC=rP.Symbol,rO=Object.prototype,rN=rO.hasOwnProperty,rL=rO.toString,rR=rC?rC.toStringTag:void 0;let rz=function(e){var t=rN.call(e,rR),r=e[rR];try{e[rR]=void 0;var n=!0}catch(e){}var d=rL.call(e);return n&&(t?e[rR]=r:delete e[rR]),d};var r$=Object.prototype.toString,rH=rC?rC.toStringTag:void 0;let rD=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":rH&&rH in Object(e)?rz(e):r$.call(e)},rU=function(e){return"symbol"==typeof e||null!=e&&"object"==typeof e&&"[object Symbol]"==rD(e)};var rB=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rG=/^\w*$/;let rF=function(e,t){if(rj(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||rU(e))||rG.test(e)||!rB.test(e)||null!=t&&e in Object(t)},rq=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},rV=function(e){if(!rq(e))return!1;var t=rD(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};var rJ=rP["__core-js_shared__"],rW=(h=/[^.]+$/.exec(rJ&&rJ.keys&&rJ.keys.IE_PROTO||""))?"Symbol(src)_1."+h:"",rY=Function.prototype.toString;let rK=function(e){if(null!=e){try{return rY.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var rX=/^\[object .+?Constructor\]$/,rZ=Object.prototype,rQ=Function.prototype.toString,r3=rZ.hasOwnProperty,r8=RegExp("^"+rQ.call(r3).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let r0=function(e){return!!rq(e)&&(!rW||!(rW in e))&&(rV(e)?r8:rX).test(rK(e))},r1=function(e,t){var r=null==e?void 0:e[t];return r0(r)?r:void 0};var r2=r1(Object,"create"),r6=Object.prototype.hasOwnProperty,r4=Object.prototype.hasOwnProperty;function r9(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}r9.prototype.clear=function(){this.__data__=r2?r2(null):{},this.size=0},r9.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t},r9.prototype.get=function(e){var t=this.__data__;if(r2){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return r6.call(t,e)?t[e]:void 0},r9.prototype.has=function(e){var t=this.__data__;return r2?void 0!==t[e]:r4.call(t,e)},r9.prototype.set=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=r2&&void 0===t?"__lodash_hash_undefined__":t,this};let r7=function(e,t){for(var r,n=e.length;n--;)if((r=e[n][0])===t||r!=r&&t!=t)return n;return -1};var r5=Array.prototype.splice;function ne(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ne.prototype.clear=function(){this.__data__=[],this.size=0},ne.prototype.delete=function(e){var t=this.__data__,r=r7(t,e);return!(r<0)&&(r==t.length-1?t.pop():r5.call(t,r,1),--this.size,!0)},ne.prototype.get=function(e){var t=this.__data__,r=r7(t,e);return r<0?void 0:t[r][1]},ne.prototype.has=function(e){return r7(this.__data__,e)>-1},ne.prototype.set=function(e,t){var r=this.__data__,n=r7(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var nt=r1(rP,"Map");let nr=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},nn=function(e,t){var r=e.__data__;return nr(t)?r["string"==typeof t?"string":"hash"]:r.map};function nd(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function na(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,d=t?t.apply(this,n):n[0],a=r.cache;if(a.has(d))return a.get(d);var i=e.apply(this,n);return r.cache=a.set(d,i)||a,i};return r.cache=new(na.Cache||nd),r}nd.prototype.clear=function(){this.size=0,this.__data__={hash:new r9,map:new(nt||ne),string:new r9}},nd.prototype.delete=function(e){var t=nn(this,e).delete(e);return this.size-=!!t,t},nd.prototype.get=function(e){return nn(this,e).get(e)},nd.prototype.has=function(e){return nn(this,e).has(e)},nd.prototype.set=function(e,t){var r=nn(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this},na.Cache=nd;var ni=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nu=/\\(\\)?/g,no=(g=(m=na(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ni,function(e,r,n,d){t.push(n?d.replace(nu,"$1"):r||e)}),t},function(e){return 500===g.size&&g.clear(),e})).cache,m);let ns=function(e,t){for(var r=-1,n=null==e?0:e.length,d=Array(n);++r<n;)d[r]=t(e[r],r,e);return d};var nc=1/0,nl=rC?rC.prototype:void 0,nf=nl?nl.toString:void 0;let np=function e(t){if("string"==typeof t)return t;if(rj(t))return ns(t,e)+"";if(rU(t))return nf?nf.call(t):"";var r=t+"";return"0"==r&&1/t==-nc?"-0":r},nh=function(e,t){return rj(e)?e:rF(e,t)?[e]:no(null==e?"":np(e))};var nm=1/0;let ng=function(e){if("string"==typeof e||rU(e))return e;var t=e+"";return"0"==t&&1/e==-nm?"-0":t},n_=function(e,t){t=nh(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[ng(t[r++])];return r&&r==n?e:void 0},nb=function(e,t,r){var n=null==e?void 0:n_(e,t);return void 0===n?r:n},nw={ai:{chat:{get complete(){return t},get project(){return r},settings:{get persona(){return a}},get setFirstMesIndex(){return i}}}};function ny({projectInfo:e,activePersona:n,onSend:d,messages:s,setSwipe:c}){(0,A.useEffect)(()=>{r=e??void 0,a=n??void 0},[e,n]),(0,A.useEffect)(()=>{t=async e=>{await d(e)},i=async e=>{if(s.length>1)throw Error("已有新消息,不允许切换开场白");if(0===s.length)throw Error("断言失败:没有开场消息,无法切换开场白");let t=Math.floor(e)-1,r=s[0].swipes.length;t<0||t>=r||c(s[0].id,t)},o=(e,t)=>s.find(t=>t.id===e)?.swipeInfo[t]?.mjv?.value,u=(e,t,r)=>{let n=o?.(e,t);if(n)return nb(n,r)}},[d,s,c])}window.$mj_engine={...nw,bind:({messageId:e,swipeId:t})=>({ai:{chat:{...nw.ai.chat,mjv:{get:r=>u?.(e,t,r),getAll:()=>o?.(e,t)??{}}}}})};class nv extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.cause=t}}class nk extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.cause=t}}class nE extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.cause=t}}async function*nA(e,t,r="generate",n){let d=[],a=null,i=!1,u=null;try{let o=e=>{u||"string"==typeof e&&(d.push(e),a&&(a(),a=null))},s=()=>{i=!0,a&&(a(),a=null)},c=e=>{u=e,a&&(a(),a=null)};"generate"===r?e.ai.chat.complete(t,o,n).then(s).catch(c):"regenerate"===r?e.ai.chat.regenerate(o,n).then(s).catch(c):e.ai.chat.continue(o,n).then(s).catch(c)}catch(e){u=e,i=!0}for(;;)if(d.length>0)yield d.shift();else if(i)break;else if(u)throw u;else await new Promise(e=>{a=e})}let nS="not_saved",nT=`<!-- 此条HTML消息为系统提示,请勿复读 -->
|
|
139
|
-
哎呀,AI线路好像抽风了,重说一下试试吧~`,nx=({body:e,onError:t,onFinish:r,pageSize:n})=>{let[d,a]=(0,A.useState)(),[i,u]=(0,A.useState)(""),[o,s]=(0,A.useState)(),c=t7(),l=e=>{a(e),e&&t?.(e)},f=(0,A.useRef)(!1),{data:p,loadMoreAsync:h,loadingMore:m,loading:g,mutate:_,error:b}=ef(async e=>{if(f.current=!0,e?.noMore)return{noMore:!0,list:[]};try{let t=await c.ai.chat.message.getPage(e?.cursor,n);return{cursor:t.nextCursor,list:t.messages.map(e=>({...e,mjv:e.swipeInfo[e.activeSwipeId]?.mjv})),noMore:!t.nextCursor}}finally{f.current=!1}},{direction:"top"}),w=async()=>{if(!f.current)try{f.current=!0,await h()}finally{f.current=!1}},y=p?.list??[],v=T(p),k=(0,A.useRef)(y);k.current=y;let E=e=>{let t;t="function"==typeof e?e(k.current):e,k.current=t,_({...v.current,list:t})},{chatStreaming:S,isStreaming:x}=(({common:e,setError:t,setMessages:r,mujian:n})=>{let{body:d}=e,[a,i]=(0,A.useState)(!1);return{chatStreaming:(0,A.useCallback)(async({query:e,regenerate:d,is_continue:a,signal:u})=>{try{t(void 0),i(!0);let o={id:`${nS}_user_${Date.now()}`,content:e||"",role:"user",swipes:[],activeSwipeId:0,isStreaming:!1,sendAt:new Date,swipeInfo:[]},s={id:`${nS}_assistant_${Date.now()}`,content:"",role:"assistant",swipes:[""],activeSwipeId:0,isStreaming:!0,sendAt:new Date,swipeInfo:[{}]};d?r(e=>{let t=[...e],r=t[t.length-1];return t[t.length-1]={...r,activeSwipeId:r.swipes.length,swipes:[...r.swipes,""],content:"",isStreaming:!0},t}):a?r(e=>[...e,s]):r(e=>[...e,o,s]);let c=nA(n,e||"",a?"continue":d?"regenerate":"generate",u),l="",f="";try{for await(let e of c){let n=(l+=e).split("\n");for(let e of(l=n.pop()||"",n))if(e.startsWith("data: ")){let n=e.slice(6);try{let e=JSON.parse(n);if(d||"meta"!==e.type){if("stream"===e.type){let d=e.choices[0].delta.content;e.choices[0].delta.reasoning,(f+=d)||""===f?(r(e=>{let t=[...e],r=t[t.length-1];return r.swipes[r.activeSwipeId]=f,t[t.length-1]={...r,content:f,isStreaming:!0},t}),await new Promise(e=>setTimeout(e,10))):(console.error("data",n),t(new nk(n)))}else if("mjv"===e.type){let{value:t,delta:n,schema:d}=e;r(e=>{let r=[...e],a=r[r.length-1],i={value:t,delta:n,schema:d},u=a.swipeInfo;return u[a.activeSwipeId]?u[a.activeSwipeId].mjv=i:u[a.activeSwipeId]={mjv:i},r[r.length-1]={...a,swipeInfo:u,mjv:i},r})}}else{let{question_id:t,reply_id:n}=e;r(e=>{let r=[...e];t&&!a&&(r[r.length-2].id=t);let d=r[r.length-1];return r[r.length-1]={...d,id:n},r});continue}}catch{"[DONE]"!==n&&(console.error("Received plain SSE message:",n),t(new nE(n)))}}}}catch(e){tf.e("Stream error",e),"object"==typeof e&&e&&"message"in e&&"string"==typeof e.message?t(new nv(e.message)):t(e)}finally{tf.i("stream end finally"),r(e=>{let t=[...e],r={...t[t.length-1],isStreaming:!1};return r.swipes[r.activeSwipeId]||(r.swipes[r.activeSwipeId]=nT,r.content=nT),t[t.length-1]=r,t})}}catch(e){console.error("Error:",e),t(new nv("Send message failed",e)),r(e=>e.slice(0,-1))}finally{i(!1)}},[d,n]),isStreaming:a}})({common:{body:e},setError:l,setMessages:E,mujian:c});L(()=>{if(!x){let e=y[y.length-1];r?.(e)}},[x]);let j=(0,A.useCallback)(async e=>{if(x)throw Error("useChat is streaming already.");let t=new AbortController;s(t);try{await S({query:e,signal:t.signal})}catch(e){throw l(e),e}finally{s(void 0)}},[x,S]),M=(0,A.useCallback)(async()=>{if(x)throw Error("useChat is streaming already.");let e=new AbortController;s(e);let t=y.findLast(e=>"user"===e.role);try{await S({query:t?.content||"",regenerate:!0,signal:e.signal})}catch(e){throw l(e),e}finally{s(void 0)}},[x,y,S]),I=(0,A.useCallback)(async()=>{if(x)throw Error("useChat is streaming already.");let e=new AbortController;s(e);try{await S({query:"",is_continue:!0,signal:e.signal})}catch(e){throw l(e),e}finally{s(void 0)}},[x,S]),P=async(e,t)=>{t<0||(E(r=>r.map(r=>r.id===e&&t<r.swipes.length?{...r,activeSwipeId:t,content:r.swipes[t],mjv:r.swipeInfo[t]?.mjv}:r)),await c.ai.chat.message.swipe(e,t))},C=async(e,t)=>{await c.ai.chat.message.editOne(e,t),E(r=>r.map(r=>{let n;return r.id===e?("assistant"===(n={...r,content:t}).role&&(n.swipes=[...n.swipes],n.swipes[n.activeSwipeId]=t),n):r}))},O=async e=>{if(!e.startsWith(nS))try{await c.ai.chat.message.deleteOne(e)}catch(e){if(e?.code!==0x77dde1f4)throw e}E(t=>t.filter(t=>t.id!==e))};return{append:j,regenerate:M,continueGenerate:I,stop:()=>{o?.abort()},messages:y,status:d?"error":x?"streaming":"ready",error:d,setMessages:E,input:i,setInput:u,handleSubmit:()=>{j(i)},setSwipe:P,editMessage:C,deleteMessage:O,loadMoreMessage:w,messagesStatus:b?"error":m||g?"loading":p?.noMore?"all-loaded":"has-more"}}})(),d})());
|
|
138
|
+
`,t2={width:48,height:48,animation:"spin 1s linear infinite"},t6=({className:e,style:t})=>(0,ep.jsxs)(ep.Fragment,{children:[(0,ep.jsx)("style",{children:t1}),(0,ep.jsx)("svg",{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",className:e,style:{...t2,...t},children:(0,ep.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})})]}),t4=(0,A.createContext)(null),t9=({children:e,loadingComponent:t})=>{let[r,n]=(0,A.useState)(null);return(0,A.useEffect)(()=>{(async()=>{let e=t0.getInstance();await e.init(),n(e)})()},[]),(0,ep.jsx)(t4.Provider,{value:r,children:r?e:t??(0,ep.jsx)("div",{style:{height:"100%",width:"100%",display:"flex",justifyContent:"center",alignItems:"center"},children:(0,ep.jsx)(t6,{style:{color:"#EC4342"}})})})},t7=()=>{let e=(0,A.useContext)(t4);if(!e){let e="Mujian is not initialized. Please check that useMujian is called inside MujianProvider";throw console.error(e),Error(e)}return e};var t5=n("../../common/temp/node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/index.js");let{min:re,max:rt,abs:rr,floor:rn}=Math,rd=(e,t,r)=>re(r,rt(t,e)),ra=e=>[...e].sort((e,t)=>e-t),ri="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},ru=()=>{let e;return[new Promise(t=>{e=t}),e]},ro=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},rs=(e,t,r)=>{let n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](-1);return e},rc=(e,t)=>{let r=e.t[t];return -1===r?e.o:r},rl=(e,t,r)=>{let n=-1===e.t[t];return e.t[t]=r,e.i=re(t,e.i),n},rf=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let r=e.i,n=e.u[r];for(;r<t;)n+=rc(e,r),e.u[++r]=n;return e.i=t,n},rp=(e,t,r=0,n=e.l-1)=>{for(;r<=n;){let d=rn((r+n)/2),a=rf(e,d);if(a<=t){if(a+rc(e,d)>t)return d;r=d+1}else n=d-1}return rd(r,0,e.l-1)},rh=(e,t,r)=>{let n=t-e.l;return e.i=r?-1:re(t-1,e.i),e.l=t,n>0?(rs(e.u,n),rs(e.t,n,r),e.o*n):(e.u.splice(n),(r?e.t.splice(0,-n):e.t.splice(n)).reduce((t,r)=>t-(-1===r?e.o:r),0))},rm="undefined"!=typeof window,rg=ro(()=>!!rm&&"rtl"===getComputedStyle(document.documentElement).direction),r_=ro(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0),rb=ro(()=>"scrollBehavior"in document.documentElement.style),rw=setTimeout,ry=(e,t)=>t&&rg()?-e:e,rv=rm?A.useLayoutEffect:A.useEffect,rk="current",rE=(e,t)=>{if(Array.isArray(e))for(let r of e)rE(r,t);else null==e||"boolean"==typeof e||t.push(e)},rA=e=>{let t=(0,A.useRef)(e);return rv(()=>{t[rk]=e},[e]),t},rS=(0,A.memo)(({Z:e,ee:t,te:r,oe:n,ne:d,re:a,ie:i,se:u})=>{let o=(0,A.useRef)(null);rv(()=>t(o[rk],r),[r]);let s=(0,A.useMemo)(()=>{let e={contain:"layout style",position:d&&u?void 0:"absolute",[i?"height":"width"]:"100%",[i?"top":"left"]:0,[i?rg()?"right":"left":"top"]:n,visibility:!d||u?"visible":"hidden"};return i&&(e.display="inline-flex"),e},[n,d,u,i]);return(0,ep.jsx)(a,"string"==typeof a?{ref:o,style:s,children:e}:{ref:o,style:s,index:r,children:e})}),rT=(0,A.forwardRef)(({children:e,data:t,overscan:r,itemSize:n,shift:d,horizontal:a,keepMounted:i,cache:u,startMargin:o=0,ssrCount:s,as:c="div",item:l="div",scrollRef:f,onScroll:p,onScrollEnd:h},m)=>{var g;let _,[b,w]=(0,A.useMemo)(()=>{let r;if("function"==typeof e)return[r=>e(t[r],r),t.length];let n=(rE(e,r=[]),r);return[e=>n[e],n.length]},[e,t]),y=(0,A.useRef)(null),v=(0,A.useRef)(!!s),k=rA(p),E=rA(h),[S,T,x,j]=(g=()=>{var e;let t,d,i,o,c,l=!!a,f=((e,t=40,r=4,n=0,d,a=!1)=>{let i=!!n,u=1,o=0,s=0,c=0,l=0,f=0,p=0,h=0,m=0,g=i?[0,rt(n-1,0)]:null,_=[0,0],b=0,w={o:d?d[1]:t,t:d&&d[0]?rs(d[0].slice(0,re(e,d[0].length)),rt(0,e-d[0].length)):rs([],e),l:e,i:-1,u:rs([],e)},y=new Set,v=()=>c-s+f+l,k=e=>((e,t,r,n)=>{if(n=re(n,e.l-1),rf(e,n)<=t){let d=rp(e,t+r,n);return[rp(e,t,n,d),d]}{let d=rp(e,t,void 0,n);return[d,rp(e,t+r,d)]}})(w,e,o,_[0]),E=()=>w.l?rf(w,w.l-1)+rc(w,w.l-1):0,A=e=>rf(w,e)-f,S=e=>rc(w,e),T=e=>{e&&(r_()&&0!==h||g&&1===m?f+=e:l+=e)};return{v:()=>u,m:()=>[w.t.slice(),w.o],_:()=>{let e,t;return p?[e,t]=_:([e,t]=_=k(rt(0,v())),g&&(e=re(e,g[0]),t=rt(t,g[1]))),1!==h&&(e-=rt(0,r)),2!==h&&(t+=rt(0,r)),[rt(e,0),re(t,w.l-1)]},S:()=>rp(w,v()),$:()=>rp(w,v()+o),I:e=>-1===w.t[e],k:A,R:S,T:()=>w.l,M:()=>c,C:()=>0!==h,p:()=>o,H:()=>s,h:E,W:()=>(p=l,l=0,[p,2===m]),O:(e,t)=>{let r=[e,t];return y.add(r),()=>{y.delete(r)}},B:(e,t)=>{let r,n,d=0;switch(e){case 1:{let e=p;p=0;let r=t-c,a=rr(r);e&&a<rr(e)+1||0!==m||(h=r<0?2:1),i&&(g=null,i=!1),c=t,d=4;let u=c-s;u>=-o&&u<=E()&&(d+=1,n=a>o);break}case 2:d=8,0!==h&&(r=!0,d+=1),h=0,m=0,g=null;break;case 3:{var _;let e,r,i,u,l,f,p,y=t.filter(([e,t])=>w.t[e]!==t);if(!y.length)break;for(let[e,t]of(T(y.reduce((e,[t,r])=>((2===m||(g&&1===m?t<g[0]:A(t)+(0===h&&0===m?S(t):0)<c-s))&&(e+=r-S(t)),e),0)),y)){let r=S(e),n=rl(w,e,t);a&&(b+=n?t:t-r)}a&&o&&b>o&&(T((_=rp(w,v()),e=0,r=[],w.t.forEach((t,n)=>{-1!==t&&(r.push(t),n<_&&e++)}),w.i=-1,l=(u=(i=ra(r)).length)/2|0,f=u%2==0?(i[l-1]+i[l])/2:i[l],p=w.o,((w.o=f)-p)*rt(_-e,0))),a=!1),d=3,n=!0;break}case 4:o!==t&&(o=t,d=3);break;case 5:t[1]?(T(rh(w,t[0],!0)),m=2):rh(w,t[0]),d=1;break;case 6:s=t;break;case 7:m=1;break;case 8:g=k(t),d=1}d&&(u=1+(0x7fffffff&u),r&&f&&(l+=f,f=0),y.forEach(([e,t])=>{d&e&&t(n)}))}}})(w,n,r,s,u,!n);return[f,(i=l?"width":"height",o=new WeakMap,e=e=>{let r=[];for(let{target:n,contentRect:d}of e)if(n.offsetParent)if(n===t)f.B(4,d[i]);else{let e=o.get(n);null!=e&&r.push([e,d[i]])}r.length&&f.B(3,r)},{U(e){c.q(t=e)},F:(e,t)=>(o.set(e,t),c.q(e),()=>{o.delete(e),c.G(e)}),P:(c={q(t){(d||(d=new t.ownerDocument.defaultView.ResizeObserver(e))).observe(t)},G(e){d.unobserve(e)},A(){d&&d.disconnect()}}).A}),((e,t)=>{var r,n;let d,a,i,u=ru(),o=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",[c,l]=(r=()=>u[0],n=(e,r)=>{e=ry(e,t),r?a.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):a[o]=e},[async(t,a)=>{if(!await r())return;d&&d();let i=()=>{let[t,r]=ru();return d=()=>{r(!1)},e.p()&&rw(d,150),[t,e.O(2,()=>{r(!0)})]};if(a&&rb())e.B(8,t()),ri(async()=>{for(;;){let t=!0;for(let[r,n]=e._();r<=n;r++)if(e.I(r)){t=!1;break}if(t)break;let[r,n]=i();try{if(!await r)return}finally{n()}}e.B(7),n(t(),a)});else for(;;){let[r,d]=i();try{if(e.B(7),n(t()),!await r)return}finally{d()}}},()=>{d&&d()}]);return{D(r){var n,d;let c,f,p,h,m,g,_,b,w,y,v,k,E,A;a=r,n=()=>ry(r[o],t),c=Date.now,f=0,p=!1,h=!1,m=!1,g=!1,b=()=>{null!=_&&clearTimeout(_)},(w=()=>{b(),_=rw(()=>{_=null,(()=>{if(p||h)return p=!1,y();m=!1,e.B(2)})()},150)}).J=b,y=w,v=()=>{f=c(),m&&(g=!0),d&&e.B(6,d()),e.B(1,n()),y()},k=r=>{if(p||!e.C()||r.ctrlKey)return;let n=c()-f;150>n&&50<n&&(t?r.deltaX:r.deltaY)&&(p=!0)},E=()=>{h=!0,m=g=!1},A=()=>{h=!1,r_()&&(m=!0)},r.addEventListener("scroll",v),r.addEventListener("wheel",k,{passive:!0}),r.addEventListener("touchstart",E,{passive:!0}),r.addEventListener("touchend",A,{passive:!0}),i={A:()=>{r.removeEventListener("scroll",v),r.removeEventListener("wheel",k),r.removeEventListener("touchstart",E),r.removeEventListener("touchend",A),y.J()},L:()=>{let[d,a]=e.W();d&&(((t,n,d)=>{if(d){let e=r.style,t=e[s];e[s]="hidden",rw(()=>{e[s]=t})}r[o]=e.M()+t,n&&l()})(ry(d,t),a,g),g=!1,a&&e.p()>e.h()&&e.B(1,n()))}},u[1](!0)},P(){i&&i.A(),u[1](!1),u=ru()},V(e){c(()=>e)},X(t){t+=e.M(),c(()=>t)},Y(t,{align:r,smooth:n,offset:d=0}={}){if(t=rd(t,0,e.T()-1),"nearest"===r){let n=e.k(t),d=e.M();if(n<d)r="start";else{if(!(n+e.R(t)>d+e.p()))return;r="end"}}c(()=>d+e.H()+e.k(t)+("end"===r?e.R(t)-e.p():"center"===r?(e.R(t)-e.p())/2:0),n)},j:()=>{i&&i.L()}}})(f,l),l]},(_=(0,A.useRef)(null))[rk]||(_[rk]=g()));w!==S.T()&&S.B(5,[w,d]),o!==S.H()&&S.B(6,o);let[M,I]=(0,A.useReducer)(S.v,void 0,S.v),[P,C]=S._(),O=S.C(),N=S.h(),L=[],R=e=>{let t,r=b(e);return(0,ep.jsx)(rS,{ee:T.F,te:e,oe:S.k(e),ne:S.I(e),re:l,Z:r,ie:j,se:v[rk]},null!=(t=r.key)?t:"_"+e)};if(rv(()=>{v[rk]=!1;let e=S.O(1,e=>{e?(0,t5.flushSync)(I):I()}),t=S.O(4,()=>{k[rk]&&k[rk](S.M())}),r=S.O(8,()=>{E[rk]&&E[rk]()}),n=e=>{T.U(e),x.D(e)};return f?ri(()=>{f[rk]&&n(f[rk])}):n(y[rk].parentElement),()=>{e(),t(),r(),T.P(),x.P()}},[]),rv(()=>{x.j()},[M]),(0,A.useImperativeHandle)(m,()=>({get cache(){return S.m()},get scrollOffset(){return S.M()},get scrollSize(){return rt(S.h(),S.p())},get viewportSize(){return S.p()},findStartIndex:S.S,findEndIndex:S.$,getItemOffset:S.k,getItemSize:S.R,scrollToIndex:x.Y,scrollTo:x.V,scrollBy:x.X}),[]),i){let e=new Set(i);for(let t=P;t<=C;t++)e.add(t);ra([...e]).forEach(e=>{L.push(R(e))})}else for(let e=P;e<=C;e++)L.push(R(e));return(0,ep.jsx)(c,{ref:y,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:j?N:"100%",height:j?"100%":N,pointerEvents:O?"none":void 0},children:L})}),rx={MessageItem:e=>{let{message:t,children:r,depth:n,index:d}=e,a=t7(),{data:i}=ec(async()=>{let{isStreaming:e}=t;return e?t:await a.ai.chat.renderMessage({message:t,depth:n,index:d})},{refreshDeps:[t]});return r(i||t,t)},MessageList:(0,A.forwardRef)((e,t)=>{let{children:r,messages:n,vListProps:d}=e;return(0,ep.jsx)(rT,{...d,data:n,ref:t,children:(e,t)=>r({message:e,index:t,depth:n.length-1-t})})})};var rj=Array.isArray,rM="object"==typeof global&&global&&global.Object===Object&&global,rI="object"==typeof self&&self&&self.Object===Object&&self,rP=rM||rI||Function("return this")(),rC=rP.Symbol,rO=Object.prototype,rN=rO.hasOwnProperty,rL=rO.toString,rR=rC?rC.toStringTag:void 0;let rz=function(e){var t=rN.call(e,rR),r=e[rR];try{e[rR]=void 0;var n=!0}catch(e){}var d=rL.call(e);return n&&(t?e[rR]=r:delete e[rR]),d};var r$=Object.prototype.toString,rH=rC?rC.toStringTag:void 0;let rD=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":rH&&rH in Object(e)?rz(e):r$.call(e)},rU=function(e){return"symbol"==typeof e||null!=e&&"object"==typeof e&&"[object Symbol]"==rD(e)};var rB=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rG=/^\w*$/;let rF=function(e,t){if(rj(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||rU(e))||rG.test(e)||!rB.test(e)||null!=t&&e in Object(t)},rq=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},rV=function(e){if(!rq(e))return!1;var t=rD(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};var rJ=rP["__core-js_shared__"],rW=(h=/[^.]+$/.exec(rJ&&rJ.keys&&rJ.keys.IE_PROTO||""))?"Symbol(src)_1."+h:"",rY=Function.prototype.toString;let rK=function(e){if(null!=e){try{return rY.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var rX=/^\[object .+?Constructor\]$/,rZ=Object.prototype,rQ=Function.prototype.toString,r3=rZ.hasOwnProperty,r8=RegExp("^"+rQ.call(r3).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let r0=function(e){return!!rq(e)&&(!rW||!(rW in e))&&(rV(e)?r8:rX).test(rK(e))},r1=function(e,t){var r=null==e?void 0:e[t];return r0(r)?r:void 0};var r2=r1(Object,"create"),r6=Object.prototype.hasOwnProperty,r4=Object.prototype.hasOwnProperty;function r9(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}r9.prototype.clear=function(){this.__data__=r2?r2(null):{},this.size=0},r9.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t},r9.prototype.get=function(e){var t=this.__data__;if(r2){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return r6.call(t,e)?t[e]:void 0},r9.prototype.has=function(e){var t=this.__data__;return r2?void 0!==t[e]:r4.call(t,e)},r9.prototype.set=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=r2&&void 0===t?"__lodash_hash_undefined__":t,this};let r7=function(e,t){for(var r,n=e.length;n--;)if((r=e[n][0])===t||r!=r&&t!=t)return n;return -1};var r5=Array.prototype.splice;function ne(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ne.prototype.clear=function(){this.__data__=[],this.size=0},ne.prototype.delete=function(e){var t=this.__data__,r=r7(t,e);return!(r<0)&&(r==t.length-1?t.pop():r5.call(t,r,1),--this.size,!0)},ne.prototype.get=function(e){var t=this.__data__,r=r7(t,e);return r<0?void 0:t[r][1]},ne.prototype.has=function(e){return r7(this.__data__,e)>-1},ne.prototype.set=function(e,t){var r=this.__data__,n=r7(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var nt=r1(rP,"Map");let nr=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},nn=function(e,t){var r=e.__data__;return nr(t)?r["string"==typeof t?"string":"hash"]:r.map};function nd(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function na(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,d=t?t.apply(this,n):n[0],a=r.cache;if(a.has(d))return a.get(d);var i=e.apply(this,n);return r.cache=a.set(d,i)||a,i};return r.cache=new(na.Cache||nd),r}nd.prototype.clear=function(){this.size=0,this.__data__={hash:new r9,map:new(nt||ne),string:new r9}},nd.prototype.delete=function(e){var t=nn(this,e).delete(e);return this.size-=!!t,t},nd.prototype.get=function(e){return nn(this,e).get(e)},nd.prototype.has=function(e){return nn(this,e).has(e)},nd.prototype.set=function(e,t){var r=nn(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this},na.Cache=nd;var ni=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nu=/\\(\\)?/g,no=(g=(m=na(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ni,function(e,r,n,d){t.push(n?d.replace(nu,"$1"):r||e)}),t},function(e){return 500===g.size&&g.clear(),e})).cache,m);let ns=function(e,t){for(var r=-1,n=null==e?0:e.length,d=Array(n);++r<n;)d[r]=t(e[r],r,e);return d};var nc=1/0,nl=rC?rC.prototype:void 0,nf=nl?nl.toString:void 0;let np=function e(t){if("string"==typeof t)return t;if(rj(t))return ns(t,e)+"";if(rU(t))return nf?nf.call(t):"";var r=t+"";return"0"==r&&1/t==-nc?"-0":r},nh=function(e,t){return rj(e)?e:rF(e,t)?[e]:no(null==e?"":np(e))};var nm=1/0;let ng=function(e){if("string"==typeof e||rU(e))return e;var t=e+"";return"0"==t&&1/e==-nm?"-0":t},n_=function(e,t){t=nh(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[ng(t[r++])];return r&&r==n?e:void 0},nb=function(e,t,r){var n=null==e?void 0:n_(e,t);return void 0===n?r:n},nw={ai:{chat:{get complete(){return t},get project(){return r},settings:{get persona(){return a}},get setFirstMesIndex(){return i}}}};function ny({projectInfo:e,activePersona:n,onSend:d,messages:s,setSwipe:c}){(0,A.useEffect)(()=>{r=e??void 0,a=n??void 0},[e,n]),(0,A.useEffect)(()=>{t=async e=>{await d(e)},i=async e=>{if(s.length>1)throw Error("已有新消息,不允许切换开场白");if(0===s.length)throw Error("断言失败:没有开场消息,无法切换开场白");let t=Math.floor(e)-1,r=s[0].swipes.length;t<0||t>=r||c(s[0].id,t)},o=(e,t)=>s.find(t=>t.id===e)?.swipeInfo[t]?.mjv?.value,u=(e,t,r)=>{let n=o?.(e,t);if(n)return nb(n,r)}},[d,s,c])}window.$mj_engine={...nw,bind:({messageId:e,swipeId:t})=>({ai:{chat:{...nw.ai.chat,mjv:{get:r=>u?.(e,t,r),getAll:()=>o?.(e,t)??{}}}}})};class nv extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.cause=t}}class nk extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.cause=t}}class nE extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.cause=t}}async function*nA(e,t,r="generate",n){let d=[],a=null,i=!1,u=null;try{let o=e=>{u||"string"==typeof e&&(d.push(e),a&&(a(),a=null))},s=()=>{i=!0,a&&(a(),a=null)},c=e=>{u=e,a&&(a(),a=null)};"generate"===r?e.ai.chat.complete(t,o,n).then(s).catch(c):"regenerate"===r?e.ai.chat.regenerate(o,n).then(s).catch(c):e.ai.chat.continue(o,n).then(s).catch(c)}catch(e){u=e,i=!0}for(;;)if(d.length>0)yield d.shift();else if(i)break;else if(u)throw u;else await new Promise(e=>{a=e})}let nS="not_saved",nT=`哎呀,AI线路好像抽风了,请刷新页面后重新试试吧~`,nx=({body:e,onError:t,onFinish:r,pageSize:n})=>{let[d,a]=(0,A.useState)(),[i,u]=(0,A.useState)(""),[o,s]=(0,A.useState)(),c=t7(),l=e=>{a(e),e&&t?.(e)},f=(0,A.useRef)(!1),{data:p,loadMoreAsync:h,loadingMore:m,loading:g,mutate:_,error:b}=ef(async e=>{if(f.current=!0,e?.noMore)return{noMore:!0,list:[]};try{let t=await c.ai.chat.message.getPage(e?.cursor,n);return{cursor:t.nextCursor,list:t.messages.map(e=>({...e,mjv:e.swipeInfo[e.activeSwipeId]?.mjv})),noMore:!t.nextCursor}}finally{f.current=!1}},{direction:"top"}),w=async()=>{if(!f.current)try{f.current=!0,await h()}finally{f.current=!1}},y=p?.list??[],v=T(p),k=(0,A.useRef)(y);k.current=y;let E=e=>{let t;t="function"==typeof e?e(k.current):e,k.current=t,_({...v.current,list:t})},{chatStreaming:S,isStreaming:x}=(({common:e,setError:t,setMessages:r,mujian:n})=>{let{body:d}=e,[a,i]=(0,A.useState)(!1);return{chatStreaming:(0,A.useCallback)(async({query:e,regenerate:d,is_continue:a,signal:u})=>{try{t(void 0),i(!0);let o={id:`${nS}_user_${Date.now()}`,content:e||"",role:"user",swipes:[],activeSwipeId:0,isStreaming:!1,sendAt:new Date,swipeInfo:[]},s={id:`${nS}_assistant_${Date.now()}`,content:"",role:"assistant",swipes:[""],activeSwipeId:0,isStreaming:!0,sendAt:new Date,swipeInfo:[{}]};d?r(e=>{let t=[...e],r=t[t.length-1];return t[t.length-1]={...r,activeSwipeId:r.swipes.length,swipes:[...r.swipes,""],content:"",isStreaming:!0},t}):a?r(e=>[...e,s]):r(e=>[...e,o,s]);let c=nA(n,e||"",a?"continue":d?"regenerate":"generate",u),l="",f="";try{for await(let e of c){let n=(l+=e).split("\n");for(let e of(l=n.pop()||"",n))if(e.startsWith("data: ")){let n=e.slice(6);try{let e=JSON.parse(n);if(d||"meta"!==e.type){if("stream"===e.type){let d=e.choices[0].delta.content;e.choices[0].delta.reasoning,(f+=d)||""===f?(r(e=>{let t=[...e],r=t[t.length-1];return r.swipes[r.activeSwipeId]=f,t[t.length-1]={...r,content:f,isStreaming:!0},t}),await new Promise(e=>setTimeout(e,10))):(console.error("data",n),t(new nk(n)))}else if("mjv"===e.type){let{value:t,delta:n,schema:d}=e;r(e=>{let r=[...e],a=r[r.length-1],i={value:t,delta:n,schema:d},u=a.swipeInfo;return u[a.activeSwipeId]?u[a.activeSwipeId].mjv=i:u[a.activeSwipeId]={mjv:i},r[r.length-1]={...a,swipeInfo:u,mjv:i},r})}}else{let{question_id:t,reply_id:n}=e;r(e=>{let r=[...e];t&&!a&&(r[r.length-2].id=t);let d=r[r.length-1];return r[r.length-1]={...d,id:n},r});continue}}catch{"[DONE]"!==n&&(console.error("Received plain SSE message:",n),t(new nE(n)))}}}}catch(e){tf.e("Stream error",e),"object"==typeof e&&e&&"message"in e&&"string"==typeof e.message?t(new nv(e.message)):t(e)}finally{tf.i("stream end finally"),r(e=>{let t=[...e],r={...t[t.length-1],isStreaming:!1};return r.swipes[r.activeSwipeId]||(r.swipes[r.activeSwipeId]=nT,r.content=nT),t[t.length-1]=r,t})}}catch(e){console.error("Error:",e),t(new nv("Send message failed",e)),r(e=>e.slice(0,-1))}finally{i(!1)}},[d,n]),isStreaming:a}})({common:{body:e},setError:l,setMessages:E,mujian:c});L(()=>{if(!x){let e=y[y.length-1];r?.(e)}},[x]);let j=(0,A.useCallback)(async e=>{if(x)throw Error("useChat is streaming already.");let t=new AbortController;s(t);try{await S({query:e,signal:t.signal})}catch(e){throw l(e),e}finally{s(void 0)}},[x,S]),M=(0,A.useCallback)(async()=>{if(x)throw Error("useChat is streaming already.");let e=new AbortController;s(e);let t=y.findLast(e=>"user"===e.role);try{await S({query:t?.content||"",regenerate:!0,signal:e.signal})}catch(e){throw l(e),e}finally{s(void 0)}},[x,y,S]),I=(0,A.useCallback)(async()=>{if(x)throw Error("useChat is streaming already.");let e=new AbortController;s(e);try{await S({query:"",is_continue:!0,signal:e.signal})}catch(e){throw l(e),e}finally{s(void 0)}},[x,S]),P=async(e,t)=>{t<0||(E(r=>r.map(r=>r.id===e&&t<r.swipes.length?{...r,activeSwipeId:t,content:r.swipes[t],mjv:r.swipeInfo[t]?.mjv}:r)),await c.ai.chat.message.swipe(e,t))},C=async(e,t)=>{await c.ai.chat.message.editOne(e,t),E(r=>r.map(r=>{let n;return r.id===e?("assistant"===(n={...r,content:t}).role&&(n.swipes=[...n.swipes],n.swipes[n.activeSwipeId]=t),n):r}))},O=async e=>{if(!e.startsWith(nS))try{await c.ai.chat.message.deleteOne(e)}catch(e){if(e?.code!==0x77dde1f4)throw e}E(t=>t.filter(t=>t.id!==e))};return{append:j,regenerate:M,continueGenerate:I,stop:()=>{o?.abort()},messages:y,status:d?"error":x?"streaming":"ready",error:d,setMessages:E,input:i,setInput:u,handleSubmit:()=>{j(i)},setSwipe:P,editMessage:C,deleteMessage:O,loadMoreMessage:w,messagesStatus:b?"error":m||g?"loading":p?.noMore?"all-loaded":"has-more"}}})(),d})());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mujian/js-sdk",
|
|
3
|
-
"version": "0.0.6-beta.
|
|
3
|
+
"version": "0.0.6-beta.77",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
"openai": "^6.9.1",
|
|
48
48
|
"rimraf": "^6.0.1",
|
|
49
49
|
"@rsbuild/core": "~1.5.12",
|
|
50
|
-
"rspress": "^
|
|
50
|
+
"@rspress/core": "^2.0.0",
|
|
51
51
|
"jsdom": "^26.1.0",
|
|
52
|
-
"@rspress/plugin-typedoc": "^
|
|
53
|
-
"@rspress/plugin-api-docgen": "^
|
|
54
|
-
"@rspress/plugin-preview": "^
|
|
52
|
+
"@rspress/plugin-typedoc": "^2.0.0",
|
|
53
|
+
"@rspress/plugin-api-docgen": "^2.0.0",
|
|
54
|
+
"@rspress/plugin-preview": "^2.0.0",
|
|
55
55
|
"@mujian/rspress-plugin-sakana-widget": "workspace:",
|
|
56
56
|
"rspress-plugin-mermaid": "0.3.0",
|
|
57
57
|
"rspress-plugin-align-image": "0.3.0",
|