@mujian/js-sdk 0.1.0-beta.7 → 0.1.0-beta.8
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 +9 -1
- package/dist/index.js +11 -1
- package/dist/modules/ai/chat/message/index.d.ts +9 -2
- package/dist/react.js +11 -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
|
@@ -77,8 +77,16 @@ declare class MujianSdk {
|
|
|
77
77
|
editOne: (messageId: string, content: string) => Promise<unknown>;
|
|
78
78
|
swipe: (messageId: string, swipeId: number) => Promise<unknown>;
|
|
79
79
|
getPage: (fromCursor: import("./types").Cursor | undefined, pageSize: number) => Promise<{
|
|
80
|
+
messages: {
|
|
81
|
+
swipes: (string & import("./react/chat/useChat/message").MessageV2Swipe)[];
|
|
82
|
+
id: string;
|
|
83
|
+
isUser: boolean;
|
|
84
|
+
activeSwipeId: number;
|
|
85
|
+
isGenerating?: boolean;
|
|
86
|
+
finishReason?: string;
|
|
87
|
+
error?: import("./react/chat/useChat/message").ChatError;
|
|
88
|
+
}[];
|
|
80
89
|
nextCursor?: import("./types").Cursor;
|
|
81
|
-
messages: Array<import("./react").Message>;
|
|
82
90
|
total?: number;
|
|
83
91
|
conversationVersion: number;
|
|
84
92
|
}>;
|
package/dist/index.js
CHANGED
|
@@ -89,10 +89,20 @@ const messageSwipe = async function(messageId, swipeId) {
|
|
|
89
89
|
});
|
|
90
90
|
};
|
|
91
91
|
async function getPage(fromCursor, pageSize) {
|
|
92
|
-
|
|
92
|
+
const resp = await this.call(events_EVENT.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE, {
|
|
93
93
|
fromCursor,
|
|
94
94
|
pageSize
|
|
95
95
|
});
|
|
96
|
+
return {
|
|
97
|
+
...resp,
|
|
98
|
+
messages: resp.messages.map((m)=>({
|
|
99
|
+
...m,
|
|
100
|
+
swipes: m.swipes.map((s)=>{
|
|
101
|
+
const ret = Object.assign(s.content, s);
|
|
102
|
+
return ret;
|
|
103
|
+
})
|
|
104
|
+
}))
|
|
105
|
+
};
|
|
96
106
|
}
|
|
97
107
|
const getInfo = async function() {
|
|
98
108
|
return await this.call(events_EVENT.MUJIAN_AI_CHAT_PROJECT_GET_INFO);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { MujianSdk } from '../../../../index.ts';
|
|
2
|
-
import type { Message } from '../../../../react/chat/useChat/message';
|
|
3
2
|
import { Cursor } from '../../../../types';
|
|
4
3
|
/**
|
|
5
4
|
* 删除消息
|
|
@@ -30,9 +29,17 @@ this: MujianSdk, messageId: string, swipeId: number) => Promise<unknown>;
|
|
|
30
29
|
export declare function getPage(
|
|
31
30
|
/** @hidden */
|
|
32
31
|
this: MujianSdk, fromCursor: Cursor | undefined, pageSize: number): Promise<{
|
|
32
|
+
messages: {
|
|
33
|
+
swipes: (string & import("../../../../react/chat/useChat/message").MessageV2Swipe)[];
|
|
34
|
+
id: string;
|
|
35
|
+
isUser: boolean;
|
|
36
|
+
activeSwipeId: number;
|
|
37
|
+
isGenerating?: boolean;
|
|
38
|
+
finishReason?: string;
|
|
39
|
+
error?: import("../../../../react/chat/useChat/message").ChatError;
|
|
40
|
+
}[];
|
|
33
41
|
/** 分页游标,若为空则表示无下一页 */
|
|
34
42
|
nextCursor?: Cursor;
|
|
35
|
-
messages: Array<Message>;
|
|
36
43
|
total?: number;
|
|
37
44
|
conversationVersion: number;
|
|
38
45
|
}>;
|
package/dist/react.js
CHANGED
|
@@ -592,10 +592,20 @@ const messageSwipe = async function(messageId, swipeId) {
|
|
|
592
592
|
});
|
|
593
593
|
};
|
|
594
594
|
async function getPage(fromCursor, pageSize) {
|
|
595
|
-
|
|
595
|
+
const resp = await this.call(events_EVENT.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE, {
|
|
596
596
|
fromCursor,
|
|
597
597
|
pageSize
|
|
598
598
|
});
|
|
599
|
+
return {
|
|
600
|
+
...resp,
|
|
601
|
+
messages: resp.messages.map((m)=>({
|
|
602
|
+
...m,
|
|
603
|
+
swipes: m.swipes.map((s)=>{
|
|
604
|
+
const ret = Object.assign(s.content, s);
|
|
605
|
+
return ret;
|
|
606
|
+
})
|
|
607
|
+
}))
|
|
608
|
+
};
|
|
599
609
|
}
|
|
600
610
|
const getInfo = async function() {
|
|
601
611
|
return await this.call(events_EVENT.MUJIAN_AI_CHAT_PROJECT_GET_INFO);
|
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){return await this.call(u.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE,{fromCursor:t,pageSize:e})}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})());
|
|
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})());
|
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){return await this.call(da.MUJIAN_AI_CHAT_V2_MESSAGE_GET_PAGE,{fromCursor:e,pageSize:t})}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))}))}}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); }
|