gexinsofts-mcp 0.0.5 → 0.0.6

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 +1 -1
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -315,7 +315,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
315
315
  `;return r+=t.wordwrap(this.getPublicBaseKeyB64())+`
316
316
  `,r+="-----END PUBLIC KEY-----",r},t.hasPublicKeyProperty=function(r){return r=r||{},r.hasOwnProperty("n")&&r.hasOwnProperty("e")},t.hasPrivateKeyProperty=function(r){return r=r||{},r.hasOwnProperty("n")&&r.hasOwnProperty("e")&&r.hasOwnProperty("d")&&r.hasOwnProperty("p")&&r.hasOwnProperty("q")&&r.hasOwnProperty("dmp1")&&r.hasOwnProperty("dmq1")&&r.hasOwnProperty("coeff")},t.prototype.parsePropertiesFrom=function(r){this.n=r.n,this.e=r.e,r.hasOwnProperty("d")&&(this.d=r.d,this.p=r.p,this.q=r.q,this.dmp1=r.dmp1,this.dmq1=r.dmq1,this.coeff=r.coeff)},t})(bue);var Jq,qHe=typeof process<"u"?(Jq=process.env)===null||Jq===void 0?void 0:Jq.npm_package_version:void 0,wue=(function(){function e(t){t===void 0&&(t={}),this.default_key_size=t.default_key_size?parseInt(t.default_key_size,10):1024,this.default_public_exponent=t.default_public_exponent||"010001",this.log=t.log||!1,this.key=t.key||null}return e.prototype.setKey=function(t){t?(this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new Kq(t)):!this.key&&this.log&&console.error("A key was not set.")},e.prototype.setPrivateKey=function(t){this.setKey(t)},e.prototype.setPublicKey=function(t){this.setKey(t)},e.prototype.decrypt=function(t){try{return this.getKey().decrypt(Vq(t))}catch{return!1}},e.prototype.encrypt=function(t){try{return kc(this.getKey().encrypt(t))}catch{return!1}},e.prototype.encryptOAEP=function(t){try{return kc(this.getKey().encrypt(t,_ue))}catch{return!1}},e.prototype.sign=function(t,r,n){r===void 0&&(r=function(i){return i}),n===void 0&&(n="");try{return kc(this.getKey().sign(t,r,n))}catch{return!1}},e.prototype.signSha256=function(t){return this.sign(t,function(r){return Xq(Km(r))},"sha256")},e.prototype.verify=function(t,r,n){n===void 0&&(n=function(i){return i});try{return this.getKey().verify(t,Vq(r),n)}catch{return!1}},e.prototype.verifySha256=function(t,r){return this.verify(t,r,function(n){return Xq(Km(n))})},e.prototype.getKey=function(t){if(!this.key){if(this.key=new Kq,t&&{}.toString.call(t)==="[object Function]"){this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);return}this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},e.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},e.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},e.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},e.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},e.version=qHe,e})();var xue=wue;var DHe=tue((e,t)=>e.get("/api/Next/getPublicKey",t)),jHe=sS(async(e,t,r)=>{let{RSA_PUBLICKEY:n}=await DHe({timeout:3e3,withAuthorization:!1}).result;if(!n)throw new Error("\u4E0E\u670D\u52A1\u5668\u901A\u4FE1\u5931\u8D25\uFF0C\u8BF7\u7528\u6237\u518D\u6B21\u8F93\u5165 SERVER_URL \u540E\u91CD\u8BD5");let i=`-----BEGIN PUBLIC KEY-----
317
317
  ${n}
318
- -----END PUBLIC KEY-----`,s=new xue;s.setPublicKey(i);let o=new FormData;return o.set("username",t.username),o.set("password",s.encrypt(t.password)),o.set("isMobile","false"),o.set("rememberMe","false"),e.post("/apiLogin",o,{...r,withAuthorization:!1})}),Sue={login:jHe};var MHe={description:"\u8FDE\u63A5\u60A8\u7684\u8D26\u53F7\u4EE5\u8C03\u7528\u670D\u52A1",fields:[{key:"SERVER_URL",label:"ERP\u5730\u5740",label_en:"Server URL",placeholder:"\u8F93\u5165\u9769\u65B0ERP\u7F51\u9875\u5730\u5740",required:!0,type:"text"},{key:"USERNAME",label:"\u7528\u6237\u540D",label_en:"Username",required:!0,type:"text"},{key:"PASSWORD",label:"\u5BC6\u7801",label_en:"Password",required:!0,type:"password"}],title:"ERP \u670D\u52A1\u5BF9\u63A5\u914D\u7F6E"};async function Eue(){if(process.env.SERVER_URL&&(process.env.SERVER_URL=FHe(process.env.SERVER_URL),Hm.defaults.baseURL=process.env.SERVER_URL),![process.env.SERVER_URL,process.env.USERNAME,process.env.PASSWORD].every(n=>!Lq(n)))return{content:[{text:"\u672A\u68C0\u6D4B\u5230\u767B\u5F55\u6001\uFF0C\u8BF7\u7528\u6237\u4EE5 auth_mode=token \u6A21\u5F0F\u8BA4\u8BC1\uFF0C\u7136\u540E\u91CD\u8BD5",type:"text"}],isError:!0,structuredContent:MHe};let r=(await Sue.login({password:process.env.PASSWORD,username:process.env.USERNAME}).result)?.token;return r?(process.env.TOKEN=r,null):{content:[{text:"ERP \u767B\u5F55\u672A\u8FD4\u56DE\u6709\u6548 token\uFF0C\u8BF7\u505C\u6B62\u5BF9\u8BDD\u5E76\u8BA9\u7528\u6237\u68C0\u67E5\u63D0\u4EA4\u7684\u51ED\u8BC1\u6570\u636E\uFF0C\u5982\u51ED\u8BC1\u65E0\u8BEF\uFF0C\u8BF7\u8054\u7CFB MCP \u7BA1\u7406\u5458",type:"text"}],isError:!0}}function FHe(e){e=e.replace(/^\/+/,""),/^https?:\/\//i.test(e)||(e=`http://${e}`);let t=new URL(e);return`${t.protocol}//${t.host}/api`}var Yq=["itemCode","pidName1688937827450179586","pidName1688939528647299073","customNumberName","boxQty","eachBoxQty","pieces","pieceQty","qty","price","amount","memo","saleRemarkOne","saleRemarkTwo"],LHe={amount:["amount","\u91D1\u989D"],boxQty:["boxqty","\u7BB1\u6570"],customNumberName:["customnumbername","\u5BA2\u6237\u8D27\u53F7\u540D\u79F0","\u5BA2\u6237\u8D27\u53F7"],eachBoxQty:["eachboxqty","\u6BCF\u5305\u6253\u6570"],itemCode:["itemcode","\u4EA7\u54C1\u7F16\u7801","\u5546\u54C1\u7F16\u7801","\u8D27\u53F7"],memo:["memo","\u5907\u6CE8"],pidName1688937827450179586:["pidname1688937827450179586","\u989C\u8272"],pidName1688939528647299073:["pidname1688939528647299073","\u5C3A\u7801","\u5C3A\u5BF8"],pieceQty:["pieceqty","\u6BCF\u6253\u6570\u91CF"],pieces:["pieces","\u6253\u6570"],price:["price","\u5355\u4EF7"],qty:["qty","\u6570\u91CF"],saleRemarkOne:["saleremarkone","\u9500\u552E\u5907\u6CE81"],saleRemarkTwo:["saleremarktwo","\u9500\u552E\u5907\u6CE82"]},BHe=new Set(["amount","boxQty","eachBoxQty","pieceQty","pieces","price","qty"]),UHe=W({file:C().optional().describe("Excel \u6587\u4EF6\u8DEF\u5F84\u3001Base64 \u6216 data URL"),filePath:C().optional().describe("Excel \u6587\u4EF6\u8DEF\u5F84"),path:C().optional().describe("Excel \u6587\u4EF6\u8DEF\u5F84\uFF08filePath \u522B\u540D\uFF09")}).refine(e=>!!(e.file||e.filePath||e.path),{message:"\u5FC5\u987B\u63D0\u4F9B file\u3001filePath \u6216 path"});function kue(e){e.registerTool("sale_order_excel_import_data_valid",{description:"\u8BFB\u53D6\u9500\u552E\u8BA2\u5355 Excel\uFF0C\u5E76\u6821\u9A8C\u9500\u552E\u8BA2\u5355\u5BFC\u5165\u6570\u636E",inputSchema:UHe},async({file:t,filePath:r,path:n})=>{let i=await Eue();if(i)return i;let s=r||n||t;if(!s)throw new Error("\u5FC5\u987B\u63D0\u4F9B Excel \u6587\u4EF6\u8DEF\u5F84\u6216\u6587\u4EF6\u5185\u5BB9");try{let o=await HHe(s);if(o.rows.length===0)return{content:[{text:"Excel \u4E2D\u6CA1\u6709\u53EF\u6821\u9A8C\u7684\u6570\u636E\u884C",type:"text"}],isError:!0};let c=await rue.validateExcel(o.rows).result,u=ZHe(c,o.rowNumbers),f=u.data.length>0;return{content:[{text:f?`\u9500\u552E\u8BA2\u5355 Excel \u6821\u9A8C\u5931\u8D25\uFF0C\u5171 ${u.data.length} \u884C\u5B58\u5728\u9519\u8BEF`:"\u9500\u552E\u8BA2\u5355 Excel \u6821\u9A8C\u901A\u8FC7",type:"text"}],...f?{isError:!0}:{},structuredContent:u}}catch(o){let a=o instanceof Wo?o.response.data:void 0;return{content:[{text:o instanceof Error?o.message:"\u9500\u552E\u8BA2\u5355 Excel \u6821\u9A8C\u5931\u8D25",type:"text"}],isError:!0,...a?{structuredContent:a}:{}}}})}function Oue(e){return e&&typeof e=="object"&&"result"in e?e.result:e instanceof Date?e.toISOString():e}function Rue(e){return String(e??"").trim().toLowerCase().replace(/[\s_\-()()]/g,"")}async function HHe(e){let t=new Tue.default.Workbook,n=await VHe(e);await t.xlsx.load(n);let i=t.worksheets[0];if(!i)throw new Error("Excel \u6587\u4EF6\u4E0D\u5305\u542B\u5DE5\u4F5C\u8868");let s=i.getRow(1),o=Yq.map((d,m)=>Rue(Oue(s.getCell(m+1).value))),a=new Map;for(let d of Yq)for(let m of LHe[d])a.set(Rue(m),d);let c=o.map((d,m)=>a.get(d)??Yq[m]),f=o.some(d=>a.has(d))?2:1,p=[],h=[];return i.eachRow((d,m)=>{if(m<f)return;let g={};d.eachCell({includeEmpty:!1},(y,v)=>{let b=c[v-1];if(b){let w=WHe(b,y.value);w!==void 0&&(g[b]=w)}}),Object.keys(g).length>0&&(p.push(g),h.push(m))}),{rowNumbers:h,rows:p}}async function VHe(e){if(/^data:.*;base64,/i.test(e)){let t=e.slice(e.indexOf(",")+1);return Buffer.from(t,"base64")}try{return await Cue.readFile(e)}catch(t){if(/^[A-Za-z0-9+/=\r\n]+$/.test(e)&&e.length>128)return Buffer.from(e,"base64");throw t}}function ZHe(e,t){let r=(e.data??[]).map(n=>{let i=n.seqNumber,s=i;return typeof i=="number"&&i>=1&&i<=t.length&&(s=t[i-1]),{...n,seqNumber:s}});return{code:e.code,data:r,msg:e.msg}}function WHe(e,t){let r=Oue(t);if(!(r==null||r==="")){if(BHe.has(e)&&typeof r=="string"){let n=Number(r.trim());return Number.isNaN(n)?r:n}return r}}async function GHe(){let e=new n_({name:"GeXin ERP",version:"1.0.0"});kue(e);let t=new HB;await e.connect(t)}GHe();
318
+ -----END PUBLIC KEY-----`,s=new xue;s.setPublicKey(i);let o=new FormData;return o.set("username",t.username),o.set("password",s.encrypt(t.password)),o.set("isMobile","false"),o.set("rememberMe","false"),e.post("/apiLogin",o,{...r,withAuthorization:!1})}),Sue={login:jHe};var MHe={description:"\u8FDE\u63A5\u60A8\u7684\u8D26\u53F7\u4EE5\u8C03\u7528\u670D\u52A1",fields:[{key:"SERVER_URL",label:"ERP\u5730\u5740",label_en:"Server URL",placeholder:"\u8F93\u5165\u9769\u65B0ERP\u7F51\u9875\u5730\u5740",required:!0,type:"text"},{key:"USERNAME",label:"\u7528\u6237\u540D",label_en:"Username",required:!0,type:"text"},{key:"PASSWORD",label:"\u5BC6\u7801",label_en:"Password",required:!0,type:"password"}],title:"ERP \u670D\u52A1\u5BF9\u63A5\u914D\u7F6E"};async function Eue(){let e={content:[{text:"\u672A\u68C0\u6D4B\u5230\u767B\u5F55\u6001\uFF0C\u5E94\u5F53\u7ACB\u5373\u505C\u6B62\u5BF9\u8BDD\uFF0C\u8981\u6C42\u7528\u6237\u4EE5 auth_mode=token \u6A21\u5F0F\u8BA4\u8BC1",type:"text"}],isError:!0,structuredContent:MHe};if(process.env.SERVER_URL){try{process.env.SERVER_URL=FHe(process.env.SERVER_URL)}catch{return e}Hm.defaults.baseURL=process.env.SERVER_URL}if(![process.env.SERVER_URL,process.env.USERNAME,process.env.PASSWORD].every(i=>!Lq(i)))return e;let n=(await Sue.login({password:process.env.PASSWORD,username:process.env.USERNAME}).result)?.token;return n?(process.env.TOKEN=n,null):{content:[{text:"ERP \u767B\u5F55\u672A\u8FD4\u56DE\u6709\u6548 token\uFF0C\u5E94\u5F53\u7ACB\u5373\u505C\u6B62\u5BF9\u8BDD\uFF0C\u8BA9\u7528\u6237\u91CD\u65B0\u63D0\u4EA4\u51ED\u8BC1\u6570\u636E",type:"text"}],isError:!0}}function FHe(e){e=e.replace(/^\/+/,""),/^https?:\/\//i.test(e)||(e=`http://${e}`);let t=new URL(e);return`${t.protocol}//${t.host}/api`}var Yq=["itemCode","pidName1688937827450179586","pidName1688939528647299073","customNumberName","boxQty","eachBoxQty","pieces","pieceQty","qty","price","amount","memo","saleRemarkOne","saleRemarkTwo"],LHe={amount:["amount","\u91D1\u989D"],boxQty:["boxqty","\u7BB1\u6570"],customNumberName:["customnumbername","\u5BA2\u6237\u8D27\u53F7\u540D\u79F0","\u5BA2\u6237\u8D27\u53F7"],eachBoxQty:["eachboxqty","\u6BCF\u5305\u6253\u6570"],itemCode:["itemcode","\u4EA7\u54C1\u7F16\u7801","\u5546\u54C1\u7F16\u7801","\u8D27\u53F7"],memo:["memo","\u5907\u6CE8"],pidName1688937827450179586:["pidname1688937827450179586","\u989C\u8272"],pidName1688939528647299073:["pidname1688939528647299073","\u5C3A\u7801","\u5C3A\u5BF8"],pieceQty:["pieceqty","\u6BCF\u6253\u6570\u91CF"],pieces:["pieces","\u6253\u6570"],price:["price","\u5355\u4EF7"],qty:["qty","\u6570\u91CF"],saleRemarkOne:["saleremarkone","\u9500\u552E\u5907\u6CE81"],saleRemarkTwo:["saleremarktwo","\u9500\u552E\u5907\u6CE82"]},BHe=new Set(["amount","boxQty","eachBoxQty","pieceQty","pieces","price","qty"]),UHe=W({file:C().optional().describe("Excel \u6587\u4EF6\u8DEF\u5F84\u3001Base64 \u6216 data URL"),filePath:C().optional().describe("Excel \u6587\u4EF6\u8DEF\u5F84"),path:C().optional().describe("Excel \u6587\u4EF6\u8DEF\u5F84\uFF08filePath \u522B\u540D\uFF09")}).refine(e=>!!(e.file||e.filePath||e.path),{message:"\u5FC5\u987B\u63D0\u4F9B file\u3001filePath \u6216 path"});function kue(e){e.registerTool("sale_order_excel_import_data_valid",{description:"\u8BFB\u53D6\u9500\u552E\u8BA2\u5355 Excel\uFF0C\u5E76\u6821\u9A8C\u9500\u552E\u8BA2\u5355\u5BFC\u5165\u6570\u636E",inputSchema:UHe},async({file:t,filePath:r,path:n})=>{let i=await Eue();if(i)return i;let s=r||n||t;if(!s)throw new Error("\u5FC5\u987B\u63D0\u4F9B Excel \u6587\u4EF6\u8DEF\u5F84\u6216\u6587\u4EF6\u5185\u5BB9");try{let o=await HHe(s);if(o.rows.length===0)return{content:[{text:"Excel \u4E2D\u6CA1\u6709\u53EF\u6821\u9A8C\u7684\u6570\u636E\u884C",type:"text"}],isError:!0};let c=await rue.validateExcel(o.rows).result,u=ZHe(c,o.rowNumbers),f=u.data.length>0;return{content:[{text:f?`\u9500\u552E\u8BA2\u5355 Excel \u6821\u9A8C\u5931\u8D25\uFF0C\u5171 ${u.data.length} \u884C\u5B58\u5728\u9519\u8BEF`:"\u9500\u552E\u8BA2\u5355 Excel \u6821\u9A8C\u901A\u8FC7",type:"text"}],...f?{isError:!0}:{},structuredContent:u}}catch(o){let a=o instanceof Wo?o.response.data:void 0;return{content:[{text:o instanceof Error?o.message:"\u9500\u552E\u8BA2\u5355 Excel \u6821\u9A8C\u5931\u8D25",type:"text"}],isError:!0,...a?{structuredContent:a}:{}}}})}function Oue(e){return e&&typeof e=="object"&&"result"in e?e.result:e instanceof Date?e.toISOString():e}function Rue(e){return String(e??"").trim().toLowerCase().replace(/[\s_\-()()]/g,"")}async function HHe(e){let t=new Tue.default.Workbook,n=await VHe(e);await t.xlsx.load(n);let i=t.worksheets[0];if(!i)throw new Error("Excel \u6587\u4EF6\u4E0D\u5305\u542B\u5DE5\u4F5C\u8868");let s=i.getRow(1),o=Yq.map((d,m)=>Rue(Oue(s.getCell(m+1).value))),a=new Map;for(let d of Yq)for(let m of LHe[d])a.set(Rue(m),d);let c=o.map((d,m)=>a.get(d)??Yq[m]),f=o.some(d=>a.has(d))?2:1,p=[],h=[];return i.eachRow((d,m)=>{if(m<f)return;let g={};d.eachCell({includeEmpty:!1},(y,v)=>{let b=c[v-1];if(b){let w=WHe(b,y.value);w!==void 0&&(g[b]=w)}}),Object.keys(g).length>0&&(p.push(g),h.push(m))}),{rowNumbers:h,rows:p}}async function VHe(e){if(/^data:.*;base64,/i.test(e)){let t=e.slice(e.indexOf(",")+1);return Buffer.from(t,"base64")}try{return await Cue.readFile(e)}catch(t){if(/^[A-Za-z0-9+/=\r\n]+$/.test(e)&&e.length>128)return Buffer.from(e,"base64");throw t}}function ZHe(e,t){let r=(e.data??[]).map(n=>{let i=n.seqNumber,s=i;return typeof i=="number"&&i>=1&&i<=t.length&&(s=t[i-1]),{...n,seqNumber:s}});return{code:e.code,data:r,msg:e.msg}}function WHe(e,t){let r=Oue(t);if(!(r==null||r==="")){if(BHe.has(e)&&typeof r=="string"){let n=Number(r.trim());return Number.isNaN(n)?r:n}return r}}async function GHe(){let e=new n_({name:"GeXin ERP",version:"1.0.0"});kue(e);let t=new HB;await e.connect(t)}GHe();
319
319
  /*! Bundled license information:
320
320
 
321
321
  safe-buffer/index.js:
package/package.json CHANGED
@@ -14,5 +14,5 @@
14
14
  "registry": "https://registry.npmjs.com/"
15
15
  },
16
16
  "type": "commonjs",
17
- "version": "0.0.5"
17
+ "version": "0.0.6"
18
18
  }