tinker-translate 0.2.3 → 0.2.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.
@@ -1,2 +1,2 @@
1
- "use strict";const G=require("electron"),B=require("https");function h(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var S={exports:{}},y={exports:{}},T={exports:{}};(function(e,t){t=function(r){return r===void 0},e.exports=t})(T,T.exports);var R=T.exports;(function(e,t){var r=R;t=function(n,o,a){if(r(o))return n;switch(a??3){case 1:return function(s){return n.call(o,s)};case 3:return function(s,i,c){return n.call(o,s,i,c)};case 4:return function(s,i,c,p){return n.call(o,s,i,c,p)}}return function(){return n.apply(o,arguments)}},e.exports=t})(y,y.exports);var D=y.exports,A={exports:{}},b={exports:{}},C={exports:{}};(function(e,t){var r=Object.prototype.toString;t=function(n){return r.call(n)},e.exports=t})(C,C.exports);var x=C.exports;(function(e,t){var r=x;t=function(n){return r(n)==="[object Number]"},e.exports=t})(b,b.exports);var H=b.exports,L={exports:{}};(function(e,t){var r=x;t=function(n){var o=r(n);return o==="[object Function]"||o==="[object GeneratorFunction]"||o==="[object AsyncFunction]"},e.exports=t})(L,L.exports);var J=L.exports;(function(e,t){var r=H,n=J,o=Math.pow(2,53)-1;t=function(a){if(!a)return!1;var s=a.length;return r(s)&&s>=0&&s<=o&&!n(a)},e.exports=t})(A,A.exports);var K=A.exports,O={exports:{}},k={exports:{}};(function(e,t){var r=Object.prototype.hasOwnProperty;t=function(n,o){return r.call(n,o)},e.exports=t})(k,k.exports);var z=k.exports;(function(e,t){var r=z;Object.keys?t=Object.keys:t=function(n){var o=[];for(var a in n)r(n,a)&&o.push(a);return o},e.exports=t})(O,O.exports);var X=O.exports;(function(e,t){var r=D,n=K,o=R,a=X;t=s(1),t.create=s;function s(i){return function(c,p,u,d){p=r(p,d);var l,f,w;if(n(c))for(f=c.length,l=i>0?0:f-1,o(u)&&(u=c[l],l+=i);l<f&&l>=0;l+=i)u=p(u,c[l],l,c);else{var E=a(c);for(f=E.length,l=i>0?0:f-1,o(u)&&(u=c[E[l]],l+=i);l<f&&l>=0;l+=i)w=E[l],u=p(u,c[w],w,c)}return u}}e.exports=t})(S,S.exports);var Y=S.exports;const Q=h(Y);var P={exports:{}},M={exports:{}},$={exports:{}};(function(e,t){var r=x;Array.isArray?t=Array.isArray:t=function(n){return r(n)==="[object Array]"},e.exports=t})($,$.exports);var V=$.exports;(function(e,t){var r=z,n=V;t=function(s,i){if(n(s))return s;if(i&&r(i,s))return[s];var c=[];return s.replace(o,function(p,u,d,l){c.push(d?l.replace(a,"$1"):u||p)}),c};var o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g;e.exports=t})(M,M.exports);var Z=M.exports;(function(e,t){var r=R,n=Z;t=function(o,a){a=n(a,o);var s;for(s=a.shift();!r(s);){if(o=o[s],o==null)return;s=a.shift()}return o},e.exports=t})(P,P.exports);var tt=P.exports;const v=h(tt);var N={exports:{}},U={exports:{}};(function(e,t){var r=/^\s+/;t=function(n,o){if(o==null)return n.trimLeft?n.trimLeft():n.replace(r,"");for(var a=0,s=n.length,i=o.length,c=!0,p,u;c&&a<s;)for(c=!1,p=-1,u=n.charAt(a);++p<i;)if(u===o[p]){c=!0,a++;break}return a>=s?"":n.substr(a,s)},e.exports=t})(U,U.exports);var rt=U.exports,W={exports:{}};(function(e,t){t=function(r,n){if(n==null){if(r.trimRight)return r.trimRight();n=` \r
2
- \f\v`}for(var o=r.length-1,a=n.length,s=!0,i,c;s&&o>=0;)for(s=!1,i=-1,c=r.charAt(o);++i<a;)if(c===n[i]){s=!0,o--;break}return o>=0?r.substring(0,o+1):""},e.exports=t})(W,W.exports);var et=W.exports;(function(e,t){var r=rt,n=et;t=function(o,a){return a==null&&o.trim?o.trim():r(n(o,a),a)},e.exports=t})(N,N.exports);var nt=N.exports;const m=h(nt);function g(e,t){return new Promise((r,n)=>{const o=B.request(e,a=>{let s="";a.on("data",i=>{s+=i}),a.on("end",()=>{r({statusCode:a.statusCode,data:s})})});o.on("error",n),t&&o.write(t),o.end()})}async function ot(e,t,r){const o={hostname:"translate.google.com",port:443,path:`/translate_a/single?dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&${new URLSearchParams({client:"gtx",sl:t,tl:r,hl:r,ie:"UTF-8",oe:"UTF-8",otf:"1",ssel:"0",tsel:"0",kc:"7",q:e}).toString()}`,method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"}},{statusCode:a,data:s}=await g(o);if(a!==200)throw new Error(`HTTP Error: ${a}`);const i=JSON.parse(s),c=v(i,"0"),p=Q(c??[],(u,d)=>u+(v(d,"0")??""),"");return{text:m(p)}}async function at(){const e={hostname:"edge.microsoft.com",port:443,path:"/translate/auth",method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"}},{statusCode:t,data:r}=await g(e);if(t!==200)throw new Error(`Failed to get token: ${t}`);return r}async function st(e,t,r){const n=await at(),o=new URLSearchParams({from:t==="auto"?"":t,to:r,"api-version":"3.0",includeSentenceLength:"true"}),a=JSON.stringify([{Text:e}]),s={hostname:"api-edge.cognitive.microsofttranslator.com",port:443,path:`/translate?${o.toString()}`,method:"POST",headers:{accept:"*/*","accept-language":"zh-TW,zh;q=0.9,ja;q=0.8,zh-CN;q=0.7,en-US;q=0.6,en;q=0.5",authorization:"Bearer "+n,"cache-control":"no-cache","content-type":"application/json","content-length":Buffer.byteLength(a),pragma:"no-cache","sec-ch-ua":'"Microsoft Edge";v="113", "Chromium";v="113", "Not-A.Brand";v="24"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"cross-site",Referer:"https://appsumo.com/","Referrer-Policy":"strict-origin-when-cross-origin","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"}},{statusCode:i,data:c}=await g(s,a);if(i!==200)throw new Error(`HTTP Error: ${i}`);const p=JSON.parse(c),u=v(p,"[0].translations[0].text");if(!u)throw new Error("Invalid response format");return{text:m(u)}}var q={exports:{}};(function(e,t){t=function(r,n,o){n==null&&(n=r,r=0);var a=Math.random();return o||r%1||n%1?Math.min(r+a*(n-r+parseFloat("1e-"+((a+"").length-1))),n):r+Math.floor(a*(n-r+1))},e.exports=t})(q,q.exports);var it=q.exports;const ct=h(it);var j={exports:{}},F={exports:{}};(function(e,t){t=function(r){return r==null?"":r.toString()},e.exports=t})(F,F.exports);var ut=F.exports;(function(e,t){var r=ut;t=function(n){return r(n).toLocaleUpperCase()},e.exports=t})(j,j.exports);var pt=j.exports;const _=h(pt);function lt(e){return e.split("i").length-1}function ft(e){const t=Date.now();if(e!==0){const r=e+1;return t-t%r+r}return t}function ht(){return ct(1e5,199998)*1e3}async function dt(e,t,r){const n=ht(),o={jsonrpc:"2.0",method:"LMT_handle_texts",id:n,params:{splitting:"newlines",lang:{source_lang_user_selected:t!=="auto"?_(t.slice(0,2)):"auto",target_lang:_(r.slice(0,2))},texts:[{text:e,requestAlternatives:3}],timestamp:ft(lt(e))}};let a=JSON.stringify(o);(n+5)%29===0||(n+3)%13===0?a=a.replace('"method":"','"method" : "'):a=a.replace('"method":"','"method": "');const s={hostname:"www2.deepl.com",port:443,path:"/jsonrpc",method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(a)}},{statusCode:i,data:c}=await g(s,a);if(i!==200)throw new Error(`HTTP Error: ${i}`);const p=JSON.parse(c),u=v(p,"result.texts[0].text");if(u)return{text:m(u)};throw new Error(v(p,"error.message")??"Invalid response format")}var I={exports:{}};(function(e,t){var r=x;t=function(n){return r(n)==="[object String]"},e.exports=t})(I,I.exports);var vt=I.exports;const xt=h(vt);async function mt(e,t,r){const o=`You are a professional translator. Translate the user's text from ${t==="auto"?"auto-detected":t} to ${r}. Output only the translated text without any explanation or extra content.`,a=await tinker.callAI({messages:[{role:"system",content:o},{role:"user",content:e}]});if(!xt(a.content)||!a.content)throw new Error("Invalid AI response");return{text:m(a.content)}}const gt={translate:async(e,t,r,n="google")=>n==="bing"?await st(e,t,r):n==="deepl"?await dt(e,t,r):n==="ai"?await mt(e,t,r):await ot(e,t,r)};G.contextBridge.exposeInMainWorld("translate",gt);
1
+ "use strict";const B=require("electron"),z=require("https");function x(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var E={exports:{}},y={exports:{}},A={exports:{}};(function(n,t){t=function(e){return e===void 0},n.exports=t})(A,A.exports);var G=A.exports;(function(n,t){var e=G;t=function(r,o,a){if(e(o))return r;switch(a??3){case 1:return function(s){return r.call(o,s)};case 3:return function(s,u,i){return r.call(o,s,u,i)};case 4:return function(s,u,i,p){return r.call(o,s,u,i,p)}}return function(){return r.apply(o,arguments)}},n.exports=t})(y,y.exports);var H=y.exports,T={exports:{}},S={exports:{}},b={exports:{}};(function(n,t){var e=Object.prototype.toString;t=function(r){return e.call(r)},n.exports=t})(b,b.exports);var R=b.exports;(function(n,t){var e=R;t=function(r){return e(r)==="[object Number]"},n.exports=t})(S,S.exports);var J=S.exports,C={exports:{}};(function(n,t){var e=R;t=function(r){var o=e(r);return o==="[object Function]"||o==="[object GeneratorFunction]"||o==="[object AsyncFunction]"},n.exports=t})(C,C.exports);var K=C.exports;(function(n,t){var e=J,r=K,o=Math.pow(2,53)-1;t=function(a){if(!a)return!1;var s=a.length;return e(s)&&s>=0&&s<=o&&!r(a)},n.exports=t})(T,T.exports);var X=T.exports,k={exports:{}},L={exports:{}};(function(n,t){var e=Object.prototype.hasOwnProperty;t=function(r,o){return e.call(r,o)},n.exports=t})(L,L.exports);var W=L.exports;(function(n,t){var e=W;Object.keys?t=Object.keys:t=function(r){var o=[];for(var a in r)e(r,a)&&o.push(a);return o},n.exports=t})(k,k.exports);var V=k.exports;(function(n,t){var e=H,r=X,o=G,a=V;t=s(1),t.create=s;function s(u){return function(i,p,c,v){p=e(p,v);var l,h,w;if(r(i))for(h=i.length,l=u>0?0:h-1,o(c)&&(c=i[l],l+=u);l<h&&l>=0;l+=u)c=p(c,i[l],l,i);else{var m=a(i);for(h=m.length,l=u>0?0:h-1,o(c)&&(c=i[m[l]],l+=u);l<h&&l>=0;l+=u)w=m[l],c=p(c,i[w],w,i)}return c}}n.exports=t})(E,E.exports);var Q=E.exports;const Y=x(Q);var O={exports:{}},M={exports:{}},P={exports:{}};(function(n,t){var e=R;Array.isArray?t=Array.isArray:t=function(r){return e(r)==="[object Array]"},n.exports=t})(P,P.exports);var Z=P.exports;(function(n,t){var e=W,r=Z;t=function(s,u){if(r(s))return s;if(u&&e(u,s))return[s];var i=[];return s.replace(o,function(p,c,v,l){i.push(v?l.replace(a,"$1"):c||p)}),i};var o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g;n.exports=t})(M,M.exports);var tt=M.exports;(function(n,t){var e=G,r=tt;t=function(o,a){a=r(a,o);var s;for(s=a.shift();!e(s);){if(o=o[s],o==null)return;s=a.shift()}return o},n.exports=t})(O,O.exports);var rt=O.exports;const d=x(rt);var U={exports:{}},$={exports:{}};(function(n,t){var e=/^\s+/;t=function(r,o){if(o==null)return r.trimLeft?r.trimLeft():r.replace(e,"");for(var a=0,s=r.length,u=o.length,i=!0,p,c;i&&a<s;)for(i=!1,p=-1,c=r.charAt(a);++p<u;)if(c===o[p]){i=!0,a++;break}return a>=s?"":r.substr(a,s)},n.exports=t})($,$.exports);var et=$.exports,I={exports:{}};(function(n,t){t=function(e,r){if(r==null){if(e.trimRight)return e.trimRight();r=` \r
2
+ \f\v`}for(var o=e.length-1,a=r.length,s=!0,u,i;s&&o>=0;)for(s=!1,u=-1,i=e.charAt(o);++u<a;)if(i===r[u]){s=!0,o--;break}return o>=0?e.substring(0,o+1):""},n.exports=t})(I,I.exports);var nt=I.exports;(function(n,t){var e=et,r=nt;t=function(o,a){return a==null&&o.trim?o.trim():e(r(o,a),a)},n.exports=t})(U,U.exports);var ot=U.exports;const D=x(ot);function g(n,t){return new Promise((e,r)=>{const o=z.request(n,a=>{let s="";a.on("data",u=>{s+=u}),a.on("end",()=>{e({statusCode:a.statusCode,data:s})})});o.on("error",r),t&&o.write(t),o.end()})}async function at(n,t,e){const o={hostname:"translate.google.com",port:443,path:`/translate_a/single?dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&${new URLSearchParams({client:"gtx",sl:t,tl:e,hl:e,ie:"UTF-8",oe:"UTF-8",otf:"1",ssel:"0",tsel:"0",kc:"7",q:n}).toString()}`,method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"}},{statusCode:a,data:s}=await g(o);if(a!==200)throw new Error(`HTTP Error: ${a}`);const u=JSON.parse(s),i=d(u,"0"),p=Y(i??[],(c,v)=>c+(d(v,"0")??""),"");return{text:D(p)}}const j="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0",st="translator.5026";let f=null;async function it(){if(f&&Date.now()<f.expiresAt)return f;const{statusCode:n,data:t}=await g({hostname:"www.bing.com",port:443,path:"/translator",method:"GET",headers:{"User-Agent":j}});if(n!==200)throw new Error(`Failed to get token: ${n}`);const e=t.match(/IG:"([^"]+)"/),r=t.match(/params_AbusePreventionHelper\s*=\s*\[(\d+),\s*"([^"]+)",\s*(\d+)/);if(!e||!r)throw new Error("Failed to parse Bing auth");const o=Number(r[3]);return f={ig:e[1],key:r[1],token:r[2],expiresAt:Date.now()+Math.max(o-6e4,6e4)},f}async function ut(n,t,e){const r=await it(),o=new URLSearchParams({fromLang:t==="auto"?"auto-detect":t,to:e,text:n,token:r.token,key:r.key}).toString(),{statusCode:a,data:s}=await g({hostname:"www.bing.com",port:443,path:`/ttranslatev3?isVertical=1&IG=${r.ig}&IID=${st}`,method:"POST",headers:{"User-Agent":j,"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(o),Origin:"https://www.bing.com",Referer:"https://www.bing.com/translator"}},o);if(a!==200)throw f=null,new Error(`HTTP Error: ${a}`);const u=JSON.parse(s),i=d(u,"[0].translations[0].text");if(!i)throw f=null,new Error("Invalid response format");return{text:D(i)}}var _={exports:{}};(function(n,t){t=function(e,r,o){r==null&&(r=e,e=0);var a=Math.random();return o||e%1||r%1?Math.min(e+a*(r-e+parseFloat("1e-"+((a+"").length-1))),r):e+Math.floor(a*(r-e+1))},n.exports=t})(_,_.exports);var ct=_.exports;const pt=x(ct);var F={exports:{}},N={exports:{}};(function(n,t){t=function(e){return e==null?"":e.toString()},n.exports=t})(N,N.exports);var lt=N.exports;(function(n,t){var e=lt;t=function(r){return e(r).toLocaleUpperCase()},n.exports=t})(F,F.exports);var ft=F.exports;const q=x(ft);function ht(n){return n.split("i").length-1}function vt(n){const t=Date.now();if(n!==0){const e=n+1;return t-t%e+e}return t}function dt(){return pt(1e5,199998)*1e3}async function xt(n,t,e){const r=dt(),o={jsonrpc:"2.0",method:"LMT_handle_texts",id:r,params:{splitting:"newlines",lang:{source_lang_user_selected:t!=="auto"?q(t.slice(0,2)):"auto",target_lang:q(e.slice(0,2))},texts:[{text:n,requestAlternatives:3}],timestamp:vt(ht(n))}};let a=JSON.stringify(o);(r+5)%29===0||(r+3)%13===0?a=a.replace('"method":"','"method" : "'):a=a.replace('"method":"','"method": "');const s={hostname:"www2.deepl.com",port:443,path:"/jsonrpc",method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(a)}},{statusCode:u,data:i}=await g(s,a);if(u!==200)throw new Error(`HTTP Error: ${u}`);const p=JSON.parse(i),c=d(p,"result.texts[0].text");if(c)return{text:D(c)};throw new Error(d(p,"error.message")??"Invalid response format")}const gt={translate:async(n,t,e,r="google")=>r==="bing"?await ut(n,t,e):r==="deepl"?await xt(n,t,e):await at(n,t,e)};B.contextBridge.exposeInMainWorld("translate",gt);