@graphen.ai/aiia-sdk 1.0.2 → 1.0.4

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/LICENSE ADDED
@@ -0,0 +1,44 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Graphen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ This project uses the following third-party packages and complies with their respective licenses:
26
+
27
+ - axios (MIT License)
28
+ - cors (MIT License)
29
+ - lodash (MIT License)
30
+ - rxjs (Apache License 2.0)
31
+ - socket.io (MIT License)
32
+ - socket.io-client (MIT License)
33
+ - ws (MIT License)
34
+
35
+ Development dependencies:
36
+ - @microsoft/api-extractor (MIT License)
37
+ - @rollup/* (MIT License)
38
+ - @types/* (MIT License)
39
+ - rollup (MIT License)
40
+ - rollup-plugin-javascript-obfuscator (MIT License)
41
+ - tslib (MIT License)
42
+ - typescript (Apache License 2.0)
43
+
44
+ Please refer to each package's official documentation for full license details.
package/NOTICE ADDED
@@ -0,0 +1,29 @@
1
+ This project includes software developed by others and distributed under the Apache License 2.0. The following is a list of these components and their respective copyright notices, as required by the Apache License 2.0.
2
+
3
+ typescript
4
+ Copyright (c) Microsoft Corporation. All rights reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+
17
+ rxjs
18
+ Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
19
+
20
+ Licensed under the Apache License, Version 2.0 (the "License");
21
+ you may not use this file except in compliance with the License.
22
+ You may obtain a copy of the License at
23
+
24
+ [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
25
+ Unless required by applicable law or agreed to in writing, software
26
+ distributed under the License is distributed on an "AS IS" BASIS,
27
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28
+ See the License for the specific language governing permissions and
29
+ limitations under the License.
package/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # AIIA SDK
2
+
3
+ AIIA SDK provided by Graphen
4
+
5
+ ## 安裝方式(How to install)
6
+
7
+ 使用 npm 安裝:
8
+
9
+ ```bash
10
+ npm install @graphen.ai/aiia-sdk
11
+ ```
12
+
13
+ 或 yarn:
14
+
15
+ ```bash
16
+ yarn add @graphen.ai/aiia-sdk
17
+ ```
18
+
19
+ ## 使用說明(Instructions)
20
+
21
+ ### 瀏覽器端(Browser)
22
+
23
+ ```typescript
24
+ import { initSdk } from '@graphen.ai/aiia-sdk/browser';
25
+
26
+ const sdk = new initSdk();
27
+ sdk.start()
28
+ ```
29
+
30
+ ### Node.js 端
31
+
32
+ ```typescript
33
+ import { aiiaCore } from '@graphen.ai/aiia-sdk/node';
34
+
35
+ const core = aiiaCore({ license: "<Your Token>" });
36
+ ```
37
+
38
+ ## 授權條款(LICENSE)
39
+
40
+ 本專案採用 MIT 授權。詳見 [LICENSE](./LICENSE) 檔案。
41
+
42
+ This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.
43
+
package/dist/browser.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("rxjs"),e=require("socket.io-client"),r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var o="object"==typeof r&&r&&r.Object===Object&&r,a=o,i="object"==typeof self&&self&&self.Object===Object&&self,u=a||i||Function("return this")(),s=u.Symbol,c=s,f=Object.prototype,l=f.hasOwnProperty,h=f.toString,d=c?c.toStringTag:void 0;var v=function(t){var e=l.call(t,d),r=t[d];try{t[d]=void 0;var n=!0}catch(t){}var o=h.call(t);return n&&(e?t[d]=r:delete t[d]),o},p=Object.prototype.toString;var b=v,y=function(t){return p.call(t)},g=s?s.toStringTag:void 0;var _=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?b(t):y(t)};var m=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},w=_,j=m;var O,S=function(t){if(!j(t))return!1;var e=w(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},R=u["__core-js_shared__"],k=(O=/[^.]+$/.exec(R&&R.keys&&R.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"";var x=function(t){return!!k&&k in t},A=Function.prototype.toString;var N=function(t){if(null!=t){try{return A.call(t)}catch(t){}try{return t+""}catch(t){}}return""},E=S,C=x,M=m,z=N,D=/^\[object .+?Constructor\]$/,P=Function.prototype,B=Object.prototype,T=P.toString,F=B.hasOwnProperty,U=RegExp("^"+T.call(F).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var $=function(t){return!(!M(t)||C(t))&&(E(t)?U:D).test(z(t))},I=function(t,e){return null==t?void 0:t[e]};var V=function(t,e){var r=I(t,e);return $(r)?r:void 0},Q=V,q=function(){try{var t=Q(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),W=q;var L=function(t,e,r){"__proto__"==e&&W?W(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var G=function(t,e){return t===e||t!=t&&e!=e},J=L,H=G,K=Object.prototype.hasOwnProperty;var X=function(t,e,r){var n=t[e];K.call(t,e)&&H(n,r)&&(void 0!==r||e in t)||J(t,e,r)},Y=X,Z=L;var tt=function(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a<i;){var u=e[a],s=n?n(r[u],t[u],u,r,t):void 0;void 0===s&&(s=t[u]),o?Z(r,u,s):Y(r,u,s)}return r};var et=function(t){return t};var rt=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},nt=Math.max;var ot=function(t,e,r){return e=nt(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,a=nt(n.length-e,0),i=Array(a);++o<a;)i[o]=n[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=n[o];return u[e]=r(i),rt(t,this,u)}};var at=function(t){return function(){return t}},it=q,ut=it?function(t,e){return it(t,"toString",{configurable:!0,enumerable:!1,value:at(e),writable:!0})}:et,st=Date.now;var ct=function(t){var e=0,r=0;return function(){var n=st(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ut),ft=et,lt=ot,ht=ct;var dt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},vt=S,pt=dt;var bt=function(t){return null!=t&&pt(t.length)&&!vt(t)},yt=/^(?:0|[1-9]\d*)$/;var gt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&yt.test(t))&&t>-1&&t%1==0&&t<e},_t=G,mt=bt,wt=gt,jt=m;var Ot=function(t,e){return ht(lt(t,e,ft),t+"")},St=function(t,e,r){if(!jt(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&wt(e,r.length):"string"==n&&e in r)&&_t(r[e],t)};var Rt=function(t){return Ot(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,i&&St(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n<o;){var u=r[n];u&&t(e,u,n,a)}return e})},kt=Object.prototype;var xt=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||kt)};var At=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var Nt=function(t){return null!=t&&"object"==typeof t},Et=_,Ct=Nt;var Mt=function(t){return Ct(t)&&"[object Arguments]"==Et(t)},zt=Nt,Dt=Object.prototype,Pt=Dt.hasOwnProperty,Bt=Dt.propertyIsEnumerable,Tt=Mt(function(){return arguments}())?Mt:function(t){return zt(t)&&Pt.call(t,"callee")&&!Bt.call(t,"callee")},Ft=Array.isArray,Ut=n(Ft),$t={exports:{}};var It=function(){return!1};!function(t,e){var r=u,n=It,o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,i=a&&a.exports===o?r.Buffer:void 0,s=(i?i.isBuffer:void 0)||n;t.exports=s}($t,$t.exports);var Vt=$t.exports,Qt=_,qt=dt,Wt=Nt,Lt={};Lt["[object Float32Array]"]=Lt["[object Float64Array]"]=Lt["[object Int8Array]"]=Lt["[object Int16Array]"]=Lt["[object Int32Array]"]=Lt["[object Uint8Array]"]=Lt["[object Uint8ClampedArray]"]=Lt["[object Uint16Array]"]=Lt["[object Uint32Array]"]=!0,Lt["[object Arguments]"]=Lt["[object Array]"]=Lt["[object ArrayBuffer]"]=Lt["[object Boolean]"]=Lt["[object DataView]"]=Lt["[object Date]"]=Lt["[object Error]"]=Lt["[object Function]"]=Lt["[object Map]"]=Lt["[object Number]"]=Lt["[object Object]"]=Lt["[object RegExp]"]=Lt["[object Set]"]=Lt["[object String]"]=Lt["[object WeakMap]"]=!1;var Gt=function(t){return Wt(t)&&qt(t.length)&&!!Lt[Qt(t)]};var Jt=function(t){return function(e){return t(e)}},Ht={exports:{}};!function(t,e){var r=o,n=e&&!e.nodeType&&e,a=n&&t&&!t.nodeType&&t,i=a&&a.exports===n&&r.process,u=function(){try{var t=a&&a.require&&a.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=u}(Ht,Ht.exports);var Kt=Ht.exports,Xt=Gt,Yt=Jt,Zt=Kt&&Kt.isTypedArray,te=Zt?Yt(Zt):Xt,ee=At,re=Tt,ne=Ft,oe=Vt,ae=gt,ie=te,ue=Object.prototype.hasOwnProperty;var se=function(t,e){var r=ne(t),n=!r&&re(t),o=!r&&!n&&oe(t),a=!r&&!n&&!o&&ie(t),i=r||n||o||a,u=i?ee(t.length,String):[],s=u.length;for(var c in t)!e&&!ue.call(t,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ae(c,s))||u.push(c);return u};var ce=function(t,e){return function(r){return t(e(r))}}(Object.keys,Object),fe=xt,le=ce,he=Object.prototype.hasOwnProperty;var de=se,ve=function(t){if(!fe(t))return le(t);var e=[];for(var r in Object(t))he.call(t,r)&&"constructor"!=r&&e.push(r);return e},pe=bt;var be,ye=function(t){return pe(t)?de(t):ve(t)},ge=X,_e=tt,me=Rt,we=bt,je=xt,Oe=ye,Se=Object.prototype.hasOwnProperty,Re=n(me(function(t,e){if(je(e)||we(e))_e(e,Oe(e),t);else for(var r in e)Se.call(e,r)&&ge(t,r,e[r])}));!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(be||(be={}));const ke="undefined"!=typeof window;"undefined"!=typeof process&&null!=process.versions&&process.versions.node;class xe{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=Re({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:Re({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var Ae=function(t,e,r,n){for(var o=t.length,a=r+(n?1:-1);n?a--:++a<o;)if(e(t[a],a,t))return a;return-1};var Ne=Ae,Ee=function(t){return t!=t},Ce=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var Me=function(t,e,r){return e==e?Ce(t,e,r):Ne(t,Ee,r)},ze=_,De=Ft,Pe=Nt;var Be=function(t){return"string"==typeof t||!De(t)&&Pe(t)&&"[object String]"==ze(t)},Te=/\s/;var Fe=function(t){for(var e=t.length;e--&&Te.test(t.charAt(e)););return e},Ue=/^\s+/;var $e=_,Ie=Nt;var Ve=function(t){return"symbol"==typeof t||Ie(t)&&"[object Symbol]"==$e(t)},Qe=function(t){return t?t.slice(0,Fe(t)+1).replace(Ue,""):t},qe=m,We=Ve,Le=/^[-+]0x[0-9a-f]+$/i,Ge=/^0b[01]+$/i,Je=/^0o[0-7]+$/i,He=parseInt;var Ke=function(t){if("number"==typeof t)return t;if(We(t))return NaN;if(qe(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=qe(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Qe(t);var r=Ge.test(t);return r||Je.test(t)?He(t.slice(2),r?2:8):Le.test(t)?NaN:+t},Xe=1/0;var Ye=function(t){return t?(t=Ke(t))===Xe||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Ze=function(t){var e=Ye(t),r=e%1;return e==e?r?e-r:e:0};var tr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},er=tr;var rr=function(t,e){return er(e,function(e){return t[e]})},nr=ye;var or=function(t){return null==t?[]:rr(t,nr(t))},ar=n(or),ir=Me,ur=bt,sr=Be,cr=Ze,fr=or,lr=Math.max;var hr=n(function(t,e,r,n){t=ur(t)?t:fr(t),r=r&&!n?cr(r):0;var o=t.length;return r<0&&(r=lr(o+r,0)),sr(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&ir(t,e,r)>-1});const dr={info:()=>{},error:()=>{},warn:()=>{}};function vr(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:hr(t,"error"),warn:hr(t,"warn"),info:hr(t,"info")}}(t);e&&(dr.info=console.log),r&&(dr.error=console.error),n&&(dr.warn=console.warn)}var pr=Ft,br=Ve,yr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,gr=/^\w*$/;var _r=function(t,e){if(pr(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!br(t))||(gr.test(t)||!yr.test(t)||null!=e&&t in Object(e))},mr=V(Object,"create"),wr=mr;var jr=function(){this.__data__=wr?wr(null):{},this.size=0};var Or=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Sr=mr,Rr=Object.prototype.hasOwnProperty;var kr=function(t){var e=this.__data__;if(Sr){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Rr.call(e,t)?e[t]:void 0},xr=mr,Ar=Object.prototype.hasOwnProperty;var Nr=mr;var Er=jr,Cr=Or,Mr=kr,zr=function(t){var e=this.__data__;return xr?void 0!==e[t]:Ar.call(e,t)},Dr=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Nr&&void 0===e?"__lodash_hash_undefined__":e,this};function Pr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Pr.prototype.clear=Er,Pr.prototype.delete=Cr,Pr.prototype.get=Mr,Pr.prototype.has=zr,Pr.prototype.set=Dr;var Br=Pr;var Tr=function(){this.__data__=[],this.size=0},Fr=G;var Ur=function(t,e){for(var r=t.length;r--;)if(Fr(t[r][0],e))return r;return-1},$r=Ur,Ir=Array.prototype.splice;var Vr=Ur;var Qr=Ur;var qr=Ur;var Wr=Tr,Lr=function(t){var e=this.__data__,r=$r(e,t);return!(r<0)&&(r==e.length-1?e.pop():Ir.call(e,r,1),--this.size,!0)},Gr=function(t){var e=this.__data__,r=Vr(e,t);return r<0?void 0:e[r][1]},Jr=function(t){return Qr(this.__data__,t)>-1},Hr=function(t,e){var r=this.__data__,n=qr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function Kr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Kr.prototype.clear=Wr,Kr.prototype.delete=Lr,Kr.prototype.get=Gr,Kr.prototype.has=Jr,Kr.prototype.set=Hr;var Xr=Kr,Yr=V(u,"Map"),Zr=Br,tn=Xr,en=Yr;var rn=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var nn=function(t,e){var r=t.__data__;return rn(e)?r["string"==typeof e?"string":"hash"]:r.map},on=nn;var an=nn;var un=nn;var sn=nn;var cn=function(){this.size=0,this.__data__={hash:new Zr,map:new(en||tn),string:new Zr}},fn=function(t){var e=on(this,t).delete(t);return this.size-=e?1:0,e},ln=function(t){return an(this,t).get(t)},hn=function(t){return un(this,t).has(t)},dn=function(t,e){var r=sn(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function vn(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}vn.prototype.clear=cn,vn.prototype.delete=fn,vn.prototype.get=ln,vn.prototype.has=hn,vn.prototype.set=dn;var pn=vn,bn=pn;function yn(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=t.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(yn.Cache||bn),r}yn.Cache=bn;var gn=yn;var _n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mn=/\\(\\)?/g,wn=function(t){var e=gn(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(_n,function(t,r,n,o){e.push(n?o.replace(mn,"$1"):r||t)}),e}),jn=tr,On=Ft,Sn=Ve,Rn=s?s.prototype:void 0,kn=Rn?Rn.toString:void 0;var xn=function t(e){if("string"==typeof e)return e;if(On(e))return jn(e,t)+"";if(Sn(e))return kn?kn.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},An=xn;var Nn=Ft,En=_r,Cn=wn,Mn=function(t){return null==t?"":An(t)};var zn=function(t,e){return Nn(t)?t:En(t,e)?[t]:Cn(Mn(t))},Dn=Ve;var Pn=function(t){if("string"==typeof t||Dn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},Bn=zn,Tn=Pn;var Fn=function(t,e){for(var r=0,n=(e=Bn(e,t)).length;null!=t&&r<n;)t=t[Tn(e[r++])];return r&&r==n?t:void 0},Un=Fn;var $n,In,Vn=function(t,e,r){var n=null==t?void 0:Un(t,e);return void 0===n?r:n},Qn=n(Vn);function qn(t,e,r){return Math.max(r,Math.min(t,e))}function Wn(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=e.getInt16(2*n,!0)/32768;r.push(t)}return new Float32Array(r)}function Ln(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=qn(32768*e.getFloat32(4*n,!0),32767,-32768);r.push(t)}return r}!function(t){t[t.unknow=0]="unknow",t[t.allowed=1]="allowed",t[t.rejected=2]="rejected"}($n||($n={}));class Gn{audioContext;type="audio";currentNode;bufferQueue;gainNode;set volume(t){t<0&&(t=0),t>100&&(t=100),this.gainNode.gain.value=t/100}get volume(){return Math.round(100*this.gainNode.gain.value)}constructor(t){this.audioContext=t,this.bufferQueue=[],this.currentNode=null,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}addBuffer(t){this.bufferQueue.push(t)}addBufferByFloat32(t,e=1){const r=t.length,n=this.audioContext.sampleRate,o=this.audioContext.createBuffer(e,r,n),a=t.slice();for(let t=0;t<e;t++)o.copyToChannel(a,t);this.addBuffer(o)}addBufferByInt16(t,e=1){this.addBufferByFloat32(Wn(t),e)}startSpeech(){null===this.currentNode&&this.continue()}pauseSpeech(){this.audioContext.suspend().catch(t=>{dr.error("[ERROR]: pause speech fail"),dr.error(t)})}resumeSpeech(){this.audioContext.resume().catch(t=>{dr.error("[ERROR]: resume speech fail"),dr.error(t)})}nextSpeech(){this.bufferQueue.length>0&&(this.clearNode(),this.continue())}stopSpeech(){this.bufferQueue=[],this.clearNode()}clearNode(){this.currentNode&&(this.currentNode.onended=function(){},this.currentNode.stop(),this.currentNode.disconnect(),this.currentNode=null)}continue(){const t=this.bufferQueue.shift();if(t){this.currentNode=this.audioContext.createBufferSource(),this.currentNode.buffer=t,this.currentNode.connect(this.gainNode);const e=this.continue.bind(this);this.currentNode.onended=e,this.currentNode.start()}else this.clearNode()}}class Jn{stream;audioContext;type="vad";workletNode;source;isRecording=!1;pcmSub;get pcm(){return this.pcmSub.asObservable()}constructor(e,r){this.stream=e,this.audioContext=r,this.pcmSub=new t.Subject}async startRecord(){this.isRecording||(this.source=this.audioContext.createMediaStreamSource(this.stream),this.workletNode=new AudioWorkletNode(this.audioContext,"aiia-vad"),this.source.connect(this.workletNode),this.workletNode.port.onmessage=t=>{const{float32:e,energy:r}=t.data;e&&this.pcmSub.next(new Float32Array(e))},this.isRecording=!0)}stopRecord(){this.isRecording&&(this.workletNode&&(this.workletNode.port.onmessage=null,this.workletNode.disconnect()),this.source&&this.source.disconnect(),this.isRecording=!1)}}!function(t){t[t.padding=0]="padding",t[t.rejected=1]="rejected",t[t.loadfail=2]="loadfail",t[t.allowed=3]="allowed"}(In||(In={}));class Hn{state;audioCtx;audioManager;vadManager;destory;pcmSub;get sampleRate(){return this.audioCtx.sampleRate}get pcm(){return this.pcmSub.asObservable()}constructor(){this.state=In.padding,this.pcmSub=new t.Subject,this.destory=new t.Subject}async init(e){if(this.destory.closed)throw new Error(be["實例已摧毀"]);const r=await async function(t){try{return await navigator.mediaDevices.getUserMedia(t)}catch(t){return null}}({audio:{echoCancellation:!0,noiseSuppression:!0}});if(null===r)throw this.state=In.rejected,new Error(be["未獲得媒體裝置權限"]);const n=new AudioContext;try{await n.audioWorklet.addModule(e)}catch(t){throw dr.error(t),this.state=In.loadfail,new Error(be["Worklet模組載入失敗"])}this.state=In.allowed,this.audioManager=new Gn(n),this.vadManager=new Jn(r,n),this.vadManager.pcm.pipe(t.takeUntil(this.destory)).subscribe(t=>{this.pcmSub.next(t)})}addAudioQueue(t){const e=Qn(t,"buffer",void 0),r=Qn(t,"float32",void 0),n=Qn(t,"int16",void 0),o=Qn(t,"numberOfChannels",void 0);e?this.audioManager?.addBuffer(e):r?this.audioManager?.addBufferByFloat32(r,o):n&&this.audioManager?.addBufferByInt16(n,o)}playAudio(){this.audioManager?.startSpeech()}stopAudio(){this.audioManager?.stopSpeech()}startRecord(){this.vadManager?.startRecord()}stopRecord(){this.vadManager?.stopRecord()}setVolume(t){this.audioManager&&(this.audioManager.volume=t)}getVolume(){return this.audioManager?this.audioManager.volume:0}onDestory(){this.audioCtx.close(),this.destory.next(),this.destory.complete()}}var Kn=Xr;var Xn=Xr,Yn=Yr,Zn=pn;var to=Xr,eo=function(){this.__data__=new Kn,this.size=0},ro=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},no=function(t){return this.__data__.get(t)},oo=function(t){return this.__data__.has(t)},ao=function(t,e){var r=this.__data__;if(r instanceof Xn){var n=r.__data__;if(!Yn||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Zn(n)}return r.set(t,e),this.size=r.size,this};function io(t){var e=this.__data__=new to(t);this.size=e.size}io.prototype.clear=eo,io.prototype.delete=ro,io.prototype.get=no,io.prototype.has=oo,io.prototype.set=ao;var uo=io;var so=pn,co=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},fo=function(t){return this.__data__.has(t)};function lo(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new so;++e<r;)this.add(t[e])}lo.prototype.add=lo.prototype.push=co,lo.prototype.has=fo;var ho=lo,vo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},po=function(t,e){return t.has(e)};var bo=function(t,e,r,n,o,a){var i=1&r,u=t.length,s=e.length;if(u!=s&&!(i&&s>u))return!1;var c=a.get(t),f=a.get(e);if(c&&f)return c==e&&f==t;var l=-1,h=!0,d=2&r?new ho:void 0;for(a.set(t,e),a.set(e,t);++l<u;){var v=t[l],p=e[l];if(n)var b=i?n(p,v,l,e,t,a):n(v,p,l,t,e,a);if(void 0!==b){if(b)continue;h=!1;break}if(d){if(!vo(e,function(t,e){if(!po(d,e)&&(v===t||o(v,t,r,n,a)))return d.push(e)})){h=!1;break}}else if(v!==p&&!o(v,p,r,n,a)){h=!1;break}}return a.delete(t),a.delete(e),h};var yo=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var go=u.Uint8Array,_o=G,mo=bo,wo=yo,jo=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},Oo=s?s.prototype:void 0,So=Oo?Oo.valueOf:void 0;var Ro=function(t,e,r,n,o,a,i){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!a(new go(t),new go(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=wo;case"[object Set]":var s=1&n;if(u||(u=jo),t.size!=e.size&&!s)return!1;var c=i.get(t);if(c)return c==e;n|=2,i.set(t,e);var f=mo(u(t),u(e),n,o,a,i);return i.delete(t),f;case"[object Symbol]":if(So)return So.call(t)==So.call(e)}return!1};var ko=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},xo=ko,Ao=Ft;var No=function(t,e,r){var n=e(t);return Ao(t)?n:xo(n,r(t))};var Eo=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,a=[];++r<n;){var i=t[r];e(i,r,t)&&(a[o++]=i)}return a},Co=function(){return[]},Mo=Object.prototype.propertyIsEnumerable,zo=Object.getOwnPropertySymbols,Do=No,Po=zo?function(t){return null==t?[]:(t=Object(t),Eo(zo(t),function(e){return Mo.call(t,e)}))}:Co,Bo=ye;var To=function(t){return Do(t,Bo,Po)},Fo=Object.prototype.hasOwnProperty;var Uo=function(t,e,r,n,o,a){var i=1&r,u=To(t),s=u.length;if(s!=To(e).length&&!i)return!1;for(var c=s;c--;){var f=u[c];if(!(i?f in e:Fo.call(e,f)))return!1}var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var d=!0;a.set(t,e),a.set(e,t);for(var v=i;++c<s;){var p=t[f=u[c]],b=e[f];if(n)var y=i?n(b,p,f,e,t,a):n(p,b,f,t,e,a);if(!(void 0===y?p===b||o(p,b,r,n,a):y)){d=!1;break}v||(v="constructor"==f)}if(d&&!v){var g=t.constructor,_=e.constructor;g==_||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof _&&_ instanceof _||(d=!1)}return a.delete(t),a.delete(e),d},$o=V(u,"DataView"),Io=Yr,Vo=V(u,"Promise"),Qo=V(u,"Set"),qo=V(u,"WeakMap"),Wo=_,Lo=N,Go="[object Map]",Jo="[object Promise]",Ho="[object Set]",Ko="[object WeakMap]",Xo="[object DataView]",Yo=Lo($o),Zo=Lo(Io),ta=Lo(Vo),ea=Lo(Qo),ra=Lo(qo),na=Wo;($o&&na(new $o(new ArrayBuffer(1)))!=Xo||Io&&na(new Io)!=Go||Vo&&na(Vo.resolve())!=Jo||Qo&&na(new Qo)!=Ho||qo&&na(new qo)!=Ko)&&(na=function(t){var e=Wo(t),r="[object Object]"==e?t.constructor:void 0,n=r?Lo(r):"";if(n)switch(n){case Yo:return Xo;case Zo:return Go;case ta:return Jo;case ea:return Ho;case ra:return Ko}return e});var oa=uo,aa=bo,ia=Ro,ua=Uo,sa=na,ca=Ft,fa=Vt,la=te,ha="[object Arguments]",da="[object Array]",va="[object Object]",pa=Object.prototype.hasOwnProperty;var ba=function(t,e,r,n,o,a){var i=ca(t),u=ca(e),s=i?da:sa(t),c=u?da:sa(e),f=(s=s==ha?va:s)==va,l=(c=c==ha?va:c)==va,h=s==c;if(h&&fa(t)){if(!fa(e))return!1;i=!0,f=!1}if(h&&!f)return a||(a=new oa),i||la(t)?aa(t,e,r,n,o,a):ia(t,e,s,r,n,o,a);if(!(1&r)){var d=f&&pa.call(t,"__wrapped__"),v=l&&pa.call(e,"__wrapped__");if(d||v){var p=d?t.value():t,b=v?e.value():e;return a||(a=new oa),o(p,b,r,n,a)}}return!!h&&(a||(a=new oa),ua(t,e,r,n,o,a))},ya=Nt;var ga=function t(e,r,n,o,a){return e===r||(null==e||null==r||!ya(e)&&!ya(r)?e!=e&&r!=r:ba(e,r,n,o,t,a))},_a=uo,ma=ga;var wa=m;var ja=function(t){return t==t&&!wa(t)},Oa=ja,Sa=ye;var Ra=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},ka=function(t,e,r,n){var o=r.length,a=o,i=!n;if(null==t)return!a;for(t=Object(t);o--;){var u=r[o];if(i&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<a;){var s=(u=r[o])[0],c=t[s],f=u[1];if(i&&u[2]){if(void 0===c&&!(s in t))return!1}else{var l=new _a;if(n)var h=n(c,f,s,t,e,l);if(!(void 0===h?ma(f,c,3,n,l):h))return!1}}return!0},xa=function(t){for(var e=Sa(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Oa(o)]}return e},Aa=Ra;var Na=zn,Ea=Tt,Ca=Ft,Ma=gt,za=dt,Da=Pn;var Pa=function(t,e){return null!=t&&e in Object(t)},Ba=function(t,e,r){for(var n=-1,o=(e=Na(e,t)).length,a=!1;++n<o;){var i=Da(e[n]);if(!(a=null!=t&&r(t,i)))break;t=t[i]}return a||++n!=o?a:!!(o=null==t?0:t.length)&&za(o)&&Ma(i,o)&&(Ca(t)||Ea(t))};var Ta=ga,Fa=Vn,Ua=function(t,e){return null!=t&&Ba(t,e,Pa)},$a=_r,Ia=ja,Va=Ra,Qa=Pn;var qa=Fn;var Wa=function(t){return function(e){return null==e?void 0:e[t]}},La=function(t){return function(e){return qa(e,t)}},Ga=_r,Ja=Pn;var Ha=function(t){var e=xa(t);return 1==e.length&&e[0][2]?Aa(e[0][0],e[0][1]):function(r){return r===t||ka(r,t,e)}},Ka=function(t,e){return $a(t)&&Ia(e)?Va(Qa(t),e):function(r){var n=Fa(r,t);return void 0===n&&n===e?Ua(r,t):Ta(e,n,3)}},Xa=et,Ya=Ft,Za=function(t){return Ga(t)?Wa(Ja(t)):La(t)};var ti=function(t){return"function"==typeof t?t:null==t?Xa:"object"==typeof t?Ya(t)?Ka(t[0],t[1]):Ha(t):Za(t)};var ei=function(t){return function(e,r,n){for(var o=-1,a=Object(e),i=n(e),u=i.length;u--;){var s=i[t?u:++o];if(!1===r(a[s],s,a))break}return e}}(),ri=ye;var ni=bt;var oi=function(t,e){return function(r,n){if(null==r)return r;if(!ni(r))return t(r,n);for(var o=r.length,a=e?o:-1,i=Object(r);(e?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(function(t,e){return t&&ei(t,e,ri)}),ai=bt;var ii=tr,ui=ti,si=function(t,e){var r=-1,n=ai(t)?Array(t.length):[];return oi(t,function(t,o,a){n[++r]=e(t,o,a)}),n},ci=Ft;var fi=n(function(t,e){return(ci(t)?ii:si)(t,ui(e))}),li=ti,hi=bt,di=ye;var vi=function(t){return function(e,r,n){var o=Object(e);if(!hi(e)){var a=li(r);e=di(e),r=function(t){return a(o[t],t,o)}}var i=t(e,r,n);return i>-1?o[a?e[i]:i]:void 0}},pi=Ae,bi=ti,yi=Ze,gi=Math.max;var _i,mi=n(vi(function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var o=null==r?0:yi(r);return o<0&&(o=gi(n+o,0)),pi(t,bi(e),o)}));class wi{socket;messageSub;destorySub;get message(){return this.messageSub.asObservable()}constructor(r){this.destorySub=new t.Subject,this.messageSub=new t.Subject;const{specific:n,id:o}=r.project;this.socket=e.io(r.ws_url,Re({autoConnect:!1},n&&void 0!==o?{query:{uuid:o}}:{}))}start(){const e="list",r="cloud",n="channel";t.fromEvent(this.socket,e).pipe(t.take(1),t.takeUntil(this.destorySub)).subscribe(t=>{this.messageSub.next({event:e,data:t})}),t.fromEvent(this.socket,r).pipe(t.takeUntil(this.destorySub)).subscribe(t=>{this.messageSub.next({event:r,data:t})}),t.fromEvent(this.socket,n).pipe(t.takeUntil(this.destorySub)).subscribe(t=>{this.messageSub.next({event:n,data:t})}),this.socket.connect()}send(t,e){this.socket.emit(t,e)}sendToCloud(t){this.send("cloud",JSON.stringify(t))}onDestory(){this.destorySub.next(),this.destorySub.complete(),this.messageSub.complete(),this.socket.disconnect()}}!function(t){t[t.interrupted=0]="interrupted",t[t.pcm=1]="pcm",t[t.cloudSampleRate=2]="cloudSampleRate"}(_i||(_i={}));class ji{config;media;chat;destorySub;projectsSub;layoutSub;cloudSampleRate;get layout(){return this.layoutSub.asObservable()}get projects(){return this.projectsSub.asObservable()}set volume(t){this.media.setVolume(t)}get volume(){return this.media.getVolume()}constructor(e,r){this.config=e,this.media=r,this.layoutSub=new t.Subject,this.projectsSub=new t.Subject,this.destorySub=new t.Subject,this.cloudSampleRate=16e3,this.chat=new wi(e)}start(){this.chat.message.pipe(t.takeUntil(this.destorySub)).subscribe(({event:t,data:e})=>{switch(t){case"cloud":this.cloudToObj(e);break;case"list":{const{id:t,name:r,specific:n}=this.config.project;let o=null;if(n&&void 0!==t)o=t;else{const n=mi(e,e=>e.name===r||e.id===t);n&&(o=n.id)}null!==o?this.chooseProject(o):this.projectsSub.next(e);break}}}),this.chat.start()}chooseProject(t){this.chat.send("uuid",t)}cloudToObj(t){try{const e=JSON.parse(t);void 0!==Qn(e,"signal")?this.behavior(e):Ut(e)?fi(e,this.behavior):fi(ar(e),this.behavior)}catch(t){dr.error("aiia websocket","onmessage error",t)}}behavior(e){switch(e.signal){case"layout":this.layoutSub.next(e.content);break;case"audio":if("sampleRate"===e.command)this.cloudSampleRate=e.content;else if(this.media.state===In.allowed)switch(e.command){case"pcm":{const t=function(t,e,r){if(e===r)return t;const n=r/e,o=Math.ceil(t.length*n),a=new Float32Array(o);for(let e=0;e<o;e++){const r=e/n,o=Math.floor(r),i=r-o,u=t[o],s=t[Math.min(o+1,t.length-1)];a[e]=u+(s-u)*i}return a}(Wn(new Int16Array(e.content)),this.cloudSampleRate,this.media.sampleRate);this.media.addAudioQueue({float32:t}),this.media.playAudio();break}case"interrupted":this.media.stopAudio()}break;case"status":"Connected"===e.content&&this.media.state===In.allowed?(this.chat.sendToCloud({request:"audio",command:"sampleRate",content:this.media.sampleRate}),this.media.pcm.pipe(t.takeUntil(this.destorySub)).subscribe(t=>{this.chat.sendToCloud({request:"audio",command:"pcm",content:Ln(t)})}),this.media.startRecord()):dr.warn("Media permission didn't get. Please reload page after reset permission or ignore this message.");break;default:dr.info(e.signal)}}onDestory(){this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete()}}exports.initSdk=function(t){if(ke){const e=new xe(Re({},t));vr(e.debug);const r=new Hn,n=new ji(e,r);return""!==e.worklet_url&&r.init(e.worklet_url),n}throw new Error(be["環境錯誤(browser)"])};
1
+ "use strict";var t=require("rxjs"),e=require("socket.io-client"),r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var o="object"==typeof r&&r&&r.Object===Object&&r,a=o,i="object"==typeof self&&self&&self.Object===Object&&self,u=a||i||Function("return this")(),s=u.Symbol,c=s,l=Object.prototype,f=l.hasOwnProperty,h=l.toString,d=c?c.toStringTag:void 0;var v=function(t){var e=f.call(t,d),r=t[d];try{t[d]=void 0;var n=!0}catch(t){}var o=h.call(t);return n&&(e?t[d]=r:delete t[d]),o},p=Object.prototype.toString;var b=v,y=function(t){return p.call(t)},g=s?s.toStringTag:void 0;var _=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?b(t):y(t)};var m=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},w=_,j=m;var S,O=function(t){if(!j(t))return!1;var e=w(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},R=u["__core-js_shared__"],x=(S=/[^.]+$/.exec(R&&R.keys&&R.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var k=function(t){return!!x&&x in t},C=Function.prototype.toString;var A=function(t){if(null!=t){try{return C.call(t)}catch(t){}try{return t+""}catch(t){}}return""},N=O,E=k,M=m,P=A,z=/^\[object .+?Constructor\]$/,D=Function.prototype,B=Object.prototype,T=D.toString,F=B.hasOwnProperty,U=RegExp("^"+T.call(F).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var $=function(t){return!(!M(t)||E(t))&&(N(t)?U:z).test(P(t))},I=function(t,e){return null==t?void 0:t[e]};var V=function(t,e){var r=I(t,e);return $(r)?r:void 0},Q=V,q=function(){try{var t=Q(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),W=q;var L=function(t,e,r){"__proto__"==e&&W?W(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var G=function(t,e){return t===e||t!=t&&e!=e},J=L,H=G,K=Object.prototype.hasOwnProperty;var X=function(t,e,r){var n=t[e];K.call(t,e)&&H(n,r)&&(void 0!==r||e in t)||J(t,e,r)},Y=X,Z=L;var tt=function(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a<i;){var u=e[a],s=n?n(r[u],t[u],u,r,t):void 0;void 0===s&&(s=t[u]),o?Z(r,u,s):Y(r,u,s)}return r};var et=function(t){return t};var rt=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},nt=Math.max;var ot=function(t,e,r){return e=nt(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,a=nt(n.length-e,0),i=Array(a);++o<a;)i[o]=n[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=n[o];return u[e]=r(i),rt(t,this,u)}};var at=function(t){return function(){return t}},it=q,ut=it?function(t,e){return it(t,"toString",{configurable:!0,enumerable:!1,value:at(e),writable:!0})}:et,st=Date.now;var ct=function(t){var e=0,r=0;return function(){var n=st(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ut),lt=et,ft=ot,ht=ct;var dt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},vt=O,pt=dt;var bt=function(t){return null!=t&&pt(t.length)&&!vt(t)},yt=/^(?:0|[1-9]\d*)$/;var gt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&yt.test(t))&&t>-1&&t%1==0&&t<e},_t=G,mt=bt,wt=gt,jt=m;var St=function(t,e){return ht(ft(t,e,lt),t+"")},Ot=function(t,e,r){if(!jt(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&wt(e,r.length):"string"==n&&e in r)&&_t(r[e],t)};var Rt=function(t){return St(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,i&&Ot(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n<o;){var u=r[n];u&&t(e,u,n,a)}return e})},xt=Object.prototype;var kt=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||xt)};var Ct=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var At=function(t){return null!=t&&"object"==typeof t},Nt=_,Et=At;var Mt=function(t){return Et(t)&&"[object Arguments]"==Nt(t)},Pt=At,zt=Object.prototype,Dt=zt.hasOwnProperty,Bt=zt.propertyIsEnumerable,Tt=Mt(function(){return arguments}())?Mt:function(t){return Pt(t)&&Dt.call(t,"callee")&&!Bt.call(t,"callee")},Ft=Array.isArray,Ut=n(Ft),$t={exports:{}};var It=function(){return!1};!function(t,e){var r=u,n=It,o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,i=a&&a.exports===o?r.Buffer:void 0,s=(i?i.isBuffer:void 0)||n;t.exports=s}($t,$t.exports);var Vt=$t.exports,Qt=_,qt=dt,Wt=At,Lt={};Lt["[object Float32Array]"]=Lt["[object Float64Array]"]=Lt["[object Int8Array]"]=Lt["[object Int16Array]"]=Lt["[object Int32Array]"]=Lt["[object Uint8Array]"]=Lt["[object Uint8ClampedArray]"]=Lt["[object Uint16Array]"]=Lt["[object Uint32Array]"]=!0,Lt["[object Arguments]"]=Lt["[object Array]"]=Lt["[object ArrayBuffer]"]=Lt["[object Boolean]"]=Lt["[object DataView]"]=Lt["[object Date]"]=Lt["[object Error]"]=Lt["[object Function]"]=Lt["[object Map]"]=Lt["[object Number]"]=Lt["[object Object]"]=Lt["[object RegExp]"]=Lt["[object Set]"]=Lt["[object String]"]=Lt["[object WeakMap]"]=!1;var Gt=function(t){return Wt(t)&&qt(t.length)&&!!Lt[Qt(t)]};var Jt=function(t){return function(e){return t(e)}},Ht={exports:{}};!function(t,e){var r=o,n=e&&!e.nodeType&&e,a=n&&t&&!t.nodeType&&t,i=a&&a.exports===n&&r.process,u=function(){try{var t=a&&a.require&&a.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=u}(Ht,Ht.exports);var Kt=Ht.exports,Xt=Gt,Yt=Jt,Zt=Kt&&Kt.isTypedArray,te=Zt?Yt(Zt):Xt,ee=Ct,re=Tt,ne=Ft,oe=Vt,ae=gt,ie=te,ue=Object.prototype.hasOwnProperty;var se=function(t,e){var r=ne(t),n=!r&&re(t),o=!r&&!n&&oe(t),a=!r&&!n&&!o&&ie(t),i=r||n||o||a,u=i?ee(t.length,String):[],s=u.length;for(var c in t)!e&&!ue.call(t,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ae(c,s))||u.push(c);return u};var ce=function(t,e){return function(r){return t(e(r))}}(Object.keys,Object),le=kt,fe=ce,he=Object.prototype.hasOwnProperty;var de=se,ve=function(t){if(!le(t))return fe(t);var e=[];for(var r in Object(t))he.call(t,r)&&"constructor"!=r&&e.push(r);return e},pe=bt;var be,ye=function(t){return pe(t)?de(t):ve(t)},ge=X,_e=tt,me=Rt,we=bt,je=kt,Se=ye,Oe=Object.prototype.hasOwnProperty,Re=n(me(function(t,e){if(je(e)||we(e))_e(e,Se(e),t);else for(var r in e)Oe.call(e,r)&&ge(t,r,e[r])}));!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(be||(be={}));const xe="undefined"!=typeof window;"undefined"!=typeof process&&null!=process.versions&&process.versions.node;class ke{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=Re({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:Re({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var Ce=function(t,e,r,n){for(var o=t.length,a=r+(n?1:-1);n?a--:++a<o;)if(e(t[a],a,t))return a;return-1};var Ae=Ce,Ne=function(t){return t!=t},Ee=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var Me=function(t,e,r){return e==e?Ee(t,e,r):Ae(t,Ne,r)},Pe=_,ze=Ft,De=At;var Be=function(t){return"string"==typeof t||!ze(t)&&De(t)&&"[object String]"==Pe(t)},Te=/\s/;var Fe=function(t){for(var e=t.length;e--&&Te.test(t.charAt(e)););return e},Ue=/^\s+/;var $e=_,Ie=At;var Ve=function(t){return"symbol"==typeof t||Ie(t)&&"[object Symbol]"==$e(t)},Qe=function(t){return t?t.slice(0,Fe(t)+1).replace(Ue,""):t},qe=m,We=Ve,Le=/^[-+]0x[0-9a-f]+$/i,Ge=/^0b[01]+$/i,Je=/^0o[0-7]+$/i,He=parseInt;var Ke=function(t){if("number"==typeof t)return t;if(We(t))return NaN;if(qe(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=qe(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Qe(t);var r=Ge.test(t);return r||Je.test(t)?He(t.slice(2),r?2:8):Le.test(t)?NaN:+t},Xe=1/0;var Ye=function(t){return t?(t=Ke(t))===Xe||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Ze=function(t){var e=Ye(t),r=e%1;return e==e?r?e-r:e:0};var tr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},er=tr;var rr=function(t,e){return er(e,function(e){return t[e]})},nr=ye;var or=function(t){return null==t?[]:rr(t,nr(t))},ar=n(or),ir=Me,ur=bt,sr=Be,cr=Ze,lr=or,fr=Math.max;var hr=n(function(t,e,r,n){t=ur(t)?t:lr(t),r=r&&!n?cr(r):0;var o=t.length;return r<0&&(r=fr(o+r,0)),sr(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&ir(t,e,r)>-1});const dr={info:()=>{},error:()=>{},warn:()=>{}};function vr(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:hr(t,"error"),warn:hr(t,"warn"),info:hr(t,"info")}}(t);e&&(dr.info=console.log),r&&(dr.error=console.error),n&&(dr.warn=console.warn)}var pr=Ft,br=Ve,yr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,gr=/^\w*$/;var _r=function(t,e){if(pr(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!br(t))||(gr.test(t)||!yr.test(t)||null!=e&&t in Object(e))},mr=V(Object,"create"),wr=mr;var jr=function(){this.__data__=wr?wr(null):{},this.size=0};var Sr=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Or=mr,Rr=Object.prototype.hasOwnProperty;var xr=function(t){var e=this.__data__;if(Or){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Rr.call(e,t)?e[t]:void 0},kr=mr,Cr=Object.prototype.hasOwnProperty;var Ar=mr;var Nr=jr,Er=Sr,Mr=xr,Pr=function(t){var e=this.__data__;return kr?void 0!==e[t]:Cr.call(e,t)},zr=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ar&&void 0===e?"__lodash_hash_undefined__":e,this};function Dr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Dr.prototype.clear=Nr,Dr.prototype.delete=Er,Dr.prototype.get=Mr,Dr.prototype.has=Pr,Dr.prototype.set=zr;var Br=Dr;var Tr=function(){this.__data__=[],this.size=0},Fr=G;var Ur=function(t,e){for(var r=t.length;r--;)if(Fr(t[r][0],e))return r;return-1},$r=Ur,Ir=Array.prototype.splice;var Vr=Ur;var Qr=Ur;var qr=Ur;var Wr=Tr,Lr=function(t){var e=this.__data__,r=$r(e,t);return!(r<0)&&(r==e.length-1?e.pop():Ir.call(e,r,1),--this.size,!0)},Gr=function(t){var e=this.__data__,r=Vr(e,t);return r<0?void 0:e[r][1]},Jr=function(t){return Qr(this.__data__,t)>-1},Hr=function(t,e){var r=this.__data__,n=qr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function Kr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Kr.prototype.clear=Wr,Kr.prototype.delete=Lr,Kr.prototype.get=Gr,Kr.prototype.has=Jr,Kr.prototype.set=Hr;var Xr=Kr,Yr=V(u,"Map"),Zr=Br,tn=Xr,en=Yr;var rn=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var nn=function(t,e){var r=t.__data__;return rn(e)?r["string"==typeof e?"string":"hash"]:r.map},on=nn;var an=nn;var un=nn;var sn=nn;var cn=function(){this.size=0,this.__data__={hash:new Zr,map:new(en||tn),string:new Zr}},ln=function(t){var e=on(this,t).delete(t);return this.size-=e?1:0,e},fn=function(t){return an(this,t).get(t)},hn=function(t){return un(this,t).has(t)},dn=function(t,e){var r=sn(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function vn(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}vn.prototype.clear=cn,vn.prototype.delete=ln,vn.prototype.get=fn,vn.prototype.has=hn,vn.prototype.set=dn;var pn=vn,bn=pn;function yn(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=t.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(yn.Cache||bn),r}yn.Cache=bn;var gn=yn;var _n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mn=/\\(\\)?/g,wn=function(t){var e=gn(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(_n,function(t,r,n,o){e.push(n?o.replace(mn,"$1"):r||t)}),e}),jn=tr,Sn=Ft,On=Ve,Rn=s?s.prototype:void 0,xn=Rn?Rn.toString:void 0;var kn=function t(e){if("string"==typeof e)return e;if(Sn(e))return jn(e,t)+"";if(On(e))return xn?xn.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},Cn=kn;var An=Ft,Nn=_r,En=wn,Mn=function(t){return null==t?"":Cn(t)};var Pn=function(t,e){return An(t)?t:Nn(t,e)?[t]:En(Mn(t))},zn=Ve;var Dn=function(t){if("string"==typeof t||zn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},Bn=Pn,Tn=Dn;var Fn=function(t,e){for(var r=0,n=(e=Bn(e,t)).length;null!=t&&r<n;)t=t[Tn(e[r++])];return r&&r==n?t:void 0},Un=Fn;var $n,In,Vn=function(t,e,r){var n=null==t?void 0:Un(t,e);return void 0===n?r:n},Qn=n(Vn);function qn(t,e,r){return Math.max(r,Math.min(t,e))}function Wn(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=e.getInt16(2*n,!0)/32768;r.push(t)}return new Float32Array(r)}function Ln(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=qn(32768*e.getFloat32(4*n,!0),32767,-32768);r.push(t)}return r}!function(t){t[t.unknow=0]="unknow",t[t.allowed=1]="allowed",t[t.rejected=2]="rejected"}($n||($n={}));class Gn{audioContext;type="audio";currentNode;bufferQueue;gainNode;set volume(t){t<0&&(t=0),t>100&&(t=100),this.gainNode.gain.value=t/100}get volume(){return Math.round(100*this.gainNode.gain.value)}constructor(t){this.audioContext=t,this.bufferQueue=[],this.currentNode=null,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}addBuffer(t){this.bufferQueue.push(t)}addBufferByFloat32(t,e=1){const r=t.length,n=this.audioContext.sampleRate,o=this.audioContext.createBuffer(e,r,n),a=t.slice();for(let t=0;t<e;t++)o.copyToChannel(a,t);this.addBuffer(o)}addBufferByInt16(t,e=1){this.addBufferByFloat32(Wn(t),e)}startSpeech(){null===this.currentNode&&this.continue()}pauseSpeech(){this.audioContext.suspend().catch(t=>{dr.error("[ERROR]: pause speech fail"),dr.error(t)})}resumeSpeech(){this.audioContext.resume().catch(t=>{dr.error("[ERROR]: resume speech fail"),dr.error(t)})}nextSpeech(){this.bufferQueue.length>0&&(this.clearNode(),this.continue())}stopSpeech(){this.bufferQueue=[],this.clearNode()}clearNode(){this.currentNode&&(this.currentNode.onended=function(){},this.currentNode.stop(),this.currentNode.disconnect(),this.currentNode=null)}continue(){const t=this.bufferQueue.shift();if(t){this.currentNode=this.audioContext.createBufferSource(),this.currentNode.buffer=t,this.currentNode.connect(this.gainNode);const e=this.continue.bind(this);this.currentNode.onended=e,this.currentNode.start()}else this.clearNode()}}class Jn{stream;audioContext;pcmSub;type="vad";workletNode;source;isRecording=!1;constructor(t,e,r){this.stream=t,this.audioContext=e,this.pcmSub=r}async startRecord(){this.isRecording||(this.source=this.audioContext.createMediaStreamSource(this.stream),this.workletNode=new AudioWorkletNode(this.audioContext,"aiia-vad"),this.source.connect(this.workletNode),this.workletNode.port.onmessage=t=>{const{float32:e,energy:r}=t.data;e&&this.pcmSub.next(new Float32Array(e))},this.isRecording=!0)}stopRecord(){this.isRecording&&(this.workletNode&&(this.workletNode.port.onmessage=null,this.workletNode.disconnect()),this.source&&this.source.disconnect(),this.isRecording=!1)}}!function(t){t[t.padding=0]="padding",t[t.rejected=1]="rejected",t[t.loadfail=2]="loadfail",t[t.allowed=3]="allowed"}(In||(In={}));class Hn{_state;stateSub;audioCtx;audioManager;vadManager;destory;pcmSub;get sampleRate(){return this.audioCtx?this.audioCtx.sampleRate:16e3}get pcm(){return this.pcmSub.asObservable()}get state(){return this._state}set state(t){t!==this._state&&(this._state=t,this.stateSub.next(t))}get stateObs(){return this.stateSub.asObservable()}constructor(){this.stateSub=new t.Subject,this.pcmSub=new t.Subject,this.destory=new t.Subject,this.state=In.padding}async init(t){if(this.destory.closed)throw new Error(be["實例已摧毀"]);const e=await async function(t){try{return await navigator.mediaDevices.getUserMedia(t)}catch(t){return null}}({audio:{echoCancellation:!0,noiseSuppression:!0}});if(null===e)throw this.state=In.rejected,new Error(be["未獲得媒體裝置權限"]);this.audioCtx=new AudioContext;try{await this.audioCtx.audioWorklet.addModule(t)}catch(t){throw dr.error(t),this.state=In.loadfail,new Error(be["Worklet模組載入失敗"])}this.state=In.allowed,this.audioManager=new Gn(this.audioCtx),this.vadManager=new Jn(e,this.audioCtx,this.pcmSub)}addAudioQueue(t){const e=Qn(t,"buffer",void 0),r=Qn(t,"float32",void 0),n=Qn(t,"int16",void 0),o=Qn(t,"numberOfChannels",void 0);e?this.audioManager?.addBuffer(e):r?this.audioManager?.addBufferByFloat32(r,o):n&&this.audioManager?.addBufferByInt16(n,o)}playAudio(){this.audioManager?.startSpeech()}stopAudio(){this.audioManager?.stopSpeech()}startRecord(){this.vadManager?.startRecord()}stopRecord(){this.vadManager?.stopRecord()}setVolume(t){this.audioManager&&(this.audioManager.volume=t)}getVolume(){return this.audioManager?this.audioManager.volume:0}onDestory(){this.audioCtx?.close(),this.destory.next(),this.destory.complete()}}var Kn=Xr;var Xn=Xr,Yn=Yr,Zn=pn;var to=Xr,eo=function(){this.__data__=new Kn,this.size=0},ro=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},no=function(t){return this.__data__.get(t)},oo=function(t){return this.__data__.has(t)},ao=function(t,e){var r=this.__data__;if(r instanceof Xn){var n=r.__data__;if(!Yn||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Zn(n)}return r.set(t,e),this.size=r.size,this};function io(t){var e=this.__data__=new to(t);this.size=e.size}io.prototype.clear=eo,io.prototype.delete=ro,io.prototype.get=no,io.prototype.has=oo,io.prototype.set=ao;var uo=io;var so=pn,co=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},lo=function(t){return this.__data__.has(t)};function fo(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new so;++e<r;)this.add(t[e])}fo.prototype.add=fo.prototype.push=co,fo.prototype.has=lo;var ho=fo,vo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},po=function(t,e){return t.has(e)};var bo=function(t,e,r,n,o,a){var i=1&r,u=t.length,s=e.length;if(u!=s&&!(i&&s>u))return!1;var c=a.get(t),l=a.get(e);if(c&&l)return c==e&&l==t;var f=-1,h=!0,d=2&r?new ho:void 0;for(a.set(t,e),a.set(e,t);++f<u;){var v=t[f],p=e[f];if(n)var b=i?n(p,v,f,e,t,a):n(v,p,f,t,e,a);if(void 0!==b){if(b)continue;h=!1;break}if(d){if(!vo(e,function(t,e){if(!po(d,e)&&(v===t||o(v,t,r,n,a)))return d.push(e)})){h=!1;break}}else if(v!==p&&!o(v,p,r,n,a)){h=!1;break}}return a.delete(t),a.delete(e),h};var yo=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var go=u.Uint8Array,_o=G,mo=bo,wo=yo,jo=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},So=s?s.prototype:void 0,Oo=So?So.valueOf:void 0;var Ro=function(t,e,r,n,o,a,i){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!a(new go(t),new go(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=wo;case"[object Set]":var s=1&n;if(u||(u=jo),t.size!=e.size&&!s)return!1;var c=i.get(t);if(c)return c==e;n|=2,i.set(t,e);var l=mo(u(t),u(e),n,o,a,i);return i.delete(t),l;case"[object Symbol]":if(Oo)return Oo.call(t)==Oo.call(e)}return!1};var xo=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},ko=xo,Co=Ft;var Ao=function(t,e,r){var n=e(t);return Co(t)?n:ko(n,r(t))};var No=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,a=[];++r<n;){var i=t[r];e(i,r,t)&&(a[o++]=i)}return a},Eo=function(){return[]},Mo=Object.prototype.propertyIsEnumerable,Po=Object.getOwnPropertySymbols,zo=Ao,Do=Po?function(t){return null==t?[]:(t=Object(t),No(Po(t),function(e){return Mo.call(t,e)}))}:Eo,Bo=ye;var To=function(t){return zo(t,Bo,Do)},Fo=Object.prototype.hasOwnProperty;var Uo=function(t,e,r,n,o,a){var i=1&r,u=To(t),s=u.length;if(s!=To(e).length&&!i)return!1;for(var c=s;c--;){var l=u[c];if(!(i?l in e:Fo.call(e,l)))return!1}var f=a.get(t),h=a.get(e);if(f&&h)return f==e&&h==t;var d=!0;a.set(t,e),a.set(e,t);for(var v=i;++c<s;){var p=t[l=u[c]],b=e[l];if(n)var y=i?n(b,p,l,e,t,a):n(p,b,l,t,e,a);if(!(void 0===y?p===b||o(p,b,r,n,a):y)){d=!1;break}v||(v="constructor"==l)}if(d&&!v){var g=t.constructor,_=e.constructor;g==_||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof _&&_ instanceof _||(d=!1)}return a.delete(t),a.delete(e),d},$o=V(u,"DataView"),Io=Yr,Vo=V(u,"Promise"),Qo=V(u,"Set"),qo=V(u,"WeakMap"),Wo=_,Lo=A,Go="[object Map]",Jo="[object Promise]",Ho="[object Set]",Ko="[object WeakMap]",Xo="[object DataView]",Yo=Lo($o),Zo=Lo(Io),ta=Lo(Vo),ea=Lo(Qo),ra=Lo(qo),na=Wo;($o&&na(new $o(new ArrayBuffer(1)))!=Xo||Io&&na(new Io)!=Go||Vo&&na(Vo.resolve())!=Jo||Qo&&na(new Qo)!=Ho||qo&&na(new qo)!=Ko)&&(na=function(t){var e=Wo(t),r="[object Object]"==e?t.constructor:void 0,n=r?Lo(r):"";if(n)switch(n){case Yo:return Xo;case Zo:return Go;case ta:return Jo;case ea:return Ho;case ra:return Ko}return e});var oa=uo,aa=bo,ia=Ro,ua=Uo,sa=na,ca=Ft,la=Vt,fa=te,ha="[object Arguments]",da="[object Array]",va="[object Object]",pa=Object.prototype.hasOwnProperty;var ba=function(t,e,r,n,o,a){var i=ca(t),u=ca(e),s=i?da:sa(t),c=u?da:sa(e),l=(s=s==ha?va:s)==va,f=(c=c==ha?va:c)==va,h=s==c;if(h&&la(t)){if(!la(e))return!1;i=!0,l=!1}if(h&&!l)return a||(a=new oa),i||fa(t)?aa(t,e,r,n,o,a):ia(t,e,s,r,n,o,a);if(!(1&r)){var d=l&&pa.call(t,"__wrapped__"),v=f&&pa.call(e,"__wrapped__");if(d||v){var p=d?t.value():t,b=v?e.value():e;return a||(a=new oa),o(p,b,r,n,a)}}return!!h&&(a||(a=new oa),ua(t,e,r,n,o,a))},ya=At;var ga=function t(e,r,n,o,a){return e===r||(null==e||null==r||!ya(e)&&!ya(r)?e!=e&&r!=r:ba(e,r,n,o,t,a))},_a=uo,ma=ga;var wa=m;var ja=function(t){return t==t&&!wa(t)},Sa=ja,Oa=ye;var Ra=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},xa=function(t,e,r,n){var o=r.length,a=o,i=!n;if(null==t)return!a;for(t=Object(t);o--;){var u=r[o];if(i&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<a;){var s=(u=r[o])[0],c=t[s],l=u[1];if(i&&u[2]){if(void 0===c&&!(s in t))return!1}else{var f=new _a;if(n)var h=n(c,l,s,t,e,f);if(!(void 0===h?ma(l,c,3,n,f):h))return!1}}return!0},ka=function(t){for(var e=Oa(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Sa(o)]}return e},Ca=Ra;var Aa=Pn,Na=Tt,Ea=Ft,Ma=gt,Pa=dt,za=Dn;var Da=function(t,e){return null!=t&&e in Object(t)},Ba=function(t,e,r){for(var n=-1,o=(e=Aa(e,t)).length,a=!1;++n<o;){var i=za(e[n]);if(!(a=null!=t&&r(t,i)))break;t=t[i]}return a||++n!=o?a:!!(o=null==t?0:t.length)&&Pa(o)&&Ma(i,o)&&(Ea(t)||Na(t))};var Ta=ga,Fa=Vn,Ua=function(t,e){return null!=t&&Ba(t,e,Da)},$a=_r,Ia=ja,Va=Ra,Qa=Dn;var qa=Fn;var Wa=function(t){return function(e){return null==e?void 0:e[t]}},La=function(t){return function(e){return qa(e,t)}},Ga=_r,Ja=Dn;var Ha=function(t){var e=ka(t);return 1==e.length&&e[0][2]?Ca(e[0][0],e[0][1]):function(r){return r===t||xa(r,t,e)}},Ka=function(t,e){return $a(t)&&Ia(e)?Va(Qa(t),e):function(r){var n=Fa(r,t);return void 0===n&&n===e?Ua(r,t):Ta(e,n,3)}},Xa=et,Ya=Ft,Za=function(t){return Ga(t)?Wa(Ja(t)):La(t)};var ti=function(t){return"function"==typeof t?t:null==t?Xa:"object"==typeof t?Ya(t)?Ka(t[0],t[1]):Ha(t):Za(t)};var ei=function(t){return function(e,r,n){for(var o=-1,a=Object(e),i=n(e),u=i.length;u--;){var s=i[t?u:++o];if(!1===r(a[s],s,a))break}return e}}(),ri=ye;var ni=bt;var oi=function(t,e){return function(r,n){if(null==r)return r;if(!ni(r))return t(r,n);for(var o=r.length,a=e?o:-1,i=Object(r);(e?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(function(t,e){return t&&ei(t,e,ri)}),ai=bt;var ii=tr,ui=ti,si=function(t,e){var r=-1,n=ai(t)?Array(t.length):[];return oi(t,function(t,o,a){n[++r]=e(t,o,a)}),n},ci=Ft;var li=n(function(t,e){return(ci(t)?ii:si)(t,ui(e))}),fi=ti,hi=bt,di=ye;var vi=function(t){return function(e,r,n){var o=Object(e);if(!hi(e)){var a=fi(r);e=di(e),r=function(t){return a(o[t],t,o)}}var i=t(e,r,n);return i>-1?o[a?e[i]:i]:void 0}},pi=Ce,bi=ti,yi=Ze,gi=Math.max;var _i,mi=n(vi(function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var o=null==r?0:yi(r);return o<0&&(o=gi(n+o,0)),pi(t,bi(e),o)}));class wi{socket;messageSub;destorySub;get message(){return this.messageSub.asObservable()}constructor(r){this.destorySub=new t.Subject,this.messageSub=new t.Subject;const{specific:n,id:o}=r.project;this.socket=e.io(r.ws_url,Re({autoConnect:!1},n&&void 0!==o?{query:{uuid:o}}:{}))}start(){const e="list",r="cloud",n="channel";t.fromEvent(this.socket,e).pipe(t.take(1),t.takeUntil(this.destorySub)).subscribe(t=>{this.messageSub.next({event:e,data:t})}),t.fromEvent(this.socket,r).pipe(t.takeUntil(this.destorySub)).subscribe(t=>{this.messageSub.next({event:r,data:t})}),t.fromEvent(this.socket,n).pipe(t.takeUntil(this.destorySub)).subscribe(t=>{this.messageSub.next({event:n,data:t})}),this.socket.connect()}send(t,e){this.socket.emit(t,e)}sendToCloud(t){this.send("cloud",JSON.stringify(t))}onDestory(){this.destorySub.next(),this.destorySub.complete(),this.messageSub.complete(),this.socket.disconnect()}}!function(t){t[t.interrupted=0]="interrupted",t[t.pcm=1]="pcm",t[t.cloudSampleRate=2]="cloudSampleRate"}(_i||(_i={}));class ji{config;media;chat;destorySub;projectsSub;layoutSub;aiiaSubtitleSub;userSubtitleSub;cloudSampleRate;channelState;get layout(){return this.layoutSub.asObservable()}get projects(){return this.projectsSub.asObservable()}get aiiaSubtitle(){return this.aiiaSubtitleSub.asObservable()}get userSubtitle(){return this.userSubtitleSub.asObservable()}set volume(t){this.media.setVolume(t)}get volume(){return this.media.getVolume()}constructor(e,r){this.config=e,this.media=r,this.layoutSub=new t.Subject,this.projectsSub=new t.Subject,this.destorySub=new t.Subject,this.aiiaSubtitleSub=new t.Subject,this.userSubtitleSub=new t.Subject,this.cloudSampleRate=16e3,this.channelState={proxy:!1,cloud:!1},this.chat=new wi(e)}start(){this.media.stateObs.pipe(t.takeUntil(this.destorySub)).subscribe(()=>{this.channelCheck()}),this.chat.message.pipe(t.takeUntil(this.destorySub)).subscribe(({event:t,data:e})=>{switch(t){case"cloud":this.cloudToObj(e);break;case"list":{const{id:t,name:r,specific:n}=this.config.project;let o=null;if(n&&void 0!==t)o=t;else{const n=mi(e,e=>e.name===r||e.id===t);n&&(o=n.id)}null!==o?this.chooseProject(o):(this.projectsSub.next(e),dr.info("Please subscribe `projects` and call `chooseProject` method"));break}case"channel":"open"===e&&(this.channelState.proxy=!0,this.channelCheck())}}),this.chat.start()}chooseProject(t){this.chat.send("uuid",t)}cloudToObj(t){try{const e=JSON.parse(t);void 0!==Qn(e,"signal")?this.behavior(e):Ut(e)?li(e,this.behavior):li(ar(e),this.behavior)}catch(t){dr.error("aiia websocket","onmessage error",t)}}behavior(t){switch(t.signal){case"layout":this.layoutSub.next(t.content);break;case"audio":if("sampleRate"===t.command)this.cloudSampleRate=t.content;else switch(t.command){case"pcm":{const e=function(t,e,r){if(e===r)return t;const n=r/e,o=Math.ceil(t.length*n),a=new Float32Array(o);for(let e=0;e<o;e++){const r=e/n,o=Math.floor(r),i=r-o,u=t[o],s=t[Math.min(o+1,t.length-1)];a[e]=u+(s-u)*i}return a}(Wn(new Int16Array(t.content)),this.cloudSampleRate,this.media.sampleRate);this.media.addAudioQueue({float32:e}),this.media.playAudio();break}case"interrupted":this.media.stopAudio()}break;case"status":"Connected"===Qn(t,"content")&&(this.channelState.cloud=!0,this.channelCheck());break;case"agent":{const e=Qn(t,"content.function_result.response");e&&this.aiiaSubtitleSub.next(e);break}case"asr":if("ASR"===Qn(t,"content.function_type")){const e=Qn(t,"content.function_result.result");e&&this.userSubtitleSub.next(e)}break;default:dr.info(t.signal)}}channelCheck(){const{proxy:e,cloud:r}=this.channelState;e&&r&&this.media.state===In.allowed?(this.chat.sendToCloud({request:"audio",command:"sampleRate",content:this.media.sampleRate}),this.media.pcm.pipe(t.takeUntil(this.destorySub)).subscribe(t=>{this.chat.sendToCloud({request:"audio",command:"pcm",content:Ln(t)})}),this.media.startRecord(),dr.info("Channel, Cloud and Media are ready.")):e&&r&&this.media.state!==In.allowed&&dr.warn("Media permission didn't get. Please reload page after reset permission or ignore this message.")}onDestory(){this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete()}}exports.MediaManager=Hn,exports.initSdk=function(t){if(xe){const e=new ke(Re({},t));vr(e.debug);const r=new Hn,n=new ji(e,r);return""!==e.worklet_url&&r.init(e.worklet_url),n}throw new Error(be["環境錯誤(browser)"])};
package/dist/browser.d.ts CHANGED
@@ -7,7 +7,6 @@ import { Observable } from 'rxjs';
7
7
  import { Server } from 'http';
8
8
  import { Server as Server_2 } from 'https';
9
9
  import { ServerResponse } from 'http';
10
- import { Subject } from 'rxjs';
11
10
 
12
11
  declare class AiiaConfig {
13
12
  private config;
@@ -28,7 +27,7 @@ declare class AiiaConfig {
28
27
  constructor(config: InitOptions);
29
28
  }
30
29
 
31
- declare interface AiiaProjectItem {
30
+ export declare interface AiiaProjectItem {
32
31
  id: string;
33
32
  name: string;
34
33
  }
@@ -40,7 +39,17 @@ declare class AiiaSdk {
40
39
  private destorySub;
41
40
  private projectsSub;
42
41
  private layoutSub;
42
+ private aiiaSubtitleSub;
43
+ private userSubtitleSub;
43
44
  private cloudSampleRate;
45
+ private channelState;
46
+ /**
47
+ * [zh]
48
+ * 控制畫面 Layout
49
+ *
50
+ * [en]
51
+ * Control Layout
52
+ */
44
53
  get layout(): Observable< {
45
54
  type: "mount";
46
55
  id: LayoutID;
@@ -56,9 +65,36 @@ declare class AiiaSdk {
56
65
  type: "unmount";
57
66
  id: LayoutID;
58
67
  }>;
68
+ /**
69
+ * [zh]
70
+ * 若沒有明確指定 Project ID 時,請訂閱此物件
71
+ *
72
+ * [en]
73
+ * If no Project ID is explicitly specified, please subscribe to this object
74
+ */
59
75
  get projects(): Observable<AiiaProjectItem[]>;
60
76
  /**
61
77
  * [zh]
78
+ * Aiia 的回應字幕
79
+ *
80
+ * [en]
81
+ * Aiia's subtitle of response
82
+ */
83
+ get aiiaSubtitle(): Observable<string>;
84
+ /**
85
+ * [zh]
86
+ * 使用者語音輸入的字幕
87
+ *
88
+ * [en]
89
+ * User's subtitle of voice input
90
+ */
91
+ get userSubtitle(): Observable<string>;
92
+ /**
93
+ * [zh]
94
+ * 設定音量
95
+ *
96
+ * [en]
97
+ * Setting volume
62
98
  *
63
99
  * @example```js
64
100
  * const sdk = new AiiaSdk()
@@ -70,32 +106,22 @@ declare class AiiaSdk {
70
106
  get volume(): number;
71
107
  constructor(config: AiiaConfig, media: MediaManager);
72
108
  start(): void;
109
+ /**
110
+ * [zh]
111
+ * 若沒有明確指定 Project 時,請呼叫此方法
112
+ *
113
+ * [en]
114
+ * If no Project is explicitly specified, please execute this method
115
+ * @param project_id
116
+ */
73
117
  chooseProject(project_id: string): void;
74
118
  private cloudToObj;
75
119
  private behavior;
120
+ private channelCheck;
76
121
  onDestory(): void;
77
122
  }
78
123
 
79
- declare class AudioManager {
80
- audioContext: AudioContext;
81
- readonly type = "audio";
82
- private currentNode;
83
- private bufferQueue;
84
- private gainNode;
85
- set volume(val: number);
86
- get volume(): number;
87
- constructor(audioContext: AudioContext);
88
- addBuffer(buffer: AudioBuffer): void;
89
- addBufferByFloat32(float32: Float32Array, numberOfChannels?: number): void;
90
- addBufferByInt16(int16: Int16Array, numberOfChannels?: number): void;
91
- startSpeech(): void;
92
- pauseSpeech(): void;
93
- resumeSpeech(): void;
94
- nextSpeech(): void;
95
- stopSpeech(): void;
96
- private clearNode;
97
- private continue;
98
- }
124
+ export declare type BrowserInitOptions = Omit<InitOptions, "webserver" | "port">;
99
125
 
100
126
  declare interface InitOptions {
101
127
  /**
@@ -166,19 +192,23 @@ declare interface InitOptions {
166
192
  debug?: boolean | "all" | "none" | ("info" | "error" | "warn")[];
167
193
  }
168
194
 
169
- export declare function initSdk(options?: Omit<InitOptions, "webserver" | "port">): AiiaSdk;
195
+ export declare function initSdk(options?: BrowserInitOptions): AiiaSdk;
170
196
 
171
197
  declare type LayoutID = string | number;
172
198
 
173
- declare class MediaManager {
174
- state: MediaStateEnum;
175
- audioCtx: AudioContext;
176
- audioManager: AudioManager;
177
- vadManager: VoiceDetectManager;
178
- destory: Subject<void>;
199
+ export declare class MediaManager {
200
+ private _state;
201
+ private stateSub;
202
+ private audioCtx?;
203
+ private audioManager?;
204
+ private vadManager?;
205
+ private destory;
179
206
  private pcmSub;
180
207
  get sampleRate(): number;
181
208
  get pcm(): Observable<Float32Array<ArrayBufferLike>>;
209
+ get state(): MediaStateEnum;
210
+ set state(v: MediaStateEnum);
211
+ get stateObs(): Observable<MediaStateEnum>;
182
212
  constructor();
183
213
  init(workletUrl: string): Promise<void>;
184
214
  addAudioQueue(input: {
@@ -206,18 +236,4 @@ declare enum MediaStateEnum {
206
236
  allowed = 3
207
237
  }
208
238
 
209
- declare class VoiceDetectManager {
210
- stream: MediaStream;
211
- private audioContext;
212
- readonly type = "vad";
213
- private workletNode?;
214
- private source?;
215
- private isRecording;
216
- private pcmSub;
217
- get pcm(): Observable<Float32Array<ArrayBufferLike>>;
218
- constructor(stream: MediaStream, audioContext: AudioContext);
219
- startRecord(): Promise<void>;
220
- stopRecord(): void;
221
- }
222
-
223
239
  export { }
package/dist/browser.mjs CHANGED
@@ -1 +1 @@
1
- import{Subject as t,takeUntil as e,fromEvent as r,take as n}from"rxjs";import{io as o}from"socket.io-client";var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var u="object"==typeof a&&a&&a.Object===Object&&a,s=u,c="object"==typeof self&&self&&self.Object===Object&&self,f=s||c||Function("return this")(),l=f.Symbol,h=l,d=Object.prototype,v=d.hasOwnProperty,p=d.toString,b=h?h.toStringTag:void 0;var y=function(t){var e=v.call(t,b),r=t[b];try{t[b]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[b]=r:delete t[b]),o},g=Object.prototype.toString;var _=y,m=function(t){return g.call(t)},w=l?l.toStringTag:void 0;var j=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":w&&w in Object(t)?_(t):m(t)};var O=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},S=j,R=O;var x,k=function(t){if(!R(t))return!1;var e=S(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},A=f["__core-js_shared__"],N=(x=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"";var C=function(t){return!!N&&N in t},E=Function.prototype.toString;var M=function(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""},z=k,D=C,P=O,B=M,T=/^\[object .+?Constructor\]$/,F=Function.prototype,$=Object.prototype,I=F.toString,V=$.hasOwnProperty,Q=RegExp("^"+I.call(V).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var U=function(t){return!(!P(t)||D(t))&&(z(t)?Q:T).test(B(t))},W=function(t,e){return null==t?void 0:t[e]};var q=function(t,e){var r=W(t,e);return U(r)?r:void 0},L=q,G=function(){try{var t=L(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),J=G;var H=function(t,e,r){"__proto__"==e&&J?J(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var K=function(t,e){return t===e||t!=t&&e!=e},X=H,Y=K,Z=Object.prototype.hasOwnProperty;var tt=function(t,e,r){var n=t[e];Z.call(t,e)&&Y(n,r)&&(void 0!==r||e in t)||X(t,e,r)},et=tt,rt=H;var nt=function(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a<i;){var u=e[a],s=n?n(r[u],t[u],u,r,t):void 0;void 0===s&&(s=t[u]),o?rt(r,u,s):et(r,u,s)}return r};var ot=function(t){return t};var at=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},it=Math.max;var ut=function(t,e,r){return e=it(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,a=it(n.length-e,0),i=Array(a);++o<a;)i[o]=n[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=n[o];return u[e]=r(i),at(t,this,u)}};var st=function(t){return function(){return t}},ct=G,ft=ct?function(t,e){return ct(t,"toString",{configurable:!0,enumerable:!1,value:st(e),writable:!0})}:ot,lt=Date.now;var ht=function(t){var e=0,r=0;return function(){var n=lt(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ft),dt=ot,vt=ut,pt=ht;var bt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},yt=k,gt=bt;var _t=function(t){return null!=t&&gt(t.length)&&!yt(t)},mt=/^(?:0|[1-9]\d*)$/;var wt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&mt.test(t))&&t>-1&&t%1==0&&t<e},jt=K,Ot=_t,St=wt,Rt=O;var xt=function(t,e){return pt(vt(t,e,dt),t+"")},kt=function(t,e,r){if(!Rt(r))return!1;var n=typeof e;return!!("number"==n?Ot(r)&&St(e,r.length):"string"==n&&e in r)&&jt(r[e],t)};var At=function(t){return xt(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,i&&kt(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n<o;){var u=r[n];u&&t(e,u,n,a)}return e})},Nt=Object.prototype;var Ct=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Nt)};var Et=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var Mt=function(t){return null!=t&&"object"==typeof t},zt=j,Dt=Mt;var Pt=function(t){return Dt(t)&&"[object Arguments]"==zt(t)},Bt=Mt,Tt=Object.prototype,Ft=Tt.hasOwnProperty,$t=Tt.propertyIsEnumerable,It=Pt(function(){return arguments}())?Pt:function(t){return Bt(t)&&Ft.call(t,"callee")&&!$t.call(t,"callee")},Vt=Array.isArray,Qt=i(Vt),Ut={exports:{}};var Wt=function(){return!1};!function(t,e){var r=f,n=Wt,o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,i=a&&a.exports===o?r.Buffer:void 0,u=(i?i.isBuffer:void 0)||n;t.exports=u}(Ut,Ut.exports);var qt=Ut.exports,Lt=j,Gt=bt,Jt=Mt,Ht={};Ht["[object Float32Array]"]=Ht["[object Float64Array]"]=Ht["[object Int8Array]"]=Ht["[object Int16Array]"]=Ht["[object Int32Array]"]=Ht["[object Uint8Array]"]=Ht["[object Uint8ClampedArray]"]=Ht["[object Uint16Array]"]=Ht["[object Uint32Array]"]=!0,Ht["[object Arguments]"]=Ht["[object Array]"]=Ht["[object ArrayBuffer]"]=Ht["[object Boolean]"]=Ht["[object DataView]"]=Ht["[object Date]"]=Ht["[object Error]"]=Ht["[object Function]"]=Ht["[object Map]"]=Ht["[object Number]"]=Ht["[object Object]"]=Ht["[object RegExp]"]=Ht["[object Set]"]=Ht["[object String]"]=Ht["[object WeakMap]"]=!1;var Kt=function(t){return Jt(t)&&Gt(t.length)&&!!Ht[Lt(t)]};var Xt=function(t){return function(e){return t(e)}},Yt={exports:{}};!function(t,e){var r=u,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,a=o&&o.exports===n&&r.process,i=function(){try{var t=o&&o.require&&o.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=i}(Yt,Yt.exports);var Zt=Yt.exports,te=Kt,ee=Xt,re=Zt&&Zt.isTypedArray,ne=re?ee(re):te,oe=Et,ae=It,ie=Vt,ue=qt,se=wt,ce=ne,fe=Object.prototype.hasOwnProperty;var le=function(t,e){var r=ie(t),n=!r&&ae(t),o=!r&&!n&&ue(t),a=!r&&!n&&!o&&ce(t),i=r||n||o||a,u=i?oe(t.length,String):[],s=u.length;for(var c in t)!e&&!fe.call(t,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||se(c,s))||u.push(c);return u};var he=function(t,e){return function(r){return t(e(r))}}(Object.keys,Object),de=Ct,ve=he,pe=Object.prototype.hasOwnProperty;var be=le,ye=function(t){if(!de(t))return ve(t);var e=[];for(var r in Object(t))pe.call(t,r)&&"constructor"!=r&&e.push(r);return e},ge=_t;var _e,me=function(t){return ge(t)?be(t):ye(t)},we=tt,je=nt,Oe=At,Se=_t,Re=Ct,xe=me,ke=Object.prototype.hasOwnProperty,Ae=i(Oe(function(t,e){if(Re(e)||Se(e))je(e,xe(e),t);else for(var r in e)ke.call(e,r)&&we(t,r,e[r])}));!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(_e||(_e={}));const Ne="undefined"!=typeof window;"undefined"!=typeof process&&null!=process.versions&&process.versions.node;class Ce{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=Ae({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:Ae({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var Ee=function(t,e,r,n){for(var o=t.length,a=r+(n?1:-1);n?a--:++a<o;)if(e(t[a],a,t))return a;return-1};var Me=Ee,ze=function(t){return t!=t},De=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var Pe=function(t,e,r){return e==e?De(t,e,r):Me(t,ze,r)},Be=j,Te=Vt,Fe=Mt;var $e=function(t){return"string"==typeof t||!Te(t)&&Fe(t)&&"[object String]"==Be(t)},Ie=/\s/;var Ve=function(t){for(var e=t.length;e--&&Ie.test(t.charAt(e)););return e},Qe=/^\s+/;var Ue=j,We=Mt;var qe=function(t){return"symbol"==typeof t||We(t)&&"[object Symbol]"==Ue(t)},Le=function(t){return t?t.slice(0,Ve(t)+1).replace(Qe,""):t},Ge=O,Je=qe,He=/^[-+]0x[0-9a-f]+$/i,Ke=/^0b[01]+$/i,Xe=/^0o[0-7]+$/i,Ye=parseInt;var Ze=function(t){if("number"==typeof t)return t;if(Je(t))return NaN;if(Ge(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ge(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Le(t);var r=Ke.test(t);return r||Xe.test(t)?Ye(t.slice(2),r?2:8):He.test(t)?NaN:+t},tr=1/0;var er=function(t){return t?(t=Ze(t))===tr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var rr=function(t){var e=er(t),r=e%1;return e==e?r?e-r:e:0};var nr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},or=nr;var ar=function(t,e){return or(e,function(e){return t[e]})},ir=me;var ur=function(t){return null==t?[]:ar(t,ir(t))},sr=i(ur),cr=Pe,fr=_t,lr=$e,hr=rr,dr=ur,vr=Math.max;var pr=i(function(t,e,r,n){t=fr(t)?t:dr(t),r=r&&!n?hr(r):0;var o=t.length;return r<0&&(r=vr(o+r,0)),lr(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&cr(t,e,r)>-1});const br={info:()=>{},error:()=>{},warn:()=>{}};function yr(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:pr(t,"error"),warn:pr(t,"warn"),info:pr(t,"info")}}(t);e&&(br.info=console.log),r&&(br.error=console.error),n&&(br.warn=console.warn)}var gr=Vt,_r=qe,mr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wr=/^\w*$/;var jr=function(t,e){if(gr(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!_r(t))||(wr.test(t)||!mr.test(t)||null!=e&&t in Object(e))},Or=q(Object,"create"),Sr=Or;var Rr=function(){this.__data__=Sr?Sr(null):{},this.size=0};var xr=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},kr=Or,Ar=Object.prototype.hasOwnProperty;var Nr=function(t){var e=this.__data__;if(kr){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Ar.call(e,t)?e[t]:void 0},Cr=Or,Er=Object.prototype.hasOwnProperty;var Mr=Or;var zr=Rr,Dr=xr,Pr=Nr,Br=function(t){var e=this.__data__;return Cr?void 0!==e[t]:Er.call(e,t)},Tr=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Mr&&void 0===e?"__lodash_hash_undefined__":e,this};function Fr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Fr.prototype.clear=zr,Fr.prototype.delete=Dr,Fr.prototype.get=Pr,Fr.prototype.has=Br,Fr.prototype.set=Tr;var $r=Fr;var Ir=function(){this.__data__=[],this.size=0},Vr=K;var Qr=function(t,e){for(var r=t.length;r--;)if(Vr(t[r][0],e))return r;return-1},Ur=Qr,Wr=Array.prototype.splice;var qr=Qr;var Lr=Qr;var Gr=Qr;var Jr=Ir,Hr=function(t){var e=this.__data__,r=Ur(e,t);return!(r<0)&&(r==e.length-1?e.pop():Wr.call(e,r,1),--this.size,!0)},Kr=function(t){var e=this.__data__,r=qr(e,t);return r<0?void 0:e[r][1]},Xr=function(t){return Lr(this.__data__,t)>-1},Yr=function(t,e){var r=this.__data__,n=Gr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function Zr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Zr.prototype.clear=Jr,Zr.prototype.delete=Hr,Zr.prototype.get=Kr,Zr.prototype.has=Xr,Zr.prototype.set=Yr;var tn=Zr,en=q(f,"Map"),rn=$r,nn=tn,on=en;var an=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var un=function(t,e){var r=t.__data__;return an(e)?r["string"==typeof e?"string":"hash"]:r.map},sn=un;var cn=un;var fn=un;var ln=un;var hn=function(){this.size=0,this.__data__={hash:new rn,map:new(on||nn),string:new rn}},dn=function(t){var e=sn(this,t).delete(t);return this.size-=e?1:0,e},vn=function(t){return cn(this,t).get(t)},pn=function(t){return fn(this,t).has(t)},bn=function(t,e){var r=ln(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function yn(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}yn.prototype.clear=hn,yn.prototype.delete=dn,yn.prototype.get=vn,yn.prototype.has=pn,yn.prototype.set=bn;var gn=yn,_n=gn;function mn(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=t.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(mn.Cache||_n),r}mn.Cache=_n;var wn=mn;var jn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,On=/\\(\\)?/g,Sn=function(t){var e=wn(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(jn,function(t,r,n,o){e.push(n?o.replace(On,"$1"):r||t)}),e}),Rn=nr,xn=Vt,kn=qe,An=l?l.prototype:void 0,Nn=An?An.toString:void 0;var Cn=function t(e){if("string"==typeof e)return e;if(xn(e))return Rn(e,t)+"";if(kn(e))return Nn?Nn.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},En=Cn;var Mn=Vt,zn=jr,Dn=Sn,Pn=function(t){return null==t?"":En(t)};var Bn=function(t,e){return Mn(t)?t:zn(t,e)?[t]:Dn(Pn(t))},Tn=qe;var Fn=function(t){if("string"==typeof t||Tn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},$n=Bn,In=Fn;var Vn=function(t,e){for(var r=0,n=(e=$n(e,t)).length;null!=t&&r<n;)t=t[In(e[r++])];return r&&r==n?t:void 0},Qn=Vn;var Un,Wn,qn=function(t,e,r){var n=null==t?void 0:Qn(t,e);return void 0===n?r:n},Ln=i(qn);function Gn(t,e,r){return Math.max(r,Math.min(t,e))}function Jn(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=e.getInt16(2*n,!0)/32768;r.push(t)}return new Float32Array(r)}function Hn(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=Gn(32768*e.getFloat32(4*n,!0),32767,-32768);r.push(t)}return r}!function(t){t[t.unknow=0]="unknow",t[t.allowed=1]="allowed",t[t.rejected=2]="rejected"}(Un||(Un={}));class Kn{audioContext;type="audio";currentNode;bufferQueue;gainNode;set volume(t){t<0&&(t=0),t>100&&(t=100),this.gainNode.gain.value=t/100}get volume(){return Math.round(100*this.gainNode.gain.value)}constructor(t){this.audioContext=t,this.bufferQueue=[],this.currentNode=null,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}addBuffer(t){this.bufferQueue.push(t)}addBufferByFloat32(t,e=1){const r=t.length,n=this.audioContext.sampleRate,o=this.audioContext.createBuffer(e,r,n),a=t.slice();for(let t=0;t<e;t++)o.copyToChannel(a,t);this.addBuffer(o)}addBufferByInt16(t,e=1){this.addBufferByFloat32(Jn(t),e)}startSpeech(){null===this.currentNode&&this.continue()}pauseSpeech(){this.audioContext.suspend().catch(t=>{br.error("[ERROR]: pause speech fail"),br.error(t)})}resumeSpeech(){this.audioContext.resume().catch(t=>{br.error("[ERROR]: resume speech fail"),br.error(t)})}nextSpeech(){this.bufferQueue.length>0&&(this.clearNode(),this.continue())}stopSpeech(){this.bufferQueue=[],this.clearNode()}clearNode(){this.currentNode&&(this.currentNode.onended=function(){},this.currentNode.stop(),this.currentNode.disconnect(),this.currentNode=null)}continue(){const t=this.bufferQueue.shift();if(t){this.currentNode=this.audioContext.createBufferSource(),this.currentNode.buffer=t,this.currentNode.connect(this.gainNode);const e=this.continue.bind(this);this.currentNode.onended=e,this.currentNode.start()}else this.clearNode()}}class Xn{stream;audioContext;type="vad";workletNode;source;isRecording=!1;pcmSub;get pcm(){return this.pcmSub.asObservable()}constructor(e,r){this.stream=e,this.audioContext=r,this.pcmSub=new t}async startRecord(){this.isRecording||(this.source=this.audioContext.createMediaStreamSource(this.stream),this.workletNode=new AudioWorkletNode(this.audioContext,"aiia-vad"),this.source.connect(this.workletNode),this.workletNode.port.onmessage=t=>{const{float32:e,energy:r}=t.data;e&&this.pcmSub.next(new Float32Array(e))},this.isRecording=!0)}stopRecord(){this.isRecording&&(this.workletNode&&(this.workletNode.port.onmessage=null,this.workletNode.disconnect()),this.source&&this.source.disconnect(),this.isRecording=!1)}}!function(t){t[t.padding=0]="padding",t[t.rejected=1]="rejected",t[t.loadfail=2]="loadfail",t[t.allowed=3]="allowed"}(Wn||(Wn={}));class Yn{state;audioCtx;audioManager;vadManager;destory;pcmSub;get sampleRate(){return this.audioCtx.sampleRate}get pcm(){return this.pcmSub.asObservable()}constructor(){this.state=Wn.padding,this.pcmSub=new t,this.destory=new t}async init(t){if(this.destory.closed)throw new Error(_e["實例已摧毀"]);const r=await async function(t){try{return await navigator.mediaDevices.getUserMedia(t)}catch(t){return null}}({audio:{echoCancellation:!0,noiseSuppression:!0}});if(null===r)throw this.state=Wn.rejected,new Error(_e["未獲得媒體裝置權限"]);const n=new AudioContext;try{await n.audioWorklet.addModule(t)}catch(t){throw br.error(t),this.state=Wn.loadfail,new Error(_e["Worklet模組載入失敗"])}this.state=Wn.allowed,this.audioManager=new Kn(n),this.vadManager=new Xn(r,n),this.vadManager.pcm.pipe(e(this.destory)).subscribe(t=>{this.pcmSub.next(t)})}addAudioQueue(t){const e=Ln(t,"buffer",void 0),r=Ln(t,"float32",void 0),n=Ln(t,"int16",void 0),o=Ln(t,"numberOfChannels",void 0);e?this.audioManager?.addBuffer(e):r?this.audioManager?.addBufferByFloat32(r,o):n&&this.audioManager?.addBufferByInt16(n,o)}playAudio(){this.audioManager?.startSpeech()}stopAudio(){this.audioManager?.stopSpeech()}startRecord(){this.vadManager?.startRecord()}stopRecord(){this.vadManager?.stopRecord()}setVolume(t){this.audioManager&&(this.audioManager.volume=t)}getVolume(){return this.audioManager?this.audioManager.volume:0}onDestory(){this.audioCtx.close(),this.destory.next(),this.destory.complete()}}var Zn=tn;var to=tn,eo=en,ro=gn;var no=tn,oo=function(){this.__data__=new Zn,this.size=0},ao=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},io=function(t){return this.__data__.get(t)},uo=function(t){return this.__data__.has(t)},so=function(t,e){var r=this.__data__;if(r instanceof to){var n=r.__data__;if(!eo||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new ro(n)}return r.set(t,e),this.size=r.size,this};function co(t){var e=this.__data__=new no(t);this.size=e.size}co.prototype.clear=oo,co.prototype.delete=ao,co.prototype.get=io,co.prototype.has=uo,co.prototype.set=so;var fo=co;var lo=gn,ho=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},vo=function(t){return this.__data__.has(t)};function po(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new lo;++e<r;)this.add(t[e])}po.prototype.add=po.prototype.push=ho,po.prototype.has=vo;var bo=po,yo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},go=function(t,e){return t.has(e)};var _o=function(t,e,r,n,o,a){var i=1&r,u=t.length,s=e.length;if(u!=s&&!(i&&s>u))return!1;var c=a.get(t),f=a.get(e);if(c&&f)return c==e&&f==t;var l=-1,h=!0,d=2&r?new bo:void 0;for(a.set(t,e),a.set(e,t);++l<u;){var v=t[l],p=e[l];if(n)var b=i?n(p,v,l,e,t,a):n(v,p,l,t,e,a);if(void 0!==b){if(b)continue;h=!1;break}if(d){if(!yo(e,function(t,e){if(!go(d,e)&&(v===t||o(v,t,r,n,a)))return d.push(e)})){h=!1;break}}else if(v!==p&&!o(v,p,r,n,a)){h=!1;break}}return a.delete(t),a.delete(e),h};var mo=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var wo=f.Uint8Array,jo=K,Oo=_o,So=mo,Ro=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},xo=l?l.prototype:void 0,ko=xo?xo.valueOf:void 0;var Ao=function(t,e,r,n,o,a,i){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!a(new wo(t),new wo(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return jo(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=So;case"[object Set]":var s=1&n;if(u||(u=Ro),t.size!=e.size&&!s)return!1;var c=i.get(t);if(c)return c==e;n|=2,i.set(t,e);var f=Oo(u(t),u(e),n,o,a,i);return i.delete(t),f;case"[object Symbol]":if(ko)return ko.call(t)==ko.call(e)}return!1};var No=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},Co=No,Eo=Vt;var Mo=function(t,e,r){var n=e(t);return Eo(t)?n:Co(n,r(t))};var zo=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,a=[];++r<n;){var i=t[r];e(i,r,t)&&(a[o++]=i)}return a},Do=function(){return[]},Po=Object.prototype.propertyIsEnumerable,Bo=Object.getOwnPropertySymbols,To=Mo,Fo=Bo?function(t){return null==t?[]:(t=Object(t),zo(Bo(t),function(e){return Po.call(t,e)}))}:Do,$o=me;var Io=function(t){return To(t,$o,Fo)},Vo=Object.prototype.hasOwnProperty;var Qo=function(t,e,r,n,o,a){var i=1&r,u=Io(t),s=u.length;if(s!=Io(e).length&&!i)return!1;for(var c=s;c--;){var f=u[c];if(!(i?f in e:Vo.call(e,f)))return!1}var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var d=!0;a.set(t,e),a.set(e,t);for(var v=i;++c<s;){var p=t[f=u[c]],b=e[f];if(n)var y=i?n(b,p,f,e,t,a):n(p,b,f,t,e,a);if(!(void 0===y?p===b||o(p,b,r,n,a):y)){d=!1;break}v||(v="constructor"==f)}if(d&&!v){var g=t.constructor,_=e.constructor;g==_||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof _&&_ instanceof _||(d=!1)}return a.delete(t),a.delete(e),d},Uo=q(f,"DataView"),Wo=en,qo=q(f,"Promise"),Lo=q(f,"Set"),Go=q(f,"WeakMap"),Jo=j,Ho=M,Ko="[object Map]",Xo="[object Promise]",Yo="[object Set]",Zo="[object WeakMap]",ta="[object DataView]",ea=Ho(Uo),ra=Ho(Wo),na=Ho(qo),oa=Ho(Lo),aa=Ho(Go),ia=Jo;(Uo&&ia(new Uo(new ArrayBuffer(1)))!=ta||Wo&&ia(new Wo)!=Ko||qo&&ia(qo.resolve())!=Xo||Lo&&ia(new Lo)!=Yo||Go&&ia(new Go)!=Zo)&&(ia=function(t){var e=Jo(t),r="[object Object]"==e?t.constructor:void 0,n=r?Ho(r):"";if(n)switch(n){case ea:return ta;case ra:return Ko;case na:return Xo;case oa:return Yo;case aa:return Zo}return e});var ua=fo,sa=_o,ca=Ao,fa=Qo,la=ia,ha=Vt,da=qt,va=ne,pa="[object Arguments]",ba="[object Array]",ya="[object Object]",ga=Object.prototype.hasOwnProperty;var _a=function(t,e,r,n,o,a){var i=ha(t),u=ha(e),s=i?ba:la(t),c=u?ba:la(e),f=(s=s==pa?ya:s)==ya,l=(c=c==pa?ya:c)==ya,h=s==c;if(h&&da(t)){if(!da(e))return!1;i=!0,f=!1}if(h&&!f)return a||(a=new ua),i||va(t)?sa(t,e,r,n,o,a):ca(t,e,s,r,n,o,a);if(!(1&r)){var d=f&&ga.call(t,"__wrapped__"),v=l&&ga.call(e,"__wrapped__");if(d||v){var p=d?t.value():t,b=v?e.value():e;return a||(a=new ua),o(p,b,r,n,a)}}return!!h&&(a||(a=new ua),fa(t,e,r,n,o,a))},ma=Mt;var wa=function t(e,r,n,o,a){return e===r||(null==e||null==r||!ma(e)&&!ma(r)?e!=e&&r!=r:_a(e,r,n,o,t,a))},ja=fo,Oa=wa;var Sa=O;var Ra=function(t){return t==t&&!Sa(t)},xa=Ra,ka=me;var Aa=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},Na=function(t,e,r,n){var o=r.length,a=o,i=!n;if(null==t)return!a;for(t=Object(t);o--;){var u=r[o];if(i&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<a;){var s=(u=r[o])[0],c=t[s],f=u[1];if(i&&u[2]){if(void 0===c&&!(s in t))return!1}else{var l=new ja;if(n)var h=n(c,f,s,t,e,l);if(!(void 0===h?Oa(f,c,3,n,l):h))return!1}}return!0},Ca=function(t){for(var e=ka(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,xa(o)]}return e},Ea=Aa;var Ma=Bn,za=It,Da=Vt,Pa=wt,Ba=bt,Ta=Fn;var Fa=function(t,e){return null!=t&&e in Object(t)},$a=function(t,e,r){for(var n=-1,o=(e=Ma(e,t)).length,a=!1;++n<o;){var i=Ta(e[n]);if(!(a=null!=t&&r(t,i)))break;t=t[i]}return a||++n!=o?a:!!(o=null==t?0:t.length)&&Ba(o)&&Pa(i,o)&&(Da(t)||za(t))};var Ia=wa,Va=qn,Qa=function(t,e){return null!=t&&$a(t,e,Fa)},Ua=jr,Wa=Ra,qa=Aa,La=Fn;var Ga=Vn;var Ja=function(t){return function(e){return null==e?void 0:e[t]}},Ha=function(t){return function(e){return Ga(e,t)}},Ka=jr,Xa=Fn;var Ya=function(t){var e=Ca(t);return 1==e.length&&e[0][2]?Ea(e[0][0],e[0][1]):function(r){return r===t||Na(r,t,e)}},Za=function(t,e){return Ua(t)&&Wa(e)?qa(La(t),e):function(r){var n=Va(r,t);return void 0===n&&n===e?Qa(r,t):Ia(e,n,3)}},ti=ot,ei=Vt,ri=function(t){return Ka(t)?Ja(Xa(t)):Ha(t)};var ni=function(t){return"function"==typeof t?t:null==t?ti:"object"==typeof t?ei(t)?Za(t[0],t[1]):Ya(t):ri(t)};var oi=function(t){return function(e,r,n){for(var o=-1,a=Object(e),i=n(e),u=i.length;u--;){var s=i[t?u:++o];if(!1===r(a[s],s,a))break}return e}}(),ai=me;var ii=_t;var ui=function(t,e){return function(r,n){if(null==r)return r;if(!ii(r))return t(r,n);for(var o=r.length,a=e?o:-1,i=Object(r);(e?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(function(t,e){return t&&oi(t,e,ai)}),si=_t;var ci=nr,fi=ni,li=function(t,e){var r=-1,n=si(t)?Array(t.length):[];return ui(t,function(t,o,a){n[++r]=e(t,o,a)}),n},hi=Vt;var di=i(function(t,e){return(hi(t)?ci:li)(t,fi(e))}),vi=ni,pi=_t,bi=me;var yi=function(t){return function(e,r,n){var o=Object(e);if(!pi(e)){var a=vi(r);e=bi(e),r=function(t){return a(o[t],t,o)}}var i=t(e,r,n);return i>-1?o[a?e[i]:i]:void 0}},gi=Ee,_i=ni,mi=rr,wi=Math.max;var ji,Oi=i(yi(function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var o=null==r?0:mi(r);return o<0&&(o=wi(n+o,0)),gi(t,_i(e),o)}));class Si{socket;messageSub;destorySub;get message(){return this.messageSub.asObservable()}constructor(e){this.destorySub=new t,this.messageSub=new t;const{specific:r,id:n}=e.project;this.socket=o(e.ws_url,Ae({autoConnect:!1},r&&void 0!==n?{query:{uuid:n}}:{}))}start(){const t="list",o="cloud",a="channel";r(this.socket,t).pipe(n(1),e(this.destorySub)).subscribe(e=>{this.messageSub.next({event:t,data:e})}),r(this.socket,o).pipe(e(this.destorySub)).subscribe(t=>{this.messageSub.next({event:o,data:t})}),r(this.socket,a).pipe(e(this.destorySub)).subscribe(t=>{this.messageSub.next({event:a,data:t})}),this.socket.connect()}send(t,e){this.socket.emit(t,e)}sendToCloud(t){this.send("cloud",JSON.stringify(t))}onDestory(){this.destorySub.next(),this.destorySub.complete(),this.messageSub.complete(),this.socket.disconnect()}}!function(t){t[t.interrupted=0]="interrupted",t[t.pcm=1]="pcm",t[t.cloudSampleRate=2]="cloudSampleRate"}(ji||(ji={}));class Ri{config;media;chat;destorySub;projectsSub;layoutSub;cloudSampleRate;get layout(){return this.layoutSub.asObservable()}get projects(){return this.projectsSub.asObservable()}set volume(t){this.media.setVolume(t)}get volume(){return this.media.getVolume()}constructor(e,r){this.config=e,this.media=r,this.layoutSub=new t,this.projectsSub=new t,this.destorySub=new t,this.cloudSampleRate=16e3,this.chat=new Si(e)}start(){this.chat.message.pipe(e(this.destorySub)).subscribe(({event:t,data:e})=>{switch(t){case"cloud":this.cloudToObj(e);break;case"list":{const{id:t,name:r,specific:n}=this.config.project;let o=null;if(n&&void 0!==t)o=t;else{const n=Oi(e,e=>e.name===r||e.id===t);n&&(o=n.id)}null!==o?this.chooseProject(o):this.projectsSub.next(e);break}}}),this.chat.start()}chooseProject(t){this.chat.send("uuid",t)}cloudToObj(t){try{const e=JSON.parse(t);void 0!==Ln(e,"signal")?this.behavior(e):Qt(e)?di(e,this.behavior):di(sr(e),this.behavior)}catch(t){br.error("aiia websocket","onmessage error",t)}}behavior(t){switch(t.signal){case"layout":this.layoutSub.next(t.content);break;case"audio":if("sampleRate"===t.command)this.cloudSampleRate=t.content;else if(this.media.state===Wn.allowed)switch(t.command){case"pcm":{const e=function(t,e,r){if(e===r)return t;const n=r/e,o=Math.ceil(t.length*n),a=new Float32Array(o);for(let e=0;e<o;e++){const r=e/n,o=Math.floor(r),i=r-o,u=t[o],s=t[Math.min(o+1,t.length-1)];a[e]=u+(s-u)*i}return a}(Jn(new Int16Array(t.content)),this.cloudSampleRate,this.media.sampleRate);this.media.addAudioQueue({float32:e}),this.media.playAudio();break}case"interrupted":this.media.stopAudio()}break;case"status":"Connected"===t.content&&this.media.state===Wn.allowed?(this.chat.sendToCloud({request:"audio",command:"sampleRate",content:this.media.sampleRate}),this.media.pcm.pipe(e(this.destorySub)).subscribe(t=>{this.chat.sendToCloud({request:"audio",command:"pcm",content:Hn(t)})}),this.media.startRecord()):br.warn("Media permission didn't get. Please reload page after reset permission or ignore this message.");break;default:br.info(t.signal)}}onDestory(){this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete()}}function xi(t){if(Ne){const e=new Ce(Ae({},t));yr(e.debug);const r=new Yn,n=new Ri(e,r);return""!==e.worklet_url&&r.init(e.worklet_url),n}throw new Error(_e["環境錯誤(browser)"])}export{xi as initSdk};
1
+ import{Subject as t,fromEvent as e,take as r,takeUntil as n}from"rxjs";import{io as o}from"socket.io-client";var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var u="object"==typeof a&&a&&a.Object===Object&&a,s=u,c="object"==typeof self&&self&&self.Object===Object&&self,l=s||c||Function("return this")(),f=l.Symbol,h=f,d=Object.prototype,v=d.hasOwnProperty,p=d.toString,b=h?h.toStringTag:void 0;var y=function(t){var e=v.call(t,b),r=t[b];try{t[b]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[b]=r:delete t[b]),o},g=Object.prototype.toString;var _=y,m=function(t){return g.call(t)},w=f?f.toStringTag:void 0;var j=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":w&&w in Object(t)?_(t):m(t)};var S=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},O=j,R=S;var x,k=function(t){if(!R(t))return!1;var e=O(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},C=l["__core-js_shared__"],A=(x=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"";var N=function(t){return!!A&&A in t},E=Function.prototype.toString;var M=function(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""},P=k,z=N,D=S,B=M,T=/^\[object .+?Constructor\]$/,F=Function.prototype,$=Object.prototype,I=F.toString,V=$.hasOwnProperty,Q=RegExp("^"+I.call(V).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var U=function(t){return!(!D(t)||z(t))&&(P(t)?Q:T).test(B(t))},W=function(t,e){return null==t?void 0:t[e]};var q=function(t,e){var r=W(t,e);return U(r)?r:void 0},L=q,G=function(){try{var t=L(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),J=G;var H=function(t,e,r){"__proto__"==e&&J?J(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var K=function(t,e){return t===e||t!=t&&e!=e},X=H,Y=K,Z=Object.prototype.hasOwnProperty;var tt=function(t,e,r){var n=t[e];Z.call(t,e)&&Y(n,r)&&(void 0!==r||e in t)||X(t,e,r)},et=tt,rt=H;var nt=function(t,e,r,n){var o=!r;r||(r={});for(var a=-1,i=e.length;++a<i;){var u=e[a],s=n?n(r[u],t[u],u,r,t):void 0;void 0===s&&(s=t[u]),o?rt(r,u,s):et(r,u,s)}return r};var ot=function(t){return t};var at=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},it=Math.max;var ut=function(t,e,r){return e=it(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,a=it(n.length-e,0),i=Array(a);++o<a;)i[o]=n[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=n[o];return u[e]=r(i),at(t,this,u)}};var st=function(t){return function(){return t}},ct=G,lt=ct?function(t,e){return ct(t,"toString",{configurable:!0,enumerable:!1,value:st(e),writable:!0})}:ot,ft=Date.now;var ht=function(t){var e=0,r=0;return function(){var n=ft(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(lt),dt=ot,vt=ut,pt=ht;var bt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},yt=k,gt=bt;var _t=function(t){return null!=t&&gt(t.length)&&!yt(t)},mt=/^(?:0|[1-9]\d*)$/;var wt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&mt.test(t))&&t>-1&&t%1==0&&t<e},jt=K,St=_t,Ot=wt,Rt=S;var xt=function(t,e){return pt(vt(t,e,dt),t+"")},kt=function(t,e,r){if(!Rt(r))return!1;var n=typeof e;return!!("number"==n?St(r)&&Ot(e,r.length):"string"==n&&e in r)&&jt(r[e],t)};var Ct=function(t){return xt(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,i&&kt(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),e=Object(e);++n<o;){var u=r[n];u&&t(e,u,n,a)}return e})},At=Object.prototype;var Nt=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||At)};var Et=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var Mt=function(t){return null!=t&&"object"==typeof t},Pt=j,zt=Mt;var Dt=function(t){return zt(t)&&"[object Arguments]"==Pt(t)},Bt=Mt,Tt=Object.prototype,Ft=Tt.hasOwnProperty,$t=Tt.propertyIsEnumerable,It=Dt(function(){return arguments}())?Dt:function(t){return Bt(t)&&Ft.call(t,"callee")&&!$t.call(t,"callee")},Vt=Array.isArray,Qt=i(Vt),Ut={exports:{}};var Wt=function(){return!1};!function(t,e){var r=l,n=Wt,o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,i=a&&a.exports===o?r.Buffer:void 0,u=(i?i.isBuffer:void 0)||n;t.exports=u}(Ut,Ut.exports);var qt=Ut.exports,Lt=j,Gt=bt,Jt=Mt,Ht={};Ht["[object Float32Array]"]=Ht["[object Float64Array]"]=Ht["[object Int8Array]"]=Ht["[object Int16Array]"]=Ht["[object Int32Array]"]=Ht["[object Uint8Array]"]=Ht["[object Uint8ClampedArray]"]=Ht["[object Uint16Array]"]=Ht["[object Uint32Array]"]=!0,Ht["[object Arguments]"]=Ht["[object Array]"]=Ht["[object ArrayBuffer]"]=Ht["[object Boolean]"]=Ht["[object DataView]"]=Ht["[object Date]"]=Ht["[object Error]"]=Ht["[object Function]"]=Ht["[object Map]"]=Ht["[object Number]"]=Ht["[object Object]"]=Ht["[object RegExp]"]=Ht["[object Set]"]=Ht["[object String]"]=Ht["[object WeakMap]"]=!1;var Kt=function(t){return Jt(t)&&Gt(t.length)&&!!Ht[Lt(t)]};var Xt=function(t){return function(e){return t(e)}},Yt={exports:{}};!function(t,e){var r=u,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,a=o&&o.exports===n&&r.process,i=function(){try{var t=o&&o.require&&o.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=i}(Yt,Yt.exports);var Zt=Yt.exports,te=Kt,ee=Xt,re=Zt&&Zt.isTypedArray,ne=re?ee(re):te,oe=Et,ae=It,ie=Vt,ue=qt,se=wt,ce=ne,le=Object.prototype.hasOwnProperty;var fe=function(t,e){var r=ie(t),n=!r&&ae(t),o=!r&&!n&&ue(t),a=!r&&!n&&!o&&ce(t),i=r||n||o||a,u=i?oe(t.length,String):[],s=u.length;for(var c in t)!e&&!le.call(t,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||se(c,s))||u.push(c);return u};var he=function(t,e){return function(r){return t(e(r))}}(Object.keys,Object),de=Nt,ve=he,pe=Object.prototype.hasOwnProperty;var be=fe,ye=function(t){if(!de(t))return ve(t);var e=[];for(var r in Object(t))pe.call(t,r)&&"constructor"!=r&&e.push(r);return e},ge=_t;var _e,me=function(t){return ge(t)?be(t):ye(t)},we=tt,je=nt,Se=Ct,Oe=_t,Re=Nt,xe=me,ke=Object.prototype.hasOwnProperty,Ce=i(Se(function(t,e){if(Re(e)||Oe(e))je(e,xe(e),t);else for(var r in e)ke.call(e,r)&&we(t,r,e[r])}));!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(_e||(_e={}));const Ae="undefined"!=typeof window;"undefined"!=typeof process&&null!=process.versions&&process.versions.node;class Ne{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=Ce({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:Ce({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var Ee=function(t,e,r,n){for(var o=t.length,a=r+(n?1:-1);n?a--:++a<o;)if(e(t[a],a,t))return a;return-1};var Me=Ee,Pe=function(t){return t!=t},ze=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var De=function(t,e,r){return e==e?ze(t,e,r):Me(t,Pe,r)},Be=j,Te=Vt,Fe=Mt;var $e=function(t){return"string"==typeof t||!Te(t)&&Fe(t)&&"[object String]"==Be(t)},Ie=/\s/;var Ve=function(t){for(var e=t.length;e--&&Ie.test(t.charAt(e)););return e},Qe=/^\s+/;var Ue=j,We=Mt;var qe=function(t){return"symbol"==typeof t||We(t)&&"[object Symbol]"==Ue(t)},Le=function(t){return t?t.slice(0,Ve(t)+1).replace(Qe,""):t},Ge=S,Je=qe,He=/^[-+]0x[0-9a-f]+$/i,Ke=/^0b[01]+$/i,Xe=/^0o[0-7]+$/i,Ye=parseInt;var Ze=function(t){if("number"==typeof t)return t;if(Je(t))return NaN;if(Ge(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ge(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Le(t);var r=Ke.test(t);return r||Xe.test(t)?Ye(t.slice(2),r?2:8):He.test(t)?NaN:+t},tr=1/0;var er=function(t){return t?(t=Ze(t))===tr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var rr=function(t){var e=er(t),r=e%1;return e==e?r?e-r:e:0};var nr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},or=nr;var ar=function(t,e){return or(e,function(e){return t[e]})},ir=me;var ur=function(t){return null==t?[]:ar(t,ir(t))},sr=i(ur),cr=De,lr=_t,fr=$e,hr=rr,dr=ur,vr=Math.max;var pr=i(function(t,e,r,n){t=lr(t)?t:dr(t),r=r&&!n?hr(r):0;var o=t.length;return r<0&&(r=vr(o+r,0)),fr(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&cr(t,e,r)>-1});const br={info:()=>{},error:()=>{},warn:()=>{}};function yr(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:pr(t,"error"),warn:pr(t,"warn"),info:pr(t,"info")}}(t);e&&(br.info=console.log),r&&(br.error=console.error),n&&(br.warn=console.warn)}var gr=Vt,_r=qe,mr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wr=/^\w*$/;var jr=function(t,e){if(gr(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!_r(t))||(wr.test(t)||!mr.test(t)||null!=e&&t in Object(e))},Sr=q(Object,"create"),Or=Sr;var Rr=function(){this.__data__=Or?Or(null):{},this.size=0};var xr=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},kr=Sr,Cr=Object.prototype.hasOwnProperty;var Ar=function(t){var e=this.__data__;if(kr){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Cr.call(e,t)?e[t]:void 0},Nr=Sr,Er=Object.prototype.hasOwnProperty;var Mr=Sr;var Pr=Rr,zr=xr,Dr=Ar,Br=function(t){var e=this.__data__;return Nr?void 0!==e[t]:Er.call(e,t)},Tr=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Mr&&void 0===e?"__lodash_hash_undefined__":e,this};function Fr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Fr.prototype.clear=Pr,Fr.prototype.delete=zr,Fr.prototype.get=Dr,Fr.prototype.has=Br,Fr.prototype.set=Tr;var $r=Fr;var Ir=function(){this.__data__=[],this.size=0},Vr=K;var Qr=function(t,e){for(var r=t.length;r--;)if(Vr(t[r][0],e))return r;return-1},Ur=Qr,Wr=Array.prototype.splice;var qr=Qr;var Lr=Qr;var Gr=Qr;var Jr=Ir,Hr=function(t){var e=this.__data__,r=Ur(e,t);return!(r<0)&&(r==e.length-1?e.pop():Wr.call(e,r,1),--this.size,!0)},Kr=function(t){var e=this.__data__,r=qr(e,t);return r<0?void 0:e[r][1]},Xr=function(t){return Lr(this.__data__,t)>-1},Yr=function(t,e){var r=this.__data__,n=Gr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function Zr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Zr.prototype.clear=Jr,Zr.prototype.delete=Hr,Zr.prototype.get=Kr,Zr.prototype.has=Xr,Zr.prototype.set=Yr;var tn=Zr,en=q(l,"Map"),rn=$r,nn=tn,on=en;var an=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var un=function(t,e){var r=t.__data__;return an(e)?r["string"==typeof e?"string":"hash"]:r.map},sn=un;var cn=un;var ln=un;var fn=un;var hn=function(){this.size=0,this.__data__={hash:new rn,map:new(on||nn),string:new rn}},dn=function(t){var e=sn(this,t).delete(t);return this.size-=e?1:0,e},vn=function(t){return cn(this,t).get(t)},pn=function(t){return ln(this,t).has(t)},bn=function(t,e){var r=fn(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function yn(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}yn.prototype.clear=hn,yn.prototype.delete=dn,yn.prototype.get=vn,yn.prototype.has=pn,yn.prototype.set=bn;var gn=yn,_n=gn;function mn(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=t.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(mn.Cache||_n),r}mn.Cache=_n;var wn=mn;var jn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sn=/\\(\\)?/g,On=function(t){var e=wn(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(jn,function(t,r,n,o){e.push(n?o.replace(Sn,"$1"):r||t)}),e}),Rn=nr,xn=Vt,kn=qe,Cn=f?f.prototype:void 0,An=Cn?Cn.toString:void 0;var Nn=function t(e){if("string"==typeof e)return e;if(xn(e))return Rn(e,t)+"";if(kn(e))return An?An.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},En=Nn;var Mn=Vt,Pn=jr,zn=On,Dn=function(t){return null==t?"":En(t)};var Bn=function(t,e){return Mn(t)?t:Pn(t,e)?[t]:zn(Dn(t))},Tn=qe;var Fn=function(t){if("string"==typeof t||Tn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},$n=Bn,In=Fn;var Vn=function(t,e){for(var r=0,n=(e=$n(e,t)).length;null!=t&&r<n;)t=t[In(e[r++])];return r&&r==n?t:void 0},Qn=Vn;var Un,Wn,qn=function(t,e,r){var n=null==t?void 0:Qn(t,e);return void 0===n?r:n},Ln=i(qn);function Gn(t,e,r){return Math.max(r,Math.min(t,e))}function Jn(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=e.getInt16(2*n,!0)/32768;r.push(t)}return new Float32Array(r)}function Hn(t){const e=new DataView(t.buffer),r=[];for(let n=0;n<t.length;n++){const t=Gn(32768*e.getFloat32(4*n,!0),32767,-32768);r.push(t)}return r}!function(t){t[t.unknow=0]="unknow",t[t.allowed=1]="allowed",t[t.rejected=2]="rejected"}(Un||(Un={}));class Kn{audioContext;type="audio";currentNode;bufferQueue;gainNode;set volume(t){t<0&&(t=0),t>100&&(t=100),this.gainNode.gain.value=t/100}get volume(){return Math.round(100*this.gainNode.gain.value)}constructor(t){this.audioContext=t,this.bufferQueue=[],this.currentNode=null,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}addBuffer(t){this.bufferQueue.push(t)}addBufferByFloat32(t,e=1){const r=t.length,n=this.audioContext.sampleRate,o=this.audioContext.createBuffer(e,r,n),a=t.slice();for(let t=0;t<e;t++)o.copyToChannel(a,t);this.addBuffer(o)}addBufferByInt16(t,e=1){this.addBufferByFloat32(Jn(t),e)}startSpeech(){null===this.currentNode&&this.continue()}pauseSpeech(){this.audioContext.suspend().catch(t=>{br.error("[ERROR]: pause speech fail"),br.error(t)})}resumeSpeech(){this.audioContext.resume().catch(t=>{br.error("[ERROR]: resume speech fail"),br.error(t)})}nextSpeech(){this.bufferQueue.length>0&&(this.clearNode(),this.continue())}stopSpeech(){this.bufferQueue=[],this.clearNode()}clearNode(){this.currentNode&&(this.currentNode.onended=function(){},this.currentNode.stop(),this.currentNode.disconnect(),this.currentNode=null)}continue(){const t=this.bufferQueue.shift();if(t){this.currentNode=this.audioContext.createBufferSource(),this.currentNode.buffer=t,this.currentNode.connect(this.gainNode);const e=this.continue.bind(this);this.currentNode.onended=e,this.currentNode.start()}else this.clearNode()}}class Xn{stream;audioContext;pcmSub;type="vad";workletNode;source;isRecording=!1;constructor(t,e,r){this.stream=t,this.audioContext=e,this.pcmSub=r}async startRecord(){this.isRecording||(this.source=this.audioContext.createMediaStreamSource(this.stream),this.workletNode=new AudioWorkletNode(this.audioContext,"aiia-vad"),this.source.connect(this.workletNode),this.workletNode.port.onmessage=t=>{const{float32:e,energy:r}=t.data;e&&this.pcmSub.next(new Float32Array(e))},this.isRecording=!0)}stopRecord(){this.isRecording&&(this.workletNode&&(this.workletNode.port.onmessage=null,this.workletNode.disconnect()),this.source&&this.source.disconnect(),this.isRecording=!1)}}!function(t){t[t.padding=0]="padding",t[t.rejected=1]="rejected",t[t.loadfail=2]="loadfail",t[t.allowed=3]="allowed"}(Wn||(Wn={}));class Yn{_state;stateSub;audioCtx;audioManager;vadManager;destory;pcmSub;get sampleRate(){return this.audioCtx?this.audioCtx.sampleRate:16e3}get pcm(){return this.pcmSub.asObservable()}get state(){return this._state}set state(t){t!==this._state&&(this._state=t,this.stateSub.next(t))}get stateObs(){return this.stateSub.asObservable()}constructor(){this.stateSub=new t,this.pcmSub=new t,this.destory=new t,this.state=Wn.padding}async init(t){if(this.destory.closed)throw new Error(_e["實例已摧毀"]);const e=await async function(t){try{return await navigator.mediaDevices.getUserMedia(t)}catch(t){return null}}({audio:{echoCancellation:!0,noiseSuppression:!0}});if(null===e)throw this.state=Wn.rejected,new Error(_e["未獲得媒體裝置權限"]);this.audioCtx=new AudioContext;try{await this.audioCtx.audioWorklet.addModule(t)}catch(t){throw br.error(t),this.state=Wn.loadfail,new Error(_e["Worklet模組載入失敗"])}this.state=Wn.allowed,this.audioManager=new Kn(this.audioCtx),this.vadManager=new Xn(e,this.audioCtx,this.pcmSub)}addAudioQueue(t){const e=Ln(t,"buffer",void 0),r=Ln(t,"float32",void 0),n=Ln(t,"int16",void 0),o=Ln(t,"numberOfChannels",void 0);e?this.audioManager?.addBuffer(e):r?this.audioManager?.addBufferByFloat32(r,o):n&&this.audioManager?.addBufferByInt16(n,o)}playAudio(){this.audioManager?.startSpeech()}stopAudio(){this.audioManager?.stopSpeech()}startRecord(){this.vadManager?.startRecord()}stopRecord(){this.vadManager?.stopRecord()}setVolume(t){this.audioManager&&(this.audioManager.volume=t)}getVolume(){return this.audioManager?this.audioManager.volume:0}onDestory(){this.audioCtx?.close(),this.destory.next(),this.destory.complete()}}var Zn=tn;var to=tn,eo=en,ro=gn;var no=tn,oo=function(){this.__data__=new Zn,this.size=0},ao=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},io=function(t){return this.__data__.get(t)},uo=function(t){return this.__data__.has(t)},so=function(t,e){var r=this.__data__;if(r instanceof to){var n=r.__data__;if(!eo||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new ro(n)}return r.set(t,e),this.size=r.size,this};function co(t){var e=this.__data__=new no(t);this.size=e.size}co.prototype.clear=oo,co.prototype.delete=ao,co.prototype.get=io,co.prototype.has=uo,co.prototype.set=so;var lo=co;var fo=gn,ho=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},vo=function(t){return this.__data__.has(t)};function po(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new fo;++e<r;)this.add(t[e])}po.prototype.add=po.prototype.push=ho,po.prototype.has=vo;var bo=po,yo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},go=function(t,e){return t.has(e)};var _o=function(t,e,r,n,o,a){var i=1&r,u=t.length,s=e.length;if(u!=s&&!(i&&s>u))return!1;var c=a.get(t),l=a.get(e);if(c&&l)return c==e&&l==t;var f=-1,h=!0,d=2&r?new bo:void 0;for(a.set(t,e),a.set(e,t);++f<u;){var v=t[f],p=e[f];if(n)var b=i?n(p,v,f,e,t,a):n(v,p,f,t,e,a);if(void 0!==b){if(b)continue;h=!1;break}if(d){if(!yo(e,function(t,e){if(!go(d,e)&&(v===t||o(v,t,r,n,a)))return d.push(e)})){h=!1;break}}else if(v!==p&&!o(v,p,r,n,a)){h=!1;break}}return a.delete(t),a.delete(e),h};var mo=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var wo=l.Uint8Array,jo=K,So=_o,Oo=mo,Ro=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},xo=f?f.prototype:void 0,ko=xo?xo.valueOf:void 0;var Co=function(t,e,r,n,o,a,i){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!a(new wo(t),new wo(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return jo(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=Oo;case"[object Set]":var s=1&n;if(u||(u=Ro),t.size!=e.size&&!s)return!1;var c=i.get(t);if(c)return c==e;n|=2,i.set(t,e);var l=So(u(t),u(e),n,o,a,i);return i.delete(t),l;case"[object Symbol]":if(ko)return ko.call(t)==ko.call(e)}return!1};var Ao=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},No=Ao,Eo=Vt;var Mo=function(t,e,r){var n=e(t);return Eo(t)?n:No(n,r(t))};var Po=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,a=[];++r<n;){var i=t[r];e(i,r,t)&&(a[o++]=i)}return a},zo=function(){return[]},Do=Object.prototype.propertyIsEnumerable,Bo=Object.getOwnPropertySymbols,To=Mo,Fo=Bo?function(t){return null==t?[]:(t=Object(t),Po(Bo(t),function(e){return Do.call(t,e)}))}:zo,$o=me;var Io=function(t){return To(t,$o,Fo)},Vo=Object.prototype.hasOwnProperty;var Qo=function(t,e,r,n,o,a){var i=1&r,u=Io(t),s=u.length;if(s!=Io(e).length&&!i)return!1;for(var c=s;c--;){var l=u[c];if(!(i?l in e:Vo.call(e,l)))return!1}var f=a.get(t),h=a.get(e);if(f&&h)return f==e&&h==t;var d=!0;a.set(t,e),a.set(e,t);for(var v=i;++c<s;){var p=t[l=u[c]],b=e[l];if(n)var y=i?n(b,p,l,e,t,a):n(p,b,l,t,e,a);if(!(void 0===y?p===b||o(p,b,r,n,a):y)){d=!1;break}v||(v="constructor"==l)}if(d&&!v){var g=t.constructor,_=e.constructor;g==_||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof _&&_ instanceof _||(d=!1)}return a.delete(t),a.delete(e),d},Uo=q(l,"DataView"),Wo=en,qo=q(l,"Promise"),Lo=q(l,"Set"),Go=q(l,"WeakMap"),Jo=j,Ho=M,Ko="[object Map]",Xo="[object Promise]",Yo="[object Set]",Zo="[object WeakMap]",ta="[object DataView]",ea=Ho(Uo),ra=Ho(Wo),na=Ho(qo),oa=Ho(Lo),aa=Ho(Go),ia=Jo;(Uo&&ia(new Uo(new ArrayBuffer(1)))!=ta||Wo&&ia(new Wo)!=Ko||qo&&ia(qo.resolve())!=Xo||Lo&&ia(new Lo)!=Yo||Go&&ia(new Go)!=Zo)&&(ia=function(t){var e=Jo(t),r="[object Object]"==e?t.constructor:void 0,n=r?Ho(r):"";if(n)switch(n){case ea:return ta;case ra:return Ko;case na:return Xo;case oa:return Yo;case aa:return Zo}return e});var ua=lo,sa=_o,ca=Co,la=Qo,fa=ia,ha=Vt,da=qt,va=ne,pa="[object Arguments]",ba="[object Array]",ya="[object Object]",ga=Object.prototype.hasOwnProperty;var _a=function(t,e,r,n,o,a){var i=ha(t),u=ha(e),s=i?ba:fa(t),c=u?ba:fa(e),l=(s=s==pa?ya:s)==ya,f=(c=c==pa?ya:c)==ya,h=s==c;if(h&&da(t)){if(!da(e))return!1;i=!0,l=!1}if(h&&!l)return a||(a=new ua),i||va(t)?sa(t,e,r,n,o,a):ca(t,e,s,r,n,o,a);if(!(1&r)){var d=l&&ga.call(t,"__wrapped__"),v=f&&ga.call(e,"__wrapped__");if(d||v){var p=d?t.value():t,b=v?e.value():e;return a||(a=new ua),o(p,b,r,n,a)}}return!!h&&(a||(a=new ua),la(t,e,r,n,o,a))},ma=Mt;var wa=function t(e,r,n,o,a){return e===r||(null==e||null==r||!ma(e)&&!ma(r)?e!=e&&r!=r:_a(e,r,n,o,t,a))},ja=lo,Sa=wa;var Oa=S;var Ra=function(t){return t==t&&!Oa(t)},xa=Ra,ka=me;var Ca=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},Aa=function(t,e,r,n){var o=r.length,a=o,i=!n;if(null==t)return!a;for(t=Object(t);o--;){var u=r[o];if(i&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<a;){var s=(u=r[o])[0],c=t[s],l=u[1];if(i&&u[2]){if(void 0===c&&!(s in t))return!1}else{var f=new ja;if(n)var h=n(c,l,s,t,e,f);if(!(void 0===h?Sa(l,c,3,n,f):h))return!1}}return!0},Na=function(t){for(var e=ka(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,xa(o)]}return e},Ea=Ca;var Ma=Bn,Pa=It,za=Vt,Da=wt,Ba=bt,Ta=Fn;var Fa=function(t,e){return null!=t&&e in Object(t)},$a=function(t,e,r){for(var n=-1,o=(e=Ma(e,t)).length,a=!1;++n<o;){var i=Ta(e[n]);if(!(a=null!=t&&r(t,i)))break;t=t[i]}return a||++n!=o?a:!!(o=null==t?0:t.length)&&Ba(o)&&Da(i,o)&&(za(t)||Pa(t))};var Ia=wa,Va=qn,Qa=function(t,e){return null!=t&&$a(t,e,Fa)},Ua=jr,Wa=Ra,qa=Ca,La=Fn;var Ga=Vn;var Ja=function(t){return function(e){return null==e?void 0:e[t]}},Ha=function(t){return function(e){return Ga(e,t)}},Ka=jr,Xa=Fn;var Ya=function(t){var e=Na(t);return 1==e.length&&e[0][2]?Ea(e[0][0],e[0][1]):function(r){return r===t||Aa(r,t,e)}},Za=function(t,e){return Ua(t)&&Wa(e)?qa(La(t),e):function(r){var n=Va(r,t);return void 0===n&&n===e?Qa(r,t):Ia(e,n,3)}},ti=ot,ei=Vt,ri=function(t){return Ka(t)?Ja(Xa(t)):Ha(t)};var ni=function(t){return"function"==typeof t?t:null==t?ti:"object"==typeof t?ei(t)?Za(t[0],t[1]):Ya(t):ri(t)};var oi=function(t){return function(e,r,n){for(var o=-1,a=Object(e),i=n(e),u=i.length;u--;){var s=i[t?u:++o];if(!1===r(a[s],s,a))break}return e}}(),ai=me;var ii=_t;var ui=function(t,e){return function(r,n){if(null==r)return r;if(!ii(r))return t(r,n);for(var o=r.length,a=e?o:-1,i=Object(r);(e?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(function(t,e){return t&&oi(t,e,ai)}),si=_t;var ci=nr,li=ni,fi=function(t,e){var r=-1,n=si(t)?Array(t.length):[];return ui(t,function(t,o,a){n[++r]=e(t,o,a)}),n},hi=Vt;var di=i(function(t,e){return(hi(t)?ci:fi)(t,li(e))}),vi=ni,pi=_t,bi=me;var yi=function(t){return function(e,r,n){var o=Object(e);if(!pi(e)){var a=vi(r);e=bi(e),r=function(t){return a(o[t],t,o)}}var i=t(e,r,n);return i>-1?o[a?e[i]:i]:void 0}},gi=Ee,_i=ni,mi=rr,wi=Math.max;var ji,Si=i(yi(function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var o=null==r?0:mi(r);return o<0&&(o=wi(n+o,0)),gi(t,_i(e),o)}));class Oi{socket;messageSub;destorySub;get message(){return this.messageSub.asObservable()}constructor(e){this.destorySub=new t,this.messageSub=new t;const{specific:r,id:n}=e.project;this.socket=o(e.ws_url,Ce({autoConnect:!1},r&&void 0!==n?{query:{uuid:n}}:{}))}start(){const t="list",o="cloud",a="channel";e(this.socket,t).pipe(r(1),n(this.destorySub)).subscribe(e=>{this.messageSub.next({event:t,data:e})}),e(this.socket,o).pipe(n(this.destorySub)).subscribe(t=>{this.messageSub.next({event:o,data:t})}),e(this.socket,a).pipe(n(this.destorySub)).subscribe(t=>{this.messageSub.next({event:a,data:t})}),this.socket.connect()}send(t,e){this.socket.emit(t,e)}sendToCloud(t){this.send("cloud",JSON.stringify(t))}onDestory(){this.destorySub.next(),this.destorySub.complete(),this.messageSub.complete(),this.socket.disconnect()}}!function(t){t[t.interrupted=0]="interrupted",t[t.pcm=1]="pcm",t[t.cloudSampleRate=2]="cloudSampleRate"}(ji||(ji={}));class Ri{config;media;chat;destorySub;projectsSub;layoutSub;aiiaSubtitleSub;userSubtitleSub;cloudSampleRate;channelState;get layout(){return this.layoutSub.asObservable()}get projects(){return this.projectsSub.asObservable()}get aiiaSubtitle(){return this.aiiaSubtitleSub.asObservable()}get userSubtitle(){return this.userSubtitleSub.asObservable()}set volume(t){this.media.setVolume(t)}get volume(){return this.media.getVolume()}constructor(e,r){this.config=e,this.media=r,this.layoutSub=new t,this.projectsSub=new t,this.destorySub=new t,this.aiiaSubtitleSub=new t,this.userSubtitleSub=new t,this.cloudSampleRate=16e3,this.channelState={proxy:!1,cloud:!1},this.chat=new Oi(e)}start(){this.media.stateObs.pipe(n(this.destorySub)).subscribe(()=>{this.channelCheck()}),this.chat.message.pipe(n(this.destorySub)).subscribe(({event:t,data:e})=>{switch(t){case"cloud":this.cloudToObj(e);break;case"list":{const{id:t,name:r,specific:n}=this.config.project;let o=null;if(n&&void 0!==t)o=t;else{const n=Si(e,e=>e.name===r||e.id===t);n&&(o=n.id)}null!==o?this.chooseProject(o):(this.projectsSub.next(e),br.info("Please subscribe `projects` and call `chooseProject` method"));break}case"channel":"open"===e&&(this.channelState.proxy=!0,this.channelCheck())}}),this.chat.start()}chooseProject(t){this.chat.send("uuid",t)}cloudToObj(t){try{const e=JSON.parse(t);void 0!==Ln(e,"signal")?this.behavior(e):Qt(e)?di(e,this.behavior):di(sr(e),this.behavior)}catch(t){br.error("aiia websocket","onmessage error",t)}}behavior(t){switch(t.signal){case"layout":this.layoutSub.next(t.content);break;case"audio":if("sampleRate"===t.command)this.cloudSampleRate=t.content;else switch(t.command){case"pcm":{const e=function(t,e,r){if(e===r)return t;const n=r/e,o=Math.ceil(t.length*n),a=new Float32Array(o);for(let e=0;e<o;e++){const r=e/n,o=Math.floor(r),i=r-o,u=t[o],s=t[Math.min(o+1,t.length-1)];a[e]=u+(s-u)*i}return a}(Jn(new Int16Array(t.content)),this.cloudSampleRate,this.media.sampleRate);this.media.addAudioQueue({float32:e}),this.media.playAudio();break}case"interrupted":this.media.stopAudio()}break;case"status":"Connected"===Ln(t,"content")&&(this.channelState.cloud=!0,this.channelCheck());break;case"agent":{const e=Ln(t,"content.function_result.response");e&&this.aiiaSubtitleSub.next(e);break}case"asr":if("ASR"===Ln(t,"content.function_type")){const e=Ln(t,"content.function_result.result");e&&this.userSubtitleSub.next(e)}break;default:br.info(t.signal)}}channelCheck(){const{proxy:t,cloud:e}=this.channelState;t&&e&&this.media.state===Wn.allowed?(this.chat.sendToCloud({request:"audio",command:"sampleRate",content:this.media.sampleRate}),this.media.pcm.pipe(n(this.destorySub)).subscribe(t=>{this.chat.sendToCloud({request:"audio",command:"pcm",content:Hn(t)})}),this.media.startRecord(),br.info("Channel, Cloud and Media are ready.")):t&&e&&this.media.state!==Wn.allowed&&br.warn("Media permission didn't get. Please reload page after reset permission or ignore this message.")}onDestory(){this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete()}}function xi(t){if(Ae){const e=new Ne(Ce({},t));yr(e.debug);const r=new Yn,n=new Ri(e,r);return""!==e.worklet_url&&r.init(e.worklet_url),n}throw new Error(_e["環境錯誤(browser)"])}export{Yn as MediaManager,xi as initSdk};
package/dist/node.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),e=require("os"),r=require("path"),n=require("rxjs"),o=require("axios"),i=require("socket.io"),a=require("ws"),s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var u="object"==typeof s&&s&&s.Object===Object&&s,f=u,l="object"==typeof self&&self&&self.Object===Object&&self,h=f||l||Function("return this")(),v=h.Symbol,p=v,b=Object.prototype,y=b.hasOwnProperty,_=b.toString,d=p?p.toStringTag:void 0;var g=function(t){var e=y.call(t,d),r=t[d];try{t[d]=void 0;var n=!0}catch(t){}var o=_.call(t);return n&&(e?t[d]=r:delete t[d]),o},j=Object.prototype.toString;var O=g,S=function(t){return j.call(t)},w=v?v.toStringTag:void 0;var A=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":w&&w in Object(t)?O(t):S(t)};var E=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},N=A,m=E;var D,R=function(t){if(!m(t))return!1;var e=N(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},k=h["__core-js_shared__"],M=(D=/[^.]+$/.exec(k&&k.keys&&k.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"";var I=function(t){return!!M&&M in t},L=Function.prototype.toString;var P=function(t){if(null!=t){try{return L.call(t)}catch(t){}try{return t+""}catch(t){}}return""},C=R,x=I,T=E,U=P,F=/^\[object .+?Constructor\]$/,z=Function.prototype,W=Object.prototype,B=z.toString,G=W.hasOwnProperty,$=RegExp("^"+B.call(G).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var V=function(t){return!(!T(t)||x(t))&&(C(t)?$:F).test(U(t))},X=function(t,e){return null==t?void 0:t[e]};var Y=function(t,e){var r=X(t,e);return V(r)?r:void 0},q=Y,H=function(){try{var t=q(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Q=H;var K=function(t,e,r){"__proto__"==e&&Q?Q(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var J=function(t,e){return t===e||t!=t&&e!=e},Z=K,tt=J,et=Object.prototype.hasOwnProperty;var rt=function(t,e,r){var n=t[e];et.call(t,e)&&tt(n,r)&&(void 0!==r||e in t)||Z(t,e,r)},nt=rt,ot=K;var it=function(t,e,r,n){var o=!r;r||(r={});for(var i=-1,a=e.length;++i<a;){var s=e[i],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),o?ot(r,s,c):nt(r,s,c)}return r};var at=function(t){return t};var st=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},ct=Math.max;var ut=function(t,e,r){return e=ct(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,i=ct(n.length-e,0),a=Array(i);++o<i;)a[o]=n[e+o];o=-1;for(var s=Array(e+1);++o<e;)s[o]=n[o];return s[e]=r(a),st(t,this,s)}};var ft=function(t){return function(){return t}},lt=H,ht=lt?function(t,e){return lt(t,"toString",{configurable:!0,enumerable:!1,value:ft(e),writable:!0})}:at,vt=Date.now;var pt=function(t){var e=0,r=0;return function(){var n=vt(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ht),bt=at,yt=ut,_t=pt;var dt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},gt=R,jt=dt;var Ot=function(t){return null!=t&&jt(t.length)&&!gt(t)},St=/^(?:0|[1-9]\d*)$/;var wt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&St.test(t))&&t>-1&&t%1==0&&t<e},At=J,Et=Ot,Nt=wt,mt=E;var Dt=function(t,e){return _t(yt(t,e,bt),t+"")},Rt=function(t,e,r){if(!mt(r))return!1;var n=typeof e;return!!("number"==n?Et(r)&&Nt(e,r.length):"string"==n&&e in r)&&At(r[e],t)};var kt=function(t){return Dt(function(e,r){var n=-1,o=r.length,i=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(o--,i):void 0,a&&Rt(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),e=Object(e);++n<o;){var s=r[n];s&&t(e,s,n,i)}return e})},Mt=Object.prototype;var It=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Mt)};var Lt=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var Pt=function(t){return null!=t&&"object"==typeof t},Ct=A,xt=Pt;var Tt=function(t){return xt(t)&&"[object Arguments]"==Ct(t)},Ut=Pt,Ft=Object.prototype,zt=Ft.hasOwnProperty,Wt=Ft.propertyIsEnumerable,Bt=Tt(function(){return arguments}())?Tt:function(t){return Ut(t)&&zt.call(t,"callee")&&!Wt.call(t,"callee")},Gt=Array.isArray,$t=c(Gt),Vt={exports:{}};var Xt=function(){return!1};!function(t,e){var r=h,n=Xt,o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,s=(a?a.isBuffer:void 0)||n;t.exports=s}(Vt,Vt.exports);var Yt=Vt.exports,qt=A,Ht=dt,Qt=Pt,Kt={};Kt["[object Float32Array]"]=Kt["[object Float64Array]"]=Kt["[object Int8Array]"]=Kt["[object Int16Array]"]=Kt["[object Int32Array]"]=Kt["[object Uint8Array]"]=Kt["[object Uint8ClampedArray]"]=Kt["[object Uint16Array]"]=Kt["[object Uint32Array]"]=!0,Kt["[object Arguments]"]=Kt["[object Array]"]=Kt["[object ArrayBuffer]"]=Kt["[object Boolean]"]=Kt["[object DataView]"]=Kt["[object Date]"]=Kt["[object Error]"]=Kt["[object Function]"]=Kt["[object Map]"]=Kt["[object Number]"]=Kt["[object Object]"]=Kt["[object RegExp]"]=Kt["[object Set]"]=Kt["[object String]"]=Kt["[object WeakMap]"]=!1;var Jt=function(t){return Qt(t)&&Ht(t.length)&&!!Kt[qt(t)]};var Zt=function(t){return function(e){return t(e)}},te={exports:{}};!function(t,e){var r=u,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n&&r.process,a=function(){try{var t=o&&o.require&&o.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=a}(te,te.exports);var ee=te.exports,re=Jt,ne=Zt,oe=ee&&ee.isTypedArray,ie=oe?ne(oe):re,ae=Lt,se=Bt,ce=Gt,ue=Yt,fe=wt,le=ie,he=Object.prototype.hasOwnProperty;var ve=function(t,e){var r=ce(t),n=!r&&se(t),o=!r&&!n&&ue(t),i=!r&&!n&&!o&&le(t),a=r||n||o||i,s=a?ae(t.length,String):[],c=s.length;for(var u in t)!e&&!he.call(t,u)||a&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||fe(u,c))||s.push(u);return s};var pe=function(t,e){return function(r){return t(e(r))}},be=pe(Object.keys,Object),ye=It,_e=be,de=Object.prototype.hasOwnProperty;var ge=ve,je=function(t){if(!ye(t))return _e(t);var e=[];for(var r in Object(t))de.call(t,r)&&"constructor"!=r&&e.push(r);return e},Oe=Ot;var Se=function(t){return Oe(t)?ge(t):je(t)},we=rt,Ae=it,Ee=kt,Ne=Ot,me=It,De=Se,Re=Object.prototype.hasOwnProperty,ke=c(Ee(function(t,e){if(me(e)||Ne(e))Ae(e,De(e),t);else for(var r in e)Re.call(e,r)&&we(t,r,e[r])})),Me=A,Ie=Pt;var Le=function(t){return"symbol"==typeof t||Ie(t)&&"[object Symbol]"==Me(t)},Pe=Gt,Ce=Le,xe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Te=/^\w*$/;var Ue=function(t,e){if(Pe(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Ce(t))||(Te.test(t)||!xe.test(t)||null!=e&&t in Object(e))},Fe=Y(Object,"create"),ze=Fe;var We=function(){this.__data__=ze?ze(null):{},this.size=0};var Be=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Ge=Fe,$e=Object.prototype.hasOwnProperty;var Ve=function(t){var e=this.__data__;if(Ge){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return $e.call(e,t)?e[t]:void 0},Xe=Fe,Ye=Object.prototype.hasOwnProperty;var qe=Fe;var He=We,Qe=Be,Ke=Ve,Je=function(t){var e=this.__data__;return Xe?void 0!==e[t]:Ye.call(e,t)},Ze=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=qe&&void 0===e?"__lodash_hash_undefined__":e,this};function tr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}tr.prototype.clear=He,tr.prototype.delete=Qe,tr.prototype.get=Ke,tr.prototype.has=Je,tr.prototype.set=Ze;var er=tr;var rr=function(){this.__data__=[],this.size=0},nr=J;var or=function(t,e){for(var r=t.length;r--;)if(nr(t[r][0],e))return r;return-1},ir=or,ar=Array.prototype.splice;var sr=or;var cr=or;var ur=or;var fr=rr,lr=function(t){var e=this.__data__,r=ir(e,t);return!(r<0)&&(r==e.length-1?e.pop():ar.call(e,r,1),--this.size,!0)},hr=function(t){var e=this.__data__,r=sr(e,t);return r<0?void 0:e[r][1]},vr=function(t){return cr(this.__data__,t)>-1},pr=function(t,e){var r=this.__data__,n=ur(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function br(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}br.prototype.clear=fr,br.prototype.delete=lr,br.prototype.get=hr,br.prototype.has=vr,br.prototype.set=pr;var yr=br,_r=Y(h,"Map"),dr=er,gr=yr,jr=_r;var Or=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var Sr=function(t,e){var r=t.__data__;return Or(e)?r["string"==typeof e?"string":"hash"]:r.map},wr=Sr;var Ar=Sr;var Er=Sr;var Nr=Sr;var mr=function(){this.size=0,this.__data__={hash:new dr,map:new(jr||gr),string:new dr}},Dr=function(t){var e=wr(this,t).delete(t);return this.size-=e?1:0,e},Rr=function(t){return Ar(this,t).get(t)},kr=function(t){return Er(this,t).has(t)},Mr=function(t,e){var r=Nr(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Ir.prototype.clear=mr,Ir.prototype.delete=Dr,Ir.prototype.get=Rr,Ir.prototype.has=kr,Ir.prototype.set=Mr;var Lr=Ir,Pr=Lr;function Cr(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(Cr.Cache||Pr),r}Cr.Cache=Pr;var xr=Cr;var Tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ur=/\\(\\)?/g,Fr=function(t){var e=xr(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Tr,function(t,r,n,o){e.push(n?o.replace(Ur,"$1"):r||t)}),e});var zr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},Wr=zr,Br=Gt,Gr=Le,$r=v?v.prototype:void 0,Vr=$r?$r.toString:void 0;var Xr=function t(e){if("string"==typeof e)return e;if(Br(e))return Wr(e,t)+"";if(Gr(e))return Vr?Vr.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},Yr=Xr;var qr=Gt,Hr=Ue,Qr=Fr,Kr=function(t){return null==t?"":Yr(t)};var Jr=function(t,e){return qr(t)?t:Hr(t,e)?[t]:Qr(Kr(t))},Zr=Le;var tn=function(t){if("string"==typeof t||Zr(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},en=Jr,rn=tn;var nn=function(t,e){for(var r=0,n=(e=en(e,t)).length;null!=t&&r<n;)t=t[rn(e[r++])];return r&&r==n?t:void 0},on=nn;var an,sn=function(t,e,r){var n=null==t?void 0:on(t,e);return void 0===n?r:n},cn=c(sn);!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(an||(an={}));const un="access_token",fn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;class ln{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=ke({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:ke({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var hn=function(t,e,r,n){for(var o=t.length,i=r+(n?1:-1);n?i--:++i<o;)if(e(t[i],i,t))return i;return-1},vn=function(t){return t!=t},pn=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var bn=A,yn=Gt,_n=Pt;var dn=/\s/;var gn=function(t){for(var e=t.length;e--&&dn.test(t.charAt(e)););return e},jn=/^\s+/;var On=function(t){return t?t.slice(0,gn(t)+1).replace(jn,""):t},Sn=E,wn=Le,An=/^[-+]0x[0-9a-f]+$/i,En=/^0b[01]+$/i,Nn=/^0o[0-7]+$/i,mn=parseInt;var Dn=function(t){if("number"==typeof t)return t;if(wn(t))return NaN;if(Sn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Sn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=On(t);var r=En.test(t);return r||Nn.test(t)?mn(t.slice(2),r?2:8):An.test(t)?NaN:+t},Rn=1/0;var kn=function(t){return t?(t=Dn(t))===Rn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Mn=zr;var In=function(t,e){return Mn(e,function(e){return t[e]})},Ln=Se;var Pn=function(t,e,r){return e==e?pn(t,e,r):hn(t,vn,r)},Cn=Ot,xn=function(t){return"string"==typeof t||!yn(t)&&_n(t)&&"[object String]"==bn(t)},Tn=function(t){var e=kn(t),r=e%1;return e==e?r?e-r:e:0},Un=function(t){return null==t?[]:In(t,Ln(t))},Fn=Math.max;var zn=c(function(t,e,r,n){t=Cn(t)?t:Un(t),r=r&&!n?Tn(r):0;var o=t.length;return r<0&&(r=Fn(o+r,0)),xn(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&Pn(t,e,r)>-1});const Wn={info:()=>{},error:()=>{},warn:()=>{}};function Bn(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:zn(t,"error"),warn:zn(t,"warn"),info:zn(t,"info")}}(t);e&&(Wn.info=console.log),r&&(Wn.error=console.error),n&&(Wn.warn=console.warn)}var Gn=yr;var $n=yr,Vn=_r,Xn=Lr;var Yn=yr,qn=function(){this.__data__=new Gn,this.size=0},Hn=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Qn=function(t){return this.__data__.get(t)},Kn=function(t){return this.__data__.has(t)},Jn=function(t,e){var r=this.__data__;if(r instanceof $n){var n=r.__data__;if(!Vn||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Xn(n)}return r.set(t,e),this.size=r.size,this};function Zn(t){var e=this.__data__=new Yn(t);this.size=e.size}Zn.prototype.clear=qn,Zn.prototype.delete=Hn,Zn.prototype.get=Qn,Zn.prototype.has=Kn,Zn.prototype.set=Jn;var to=Zn;var eo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t},ro=it,no=Se;var oo=function(t,e){return t&&ro(e,no(e),t)};var io=E,ao=It,so=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e},co=Object.prototype.hasOwnProperty;var uo=ve,fo=function(t){if(!io(t))return so(t);var e=ao(t),r=[];for(var n in t)("constructor"!=n||!e&&co.call(t,n))&&r.push(n);return r},lo=Ot;var ho=function(t){return lo(t)?uo(t,!0):fo(t)},vo=it,po=ho;var bo=function(t,e){return t&&vo(e,po(e),t)},yo={exports:{}};!function(t,e){var r=h,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n?r.Buffer:void 0,a=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=a?a(r):new t.constructor(r);return t.copy(n),n}}(yo,yo.exports);var _o=yo.exports;var go=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e};var jo=function(){return[]},Oo=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var a=t[r];e(a,r,t)&&(i[o++]=a)}return i},So=jo,wo=Object.prototype.propertyIsEnumerable,Ao=Object.getOwnPropertySymbols,Eo=Ao?function(t){return null==t?[]:(t=Object(t),Oo(Ao(t),function(e){return wo.call(t,e)}))}:So,No=it,mo=Eo;var Do=function(t,e){return No(t,mo(t),e)};var Ro=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},ko=pe(Object.getPrototypeOf,Object),Mo=Ro,Io=ko,Lo=Eo,Po=jo,Co=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Mo(e,Lo(t)),t=Io(t);return e}:Po,xo=it,To=Co;var Uo=function(t,e){return xo(t,To(t),e)},Fo=Ro,zo=Gt;var Wo=function(t,e,r){var n=e(t);return zo(t)?n:Fo(n,r(t))},Bo=Wo,Go=Eo,$o=Se;var Vo=function(t){return Bo(t,$o,Go)},Xo=Wo,Yo=Co,qo=ho;var Ho=function(t){return Xo(t,qo,Yo)},Qo=Y(h,"DataView"),Ko=_r,Jo=Y(h,"Promise"),Zo=Y(h,"Set"),ti=Y(h,"WeakMap"),ei=A,ri=P,ni="[object Map]",oi="[object Promise]",ii="[object Set]",ai="[object WeakMap]",si="[object DataView]",ci=ri(Qo),ui=ri(Ko),fi=ri(Jo),li=ri(Zo),hi=ri(ti),vi=ei;(Qo&&vi(new Qo(new ArrayBuffer(1)))!=si||Ko&&vi(new Ko)!=ni||Jo&&vi(Jo.resolve())!=oi||Zo&&vi(new Zo)!=ii||ti&&vi(new ti)!=ai)&&(vi=function(t){var e=ei(t),r="[object Object]"==e?t.constructor:void 0,n=r?ri(r):"";if(n)switch(n){case ci:return si;case ui:return ni;case fi:return oi;case li:return ii;case hi:return ai}return e});var pi=vi,bi=Object.prototype.hasOwnProperty;var yi=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&bi.call(t,"index")&&(r.index=t.index,r.input=t.input),r},_i=h.Uint8Array,di=_i;var gi=function(t){var e=new t.constructor(t.byteLength);return new di(e).set(new di(t)),e},ji=gi;var Oi=function(t,e){var r=e?ji(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)},Si=/\w*$/;var wi=function(t){var e=new t.constructor(t.source,Si.exec(t));return e.lastIndex=t.lastIndex,e},Ai=v?v.prototype:void 0,Ei=Ai?Ai.valueOf:void 0;var Ni=gi;var mi=gi,Di=Oi,Ri=wi,ki=function(t){return Ei?Object(Ei.call(t)):{}},Mi=function(t,e){var r=e?Ni(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)};var Ii=function(t,e,r){var n=t.constructor;switch(e){case"[object ArrayBuffer]":return mi(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return Di(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Mi(t,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return Ri(t);case"[object Symbol]":return ki(t)}},Li=E,Pi=Object.create,Ci=function(){function t(){}return function(e){if(!Li(e))return{};if(Pi)return Pi(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),xi=ko,Ti=It;var Ui=function(t){return"function"!=typeof t.constructor||Ti(t)?{}:Ci(xi(t))},Fi=pi,zi=Pt;var Wi=function(t){return zi(t)&&"[object Map]"==Fi(t)},Bi=Zt,Gi=ee&&ee.isMap,$i=Gi?Bi(Gi):Wi,Vi=pi,Xi=Pt;var Yi=function(t){return Xi(t)&&"[object Set]"==Vi(t)},qi=Zt,Hi=ee&&ee.isSet,Qi=Hi?qi(Hi):Yi,Ki=to,Ji=eo,Zi=rt,ta=oo,ea=bo,ra=_o,na=go,oa=Do,ia=Uo,aa=Vo,sa=Ho,ca=pi,ua=yi,fa=Ii,la=Ui,ha=Gt,va=Yt,pa=$i,ba=E,ya=Qi,_a=Se,da=ho,ga="[object Arguments]",ja="[object Function]",Oa="[object Object]",Sa={};Sa[ga]=Sa["[object Array]"]=Sa["[object ArrayBuffer]"]=Sa["[object DataView]"]=Sa["[object Boolean]"]=Sa["[object Date]"]=Sa["[object Float32Array]"]=Sa["[object Float64Array]"]=Sa["[object Int8Array]"]=Sa["[object Int16Array]"]=Sa["[object Int32Array]"]=Sa["[object Map]"]=Sa["[object Number]"]=Sa[Oa]=Sa["[object RegExp]"]=Sa["[object Set]"]=Sa["[object String]"]=Sa["[object Symbol]"]=Sa["[object Uint8Array]"]=Sa["[object Uint8ClampedArray]"]=Sa["[object Uint16Array]"]=Sa["[object Uint32Array]"]=!0,Sa["[object Error]"]=Sa[ja]=Sa["[object WeakMap]"]=!1;var wa=function t(e,r,n,o,i,a){var s,c=1&r,u=2&r,f=4&r;if(n&&(s=i?n(e,o,i,a):n(e)),void 0!==s)return s;if(!ba(e))return e;var l=ha(e);if(l){if(s=ua(e),!c)return na(e,s)}else{var h=ca(e),v=h==ja||"[object GeneratorFunction]"==h;if(va(e))return ra(e,c);if(h==Oa||h==ga||v&&!i){if(s=u||v?{}:la(e),!c)return u?ia(e,ea(s,e)):oa(e,ta(s,e))}else{if(!Sa[h])return i?e:{};s=fa(e,h,c)}}a||(a=new Ki);var p=a.get(e);if(p)return p;a.set(e,s),ya(e)?e.forEach(function(o){s.add(t(o,r,n,o,e,a))}):pa(e)&&e.forEach(function(o,i){s.set(i,t(o,r,n,i,e,a))});var b=l?void 0:(f?u?sa:aa:u?da:_a)(e);return Ji(b||e,function(o,i){b&&(o=e[i=o]),Zi(s,i,t(o,r,n,i,e,a))}),s};var Aa=nn,Ea=function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+e];return i};var Na=function(t,e){return e.length<2?t:Aa(t,Ea(e,0,-1))},ma=Jr,Da=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0},Ra=Na,ka=tn;var Ma=function(t,e){return e=ma(e,t),null==(t=Ra(t,e))||delete t[ka(Da(e))]},Ia=A,La=ko,Pa=Pt,Ca=Function.prototype,xa=Object.prototype,Ta=Ca.toString,Ua=xa.hasOwnProperty,Fa=Ta.call(Object);var za=function(t){if(!Pa(t)||"[object Object]"!=Ia(t))return!1;var e=La(t);if(null===e)return!0;var r=Ua.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Ta.call(r)==Fa};var Wa=function(t){return za(t)?void 0:t},Ba=Bt,Ga=Gt,$a=v?v.isConcatSpreadable:void 0;var Va=Ro,Xa=function(t){return Ga(t)||Ba(t)||!!($a&&t&&t[$a])};var Ya=function t(e,r,n,o,i){var a=-1,s=e.length;for(n||(n=Xa),i||(i=[]);++a<s;){var c=e[a];r>0&&n(c)?r>1?t(c,r-1,n,o,i):Va(i,c):o||(i[i.length]=c)}return i},qa=Ya;var Ha=function(t){return(null==t?0:t.length)?qa(t,1):[]},Qa=ut,Ka=pt;var Ja=zr,Za=wa,ts=Ma,es=Jr,rs=it,ns=Wa,os=Ho,is=function(t){return Ka(Qa(t,void 0,Ha),t+"")}(function(t,e){var r={};if(null==t)return r;var n=!1;e=Ja(e,function(e){return e=es(e,t),n||(n=e.length>1),e}),rs(t,os(t),r),n&&(r=Za(r,7,ns));for(var o=e.length;o--;)ts(r,e[o]);return r}),as=c(is);const ss=new class{AppName;platform;isMAC;isWIN;isLINUX;saveFolder;homedir;appFolder;constructor(t){switch(this.AppName=t,this.platform=process.platform,this.homedir=e.homedir(),this.platform){case"darwin":this.isMAC=!0,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=r.join(this.homedir,"Library","Application Support");break;case"win32":this.isMAC=!1,this.isWIN=!0,this.isLINUX=!1,this.saveFolder=process.env.APPDATA||r.join(this.homedir,"AppData","Roaming");break;case"linux":this.isMAC=!1,this.isWIN=!1,this.isLINUX=!0,this.saveFolder=process.env.XDG_CONFIG_HOME||r.join(this.homedir,".config");break;default:console.log(`當前系統是未知的平台: ${this.platform}`),this.isMAC=!1,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=this.homedir}this.appFolder=r.join(this.saveFolder,this.AppName),this.folderCheck(this.appFolder)}addPath(...t){return r.join(...t)}folderCheck(e){t.mkdirSync(e,{recursive:!0})}fileCheck(e){t.existsSync(e)||t.writeFileSync(e,"",{encoding:"utf8"})}}("aiia-sdk");class cs{type="node";filePath;fileName;constructor(){this.fileName="storage.json",this.filePath=ss.addPath(ss.appFolder,this.fileName),ss.fileCheck(this.filePath)}getFileDataSync(){const e=t.readFileSync(this.filePath,"utf8");try{return JSON.parse(e)}catch(t){return{}}}setFileDataSync(e){try{const r=JSON.stringify(e);t.writeFileSync(this.filePath,r,"utf8")}catch(t){}}async getFileData(){return new Promise(e=>{t.readFile(this.filePath,"utf8",(t,r)=>{if(t)e({});else try{e(JSON.parse(r))}catch(t){e({})}})})}async setFileData(e){return new Promise(r=>{try{const n=JSON.stringify(e);t.writeFile(this.filePath,n,"utf8",t=>{r()})}catch(t){}})}async getItem(t){return(await this.getFileData())[t]??null}async setItem(t,e){const r=await this.getFileData();r[t]=e,await this.setFileData(r)}async removeItem(t){const e=await this.getFileData(),r=as(e,t);await this.setFileData(r)}async clear(){await this.setFileData({})}getItemSync(t){return this.getFileDataSync()[t]??null}setItemSync(t,e){const r=this.getFileDataSync();r[t]=e,this.setFileDataSync(r)}removeItemSync(t){const e=as(this.getFileDataSync(),t);this.setFileDataSync(e)}clearSync(){this.setFileDataSync({})}}var us=Lr,fs=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ls=function(t){return this.__data__.has(t)};function hs(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new us;++e<r;)this.add(t[e])}hs.prototype.add=hs.prototype.push=fs,hs.prototype.has=ls;var vs=hs,ps=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},bs=function(t,e){return t.has(e)};var ys=function(t,e,r,n,o,i){var a=1&r,s=t.length,c=e.length;if(s!=c&&!(a&&c>s))return!1;var u=i.get(t),f=i.get(e);if(u&&f)return u==e&&f==t;var l=-1,h=!0,v=2&r?new vs:void 0;for(i.set(t,e),i.set(e,t);++l<s;){var p=t[l],b=e[l];if(n)var y=a?n(b,p,l,e,t,i):n(p,b,l,t,e,i);if(void 0!==y){if(y)continue;h=!1;break}if(v){if(!ps(e,function(t,e){if(!bs(v,e)&&(p===t||o(p,t,r,n,i)))return v.push(e)})){h=!1;break}}else if(p!==b&&!o(p,b,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h};var _s=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var ds=_i,gs=J,js=ys,Os=_s,Ss=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},ws=v?v.prototype:void 0,As=ws?ws.valueOf:void 0;var Es=function(t,e,r,n,o,i,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new ds(t),new ds(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return gs(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=Os;case"[object Set]":var c=1&n;if(s||(s=Ss),t.size!=e.size&&!c)return!1;var u=a.get(t);if(u)return u==e;n|=2,a.set(t,e);var f=js(s(t),s(e),n,o,i,a);return a.delete(t),f;case"[object Symbol]":if(As)return As.call(t)==As.call(e)}return!1},Ns=Vo,ms=Object.prototype.hasOwnProperty;var Ds=to,Rs=ys,ks=Es,Ms=function(t,e,r,n,o,i){var a=1&r,s=Ns(t),c=s.length;if(c!=Ns(e).length&&!a)return!1;for(var u=c;u--;){var f=s[u];if(!(a?f in e:ms.call(e,f)))return!1}var l=i.get(t),h=i.get(e);if(l&&h)return l==e&&h==t;var v=!0;i.set(t,e),i.set(e,t);for(var p=a;++u<c;){var b=t[f=s[u]],y=e[f];if(n)var _=a?n(y,b,f,e,t,i):n(b,y,f,t,e,i);if(!(void 0===_?b===y||o(b,y,r,n,i):_)){v=!1;break}p||(p="constructor"==f)}if(v&&!p){var d=t.constructor,g=e.constructor;d==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof d&&d instanceof d&&"function"==typeof g&&g instanceof g||(v=!1)}return i.delete(t),i.delete(e),v},Is=pi,Ls=Gt,Ps=Yt,Cs=ie,xs="[object Arguments]",Ts="[object Array]",Us="[object Object]",Fs=Object.prototype.hasOwnProperty;var zs=function(t,e,r,n,o,i){var a=Ls(t),s=Ls(e),c=a?Ts:Is(t),u=s?Ts:Is(e),f=(c=c==xs?Us:c)==Us,l=(u=u==xs?Us:u)==Us,h=c==u;if(h&&Ps(t)){if(!Ps(e))return!1;a=!0,f=!1}if(h&&!f)return i||(i=new Ds),a||Cs(t)?Rs(t,e,r,n,o,i):ks(t,e,c,r,n,o,i);if(!(1&r)){var v=f&&Fs.call(t,"__wrapped__"),p=l&&Fs.call(e,"__wrapped__");if(v||p){var b=v?t.value():t,y=p?e.value():e;return i||(i=new Ds),o(b,y,r,n,i)}}return!!h&&(i||(i=new Ds),Ms(t,e,r,n,o,i))},Ws=Pt;var Bs=function t(e,r,n,o,i){return e===r||(null==e||null==r||!Ws(e)&&!Ws(r)?e!=e&&r!=r:zs(e,r,n,o,t,i))},Gs=to,$s=Bs;var Vs=E;var Xs=function(t){return t==t&&!Vs(t)},Ys=Xs,qs=Se;var Hs=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},Qs=function(t,e,r,n){var o=r.length,i=o,a=!n;if(null==t)return!i;for(t=Object(t);o--;){var s=r[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<i;){var c=(s=r[o])[0],u=t[c],f=s[1];if(a&&s[2]){if(void 0===u&&!(c in t))return!1}else{var l=new Gs;if(n)var h=n(u,f,c,t,e,l);if(!(void 0===h?$s(f,u,3,n,l):h))return!1}}return!0},Ks=function(t){for(var e=qs(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Ys(o)]}return e},Js=Hs;var Zs=Jr,tc=Bt,ec=Gt,rc=wt,nc=dt,oc=tn;var ic=function(t,e,r){for(var n=-1,o=(e=Zs(e,t)).length,i=!1;++n<o;){var a=oc(e[n]);if(!(i=null!=t&&r(t,a)))break;t=t[a]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&nc(o)&&rc(a,o)&&(ec(t)||tc(t))},ac=function(t,e){return null!=t&&e in Object(t)},sc=ic;var cc=function(t,e){return null!=t&&sc(t,e,ac)},uc=Bs,fc=sn,lc=cc,hc=Ue,vc=Xs,pc=Hs,bc=tn;var yc=function(t,e){return hc(t)&&vc(e)?pc(bc(t),e):function(r){var n=fc(r,t);return void 0===n&&n===e?lc(r,t):uc(e,n,3)}};var _c=nn;var dc=function(t){return function(e){return _c(e,t)}},gc=function(t){return function(e){return null==e?void 0:e[t]}},jc=dc,Oc=Ue,Sc=tn;var wc=function(t){return Oc(t)?gc(Sc(t)):jc(t)},Ac=function(t){var e=Ks(t);return 1==e.length&&e[0][2]?Js(e[0][0],e[0][1]):function(r){return r===t||Qs(r,t,e)}},Ec=yc,Nc=at,mc=Gt,Dc=wc;var Rc=function(t){return"function"==typeof t?t:null==t?Nc:"object"==typeof t?mc(t)?Ec(t[0],t[1]):Ac(t):Dc(t)};var kc=function(t){return function(e,r,n){for(var o=-1,i=Object(e),a=n(e),s=a.length;s--;){var c=a[t?s:++o];if(!1===r(i[c],c,i))break}return e}}(),Mc=Se;var Ic=Ot;var Lc=function(t,e){return function(r,n){if(null==r)return r;if(!Ic(r))return t(r,n);for(var o=r.length,i=e?o:-1,a=Object(r);(e?i--:++i<o)&&!1!==n(a[i],i,a););return r}}(function(t,e){return t&&kc(t,e,Mc)}),Pc=Ot;var Cc=zr,xc=Rc,Tc=function(t,e){var r=-1,n=Pc(t)?Array(t.length):[];return Lc(t,function(t,o,i){n[++r]=e(t,o,i)}),n},Uc=Gt;var Fc,zc=c(function(t,e){return(Uc(t)?Cc:Tc)(t,xc(e))});class Wc{instance;controller;constructor(t){this.controller=new AbortController,this.instance=o.create({baseURL:t,signal:this.controller.signal})}async getAccessToken(t,e){const r={license_number:t,token_value:e??""},n=await this.instance.post("/api/v1/license/agent_token",r).then(t=>cn(t.data,"token_value","")).catch(()=>null);if(null===n)throw new Error(an["網絡錯誤"]);if(""===n)throw new Error(an["獲取權杖失敗"]);return n}async getProjectList(t){const e=await this.instance.post("/api/v1/license/projects",{license_number:t}).then(t=>zc(cn(t,"data.projects",[]),({id:t,sub_project_name:e})=>({id:t,name:e}))).catch(t=>null);if(null===e)throw new Error(an["網絡錯誤"]);if(0===e.length)throw new Error(an["沒有可用專案"]);return e}onDestory(){this.controller.abort()}}!function(t){t[t.MDN_NORMAL_CLOSURE=1e3]="MDN_NORMAL_CLOSURE",t[t.MDN_GOING_AWAY=1001]="MDN_GOING_AWAY",t[t.MDN_PROTOCOL_ERROR=1002]="MDN_PROTOCOL_ERROR",t[t.MDN_UNSUPPORTED_DATA=1003]="MDN_UNSUPPORTED_DATA",t[t.MDN_RESERVED_1004=1004]="MDN_RESERVED_1004",t[t.MDN_NO_STATUS_RECEIVED=1005]="MDN_NO_STATUS_RECEIVED",t[t.MDN_ABNORMAL_CLOSURE=1006]="MDN_ABNORMAL_CLOSURE",t[t.MDN_INVALID_FRAME_PAYLOAD=1007]="MDN_INVALID_FRAME_PAYLOAD",t[t.MDN_POLICY_VIOLATION=1008]="MDN_POLICY_VIOLATION",t[t.MDN_MESSAGE_TOO_BIG=1009]="MDN_MESSAGE_TOO_BIG",t[t.MDN_MANDATORY_EXTENSION=1010]="MDN_MANDATORY_EXTENSION",t[t.MDN_INTERNAL_ERROR=1011]="MDN_INTERNAL_ERROR",t[t.MDN_SERVICE_RESTART=1012]="MDN_SERVICE_RESTART",t[t.MDN_TRY_AGAIN_LATER=1013]="MDN_TRY_AGAIN_LATER",t[t.MDN_BAD_GATEWAY=1014]="MDN_BAD_GATEWAY",t[t.MDN_TLS_HANDSHAKE=1015]="MDN_TLS_HANDSHAKE",t[t.MANUAL_CLOSE=4001]="MANUAL_CLOSE",t[t.WS_5000_NORAML_CLOSURE=5e3]="WS_5000_NORAML_CLOSURE",t[t.WS_5001_UNAUTHORIZED=5001]="WS_5001_UNAUTHORIZED",t[t.WS_5002_LICENSE_EXPIRED=5002]="WS_5002_LICENSE_EXPIRED",t[t.WS_5003_TOKEN_EXPIRED=5003]="WS_5003_TOKEN_EXPIRED"}(Fc||(Fc={}));class Bc{socket;messageSub;startLinkSub;destorySub;closeSub;get message(){return this.messageSub.asObservable()}get close(){return this.closeSub.asObservable()}get startLink(){return this.startLinkSub.asObservable()}messageQueue=[];isConnected;isStart;constructor(){this.isConnected=!1,this.isStart=!1,this.messageSub=new n.Subject,this.startLinkSub=new n.Subject,this.closeSub=new n.Subject,this.destorySub=new n.Subject}start(t){this.isStart=!0,this.socket=new a(t),Wn.info("Message proxy to"),n.fromEvent(this.socket,"open").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{this.isConnected=!0,this.startLinkSub.next(),Wn.info("Proxy startup"),this.flushMessageQueue()}),n.fromEvent(this.socket,"message").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{const{data:e}=t;this.messageSub.next(e)}),n.fromEvent(this.socket,"error").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{const{error:e}=t;Wn.error("Proxy has some problem",e)}),n.fromEvent(this.socket,"close").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{this.isConnected=!1;const{code:e}=t;switch(Wn.error("Proxy closed",{code:e}),e){case Fc.MANUAL_CLOSE:Wn.info("MANUAL CLOSE connection and stop emit event");break;case Fc.WS_5000_NORAML_CLOSURE:case Fc.MDN_NORMAL_CLOSURE:case Fc.MDN_GOING_AWAY:this.closeSub.next("close"),Wn.info("Safe close connection");break;case Fc.MDN_NO_STATUS_RECEIVED:case Fc.MDN_ABNORMAL_CLOSURE:this.closeSub.next("close"),Wn.error("Cloud disconnect");break;case Fc.WS_5001_UNAUTHORIZED:case Fc.WS_5002_LICENSE_EXPIRED:this.closeSub.next("no_permissions"),Wn.error("Please contact Graphen");break;case Fc.WS_5003_TOKEN_EXPIRED:this.closeSub.next("reconnect");break;default:this.closeSub.next("close"),Wn.warn("Other status always close connection")}})}flushMessageQueue(){for(;this.messageQueue.length>0&&this.isConnected;){const t=this.messageQueue.shift();t&&this.socket.send(t)}}send(t){this.isConnected?this.socket.send(t):this.messageQueue.push(t)}onManualClose(t){this.isStart&&this.socket?.close(t)}onDestory(){this.destorySub.next(),this.destorySub.complete()}}class Gc{sdk;server;get url(){return this.sdk.config.endPoint.socket}get port(){return this.sdk.config.port}get webserver(){return this.sdk.config.webserver}constructor(t){this.sdk=t}start(){this.server=new i.Server(this.webserver,{cors:{origin:"*"}}),this.server.on("connection",t=>{const e=new n.Subject;let r=(o=t.handshake.query.uuid,$t(o)?cn(o,"[0]",void 0):o??void 0);var o;const i=new Bc;void 0===r?(this.sdk.getProjectList().then(e=>{t.emit("list",e)}),n.fromEvent(t,"uuid").pipe(n.take(1),n.takeUntil(e)).subscribe(n=>{r=n,this.openChannel(r,t,i,e)})):this.openChannel(r,t,i,e),t.on("disconnect",t=>{e.next(),e.complete(),Wn.info(t)})}),void 0===this.webserver&&this.server.listen(this.port)}openChannel(t,e,r,o){n.fromEvent(e,"cloud").pipe(n.takeUntil(o)).subscribe(t=>{r.send(t)}),r.message.pipe(n.takeUntil(o)).subscribe(t=>{e.emit("cloud",t)}),r.close.pipe(n.takeUntil(o)).subscribe(async n=>{switch(n){case"close":case"no_permissions":r.onDestory(),e.emit("channel",n);break;case"reconnect":r.onManualClose(Fc.MANUAL_CLOSE),await this.sdk.replaceAccessToken(),r.start(this.getProxySocketURL(t))}}),r.startLink.pipe(n.takeUntil(o)).subscribe(()=>{e.emit("channel","open")}),r.start(this.getProxySocketURL(t))}getProxySocketURL(t){return`${this.url}/v1/chat/project/${this.sdk.access_token}/${t}`}onDestory(){this.server&&this.server.close()}}class $c{config;stroage;apiProxy;chat;isStart;destorySub;get destoryObs(){return this.destorySub.asObservable()}access_token;constructor(t,e){this.config=t,this.stroage=e,this.isStart=!1,this.destorySub=new n.Subject,this.access_token=e.getItemSync(un),this.apiProxy=new Wc(this.config.endPoint.api),Wn.info("[Initialize] proxy is finished"),this.chat=new Gc(this),Wn.info("[Initialize] chat is finished","Start at PORT:",this.config.port)}async start(){if(this.isStart)throw new Error(an["重複初始化"]);await this.replaceAccessToken(),this.chat.start(),Wn.info("Chat service startup")}async replaceAccessToken(){const t=await this.apiProxy.getAccessToken(this.config.license,this.access_token);return this.access_token=t,this.stroage.setItemSync(un,t),t}async getProjectList(){return await this.apiProxy.getProjectList(this.config.license)}onDestory(){this.apiProxy.onDestory(),this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete(),Wn.info("[Destory] core module done")}}exports.aiiaCore=function(t){if(fn){if(void 0===cn(t,"license",void 0))throw new Error(an["未提供憑證"]);Wn.info("Initialize necessary modules");const e=new ln(ke({},t));Bn(cn(t,"debug")),Wn.info("[Initialize] config finished");const r=new cs;Wn.info("[Initialize] storage finished");const n=new $c(e,r);return Wn.info("[Initialize] core finished"),n.start(),Wn.info("Service startup"),()=>{n.onDestory()}}throw new Error(an["環境錯誤(nodejs)"])};
1
+ "use strict";var t=require("fs"),e=require("os"),r=require("path"),n=require("rxjs"),o=require("axios"),i=require("socket.io"),a=require("ws"),s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var u="object"==typeof s&&s&&s.Object===Object&&s,f=u,l="object"==typeof self&&self&&self.Object===Object&&self,h=f||l||Function("return this")(),v=h.Symbol,p=v,b=Object.prototype,y=b.hasOwnProperty,_=b.toString,d=p?p.toStringTag:void 0;var g=function(t){var e=y.call(t,d),r=t[d];try{t[d]=void 0;var n=!0}catch(t){}var o=_.call(t);return n&&(e?t[d]=r:delete t[d]),o},j=Object.prototype.toString;var O=g,S=function(t){return j.call(t)},w=v?v.toStringTag:void 0;var A=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":w&&w in Object(t)?O(t):S(t)};var E=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},N=A,m=E;var D,R=function(t){if(!m(t))return!1;var e=N(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},k=h["__core-js_shared__"],M=(D=/[^.]+$/.exec(k&&k.keys&&k.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"";var I=function(t){return!!M&&M in t},P=Function.prototype.toString;var L=function(t){if(null!=t){try{return P.call(t)}catch(t){}try{return t+""}catch(t){}}return""},C=R,T=I,x=E,U=L,F=/^\[object .+?Constructor\]$/,z=Function.prototype,W=Object.prototype,B=z.toString,G=W.hasOwnProperty,$=RegExp("^"+B.call(G).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var V=function(t){return!(!x(t)||T(t))&&(C(t)?$:F).test(U(t))},X=function(t,e){return null==t?void 0:t[e]};var Y=function(t,e){var r=X(t,e);return V(r)?r:void 0},q=Y,H=function(){try{var t=q(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Q=H;var K=function(t,e,r){"__proto__"==e&&Q?Q(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var J=function(t,e){return t===e||t!=t&&e!=e},Z=K,tt=J,et=Object.prototype.hasOwnProperty;var rt=function(t,e,r){var n=t[e];et.call(t,e)&&tt(n,r)&&(void 0!==r||e in t)||Z(t,e,r)},nt=rt,ot=K;var it=function(t,e,r,n){var o=!r;r||(r={});for(var i=-1,a=e.length;++i<a;){var s=e[i],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),o?ot(r,s,c):nt(r,s,c)}return r};var at=function(t){return t};var st=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},ct=Math.max;var ut=function(t,e,r){return e=ct(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,i=ct(n.length-e,0),a=Array(i);++o<i;)a[o]=n[e+o];o=-1;for(var s=Array(e+1);++o<e;)s[o]=n[o];return s[e]=r(a),st(t,this,s)}};var ft=function(t){return function(){return t}},lt=H,ht=lt?function(t,e){return lt(t,"toString",{configurable:!0,enumerable:!1,value:ft(e),writable:!0})}:at,vt=Date.now;var pt=function(t){var e=0,r=0;return function(){var n=vt(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ht),bt=at,yt=ut,_t=pt;var dt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},gt=R,jt=dt;var Ot=function(t){return null!=t&&jt(t.length)&&!gt(t)},St=/^(?:0|[1-9]\d*)$/;var wt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&St.test(t))&&t>-1&&t%1==0&&t<e},At=J,Et=Ot,Nt=wt,mt=E;var Dt=function(t,e){return _t(yt(t,e,bt),t+"")},Rt=function(t,e,r){if(!mt(r))return!1;var n=typeof e;return!!("number"==n?Et(r)&&Nt(e,r.length):"string"==n&&e in r)&&At(r[e],t)};var kt=function(t){return Dt(function(e,r){var n=-1,o=r.length,i=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(o--,i):void 0,a&&Rt(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),e=Object(e);++n<o;){var s=r[n];s&&t(e,s,n,i)}return e})},Mt=Object.prototype;var It=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Mt)};var Pt=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var Lt=function(t){return null!=t&&"object"==typeof t},Ct=A,Tt=Lt;var xt=function(t){return Tt(t)&&"[object Arguments]"==Ct(t)},Ut=Lt,Ft=Object.prototype,zt=Ft.hasOwnProperty,Wt=Ft.propertyIsEnumerable,Bt=xt(function(){return arguments}())?xt:function(t){return Ut(t)&&zt.call(t,"callee")&&!Wt.call(t,"callee")},Gt=Array.isArray,$t=c(Gt),Vt={exports:{}};var Xt=function(){return!1};!function(t,e){var r=h,n=Xt,o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,s=(a?a.isBuffer:void 0)||n;t.exports=s}(Vt,Vt.exports);var Yt=Vt.exports,qt=A,Ht=dt,Qt=Lt,Kt={};Kt["[object Float32Array]"]=Kt["[object Float64Array]"]=Kt["[object Int8Array]"]=Kt["[object Int16Array]"]=Kt["[object Int32Array]"]=Kt["[object Uint8Array]"]=Kt["[object Uint8ClampedArray]"]=Kt["[object Uint16Array]"]=Kt["[object Uint32Array]"]=!0,Kt["[object Arguments]"]=Kt["[object Array]"]=Kt["[object ArrayBuffer]"]=Kt["[object Boolean]"]=Kt["[object DataView]"]=Kt["[object Date]"]=Kt["[object Error]"]=Kt["[object Function]"]=Kt["[object Map]"]=Kt["[object Number]"]=Kt["[object Object]"]=Kt["[object RegExp]"]=Kt["[object Set]"]=Kt["[object String]"]=Kt["[object WeakMap]"]=!1;var Jt=function(t){return Qt(t)&&Ht(t.length)&&!!Kt[qt(t)]};var Zt=function(t){return function(e){return t(e)}},te={exports:{}};!function(t,e){var r=u,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n&&r.process,a=function(){try{var t=o&&o.require&&o.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=a}(te,te.exports);var ee=te.exports,re=Jt,ne=Zt,oe=ee&&ee.isTypedArray,ie=oe?ne(oe):re,ae=Pt,se=Bt,ce=Gt,ue=Yt,fe=wt,le=ie,he=Object.prototype.hasOwnProperty;var ve=function(t,e){var r=ce(t),n=!r&&se(t),o=!r&&!n&&ue(t),i=!r&&!n&&!o&&le(t),a=r||n||o||i,s=a?ae(t.length,String):[],c=s.length;for(var u in t)!e&&!he.call(t,u)||a&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||fe(u,c))||s.push(u);return s};var pe=function(t,e){return function(r){return t(e(r))}},be=pe(Object.keys,Object),ye=It,_e=be,de=Object.prototype.hasOwnProperty;var ge=ve,je=function(t){if(!ye(t))return _e(t);var e=[];for(var r in Object(t))de.call(t,r)&&"constructor"!=r&&e.push(r);return e},Oe=Ot;var Se=function(t){return Oe(t)?ge(t):je(t)},we=rt,Ae=it,Ee=kt,Ne=Ot,me=It,De=Se,Re=Object.prototype.hasOwnProperty,ke=c(Ee(function(t,e){if(me(e)||Ne(e))Ae(e,De(e),t);else for(var r in e)Re.call(e,r)&&we(t,r,e[r])})),Me=A,Ie=Lt;var Pe=function(t){return"symbol"==typeof t||Ie(t)&&"[object Symbol]"==Me(t)},Le=Gt,Ce=Pe,Te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xe=/^\w*$/;var Ue=function(t,e){if(Le(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Ce(t))||(xe.test(t)||!Te.test(t)||null!=e&&t in Object(e))},Fe=Y(Object,"create"),ze=Fe;var We=function(){this.__data__=ze?ze(null):{},this.size=0};var Be=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Ge=Fe,$e=Object.prototype.hasOwnProperty;var Ve=function(t){var e=this.__data__;if(Ge){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return $e.call(e,t)?e[t]:void 0},Xe=Fe,Ye=Object.prototype.hasOwnProperty;var qe=Fe;var He=We,Qe=Be,Ke=Ve,Je=function(t){var e=this.__data__;return Xe?void 0!==e[t]:Ye.call(e,t)},Ze=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=qe&&void 0===e?"__lodash_hash_undefined__":e,this};function tr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}tr.prototype.clear=He,tr.prototype.delete=Qe,tr.prototype.get=Ke,tr.prototype.has=Je,tr.prototype.set=Ze;var er=tr;var rr=function(){this.__data__=[],this.size=0},nr=J;var or=function(t,e){for(var r=t.length;r--;)if(nr(t[r][0],e))return r;return-1},ir=or,ar=Array.prototype.splice;var sr=or;var cr=or;var ur=or;var fr=rr,lr=function(t){var e=this.__data__,r=ir(e,t);return!(r<0)&&(r==e.length-1?e.pop():ar.call(e,r,1),--this.size,!0)},hr=function(t){var e=this.__data__,r=sr(e,t);return r<0?void 0:e[r][1]},vr=function(t){return cr(this.__data__,t)>-1},pr=function(t,e){var r=this.__data__,n=ur(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function br(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}br.prototype.clear=fr,br.prototype.delete=lr,br.prototype.get=hr,br.prototype.has=vr,br.prototype.set=pr;var yr=br,_r=Y(h,"Map"),dr=er,gr=yr,jr=_r;var Or=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var Sr=function(t,e){var r=t.__data__;return Or(e)?r["string"==typeof e?"string":"hash"]:r.map},wr=Sr;var Ar=Sr;var Er=Sr;var Nr=Sr;var mr=function(){this.size=0,this.__data__={hash:new dr,map:new(jr||gr),string:new dr}},Dr=function(t){var e=wr(this,t).delete(t);return this.size-=e?1:0,e},Rr=function(t){return Ar(this,t).get(t)},kr=function(t){return Er(this,t).has(t)},Mr=function(t,e){var r=Nr(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Ir.prototype.clear=mr,Ir.prototype.delete=Dr,Ir.prototype.get=Rr,Ir.prototype.has=kr,Ir.prototype.set=Mr;var Pr=Ir,Lr=Pr;function Cr(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(Cr.Cache||Lr),r}Cr.Cache=Lr;var Tr=Cr;var xr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ur=/\\(\\)?/g,Fr=function(t){var e=Tr(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(xr,function(t,r,n,o){e.push(n?o.replace(Ur,"$1"):r||t)}),e});var zr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},Wr=zr,Br=Gt,Gr=Pe,$r=v?v.prototype:void 0,Vr=$r?$r.toString:void 0;var Xr=function t(e){if("string"==typeof e)return e;if(Br(e))return Wr(e,t)+"";if(Gr(e))return Vr?Vr.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},Yr=Xr;var qr=Gt,Hr=Ue,Qr=Fr,Kr=function(t){return null==t?"":Yr(t)};var Jr=function(t,e){return qr(t)?t:Hr(t,e)?[t]:Qr(Kr(t))},Zr=Pe;var tn=function(t){if("string"==typeof t||Zr(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},en=Jr,rn=tn;var nn=function(t,e){for(var r=0,n=(e=en(e,t)).length;null!=t&&r<n;)t=t[rn(e[r++])];return r&&r==n?t:void 0},on=nn;var an,sn=function(t,e,r){var n=null==t?void 0:on(t,e);return void 0===n?r:n},cn=c(sn);!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(an||(an={}));const un="access_token",fn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;class ln{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=ke({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:ke({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var hn=function(t,e,r,n){for(var o=t.length,i=r+(n?1:-1);n?i--:++i<o;)if(e(t[i],i,t))return i;return-1},vn=function(t){return t!=t},pn=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var bn=A,yn=Gt,_n=Lt;var dn=/\s/;var gn=function(t){for(var e=t.length;e--&&dn.test(t.charAt(e)););return e},jn=/^\s+/;var On=function(t){return t?t.slice(0,gn(t)+1).replace(jn,""):t},Sn=E,wn=Pe,An=/^[-+]0x[0-9a-f]+$/i,En=/^0b[01]+$/i,Nn=/^0o[0-7]+$/i,mn=parseInt;var Dn=function(t){if("number"==typeof t)return t;if(wn(t))return NaN;if(Sn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Sn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=On(t);var r=En.test(t);return r||Nn.test(t)?mn(t.slice(2),r?2:8):An.test(t)?NaN:+t},Rn=1/0;var kn=function(t){return t?(t=Dn(t))===Rn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Mn=zr;var In=function(t,e){return Mn(e,function(e){return t[e]})},Pn=Se;var Ln=function(t,e,r){return e==e?pn(t,e,r):hn(t,vn,r)},Cn=Ot,Tn=function(t){return"string"==typeof t||!yn(t)&&_n(t)&&"[object String]"==bn(t)},xn=function(t){var e=kn(t),r=e%1;return e==e?r?e-r:e:0},Un=function(t){return null==t?[]:In(t,Pn(t))},Fn=Math.max;var zn=c(function(t,e,r,n){t=Cn(t)?t:Un(t),r=r&&!n?xn(r):0;var o=t.length;return r<0&&(r=Fn(o+r,0)),Tn(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&Ln(t,e,r)>-1});const Wn={info:()=>{},error:()=>{},warn:()=>{}};function Bn(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:zn(t,"error"),warn:zn(t,"warn"),info:zn(t,"info")}}(t);e&&(Wn.info=console.log),r&&(Wn.error=console.error),n&&(Wn.warn=console.warn)}var Gn=yr;var $n=yr,Vn=_r,Xn=Pr;var Yn=yr,qn=function(){this.__data__=new Gn,this.size=0},Hn=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Qn=function(t){return this.__data__.get(t)},Kn=function(t){return this.__data__.has(t)},Jn=function(t,e){var r=this.__data__;if(r instanceof $n){var n=r.__data__;if(!Vn||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Xn(n)}return r.set(t,e),this.size=r.size,this};function Zn(t){var e=this.__data__=new Yn(t);this.size=e.size}Zn.prototype.clear=qn,Zn.prototype.delete=Hn,Zn.prototype.get=Qn,Zn.prototype.has=Kn,Zn.prototype.set=Jn;var to=Zn;var eo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t},ro=it,no=Se;var oo=function(t,e){return t&&ro(e,no(e),t)};var io=E,ao=It,so=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e},co=Object.prototype.hasOwnProperty;var uo=ve,fo=function(t){if(!io(t))return so(t);var e=ao(t),r=[];for(var n in t)("constructor"!=n||!e&&co.call(t,n))&&r.push(n);return r},lo=Ot;var ho=function(t){return lo(t)?uo(t,!0):fo(t)},vo=it,po=ho;var bo=function(t,e){return t&&vo(e,po(e),t)},yo={exports:{}};!function(t,e){var r=h,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n?r.Buffer:void 0,a=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=a?a(r):new t.constructor(r);return t.copy(n),n}}(yo,yo.exports);var _o=yo.exports;var go=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e};var jo=function(){return[]},Oo=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var a=t[r];e(a,r,t)&&(i[o++]=a)}return i},So=jo,wo=Object.prototype.propertyIsEnumerable,Ao=Object.getOwnPropertySymbols,Eo=Ao?function(t){return null==t?[]:(t=Object(t),Oo(Ao(t),function(e){return wo.call(t,e)}))}:So,No=it,mo=Eo;var Do=function(t,e){return No(t,mo(t),e)};var Ro=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},ko=pe(Object.getPrototypeOf,Object),Mo=Ro,Io=ko,Po=Eo,Lo=jo,Co=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Mo(e,Po(t)),t=Io(t);return e}:Lo,To=it,xo=Co;var Uo=function(t,e){return To(t,xo(t),e)},Fo=Ro,zo=Gt;var Wo=function(t,e,r){var n=e(t);return zo(t)?n:Fo(n,r(t))},Bo=Wo,Go=Eo,$o=Se;var Vo=function(t){return Bo(t,$o,Go)},Xo=Wo,Yo=Co,qo=ho;var Ho=function(t){return Xo(t,qo,Yo)},Qo=Y(h,"DataView"),Ko=_r,Jo=Y(h,"Promise"),Zo=Y(h,"Set"),ti=Y(h,"WeakMap"),ei=A,ri=L,ni="[object Map]",oi="[object Promise]",ii="[object Set]",ai="[object WeakMap]",si="[object DataView]",ci=ri(Qo),ui=ri(Ko),fi=ri(Jo),li=ri(Zo),hi=ri(ti),vi=ei;(Qo&&vi(new Qo(new ArrayBuffer(1)))!=si||Ko&&vi(new Ko)!=ni||Jo&&vi(Jo.resolve())!=oi||Zo&&vi(new Zo)!=ii||ti&&vi(new ti)!=ai)&&(vi=function(t){var e=ei(t),r="[object Object]"==e?t.constructor:void 0,n=r?ri(r):"";if(n)switch(n){case ci:return si;case ui:return ni;case fi:return oi;case li:return ii;case hi:return ai}return e});var pi=vi,bi=Object.prototype.hasOwnProperty;var yi=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&bi.call(t,"index")&&(r.index=t.index,r.input=t.input),r},_i=h.Uint8Array,di=_i;var gi=function(t){var e=new t.constructor(t.byteLength);return new di(e).set(new di(t)),e},ji=gi;var Oi=function(t,e){var r=e?ji(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)},Si=/\w*$/;var wi=function(t){var e=new t.constructor(t.source,Si.exec(t));return e.lastIndex=t.lastIndex,e},Ai=v?v.prototype:void 0,Ei=Ai?Ai.valueOf:void 0;var Ni=gi;var mi=gi,Di=Oi,Ri=wi,ki=function(t){return Ei?Object(Ei.call(t)):{}},Mi=function(t,e){var r=e?Ni(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)};var Ii=function(t,e,r){var n=t.constructor;switch(e){case"[object ArrayBuffer]":return mi(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return Di(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Mi(t,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return Ri(t);case"[object Symbol]":return ki(t)}},Pi=E,Li=Object.create,Ci=function(){function t(){}return function(e){if(!Pi(e))return{};if(Li)return Li(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Ti=ko,xi=It;var Ui=function(t){return"function"!=typeof t.constructor||xi(t)?{}:Ci(Ti(t))},Fi=pi,zi=Lt;var Wi=function(t){return zi(t)&&"[object Map]"==Fi(t)},Bi=Zt,Gi=ee&&ee.isMap,$i=Gi?Bi(Gi):Wi,Vi=pi,Xi=Lt;var Yi=function(t){return Xi(t)&&"[object Set]"==Vi(t)},qi=Zt,Hi=ee&&ee.isSet,Qi=Hi?qi(Hi):Yi,Ki=to,Ji=eo,Zi=rt,ta=oo,ea=bo,ra=_o,na=go,oa=Do,ia=Uo,aa=Vo,sa=Ho,ca=pi,ua=yi,fa=Ii,la=Ui,ha=Gt,va=Yt,pa=$i,ba=E,ya=Qi,_a=Se,da=ho,ga="[object Arguments]",ja="[object Function]",Oa="[object Object]",Sa={};Sa[ga]=Sa["[object Array]"]=Sa["[object ArrayBuffer]"]=Sa["[object DataView]"]=Sa["[object Boolean]"]=Sa["[object Date]"]=Sa["[object Float32Array]"]=Sa["[object Float64Array]"]=Sa["[object Int8Array]"]=Sa["[object Int16Array]"]=Sa["[object Int32Array]"]=Sa["[object Map]"]=Sa["[object Number]"]=Sa[Oa]=Sa["[object RegExp]"]=Sa["[object Set]"]=Sa["[object String]"]=Sa["[object Symbol]"]=Sa["[object Uint8Array]"]=Sa["[object Uint8ClampedArray]"]=Sa["[object Uint16Array]"]=Sa["[object Uint32Array]"]=!0,Sa["[object Error]"]=Sa[ja]=Sa["[object WeakMap]"]=!1;var wa=function t(e,r,n,o,i,a){var s,c=1&r,u=2&r,f=4&r;if(n&&(s=i?n(e,o,i,a):n(e)),void 0!==s)return s;if(!ba(e))return e;var l=ha(e);if(l){if(s=ua(e),!c)return na(e,s)}else{var h=ca(e),v=h==ja||"[object GeneratorFunction]"==h;if(va(e))return ra(e,c);if(h==Oa||h==ga||v&&!i){if(s=u||v?{}:la(e),!c)return u?ia(e,ea(s,e)):oa(e,ta(s,e))}else{if(!Sa[h])return i?e:{};s=fa(e,h,c)}}a||(a=new Ki);var p=a.get(e);if(p)return p;a.set(e,s),ya(e)?e.forEach(function(o){s.add(t(o,r,n,o,e,a))}):pa(e)&&e.forEach(function(o,i){s.set(i,t(o,r,n,i,e,a))});var b=l?void 0:(f?u?sa:aa:u?da:_a)(e);return Ji(b||e,function(o,i){b&&(o=e[i=o]),Zi(s,i,t(o,r,n,i,e,a))}),s};var Aa=nn,Ea=function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+e];return i};var Na=function(t,e){return e.length<2?t:Aa(t,Ea(e,0,-1))},ma=Jr,Da=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0},Ra=Na,ka=tn;var Ma=function(t,e){return e=ma(e,t),null==(t=Ra(t,e))||delete t[ka(Da(e))]},Ia=A,Pa=ko,La=Lt,Ca=Function.prototype,Ta=Object.prototype,xa=Ca.toString,Ua=Ta.hasOwnProperty,Fa=xa.call(Object);var za=function(t){if(!La(t)||"[object Object]"!=Ia(t))return!1;var e=Pa(t);if(null===e)return!0;var r=Ua.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&xa.call(r)==Fa};var Wa=function(t){return za(t)?void 0:t},Ba=Bt,Ga=Gt,$a=v?v.isConcatSpreadable:void 0;var Va=Ro,Xa=function(t){return Ga(t)||Ba(t)||!!($a&&t&&t[$a])};var Ya=function t(e,r,n,o,i){var a=-1,s=e.length;for(n||(n=Xa),i||(i=[]);++a<s;){var c=e[a];r>0&&n(c)?r>1?t(c,r-1,n,o,i):Va(i,c):o||(i[i.length]=c)}return i},qa=Ya;var Ha=function(t){return(null==t?0:t.length)?qa(t,1):[]},Qa=ut,Ka=pt;var Ja=zr,Za=wa,ts=Ma,es=Jr,rs=it,ns=Wa,os=Ho,is=function(t){return Ka(Qa(t,void 0,Ha),t+"")}(function(t,e){var r={};if(null==t)return r;var n=!1;e=Ja(e,function(e){return e=es(e,t),n||(n=e.length>1),e}),rs(t,os(t),r),n&&(r=Za(r,7,ns));for(var o=e.length;o--;)ts(r,e[o]);return r}),as=c(is);const ss=new class{AppName;platform;isMAC;isWIN;isLINUX;saveFolder;homedir;appFolder;constructor(t){switch(this.AppName=t,this.platform=process.platform,this.homedir=e.homedir(),this.platform){case"darwin":this.isMAC=!0,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=r.join(this.homedir,"Library","Application Support");break;case"win32":this.isMAC=!1,this.isWIN=!0,this.isLINUX=!1,this.saveFolder=process.env.APPDATA||r.join(this.homedir,"AppData","Roaming");break;case"linux":this.isMAC=!1,this.isWIN=!1,this.isLINUX=!0,this.saveFolder=process.env.XDG_CONFIG_HOME||r.join(this.homedir,".config");break;default:console.log(`當前系統是未知的平台: ${this.platform}`),this.isMAC=!1,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=this.homedir}this.appFolder=r.join(this.saveFolder,this.AppName),this.folderCheck(this.appFolder)}addPath(...t){return r.join(...t)}folderCheck(e){t.mkdirSync(e,{recursive:!0})}fileCheck(e){t.existsSync(e)||t.writeFileSync(e,"",{encoding:"utf8"})}}("aiia-sdk");class cs{type="node";filePath;fileName;constructor(){this.fileName="storage.json",this.filePath=ss.addPath(ss.appFolder,this.fileName),ss.fileCheck(this.filePath)}getFileDataSync(){const e=t.readFileSync(this.filePath,"utf8");try{return JSON.parse(e)}catch(t){return{}}}setFileDataSync(e){try{const r=JSON.stringify(e);t.writeFileSync(this.filePath,r,"utf8")}catch(t){}}async getFileData(){return new Promise(e=>{t.readFile(this.filePath,"utf8",(t,r)=>{if(t)e({});else try{e(JSON.parse(r))}catch(t){e({})}})})}async setFileData(e){return new Promise(r=>{try{const n=JSON.stringify(e);t.writeFile(this.filePath,n,"utf8",t=>{r()})}catch(t){}})}async getItem(t){return(await this.getFileData())[t]??null}async setItem(t,e){const r=await this.getFileData();r[t]=e,await this.setFileData(r)}async removeItem(t){const e=await this.getFileData(),r=as(e,t);await this.setFileData(r)}async clear(){await this.setFileData({})}getItemSync(t){return this.getFileDataSync()[t]??null}setItemSync(t,e){const r=this.getFileDataSync();r[t]=e,this.setFileDataSync(r)}removeItemSync(t){const e=as(this.getFileDataSync(),t);this.setFileDataSync(e)}clearSync(){this.setFileDataSync({})}}var us=Pr,fs=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ls=function(t){return this.__data__.has(t)};function hs(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new us;++e<r;)this.add(t[e])}hs.prototype.add=hs.prototype.push=fs,hs.prototype.has=ls;var vs=hs,ps=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},bs=function(t,e){return t.has(e)};var ys=function(t,e,r,n,o,i){var a=1&r,s=t.length,c=e.length;if(s!=c&&!(a&&c>s))return!1;var u=i.get(t),f=i.get(e);if(u&&f)return u==e&&f==t;var l=-1,h=!0,v=2&r?new vs:void 0;for(i.set(t,e),i.set(e,t);++l<s;){var p=t[l],b=e[l];if(n)var y=a?n(b,p,l,e,t,i):n(p,b,l,t,e,i);if(void 0!==y){if(y)continue;h=!1;break}if(v){if(!ps(e,function(t,e){if(!bs(v,e)&&(p===t||o(p,t,r,n,i)))return v.push(e)})){h=!1;break}}else if(p!==b&&!o(p,b,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h};var _s=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var ds=_i,gs=J,js=ys,Os=_s,Ss=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},ws=v?v.prototype:void 0,As=ws?ws.valueOf:void 0;var Es=function(t,e,r,n,o,i,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new ds(t),new ds(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return gs(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=Os;case"[object Set]":var c=1&n;if(s||(s=Ss),t.size!=e.size&&!c)return!1;var u=a.get(t);if(u)return u==e;n|=2,a.set(t,e);var f=js(s(t),s(e),n,o,i,a);return a.delete(t),f;case"[object Symbol]":if(As)return As.call(t)==As.call(e)}return!1},Ns=Vo,ms=Object.prototype.hasOwnProperty;var Ds=to,Rs=ys,ks=Es,Ms=function(t,e,r,n,o,i){var a=1&r,s=Ns(t),c=s.length;if(c!=Ns(e).length&&!a)return!1;for(var u=c;u--;){var f=s[u];if(!(a?f in e:ms.call(e,f)))return!1}var l=i.get(t),h=i.get(e);if(l&&h)return l==e&&h==t;var v=!0;i.set(t,e),i.set(e,t);for(var p=a;++u<c;){var b=t[f=s[u]],y=e[f];if(n)var _=a?n(y,b,f,e,t,i):n(b,y,f,t,e,i);if(!(void 0===_?b===y||o(b,y,r,n,i):_)){v=!1;break}p||(p="constructor"==f)}if(v&&!p){var d=t.constructor,g=e.constructor;d==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof d&&d instanceof d&&"function"==typeof g&&g instanceof g||(v=!1)}return i.delete(t),i.delete(e),v},Is=pi,Ps=Gt,Ls=Yt,Cs=ie,Ts="[object Arguments]",xs="[object Array]",Us="[object Object]",Fs=Object.prototype.hasOwnProperty;var zs=function(t,e,r,n,o,i){var a=Ps(t),s=Ps(e),c=a?xs:Is(t),u=s?xs:Is(e),f=(c=c==Ts?Us:c)==Us,l=(u=u==Ts?Us:u)==Us,h=c==u;if(h&&Ls(t)){if(!Ls(e))return!1;a=!0,f=!1}if(h&&!f)return i||(i=new Ds),a||Cs(t)?Rs(t,e,r,n,o,i):ks(t,e,c,r,n,o,i);if(!(1&r)){var v=f&&Fs.call(t,"__wrapped__"),p=l&&Fs.call(e,"__wrapped__");if(v||p){var b=v?t.value():t,y=p?e.value():e;return i||(i=new Ds),o(b,y,r,n,i)}}return!!h&&(i||(i=new Ds),Ms(t,e,r,n,o,i))},Ws=Lt;var Bs=function t(e,r,n,o,i){return e===r||(null==e||null==r||!Ws(e)&&!Ws(r)?e!=e&&r!=r:zs(e,r,n,o,t,i))},Gs=to,$s=Bs;var Vs=E;var Xs=function(t){return t==t&&!Vs(t)},Ys=Xs,qs=Se;var Hs=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},Qs=function(t,e,r,n){var o=r.length,i=o,a=!n;if(null==t)return!i;for(t=Object(t);o--;){var s=r[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<i;){var c=(s=r[o])[0],u=t[c],f=s[1];if(a&&s[2]){if(void 0===u&&!(c in t))return!1}else{var l=new Gs;if(n)var h=n(u,f,c,t,e,l);if(!(void 0===h?$s(f,u,3,n,l):h))return!1}}return!0},Ks=function(t){for(var e=qs(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Ys(o)]}return e},Js=Hs;var Zs=Jr,tc=Bt,ec=Gt,rc=wt,nc=dt,oc=tn;var ic=function(t,e,r){for(var n=-1,o=(e=Zs(e,t)).length,i=!1;++n<o;){var a=oc(e[n]);if(!(i=null!=t&&r(t,a)))break;t=t[a]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&nc(o)&&rc(a,o)&&(ec(t)||tc(t))},ac=function(t,e){return null!=t&&e in Object(t)},sc=ic;var cc=function(t,e){return null!=t&&sc(t,e,ac)},uc=Bs,fc=sn,lc=cc,hc=Ue,vc=Xs,pc=Hs,bc=tn;var yc=function(t,e){return hc(t)&&vc(e)?pc(bc(t),e):function(r){var n=fc(r,t);return void 0===n&&n===e?lc(r,t):uc(e,n,3)}};var _c=nn;var dc=function(t){return function(e){return _c(e,t)}},gc=function(t){return function(e){return null==e?void 0:e[t]}},jc=dc,Oc=Ue,Sc=tn;var wc=function(t){return Oc(t)?gc(Sc(t)):jc(t)},Ac=function(t){var e=Ks(t);return 1==e.length&&e[0][2]?Js(e[0][0],e[0][1]):function(r){return r===t||Qs(r,t,e)}},Ec=yc,Nc=at,mc=Gt,Dc=wc;var Rc=function(t){return"function"==typeof t?t:null==t?Nc:"object"==typeof t?mc(t)?Ec(t[0],t[1]):Ac(t):Dc(t)};var kc=function(t){return function(e,r,n){for(var o=-1,i=Object(e),a=n(e),s=a.length;s--;){var c=a[t?s:++o];if(!1===r(i[c],c,i))break}return e}}(),Mc=Se;var Ic=Ot;var Pc=function(t,e){return function(r,n){if(null==r)return r;if(!Ic(r))return t(r,n);for(var o=r.length,i=e?o:-1,a=Object(r);(e?i--:++i<o)&&!1!==n(a[i],i,a););return r}}(function(t,e){return t&&kc(t,e,Mc)}),Lc=Ot;var Cc=zr,Tc=Rc,xc=function(t,e){var r=-1,n=Lc(t)?Array(t.length):[];return Pc(t,function(t,o,i){n[++r]=e(t,o,i)}),n},Uc=Gt;var Fc,zc=c(function(t,e){return(Uc(t)?Cc:xc)(t,Tc(e))});class Wc{instance;controller;constructor(t){this.controller=new AbortController,this.instance=o.create({baseURL:t,signal:this.controller.signal})}async getAccessToken(t,e){const r={license_number:t,token_value:e??""},n=await this.instance.post("/api/v1/license/agent_token",r).then(t=>cn(t.data,"token_value","")).catch(()=>null);if(null===n)throw new Error(an["網絡錯誤"]);if(""===n)throw new Error(an["獲取權杖失敗"]);return n}async getProjectList(t){const e=await this.instance.post("/api/v1/license/projects",{license_number:t}).then(t=>zc(cn(t,"data.projects",[]),({id:t,sub_project_name:e})=>({id:t,name:e}))).catch(t=>null);if(null===e)throw new Error(an["網絡錯誤"]);if(0===e.length)throw new Error(an["沒有可用專案"]);return e}onDestory(){this.controller.abort()}}!function(t){t[t.MDN_NORMAL_CLOSURE=1e3]="MDN_NORMAL_CLOSURE",t[t.MDN_GOING_AWAY=1001]="MDN_GOING_AWAY",t[t.MDN_PROTOCOL_ERROR=1002]="MDN_PROTOCOL_ERROR",t[t.MDN_UNSUPPORTED_DATA=1003]="MDN_UNSUPPORTED_DATA",t[t.MDN_RESERVED_1004=1004]="MDN_RESERVED_1004",t[t.MDN_NO_STATUS_RECEIVED=1005]="MDN_NO_STATUS_RECEIVED",t[t.MDN_ABNORMAL_CLOSURE=1006]="MDN_ABNORMAL_CLOSURE",t[t.MDN_INVALID_FRAME_PAYLOAD=1007]="MDN_INVALID_FRAME_PAYLOAD",t[t.MDN_POLICY_VIOLATION=1008]="MDN_POLICY_VIOLATION",t[t.MDN_MESSAGE_TOO_BIG=1009]="MDN_MESSAGE_TOO_BIG",t[t.MDN_MANDATORY_EXTENSION=1010]="MDN_MANDATORY_EXTENSION",t[t.MDN_INTERNAL_ERROR=1011]="MDN_INTERNAL_ERROR",t[t.MDN_SERVICE_RESTART=1012]="MDN_SERVICE_RESTART",t[t.MDN_TRY_AGAIN_LATER=1013]="MDN_TRY_AGAIN_LATER",t[t.MDN_BAD_GATEWAY=1014]="MDN_BAD_GATEWAY",t[t.MDN_TLS_HANDSHAKE=1015]="MDN_TLS_HANDSHAKE",t[t.MANUAL_CLOSE=4001]="MANUAL_CLOSE",t[t.WS_5000_NORAML_CLOSURE=5e3]="WS_5000_NORAML_CLOSURE",t[t.WS_5001_UNAUTHORIZED=5001]="WS_5001_UNAUTHORIZED",t[t.WS_5002_LICENSE_EXPIRED=5002]="WS_5002_LICENSE_EXPIRED",t[t.WS_5003_TOKEN_EXPIRED=5003]="WS_5003_TOKEN_EXPIRED"}(Fc||(Fc={}));class Bc{socket;messageSub;startLinkSub;destorySub;closeSub;get message(){return this.messageSub.asObservable()}get close(){return this.closeSub.asObservable()}get startLink(){return this.startLinkSub.asObservable()}messageQueue=[];isConnected;isStart;constructor(){this.isConnected=!1,this.isStart=!1,this.messageSub=new n.Subject,this.startLinkSub=new n.Subject,this.closeSub=new n.Subject,this.destorySub=new n.Subject}start(t){this.isStart=!0,this.socket=new a(t),Wn.info("Proxy to",t),n.fromEvent(this.socket,"open").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{this.isConnected=!0,this.startLinkSub.next(),Wn.info("Proxy startup"),this.flushMessageQueue()}),n.fromEvent(this.socket,"message").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{const{data:e}=t;this.messageSub.next(e)}),n.fromEvent(this.socket,"error").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{const{error:e}=t;Wn.error("Proxy has some problem",e)}),n.fromEvent(this.socket,"close").pipe(n.takeUntil(this.destorySub)).subscribe(t=>{this.isConnected=!1;const{code:e}=t;switch(Wn.error("Proxy closed",{code:e}),e){case Fc.MANUAL_CLOSE:Wn.info("MANUAL_CLOSE stop emit event and reconnecting");break;case Fc.WS_5000_NORAML_CLOSURE:case Fc.MDN_NORMAL_CLOSURE:case Fc.MDN_GOING_AWAY:this.closeSub.next("close"),Wn.info("Safe close connection");break;case Fc.MDN_NO_STATUS_RECEIVED:case Fc.MDN_ABNORMAL_CLOSURE:this.closeSub.next("close"),Wn.error("Cloud disconnect");break;case Fc.WS_5001_UNAUTHORIZED:case Fc.WS_5002_LICENSE_EXPIRED:this.closeSub.next("no_permissions"),Wn.error("Please contact Graphen");break;case Fc.WS_5003_TOKEN_EXPIRED:this.closeSub.next("reconnect");break;default:this.closeSub.next("close"),Wn.warn("Other status always close connection")}})}flushMessageQueue(){for(;this.messageQueue.length>0&&this.isConnected;){const t=this.messageQueue.shift();t&&this.socket.send(t)}}send(t){this.isConnected?this.socket.send(t):this.messageQueue.push(t)}onManualClose(){this.isStart&&this.socket?.close(Fc.MANUAL_CLOSE)}onDestory(){this.destorySub.next(),this.destorySub.complete()}}class Gc{sdk;server;get url(){return this.sdk.config.endPoint.socket}get port(){return this.sdk.config.port}get webserver(){return this.sdk.config.webserver}constructor(t){this.sdk=t}start(){this.server=new i.Server(this.webserver,{cors:{origin:"*"}}),this.server.on("connection",t=>{const e=new n.Subject;let r=(o=t.handshake.query.uuid,$t(o)?cn(o,"[0]",void 0):o??void 0);var o;const i=new Bc;void 0===r?(this.sdk.getProjectList().then(e=>{t.emit("list",e)}),n.fromEvent(t,"uuid").pipe(n.take(1),n.takeUntil(e)).subscribe(n=>{r=n,this.openChannel(r,t,i,e)})):this.openChannel(r,t,i,e),t.on("disconnect",t=>{e.next(),e.complete(),Wn.info(t)})}),void 0===this.webserver&&this.server.listen(this.port)}openChannel(t,e,r,o){n.fromEvent(e,"cloud").pipe(n.takeUntil(o)).subscribe(t=>{r.send(t)}),r.message.pipe(n.takeUntil(o)).subscribe(t=>{e.emit("cloud",t)}),r.close.pipe(n.takeUntil(o)).subscribe(async n=>{switch(n){case"close":case"no_permissions":e.emit("channel",n),r.onDestory();break;case"reconnect":await this.sdk.replaceAccessToken(),r.start(this.getProxySocketURL(t))}}),r.startLink.pipe(n.takeUntil(o)).subscribe(()=>{e.emit("channel","open")}),r.start(this.getProxySocketURL(t))}getProxySocketURL(t){return`${this.url}/v1/chat/project/${this.sdk.accessToken}/${t}`}onDestory(){this.server&&this.server.close()}}class $c{config;stroage;apiProxy;chat;isStart;destorySub;get destoryObs(){return this.destorySub.asObservable()}access_token;get accessToken(){return this.access_token}constructor(t,e){this.config=t,this.stroage=e,this.isStart=!1,this.destorySub=new n.Subject,this.access_token=e.getItemSync(un),this.apiProxy=new Wc(this.config.endPoint.api),Wn.info("[Initialize] proxy is finished"),this.chat=new Gc(this),Wn.info("[Initialize] chat is finished","Start at PORT:",this.config.port)}async start(){if(this.isStart)throw new Error(an["重複初始化"]);this.isStart=!0,await this.replaceAccessToken(),this.chat.start(),Wn.info("Chat service startup")}async replaceAccessToken(){const t=await this.apiProxy.getAccessToken(this.config.license,this.access_token);return this.access_token=t,this.stroage.setItemSync(un,t),t}async getProjectList(){return await this.apiProxy.getProjectList(this.config.license)}onDestory(){this.apiProxy.onDestory(),this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete(),Wn.info("[Destory] core module done")}}exports.aiiaCore=function(t){if(fn){if(void 0===cn(t,"license",void 0))throw new Error(an["未提供憑證"]);Wn.info("Initialize necessary modules");const e=new ln(ke({},t));Bn(e.debug),Wn.info("[Initialize] config finished");const r=new cs;Wn.info("[Initialize] storage finished");const n=new $c(e,r);return Wn.info("[Initialize] core finished"),n.start(),Wn.info("Service startup"),()=>{n.onDestory()}}throw new Error(an["環境錯誤(nodejs)"])};
package/dist/node.d.ts CHANGED
@@ -8,9 +8,9 @@ import type { Server as Server_2 } from 'https';
8
8
  * @param options
9
9
  * @returns method of clean for service
10
10
  */
11
- export declare function aiiaCore(options?: Omit<InitOptions, "project" | "ws_url" | "worklet_url">): () => void;
11
+ export declare function aiiaCore(options?: NodeInitOptions): () => void;
12
12
 
13
- declare interface AiiaProjectItem {
13
+ export declare interface AiiaProjectItem {
14
14
  id: string;
15
15
  name: string;
16
16
  }
@@ -84,4 +84,6 @@ declare interface InitOptions {
84
84
  debug?: boolean | "all" | "none" | ("info" | "error" | "warn")[];
85
85
  }
86
86
 
87
+ export declare type NodeInitOptions = Omit<InitOptions, "project" | "ws_url" | "worklet_url">;
88
+
87
89
  export { }
package/dist/node.mjs CHANGED
@@ -1 +1 @@
1
- import t from"fs";import e from"os";import r from"path";import{Subject as n,fromEvent as o,takeUntil as i,take as a}from"rxjs";import s from"axios";import{Server as c}from"socket.io";import u from"ws";var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var h="object"==typeof f&&f&&f.Object===Object&&f,v=h,p="object"==typeof self&&self&&self.Object===Object&&self,b=v||p||Function("return this")(),y=b.Symbol,_=y,d=Object.prototype,g=d.hasOwnProperty,O=d.toString,j=_?_.toStringTag:void 0;var w=function(t){var e=g.call(t,j),r=t[j];try{t[j]=void 0;var n=!0}catch(t){}var o=O.call(t);return n&&(e?t[j]=r:delete t[j]),o},S=Object.prototype.toString;var A=w,E=function(t){return S.call(t)},m=y?y.toStringTag:void 0;var N=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":m&&m in Object(t)?A(t):E(t)};var D=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},R=N,M=D;var I,k=function(t){if(!M(t))return!1;var e=R(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},L=b["__core-js_shared__"],P=(I=/[^.]+$/.exec(L&&L.keys&&L.keys.IE_PROTO||""))?"Symbol(src)_1."+I:"";var C=function(t){return!!P&&P in t},x=Function.prototype.toString;var T=function(t){if(null!=t){try{return x.call(t)}catch(t){}try{return t+""}catch(t){}}return""},U=k,F=C,z=D,W=T,B=/^\[object .+?Constructor\]$/,G=Function.prototype,$=Object.prototype,V=G.toString,X=$.hasOwnProperty,Y=RegExp("^"+V.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var H=function(t){return!(!z(t)||F(t))&&(U(t)?Y:B).test(W(t))},Q=function(t,e){return null==t?void 0:t[e]};var K=function(t,e){var r=Q(t,e);return H(r)?r:void 0},J=K,q=function(){try{var t=J(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Z=q;var tt=function(t,e,r){"__proto__"==e&&Z?Z(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var et=function(t,e){return t===e||t!=t&&e!=e},rt=tt,nt=et,ot=Object.prototype.hasOwnProperty;var it=function(t,e,r){var n=t[e];ot.call(t,e)&&nt(n,r)&&(void 0!==r||e in t)||rt(t,e,r)},at=it,st=tt;var ct=function(t,e,r,n){var o=!r;r||(r={});for(var i=-1,a=e.length;++i<a;){var s=e[i],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),o?st(r,s,c):at(r,s,c)}return r};var ut=function(t){return t};var ft=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},lt=Math.max;var ht=function(t,e,r){return e=lt(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,i=lt(n.length-e,0),a=Array(i);++o<i;)a[o]=n[e+o];o=-1;for(var s=Array(e+1);++o<e;)s[o]=n[o];return s[e]=r(a),ft(t,this,s)}};var vt=function(t){return function(){return t}},pt=q,bt=pt?function(t,e){return pt(t,"toString",{configurable:!0,enumerable:!1,value:vt(e),writable:!0})}:ut,yt=Date.now;var _t=function(t){var e=0,r=0;return function(){var n=yt(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(bt),dt=ut,gt=ht,Ot=_t;var jt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},wt=k,St=jt;var At=function(t){return null!=t&&St(t.length)&&!wt(t)},Et=/^(?:0|[1-9]\d*)$/;var mt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Et.test(t))&&t>-1&&t%1==0&&t<e},Nt=et,Dt=At,Rt=mt,Mt=D;var It=function(t,e){return Ot(gt(t,e,dt),t+"")},kt=function(t,e,r){if(!Mt(r))return!1;var n=typeof e;return!!("number"==n?Dt(r)&&Rt(e,r.length):"string"==n&&e in r)&&Nt(r[e],t)};var Lt=function(t){return It(function(e,r){var n=-1,o=r.length,i=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(o--,i):void 0,a&&kt(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),e=Object(e);++n<o;){var s=r[n];s&&t(e,s,n,i)}return e})},Pt=Object.prototype;var Ct=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Pt)};var xt=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var Tt=function(t){return null!=t&&"object"==typeof t},Ut=N,Ft=Tt;var zt=function(t){return Ft(t)&&"[object Arguments]"==Ut(t)},Wt=Tt,Bt=Object.prototype,Gt=Bt.hasOwnProperty,$t=Bt.propertyIsEnumerable,Vt=zt(function(){return arguments}())?zt:function(t){return Wt(t)&&Gt.call(t,"callee")&&!$t.call(t,"callee")},Xt=Array.isArray,Yt=l(Xt),Ht={exports:{}};var Qt=function(){return!1};!function(t,e){var r=b,n=Qt,o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,s=(a?a.isBuffer:void 0)||n;t.exports=s}(Ht,Ht.exports);var Kt=Ht.exports,Jt=N,qt=jt,Zt=Tt,te={};te["[object Float32Array]"]=te["[object Float64Array]"]=te["[object Int8Array]"]=te["[object Int16Array]"]=te["[object Int32Array]"]=te["[object Uint8Array]"]=te["[object Uint8ClampedArray]"]=te["[object Uint16Array]"]=te["[object Uint32Array]"]=!0,te["[object Arguments]"]=te["[object Array]"]=te["[object ArrayBuffer]"]=te["[object Boolean]"]=te["[object DataView]"]=te["[object Date]"]=te["[object Error]"]=te["[object Function]"]=te["[object Map]"]=te["[object Number]"]=te["[object Object]"]=te["[object RegExp]"]=te["[object Set]"]=te["[object String]"]=te["[object WeakMap]"]=!1;var ee=function(t){return Zt(t)&&qt(t.length)&&!!te[Jt(t)]};var re=function(t){return function(e){return t(e)}},ne={exports:{}};!function(t,e){var r=h,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n&&r.process,a=function(){try{var t=o&&o.require&&o.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=a}(ne,ne.exports);var oe=ne.exports,ie=ee,ae=re,se=oe&&oe.isTypedArray,ce=se?ae(se):ie,ue=xt,fe=Vt,le=Xt,he=Kt,ve=mt,pe=ce,be=Object.prototype.hasOwnProperty;var ye=function(t,e){var r=le(t),n=!r&&fe(t),o=!r&&!n&&he(t),i=!r&&!n&&!o&&pe(t),a=r||n||o||i,s=a?ue(t.length,String):[],c=s.length;for(var u in t)!e&&!be.call(t,u)||a&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ve(u,c))||s.push(u);return s};var _e=function(t,e){return function(r){return t(e(r))}},de=_e(Object.keys,Object),ge=Ct,Oe=de,je=Object.prototype.hasOwnProperty;var we=ye,Se=function(t){if(!ge(t))return Oe(t);var e=[];for(var r in Object(t))je.call(t,r)&&"constructor"!=r&&e.push(r);return e},Ae=At;var Ee=function(t){return Ae(t)?we(t):Se(t)},me=it,Ne=ct,De=Lt,Re=At,Me=Ct,Ie=Ee,ke=Object.prototype.hasOwnProperty,Le=l(De(function(t,e){if(Me(e)||Re(e))Ne(e,Ie(e),t);else for(var r in e)ke.call(e,r)&&me(t,r,e[r])})),Pe=N,Ce=Tt;var xe=function(t){return"symbol"==typeof t||Ce(t)&&"[object Symbol]"==Pe(t)},Te=Xt,Ue=xe,Fe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ze=/^\w*$/;var We=function(t,e){if(Te(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Ue(t))||(ze.test(t)||!Fe.test(t)||null!=e&&t in Object(e))},Be=K(Object,"create"),Ge=Be;var $e=function(){this.__data__=Ge?Ge(null):{},this.size=0};var Ve=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Xe=Be,Ye=Object.prototype.hasOwnProperty;var He=function(t){var e=this.__data__;if(Xe){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Ye.call(e,t)?e[t]:void 0},Qe=Be,Ke=Object.prototype.hasOwnProperty;var Je=Be;var qe=$e,Ze=Ve,tr=He,er=function(t){var e=this.__data__;return Qe?void 0!==e[t]:Ke.call(e,t)},rr=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Je&&void 0===e?"__lodash_hash_undefined__":e,this};function nr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}nr.prototype.clear=qe,nr.prototype.delete=Ze,nr.prototype.get=tr,nr.prototype.has=er,nr.prototype.set=rr;var or=nr;var ir=function(){this.__data__=[],this.size=0},ar=et;var sr=function(t,e){for(var r=t.length;r--;)if(ar(t[r][0],e))return r;return-1},cr=sr,ur=Array.prototype.splice;var fr=sr;var lr=sr;var hr=sr;var vr=ir,pr=function(t){var e=this.__data__,r=cr(e,t);return!(r<0)&&(r==e.length-1?e.pop():ur.call(e,r,1),--this.size,!0)},br=function(t){var e=this.__data__,r=fr(e,t);return r<0?void 0:e[r][1]},yr=function(t){return lr(this.__data__,t)>-1},_r=function(t,e){var r=this.__data__,n=hr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function dr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}dr.prototype.clear=vr,dr.prototype.delete=pr,dr.prototype.get=br,dr.prototype.has=yr,dr.prototype.set=_r;var gr=dr,Or=K(b,"Map"),jr=or,wr=gr,Sr=Or;var Ar=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var Er=function(t,e){var r=t.__data__;return Ar(e)?r["string"==typeof e?"string":"hash"]:r.map},mr=Er;var Nr=Er;var Dr=Er;var Rr=Er;var Mr=function(){this.size=0,this.__data__={hash:new jr,map:new(Sr||wr),string:new jr}},Ir=function(t){var e=mr(this,t).delete(t);return this.size-=e?1:0,e},kr=function(t){return Nr(this,t).get(t)},Lr=function(t){return Dr(this,t).has(t)},Pr=function(t,e){var r=Rr(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Cr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Cr.prototype.clear=Mr,Cr.prototype.delete=Ir,Cr.prototype.get=kr,Cr.prototype.has=Lr,Cr.prototype.set=Pr;var xr=Cr,Tr=xr;function Ur(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(Ur.Cache||Tr),r}Ur.Cache=Tr;var Fr=Ur;var zr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Wr=/\\(\\)?/g,Br=function(t){var e=Fr(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(zr,function(t,r,n,o){e.push(n?o.replace(Wr,"$1"):r||t)}),e});var Gr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},$r=Gr,Vr=Xt,Xr=xe,Yr=y?y.prototype:void 0,Hr=Yr?Yr.toString:void 0;var Qr=function t(e){if("string"==typeof e)return e;if(Vr(e))return $r(e,t)+"";if(Xr(e))return Hr?Hr.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},Kr=Qr;var Jr=Xt,qr=We,Zr=Br,tn=function(t){return null==t?"":Kr(t)};var en=function(t,e){return Jr(t)?t:qr(t,e)?[t]:Zr(tn(t))},rn=xe;var nn=function(t){if("string"==typeof t||rn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},on=en,an=nn;var sn=function(t,e){for(var r=0,n=(e=on(e,t)).length;null!=t&&r<n;)t=t[an(e[r++])];return r&&r==n?t:void 0},cn=sn;var un,fn=function(t,e,r){var n=null==t?void 0:cn(t,e);return void 0===n?r:n},ln=l(fn);!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(un||(un={}));const hn="access_token",vn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;class pn{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=Le({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:Le({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var bn=function(t,e,r,n){for(var o=t.length,i=r+(n?1:-1);n?i--:++i<o;)if(e(t[i],i,t))return i;return-1},yn=function(t){return t!=t},_n=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var dn=N,gn=Xt,On=Tt;var jn=/\s/;var wn=function(t){for(var e=t.length;e--&&jn.test(t.charAt(e)););return e},Sn=/^\s+/;var An=function(t){return t?t.slice(0,wn(t)+1).replace(Sn,""):t},En=D,mn=xe,Nn=/^[-+]0x[0-9a-f]+$/i,Dn=/^0b[01]+$/i,Rn=/^0o[0-7]+$/i,Mn=parseInt;var In=function(t){if("number"==typeof t)return t;if(mn(t))return NaN;if(En(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=En(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=An(t);var r=Dn.test(t);return r||Rn.test(t)?Mn(t.slice(2),r?2:8):Nn.test(t)?NaN:+t},kn=1/0;var Ln=function(t){return t?(t=In(t))===kn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Pn=Gr;var Cn=function(t,e){return Pn(e,function(e){return t[e]})},xn=Ee;var Tn=function(t,e,r){return e==e?_n(t,e,r):bn(t,yn,r)},Un=At,Fn=function(t){return"string"==typeof t||!gn(t)&&On(t)&&"[object String]"==dn(t)},zn=function(t){var e=Ln(t),r=e%1;return e==e?r?e-r:e:0},Wn=function(t){return null==t?[]:Cn(t,xn(t))},Bn=Math.max;var Gn=l(function(t,e,r,n){t=Un(t)?t:Wn(t),r=r&&!n?zn(r):0;var o=t.length;return r<0&&(r=Bn(o+r,0)),Fn(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&Tn(t,e,r)>-1});const $n={info:()=>{},error:()=>{},warn:()=>{}};function Vn(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:Gn(t,"error"),warn:Gn(t,"warn"),info:Gn(t,"info")}}(t);e&&($n.info=console.log),r&&($n.error=console.error),n&&($n.warn=console.warn)}var Xn=gr;var Yn=gr,Hn=Or,Qn=xr;var Kn=gr,Jn=function(){this.__data__=new Xn,this.size=0},qn=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Zn=function(t){return this.__data__.get(t)},to=function(t){return this.__data__.has(t)},eo=function(t,e){var r=this.__data__;if(r instanceof Yn){var n=r.__data__;if(!Hn||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Qn(n)}return r.set(t,e),this.size=r.size,this};function ro(t){var e=this.__data__=new Kn(t);this.size=e.size}ro.prototype.clear=Jn,ro.prototype.delete=qn,ro.prototype.get=Zn,ro.prototype.has=to,ro.prototype.set=eo;var no=ro;var oo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t},io=ct,ao=Ee;var so=function(t,e){return t&&io(e,ao(e),t)};var co=D,uo=Ct,fo=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e},lo=Object.prototype.hasOwnProperty;var ho=ye,vo=function(t){if(!co(t))return fo(t);var e=uo(t),r=[];for(var n in t)("constructor"!=n||!e&&lo.call(t,n))&&r.push(n);return r},po=At;var bo=function(t){return po(t)?ho(t,!0):vo(t)},yo=ct,_o=bo;var go=function(t,e){return t&&yo(e,_o(e),t)},Oo={exports:{}};!function(t,e){var r=b,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n?r.Buffer:void 0,a=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=a?a(r):new t.constructor(r);return t.copy(n),n}}(Oo,Oo.exports);var jo=Oo.exports;var wo=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e};var So=function(){return[]},Ao=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var a=t[r];e(a,r,t)&&(i[o++]=a)}return i},Eo=So,mo=Object.prototype.propertyIsEnumerable,No=Object.getOwnPropertySymbols,Do=No?function(t){return null==t?[]:(t=Object(t),Ao(No(t),function(e){return mo.call(t,e)}))}:Eo,Ro=ct,Mo=Do;var Io=function(t,e){return Ro(t,Mo(t),e)};var ko=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},Lo=_e(Object.getPrototypeOf,Object),Po=ko,Co=Lo,xo=Do,To=So,Uo=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Po(e,xo(t)),t=Co(t);return e}:To,Fo=ct,zo=Uo;var Wo=function(t,e){return Fo(t,zo(t),e)},Bo=ko,Go=Xt;var $o=function(t,e,r){var n=e(t);return Go(t)?n:Bo(n,r(t))},Vo=$o,Xo=Do,Yo=Ee;var Ho=function(t){return Vo(t,Yo,Xo)},Qo=$o,Ko=Uo,Jo=bo;var qo=function(t){return Qo(t,Jo,Ko)},Zo=K(b,"DataView"),ti=Or,ei=K(b,"Promise"),ri=K(b,"Set"),ni=K(b,"WeakMap"),oi=N,ii=T,ai="[object Map]",si="[object Promise]",ci="[object Set]",ui="[object WeakMap]",fi="[object DataView]",li=ii(Zo),hi=ii(ti),vi=ii(ei),pi=ii(ri),bi=ii(ni),yi=oi;(Zo&&yi(new Zo(new ArrayBuffer(1)))!=fi||ti&&yi(new ti)!=ai||ei&&yi(ei.resolve())!=si||ri&&yi(new ri)!=ci||ni&&yi(new ni)!=ui)&&(yi=function(t){var e=oi(t),r="[object Object]"==e?t.constructor:void 0,n=r?ii(r):"";if(n)switch(n){case li:return fi;case hi:return ai;case vi:return si;case pi:return ci;case bi:return ui}return e});var _i=yi,di=Object.prototype.hasOwnProperty;var gi=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&di.call(t,"index")&&(r.index=t.index,r.input=t.input),r},Oi=b.Uint8Array,ji=Oi;var wi=function(t){var e=new t.constructor(t.byteLength);return new ji(e).set(new ji(t)),e},Si=wi;var Ai=function(t,e){var r=e?Si(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)},Ei=/\w*$/;var mi=function(t){var e=new t.constructor(t.source,Ei.exec(t));return e.lastIndex=t.lastIndex,e},Ni=y?y.prototype:void 0,Di=Ni?Ni.valueOf:void 0;var Ri=wi;var Mi=wi,Ii=Ai,ki=mi,Li=function(t){return Di?Object(Di.call(t)):{}},Pi=function(t,e){var r=e?Ri(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)};var Ci=function(t,e,r){var n=t.constructor;switch(e){case"[object ArrayBuffer]":return Mi(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return Ii(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Pi(t,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return ki(t);case"[object Symbol]":return Li(t)}},xi=D,Ti=Object.create,Ui=function(){function t(){}return function(e){if(!xi(e))return{};if(Ti)return Ti(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Fi=Lo,zi=Ct;var Wi=function(t){return"function"!=typeof t.constructor||zi(t)?{}:Ui(Fi(t))},Bi=_i,Gi=Tt;var $i=function(t){return Gi(t)&&"[object Map]"==Bi(t)},Vi=re,Xi=oe&&oe.isMap,Yi=Xi?Vi(Xi):$i,Hi=_i,Qi=Tt;var Ki=function(t){return Qi(t)&&"[object Set]"==Hi(t)},Ji=re,qi=oe&&oe.isSet,Zi=qi?Ji(qi):Ki,ta=no,ea=oo,ra=it,na=so,oa=go,ia=jo,aa=wo,sa=Io,ca=Wo,ua=Ho,fa=qo,la=_i,ha=gi,va=Ci,pa=Wi,ba=Xt,ya=Kt,_a=Yi,da=D,ga=Zi,Oa=Ee,ja=bo,wa="[object Arguments]",Sa="[object Function]",Aa="[object Object]",Ea={};Ea[wa]=Ea["[object Array]"]=Ea["[object ArrayBuffer]"]=Ea["[object DataView]"]=Ea["[object Boolean]"]=Ea["[object Date]"]=Ea["[object Float32Array]"]=Ea["[object Float64Array]"]=Ea["[object Int8Array]"]=Ea["[object Int16Array]"]=Ea["[object Int32Array]"]=Ea["[object Map]"]=Ea["[object Number]"]=Ea[Aa]=Ea["[object RegExp]"]=Ea["[object Set]"]=Ea["[object String]"]=Ea["[object Symbol]"]=Ea["[object Uint8Array]"]=Ea["[object Uint8ClampedArray]"]=Ea["[object Uint16Array]"]=Ea["[object Uint32Array]"]=!0,Ea["[object Error]"]=Ea[Sa]=Ea["[object WeakMap]"]=!1;var ma=function t(e,r,n,o,i,a){var s,c=1&r,u=2&r,f=4&r;if(n&&(s=i?n(e,o,i,a):n(e)),void 0!==s)return s;if(!da(e))return e;var l=ba(e);if(l){if(s=ha(e),!c)return aa(e,s)}else{var h=la(e),v=h==Sa||"[object GeneratorFunction]"==h;if(ya(e))return ia(e,c);if(h==Aa||h==wa||v&&!i){if(s=u||v?{}:pa(e),!c)return u?ca(e,oa(s,e)):sa(e,na(s,e))}else{if(!Ea[h])return i?e:{};s=va(e,h,c)}}a||(a=new ta);var p=a.get(e);if(p)return p;a.set(e,s),ga(e)?e.forEach(function(o){s.add(t(o,r,n,o,e,a))}):_a(e)&&e.forEach(function(o,i){s.set(i,t(o,r,n,i,e,a))});var b=l?void 0:(f?u?fa:ua:u?ja:Oa)(e);return ea(b||e,function(o,i){b&&(o=e[i=o]),ra(s,i,t(o,r,n,i,e,a))}),s};var Na=sn,Da=function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+e];return i};var Ra=function(t,e){return e.length<2?t:Na(t,Da(e,0,-1))},Ma=en,Ia=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0},ka=Ra,La=nn;var Pa=function(t,e){return e=Ma(e,t),null==(t=ka(t,e))||delete t[La(Ia(e))]},Ca=N,xa=Lo,Ta=Tt,Ua=Function.prototype,Fa=Object.prototype,za=Ua.toString,Wa=Fa.hasOwnProperty,Ba=za.call(Object);var Ga=function(t){if(!Ta(t)||"[object Object]"!=Ca(t))return!1;var e=xa(t);if(null===e)return!0;var r=Wa.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&za.call(r)==Ba};var $a=function(t){return Ga(t)?void 0:t},Va=Vt,Xa=Xt,Ya=y?y.isConcatSpreadable:void 0;var Ha=ko,Qa=function(t){return Xa(t)||Va(t)||!!(Ya&&t&&t[Ya])};var Ka=function t(e,r,n,o,i){var a=-1,s=e.length;for(n||(n=Qa),i||(i=[]);++a<s;){var c=e[a];r>0&&n(c)?r>1?t(c,r-1,n,o,i):Ha(i,c):o||(i[i.length]=c)}return i},Ja=Ka;var qa=function(t){return(null==t?0:t.length)?Ja(t,1):[]},Za=ht,ts=_t;var es=Gr,rs=ma,ns=Pa,os=en,is=ct,as=$a,ss=qo,cs=function(t){return ts(Za(t,void 0,qa),t+"")}(function(t,e){var r={};if(null==t)return r;var n=!1;e=es(e,function(e){return e=os(e,t),n||(n=e.length>1),e}),is(t,ss(t),r),n&&(r=rs(r,7,as));for(var o=e.length;o--;)ns(r,e[o]);return r}),us=l(cs);const fs=new class{AppName;platform;isMAC;isWIN;isLINUX;saveFolder;homedir;appFolder;constructor(t){switch(this.AppName=t,this.platform=process.platform,this.homedir=e.homedir(),this.platform){case"darwin":this.isMAC=!0,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=r.join(this.homedir,"Library","Application Support");break;case"win32":this.isMAC=!1,this.isWIN=!0,this.isLINUX=!1,this.saveFolder=process.env.APPDATA||r.join(this.homedir,"AppData","Roaming");break;case"linux":this.isMAC=!1,this.isWIN=!1,this.isLINUX=!0,this.saveFolder=process.env.XDG_CONFIG_HOME||r.join(this.homedir,".config");break;default:console.log(`當前系統是未知的平台: ${this.platform}`),this.isMAC=!1,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=this.homedir}this.appFolder=r.join(this.saveFolder,this.AppName),this.folderCheck(this.appFolder)}addPath(...t){return r.join(...t)}folderCheck(e){t.mkdirSync(e,{recursive:!0})}fileCheck(e){t.existsSync(e)||t.writeFileSync(e,"",{encoding:"utf8"})}}("aiia-sdk");class ls{type="node";filePath;fileName;constructor(){this.fileName="storage.json",this.filePath=fs.addPath(fs.appFolder,this.fileName),fs.fileCheck(this.filePath)}getFileDataSync(){const e=t.readFileSync(this.filePath,"utf8");try{return JSON.parse(e)}catch(t){return{}}}setFileDataSync(e){try{const r=JSON.stringify(e);t.writeFileSync(this.filePath,r,"utf8")}catch(t){}}async getFileData(){return new Promise(e=>{t.readFile(this.filePath,"utf8",(t,r)=>{if(t)e({});else try{e(JSON.parse(r))}catch(t){e({})}})})}async setFileData(e){return new Promise(r=>{try{const n=JSON.stringify(e);t.writeFile(this.filePath,n,"utf8",t=>{r()})}catch(t){}})}async getItem(t){return(await this.getFileData())[t]??null}async setItem(t,e){const r=await this.getFileData();r[t]=e,await this.setFileData(r)}async removeItem(t){const e=await this.getFileData(),r=us(e,t);await this.setFileData(r)}async clear(){await this.setFileData({})}getItemSync(t){return this.getFileDataSync()[t]??null}setItemSync(t,e){const r=this.getFileDataSync();r[t]=e,this.setFileDataSync(r)}removeItemSync(t){const e=us(this.getFileDataSync(),t);this.setFileDataSync(e)}clearSync(){this.setFileDataSync({})}}var hs=xr,vs=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ps=function(t){return this.__data__.has(t)};function bs(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new hs;++e<r;)this.add(t[e])}bs.prototype.add=bs.prototype.push=vs,bs.prototype.has=ps;var ys=bs,_s=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},ds=function(t,e){return t.has(e)};var gs=function(t,e,r,n,o,i){var a=1&r,s=t.length,c=e.length;if(s!=c&&!(a&&c>s))return!1;var u=i.get(t),f=i.get(e);if(u&&f)return u==e&&f==t;var l=-1,h=!0,v=2&r?new ys:void 0;for(i.set(t,e),i.set(e,t);++l<s;){var p=t[l],b=e[l];if(n)var y=a?n(b,p,l,e,t,i):n(p,b,l,t,e,i);if(void 0!==y){if(y)continue;h=!1;break}if(v){if(!_s(e,function(t,e){if(!ds(v,e)&&(p===t||o(p,t,r,n,i)))return v.push(e)})){h=!1;break}}else if(p!==b&&!o(p,b,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h};var Os=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var js=Oi,ws=et,Ss=gs,As=Os,Es=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},ms=y?y.prototype:void 0,Ns=ms?ms.valueOf:void 0;var Ds=function(t,e,r,n,o,i,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new js(t),new js(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ws(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=As;case"[object Set]":var c=1&n;if(s||(s=Es),t.size!=e.size&&!c)return!1;var u=a.get(t);if(u)return u==e;n|=2,a.set(t,e);var f=Ss(s(t),s(e),n,o,i,a);return a.delete(t),f;case"[object Symbol]":if(Ns)return Ns.call(t)==Ns.call(e)}return!1},Rs=Ho,Ms=Object.prototype.hasOwnProperty;var Is=no,ks=gs,Ls=Ds,Ps=function(t,e,r,n,o,i){var a=1&r,s=Rs(t),c=s.length;if(c!=Rs(e).length&&!a)return!1;for(var u=c;u--;){var f=s[u];if(!(a?f in e:Ms.call(e,f)))return!1}var l=i.get(t),h=i.get(e);if(l&&h)return l==e&&h==t;var v=!0;i.set(t,e),i.set(e,t);for(var p=a;++u<c;){var b=t[f=s[u]],y=e[f];if(n)var _=a?n(y,b,f,e,t,i):n(b,y,f,t,e,i);if(!(void 0===_?b===y||o(b,y,r,n,i):_)){v=!1;break}p||(p="constructor"==f)}if(v&&!p){var d=t.constructor,g=e.constructor;d==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof d&&d instanceof d&&"function"==typeof g&&g instanceof g||(v=!1)}return i.delete(t),i.delete(e),v},Cs=_i,xs=Xt,Ts=Kt,Us=ce,Fs="[object Arguments]",zs="[object Array]",Ws="[object Object]",Bs=Object.prototype.hasOwnProperty;var Gs=function(t,e,r,n,o,i){var a=xs(t),s=xs(e),c=a?zs:Cs(t),u=s?zs:Cs(e),f=(c=c==Fs?Ws:c)==Ws,l=(u=u==Fs?Ws:u)==Ws,h=c==u;if(h&&Ts(t)){if(!Ts(e))return!1;a=!0,f=!1}if(h&&!f)return i||(i=new Is),a||Us(t)?ks(t,e,r,n,o,i):Ls(t,e,c,r,n,o,i);if(!(1&r)){var v=f&&Bs.call(t,"__wrapped__"),p=l&&Bs.call(e,"__wrapped__");if(v||p){var b=v?t.value():t,y=p?e.value():e;return i||(i=new Is),o(b,y,r,n,i)}}return!!h&&(i||(i=new Is),Ps(t,e,r,n,o,i))},$s=Tt;var Vs=function t(e,r,n,o,i){return e===r||(null==e||null==r||!$s(e)&&!$s(r)?e!=e&&r!=r:Gs(e,r,n,o,t,i))},Xs=no,Ys=Vs;var Hs=D;var Qs=function(t){return t==t&&!Hs(t)},Ks=Qs,Js=Ee;var qs=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},Zs=function(t,e,r,n){var o=r.length,i=o,a=!n;if(null==t)return!i;for(t=Object(t);o--;){var s=r[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<i;){var c=(s=r[o])[0],u=t[c],f=s[1];if(a&&s[2]){if(void 0===u&&!(c in t))return!1}else{var l=new Xs;if(n)var h=n(u,f,c,t,e,l);if(!(void 0===h?Ys(f,u,3,n,l):h))return!1}}return!0},tc=function(t){for(var e=Js(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Ks(o)]}return e},ec=qs;var rc=en,nc=Vt,oc=Xt,ic=mt,ac=jt,sc=nn;var cc=function(t,e,r){for(var n=-1,o=(e=rc(e,t)).length,i=!1;++n<o;){var a=sc(e[n]);if(!(i=null!=t&&r(t,a)))break;t=t[a]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&ac(o)&&ic(a,o)&&(oc(t)||nc(t))},uc=function(t,e){return null!=t&&e in Object(t)},fc=cc;var lc=function(t,e){return null!=t&&fc(t,e,uc)},hc=Vs,vc=fn,pc=lc,bc=We,yc=Qs,_c=qs,dc=nn;var gc=function(t,e){return bc(t)&&yc(e)?_c(dc(t),e):function(r){var n=vc(r,t);return void 0===n&&n===e?pc(r,t):hc(e,n,3)}};var Oc=sn;var jc=function(t){return function(e){return Oc(e,t)}},wc=function(t){return function(e){return null==e?void 0:e[t]}},Sc=jc,Ac=We,Ec=nn;var mc=function(t){return Ac(t)?wc(Ec(t)):Sc(t)},Nc=function(t){var e=tc(t);return 1==e.length&&e[0][2]?ec(e[0][0],e[0][1]):function(r){return r===t||Zs(r,t,e)}},Dc=gc,Rc=ut,Mc=Xt,Ic=mc;var kc=function(t){return"function"==typeof t?t:null==t?Rc:"object"==typeof t?Mc(t)?Dc(t[0],t[1]):Nc(t):Ic(t)};var Lc=function(t){return function(e,r,n){for(var o=-1,i=Object(e),a=n(e),s=a.length;s--;){var c=a[t?s:++o];if(!1===r(i[c],c,i))break}return e}}(),Pc=Ee;var Cc=At;var xc=function(t,e){return function(r,n){if(null==r)return r;if(!Cc(r))return t(r,n);for(var o=r.length,i=e?o:-1,a=Object(r);(e?i--:++i<o)&&!1!==n(a[i],i,a););return r}}(function(t,e){return t&&Lc(t,e,Pc)}),Tc=At;var Uc=Gr,Fc=kc,zc=function(t,e){var r=-1,n=Tc(t)?Array(t.length):[];return xc(t,function(t,o,i){n[++r]=e(t,o,i)}),n},Wc=Xt;var Bc,Gc=l(function(t,e){return(Wc(t)?Uc:zc)(t,Fc(e))});class $c{instance;controller;constructor(t){this.controller=new AbortController,this.instance=s.create({baseURL:t,signal:this.controller.signal})}async getAccessToken(t,e){const r={license_number:t,token_value:e??""},n=await this.instance.post("/api/v1/license/agent_token",r).then(t=>ln(t.data,"token_value","")).catch(()=>null);if(null===n)throw new Error(un["網絡錯誤"]);if(""===n)throw new Error(un["獲取權杖失敗"]);return n}async getProjectList(t){const e=await this.instance.post("/api/v1/license/projects",{license_number:t}).then(t=>Gc(ln(t,"data.projects",[]),({id:t,sub_project_name:e})=>({id:t,name:e}))).catch(t=>null);if(null===e)throw new Error(un["網絡錯誤"]);if(0===e.length)throw new Error(un["沒有可用專案"]);return e}onDestory(){this.controller.abort()}}!function(t){t[t.MDN_NORMAL_CLOSURE=1e3]="MDN_NORMAL_CLOSURE",t[t.MDN_GOING_AWAY=1001]="MDN_GOING_AWAY",t[t.MDN_PROTOCOL_ERROR=1002]="MDN_PROTOCOL_ERROR",t[t.MDN_UNSUPPORTED_DATA=1003]="MDN_UNSUPPORTED_DATA",t[t.MDN_RESERVED_1004=1004]="MDN_RESERVED_1004",t[t.MDN_NO_STATUS_RECEIVED=1005]="MDN_NO_STATUS_RECEIVED",t[t.MDN_ABNORMAL_CLOSURE=1006]="MDN_ABNORMAL_CLOSURE",t[t.MDN_INVALID_FRAME_PAYLOAD=1007]="MDN_INVALID_FRAME_PAYLOAD",t[t.MDN_POLICY_VIOLATION=1008]="MDN_POLICY_VIOLATION",t[t.MDN_MESSAGE_TOO_BIG=1009]="MDN_MESSAGE_TOO_BIG",t[t.MDN_MANDATORY_EXTENSION=1010]="MDN_MANDATORY_EXTENSION",t[t.MDN_INTERNAL_ERROR=1011]="MDN_INTERNAL_ERROR",t[t.MDN_SERVICE_RESTART=1012]="MDN_SERVICE_RESTART",t[t.MDN_TRY_AGAIN_LATER=1013]="MDN_TRY_AGAIN_LATER",t[t.MDN_BAD_GATEWAY=1014]="MDN_BAD_GATEWAY",t[t.MDN_TLS_HANDSHAKE=1015]="MDN_TLS_HANDSHAKE",t[t.MANUAL_CLOSE=4001]="MANUAL_CLOSE",t[t.WS_5000_NORAML_CLOSURE=5e3]="WS_5000_NORAML_CLOSURE",t[t.WS_5001_UNAUTHORIZED=5001]="WS_5001_UNAUTHORIZED",t[t.WS_5002_LICENSE_EXPIRED=5002]="WS_5002_LICENSE_EXPIRED",t[t.WS_5003_TOKEN_EXPIRED=5003]="WS_5003_TOKEN_EXPIRED"}(Bc||(Bc={}));class Vc{socket;messageSub;startLinkSub;destorySub;closeSub;get message(){return this.messageSub.asObservable()}get close(){return this.closeSub.asObservable()}get startLink(){return this.startLinkSub.asObservable()}messageQueue=[];isConnected;isStart;constructor(){this.isConnected=!1,this.isStart=!1,this.messageSub=new n,this.startLinkSub=new n,this.closeSub=new n,this.destorySub=new n}start(t){this.isStart=!0,this.socket=new u(t),$n.info("Message proxy to"),o(this.socket,"open").pipe(i(this.destorySub)).subscribe(t=>{this.isConnected=!0,this.startLinkSub.next(),$n.info("Proxy startup"),this.flushMessageQueue()}),o(this.socket,"message").pipe(i(this.destorySub)).subscribe(t=>{const{data:e}=t;this.messageSub.next(e)}),o(this.socket,"error").pipe(i(this.destorySub)).subscribe(t=>{const{error:e}=t;$n.error("Proxy has some problem",e)}),o(this.socket,"close").pipe(i(this.destorySub)).subscribe(t=>{this.isConnected=!1;const{code:e}=t;switch($n.error("Proxy closed",{code:e}),e){case Bc.MANUAL_CLOSE:$n.info("MANUAL CLOSE connection and stop emit event");break;case Bc.WS_5000_NORAML_CLOSURE:case Bc.MDN_NORMAL_CLOSURE:case Bc.MDN_GOING_AWAY:this.closeSub.next("close"),$n.info("Safe close connection");break;case Bc.MDN_NO_STATUS_RECEIVED:case Bc.MDN_ABNORMAL_CLOSURE:this.closeSub.next("close"),$n.error("Cloud disconnect");break;case Bc.WS_5001_UNAUTHORIZED:case Bc.WS_5002_LICENSE_EXPIRED:this.closeSub.next("no_permissions"),$n.error("Please contact Graphen");break;case Bc.WS_5003_TOKEN_EXPIRED:this.closeSub.next("reconnect");break;default:this.closeSub.next("close"),$n.warn("Other status always close connection")}})}flushMessageQueue(){for(;this.messageQueue.length>0&&this.isConnected;){const t=this.messageQueue.shift();t&&this.socket.send(t)}}send(t){this.isConnected?this.socket.send(t):this.messageQueue.push(t)}onManualClose(t){this.isStart&&this.socket?.close(t)}onDestory(){this.destorySub.next(),this.destorySub.complete()}}class Xc{sdk;server;get url(){return this.sdk.config.endPoint.socket}get port(){return this.sdk.config.port}get webserver(){return this.sdk.config.webserver}constructor(t){this.sdk=t}start(){this.server=new c(this.webserver,{cors:{origin:"*"}}),this.server.on("connection",t=>{const e=new n;let r=(s=t.handshake.query.uuid,Yt(s)?ln(s,"[0]",void 0):s??void 0);var s;const c=new Vc;void 0===r?(this.sdk.getProjectList().then(e=>{t.emit("list",e)}),o(t,"uuid").pipe(a(1),i(e)).subscribe(n=>{r=n,this.openChannel(r,t,c,e)})):this.openChannel(r,t,c,e),t.on("disconnect",t=>{e.next(),e.complete(),$n.info(t)})}),void 0===this.webserver&&this.server.listen(this.port)}openChannel(t,e,r,n){o(e,"cloud").pipe(i(n)).subscribe(t=>{r.send(t)}),r.message.pipe(i(n)).subscribe(t=>{e.emit("cloud",t)}),r.close.pipe(i(n)).subscribe(async n=>{switch(n){case"close":case"no_permissions":r.onDestory(),e.emit("channel",n);break;case"reconnect":r.onManualClose(Bc.MANUAL_CLOSE),await this.sdk.replaceAccessToken(),r.start(this.getProxySocketURL(t))}}),r.startLink.pipe(i(n)).subscribe(()=>{e.emit("channel","open")}),r.start(this.getProxySocketURL(t))}getProxySocketURL(t){return`${this.url}/v1/chat/project/${this.sdk.access_token}/${t}`}onDestory(){this.server&&this.server.close()}}class Yc{config;stroage;apiProxy;chat;isStart;destorySub;get destoryObs(){return this.destorySub.asObservable()}access_token;constructor(t,e){this.config=t,this.stroage=e,this.isStart=!1,this.destorySub=new n,this.access_token=e.getItemSync(hn),this.apiProxy=new $c(this.config.endPoint.api),$n.info("[Initialize] proxy is finished"),this.chat=new Xc(this),$n.info("[Initialize] chat is finished","Start at PORT:",this.config.port)}async start(){if(this.isStart)throw new Error(un["重複初始化"]);await this.replaceAccessToken(),this.chat.start(),$n.info("Chat service startup")}async replaceAccessToken(){const t=await this.apiProxy.getAccessToken(this.config.license,this.access_token);return this.access_token=t,this.stroage.setItemSync(hn,t),t}async getProjectList(){return await this.apiProxy.getProjectList(this.config.license)}onDestory(){this.apiProxy.onDestory(),this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete(),$n.info("[Destory] core module done")}}function Hc(t){if(vn){if(void 0===ln(t,"license",void 0))throw new Error(un["未提供憑證"]);$n.info("Initialize necessary modules");const e=new pn(Le({},t));Vn(ln(t,"debug")),$n.info("[Initialize] config finished");const r=new ls;$n.info("[Initialize] storage finished");const n=new Yc(e,r);return $n.info("[Initialize] core finished"),n.start(),$n.info("Service startup"),()=>{n.onDestory()}}throw new Error(un["環境錯誤(nodejs)"])}export{Hc as aiiaCore};
1
+ import t from"fs";import e from"os";import r from"path";import{Subject as n,fromEvent as o,takeUntil as i,take as a}from"rxjs";import s from"axios";import{Server as c}from"socket.io";import u from"ws";var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var h="object"==typeof f&&f&&f.Object===Object&&f,v=h,p="object"==typeof self&&self&&self.Object===Object&&self,b=v||p||Function("return this")(),y=b.Symbol,_=y,d=Object.prototype,g=d.hasOwnProperty,O=d.toString,j=_?_.toStringTag:void 0;var w=function(t){var e=g.call(t,j),r=t[j];try{t[j]=void 0;var n=!0}catch(t){}var o=O.call(t);return n&&(e?t[j]=r:delete t[j]),o},S=Object.prototype.toString;var A=w,E=function(t){return S.call(t)},m=y?y.toStringTag:void 0;var N=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":m&&m in Object(t)?A(t):E(t)};var D=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},R=N,M=D;var I,k=function(t){if(!M(t))return!1;var e=R(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},P=b["__core-js_shared__"],L=(I=/[^.]+$/.exec(P&&P.keys&&P.keys.IE_PROTO||""))?"Symbol(src)_1."+I:"";var C=function(t){return!!L&&L in t},T=Function.prototype.toString;var x=function(t){if(null!=t){try{return T.call(t)}catch(t){}try{return t+""}catch(t){}}return""},U=k,F=C,z=D,W=x,B=/^\[object .+?Constructor\]$/,G=Function.prototype,$=Object.prototype,V=G.toString,X=$.hasOwnProperty,Y=RegExp("^"+V.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var H=function(t){return!(!z(t)||F(t))&&(U(t)?Y:B).test(W(t))},Q=function(t,e){return null==t?void 0:t[e]};var K=function(t,e){var r=Q(t,e);return H(r)?r:void 0},J=K,q=function(){try{var t=J(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Z=q;var tt=function(t,e,r){"__proto__"==e&&Z?Z(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};var et=function(t,e){return t===e||t!=t&&e!=e},rt=tt,nt=et,ot=Object.prototype.hasOwnProperty;var it=function(t,e,r){var n=t[e];ot.call(t,e)&&nt(n,r)&&(void 0!==r||e in t)||rt(t,e,r)},at=it,st=tt;var ct=function(t,e,r,n){var o=!r;r||(r={});for(var i=-1,a=e.length;++i<a;){var s=e[i],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),o?st(r,s,c):at(r,s,c)}return r};var ut=function(t){return t};var ft=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)},lt=Math.max;var ht=function(t,e,r){return e=lt(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,i=lt(n.length-e,0),a=Array(i);++o<i;)a[o]=n[e+o];o=-1;for(var s=Array(e+1);++o<e;)s[o]=n[o];return s[e]=r(a),ft(t,this,s)}};var vt=function(t){return function(){return t}},pt=q,bt=pt?function(t,e){return pt(t,"toString",{configurable:!0,enumerable:!1,value:vt(e),writable:!0})}:ut,yt=Date.now;var _t=function(t){var e=0,r=0;return function(){var n=yt(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(bt),dt=ut,gt=ht,Ot=_t;var jt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},wt=k,St=jt;var At=function(t){return null!=t&&St(t.length)&&!wt(t)},Et=/^(?:0|[1-9]\d*)$/;var mt=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Et.test(t))&&t>-1&&t%1==0&&t<e},Nt=et,Dt=At,Rt=mt,Mt=D;var It=function(t,e){return Ot(gt(t,e,dt),t+"")},kt=function(t,e,r){if(!Mt(r))return!1;var n=typeof e;return!!("number"==n?Dt(r)&&Rt(e,r.length):"string"==n&&e in r)&&Nt(r[e],t)};var Pt=function(t){return It(function(e,r){var n=-1,o=r.length,i=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(o--,i):void 0,a&&kt(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),e=Object(e);++n<o;){var s=r[n];s&&t(e,s,n,i)}return e})},Lt=Object.prototype;var Ct=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Lt)};var Tt=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var xt=function(t){return null!=t&&"object"==typeof t},Ut=N,Ft=xt;var zt=function(t){return Ft(t)&&"[object Arguments]"==Ut(t)},Wt=xt,Bt=Object.prototype,Gt=Bt.hasOwnProperty,$t=Bt.propertyIsEnumerable,Vt=zt(function(){return arguments}())?zt:function(t){return Wt(t)&&Gt.call(t,"callee")&&!$t.call(t,"callee")},Xt=Array.isArray,Yt=l(Xt),Ht={exports:{}};var Qt=function(){return!1};!function(t,e){var r=b,n=Qt,o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,s=(a?a.isBuffer:void 0)||n;t.exports=s}(Ht,Ht.exports);var Kt=Ht.exports,Jt=N,qt=jt,Zt=xt,te={};te["[object Float32Array]"]=te["[object Float64Array]"]=te["[object Int8Array]"]=te["[object Int16Array]"]=te["[object Int32Array]"]=te["[object Uint8Array]"]=te["[object Uint8ClampedArray]"]=te["[object Uint16Array]"]=te["[object Uint32Array]"]=!0,te["[object Arguments]"]=te["[object Array]"]=te["[object ArrayBuffer]"]=te["[object Boolean]"]=te["[object DataView]"]=te["[object Date]"]=te["[object Error]"]=te["[object Function]"]=te["[object Map]"]=te["[object Number]"]=te["[object Object]"]=te["[object RegExp]"]=te["[object Set]"]=te["[object String]"]=te["[object WeakMap]"]=!1;var ee=function(t){return Zt(t)&&qt(t.length)&&!!te[Jt(t)]};var re=function(t){return function(e){return t(e)}},ne={exports:{}};!function(t,e){var r=h,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n&&r.process,a=function(){try{var t=o&&o.require&&o.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=a}(ne,ne.exports);var oe=ne.exports,ie=ee,ae=re,se=oe&&oe.isTypedArray,ce=se?ae(se):ie,ue=Tt,fe=Vt,le=Xt,he=Kt,ve=mt,pe=ce,be=Object.prototype.hasOwnProperty;var ye=function(t,e){var r=le(t),n=!r&&fe(t),o=!r&&!n&&he(t),i=!r&&!n&&!o&&pe(t),a=r||n||o||i,s=a?ue(t.length,String):[],c=s.length;for(var u in t)!e&&!be.call(t,u)||a&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ve(u,c))||s.push(u);return s};var _e=function(t,e){return function(r){return t(e(r))}},de=_e(Object.keys,Object),ge=Ct,Oe=de,je=Object.prototype.hasOwnProperty;var we=ye,Se=function(t){if(!ge(t))return Oe(t);var e=[];for(var r in Object(t))je.call(t,r)&&"constructor"!=r&&e.push(r);return e},Ae=At;var Ee=function(t){return Ae(t)?we(t):Se(t)},me=it,Ne=ct,De=Pt,Re=At,Me=Ct,Ie=Ee,ke=Object.prototype.hasOwnProperty,Pe=l(De(function(t,e){if(Me(e)||Re(e))Ne(e,Ie(e),t);else for(var r in e)ke.call(e,r)&&me(t,r,e[r])})),Le=N,Ce=xt;var Te=function(t){return"symbol"==typeof t||Ce(t)&&"[object Symbol]"==Le(t)},xe=Xt,Ue=Te,Fe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ze=/^\w*$/;var We=function(t,e){if(xe(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Ue(t))||(ze.test(t)||!Fe.test(t)||null!=e&&t in Object(e))},Be=K(Object,"create"),Ge=Be;var $e=function(){this.__data__=Ge?Ge(null):{},this.size=0};var Ve=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Xe=Be,Ye=Object.prototype.hasOwnProperty;var He=function(t){var e=this.__data__;if(Xe){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Ye.call(e,t)?e[t]:void 0},Qe=Be,Ke=Object.prototype.hasOwnProperty;var Je=Be;var qe=$e,Ze=Ve,tr=He,er=function(t){var e=this.__data__;return Qe?void 0!==e[t]:Ke.call(e,t)},rr=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Je&&void 0===e?"__lodash_hash_undefined__":e,this};function nr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}nr.prototype.clear=qe,nr.prototype.delete=Ze,nr.prototype.get=tr,nr.prototype.has=er,nr.prototype.set=rr;var or=nr;var ir=function(){this.__data__=[],this.size=0},ar=et;var sr=function(t,e){for(var r=t.length;r--;)if(ar(t[r][0],e))return r;return-1},cr=sr,ur=Array.prototype.splice;var fr=sr;var lr=sr;var hr=sr;var vr=ir,pr=function(t){var e=this.__data__,r=cr(e,t);return!(r<0)&&(r==e.length-1?e.pop():ur.call(e,r,1),--this.size,!0)},br=function(t){var e=this.__data__,r=fr(e,t);return r<0?void 0:e[r][1]},yr=function(t){return lr(this.__data__,t)>-1},_r=function(t,e){var r=this.__data__,n=hr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function dr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}dr.prototype.clear=vr,dr.prototype.delete=pr,dr.prototype.get=br,dr.prototype.has=yr,dr.prototype.set=_r;var gr=dr,Or=K(b,"Map"),jr=or,wr=gr,Sr=Or;var Ar=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var Er=function(t,e){var r=t.__data__;return Ar(e)?r["string"==typeof e?"string":"hash"]:r.map},mr=Er;var Nr=Er;var Dr=Er;var Rr=Er;var Mr=function(){this.size=0,this.__data__={hash:new jr,map:new(Sr||wr),string:new jr}},Ir=function(t){var e=mr(this,t).delete(t);return this.size-=e?1:0,e},kr=function(t){return Nr(this,t).get(t)},Pr=function(t){return Dr(this,t).has(t)},Lr=function(t,e){var r=Rr(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Cr(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Cr.prototype.clear=Mr,Cr.prototype.delete=Ir,Cr.prototype.get=kr,Cr.prototype.has=Pr,Cr.prototype.set=Lr;var Tr=Cr,xr=Tr;function Ur(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(Ur.Cache||xr),r}Ur.Cache=xr;var Fr=Ur;var zr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Wr=/\\(\\)?/g,Br=function(t){var e=Fr(t,function(t){return 500===r.size&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(zr,function(t,r,n,o){e.push(n?o.replace(Wr,"$1"):r||t)}),e});var Gr=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o},$r=Gr,Vr=Xt,Xr=Te,Yr=y?y.prototype:void 0,Hr=Yr?Yr.toString:void 0;var Qr=function t(e){if("string"==typeof e)return e;if(Vr(e))return $r(e,t)+"";if(Xr(e))return Hr?Hr.call(e):"";var r=e+"";return"0"==r&&1/e==-1/0?"-0":r},Kr=Qr;var Jr=Xt,qr=We,Zr=Br,tn=function(t){return null==t?"":Kr(t)};var en=function(t,e){return Jr(t)?t:qr(t,e)?[t]:Zr(tn(t))},rn=Te;var nn=function(t){if("string"==typeof t||rn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},on=en,an=nn;var sn=function(t,e){for(var r=0,n=(e=on(e,t)).length;null!=t&&r<n;)t=t[an(e[r++])];return r&&r==n?t:void 0},cn=sn;var un,fn=function(t,e,r){var n=null==t?void 0:cn(t,e);return void 0===n?r:n},ln=l(fn);!function(t){t["網絡錯誤"]="ERROR CODE: 500",t["環境錯誤(browser)"]="ERROR CODE: 1001",t["Worklet模組載入失敗"]="ERROR CODE: 1002",t["未獲得媒體裝置權限"]="ERROR CODE: 1003",t["實例已摧毀"]="ERROR CODE: 1004",t["環境錯誤(nodejs)"]="ERROR CODE: 2001",t["未提供憑證"]="ERROR CODE: 2002",t["獲取權杖失敗"]="ERROR CODE: 2003",t["沒有可用專案"]="ERROR CODE: 2004",t["重複初始化"]="ERROR CODE: 205"}(un||(un={}));const hn="access_token",vn="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;class pn{config;get webserver(){return this.config.webserver}get environment(){return this.config.env}get license(){return this.config.license??""}get port(){return function(t,e){const r=e??NaN;if(t){const e=parseInt(t);return isNaN(e)?r:e}return r}(process.env.PORT,this.config.port??3e3)}get ws_url(){return this.config.ws_url??""}get worklet_url(){return this.config.worklet_url??""}get project(){const{project:t}=Pe({},this.config);return void 0===t?{specific:!1}:"string"==typeof t?{name:t,id:t,specific:!1}:Pe({},t,{specific:!0})}get endPoint(){return this.environment,{api:"https://aiia-content-management-dev-21193779403.asia-east1.run.app",socket:"wss://graphen-agentic-workflow-dev-21193779403.asia-east1.run.app"}}get debug(){return this.config.debug}constructor(t){this.config=t}}var bn=function(t,e,r,n){for(var o=t.length,i=r+(n?1:-1);n?i--:++i<o;)if(e(t[i],i,t))return i;return-1},yn=function(t){return t!=t},_n=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1};var dn=N,gn=Xt,On=xt;var jn=/\s/;var wn=function(t){for(var e=t.length;e--&&jn.test(t.charAt(e)););return e},Sn=/^\s+/;var An=function(t){return t?t.slice(0,wn(t)+1).replace(Sn,""):t},En=D,mn=Te,Nn=/^[-+]0x[0-9a-f]+$/i,Dn=/^0b[01]+$/i,Rn=/^0o[0-7]+$/i,Mn=parseInt;var In=function(t){if("number"==typeof t)return t;if(mn(t))return NaN;if(En(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=En(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=An(t);var r=Dn.test(t);return r||Rn.test(t)?Mn(t.slice(2),r?2:8):Nn.test(t)?NaN:+t},kn=1/0;var Pn=function(t){return t?(t=In(t))===kn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Ln=Gr;var Cn=function(t,e){return Ln(e,function(e){return t[e]})},Tn=Ee;var xn=function(t,e,r){return e==e?_n(t,e,r):bn(t,yn,r)},Un=At,Fn=function(t){return"string"==typeof t||!gn(t)&&On(t)&&"[object String]"==dn(t)},zn=function(t){var e=Pn(t),r=e%1;return e==e?r?e-r:e:0},Wn=function(t){return null==t?[]:Cn(t,Tn(t))},Bn=Math.max;var Gn=l(function(t,e,r,n){t=Un(t)?t:Wn(t),r=r&&!n?zn(r):0;var o=t.length;return r<0&&(r=Bn(o+r,0)),Fn(t)?r<=o&&t.indexOf(e,r)>-1:!!o&&xn(t,e,r)>-1});const $n={info:()=>{},error:()=>{},warn:()=>{}};function Vn(t){const{info:e,error:r,warn:n}=function(t){return void 0===t||"all"===t?{error:!0,warn:!0,info:!0}:"none"===t?{error:!1,warn:!1,info:!1}:"boolean"==typeof t?{error:t,warn:t,info:t}:{error:Gn(t,"error"),warn:Gn(t,"warn"),info:Gn(t,"info")}}(t);e&&($n.info=console.log),r&&($n.error=console.error),n&&($n.warn=console.warn)}var Xn=gr;var Yn=gr,Hn=Or,Qn=Tr;var Kn=gr,Jn=function(){this.__data__=new Xn,this.size=0},qn=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Zn=function(t){return this.__data__.get(t)},to=function(t){return this.__data__.has(t)},eo=function(t,e){var r=this.__data__;if(r instanceof Yn){var n=r.__data__;if(!Hn||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Qn(n)}return r.set(t,e),this.size=r.size,this};function ro(t){var e=this.__data__=new Kn(t);this.size=e.size}ro.prototype.clear=Jn,ro.prototype.delete=qn,ro.prototype.get=Zn,ro.prototype.has=to,ro.prototype.set=eo;var no=ro;var oo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t},io=ct,ao=Ee;var so=function(t,e){return t&&io(e,ao(e),t)};var co=D,uo=Ct,fo=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e},lo=Object.prototype.hasOwnProperty;var ho=ye,vo=function(t){if(!co(t))return fo(t);var e=uo(t),r=[];for(var n in t)("constructor"!=n||!e&&lo.call(t,n))&&r.push(n);return r},po=At;var bo=function(t){return po(t)?ho(t,!0):vo(t)},yo=ct,_o=bo;var go=function(t,e){return t&&yo(e,_o(e),t)},Oo={exports:{}};!function(t,e){var r=b,n=e&&!e.nodeType&&e,o=n&&t&&!t.nodeType&&t,i=o&&o.exports===n?r.Buffer:void 0,a=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=a?a(r):new t.constructor(r);return t.copy(n),n}}(Oo,Oo.exports);var jo=Oo.exports;var wo=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e};var So=function(){return[]},Ao=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var a=t[r];e(a,r,t)&&(i[o++]=a)}return i},Eo=So,mo=Object.prototype.propertyIsEnumerable,No=Object.getOwnPropertySymbols,Do=No?function(t){return null==t?[]:(t=Object(t),Ao(No(t),function(e){return mo.call(t,e)}))}:Eo,Ro=ct,Mo=Do;var Io=function(t,e){return Ro(t,Mo(t),e)};var ko=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t},Po=_e(Object.getPrototypeOf,Object),Lo=ko,Co=Po,To=Do,xo=So,Uo=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Lo(e,To(t)),t=Co(t);return e}:xo,Fo=ct,zo=Uo;var Wo=function(t,e){return Fo(t,zo(t),e)},Bo=ko,Go=Xt;var $o=function(t,e,r){var n=e(t);return Go(t)?n:Bo(n,r(t))},Vo=$o,Xo=Do,Yo=Ee;var Ho=function(t){return Vo(t,Yo,Xo)},Qo=$o,Ko=Uo,Jo=bo;var qo=function(t){return Qo(t,Jo,Ko)},Zo=K(b,"DataView"),ti=Or,ei=K(b,"Promise"),ri=K(b,"Set"),ni=K(b,"WeakMap"),oi=N,ii=x,ai="[object Map]",si="[object Promise]",ci="[object Set]",ui="[object WeakMap]",fi="[object DataView]",li=ii(Zo),hi=ii(ti),vi=ii(ei),pi=ii(ri),bi=ii(ni),yi=oi;(Zo&&yi(new Zo(new ArrayBuffer(1)))!=fi||ti&&yi(new ti)!=ai||ei&&yi(ei.resolve())!=si||ri&&yi(new ri)!=ci||ni&&yi(new ni)!=ui)&&(yi=function(t){var e=oi(t),r="[object Object]"==e?t.constructor:void 0,n=r?ii(r):"";if(n)switch(n){case li:return fi;case hi:return ai;case vi:return si;case pi:return ci;case bi:return ui}return e});var _i=yi,di=Object.prototype.hasOwnProperty;var gi=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&di.call(t,"index")&&(r.index=t.index,r.input=t.input),r},Oi=b.Uint8Array,ji=Oi;var wi=function(t){var e=new t.constructor(t.byteLength);return new ji(e).set(new ji(t)),e},Si=wi;var Ai=function(t,e){var r=e?Si(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)},Ei=/\w*$/;var mi=function(t){var e=new t.constructor(t.source,Ei.exec(t));return e.lastIndex=t.lastIndex,e},Ni=y?y.prototype:void 0,Di=Ni?Ni.valueOf:void 0;var Ri=wi;var Mi=wi,Ii=Ai,ki=mi,Pi=function(t){return Di?Object(Di.call(t)):{}},Li=function(t,e){var r=e?Ri(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)};var Ci=function(t,e,r){var n=t.constructor;switch(e){case"[object ArrayBuffer]":return Mi(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return Ii(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Li(t,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return ki(t);case"[object Symbol]":return Pi(t)}},Ti=D,xi=Object.create,Ui=function(){function t(){}return function(e){if(!Ti(e))return{};if(xi)return xi(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Fi=Po,zi=Ct;var Wi=function(t){return"function"!=typeof t.constructor||zi(t)?{}:Ui(Fi(t))},Bi=_i,Gi=xt;var $i=function(t){return Gi(t)&&"[object Map]"==Bi(t)},Vi=re,Xi=oe&&oe.isMap,Yi=Xi?Vi(Xi):$i,Hi=_i,Qi=xt;var Ki=function(t){return Qi(t)&&"[object Set]"==Hi(t)},Ji=re,qi=oe&&oe.isSet,Zi=qi?Ji(qi):Ki,ta=no,ea=oo,ra=it,na=so,oa=go,ia=jo,aa=wo,sa=Io,ca=Wo,ua=Ho,fa=qo,la=_i,ha=gi,va=Ci,pa=Wi,ba=Xt,ya=Kt,_a=Yi,da=D,ga=Zi,Oa=Ee,ja=bo,wa="[object Arguments]",Sa="[object Function]",Aa="[object Object]",Ea={};Ea[wa]=Ea["[object Array]"]=Ea["[object ArrayBuffer]"]=Ea["[object DataView]"]=Ea["[object Boolean]"]=Ea["[object Date]"]=Ea["[object Float32Array]"]=Ea["[object Float64Array]"]=Ea["[object Int8Array]"]=Ea["[object Int16Array]"]=Ea["[object Int32Array]"]=Ea["[object Map]"]=Ea["[object Number]"]=Ea[Aa]=Ea["[object RegExp]"]=Ea["[object Set]"]=Ea["[object String]"]=Ea["[object Symbol]"]=Ea["[object Uint8Array]"]=Ea["[object Uint8ClampedArray]"]=Ea["[object Uint16Array]"]=Ea["[object Uint32Array]"]=!0,Ea["[object Error]"]=Ea[Sa]=Ea["[object WeakMap]"]=!1;var ma=function t(e,r,n,o,i,a){var s,c=1&r,u=2&r,f=4&r;if(n&&(s=i?n(e,o,i,a):n(e)),void 0!==s)return s;if(!da(e))return e;var l=ba(e);if(l){if(s=ha(e),!c)return aa(e,s)}else{var h=la(e),v=h==Sa||"[object GeneratorFunction]"==h;if(ya(e))return ia(e,c);if(h==Aa||h==wa||v&&!i){if(s=u||v?{}:pa(e),!c)return u?ca(e,oa(s,e)):sa(e,na(s,e))}else{if(!Ea[h])return i?e:{};s=va(e,h,c)}}a||(a=new ta);var p=a.get(e);if(p)return p;a.set(e,s),ga(e)?e.forEach(function(o){s.add(t(o,r,n,o,e,a))}):_a(e)&&e.forEach(function(o,i){s.set(i,t(o,r,n,i,e,a))});var b=l?void 0:(f?u?fa:ua:u?ja:Oa)(e);return ea(b||e,function(o,i){b&&(o=e[i=o]),ra(s,i,t(o,r,n,i,e,a))}),s};var Na=sn,Da=function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+e];return i};var Ra=function(t,e){return e.length<2?t:Na(t,Da(e,0,-1))},Ma=en,Ia=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0},ka=Ra,Pa=nn;var La=function(t,e){return e=Ma(e,t),null==(t=ka(t,e))||delete t[Pa(Ia(e))]},Ca=N,Ta=Po,xa=xt,Ua=Function.prototype,Fa=Object.prototype,za=Ua.toString,Wa=Fa.hasOwnProperty,Ba=za.call(Object);var Ga=function(t){if(!xa(t)||"[object Object]"!=Ca(t))return!1;var e=Ta(t);if(null===e)return!0;var r=Wa.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&za.call(r)==Ba};var $a=function(t){return Ga(t)?void 0:t},Va=Vt,Xa=Xt,Ya=y?y.isConcatSpreadable:void 0;var Ha=ko,Qa=function(t){return Xa(t)||Va(t)||!!(Ya&&t&&t[Ya])};var Ka=function t(e,r,n,o,i){var a=-1,s=e.length;for(n||(n=Qa),i||(i=[]);++a<s;){var c=e[a];r>0&&n(c)?r>1?t(c,r-1,n,o,i):Ha(i,c):o||(i[i.length]=c)}return i},Ja=Ka;var qa=function(t){return(null==t?0:t.length)?Ja(t,1):[]},Za=ht,ts=_t;var es=Gr,rs=ma,ns=La,os=en,is=ct,as=$a,ss=qo,cs=function(t){return ts(Za(t,void 0,qa),t+"")}(function(t,e){var r={};if(null==t)return r;var n=!1;e=es(e,function(e){return e=os(e,t),n||(n=e.length>1),e}),is(t,ss(t),r),n&&(r=rs(r,7,as));for(var o=e.length;o--;)ns(r,e[o]);return r}),us=l(cs);const fs=new class{AppName;platform;isMAC;isWIN;isLINUX;saveFolder;homedir;appFolder;constructor(t){switch(this.AppName=t,this.platform=process.platform,this.homedir=e.homedir(),this.platform){case"darwin":this.isMAC=!0,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=r.join(this.homedir,"Library","Application Support");break;case"win32":this.isMAC=!1,this.isWIN=!0,this.isLINUX=!1,this.saveFolder=process.env.APPDATA||r.join(this.homedir,"AppData","Roaming");break;case"linux":this.isMAC=!1,this.isWIN=!1,this.isLINUX=!0,this.saveFolder=process.env.XDG_CONFIG_HOME||r.join(this.homedir,".config");break;default:console.log(`當前系統是未知的平台: ${this.platform}`),this.isMAC=!1,this.isWIN=!1,this.isLINUX=!1,this.saveFolder=this.homedir}this.appFolder=r.join(this.saveFolder,this.AppName),this.folderCheck(this.appFolder)}addPath(...t){return r.join(...t)}folderCheck(e){t.mkdirSync(e,{recursive:!0})}fileCheck(e){t.existsSync(e)||t.writeFileSync(e,"",{encoding:"utf8"})}}("aiia-sdk");class ls{type="node";filePath;fileName;constructor(){this.fileName="storage.json",this.filePath=fs.addPath(fs.appFolder,this.fileName),fs.fileCheck(this.filePath)}getFileDataSync(){const e=t.readFileSync(this.filePath,"utf8");try{return JSON.parse(e)}catch(t){return{}}}setFileDataSync(e){try{const r=JSON.stringify(e);t.writeFileSync(this.filePath,r,"utf8")}catch(t){}}async getFileData(){return new Promise(e=>{t.readFile(this.filePath,"utf8",(t,r)=>{if(t)e({});else try{e(JSON.parse(r))}catch(t){e({})}})})}async setFileData(e){return new Promise(r=>{try{const n=JSON.stringify(e);t.writeFile(this.filePath,n,"utf8",t=>{r()})}catch(t){}})}async getItem(t){return(await this.getFileData())[t]??null}async setItem(t,e){const r=await this.getFileData();r[t]=e,await this.setFileData(r)}async removeItem(t){const e=await this.getFileData(),r=us(e,t);await this.setFileData(r)}async clear(){await this.setFileData({})}getItemSync(t){return this.getFileDataSync()[t]??null}setItemSync(t,e){const r=this.getFileDataSync();r[t]=e,this.setFileDataSync(r)}removeItemSync(t){const e=us(this.getFileDataSync(),t);this.setFileDataSync(e)}clearSync(){this.setFileDataSync({})}}var hs=Tr,vs=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ps=function(t){return this.__data__.has(t)};function bs(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new hs;++e<r;)this.add(t[e])}bs.prototype.add=bs.prototype.push=vs,bs.prototype.has=ps;var ys=bs,_s=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},ds=function(t,e){return t.has(e)};var gs=function(t,e,r,n,o,i){var a=1&r,s=t.length,c=e.length;if(s!=c&&!(a&&c>s))return!1;var u=i.get(t),f=i.get(e);if(u&&f)return u==e&&f==t;var l=-1,h=!0,v=2&r?new ys:void 0;for(i.set(t,e),i.set(e,t);++l<s;){var p=t[l],b=e[l];if(n)var y=a?n(b,p,l,e,t,i):n(p,b,l,t,e,i);if(void 0!==y){if(y)continue;h=!1;break}if(v){if(!_s(e,function(t,e){if(!ds(v,e)&&(p===t||o(p,t,r,n,i)))return v.push(e)})){h=!1;break}}else if(p!==b&&!o(p,b,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h};var Os=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var js=Oi,ws=et,Ss=gs,As=Os,Es=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r},ms=y?y.prototype:void 0,Ns=ms?ms.valueOf:void 0;var Ds=function(t,e,r,n,o,i,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new js(t),new js(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ws(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=As;case"[object Set]":var c=1&n;if(s||(s=Es),t.size!=e.size&&!c)return!1;var u=a.get(t);if(u)return u==e;n|=2,a.set(t,e);var f=Ss(s(t),s(e),n,o,i,a);return a.delete(t),f;case"[object Symbol]":if(Ns)return Ns.call(t)==Ns.call(e)}return!1},Rs=Ho,Ms=Object.prototype.hasOwnProperty;var Is=no,ks=gs,Ps=Ds,Ls=function(t,e,r,n,o,i){var a=1&r,s=Rs(t),c=s.length;if(c!=Rs(e).length&&!a)return!1;for(var u=c;u--;){var f=s[u];if(!(a?f in e:Ms.call(e,f)))return!1}var l=i.get(t),h=i.get(e);if(l&&h)return l==e&&h==t;var v=!0;i.set(t,e),i.set(e,t);for(var p=a;++u<c;){var b=t[f=s[u]],y=e[f];if(n)var _=a?n(y,b,f,e,t,i):n(b,y,f,t,e,i);if(!(void 0===_?b===y||o(b,y,r,n,i):_)){v=!1;break}p||(p="constructor"==f)}if(v&&!p){var d=t.constructor,g=e.constructor;d==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof d&&d instanceof d&&"function"==typeof g&&g instanceof g||(v=!1)}return i.delete(t),i.delete(e),v},Cs=_i,Ts=Xt,xs=Kt,Us=ce,Fs="[object Arguments]",zs="[object Array]",Ws="[object Object]",Bs=Object.prototype.hasOwnProperty;var Gs=function(t,e,r,n,o,i){var a=Ts(t),s=Ts(e),c=a?zs:Cs(t),u=s?zs:Cs(e),f=(c=c==Fs?Ws:c)==Ws,l=(u=u==Fs?Ws:u)==Ws,h=c==u;if(h&&xs(t)){if(!xs(e))return!1;a=!0,f=!1}if(h&&!f)return i||(i=new Is),a||Us(t)?ks(t,e,r,n,o,i):Ps(t,e,c,r,n,o,i);if(!(1&r)){var v=f&&Bs.call(t,"__wrapped__"),p=l&&Bs.call(e,"__wrapped__");if(v||p){var b=v?t.value():t,y=p?e.value():e;return i||(i=new Is),o(b,y,r,n,i)}}return!!h&&(i||(i=new Is),Ls(t,e,r,n,o,i))},$s=xt;var Vs=function t(e,r,n,o,i){return e===r||(null==e||null==r||!$s(e)&&!$s(r)?e!=e&&r!=r:Gs(e,r,n,o,t,i))},Xs=no,Ys=Vs;var Hs=D;var Qs=function(t){return t==t&&!Hs(t)},Ks=Qs,Js=Ee;var qs=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},Zs=function(t,e,r,n){var o=r.length,i=o,a=!n;if(null==t)return!i;for(t=Object(t);o--;){var s=r[o];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++o<i;){var c=(s=r[o])[0],u=t[c],f=s[1];if(a&&s[2]){if(void 0===u&&!(c in t))return!1}else{var l=new Xs;if(n)var h=n(u,f,c,t,e,l);if(!(void 0===h?Ys(f,u,3,n,l):h))return!1}}return!0},tc=function(t){for(var e=Js(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Ks(o)]}return e},ec=qs;var rc=en,nc=Vt,oc=Xt,ic=mt,ac=jt,sc=nn;var cc=function(t,e,r){for(var n=-1,o=(e=rc(e,t)).length,i=!1;++n<o;){var a=sc(e[n]);if(!(i=null!=t&&r(t,a)))break;t=t[a]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&ac(o)&&ic(a,o)&&(oc(t)||nc(t))},uc=function(t,e){return null!=t&&e in Object(t)},fc=cc;var lc=function(t,e){return null!=t&&fc(t,e,uc)},hc=Vs,vc=fn,pc=lc,bc=We,yc=Qs,_c=qs,dc=nn;var gc=function(t,e){return bc(t)&&yc(e)?_c(dc(t),e):function(r){var n=vc(r,t);return void 0===n&&n===e?pc(r,t):hc(e,n,3)}};var Oc=sn;var jc=function(t){return function(e){return Oc(e,t)}},wc=function(t){return function(e){return null==e?void 0:e[t]}},Sc=jc,Ac=We,Ec=nn;var mc=function(t){return Ac(t)?wc(Ec(t)):Sc(t)},Nc=function(t){var e=tc(t);return 1==e.length&&e[0][2]?ec(e[0][0],e[0][1]):function(r){return r===t||Zs(r,t,e)}},Dc=gc,Rc=ut,Mc=Xt,Ic=mc;var kc=function(t){return"function"==typeof t?t:null==t?Rc:"object"==typeof t?Mc(t)?Dc(t[0],t[1]):Nc(t):Ic(t)};var Pc=function(t){return function(e,r,n){for(var o=-1,i=Object(e),a=n(e),s=a.length;s--;){var c=a[t?s:++o];if(!1===r(i[c],c,i))break}return e}}(),Lc=Ee;var Cc=At;var Tc=function(t,e){return function(r,n){if(null==r)return r;if(!Cc(r))return t(r,n);for(var o=r.length,i=e?o:-1,a=Object(r);(e?i--:++i<o)&&!1!==n(a[i],i,a););return r}}(function(t,e){return t&&Pc(t,e,Lc)}),xc=At;var Uc=Gr,Fc=kc,zc=function(t,e){var r=-1,n=xc(t)?Array(t.length):[];return Tc(t,function(t,o,i){n[++r]=e(t,o,i)}),n},Wc=Xt;var Bc,Gc=l(function(t,e){return(Wc(t)?Uc:zc)(t,Fc(e))});class $c{instance;controller;constructor(t){this.controller=new AbortController,this.instance=s.create({baseURL:t,signal:this.controller.signal})}async getAccessToken(t,e){const r={license_number:t,token_value:e??""},n=await this.instance.post("/api/v1/license/agent_token",r).then(t=>ln(t.data,"token_value","")).catch(()=>null);if(null===n)throw new Error(un["網絡錯誤"]);if(""===n)throw new Error(un["獲取權杖失敗"]);return n}async getProjectList(t){const e=await this.instance.post("/api/v1/license/projects",{license_number:t}).then(t=>Gc(ln(t,"data.projects",[]),({id:t,sub_project_name:e})=>({id:t,name:e}))).catch(t=>null);if(null===e)throw new Error(un["網絡錯誤"]);if(0===e.length)throw new Error(un["沒有可用專案"]);return e}onDestory(){this.controller.abort()}}!function(t){t[t.MDN_NORMAL_CLOSURE=1e3]="MDN_NORMAL_CLOSURE",t[t.MDN_GOING_AWAY=1001]="MDN_GOING_AWAY",t[t.MDN_PROTOCOL_ERROR=1002]="MDN_PROTOCOL_ERROR",t[t.MDN_UNSUPPORTED_DATA=1003]="MDN_UNSUPPORTED_DATA",t[t.MDN_RESERVED_1004=1004]="MDN_RESERVED_1004",t[t.MDN_NO_STATUS_RECEIVED=1005]="MDN_NO_STATUS_RECEIVED",t[t.MDN_ABNORMAL_CLOSURE=1006]="MDN_ABNORMAL_CLOSURE",t[t.MDN_INVALID_FRAME_PAYLOAD=1007]="MDN_INVALID_FRAME_PAYLOAD",t[t.MDN_POLICY_VIOLATION=1008]="MDN_POLICY_VIOLATION",t[t.MDN_MESSAGE_TOO_BIG=1009]="MDN_MESSAGE_TOO_BIG",t[t.MDN_MANDATORY_EXTENSION=1010]="MDN_MANDATORY_EXTENSION",t[t.MDN_INTERNAL_ERROR=1011]="MDN_INTERNAL_ERROR",t[t.MDN_SERVICE_RESTART=1012]="MDN_SERVICE_RESTART",t[t.MDN_TRY_AGAIN_LATER=1013]="MDN_TRY_AGAIN_LATER",t[t.MDN_BAD_GATEWAY=1014]="MDN_BAD_GATEWAY",t[t.MDN_TLS_HANDSHAKE=1015]="MDN_TLS_HANDSHAKE",t[t.MANUAL_CLOSE=4001]="MANUAL_CLOSE",t[t.WS_5000_NORAML_CLOSURE=5e3]="WS_5000_NORAML_CLOSURE",t[t.WS_5001_UNAUTHORIZED=5001]="WS_5001_UNAUTHORIZED",t[t.WS_5002_LICENSE_EXPIRED=5002]="WS_5002_LICENSE_EXPIRED",t[t.WS_5003_TOKEN_EXPIRED=5003]="WS_5003_TOKEN_EXPIRED"}(Bc||(Bc={}));class Vc{socket;messageSub;startLinkSub;destorySub;closeSub;get message(){return this.messageSub.asObservable()}get close(){return this.closeSub.asObservable()}get startLink(){return this.startLinkSub.asObservable()}messageQueue=[];isConnected;isStart;constructor(){this.isConnected=!1,this.isStart=!1,this.messageSub=new n,this.startLinkSub=new n,this.closeSub=new n,this.destorySub=new n}start(t){this.isStart=!0,this.socket=new u(t),$n.info("Proxy to",t),o(this.socket,"open").pipe(i(this.destorySub)).subscribe(t=>{this.isConnected=!0,this.startLinkSub.next(),$n.info("Proxy startup"),this.flushMessageQueue()}),o(this.socket,"message").pipe(i(this.destorySub)).subscribe(t=>{const{data:e}=t;this.messageSub.next(e)}),o(this.socket,"error").pipe(i(this.destorySub)).subscribe(t=>{const{error:e}=t;$n.error("Proxy has some problem",e)}),o(this.socket,"close").pipe(i(this.destorySub)).subscribe(t=>{this.isConnected=!1;const{code:e}=t;switch($n.error("Proxy closed",{code:e}),e){case Bc.MANUAL_CLOSE:$n.info("MANUAL_CLOSE stop emit event and reconnecting");break;case Bc.WS_5000_NORAML_CLOSURE:case Bc.MDN_NORMAL_CLOSURE:case Bc.MDN_GOING_AWAY:this.closeSub.next("close"),$n.info("Safe close connection");break;case Bc.MDN_NO_STATUS_RECEIVED:case Bc.MDN_ABNORMAL_CLOSURE:this.closeSub.next("close"),$n.error("Cloud disconnect");break;case Bc.WS_5001_UNAUTHORIZED:case Bc.WS_5002_LICENSE_EXPIRED:this.closeSub.next("no_permissions"),$n.error("Please contact Graphen");break;case Bc.WS_5003_TOKEN_EXPIRED:this.closeSub.next("reconnect");break;default:this.closeSub.next("close"),$n.warn("Other status always close connection")}})}flushMessageQueue(){for(;this.messageQueue.length>0&&this.isConnected;){const t=this.messageQueue.shift();t&&this.socket.send(t)}}send(t){this.isConnected?this.socket.send(t):this.messageQueue.push(t)}onManualClose(){this.isStart&&this.socket?.close(Bc.MANUAL_CLOSE)}onDestory(){this.destorySub.next(),this.destorySub.complete()}}class Xc{sdk;server;get url(){return this.sdk.config.endPoint.socket}get port(){return this.sdk.config.port}get webserver(){return this.sdk.config.webserver}constructor(t){this.sdk=t}start(){this.server=new c(this.webserver,{cors:{origin:"*"}}),this.server.on("connection",t=>{const e=new n;let r=(s=t.handshake.query.uuid,Yt(s)?ln(s,"[0]",void 0):s??void 0);var s;const c=new Vc;void 0===r?(this.sdk.getProjectList().then(e=>{t.emit("list",e)}),o(t,"uuid").pipe(a(1),i(e)).subscribe(n=>{r=n,this.openChannel(r,t,c,e)})):this.openChannel(r,t,c,e),t.on("disconnect",t=>{e.next(),e.complete(),$n.info(t)})}),void 0===this.webserver&&this.server.listen(this.port)}openChannel(t,e,r,n){o(e,"cloud").pipe(i(n)).subscribe(t=>{r.send(t)}),r.message.pipe(i(n)).subscribe(t=>{e.emit("cloud",t)}),r.close.pipe(i(n)).subscribe(async n=>{switch(n){case"close":case"no_permissions":e.emit("channel",n),r.onDestory();break;case"reconnect":await this.sdk.replaceAccessToken(),r.start(this.getProxySocketURL(t))}}),r.startLink.pipe(i(n)).subscribe(()=>{e.emit("channel","open")}),r.start(this.getProxySocketURL(t))}getProxySocketURL(t){return`${this.url}/v1/chat/project/${this.sdk.accessToken}/${t}`}onDestory(){this.server&&this.server.close()}}class Yc{config;stroage;apiProxy;chat;isStart;destorySub;get destoryObs(){return this.destorySub.asObservable()}access_token;get accessToken(){return this.access_token}constructor(t,e){this.config=t,this.stroage=e,this.isStart=!1,this.destorySub=new n,this.access_token=e.getItemSync(hn),this.apiProxy=new $c(this.config.endPoint.api),$n.info("[Initialize] proxy is finished"),this.chat=new Xc(this),$n.info("[Initialize] chat is finished","Start at PORT:",this.config.port)}async start(){if(this.isStart)throw new Error(un["重複初始化"]);this.isStart=!0,await this.replaceAccessToken(),this.chat.start(),$n.info("Chat service startup")}async replaceAccessToken(){const t=await this.apiProxy.getAccessToken(this.config.license,this.access_token);return this.access_token=t,this.stroage.setItemSync(hn,t),t}async getProjectList(){return await this.apiProxy.getProjectList(this.config.license)}onDestory(){this.apiProxy.onDestory(),this.chat.onDestory(),this.destorySub.next(),this.destorySub.complete(),$n.info("[Destory] core module done")}}function Hc(t){if(vn){if(void 0===ln(t,"license",void 0))throw new Error(un["未提供憑證"]);$n.info("Initialize necessary modules");const e=new pn(Pe({},t));Vn(e.debug),$n.info("[Initialize] config finished");const r=new ls;$n.info("[Initialize] storage finished");const n=new Yc(e,r);return $n.info("[Initialize] core finished"),n.start(),$n.info("Service startup"),()=>{n.onDestory()}}throw new Error(un["環境錯誤(nodejs)"])}export{Hc as aiiaCore};
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@graphen.ai/aiia-sdk",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "Jay Huang",
7
7
  "email": "jayhuang@graphen.ai"
8
8
  },
9
- "license": "ISC",
9
+ "license": "MIT",
10
10
  "type": "module",
11
11
  "exports": {
12
12
  "./browser": {
@@ -32,6 +32,7 @@
32
32
  },
33
33
  "files": [
34
34
  "dist",
35
+ "NOTICE",
35
36
  "tsdoc-metadata.json"
36
37
  ],
37
38
  "scripts": {
@@ -41,8 +42,7 @@
41
42
  "watch": "rollup -c -w",
42
43
  "types:extract": "npm run types:extract:browser && npm run types:extract:node && npm run clean:type",
43
44
  "types:extract:browser": "api-extractor run --local --config api-extractor.browser.json",
44
- "types:extract:node": "api-extractor run --local --config api-extractor.node.json",
45
- "publish": "npm run build && npm publish --access public"
45
+ "types:extract:node": "api-extractor run --local --config api-extractor.node.json"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@microsoft/api-extractor": "^7.52.11",
@@ -51,19 +51,16 @@
51
51
  "@rollup/plugin-node-resolve": "^15.3.1",
52
52
  "@rollup/plugin-terser": "^0.4.4",
53
53
  "@rollup/plugin-typescript": "^11.1.6",
54
- "@types/cors": "^2.8.19",
55
54
  "@types/lodash": "^4.17.20",
56
55
  "@types/node": "^24.2.1",
57
56
  "@types/ws": "^8.18.1",
58
57
  "rollup": "^4.46.2",
59
58
  "rollup-plugin-javascript-obfuscator": "^1.0.1",
60
- "tsc-alias": "^1.8.16",
61
59
  "tslib": "^2.6.2",
62
60
  "typescript": "^5.9.2"
63
61
  },
64
62
  "dependencies": {
65
63
  "axios": "^1.11.0",
66
- "cors": "^2.8.5",
67
64
  "lodash": "^4.17.21",
68
65
  "rxjs": "^7.8.2",
69
66
  "socket.io": "^4.8.1",