@mujian/js-sdk 0.1.0-beta.8 → 0.1.0-beta.9
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/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/modules/ai/chat/message/index.d.ts +1 -0
- package/dist/react.js +2 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/react.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ declare class MujianSdk {
|
|
|
79
79
|
getPage: (fromCursor: import("./types").Cursor | undefined, pageSize: number) => Promise<{
|
|
80
80
|
messages: {
|
|
81
81
|
swipes: (string & import("./react/chat/useChat/message").MessageV2Swipe)[];
|
|
82
|
+
content: string;
|
|
82
83
|
id: string;
|
|
83
84
|
isUser: boolean;
|
|
84
85
|
activeSwipeId: number;
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ export declare function getPage(
|
|
|
31
31
|
this: MujianSdk, fromCursor: Cursor | undefined, pageSize: number): Promise<{
|
|
32
32
|
messages: {
|
|
33
33
|
swipes: (string & import("../../../../react/chat/useChat/message").MessageV2Swipe)[];
|
|
34
|
+
content: string;
|
|
34
35
|
id: string;
|
|
35
36
|
isUser: boolean;
|
|
36
37
|
activeSwipeId: number;
|
package/dist/react.js
CHANGED
package/dist/umd/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.MujianUMD=e():t.MujianUMD=e()}(globalThis,()=>(()=>{"use strict";var t,e={};e.d=(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};e.r(i),e.d(i,{MujianSdk:()=>G,EVENT:()=>u});var n="application/x-postmate-v1+json",a=0,s=function(t){var e=document.createElement("a");e.href=t;var i=e.protocol.length>4?e.protocol:window.location.protocol,n=e.host.length?"80"===e.port||"443"===e.port?e.hostname:e.host:window.location.host;return e.origin||i+"//"+n},r={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},o=function(t,e){return("string"!=typeof e||t.origin===e)&&!!t.data&&("object"!=typeof t.data||"postmate"in t.data)&&t.data.type===n&&!!r[t.data.postmate]},c=function(t,e){var i="function"==typeof t[e]?t[e]():t[e];return h.Promise.resolve(i)},l=function(){function t(t){var e=this;this.parent=t.parent,this.frame=t.frame,this.child=t.child,this.childOrigin=t.childOrigin,this.events={},this.listener=function(t){if(!o(t,e.childOrigin))return!1;var i=((t||{}).data||{}).value||{},n=i.data,a=i.name;"emit"===t.data.postmate&&a in e.events&&e.events[a].call(e,n)},this.parent.addEventListener("message",this.listener,!1)}var e=t.prototype;return e.get=function(t){var e=this;return new h.Promise(function(i){var s=++a;e.parent.addEventListener("message",function t(n){n.data.uid===s&&"reply"===n.data.postmate&&(e.parent.removeEventListener("message",t,!1),i(n.data.value))},!1),e.child.postMessage({postmate:"request",type:n,property:t,uid:s},e.childOrigin)})},e.call=function(t,e){this.child.postMessage({postmate:"call",type:n,property:t,data:e},this.childOrigin)},e.on=function(t,e){this.events[t]=e},e.destroy=function(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)},t}(),d=function(){function t(t){var e=this;this.model=t.model,this.parent=t.parent,this.parentOrigin=t.parentOrigin,this.child=t.child,this.child.addEventListener("message",function(t){if(o(t,e.parentOrigin)){var i=t.data,a=i.property,s=i.uid,r=i.data;if("call"===t.data.postmate){a in e.model&&"function"==typeof e.model[a]&&e.model[a](r);return}c(e.model,a).then(function(e){return t.source.postMessage({property:a,postmate:"reply",type:n,uid:s,value:e},t.origin)})}})}return t.prototype.emit=function(t,e){this.parent.postMessage({postmate:"emit",type:n,value:{name:t,data:e}},this.parentOrigin)},t}(),h=function(){function t(t){var e=t.container,i=void 0===e?void 0!==i?i:document.body:e,n=t.model,a=t.url,s=t.name,r=t.classListArray;return this.parent=window,this.frame=document.createElement("iframe"),this.frame.name=s||"",this.frame.classList.add.apply(this.frame.classList,void 0===r?[]:r),i.appendChild(this.frame),this.child=this.frame.contentWindow||this.frame.contentDocument.parentWindow,this.model=n||{},this.sendHandshake(a)}return t.prototype.sendHandshake=function(e){var i,a=this,r=s(e),c=0;return new t.Promise(function(t,s){a.parent.addEventListener("message",function e(n){return!!o(n,r)&&("handshake-reply"===n.data.postmate?(clearInterval(i),a.parent.removeEventListener("message",e,!1),a.childOrigin=n.origin,t(new l(a))):s("Failed handshake"))},!1);var d=function(){c++,a.child.postMessage({postmate:"handshake",type:n,model:a.model},r),5===c&&clearInterval(i)},h=function(){d(),i=setInterval(d,500)};a.frame.attachEvent?a.frame.attachEvent("onload",h):a.frame.onload=h,a.frame.src=e})},t}();h.debug=!1,h.Promise=function(){try{return window?window.Promise:Promise}catch(t){return null}}(),h.Model=function(){function t(t){return this.child=window,this.model=t,this.parent=this.child.parent,this.sendHandshakeReply()}return t.prototype.sendHandshakeReply=function(){var t=this;return new h.Promise(function(e,i){t.child.addEventListener("message",function a(s){if(s.data.postmate){if("handshake"===s.data.postmate){t.child.removeEventListener("message",a,!1),s.source.postMessage({postmate:"handshake-reply",type:n},s.origin),t.parentOrigin=s.origin;var r=s.data.model;return r&&Object.keys(r).forEach(function(e){t.model[e]=r[e]}),e(new d(t))}return i("Handshake Reply Failed")}},!1)})},t}();var u=((t={}).MUJIAN_INIT="mujian:init",t.MUJIAN_AI_CHAT_STOP="mujian:ai:chat:stop",t.MUJIAN_AI_CHAT_COMPLETE="mujian:ai:chat:complete",t.MUJIAN_AI_CHAT_APPLY_REGEX="mujian:ai:chat:applyRegex",t.MUJIAN_AI_CHAT_RENDER_MESSAGE="mujian:ai:chat:renderMessage",t.MUJIAN_AI_TEXT_GENERATE="mujian:ai:text:generate",t.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE="mujian:ai:openai:completions:create",t.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE="mujian:ai:openai:chat:completions:create",t.MUJIAN_AI_OPENAI_RESPONSES_CREATE="mujian:ai:openai:responses:create",t.MUJIAN_AI_CHAT_MESSAGE_GET_ALL="mujian:ai:chat:message:getAll",t.MUJIAN_AI_CHAT_MESSAGE_GET_PAGE="mujian:ai:chat:message:getPage",t.MUJIAN_AI_CHAT_PROJECT_GET_INFO="mujian:ai:chat:project:getInfo",t.MUJIAN_AI_CHAT_V2_COMPLETE="mujian:ai:chat_v2:complete",t.MUJIAN_AI_CHAT_V2_RECOVER="mujian:ai:chat_v2:recover",t.MUJIAN_AI_CHAT_V2_STOP="mujian:ai:chat_v2:stop",t.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE="mujian:ai:chat_v2:message:getPage",t.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE="mujian:ai:chat_v2:renderMessage",t.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE="mujian:ai:settings:persona:getActive",t.MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE="mujian:ai:settings:persona:setActive",t.MUJIAN_AI_SETTINGS_MODEL_GET_ALL="mujian:ai:settings:model:getAll",t.MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE="mujian:ai:settings:model:setActive",t.MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE="mujian:ai:settings:model:getActive",t.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE="mujian:ai:chat:message:deleteOne",t.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE="mujian:ai:chat:message:editOne",t.MUJIAN_AI_CHAT_MESSAGE_SWIPE="mujian:ai:chat:message:swipe",t.MUJIAN_AI_OPENAI_IMAGES_GENERATE="mujian:ai:openai:images:generate",t.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT="mujian:utils:clipboard:writeText",t.MUJIAN_GET_CONFIG="mujian:getConfig",t);let _=async function(t,e,i){await this.call(u.MUJIAN_AI_CHAT_V2_COMPLETE,{content:t,conversationVersion:e},{onData:i})},m=async function(t){return await this.call(u.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE,t)},p=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_V2_COMPLETE,{isContinue:!0,conversationVersion:t},{onData:e})},A=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_V2_COMPLETE,{isRegenerate:!0,conversationVersion:t},{onData:e})},E=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_V2_STOP,{conversationVersion:t,assisMsgId:e})},I=async function(t,e,i){return await this.call(u.MUJIAN_AI_CHAT_V2_RECOVER,{conversationVersion:t,assisMsgId:e},{onData:i})},g=async function(t){return await this.call(u.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE,{messageId:t})},f=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE,{messageId:t,content:e})},T=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_MESSAGE_SWIPE,{messageId:t,swipeId:e})};async function M(t,e){let i=await this.call(u.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE,{fromCursor:t,pageSize:e});return{...i,messages:i.messages.map(t=>({...t,swipes:t.swipes.map(t=>Object.assign(t.content,t))}))}}let y=async function(){return await this.call(u.MUJIAN_AI_CHAT_PROJECT_GET_INFO)},N=async function(){return await this.call(u.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE)};async function C(){return await this.call(u.MUJIAN_GET_CONFIG)}let w=async function(){},v=async function(){};async function b(t){return await this.call(u.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT,t)}let O={i(...t){console.log("[MujianSDK] ",...t)},e(...t){console.error("[MujianSDK] ",...t)}};class S{constructor(){}static EVENT=u;static getInstance(){return window.$mujian||(window.$mujian=new S),window.$mujian}parent=null;ready=!1;get isReady(){return this.ready}pendingRequests=new Map;_config;get openapi(){return this._config?.openapi}initPromise=null;async init(){return this.initPromise||(this.initPromise=(async()=>{let t=new h.Model({reply:({id:t,complete:e,data:i,error:n})=>{let a=this.pendingRequests.get(t);if(a){if(n){a.reject(n),this.pendingRequests.delete(t);return}a.onData?.(i),e&&(a.onComplete?.(),a.resolve(i),this.pendingRequests.delete(t))}}});try{let e=await t;this.ready=!0,this.parent=e,O.i("mujian sdk client init"),await this.call(u.MUJIAN_INIT);let i=await this.ai.chat.project.getInfo();if(i.config?.customCss){let t=document.createElement("style");t.setAttribute("type","text/css"),t.setAttribute("id","mujian-custom-css"),t.textContent=i.config.customCss,document.head.appendChild(t)}if(i.config?.customJs){let t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("id","mujian-custom-js"),t.textContent=i.config.customJs,document.head.appendChild(t)}let n=await C.call(this);n&&(this._config=n)}catch(t){O.e("init error",t)}})()),this.initPromise}emit(t,e){if(!this.ready)throw Error("Mujian is not initialized");this.parent?.emit(t,e)}nextCallId=0;getCallId(){let t=this.nextCallId;return this.nextCallId+=1,t}async call(t,e,i){if(!this.ready)throw Error("Mujian is not initialized");let n=this.getCallId();return new Promise((a,s)=>{this.pendingRequests.set(n,{resolve:a,reject:s,...i}),this.emit(t,{id:n,data:e}),i?.signal?.addEventListener("abort",()=>{this.emit(u.MUJIAN_AI_CHAT_STOP,{id:n})})})}ai={chat:{project:{getInfo:y.bind(this)},settings:{persona:{getActive:N.bind(this)}},complete:_.bind(this),renderMessage:m.bind(this),continue:p.bind(this),regenerate:A.bind(this),stop:E.bind(this),recover:I.bind(this),message:{deleteOne:g.bind(this),editOne:f.bind(this),swipe:T.bind(this),getPage:M.bind(this)}},text:{complete:j.bind(this)},openai:{completions:{create:J.create.bind(this)},chat:{completions:{create:P.completions.create.bind(this)}},responses:{create:U.create.bind(this)},images:{generate:R.generate.bind(this)}}};ui={};utils={clipboard:{writeText:b.bind(this)}};hybrid={};player={};game={assets:()=>{console.log("assets")},saves:{saveGame:w.bind(this),loadGame:v.bind(this)},ranking:()=>{console.log("ranking")}}}let j=async function(t){return await this.call(S.EVENT.MUJIAN_AI_TEXT_GENERATE,{content:t})},P={completions:{create:async function(t,e,i,n){return await this.call(S.EVENT.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE,{params:t,options:e},{onData:i,signal:n})}}},J={create:async function(t,e,i,n){return await this.call(S.EVENT.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE,{params:t,options:e},{onData:i,signal:n})}},U={create:async function(t,e,i,n){return await this.call(S.EVENT.MUJIAN_AI_OPENAI_RESPONSES_CREATE,{params:t,options:e},{onData:i,signal:n})}},R={generate:async function(t,e,i,n){return await this.call(S.EVENT.MUJIAN_AI_OPENAI_IMAGES_GENERATE,{params:t,options:e},{onData:i,signal:n})}};class G{constructor(){}static EVENT=u;static getInstance(){return window.$mujian||(window.$mujian=new G),window.$mujian}parent=null;ready=!1;get isReady(){return this.ready}pendingRequests=new Map;_config;get openapi(){return this._config?.openapi}initPromise=null;async init(){return this.initPromise||(this.initPromise=(async()=>{let t=new h.Model({reply:({id:t,complete:e,data:i,error:n})=>{let a=this.pendingRequests.get(t);if(a){if(n){a.reject(n),this.pendingRequests.delete(t);return}a.onData?.(i),e&&(a.onComplete?.(),a.resolve(i),this.pendingRequests.delete(t))}}});try{let e=await t;this.ready=!0,this.parent=e,O.i("mujian sdk client init"),await this.call(u.MUJIAN_INIT);let i=await this.ai.chat.project.getInfo();if(i.config?.customCss){let t=document.createElement("style");t.setAttribute("type","text/css"),t.setAttribute("id","mujian-custom-css"),t.textContent=i.config.customCss,document.head.appendChild(t)}if(i.config?.customJs){let t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("id","mujian-custom-js"),t.textContent=i.config.customJs,document.head.appendChild(t)}let n=await C.call(this);n&&(this._config=n)}catch(t){O.e("init error",t)}})()),this.initPromise}emit(t,e){if(!this.ready)throw Error("Mujian is not initialized");this.parent?.emit(t,e)}nextCallId=0;getCallId(){let t=this.nextCallId;return this.nextCallId+=1,t}async call(t,e,i){if(!this.ready)throw Error("Mujian is not initialized");let n=this.getCallId();return new Promise((a,s)=>{this.pendingRequests.set(n,{resolve:a,reject:s,...i}),this.emit(t,{id:n,data:e}),i?.signal?.addEventListener("abort",()=>{this.emit(u.MUJIAN_AI_CHAT_STOP,{id:n})})})}ai={chat:{project:{getInfo:y.bind(this)},settings:{persona:{getActive:N.bind(this)}},complete:_.bind(this),renderMessage:m.bind(this),continue:p.bind(this),regenerate:A.bind(this),stop:E.bind(this),recover:I.bind(this),message:{deleteOne:g.bind(this),editOne:f.bind(this),swipe:T.bind(this),getPage:M.bind(this)}},text:{complete:j.bind(this)},openai:{completions:{create:J.create.bind(this)},chat:{completions:{create:P.completions.create.bind(this)}},responses:{create:U.create.bind(this)},images:{generate:R.generate.bind(this)}}};ui={};utils={clipboard:{writeText:b.bind(this)}};hybrid={};player={};game={assets:()=>{console.log("assets")},saves:{saveGame:w.bind(this),loadGame:v.bind(this)},ranking:()=>{console.log("ranking")}}}return i})());
|
|
2
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.MujianUMD=e():t.MujianUMD=e()}(globalThis,()=>(()=>{"use strict";var t,e={};e.d=(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};e.r(i),e.d(i,{MujianSdk:()=>G,EVENT:()=>u});var n="application/x-postmate-v1+json",a=0,s=function(t){var e=document.createElement("a");e.href=t;var i=e.protocol.length>4?e.protocol:window.location.protocol,n=e.host.length?"80"===e.port||"443"===e.port?e.hostname:e.host:window.location.host;return e.origin||i+"//"+n},r={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},o=function(t,e){return("string"!=typeof e||t.origin===e)&&!!t.data&&("object"!=typeof t.data||"postmate"in t.data)&&t.data.type===n&&!!r[t.data.postmate]},c=function(t,e){var i="function"==typeof t[e]?t[e]():t[e];return h.Promise.resolve(i)},l=function(){function t(t){var e=this;this.parent=t.parent,this.frame=t.frame,this.child=t.child,this.childOrigin=t.childOrigin,this.events={},this.listener=function(t){if(!o(t,e.childOrigin))return!1;var i=((t||{}).data||{}).value||{},n=i.data,a=i.name;"emit"===t.data.postmate&&a in e.events&&e.events[a].call(e,n)},this.parent.addEventListener("message",this.listener,!1)}var e=t.prototype;return e.get=function(t){var e=this;return new h.Promise(function(i){var s=++a;e.parent.addEventListener("message",function t(n){n.data.uid===s&&"reply"===n.data.postmate&&(e.parent.removeEventListener("message",t,!1),i(n.data.value))},!1),e.child.postMessage({postmate:"request",type:n,property:t,uid:s},e.childOrigin)})},e.call=function(t,e){this.child.postMessage({postmate:"call",type:n,property:t,data:e},this.childOrigin)},e.on=function(t,e){this.events[t]=e},e.destroy=function(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)},t}(),d=function(){function t(t){var e=this;this.model=t.model,this.parent=t.parent,this.parentOrigin=t.parentOrigin,this.child=t.child,this.child.addEventListener("message",function(t){if(o(t,e.parentOrigin)){var i=t.data,a=i.property,s=i.uid,r=i.data;if("call"===t.data.postmate){a in e.model&&"function"==typeof e.model[a]&&e.model[a](r);return}c(e.model,a).then(function(e){return t.source.postMessage({property:a,postmate:"reply",type:n,uid:s,value:e},t.origin)})}})}return t.prototype.emit=function(t,e){this.parent.postMessage({postmate:"emit",type:n,value:{name:t,data:e}},this.parentOrigin)},t}(),h=function(){function t(t){var e=t.container,i=void 0===e?void 0!==i?i:document.body:e,n=t.model,a=t.url,s=t.name,r=t.classListArray;return this.parent=window,this.frame=document.createElement("iframe"),this.frame.name=s||"",this.frame.classList.add.apply(this.frame.classList,void 0===r?[]:r),i.appendChild(this.frame),this.child=this.frame.contentWindow||this.frame.contentDocument.parentWindow,this.model=n||{},this.sendHandshake(a)}return t.prototype.sendHandshake=function(e){var i,a=this,r=s(e),c=0;return new t.Promise(function(t,s){a.parent.addEventListener("message",function e(n){return!!o(n,r)&&("handshake-reply"===n.data.postmate?(clearInterval(i),a.parent.removeEventListener("message",e,!1),a.childOrigin=n.origin,t(new l(a))):s("Failed handshake"))},!1);var d=function(){c++,a.child.postMessage({postmate:"handshake",type:n,model:a.model},r),5===c&&clearInterval(i)},h=function(){d(),i=setInterval(d,500)};a.frame.attachEvent?a.frame.attachEvent("onload",h):a.frame.onload=h,a.frame.src=e})},t}();h.debug=!1,h.Promise=function(){try{return window?window.Promise:Promise}catch(t){return null}}(),h.Model=function(){function t(t){return this.child=window,this.model=t,this.parent=this.child.parent,this.sendHandshakeReply()}return t.prototype.sendHandshakeReply=function(){var t=this;return new h.Promise(function(e,i){t.child.addEventListener("message",function a(s){if(s.data.postmate){if("handshake"===s.data.postmate){t.child.removeEventListener("message",a,!1),s.source.postMessage({postmate:"handshake-reply",type:n},s.origin),t.parentOrigin=s.origin;var r=s.data.model;return r&&Object.keys(r).forEach(function(e){t.model[e]=r[e]}),e(new d(t))}return i("Handshake Reply Failed")}},!1)})},t}();var u=((t={}).MUJIAN_INIT="mujian:init",t.MUJIAN_AI_CHAT_STOP="mujian:ai:chat:stop",t.MUJIAN_AI_CHAT_COMPLETE="mujian:ai:chat:complete",t.MUJIAN_AI_CHAT_APPLY_REGEX="mujian:ai:chat:applyRegex",t.MUJIAN_AI_CHAT_RENDER_MESSAGE="mujian:ai:chat:renderMessage",t.MUJIAN_AI_TEXT_GENERATE="mujian:ai:text:generate",t.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE="mujian:ai:openai:completions:create",t.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE="mujian:ai:openai:chat:completions:create",t.MUJIAN_AI_OPENAI_RESPONSES_CREATE="mujian:ai:openai:responses:create",t.MUJIAN_AI_CHAT_MESSAGE_GET_ALL="mujian:ai:chat:message:getAll",t.MUJIAN_AI_CHAT_MESSAGE_GET_PAGE="mujian:ai:chat:message:getPage",t.MUJIAN_AI_CHAT_PROJECT_GET_INFO="mujian:ai:chat:project:getInfo",t.MUJIAN_AI_CHAT_V2_COMPLETE="mujian:ai:chat_v2:complete",t.MUJIAN_AI_CHAT_V2_RECOVER="mujian:ai:chat_v2:recover",t.MUJIAN_AI_CHAT_V2_STOP="mujian:ai:chat_v2:stop",t.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE="mujian:ai:chat_v2:message:getPage",t.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE="mujian:ai:chat_v2:renderMessage",t.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE="mujian:ai:settings:persona:getActive",t.MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE="mujian:ai:settings:persona:setActive",t.MUJIAN_AI_SETTINGS_MODEL_GET_ALL="mujian:ai:settings:model:getAll",t.MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE="mujian:ai:settings:model:setActive",t.MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE="mujian:ai:settings:model:getActive",t.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE="mujian:ai:chat:message:deleteOne",t.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE="mujian:ai:chat:message:editOne",t.MUJIAN_AI_CHAT_MESSAGE_SWIPE="mujian:ai:chat:message:swipe",t.MUJIAN_AI_OPENAI_IMAGES_GENERATE="mujian:ai:openai:images:generate",t.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT="mujian:utils:clipboard:writeText",t.MUJIAN_GET_CONFIG="mujian:getConfig",t);let _=async function(t,e,i){await this.call(u.MUJIAN_AI_CHAT_V2_COMPLETE,{content:t,conversationVersion:e},{onData:i})},m=async function(t){return await this.call(u.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE,t)},p=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_V2_COMPLETE,{isContinue:!0,conversationVersion:t},{onData:e})},A=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_V2_COMPLETE,{isRegenerate:!0,conversationVersion:t},{onData:e})},E=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_V2_STOP,{conversationVersion:t,assisMsgId:e})},I=async function(t,e,i){return await this.call(u.MUJIAN_AI_CHAT_V2_RECOVER,{conversationVersion:t,assisMsgId:e},{onData:i})},g=async function(t){return await this.call(u.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE,{messageId:t})},f=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE,{messageId:t,content:e})},T=async function(t,e){return await this.call(u.MUJIAN_AI_CHAT_MESSAGE_SWIPE,{messageId:t,swipeId:e})};async function M(t,e){let i=await this.call(u.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE,{fromCursor:t,pageSize:e});return{...i,messages:i.messages.map(t=>({...t,swipes:t.swipes.map(t=>Object.assign(t.content,t)),content:t.swipes[t.activeSwipeId].content}))}}let y=async function(){return await this.call(u.MUJIAN_AI_CHAT_PROJECT_GET_INFO)},N=async function(){return await this.call(u.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE)};async function C(){return await this.call(u.MUJIAN_GET_CONFIG)}let w=async function(){},v=async function(){};async function S(t){return await this.call(u.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT,t)}let b={i(...t){console.log("[MujianSDK] ",...t)},e(...t){console.error("[MujianSDK] ",...t)}};class O{constructor(){}static EVENT=u;static getInstance(){return window.$mujian||(window.$mujian=new O),window.$mujian}parent=null;ready=!1;get isReady(){return this.ready}pendingRequests=new Map;_config;get openapi(){return this._config?.openapi}initPromise=null;async init(){return this.initPromise||(this.initPromise=(async()=>{let t=new h.Model({reply:({id:t,complete:e,data:i,error:n})=>{let a=this.pendingRequests.get(t);if(a){if(n){a.reject(n),this.pendingRequests.delete(t);return}a.onData?.(i),e&&(a.onComplete?.(),a.resolve(i),this.pendingRequests.delete(t))}}});try{let e=await t;this.ready=!0,this.parent=e,b.i("mujian sdk client init"),await this.call(u.MUJIAN_INIT);let i=await this.ai.chat.project.getInfo();if(i.config?.customCss){let t=document.createElement("style");t.setAttribute("type","text/css"),t.setAttribute("id","mujian-custom-css"),t.textContent=i.config.customCss,document.head.appendChild(t)}if(i.config?.customJs){let t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("id","mujian-custom-js"),t.textContent=i.config.customJs,document.head.appendChild(t)}let n=await C.call(this);n&&(this._config=n)}catch(t){b.e("init error",t)}})()),this.initPromise}emit(t,e){if(!this.ready)throw Error("Mujian is not initialized");this.parent?.emit(t,e)}nextCallId=0;getCallId(){let t=this.nextCallId;return this.nextCallId+=1,t}async call(t,e,i){if(!this.ready)throw Error("Mujian is not initialized");let n=this.getCallId();return new Promise((a,s)=>{this.pendingRequests.set(n,{resolve:a,reject:s,...i}),this.emit(t,{id:n,data:e}),i?.signal?.addEventListener("abort",()=>{this.emit(u.MUJIAN_AI_CHAT_STOP,{id:n})})})}ai={chat:{project:{getInfo:y.bind(this)},settings:{persona:{getActive:N.bind(this)}},complete:_.bind(this),renderMessage:m.bind(this),continue:p.bind(this),regenerate:A.bind(this),stop:E.bind(this),recover:I.bind(this),message:{deleteOne:g.bind(this),editOne:f.bind(this),swipe:T.bind(this),getPage:M.bind(this)}},text:{complete:j.bind(this)},openai:{completions:{create:J.create.bind(this)},chat:{completions:{create:P.completions.create.bind(this)}},responses:{create:U.create.bind(this)},images:{generate:R.generate.bind(this)}}};ui={};utils={clipboard:{writeText:S.bind(this)}};hybrid={};player={};game={assets:()=>{console.log("assets")},saves:{saveGame:w.bind(this),loadGame:v.bind(this)},ranking:()=>{console.log("ranking")}}}let j=async function(t){return await this.call(O.EVENT.MUJIAN_AI_TEXT_GENERATE,{content:t})},P={completions:{create:async function(t,e,i,n){return await this.call(O.EVENT.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE,{params:t,options:e},{onData:i,signal:n})}}},J={create:async function(t,e,i,n){return await this.call(O.EVENT.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE,{params:t,options:e},{onData:i,signal:n})}},U={create:async function(t,e,i,n){return await this.call(O.EVENT.MUJIAN_AI_OPENAI_RESPONSES_CREATE,{params:t,options:e},{onData:i,signal:n})}},R={generate:async function(t,e,i,n){return await this.call(O.EVENT.MUJIAN_AI_OPENAI_IMAGES_GENERATE,{params:t,options:e},{onData:i,signal:n})}};class G{constructor(){}static EVENT=u;static getInstance(){return window.$mujian||(window.$mujian=new G),window.$mujian}parent=null;ready=!1;get isReady(){return this.ready}pendingRequests=new Map;_config;get openapi(){return this._config?.openapi}initPromise=null;async init(){return this.initPromise||(this.initPromise=(async()=>{let t=new h.Model({reply:({id:t,complete:e,data:i,error:n})=>{let a=this.pendingRequests.get(t);if(a){if(n){a.reject(n),this.pendingRequests.delete(t);return}a.onData?.(i),e&&(a.onComplete?.(),a.resolve(i),this.pendingRequests.delete(t))}}});try{let e=await t;this.ready=!0,this.parent=e,b.i("mujian sdk client init"),await this.call(u.MUJIAN_INIT);let i=await this.ai.chat.project.getInfo();if(i.config?.customCss){let t=document.createElement("style");t.setAttribute("type","text/css"),t.setAttribute("id","mujian-custom-css"),t.textContent=i.config.customCss,document.head.appendChild(t)}if(i.config?.customJs){let t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("id","mujian-custom-js"),t.textContent=i.config.customJs,document.head.appendChild(t)}let n=await C.call(this);n&&(this._config=n)}catch(t){b.e("init error",t)}})()),this.initPromise}emit(t,e){if(!this.ready)throw Error("Mujian is not initialized");this.parent?.emit(t,e)}nextCallId=0;getCallId(){let t=this.nextCallId;return this.nextCallId+=1,t}async call(t,e,i){if(!this.ready)throw Error("Mujian is not initialized");let n=this.getCallId();return new Promise((a,s)=>{this.pendingRequests.set(n,{resolve:a,reject:s,...i}),this.emit(t,{id:n,data:e}),i?.signal?.addEventListener("abort",()=>{this.emit(u.MUJIAN_AI_CHAT_STOP,{id:n})})})}ai={chat:{project:{getInfo:y.bind(this)},settings:{persona:{getActive:N.bind(this)}},complete:_.bind(this),renderMessage:m.bind(this),continue:p.bind(this),regenerate:A.bind(this),stop:E.bind(this),recover:I.bind(this),message:{deleteOne:g.bind(this),editOne:f.bind(this),swipe:T.bind(this),getPage:M.bind(this)}},text:{complete:j.bind(this)},openai:{completions:{create:J.create.bind(this)},chat:{completions:{create:P.completions.create.bind(this)}},responses:{create:U.create.bind(this)},images:{generate:R.generate.bind(this)}}};ui={};utils={clipboard:{writeText:S.bind(this)}};hybrid={};player={};game={assets:()=>{console.log("assets")},saves:{saveGame:w.bind(this),loadGame:v.bind(this)},ranking:()=>{console.log("ranking")}}}return i})());
|
package/dist/umd/react.js
CHANGED
|
@@ -161,7 +161,7 @@ ${i}
|
|
|
161
161
|
<iframe id="${l}" class="w-full" sandbox="${t?"allow-scripts":"allow-scripts allow-same-origin"}" loading="lazy"
|
|
162
162
|
referrerpolicy="no-referrer" allowTransparency="true"
|
|
163
163
|
style="color-scheme: none;background-color: transparent;width:100%;;border:none;" srcdoc="`+f+`"></iframe>
|
|
164
|
-
</div>`}),i.current&&(i.current.innerHTML=o)},[e]),(0,N.useEffect)(()=>{window.addEventListener("message",function(e){if(e.data?.type==="MJ_ADJUST_IFRAME_HEIGHT"&&e.data?.iframe_id){let t=i.current?.querySelector("#"+e.data.iframe_id);t&&(t.style.height=`${e.data.height}px`)}}),window.addEventListener("resize",()=>{o.forEach(e=>{let t=i.current?.querySelector("#MJ-iframe-"+e);t&&t.contentWindow?.postMessage({type:"MJ_UPDATE_VIEWPORT_HEIGHT"},"*")})})},[]),(0,N.useEffect)(()=>(o.forEach(e=>{let t=i.current?.querySelector("#MJ-iframe-"+e);if(!t)return;let n=()=>{let n=t.parentElement?.querySelector("#MJ-spin-"+e);n&&n.remove()},r=setTimeout(n,5e3);t.addEventListener("load",()=>{clearTimeout(r),n()})}),()=>{o.forEach(e=>{let t=i.current?.querySelector("#MJ-iframe-"+e);if(!t)return;let n=t.parentElement?.querySelector("#MJ-spin-"+t.id);n&&n.remove(),t.removeEventListener("load",()=>{sX.i("iframe loaded",t.id)})})}),[o]),(0,uY.jsx)("div",{className:"mes_text",ref:i})},s6=R().memo(s2,(e,t)=>e.content===t.content);s2.displayName="MdRenderer",s6.displayName="MdRenderer";var s4="application/x-postmate-v1+json",s9=0,s5=function(e){var t=document.createElement("a");t.href=e;var n=t.protocol.length>4?t.protocol:window.location.protocol,r=t.host.length?"80"===t.port||"443"===t.port?t.hostname:t.host:window.location.host;return t.origin||n+"//"+r},s7={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},de=function(e,t){return("string"!=typeof t||e.origin===t)&&!!e.data&&("object"!=typeof e.data||"postmate"in e.data)&&e.data.type===s4&&!!s7[e.data.postmate]},dt=function(e,t){var n="function"==typeof e[t]?e[t]():e[t];return di.Promise.resolve(n)},dn=function(){function e(e){var t=this;this.parent=e.parent,this.frame=e.frame,this.child=e.child,this.childOrigin=e.childOrigin,this.events={},this.listener=function(e){if(!de(e,t.childOrigin))return!1;var n=((e||{}).data||{}).value||{},r=n.data,i=n.name;"emit"===e.data.postmate&&i in t.events&&t.events[i].call(t,r)},this.parent.addEventListener("message",this.listener,!1)}var t=e.prototype;return t.get=function(e){var t=this;return new di.Promise(function(n){var r=++s9;t.parent.addEventListener("message",function e(i){i.data.uid===r&&"reply"===i.data.postmate&&(t.parent.removeEventListener("message",e,!1),n(i.data.value))},!1),t.child.postMessage({postmate:"request",type:s4,property:e,uid:r},t.childOrigin)})},t.call=function(e,t){this.child.postMessage({postmate:"call",type:s4,property:e,data:t},this.childOrigin)},t.on=function(e,t){this.events[e]=t},t.destroy=function(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)},e}(),dr=function(){function e(e){var t=this;this.model=e.model,this.parent=e.parent,this.parentOrigin=e.parentOrigin,this.child=e.child,this.child.addEventListener("message",function(e){if(de(e,t.parentOrigin)){var n=e.data,r=n.property,i=n.uid,o=n.data;if("call"===e.data.postmate){r in t.model&&"function"==typeof t.model[r]&&t.model[r](o);return}dt(t.model,r).then(function(t){return e.source.postMessage({property:r,postmate:"reply",type:s4,uid:i,value:t},e.origin)})}})}return e.prototype.emit=function(e,t){this.parent.postMessage({postmate:"emit",type:s4,value:{name:e,data:t}},this.parentOrigin)},e}(),di=function(){function e(e){var t=e.container,n=void 0===t?void 0!==n?n:document.body:t,r=e.model,i=e.url,o=e.name,a=e.classListArray;return this.parent=window,this.frame=document.createElement("iframe"),this.frame.name=o||"",this.frame.classList.add.apply(this.frame.classList,void 0===a?[]:a),n.appendChild(this.frame),this.child=this.frame.contentWindow||this.frame.contentDocument.parentWindow,this.model=r||{},this.sendHandshake(i)}return e.prototype.sendHandshake=function(t){var n,r=this,i=s5(t),o=0;return new e.Promise(function(e,a){r.parent.addEventListener("message",function t(o){return!!de(o,i)&&("handshake-reply"===o.data.postmate?(clearInterval(n),r.parent.removeEventListener("message",t,!1),r.childOrigin=o.origin,e(new dn(r))):a("Failed handshake"))},!1);var u=function(){o++,r.child.postMessage({postmate:"handshake",type:s4,model:r.model},i),5===o&&clearInterval(n)},s=function(){u(),n=setInterval(u,500)};r.frame.attachEvent?r.frame.attachEvent("onload",s):r.frame.onload=s,r.frame.src=t})},e}();di.debug=!1,di.Promise=function(){try{return window?window.Promise:Promise}catch(e){return null}}(),di.Model=function(){function e(e){return this.child=window,this.model=e,this.parent=this.child.parent,this.sendHandshakeReply()}return e.prototype.sendHandshakeReply=function(){var e=this;return new di.Promise(function(t,n){e.child.addEventListener("message",function r(i){if(i.data.postmate){if("handshake"===i.data.postmate){e.child.removeEventListener("message",r,!1),i.source.postMessage({postmate:"handshake-reply",type:s4},i.origin),e.parentOrigin=i.origin;var o=i.data.model;return o&&Object.keys(o).forEach(function(t){e.model[t]=o[t]}),t(new dr(e))}return n("Handshake Reply Failed")}},!1)})},e}();var da=((g={}).MUJIAN_INIT="mujian:init",g.MUJIAN_AI_CHAT_STOP="mujian:ai:chat:stop",g.MUJIAN_AI_CHAT_COMPLETE="mujian:ai:chat:complete",g.MUJIAN_AI_CHAT_APPLY_REGEX="mujian:ai:chat:applyRegex",g.MUJIAN_AI_CHAT_RENDER_MESSAGE="mujian:ai:chat:renderMessage",g.MUJIAN_AI_TEXT_GENERATE="mujian:ai:text:generate",g.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE="mujian:ai:openai:completions:create",g.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE="mujian:ai:openai:chat:completions:create",g.MUJIAN_AI_OPENAI_RESPONSES_CREATE="mujian:ai:openai:responses:create",g.MUJIAN_AI_CHAT_MESSAGE_GET_ALL="mujian:ai:chat:message:getAll",g.MUJIAN_AI_CHAT_MESSAGE_GET_PAGE="mujian:ai:chat:message:getPage",g.MUJIAN_AI_CHAT_PROJECT_GET_INFO="mujian:ai:chat:project:getInfo",g.MUJIAN_AI_CHAT_V2_COMPLETE="mujian:ai:chat_v2:complete",g.MUJIAN_AI_CHAT_V2_RECOVER="mujian:ai:chat_v2:recover",g.MUJIAN_AI_CHAT_V2_STOP="mujian:ai:chat_v2:stop",g.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE="mujian:ai:chat_v2:message:getPage",g.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE="mujian:ai:chat_v2:renderMessage",g.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE="mujian:ai:settings:persona:getActive",g.MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE="mujian:ai:settings:persona:setActive",g.MUJIAN_AI_SETTINGS_MODEL_GET_ALL="mujian:ai:settings:model:getAll",g.MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE="mujian:ai:settings:model:setActive",g.MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE="mujian:ai:settings:model:getActive",g.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE="mujian:ai:chat:message:deleteOne",g.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE="mujian:ai:chat:message:editOne",g.MUJIAN_AI_CHAT_MESSAGE_SWIPE="mujian:ai:chat:message:swipe",g.MUJIAN_AI_OPENAI_IMAGES_GENERATE="mujian:ai:openai:images:generate",g.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT="mujian:utils:clipboard:writeText",g.MUJIAN_GET_CONFIG="mujian:getConfig",g);let du=async function(e,t,n){await this.call(da.MUJIAN_AI_CHAT_V2_COMPLETE,{content:e,conversationVersion:t},{onData:n})},ds=async function(e){return await this.call(da.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE,e)},dd=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_V2_COMPLETE,{isContinue:!0,conversationVersion:e},{onData:t})},dc=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_V2_COMPLETE,{isRegenerate:!0,conversationVersion:e},{onData:t})},dl=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_V2_STOP,{conversationVersion:e,assisMsgId:t})},dp=async function(e,t,n){return await this.call(da.MUJIAN_AI_CHAT_V2_RECOVER,{conversationVersion:e,assisMsgId:t},{onData:n})},df=async function(e){return await this.call(da.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE,{messageId:e})},dh=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE,{messageId:e,content:t})},dm=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_MESSAGE_SWIPE,{messageId:e,swipeId:t})};async function d_(e,t){let n=await this.call(da.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE,{fromCursor:e,pageSize:t});return{...n,messages:n.messages.map(e=>({...e,swipes:e.swipes.map(e=>Object.assign(e.content,e))}))}}let dg=async function(){return await this.call(da.MUJIAN_AI_CHAT_PROJECT_GET_INFO)},db=async function(){return await this.call(da.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE)},dy=async function(e){return await this.call(dT.EVENT.MUJIAN_AI_TEXT_GENERATE,{content:e})},dv={completions:{create:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE,{params:e,options:t},{onData:n,signal:r})}}},dw={create:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE,{params:e,options:t},{onData:n,signal:r})}},dk={create:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_RESPONSES_CREATE,{params:e,options:t},{onData:n,signal:r})}},dz={generate:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_IMAGES_GENERATE,{params:e,options:t},{onData:n,signal:r})}};async function dS(){return await this.call(da.MUJIAN_GET_CONFIG)}let dE=async function(){},dA=async function(){};async function dx(e){return await this.call(da.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT,e)}class dT{constructor(){}static EVENT=da;static getInstance(){return window.$mujian||(window.$mujian=new dT),window.$mujian}parent=null;ready=!1;get isReady(){return this.ready}pendingRequests=new Map;_config;get openapi(){return this._config?.openapi}initPromise=null;async init(){return this.initPromise||(this.initPromise=(async()=>{let e=new di.Model({reply:({id:e,complete:t,data:n,error:r})=>{let i=this.pendingRequests.get(e);if(i){if(r){i.reject(r),this.pendingRequests.delete(e);return}i.onData?.(n),t&&(i.onComplete?.(),i.resolve(n),this.pendingRequests.delete(e))}}});try{let t=await e;this.ready=!0,this.parent=t,sX.i("mujian sdk client init"),await this.call(da.MUJIAN_INIT);let n=await this.ai.chat.project.getInfo();if(n.config?.customCss){let e=document.createElement("style");e.setAttribute("type","text/css"),e.setAttribute("id","mujian-custom-css"),e.textContent=n.config.customCss,document.head.appendChild(e)}if(n.config?.customJs){let e=document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("id","mujian-custom-js"),e.textContent=n.config.customJs,document.head.appendChild(e)}let r=await dS.call(this);r&&(this._config=r)}catch(e){sX.e("init error",e)}})()),this.initPromise}emit(e,t){if(!this.ready)throw Error("Mujian is not initialized");this.parent?.emit(e,t)}nextCallId=0;getCallId(){let e=this.nextCallId;return this.nextCallId+=1,e}async call(e,t,n){if(!this.ready)throw Error("Mujian is not initialized");let r=this.getCallId();return new Promise((i,o)=>{this.pendingRequests.set(r,{resolve:i,reject:o,...n}),this.emit(e,{id:r,data:t}),n?.signal?.addEventListener("abort",()=>{this.emit(da.MUJIAN_AI_CHAT_STOP,{id:r})})})}ai={chat:{project:{getInfo:dg.bind(this)},settings:{persona:{getActive:db.bind(this)}},complete:du.bind(this),renderMessage:ds.bind(this),continue:dd.bind(this),regenerate:dc.bind(this),stop:dl.bind(this),recover:dp.bind(this),message:{deleteOne:df.bind(this),editOne:dh.bind(this),swipe:dm.bind(this),getPage:d_.bind(this)}},text:{complete:dy.bind(this)},openai:{completions:{create:dw.create.bind(this)},chat:{completions:{create:dv.completions.create.bind(this)}},responses:{create:dk.create.bind(this)},images:{generate:dz.generate.bind(this)}}};ui={};utils={clipboard:{writeText:dx.bind(this)}};hybrid={};player={};game={assets:()=>{console.log("assets")},saves:{saveGame:dE.bind(this),loadGame:dA.bind(this)},ranking:()=>{console.log("ranking")}}}let dj=`
|
|
164
|
+
</div>`}),i.current&&(i.current.innerHTML=o)},[e]),(0,N.useEffect)(()=>{window.addEventListener("message",function(e){if(e.data?.type==="MJ_ADJUST_IFRAME_HEIGHT"&&e.data?.iframe_id){let t=i.current?.querySelector("#"+e.data.iframe_id);t&&(t.style.height=`${e.data.height}px`)}}),window.addEventListener("resize",()=>{o.forEach(e=>{let t=i.current?.querySelector("#MJ-iframe-"+e);t&&t.contentWindow?.postMessage({type:"MJ_UPDATE_VIEWPORT_HEIGHT"},"*")})})},[]),(0,N.useEffect)(()=>(o.forEach(e=>{let t=i.current?.querySelector("#MJ-iframe-"+e);if(!t)return;let n=()=>{let n=t.parentElement?.querySelector("#MJ-spin-"+e);n&&n.remove()},r=setTimeout(n,5e3);t.addEventListener("load",()=>{clearTimeout(r),n()})}),()=>{o.forEach(e=>{let t=i.current?.querySelector("#MJ-iframe-"+e);if(!t)return;let n=t.parentElement?.querySelector("#MJ-spin-"+t.id);n&&n.remove(),t.removeEventListener("load",()=>{sX.i("iframe loaded",t.id)})})}),[o]),(0,uY.jsx)("div",{className:"mes_text",ref:i})},s6=R().memo(s2,(e,t)=>e.content===t.content);s2.displayName="MdRenderer",s6.displayName="MdRenderer";var s4="application/x-postmate-v1+json",s9=0,s5=function(e){var t=document.createElement("a");t.href=e;var n=t.protocol.length>4?t.protocol:window.location.protocol,r=t.host.length?"80"===t.port||"443"===t.port?t.hostname:t.host:window.location.host;return t.origin||n+"//"+r},s7={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},de=function(e,t){return("string"!=typeof t||e.origin===t)&&!!e.data&&("object"!=typeof e.data||"postmate"in e.data)&&e.data.type===s4&&!!s7[e.data.postmate]},dt=function(e,t){var n="function"==typeof e[t]?e[t]():e[t];return di.Promise.resolve(n)},dn=function(){function e(e){var t=this;this.parent=e.parent,this.frame=e.frame,this.child=e.child,this.childOrigin=e.childOrigin,this.events={},this.listener=function(e){if(!de(e,t.childOrigin))return!1;var n=((e||{}).data||{}).value||{},r=n.data,i=n.name;"emit"===e.data.postmate&&i in t.events&&t.events[i].call(t,r)},this.parent.addEventListener("message",this.listener,!1)}var t=e.prototype;return t.get=function(e){var t=this;return new di.Promise(function(n){var r=++s9;t.parent.addEventListener("message",function e(i){i.data.uid===r&&"reply"===i.data.postmate&&(t.parent.removeEventListener("message",e,!1),n(i.data.value))},!1),t.child.postMessage({postmate:"request",type:s4,property:e,uid:r},t.childOrigin)})},t.call=function(e,t){this.child.postMessage({postmate:"call",type:s4,property:e,data:t},this.childOrigin)},t.on=function(e,t){this.events[e]=t},t.destroy=function(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)},e}(),dr=function(){function e(e){var t=this;this.model=e.model,this.parent=e.parent,this.parentOrigin=e.parentOrigin,this.child=e.child,this.child.addEventListener("message",function(e){if(de(e,t.parentOrigin)){var n=e.data,r=n.property,i=n.uid,o=n.data;if("call"===e.data.postmate){r in t.model&&"function"==typeof t.model[r]&&t.model[r](o);return}dt(t.model,r).then(function(t){return e.source.postMessage({property:r,postmate:"reply",type:s4,uid:i,value:t},e.origin)})}})}return e.prototype.emit=function(e,t){this.parent.postMessage({postmate:"emit",type:s4,value:{name:e,data:t}},this.parentOrigin)},e}(),di=function(){function e(e){var t=e.container,n=void 0===t?void 0!==n?n:document.body:t,r=e.model,i=e.url,o=e.name,a=e.classListArray;return this.parent=window,this.frame=document.createElement("iframe"),this.frame.name=o||"",this.frame.classList.add.apply(this.frame.classList,void 0===a?[]:a),n.appendChild(this.frame),this.child=this.frame.contentWindow||this.frame.contentDocument.parentWindow,this.model=r||{},this.sendHandshake(i)}return e.prototype.sendHandshake=function(t){var n,r=this,i=s5(t),o=0;return new e.Promise(function(e,a){r.parent.addEventListener("message",function t(o){return!!de(o,i)&&("handshake-reply"===o.data.postmate?(clearInterval(n),r.parent.removeEventListener("message",t,!1),r.childOrigin=o.origin,e(new dn(r))):a("Failed handshake"))},!1);var u=function(){o++,r.child.postMessage({postmate:"handshake",type:s4,model:r.model},i),5===o&&clearInterval(n)},s=function(){u(),n=setInterval(u,500)};r.frame.attachEvent?r.frame.attachEvent("onload",s):r.frame.onload=s,r.frame.src=t})},e}();di.debug=!1,di.Promise=function(){try{return window?window.Promise:Promise}catch(e){return null}}(),di.Model=function(){function e(e){return this.child=window,this.model=e,this.parent=this.child.parent,this.sendHandshakeReply()}return e.prototype.sendHandshakeReply=function(){var e=this;return new di.Promise(function(t,n){e.child.addEventListener("message",function r(i){if(i.data.postmate){if("handshake"===i.data.postmate){e.child.removeEventListener("message",r,!1),i.source.postMessage({postmate:"handshake-reply",type:s4},i.origin),e.parentOrigin=i.origin;var o=i.data.model;return o&&Object.keys(o).forEach(function(t){e.model[t]=o[t]}),t(new dr(e))}return n("Handshake Reply Failed")}},!1)})},e}();var da=((g={}).MUJIAN_INIT="mujian:init",g.MUJIAN_AI_CHAT_STOP="mujian:ai:chat:stop",g.MUJIAN_AI_CHAT_COMPLETE="mujian:ai:chat:complete",g.MUJIAN_AI_CHAT_APPLY_REGEX="mujian:ai:chat:applyRegex",g.MUJIAN_AI_CHAT_RENDER_MESSAGE="mujian:ai:chat:renderMessage",g.MUJIAN_AI_TEXT_GENERATE="mujian:ai:text:generate",g.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE="mujian:ai:openai:completions:create",g.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE="mujian:ai:openai:chat:completions:create",g.MUJIAN_AI_OPENAI_RESPONSES_CREATE="mujian:ai:openai:responses:create",g.MUJIAN_AI_CHAT_MESSAGE_GET_ALL="mujian:ai:chat:message:getAll",g.MUJIAN_AI_CHAT_MESSAGE_GET_PAGE="mujian:ai:chat:message:getPage",g.MUJIAN_AI_CHAT_PROJECT_GET_INFO="mujian:ai:chat:project:getInfo",g.MUJIAN_AI_CHAT_V2_COMPLETE="mujian:ai:chat_v2:complete",g.MUJIAN_AI_CHAT_V2_RECOVER="mujian:ai:chat_v2:recover",g.MUJIAN_AI_CHAT_V2_STOP="mujian:ai:chat_v2:stop",g.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE="mujian:ai:chat_v2:message:getPage",g.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE="mujian:ai:chat_v2:renderMessage",g.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE="mujian:ai:settings:persona:getActive",g.MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE="mujian:ai:settings:persona:setActive",g.MUJIAN_AI_SETTINGS_MODEL_GET_ALL="mujian:ai:settings:model:getAll",g.MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE="mujian:ai:settings:model:setActive",g.MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE="mujian:ai:settings:model:getActive",g.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE="mujian:ai:chat:message:deleteOne",g.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE="mujian:ai:chat:message:editOne",g.MUJIAN_AI_CHAT_MESSAGE_SWIPE="mujian:ai:chat:message:swipe",g.MUJIAN_AI_OPENAI_IMAGES_GENERATE="mujian:ai:openai:images:generate",g.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT="mujian:utils:clipboard:writeText",g.MUJIAN_GET_CONFIG="mujian:getConfig",g);let du=async function(e,t,n){await this.call(da.MUJIAN_AI_CHAT_V2_COMPLETE,{content:e,conversationVersion:t},{onData:n})},ds=async function(e){return await this.call(da.MUJIAN_AI_CHAT_V2_RENDER_MESSAGE,e)},dd=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_V2_COMPLETE,{isContinue:!0,conversationVersion:e},{onData:t})},dc=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_V2_COMPLETE,{isRegenerate:!0,conversationVersion:e},{onData:t})},dl=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_V2_STOP,{conversationVersion:e,assisMsgId:t})},dp=async function(e,t,n){return await this.call(da.MUJIAN_AI_CHAT_V2_RECOVER,{conversationVersion:e,assisMsgId:t},{onData:n})},df=async function(e){return await this.call(da.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE,{messageId:e})},dh=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE,{messageId:e,content:t})},dm=async function(e,t){return await this.call(da.MUJIAN_AI_CHAT_MESSAGE_SWIPE,{messageId:e,swipeId:t})};async function d_(e,t){let n=await this.call(da.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE,{fromCursor:e,pageSize:t});return{...n,messages:n.messages.map(e=>({...e,swipes:e.swipes.map(e=>Object.assign(e.content,e)),content:e.swipes[e.activeSwipeId].content}))}}let dg=async function(){return await this.call(da.MUJIAN_AI_CHAT_PROJECT_GET_INFO)},db=async function(){return await this.call(da.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE)},dy=async function(e){return await this.call(dT.EVENT.MUJIAN_AI_TEXT_GENERATE,{content:e})},dv={completions:{create:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_CHAT_COMPLETIONS_CREATE,{params:e,options:t},{onData:n,signal:r})}}},dw={create:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_COMPLETIONS_CREATE,{params:e,options:t},{onData:n,signal:r})}},dk={create:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_RESPONSES_CREATE,{params:e,options:t},{onData:n,signal:r})}},dz={generate:async function(e,t,n,r){return await this.call(dT.EVENT.MUJIAN_AI_OPENAI_IMAGES_GENERATE,{params:e,options:t},{onData:n,signal:r})}};async function dS(){return await this.call(da.MUJIAN_GET_CONFIG)}let dE=async function(){},dA=async function(){};async function dx(e){return await this.call(da.MUJIAN_UTILS_CLIPBOARD_WRITE_TEXT,e)}class dT{constructor(){}static EVENT=da;static getInstance(){return window.$mujian||(window.$mujian=new dT),window.$mujian}parent=null;ready=!1;get isReady(){return this.ready}pendingRequests=new Map;_config;get openapi(){return this._config?.openapi}initPromise=null;async init(){return this.initPromise||(this.initPromise=(async()=>{let e=new di.Model({reply:({id:e,complete:t,data:n,error:r})=>{let i=this.pendingRequests.get(e);if(i){if(r){i.reject(r),this.pendingRequests.delete(e);return}i.onData?.(n),t&&(i.onComplete?.(),i.resolve(n),this.pendingRequests.delete(e))}}});try{let t=await e;this.ready=!0,this.parent=t,sX.i("mujian sdk client init"),await this.call(da.MUJIAN_INIT);let n=await this.ai.chat.project.getInfo();if(n.config?.customCss){let e=document.createElement("style");e.setAttribute("type","text/css"),e.setAttribute("id","mujian-custom-css"),e.textContent=n.config.customCss,document.head.appendChild(e)}if(n.config?.customJs){let e=document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("id","mujian-custom-js"),e.textContent=n.config.customJs,document.head.appendChild(e)}let r=await dS.call(this);r&&(this._config=r)}catch(e){sX.e("init error",e)}})()),this.initPromise}emit(e,t){if(!this.ready)throw Error("Mujian is not initialized");this.parent?.emit(e,t)}nextCallId=0;getCallId(){let e=this.nextCallId;return this.nextCallId+=1,e}async call(e,t,n){if(!this.ready)throw Error("Mujian is not initialized");let r=this.getCallId();return new Promise((i,o)=>{this.pendingRequests.set(r,{resolve:i,reject:o,...n}),this.emit(e,{id:r,data:t}),n?.signal?.addEventListener("abort",()=>{this.emit(da.MUJIAN_AI_CHAT_STOP,{id:r})})})}ai={chat:{project:{getInfo:dg.bind(this)},settings:{persona:{getActive:db.bind(this)}},complete:du.bind(this),renderMessage:ds.bind(this),continue:dd.bind(this),regenerate:dc.bind(this),stop:dl.bind(this),recover:dp.bind(this),message:{deleteOne:df.bind(this),editOne:dh.bind(this),swipe:dm.bind(this),getPage:d_.bind(this)}},text:{complete:dy.bind(this)},openai:{completions:{create:dw.create.bind(this)},chat:{completions:{create:dv.completions.create.bind(this)}},responses:{create:dk.create.bind(this)},images:{generate:dz.generate.bind(this)}}};ui={};utils={clipboard:{writeText:dx.bind(this)}};hybrid={};player={};game={assets:()=>{console.log("assets")},saves:{saveGame:dE.bind(this),loadGame:dA.bind(this)},ranking:()=>{console.log("ranking")}}}let dj=`
|
|
165
165
|
@keyframes spin {
|
|
166
166
|
0% { transform: rotate(0deg); }
|
|
167
167
|
100% { transform: rotate(360deg); }
|