cmtoken 1.0.0 → 1.0.1

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.
Files changed (2) hide show
  1. package/index.js +6 -6
  2. package/package.json +7 -1
package/index.js CHANGED
@@ -1,12 +1,12 @@
1
- var Ye=Object.create;var Z=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var qe=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Q=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),j=(e,t)=>{for(var o in t)Z(e,o,{get:t[o],enumerable:!0})},Ze=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Xe(t))!Ve.call(e,r)&&r!==o&&Z(e,r,{get:()=>t[r],enumerable:!(n=ze(t,r))||n.enumerable});return e};var je=(e,t,o)=>(o=e!=null?Ye(Je(e)):{},Ze(t||!e||!e.__esModule?Z(o,"default",{value:e,enumerable:!0}):o,e));var ee,yt,F,te=Q(()=>{"use strict";ee="minmax",yt=`cmtoken/${ee}`,F=[{id:"minmax",name:"minmax",reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:192e3,maxTokens:8192}]});var R={};j(R,{CMTokenDiscoveryError:()=>S,CMTokenSubscriptionError:()=>B,fetchCMTokenModels:()=>et});async function et(e,t=15e3,o){if(!o)return F;try{let n=new AbortController,r=setTimeout(()=>n.abort(),t),s={Accept:"application/json"};o&&(s.Authorization=`Bearer ${o}`);let i=await fetch(e,{signal:n.signal,headers:s});if(clearTimeout(r),!i.ok){let c=await i.text().catch(()=>"N/A");throw i.status===403&&(c.includes("\u8BA2\u9605\u5957\u9910")||c.includes("\u8BA2\u9605\u5DF2\u8FC7\u671F")||c.includes("\u4F59\u989D\u4E0D\u8DB3"))?(console.warn(`[CMToken] Subscription issue: ${c}`),new B(c)):(i.status!==401&&i.status!==400&&console.error(`[CMToken] Fetch models failed (${i.status}): ${c.slice(0,200)}`),new S(c,i.status))}let a=await i.json(),u=Array.isArray(a.models)?a.models:a.data&&Array.isArray(a.data)?a.data:null;if(u)return u;if(a&&a.code&&a.code!==100200){let c=a.msg||a.message||"Unknown error";if(a.code===403&&c.includes("\u8BA2\u9605\u5957\u9910"))throw new B(c);a.code!==100401&&a.code!==401&&console.error(`[CMToken] Models API returned error code ${a.code}: ${c}`)}return F}catch(n){if(n instanceof B)throw n;return!(n instanceof S&&(n.status===401||n.status===400))&&!(n.message&&(n.message.includes("100401")||n.message.includes("\u7528\u6237\u672A\u767B\u5F55")))&&console.error(`[CMToken] Fetch models error: ${String(n.message||n).slice(0,200)}`),F}}var B,S,U=Q(()=>{"use strict";te();B=class extends Error{constructor(t){super(t),this.name="CMTokenSubscriptionError"}},S=class extends Error{status;constructor(t,o){super(t),this.name="CMTokenDiscoveryError",this.status=o}}});var re=k((bt,ge)=>{ge.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}});var ve=k((Ot,me)=>{var tt=re();function pe(e){this.mode=tt.MODE_8BIT_BYTE,this.data=e}pe.prototype={getLength:function(){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}};me.exports=pe});var ne=k((xt,Te)=>{var w={glog:function(e){if(e<1)throw new Error("glog("+e+")");return w.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return w.EXP_TABLE[e]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(v=0;v<8;v++)w.EXP_TABLE[v]=1<<v;var v;for(v=8;v<256;v++)w.EXP_TABLE[v]=w.EXP_TABLE[v-4]^w.EXP_TABLE[v-5]^w.EXP_TABLE[v-6]^w.EXP_TABLE[v-8];var v;for(v=0;v<255;v++)w.LOG_TABLE[w.EXP_TABLE[v]]=v;var v;Te.exports=w});var oe=k((Dt,Ae)=>{var I=ne();function G(e,t){if(e.length===void 0)throw new Error(e.length+"/"+t);for(var o=0;o<e.length&&e[o]===0;)o++;this.num=new Array(e.length-o+t);for(var n=0;n<e.length-o;n++)this.num[n]=e[n+o]}G.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=new Array(this.getLength()+e.getLength()-1),o=0;o<this.getLength();o++)for(var n=0;n<e.getLength();n++)t[o+n]^=I.gexp(I.glog(this.get(o))+I.glog(e.get(n)));return new G(t,0)},mod:function(e){if(this.getLength()-e.getLength()<0)return this;for(var t=I.glog(this.get(0))-I.glog(e.get(0)),o=new Array(this.getLength()),n=0;n<this.getLength();n++)o[n]=this.get(n);for(var r=0;r<e.getLength();r++)o[r]^=I.gexp(I.glog(e.get(r))+t);return new G(o,0).mod(e)}};Ae.exports=G});var ke=k((It,Me)=>{Me.exports={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7}});var Ee=k((Bt,Ce)=>{var M=re(),we=oe(),rt=ne(),O=ke(),T={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;T.getBCHDigit(t)-T.getBCHDigit(T.G15)>=0;)t^=T.G15<<T.getBCHDigit(t)-T.getBCHDigit(T.G15);return(e<<10|t)^T.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;T.getBCHDigit(t)-T.getBCHDigit(T.G18)>=0;)t^=T.G18<<T.getBCHDigit(t)-T.getBCHDigit(T.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;e!==0;)t++,e>>>=1;return t},getPatternPosition:function(e){return T.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,o){switch(e){case O.PATTERN000:return(t+o)%2===0;case O.PATTERN001:return t%2===0;case O.PATTERN010:return o%3===0;case O.PATTERN011:return(t+o)%3===0;case O.PATTERN100:return(Math.floor(t/2)+Math.floor(o/3))%2===0;case O.PATTERN101:return t*o%2+t*o%3===0;case O.PATTERN110:return(t*o%2+t*o%3)%2===0;case O.PATTERN111:return(t*o%3+(t+o)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new we([1],0),o=0;o<e;o++)t=t.multiply(new we([1,rt.gexp(o)],0));return t},getLengthInBits:function(e,t){if(1<=t&&t<10)switch(e){case M.MODE_NUMBER:return 10;case M.MODE_ALPHA_NUM:return 9;case M.MODE_8BIT_BYTE:return 8;case M.MODE_KANJI:return 8;default:throw new Error("mode:"+e)}else if(t<27)switch(e){case M.MODE_NUMBER:return 12;case M.MODE_ALPHA_NUM:return 11;case M.MODE_8BIT_BYTE:return 16;case M.MODE_KANJI:return 10;default:throw new Error("mode:"+e)}else if(t<41)switch(e){case M.MODE_NUMBER:return 14;case M.MODE_ALPHA_NUM:return 13;case M.MODE_8BIT_BYTE:return 16;case M.MODE_KANJI:return 12;default:throw new Error("mode:"+e)}else throw new Error("type:"+t)},getLostPoint:function(e){var t=e.getModuleCount(),o=0,n=0,r=0;for(n=0;n<t;n++)for(r=0;r<t;r++){for(var s=0,i=e.isDark(n,r),a=-1;a<=1;a++)if(!(n+a<0||t<=n+a))for(var u=-1;u<=1;u++)r+u<0||t<=r+u||a===0&&u===0||i===e.isDark(n+a,r+u)&&s++;s>5&&(o+=3+s-5)}for(n=0;n<t-1;n++)for(r=0;r<t-1;r++){var c=0;e.isDark(n,r)&&c++,e.isDark(n+1,r)&&c++,e.isDark(n,r+1)&&c++,e.isDark(n+1,r+1)&&c++,(c===0||c===4)&&(o+=3)}for(n=0;n<t;n++)for(r=0;r<t-6;r++)e.isDark(n,r)&&!e.isDark(n,r+1)&&e.isDark(n,r+2)&&e.isDark(n,r+3)&&e.isDark(n,r+4)&&!e.isDark(n,r+5)&&e.isDark(n,r+6)&&(o+=40);for(r=0;r<t;r++)for(n=0;n<t-6;n++)e.isDark(n,r)&&!e.isDark(n+1,r)&&e.isDark(n+2,r)&&e.isDark(n+3,r)&&e.isDark(n+4,r)&&!e.isDark(n+5,r)&&e.isDark(n+6,r)&&(o+=40);var l=0;for(r=0;r<t;r++)for(n=0;n<t;n++)e.isDark(n,r)&&l++;var m=Math.abs(100*l/t/t-50)/5;return o+=m*10,o}};Ce.exports=T});var ie=k((Rt,_e)=>{_e.exports={L:1,M:0,Q:3,H:2}});var Le=k((Ut,ye)=>{var Y=ie();function _(e,t){this.totalCount=e,this.dataCount=t}_.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];_.getRSBlocks=function(e,t){var o=_.getRsBlockTable(e,t);if(o===void 0)throw new Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var n=o.length/3,r=[],s=0;s<n;s++)for(var i=o[s*3+0],a=o[s*3+1],u=o[s*3+2],c=0;c<i;c++)r.push(new _(a,u));return r};_.getRsBlockTable=function(e,t){switch(t){case Y.L:return _.RS_BLOCK_TABLE[(e-1)*4+0];case Y.M:return _.RS_BLOCK_TABLE[(e-1)*4+1];case Y.Q:return _.RS_BLOCK_TABLE[(e-1)*4+2];case Y.H:return _.RS_BLOCK_TABLE[(e-1)*4+3];default:return}};ye.exports=_});var Oe=k((St,be)=>{function Pe(){this.buffer=[],this.length=0}Pe.prototype={get:function(e){var t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(var o=0;o<t;o++)this.putBit((e>>>t-o-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};be.exports=Pe});var Be=k((Nt,Ie)=>{var nt=ve(),x=Ee(),ot=oe(),xe=Le(),De=Oe();function y(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}y.prototype={addData:function(e){var t=new nt(e);this.dataList.push(t),this.dataCache=null},isDark:function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw new Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var e=1;for(e=1;e<40;e++){for(var t=xe.getRSBlocks(e,this.errorCorrectLevel),o=new De,n=0,r=0;r<t.length;r++)n+=t[r].dataCount;for(var s=0;s<this.dataList.length;s++){var i=this.dataList[s];o.put(i.mode,4),o.put(i.getLength(),x.getLengthInBits(i.mode,e)),i.write(o)}if(o.getLengthInBits()<=n*8)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=this.typeNumber*4+17,this.modules=new Array(this.moduleCount);for(var o=0;o<this.moduleCount;o++){this.modules[o]=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++)this.modules[o][n]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e),this.dataCache===null&&(this.dataCache=y.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var o=-1;o<=7;o++)if(!(e+o<=-1||this.moduleCount<=e+o))for(var n=-1;n<=7;n++)t+n<=-1||this.moduleCount<=t+n||(0<=o&&o<=6&&(n===0||n===6)||0<=n&&n<=6&&(o===0||o===6)||2<=o&&o<=4&&2<=n&&n<=4?this.modules[e+o][t+n]=!0:this.modules[e+o][t+n]=!1)},getBestMaskPattern:function(){for(var e=0,t=0,o=0;o<8;o++){this.makeImpl(!0,o);var n=x.getLostPoint(this);(o===0||e>n)&&(e=n,t=o)}return t},createMovieClip:function(e,t,o){var n=e.createEmptyMovieClip(t,o),r=1;this.make();for(var s=0;s<this.modules.length;s++)for(var i=s*r,a=0;a<this.modules[s].length;a++){var u=a*r,c=this.modules[s][a];c&&(n.beginFill(0,100),n.moveTo(u,i),n.lineTo(u+r,i),n.lineTo(u+r,i+r),n.lineTo(u,i+r),n.endFill())}return n},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)this.modules[e][6]===null&&(this.modules[e][6]=e%2===0);for(var t=8;t<this.moduleCount-8;t++)this.modules[6][t]===null&&(this.modules[6][t]=t%2===0)},setupPositionAdjustPattern:function(){for(var e=x.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var o=0;o<e.length;o++){var n=e[t],r=e[o];if(this.modules[n][r]===null)for(var s=-2;s<=2;s++)for(var i=-2;i<=2;i++)Math.abs(s)===2||Math.abs(i)===2||s===0&&i===0?this.modules[n+s][r+i]=!0:this.modules[n+s][r+i]=!1}},setupTypeNumber:function(e){for(var t=x.getBCHTypeNumber(this.typeNumber),o,n=0;n<18;n++)o=!e&&(t>>n&1)===1,this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=o;for(var r=0;r<18;r++)o=!e&&(t>>r&1)===1,this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=o},setupTypeInfo:function(e,t){for(var o=this.errorCorrectLevel<<3|t,n=x.getBCHTypeInfo(o),r,s=0;s<15;s++)r=!e&&(n>>s&1)===1,s<6?this.modules[s][8]=r:s<8?this.modules[s+1][8]=r:this.modules[this.moduleCount-15+s][8]=r;for(var i=0;i<15;i++)r=!e&&(n>>i&1)===1,i<8?this.modules[8][this.moduleCount-i-1]=r:i<9?this.modules[8][15-i-1+1]=r:this.modules[8][15-i-1]=r;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var o=-1,n=this.moduleCount-1,r=7,s=0,i=this.moduleCount-1;i>0;i-=2)for(i===6&&i--;;){for(var a=0;a<2;a++)if(this.modules[n][i-a]===null){var u=!1;s<e.length&&(u=(e[s]>>>r&1)===1);var c=x.getMask(t,n,i-a);c&&(u=!u),this.modules[n][i-a]=u,r--,r===-1&&(s++,r=7)}if(n+=o,n<0||this.moduleCount<=n){n-=o,o=-o;break}}}};y.PAD0=236;y.PAD1=17;y.createData=function(e,t,o){for(var n=xe.getRSBlocks(e,t),r=new De,s=0;s<o.length;s++){var i=o[s];r.put(i.mode,4),r.put(i.getLength(),x.getLengthInBits(i.mode,e)),i.write(r)}for(var a=0,u=0;u<n.length;u++)a+=n[u].dataCount;if(r.getLengthInBits()>a*8)throw new Error("code length overflow. ("+r.getLengthInBits()+">"+a*8+")");for(r.getLengthInBits()+4<=a*8&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(!1);for(;!(r.getLengthInBits()>=a*8||(r.put(y.PAD0,8),r.getLengthInBits()>=a*8));)r.put(y.PAD1,8);return y.createBytes(r,n)};y.createBytes=function(e,t){for(var o=0,n=0,r=0,s=new Array(t.length),i=new Array(t.length),a=0;a<t.length;a++){var u=t[a].dataCount,c=t[a].totalCount-u;n=Math.max(n,u),r=Math.max(r,c),s[a]=new Array(u);for(var l=0;l<s[a].length;l++)s[a][l]=255&e.buffer[l+o];o+=u;var m=x.getErrorCorrectPolynomial(c),f=new ot(s[a],m.getLength()-1),p=f.mod(m);i[a]=new Array(m.getLength()-1);for(var g=0;g<i[a].length;g++){var d=g+p.getLength()-i[a].length;i[a][g]=d>=0?p.get(d):0}}for(var h=0,C=0;C<t.length;C++)h+=t[C].totalCount;for(var E=new Array(h),N=0,K=0;K<n;K++)for(var $=0;$<t.length;$++)K<s[$].length&&(E[N++]=s[$][K]);for(var H=0;H<r;H++)for(var W=0;W<t.length;W++)H<i[W].length&&(E[N++]=i[W][H]);return E};Ie.exports=y});var Se=k((Kt,Ue)=>{var it=Be(),Re=ie(),st="\x1B[40m \x1B[0m",z="\x1B[47m \x1B[0m",at=function(e){return e?st:z},se=function(e){return{times:function(t){return new Array(t).join(e)}}},ct=function(e,t){for(var o=new Array(e),n=0;n<e;n++)o[n]=t;return o};Ue.exports={error:Re.L,generate:function(e,t,o){typeof t=="function"&&(o=t,t={});var n=new it(-1,this.error);n.addData(e),n.make();var r="";if(t&&t.small){var s=!0,i=!1,a=n.getModuleCount(),u=n.modules.slice(),c=a%2===1;c&&u.push(ct(a,i));var l={WHITE_ALL:"\u2588",WHITE_BLACK:"\u2580",BLACK_WHITE:"\u2584",BLACK_ALL:" "},m=se(l.BLACK_WHITE).times(a+3),f=se(l.WHITE_BLACK).times(a+3);r+=m+`
1
+ var Ye=Object.create;var Z=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var qe=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Q=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),j=(e,t)=>{for(var o in t)Z(e,o,{get:t[o],enumerable:!0})},Ze=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Xe(t))!Ve.call(e,r)&&r!==o&&Z(e,r,{get:()=>t[r],enumerable:!(n=ze(t,r))||n.enumerable});return e};var je=(e,t,o)=>(o=e!=null?Ye(Je(e)):{},Ze(t||!e||!e.__esModule?Z(o,"default",{value:e,enumerable:!0}):o,e));var ee,Et,F,te=Q(()=>{"use strict";ee="minmax",Et=`cmtoken/${ee}`,F=[{id:"minmax",name:"minmax",reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:192e3,maxTokens:8192}]});var B={};j(B,{CMTokenDiscoveryError:()=>S,CMTokenSubscriptionError:()=>R,fetchCMTokenModels:()=>et});async function et(e,t=15e3,o){if(!o)return F;try{let n=new AbortController,r=setTimeout(()=>n.abort(),t),s={Accept:"application/json"};o&&(s.Authorization=`Bearer ${o}`);let i=await fetch(e,{signal:n.signal,headers:s});if(clearTimeout(r),!i.ok){let c=await i.text().catch(()=>"N/A");throw i.status===403&&(c.includes("\u8BA2\u9605\u5957\u9910")||c.includes("\u8BA2\u9605\u5DF2\u8FC7\u671F")||c.includes("\u4F59\u989D\u4E0D\u8DB3"))?(console.warn(`[CMToken] Subscription issue: ${c}`),new R(c)):(i.status!==401&&i.status!==400&&console.error(`[CMToken] Fetch models failed (${i.status}): ${c.slice(0,200)}`),new S(c,i.status))}let a=await i.json(),u=Array.isArray(a.models)?a.models:a.data&&Array.isArray(a.data)?a.data:null;if(u)return u;if(a&&a.code&&a.code!==100200){let c=a.msg||a.message||"Unknown error";if(a.code===403&&c.includes("\u8BA2\u9605\u5957\u9910"))throw new R(c);a.code!==100401&&a.code!==401&&console.error(`[CMToken] Models API returned error code ${a.code}: ${c}`)}return F}catch(n){if(n instanceof R)throw n;return!(n instanceof S&&(n.status===401||n.status===400))&&!(n.message&&(n.message.includes("100401")||n.message.includes("\u7528\u6237\u672A\u767B\u5F55")))&&console.error(`[CMToken] Fetch models error: ${String(n.message||n).slice(0,200)}`),F}}var R,S,U=Q(()=>{"use strict";te();R=class extends Error{constructor(t){super(t),this.name="CMTokenSubscriptionError"}},S=class extends Error{status;constructor(t,o){super(t),this.name="CMTokenDiscoveryError",this.status=o}}});var re=k((Pt,he)=>{he.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}});var me=k((bt,pe)=>{var tt=re();function ge(e){this.mode=tt.MODE_8BIT_BYTE,this.data=e}ge.prototype={getLength:function(){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}};pe.exports=ge});var ne=k((Ot,ve)=>{var w={glog:function(e){if(e<1)throw new Error("glog("+e+")");return w.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return w.EXP_TABLE[e]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(v=0;v<8;v++)w.EXP_TABLE[v]=1<<v;var v;for(v=8;v<256;v++)w.EXP_TABLE[v]=w.EXP_TABLE[v-4]^w.EXP_TABLE[v-5]^w.EXP_TABLE[v-6]^w.EXP_TABLE[v-8];var v;for(v=0;v<255;v++)w.LOG_TABLE[w.EXP_TABLE[v]]=v;var v;ve.exports=w});var oe=k((xt,Te)=>{var I=ne();function G(e,t){if(e.length===void 0)throw new Error(e.length+"/"+t);for(var o=0;o<e.length&&e[o]===0;)o++;this.num=new Array(e.length-o+t);for(var n=0;n<e.length-o;n++)this.num[n]=e[n+o]}G.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=new Array(this.getLength()+e.getLength()-1),o=0;o<this.getLength();o++)for(var n=0;n<e.getLength();n++)t[o+n]^=I.gexp(I.glog(this.get(o))+I.glog(e.get(n)));return new G(t,0)},mod:function(e){if(this.getLength()-e.getLength()<0)return this;for(var t=I.glog(this.get(0))-I.glog(e.get(0)),o=new Array(this.getLength()),n=0;n<this.getLength();n++)o[n]=this.get(n);for(var r=0;r<e.getLength();r++)o[r]^=I.gexp(I.glog(e.get(r))+t);return new G(o,0).mod(e)}};Te.exports=G});var Me=k((Dt,Ae)=>{Ae.exports={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7}});var _e=k((It,we)=>{var M=re(),ke=oe(),rt=ne(),O=Me(),T={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;T.getBCHDigit(t)-T.getBCHDigit(T.G15)>=0;)t^=T.G15<<T.getBCHDigit(t)-T.getBCHDigit(T.G15);return(e<<10|t)^T.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;T.getBCHDigit(t)-T.getBCHDigit(T.G18)>=0;)t^=T.G18<<T.getBCHDigit(t)-T.getBCHDigit(T.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;e!==0;)t++,e>>>=1;return t},getPatternPosition:function(e){return T.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,o){switch(e){case O.PATTERN000:return(t+o)%2===0;case O.PATTERN001:return t%2===0;case O.PATTERN010:return o%3===0;case O.PATTERN011:return(t+o)%3===0;case O.PATTERN100:return(Math.floor(t/2)+Math.floor(o/3))%2===0;case O.PATTERN101:return t*o%2+t*o%3===0;case O.PATTERN110:return(t*o%2+t*o%3)%2===0;case O.PATTERN111:return(t*o%3+(t+o)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new ke([1],0),o=0;o<e;o++)t=t.multiply(new ke([1,rt.gexp(o)],0));return t},getLengthInBits:function(e,t){if(1<=t&&t<10)switch(e){case M.MODE_NUMBER:return 10;case M.MODE_ALPHA_NUM:return 9;case M.MODE_8BIT_BYTE:return 8;case M.MODE_KANJI:return 8;default:throw new Error("mode:"+e)}else if(t<27)switch(e){case M.MODE_NUMBER:return 12;case M.MODE_ALPHA_NUM:return 11;case M.MODE_8BIT_BYTE:return 16;case M.MODE_KANJI:return 10;default:throw new Error("mode:"+e)}else if(t<41)switch(e){case M.MODE_NUMBER:return 14;case M.MODE_ALPHA_NUM:return 13;case M.MODE_8BIT_BYTE:return 16;case M.MODE_KANJI:return 12;default:throw new Error("mode:"+e)}else throw new Error("type:"+t)},getLostPoint:function(e){var t=e.getModuleCount(),o=0,n=0,r=0;for(n=0;n<t;n++)for(r=0;r<t;r++){for(var s=0,i=e.isDark(n,r),a=-1;a<=1;a++)if(!(n+a<0||t<=n+a))for(var u=-1;u<=1;u++)r+u<0||t<=r+u||a===0&&u===0||i===e.isDark(n+a,r+u)&&s++;s>5&&(o+=3+s-5)}for(n=0;n<t-1;n++)for(r=0;r<t-1;r++){var c=0;e.isDark(n,r)&&c++,e.isDark(n+1,r)&&c++,e.isDark(n,r+1)&&c++,e.isDark(n+1,r+1)&&c++,(c===0||c===4)&&(o+=3)}for(n=0;n<t;n++)for(r=0;r<t-6;r++)e.isDark(n,r)&&!e.isDark(n,r+1)&&e.isDark(n,r+2)&&e.isDark(n,r+3)&&e.isDark(n,r+4)&&!e.isDark(n,r+5)&&e.isDark(n,r+6)&&(o+=40);for(r=0;r<t;r++)for(n=0;n<t-6;n++)e.isDark(n,r)&&!e.isDark(n+1,r)&&e.isDark(n+2,r)&&e.isDark(n+3,r)&&e.isDark(n+4,r)&&!e.isDark(n+5,r)&&e.isDark(n+6,r)&&(o+=40);var l=0;for(r=0;r<t;r++)for(n=0;n<t;n++)e.isDark(n,r)&&l++;var m=Math.abs(100*l/t/t-50)/5;return o+=m*10,o}};we.exports=T});var ie=k((Rt,Ce)=>{Ce.exports={L:1,M:0,Q:3,H:2}});var ye=k((Bt,Ee)=>{var Y=ie();function E(e,t){this.totalCount=e,this.dataCount=t}E.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];E.getRSBlocks=function(e,t){var o=E.getRsBlockTable(e,t);if(o===void 0)throw new Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var n=o.length/3,r=[],s=0;s<n;s++)for(var i=o[s*3+0],a=o[s*3+1],u=o[s*3+2],c=0;c<i;c++)r.push(new E(a,u));return r};E.getRsBlockTable=function(e,t){switch(t){case Y.L:return E.RS_BLOCK_TABLE[(e-1)*4+0];case Y.M:return E.RS_BLOCK_TABLE[(e-1)*4+1];case Y.Q:return E.RS_BLOCK_TABLE[(e-1)*4+2];case Y.H:return E.RS_BLOCK_TABLE[(e-1)*4+3];default:return}};Ee.exports=E});var be=k((Ut,Pe)=>{function Le(){this.buffer=[],this.length=0}Le.prototype={get:function(e){var t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(var o=0;o<t;o++)this.putBit((e>>>t-o-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};Pe.exports=Le});var Ie=k((St,De)=>{var nt=me(),x=_e(),ot=oe(),Oe=ye(),xe=be();function y(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}y.prototype={addData:function(e){var t=new nt(e);this.dataList.push(t),this.dataCache=null},isDark:function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw new Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var e=1;for(e=1;e<40;e++){for(var t=Oe.getRSBlocks(e,this.errorCorrectLevel),o=new xe,n=0,r=0;r<t.length;r++)n+=t[r].dataCount;for(var s=0;s<this.dataList.length;s++){var i=this.dataList[s];o.put(i.mode,4),o.put(i.getLength(),x.getLengthInBits(i.mode,e)),i.write(o)}if(o.getLengthInBits()<=n*8)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=this.typeNumber*4+17,this.modules=new Array(this.moduleCount);for(var o=0;o<this.moduleCount;o++){this.modules[o]=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++)this.modules[o][n]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e),this.dataCache===null&&(this.dataCache=y.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var o=-1;o<=7;o++)if(!(e+o<=-1||this.moduleCount<=e+o))for(var n=-1;n<=7;n++)t+n<=-1||this.moduleCount<=t+n||(0<=o&&o<=6&&(n===0||n===6)||0<=n&&n<=6&&(o===0||o===6)||2<=o&&o<=4&&2<=n&&n<=4?this.modules[e+o][t+n]=!0:this.modules[e+o][t+n]=!1)},getBestMaskPattern:function(){for(var e=0,t=0,o=0;o<8;o++){this.makeImpl(!0,o);var n=x.getLostPoint(this);(o===0||e>n)&&(e=n,t=o)}return t},createMovieClip:function(e,t,o){var n=e.createEmptyMovieClip(t,o),r=1;this.make();for(var s=0;s<this.modules.length;s++)for(var i=s*r,a=0;a<this.modules[s].length;a++){var u=a*r,c=this.modules[s][a];c&&(n.beginFill(0,100),n.moveTo(u,i),n.lineTo(u+r,i),n.lineTo(u+r,i+r),n.lineTo(u,i+r),n.endFill())}return n},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)this.modules[e][6]===null&&(this.modules[e][6]=e%2===0);for(var t=8;t<this.moduleCount-8;t++)this.modules[6][t]===null&&(this.modules[6][t]=t%2===0)},setupPositionAdjustPattern:function(){for(var e=x.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var o=0;o<e.length;o++){var n=e[t],r=e[o];if(this.modules[n][r]===null)for(var s=-2;s<=2;s++)for(var i=-2;i<=2;i++)Math.abs(s)===2||Math.abs(i)===2||s===0&&i===0?this.modules[n+s][r+i]=!0:this.modules[n+s][r+i]=!1}},setupTypeNumber:function(e){for(var t=x.getBCHTypeNumber(this.typeNumber),o,n=0;n<18;n++)o=!e&&(t>>n&1)===1,this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=o;for(var r=0;r<18;r++)o=!e&&(t>>r&1)===1,this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=o},setupTypeInfo:function(e,t){for(var o=this.errorCorrectLevel<<3|t,n=x.getBCHTypeInfo(o),r,s=0;s<15;s++)r=!e&&(n>>s&1)===1,s<6?this.modules[s][8]=r:s<8?this.modules[s+1][8]=r:this.modules[this.moduleCount-15+s][8]=r;for(var i=0;i<15;i++)r=!e&&(n>>i&1)===1,i<8?this.modules[8][this.moduleCount-i-1]=r:i<9?this.modules[8][15-i-1+1]=r:this.modules[8][15-i-1]=r;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var o=-1,n=this.moduleCount-1,r=7,s=0,i=this.moduleCount-1;i>0;i-=2)for(i===6&&i--;;){for(var a=0;a<2;a++)if(this.modules[n][i-a]===null){var u=!1;s<e.length&&(u=(e[s]>>>r&1)===1);var c=x.getMask(t,n,i-a);c&&(u=!u),this.modules[n][i-a]=u,r--,r===-1&&(s++,r=7)}if(n+=o,n<0||this.moduleCount<=n){n-=o,o=-o;break}}}};y.PAD0=236;y.PAD1=17;y.createData=function(e,t,o){for(var n=Oe.getRSBlocks(e,t),r=new xe,s=0;s<o.length;s++){var i=o[s];r.put(i.mode,4),r.put(i.getLength(),x.getLengthInBits(i.mode,e)),i.write(r)}for(var a=0,u=0;u<n.length;u++)a+=n[u].dataCount;if(r.getLengthInBits()>a*8)throw new Error("code length overflow. ("+r.getLengthInBits()+">"+a*8+")");for(r.getLengthInBits()+4<=a*8&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(!1);for(;!(r.getLengthInBits()>=a*8||(r.put(y.PAD0,8),r.getLengthInBits()>=a*8));)r.put(y.PAD1,8);return y.createBytes(r,n)};y.createBytes=function(e,t){for(var o=0,n=0,r=0,s=new Array(t.length),i=new Array(t.length),a=0;a<t.length;a++){var u=t[a].dataCount,c=t[a].totalCount-u;n=Math.max(n,u),r=Math.max(r,c),s[a]=new Array(u);for(var l=0;l<s[a].length;l++)s[a][l]=255&e.buffer[l+o];o+=u;var m=x.getErrorCorrectPolynomial(c),f=new ot(s[a],m.getLength()-1),p=f.mod(m);i[a]=new Array(m.getLength()-1);for(var g=0;g<i[a].length;g++){var d=g+p.getLength()-i[a].length;i[a][g]=d>=0?p.get(d):0}}for(var h=0,_=0;_<t.length;_++)h+=t[_].totalCount;for(var C=new Array(h),N=0,K=0;K<n;K++)for(var $=0;$<t.length;$++)K<s[$].length&&(C[N++]=s[$][K]);for(var H=0;H<r;H++)for(var W=0;W<t.length;W++)H<i[W].length&&(C[N++]=i[W][H]);return C};De.exports=y});var Ue=k((Nt,Be)=>{var it=Ie(),Re=ie(),st="\x1B[40m \x1B[0m",z="\x1B[47m \x1B[0m",at=function(e){return e?st:z},se=function(e){return{times:function(t){return new Array(t).join(e)}}},ct=function(e,t){for(var o=new Array(e),n=0;n<e;n++)o[n]=t;return o};Be.exports={error:Re.L,generate:function(e,t,o){typeof t=="function"&&(o=t,t={});var n=new it(-1,this.error);n.addData(e),n.make();var r="";if(t&&t.small){var s=!0,i=!1,a=n.getModuleCount(),u=n.modules.slice(),c=a%2===1;c&&u.push(ct(a,i));var l={WHITE_ALL:"\u2588",WHITE_BLACK:"\u2580",BLACK_WHITE:"\u2584",BLACK_ALL:" "},m=se(l.BLACK_WHITE).times(a+3),f=se(l.WHITE_BLACK).times(a+3);r+=m+`
2
2
  `;for(var p=0;p<a;p+=2){r+=l.WHITE_ALL;for(var g=0;g<a;g++)u[p][g]===i&&u[p+1][g]===i?r+=l.WHITE_ALL:u[p][g]===i&&u[p+1][g]===s?r+=l.WHITE_BLACK:u[p][g]===s&&u[p+1][g]===i?r+=l.BLACK_WHITE:r+=l.BLACK_ALL;r+=l.WHITE_ALL+`
3
3
  `}c||(r+=f)}else{var d=se(z).times(n.getModuleCount()+3);r+=d+`
4
4
  `,n.modules.forEach(function(h){r+=z,r+=h.map(at).join(""),r+=z+`
5
- `}),r+=d}o?o(r):console.log(r)},setErrorLevel:function(e){this.error=Re[e]||this.error}}});var He={};j(He,{fetchCMTokenModels:()=>de,loginCMTokenOAuth:()=>ue,refreshCMTokenToken:()=>le});import{generatePkceVerifierChallenge as ut,toFormUrlEncoded as ae}from"openclaw/plugin-sdk/provider-auth";import{randomBytes as lt,randomUUID as dt}from"node:crypto";import*as X from"node:os";function ce(){try{let{ensureGlobalUndiciEnvProxyDispatcher:e}=qe("openclaw/plugin-sdk/runtime-env");e()}catch{}}function V(e){let t=e?.oauthBaseUrl||Ne.baseUrl,o=e?.clientId||Ne.clientId;return{codeEndpoint:`${t}/oauth/device/code`,tokenEndpoint:`${t}/oauth/device/token`,authorizeEndpoint:`${t}/oauth/authorize`,clientId:o,baseUrl:t}}function pt(){let{verifier:e,challenge:t}=ut(),o=lt(16).toString("base64url");return{verifier:e,challenge:t,state:o}}async function mt(e){let t=V(e.config);ce();try{let o=await fetch(t.codeEndpoint,{method:"POST",signal:AbortSignal.timeout(J),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","x-request-id":dt()},body:ae({response_type:"device_code",client_id:t.clientId,scope:ht,code_challenge:e.challenge,code_challenge_method:"S256",state:e.state})}),n=await o.text();if(!o.ok)throw new Error(`CMToken OAuth device code request failed: ${n||o.status}`);let r=JSON.parse(n);if(!r.device_code||!r.user_code||!r.verification_uri)throw new Error(r.error??"CMToken OAuth returned an incomplete payload (missing device_code, user_code or verification_uri).");return r}catch(o){throw new Error(`CMToken OAuth \u8BBE\u5907\u8BF7\u6C42\u8FDE\u63A5\u5931\u8D25 (${t.codeEndpoint}): ${o instanceof Error?o.message:String(o)}`)}}async function vt(e){let t=V(e.config);ce();let o;try{o=await fetch(t.tokenEndpoint,{method:"POST",signal:AbortSignal.timeout(J),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:ae({grant_type:gt,client_id:t.clientId,device_code:e.deviceCode,code_verifier:e.verifier})})}catch(s){return{status:"pending",message:`\u7F51\u7EDC\u8BF7\u6C42\u4E0D\u7A33\u5B9A\uFF0C\u6B63\u5728\u91CD\u8BD5... (${s instanceof Error?s.message:String(s)})`}}let n=await o.text(),r;try{r=JSON.parse(n)}catch{r=void 0}return o.ok?r?!r.access_token||!r.refresh_token||!r.expires_in?{status:"error",message:"CMToken OAuth \u8FD4\u56DE\u7684\u4EE4\u724C\u8D1F\u8F7D\u4E0D\u5B8C\u6574\u3002"}:{status:"success",token:{access:r.access_token,refresh:r.refresh_token,expires:Date.now()+r.expires_in*1e3,resourceUrl:r.resource_url,notification_message:r.notification_message}}:{status:"error",message:"CMToken OAuth \u65E0\u6CD5\u89E3\u6790\u54CD\u5E94\u3002"}:r?.error==="authorization_pending"?{status:"pending",message:"\u6B63\u5728\u7B49\u5F85\u7528\u6237\u6388\u6743..."}:r?.error==="slow_down"?{status:"pending",message:"\u901F\u7387\u53D7\u9650\uFF0C\u6B63\u5728\u51CF\u6162\u8BF7\u6C42..."}:{status:"error",message:r?.error_description??r?.error??n??"OAuth \u4EE4\u724C\u8BF7\u6C42\u5931\u8D25"}}function Ke(e,t=!0){return new Promise(o=>{$e.default.generate(e,{small:t},n=>{o(n)})})}async function Tt(){return process.stdout.isTTY?new Promise(e=>{let t=setTimeout(()=>{o(),e({isModern:!1,debugInfo:"timeout_no_response"})},300);function o(){clearTimeout(t),process.stdin.removeListener("data",n),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause()}function n(r){o();let s=r.toString(),i=!1;process.platform==="win32"?i=s.includes("\x1B]11;"):i=s.includes("\x1B[?")||s.includes("\x1B[>")||s.includes("\x1B]11;"),e({isModern:i,debugInfo:JSON.stringify(s)})}try{process.stdin.resume(),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.once("data",n),process.stdout.write("\x1B[c\x1B]11;?\x1B\\")}catch(r){o(),e({isModern:!1,debugInfo:`error_${String(r)}`})}}):{isModern:!1,debugInfo:"not_tty"}}async function ue(e){let t=V(e.config),o=e.runtime?.log??console.log,n=e.runtime?.error??console.error;e.progress.update("\u6B63\u5728\u521D\u59CB\u5316 CMToken OAuth...");let r,{verifier:s,challenge:i,state:a}=pt();try{e.progress.update("\u6B63\u5728\u4ECE\u670D\u52A1\u5668\u83B7\u53D6\u8EAB\u4EFD\u9A8C\u8BC1\u94FE\u63A5..."),r=await mt({challenge:i,state:a,config:e.config})}catch(d){let h=t.baseUrl,C=await Ke(h),N=["\u{1F6A8} **\u8EAB\u4EFD\u9A8C\u8BC1\u8FDE\u63A5\u5931\u8D25**","",`\u9519\u8BEF\u8BE6\u60C5: ${d instanceof Error?d.message:String(d)}`,"","\u7531\u4E8E\u7F51\u7EDC\u6216\u5B89\u5168\u62E6\u622A\uFF0C\u65E0\u6CD5\u83B7\u53D6\u52A8\u6001\u4E8C\u7EF4\u7801\u3002\u8BF7\u68C0\u67E5\u60A8\u7684\u7F51\u7EDC\u8FDE\u63A5\u5E76\u5C1D\u8BD5\u5728\u7EC8\u7AEF\u67E5\u770B\u9A8C\u8BC1\u94FE\u63A5\u3002",`\u8BBF\u95EE\u5730\u5740: [${h}](${h})`];throw await e.note(N.join(`
6
- `),"CMToken \u8BA4\u8BC1\u5931\u8D25 (\u5907\u9009\u65B9\u6848)"),d}let u=r.verification_uri_complete??r.verification_uri,c=X.platform()==="win32",l=!0;c&&(l=(await Tt()).isModern);let m=await Ke(u,l),f=[`\u9A8C\u8BC1\u5730\u5740: ${u}`,`\u7528\u6237\u4EE3\u7801: ${r.user_code}`,"\u8BF7\u626B\u63CF\u4E0A\u65B9\u4E8C\u7EF4\u7801\uFF0C\u6216\u590D\u5236\u94FE\u63A5\u5728\u6D4F\u89C8\u5668\u4E2D\u6388\u6743\u3002"];o(m),await e.note(f.join(`
7
- `),"CMToken OAuth \u767B\u5F55"),e.progress.stop("\u7B49\u5F85\u626B\u7801\u6388\u6743\u4E2D...\uFF08\u53EF\u81EA\u7531\u5411\u4E0A\u6EDA\u52A8\u67E5\u770B\u4E8C\u7EF4\u7801\uFF09");let p=r.interval?r.interval*1e3:2e3,g=Date.now()+r.expires_in*1e3;for(;Date.now()<g;){let d=await vt({deviceCode:r.device_code,verifier:s,config:e.config});if(d.status==="success")return d.token;if(d.status==="error")throw new Error(d.message);d.message?.includes("slow down")&&(p=Math.min(p*1.5,1e4)),await new Promise(h=>setTimeout(h,p))}throw new Error("CMToken OAuth \u5728\u6388\u6743\u5B8C\u6210\u524D\u8D85\u65F6\u3002")}async function le(e){let t=V(e.config);ce();let o=await fetch(t.tokenEndpoint,{method:"POST",signal:AbortSignal.timeout(J),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:ae({grant_type:"refresh_token",client_id:t.clientId,refresh_token:e.refreshToken})}),n=await o.text();if(!o.ok)throw new Error(`CMToken OAuth refresh failed: ${n||o.status}`);let r=JSON.parse(n);if(r.error)throw new Error(`CMToken OAuth refresh failed: ${r.error_description||r.error}`);if(!r.access_token||!r.refresh_token||!r.expires_in)throw new Error("CMToken OAuth refresh returned incomplete token payload.");return{access:r.access_token,refresh:r.refresh_token,expires:Date.now()+r.expires_in*1e3,resourceUrl:r.resource_url,notification_message:r.notification_message}}async function de(e){let t=e.baseUrl,o=await fetch(`${t}/models`,{signal:AbortSignal.timeout(J),headers:{Authorization:`Bearer ${e.accessToken}`,Accept:"application/json"}});if(!o.ok){let r=await o.text();throw new Error(`Failed to fetch models: ${r||o.statusText}`)}return((await o.json()).data??[]).map(r=>({id:r.id,name:r.name??r.id,context_window:r.context_window}))}var $e,J,Ne,ft,ht,gt,fe=Q(()=>{"use strict";$e=je(Se(),1),J=900*1e3;Ne={baseUrl:"https://agentlink.idaas.cmpassport.com/oauth2-service",clientId:"00a60e3140284b408d51a436ecce121d"},ft=X.hostname(),ht=`profile model.completion identity:device:${ft}`,gt="urn:ietf:params:oauth:grant-type:device_code"});var We={};j(We,{fetchCMTokenModels:()=>de,loginCMTokenOAuth:()=>ue,refreshCMTokenToken:()=>le});var Qe=Q(()=>{"use strict";fe()});import{definePluginEntry as Et}from"openclaw/plugin-sdk/plugin-entry";te();import{formatErrorMessage as At}from"openclaw/plugin-sdk/error-runtime";import{buildOauthProviderAuthResult as Mt}from"openclaw/plugin-sdk/provider-auth";var A="cmtoken",he="CMToken",q="https://maas.gd.chinamobile.com:36007/ai/uifm/open/v1/models",b="https://maas.gd.chinamobile.com:36007/ai/uifm/open/v1",D=[{id:"minmax",name:"minmax",reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:192e3,maxTokens:8192}],L=null,P=(e,t)=>globalThis.performance?performance.now():Date.now();async function kt(e){let t=e.config,o=P("Entering resolveApiCatalog");if(L&&Date.now()-L.timestamp<3e5)return P("Exiting resolveApiCatalog (Cache hit)",o),L.data;if(t.models&&Array.isArray(t.models)&&t.models.length>0){let c={provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:t.models}};return L={data:c,timestamp:Date.now()},P("Exiting resolveApiCatalog (Fast path via config.models)",o),setTimeout(async()=>{try{let{fetchCMTokenModels:l}=await Promise.resolve().then(()=>(U(),R)),m=e.resolveProviderAuth(A),f=m.apiKey?.trim()||m.discoveryApiKey?.trim()||e.config?.apiKey?.trim(),p=m.access?.trim()||f;if(p&&p.length>15){let g=await l(t.discoveryUrl||q,15e3,p);if(g&&g.length>0){let d=g.map(h=>({id:h.id,name:h.name||h.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:h.contextWindow||192e3,maxTokens:h.maxTokens||8192}));L={data:{provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:d}},timestamp:Date.now()}}}}catch{}},1e3),c}let n=t.discoveryUrl||q,r=[];try{let{fetchCMTokenModels:c,CMTokenSubscriptionError:l,CMTokenDiscoveryError:m}=await Promise.resolve().then(()=>(U(),R)),f=e.resolveProviderAuth(A),p=f.apiKey?.trim()||f.discoveryApiKey?.trim()||e.config?.apiKey?.trim(),d=f.access?.trim()||p;if(!d||d.length<16||d==="undefined"||d==="null"||d==="initial_activation_token")return P("Skipping CMToken discovery: No valid token available yet."),{provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:D}};let h=f.expires;if(h&&Date.now()>h)return P("Skipping CMToken discovery: OAuth token expired, awaiting refresh."),{provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:D}};let C=await c(n,15e3,d);C&&C.length>0&&(r=C.map(E=>({id:E.id,name:E.name||E.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:E.contextWindow||192e3,maxTokens:E.maxTokens||8192})))}catch(c){let{CMTokenSubscriptionError:l,CMTokenDiscoveryError:m}=await Promise.resolve().then(()=>(U(),R));c instanceof l?(P(`Subscription missing for CMToken: ${c.message}`),r=[{id:"subscription-required",name:"\u26A0\uFE0F \u8BA2\u9605\u5230\u671F (\u8BF7\u68C0\u67E5\u5957\u9910)",reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:0,maxTokens:0},...D]):c instanceof m?(P(`Discovery API error (${c.status}): ${c.message}`),r=[{id:"api-error",name:`\u26A0\uFE0F \u670D\u52A1\u5F02\u5E38 (${c.status})`,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:0,maxTokens:0},...D]):P(`Discovery error: ${c}`)}let s=r.length===0;s&&(r=D.map(c=>({...c})));let a={provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:r}},u=s?29e4:0;return L={data:a,timestamp:Date.now()-u},P(s?"Exiting resolveApiCatalog (Fallback used)":"Exiting resolveApiCatalog (Success)",o),a}function wt(e){return L?.data?.provider?.models?L.data.provider.models.map(t=>({...t,provider:A})):D.map(t=>({...t,provider:A}))}async function Fe(e,t){return t.length>0?t[0].id:ee}async function Ct(e){let t=e.prompter.progress("\u6B63\u5728\u542F\u52A8 CMToken OAuth\u2026");try{let{loginCMTokenOAuth:o}=await Promise.resolve().then(()=>(Qe(),We)),n=e.config,r=await o({openUrl:e.openUrl,note:e.prompter.note,progress:t,runtime:e.runtime,config:{oauthBaseUrl:n.oauthBaseUrl,clientId:n.clientId}});t.stop("CMToken OAuth \u5B8C\u6210");let s=n.discoveryUrl||q,{fetchCMTokenModels:i,CMTokenSubscriptionError:a,CMTokenDiscoveryError:u}=await Promise.resolve().then(()=>(U(),R)),c=[];try{c=await i(s,15e3,r.access)}catch(f){if(f instanceof a)e.prompter.note({title:"CMToken \u8BA2\u9605\u63D0\u9192",body:`\u60A8\u7684\u8D26\u53F7\u8BA4\u8BC1\u6210\u529F\uFF0C\u4F46\u5F53\u524D\u672A\u5305\u542B\u53EF\u7528\u8BA2\u9605\u5957\u9910\u3002\u90E8\u5206\u6A21\u578B\uFF08\u5982 minmax\uFF09\u53EF\u80FD\u65E0\u6CD5\u4F7F\u7528\uFF0C\u8BF7\u68C0\u67E5\u60A8\u7684\u5957\u9910\u72B6\u6001\u3002
5
+ `}),r+=d}o?o(r):console.log(r)},setErrorLevel:function(e){this.error=Re[e]||this.error}}});var He={};j(He,{fetchCMTokenModels:()=>le,loginCMTokenOAuth:()=>ce,refreshCMTokenToken:()=>ue});import{randomBytes as Se,randomUUID as ut,createHash as lt}from"node:crypto";import*as X from"node:os";function ae(){try{let{ensureGlobalUndiciEnvProxyDispatcher:e}=qe("openclaw/plugin-sdk/runtime-env");e()}catch{}}function V(e){let t=e?.oauthBaseUrl||Ne.baseUrl,o=e?.clientId||Ne.clientId;return{codeEndpoint:`${t}/oauth/device/code`,tokenEndpoint:`${t}/oauth/device/token`,authorizeEndpoint:`${t}/oauth/authorize`,clientId:o,baseUrl:t}}function gt(){let e=Se(32).toString("base64url"),t=lt("sha256").update(e).digest("base64url"),o=Se(16).toString("base64url");return{verifier:e,challenge:t,state:o}}async function pt(e){let t=V(e.config);ae();try{let o=await fetch(t.codeEndpoint,{method:"POST",signal:AbortSignal.timeout(J),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","x-request-id":ut()},body:new URLSearchParams({response_type:"device_code",client_id:t.clientId,scope:ft,code_challenge:e.challenge,code_challenge_method:"S256",state:e.state})}),n=await o.text();if(!o.ok)throw new Error(`CMToken OAuth device code request failed: ${n||o.status}`);let r=JSON.parse(n);if(!r.device_code||!r.user_code||!r.verification_uri)throw new Error(r.error??"CMToken OAuth returned an incomplete payload (missing device_code, user_code or verification_uri).");return r}catch(o){throw new Error(`CMToken OAuth \u8BBE\u5907\u8BF7\u6C42\u8FDE\u63A5\u5931\u8D25 (${t.codeEndpoint}): ${o instanceof Error?o.message:String(o)}`)}}async function mt(e){let t=V(e.config);ae();let o;try{o=await fetch(t.tokenEndpoint,{method:"POST",signal:AbortSignal.timeout(J),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:ht,client_id:t.clientId,device_code:e.deviceCode,code_verifier:e.verifier})})}catch(s){return{status:"pending",message:`\u7F51\u7EDC\u8BF7\u6C42\u4E0D\u7A33\u5B9A\uFF0C\u6B63\u5728\u91CD\u8BD5... (${s instanceof Error?s.message:String(s)})`}}let n=await o.text(),r;try{r=JSON.parse(n)}catch{r=void 0}return o.ok?r?!r.access_token||!r.refresh_token||!r.expires_in?{status:"error",message:"CMToken OAuth \u8FD4\u56DE\u7684\u4EE4\u724C\u8D1F\u8F7D\u4E0D\u5B8C\u6574\u3002"}:{status:"success",token:{access:r.access_token,refresh:r.refresh_token,expires:Date.now()+r.expires_in*1e3,resourceUrl:r.resource_url,notification_message:r.notification_message}}:{status:"error",message:"CMToken OAuth \u65E0\u6CD5\u89E3\u6790\u54CD\u5E94\u3002"}:r?.error==="authorization_pending"?{status:"pending",message:"\u6B63\u5728\u7B49\u5F85\u7528\u6237\u6388\u6743..."}:r?.error==="slow_down"?{status:"pending",message:"\u901F\u7387\u53D7\u9650\uFF0C\u6B63\u5728\u51CF\u6162\u8BF7\u6C42..."}:{status:"error",message:r?.error_description??r?.error??n??"OAuth \u4EE4\u724C\u8BF7\u6C42\u5931\u8D25"}}function Ke(e,t=!0){return new Promise(o=>{$e.default.generate(e,{small:t},n=>{o(n)})})}async function vt(){return process.stdout.isTTY?new Promise(e=>{let t=setTimeout(()=>{o(),e({isModern:!1,debugInfo:"timeout_no_response"})},300);function o(){clearTimeout(t),process.stdin.removeListener("data",n),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause()}function n(r){o();let s=r.toString(),i=!1;process.platform==="win32"?i=s.includes("\x1B]11;"):i=s.includes("\x1B[?")||s.includes("\x1B[>")||s.includes("\x1B]11;"),e({isModern:i,debugInfo:JSON.stringify(s)})}try{process.stdin.resume(),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.once("data",n),process.stdout.write("\x1B[c\x1B]11;?\x1B\\")}catch(r){o(),e({isModern:!1,debugInfo:`error_${String(r)}`})}}):{isModern:!1,debugInfo:"not_tty"}}async function ce(e){let t=V(e.config),o=e.runtime?.log??console.log,n=e.runtime?.error??console.error;e.progress.update("\u6B63\u5728\u521D\u59CB\u5316 CMToken OAuth...");let r,{verifier:s,challenge:i,state:a}=gt();try{e.progress.update("\u6B63\u5728\u4ECE\u670D\u52A1\u5668\u83B7\u53D6\u8EAB\u4EFD\u9A8C\u8BC1\u94FE\u63A5..."),r=await pt({challenge:i,state:a,config:e.config})}catch(d){let h=t.baseUrl,_=await Ke(h),N=["\u{1F6A8} **\u8EAB\u4EFD\u9A8C\u8BC1\u8FDE\u63A5\u5931\u8D25**","",`\u9519\u8BEF\u8BE6\u60C5: ${d instanceof Error?d.message:String(d)}`,"","\u7531\u4E8E\u7F51\u7EDC\u6216\u5B89\u5168\u62E6\u622A\uFF0C\u65E0\u6CD5\u83B7\u53D6\u52A8\u6001\u4E8C\u7EF4\u7801\u3002\u8BF7\u68C0\u67E5\u60A8\u7684\u7F51\u7EDC\u8FDE\u63A5\u5E76\u5C1D\u8BD5\u5728\u7EC8\u7AEF\u67E5\u770B\u9A8C\u8BC1\u94FE\u63A5\u3002",`\u8BBF\u95EE\u5730\u5740: [${h}](${h})`];throw await e.note(N.join(`
6
+ `),"CMToken \u8BA4\u8BC1\u5931\u8D25 (\u5907\u9009\u65B9\u6848)"),d}let u=r.verification_uri_complete??r.verification_uri,c=X.platform()==="win32",l=!0;c&&(l=(await vt()).isModern);let m=await Ke(u,l),f=[`\u9A8C\u8BC1\u5730\u5740: ${u}`,`\u7528\u6237\u4EE3\u7801: ${r.user_code}`,"\u8BF7\u626B\u63CF\u4E0A\u65B9\u4E8C\u7EF4\u7801\uFF0C\u6216\u590D\u5236\u94FE\u63A5\u5728\u6D4F\u89C8\u5668\u4E2D\u6388\u6743\u3002"];o(m),await e.note(f.join(`
7
+ `),"CMToken OAuth \u767B\u5F55"),e.progress.stop("\u7B49\u5F85\u626B\u7801\u6388\u6743\u4E2D...\uFF08\u53EF\u81EA\u7531\u5411\u4E0A\u6EDA\u52A8\u67E5\u770B\u4E8C\u7EF4\u7801\uFF09");let p=r.interval?r.interval*1e3:2e3,g=Date.now()+r.expires_in*1e3;for(;Date.now()<g;){let d=await mt({deviceCode:r.device_code,verifier:s,config:e.config});if(d.status==="success")return d.token;if(d.status==="error")throw new Error(d.message);d.message?.includes("slow down")&&(p=Math.min(p*1.5,1e4)),await new Promise(h=>setTimeout(h,p))}throw new Error("CMToken OAuth \u5728\u6388\u6743\u5B8C\u6210\u524D\u8D85\u65F6\u3002")}async function ue(e){let t=V(e.config);ae();let o=await fetch(t.tokenEndpoint,{method:"POST",signal:AbortSignal.timeout(J),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",client_id:t.clientId,refresh_token:e.refreshToken})}),n=await o.text();if(!o.ok)throw new Error(`CMToken OAuth refresh failed: ${n||o.status}`);let r=JSON.parse(n);if(r.error)throw new Error(`CMToken OAuth refresh failed: ${r.error_description||r.error}`);if(!r.access_token||!r.refresh_token||!r.expires_in)throw new Error("CMToken OAuth refresh returned incomplete token payload.");return{access:r.access_token,refresh:r.refresh_token,expires:Date.now()+r.expires_in*1e3,resourceUrl:r.resource_url,notification_message:r.notification_message}}async function le(e){let t=e.baseUrl,o=await fetch(`${t}/models`,{signal:AbortSignal.timeout(J),headers:{Authorization:`Bearer ${e.accessToken}`,Accept:"application/json"}});if(!o.ok){let r=await o.text();throw new Error(`Failed to fetch models: ${r||o.statusText}`)}return((await o.json()).data??[]).map(r=>({id:r.id,name:r.name??r.id,context_window:r.context_window}))}var $e,J,Ne,dt,ft,ht,de=Q(()=>{"use strict";$e=je(Ue(),1),J=900*1e3;Ne={baseUrl:"https://agentlink.idaas.cmpassport.com/oauth2-service",clientId:"00a60e3140284b408d51a436ecce121d"},dt=X.hostname(),ft=`profile model.completion identity:device:${dt}`,ht="urn:ietf:params:oauth:grant-type:device_code"});var We={};j(We,{fetchCMTokenModels:()=>le,loginCMTokenOAuth:()=>ce,refreshCMTokenToken:()=>ue});var Qe=Q(()=>{"use strict";de()});import{definePluginEntry as _t}from"openclaw/plugin-sdk/plugin-entry";te();import{formatErrorMessage as Tt}from"openclaw/plugin-sdk/error-runtime";import{buildOauthProviderAuthResult as At}from"openclaw/plugin-sdk/provider-auth";var A="cmtoken",fe="CMToken",q="https://maas.gd.chinamobile.com:36007/ai/uifm/open/v1/models",b="https://maas.gd.chinamobile.com:36007/ai/uifm/open/v1",D=[{id:"minmax",name:"minmax",reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:192e3,maxTokens:8192}],L=null,P=(e,t)=>globalThis.performance?performance.now():Date.now();async function Mt(e){let t=e.config,o=P("Entering resolveApiCatalog");if(L&&Date.now()-L.timestamp<3e5)return P("Exiting resolveApiCatalog (Cache hit)",o),L.data;if(t.models&&Array.isArray(t.models)&&t.models.length>0){let c={provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:t.models}};return L={data:c,timestamp:Date.now()},P("Exiting resolveApiCatalog (Fast path via config.models)",o),setTimeout(async()=>{try{let{fetchCMTokenModels:l}=await Promise.resolve().then(()=>(U(),B)),m=e.resolveProviderAuth(A),f=m.apiKey?.trim()||m.discoveryApiKey?.trim()||e.config?.apiKey?.trim(),p=m.access?.trim()||f;if(p&&p.length>15){let g=await l(t.discoveryUrl||q,15e3,p);if(g&&g.length>0){let d=g.map(h=>({id:h.id,name:h.name||h.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:h.contextWindow||192e3,maxTokens:h.maxTokens||8192}));L={data:{provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:d}},timestamp:Date.now()}}}}catch{}},1e3),c}let n=t.discoveryUrl||q,r=[];try{let{fetchCMTokenModels:c,CMTokenSubscriptionError:l,CMTokenDiscoveryError:m}=await Promise.resolve().then(()=>(U(),B)),f=e.resolveProviderAuth(A),p=f.apiKey?.trim()||f.discoveryApiKey?.trim()||e.config?.apiKey?.trim(),d=f.access?.trim()||p;if(!d||d.length<16||d==="undefined"||d==="null"||d==="initial_activation_token")return P("Skipping CMToken discovery: No valid token available yet."),{provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:D}};let h=f.expires;if(h&&Date.now()>h)return P("Skipping CMToken discovery: OAuth token expired, awaiting refresh."),{provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:D}};let _=await c(n,15e3,d);_&&_.length>0&&(r=_.map(C=>({id:C.id,name:C.name||C.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:C.contextWindow||192e3,maxTokens:C.maxTokens||8192})))}catch(c){let{CMTokenSubscriptionError:l,CMTokenDiscoveryError:m}=await Promise.resolve().then(()=>(U(),B));c instanceof l?(P(`Subscription missing for CMToken: ${c.message}`),r=[{id:"subscription-required",name:"\u26A0\uFE0F \u8BA2\u9605\u5230\u671F (\u8BF7\u68C0\u67E5\u5957\u9910)",reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:0,maxTokens:0},...D]):c instanceof m?(P(`Discovery API error (${c.status}): ${c.message}`),r=[{id:"api-error",name:`\u26A0\uFE0F \u670D\u52A1\u5F02\u5E38 (${c.status})`,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:0,maxTokens:0},...D]):P(`Discovery error: ${c}`)}let s=r.length===0;s&&(r=D.map(c=>({...c})));let a={provider:{baseUrl:t.baseUrl||b,api:"openai-completions",models:r}},u=s?29e4:0;return L={data:a,timestamp:Date.now()-u},P(s?"Exiting resolveApiCatalog (Fallback used)":"Exiting resolveApiCatalog (Success)",o),a}function kt(e){return L?.data?.provider?.models?L.data.provider.models.map(t=>({...t,provider:A})):D.map(t=>({...t,provider:A}))}async function Fe(e,t){return t.length>0?t[0].id:ee}async function wt(e){let t=e.prompter.progress("\u6B63\u5728\u542F\u52A8 CMToken OAuth\u2026");try{let{loginCMTokenOAuth:o}=await Promise.resolve().then(()=>(Qe(),We)),n=e.config,r=await o({openUrl:e.openUrl,note:e.prompter.note,progress:t,runtime:e.runtime,config:{oauthBaseUrl:n.oauthBaseUrl,clientId:n.clientId}});t.stop("CMToken OAuth \u5B8C\u6210");let s=n.discoveryUrl||q,{fetchCMTokenModels:i,CMTokenSubscriptionError:a,CMTokenDiscoveryError:u}=await Promise.resolve().then(()=>(U(),B)),c=[];try{c=await i(s,15e3,r.access)}catch(f){if(f instanceof a)e.prompter.note(`\u60A8\u7684\u8D26\u53F7\u8BA4\u8BC1\u6210\u529F\uFF0C\u4F46\u5F53\u524D\u672A\u5305\u542B\u53EF\u7528\u8BA2\u9605\u5957\u9910\u3002\u90E8\u5206\u6A21\u578B\uFF08\u5982 minmax\uFF09\u53EF\u80FD\u65E0\u6CD5\u4F7F\u7528\uFF0C\u8BF7\u68C0\u67E5\u60A8\u7684\u5957\u9910\u72B6\u6001\u3002
8
8
 
9
- \u9519\u8BEF\u8BE6\u60C5: ${f.message}`,severity:"warning"});else if(f instanceof u)e.prompter.note({title:"CMToken \u670D\u52A1\u63D0\u9192",body:`\u6A21\u578B\u5217\u8868\u83B7\u53D6\u5931\u8D25 (\u72B6\u6001\u7801: ${f.status})\u3002\u8FD9\u53EF\u80FD\u662F\u7531\u4E8E\u7F51\u7EDC\u6CE2\u52A8\u6216\u670D\u52A1\u7AEF\u6682\u65F6\u4E0D\u53EF\u7528\u5F15\u8D77\u7684\uFF0C\u6211\u4EEC\u5C06\u4F7F\u7528\u5185\u7F6E\u5907\u7528\u6A21\u578B\u3002
9
+ \u9519\u8BEF\u8BE6\u60C5: ${f.message}`,"CMToken \u8BA2\u9605\u63D0\u9192");else if(f instanceof u)e.prompter.note(`\u6A21\u578B\u5217\u8868\u83B7\u53D6\u5931\u8D25 (\u72B6\u6001\u7801: ${f.status})\u3002\u8FD9\u53EF\u80FD\u662F\u7531\u4E8E\u7F51\u7EDC\u6CE2\u52A8\u6216\u670D\u52A1\u7AEF\u6682\u65F6\u4E0D\u53EF\u7528\u5F15\u8D77\u7684\uFF0C\u6211\u4EEC\u5C06\u4F7F\u7528\u5185\u7F6E\u5907\u7528\u6A21\u578B\u3002
10
10
 
11
- \u8BE6\u60C5: ${f.message}`,severity:"info"});else throw f}let l=c.map(f=>({id:f.id,name:f.name||f.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:f.contextWindow||192e3,maxTokens:f.maxTokens||8192})),m=await Fe(e,l);return L={timestamp:Date.now(),data:{provider:{baseUrl:r.resourceUrl||n.baseUrl||b,api:"openai-completions",models:l.length>0?l:D}}},Mt({providerId:A,defaultModel:`${A}/${m}`,access:r.access,refresh:r.refresh,expires:r.expires,configPatch:{models:{providers:{[A]:{baseUrl:r.resourceUrl||n.baseUrl||b,api:"openai-completions",models:l}}}}})}catch(o){o.name==="CMTokenSubscriptionError"&&t.stop("CMToken OAuth \u5B8C\u6210 (\u53D1\u73B0\u8BA2\u9605\u95EE\u9898)");let n=At(o);throw t.stop(`CMToken OAuth \u5931\u8D25: ${n}`),o}}function Ge(e){e.registerProvider({id:A,label:he,docsPath:"/plugins/cmtoken",auth:[{id:"api-key",label:"CMToken API Key",hint:"\u4F7F\u7528 API Key \u8FDB\u884C\u8BA4\u8BC1",kind:"api_key",wizard:{choiceId:"cmtoken-api-key",choiceLabel:"CMToken API Key",groupId:A,groupLabel:he,groupHint:"CMToken AI \u6A21\u578B"},async run(t){let{ensureApiKeyFromOptionEnvOrPrompt:o,buildApiKeyCredential:n,normalizeApiKeyInput:r,validateApiKeyInput:s}=await import("openclaw/plugin-sdk/provider-auth"),i,a;await o({config:t.config,env:{},provider:A,envLabel:"CMTOKEN_API_KEY",promptMessage:"\u8BF7\u8F93\u5165 CMToken API Key",normalize:r,validate:s,prompter:t.prompter,setCredential:async(h,C)=>{i=h,a=C}});let u=`${A}:default`,c=n(A,i,{},{secretInputMode:a,config:t.config}),l=t.config,m=l.discoveryUrl||q,{fetchCMTokenModels:f}=await Promise.resolve().then(()=>(U(),R)),g=(await f(m,15e3,i)).map(h=>({id:h.id,name:h.name||h.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:h.contextWindow||192e3,maxTokens:h.maxTokens||8192})),d=await Fe(t,g);return{profiles:[{profileId:u,credential:c}],defaultModel:`${A}/${d}`,configPatch:{models:{providers:{[A]:{baseUrl:l.baseUrl||b,api:"openai-completions",models:g}}}}}}},{id:"oauth",label:"CMToken OAuth",hint:"\u901A\u8FC7\u79FB\u52A8\u8BA4\u8BC1\u6D4F\u89C8\u5668\u6D41\u767B\u5F55",kind:"device_code",run:Ct,applyConfig:t=>({...t,models:{...t.models,providers:{...t.models?.providers,[A]:{baseUrl:b,api:"openai-completions",models:D}}}}),wizard:{choiceId:"cmtoken-oauth",choiceLabel:"CMToken OAuth",groupId:A,groupLabel:he,groupHint:"CMToken AI \u6A21\u578B"}}],catalog:{order:"simple",run:async t=>kt(t)},augmentModelCatalog:t=>wt(t),async refreshOAuth(t){let{refreshCMTokenToken:o}=await Promise.resolve().then(()=>(fe(),He));try{let n=await o({refreshToken:t.refresh});return L=null,{...t,access:n.access,refresh:n.refresh,expires:n.expires}}catch(n){throw console.error("[CMToken] refreshOAuth failed:",n),n}},classifyFailoverReason(t){let o=t.error?.message||String(t.error);if(o.includes("\u8BA2\u9605\u5957\u9910")||o.includes("\u8BA2\u9605\u5DF2\u8FC7\u671F")||o.includes("\u4F59\u989D\u4E0D\u8DB3"))return"billing"}})}var Vt=Et({id:"cmtoken",name:"CMToken",description:"CMToken provider plugin with OAuth support (browser and QR code)",register(e){Ge(e)}});export{Vt as default};
11
+ \u8BE6\u60C5: ${f.message}`,"CMToken \u670D\u52A1\u63D0\u9192");else throw f}let l=c.map(f=>({id:f.id,name:f.name||f.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:f.contextWindow||192e3,maxTokens:f.maxTokens||8192})),m=await Fe(e,l);return L={timestamp:Date.now(),data:{provider:{baseUrl:r.resourceUrl||n.baseUrl||b,api:"openai-completions",models:l.length>0?l:D}}},At({providerId:A,defaultModel:`${A}/${m}`,access:r.access,refresh:r.refresh,expires:r.expires,configPatch:{models:{providers:{[A]:{baseUrl:r.resourceUrl||n.baseUrl||b,api:"openai-completions",models:l}}}}})}catch(o){o?.name==="CMTokenSubscriptionError"&&t.stop("CMToken OAuth \u5B8C\u6210 (\u53D1\u73B0\u8BA2\u9605\u95EE\u9898)");let n=Tt(o);throw t.stop(`CMToken OAuth \u5931\u8D25: ${n}`),o}}function Ge(e){e.registerProvider({id:A,label:fe,docsPath:"/plugins/cmtoken",auth:[{id:"api-key",label:"CMToken API Key",hint:"\u4F7F\u7528 API Key \u8FDB\u884C\u8BA4\u8BC1",kind:"api_key",wizard:{choiceId:"cmtoken-api-key",choiceLabel:"CMToken API Key",groupId:A,groupLabel:fe,groupHint:"CMToken AI \u6A21\u578B"},async run(t){let{ensureApiKeyFromOptionEnvOrPrompt:o,buildApiKeyCredential:n,normalizeApiKeyInput:r,validateApiKeyInput:s}=await import("openclaw/plugin-sdk/provider-auth"),i,a;await o({config:t.config,env:{},provider:A,envLabel:"CMTOKEN_API_KEY",promptMessage:"\u8BF7\u8F93\u5165 CMToken API Key",normalize:r,validate:s,prompter:t.prompter,setCredential:async(h,_)=>{i=h,a=_}});let u=`${A}:default`,c=n(A,i,{},{secretInputMode:a,config:t.config}),l=t.config,m=l.discoveryUrl||q,{fetchCMTokenModels:f}=await Promise.resolve().then(()=>(U(),B)),g=(await f(m,15e3,i)).map(h=>({id:h.id,name:h.name||h.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:h.contextWindow||192e3,maxTokens:h.maxTokens||8192})),d=await Fe(t,g);return{profiles:[{profileId:u,credential:c}],defaultModel:`${A}/${d}`,configPatch:{models:{providers:{[A]:{baseUrl:l.baseUrl||b,api:"openai-completions",models:g}}}}}}},{id:"oauth",label:"CMToken OAuth",hint:"\u901A\u8FC7\u79FB\u52A8\u8BA4\u8BC1\u6D4F\u89C8\u5668\u6D41\u767B\u5F55",kind:"device_code",run:wt,applyConfig:t=>({...t,models:{...t.models,providers:{...t.models?.providers,[A]:{baseUrl:b,api:"openai-completions",models:D}}}}),wizard:{choiceId:"cmtoken-oauth",choiceLabel:"CMToken OAuth",groupId:A,groupLabel:fe,groupHint:"CMToken AI \u6A21\u578B"}}],catalog:{order:"simple",run:async t=>Mt(t)},augmentModelCatalog:t=>kt(t),async refreshOAuth(t){let{refreshCMTokenToken:o}=await Promise.resolve().then(()=>(de(),He));try{let n=await o({refreshToken:t.refresh});return L=null,{...t,access:n.access,refresh:n.refresh,expires:n.expires}}catch(n){throw console.error("[CMToken] refreshOAuth failed:",n),n}},classifyFailoverReason(t){let o=t.error?.message||String(t.error);if(o.includes("\u8BA2\u9605\u5957\u9910")||o.includes("\u8BA2\u9605\u5DF2\u8FC7\u671F")||o.includes("\u4F59\u989D\u4E0D\u8DB3"))return"billing"}})}var zt=_t({id:"cmtoken",name:"CMToken",description:"CMToken provider plugin with OAuth support (browser and QR code)",register(e){Ge(e)}});export{zt as default};
12
12
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,12 +1,18 @@
1
1
  {
2
2
  "name": "cmtoken",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "OpenClaw CMToken provider plugin with OAuth support",
5
5
  "type": "module",
6
6
  "openclaw": {
7
7
  "extensions": [
8
8
  "./index.js"
9
9
  ],
10
+ "compat": {
11
+ "pluginApi": "^1.0.0"
12
+ },
13
+ "build": {
14
+ "openclawVersion": "^2026.5.27"
15
+ },
10
16
  "install": {
11
17
  "minHostVersion": ">=2024.1.0"
12
18
  }