@tokmizer/plugin 0.5.4 → 0.5.5

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.
@@ -4,10 +4,10 @@ var lr=Object.defineProperty;var dr=(t,e)=>{for(var r in e)lr(t,r,{get:e[r],enum
4
4
  `),ft=!0),Y=new Map,Y;let t=new Map,e,r;try{e=(await import("smol-toml")).parse,r=(await En(dt)).filter(n=>n.endsWith(".toml"))}catch{return Y=t,Y}for(let n of r){let s=await wn(pt(dt,n),"utf8"),a=e(s).filters;if(a)for(let[o,c]of Object.entries(a)){let l=Me.parse({slug:o,...c});t.set(o,{...l,matchRegex:new RegExp(l.match_command)})}}return Y=t,Y}var Re=new Map,Cn=256,ht=new WeakMap;function In(t){if(!t)return"*";let e=ht.get(t);return e===void 0&&(e=[...t].join(","),ht.set(t,e)),e}function gt(t,e,r){let n=`${t}::${In(r)}`,s=Re.get(n);if(s!==void 0)return s;let i=null;for(let a of e)r&&!r.has(a.slug)||a.matchRegex.test(t)&&(!i||a.priority>i.priority)&&(i=a);if(Re.size>=Cn){let a=Re.keys().next().value;a&&Re.delete(a)}return Re.set(n,i),i}var Dn=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,On=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function yt(t){return t.replace(Dn,"").replace(On,"")}function _t(t,e){return e.length===0?t:t.filter(r=>!e.some(n=>n.test(r)))}function vt(t,e){return t.map(r=>r.length<=e?r:`${r.slice(0,e)}\u2026`)}function xt(t,e){if(t.length<=e)return t;let r=t.length-e;return[...t.slice(0,e),`\u2026 (${r} more lines omitted)`]}var Nn=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|class|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Pn=/\{\s*$/;function je(t){let e=[],r=0;for(;r<t.length;){let n=t[r];if(Nn.test(n)&&Pn.test(n)){let s=0,i=r,a=!1;for(;i<t.length&&i-r<200;){for(let o of t[i])o==="{"||o==="("||o==="["?s+=1:(o==="}"||o===")"||o==="]")&&(s-=1);if(i+=1,s<=0){a=!0;break}}if(a){e.push(`${n.replace(/\{\s*$/,"")}{ \u2026 }`),r=i;continue}}e.push(n),r+=1}return e}var $n=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/;function bt(t){let e=t.slice(0,4096);return!(!$n.test(e)||e.split(`
5
5
  `).length<6)}var Mn=/\b(?:DEBUG|TRACE|INFO|VERBOSE)\b/;function kt(t){return t.filter(e=>!Mn.test(e))}function Et(t){if(t.length===0)return t;let e=[],r=1,n=t[0];for(let s=1;s<t.length;s++){if(t[s]===n){r+=1;continue}e.push(r>1?`${n} \xD7${r}`:n),n=t[s],r=1}return e.push(r>1?`${n} \xD7${r}`:n),e}function wt(t){let e=[],r=0;for(let n of t){if(n.trim()===""){r+=1;continue}r>0&&e.push(""),r=0,e.push(n)}return e}var St=new Map;function X(t,e){St.set(t,e)}function Tt(t){return St.get(t)}var jn=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/;function Ln(t){if(t<1024)return String(t);let e=["K","M","G","T"],r=t/1024,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n+=1;return`${r.toFixed(1)}${e[n]}`}function Fn(t){if(!jn.test(t))return null;let e=t.split(/\s+/);if(e.length<9)return null;let r=Number(e[4]);if(!Number.isFinite(r))return null;let n=e.slice(8).join(" ").trim();if(n===""||n==="."||n==="..")return null;let s=e[0].charCodeAt(0)===100;return{name:n,size:r,isDir:s}}var zn=16;function Zn(t){if(t.length<3)return null;let e=new Map;for(let s of t){let i=s.name.lastIndexOf(".");if(i<=0)continue;let a=s.name.slice(i);e.set(a,(e.get(a)??0)+1)}let r=null,n=0;for(let[s,i]of e)i>n&&(n=i,r=s);return r&&n>=Math.ceil(t.length/2)?`${n} ${r}`:null}function Bn(t){let e=[],r=[],n=!1;for(let k of t){if(/^total\s+\d+/.test(k))continue;let C=Fn(k);C&&(n=!0,(C.isDir?e:r).push(C))}if(!n)return t;let s=(k,C)=>k.name.localeCompare(C.name);e.sort(s),r.sort((k,C)=>C.size-k.size||s(k,C));let a=e.slice(0,3),o=r.slice(0,Math.max(0,zn-a.length)),c=[...a,...o],l=e.length-a.length+(r.length-o.length),h=Math.min(40,Math.max(0,...c.map(k=>k.isDir?k.name.length+1:k.name.length))),x=[];for(let k of c){let C=k.isDir?`${k.name}/`:k.name,E=k.isDir?"":Ln(k.size);x.push(E?`${C.padEnd(h)} ${E}`:C)}l>0&&x.push(`\u2026 ${l} more`);let O=r.length===1?"file":"files",R=e.length===1?"dir":"dirs",z=Zn(r),H=`${r.length} ${O}, ${e.length} ${R}`+(z?` (${z})`:"");return x.push(H),x}X("smart-ls",Bn);X("smart-read",t=>je(t));var Vn=/^[\s=]+$/,Un=/^\s*=+\s+(.*?)\s+=+\s*$/;X("strip-banners",t=>{let e=[];for(let r of t){if(Vn.test(r))continue;let n=Un.exec(r);e.push(n?n[1]:r)}return e});function Kn(t){let e=[],r=0,n=0;for(;n<t.length;){let s=t[n].replace(/\s+$/,"");if(s===""){r+=1,n+=1,r<=1&&e.push("");continue}r=0;let i=1;for(;n+i<t.length&&t[n+i].replace(/\s+$/,"")===s;)i+=1;if(i>=3)e.push(s),e.push(` \u2026 (repeated ${i}x)`);else for(let a=0;a<i;a++)e.push(s);n+=i}for(;e.length>0&&e[e.length-1]==="";)e.pop();return e}X("squeeze-output",Kn);var At=new WeakMap;function Hn(t){let e=At.get(t);if(e)return e;let r=t.strip_lines_matching.map(s=>new RegExp(s)),n={def:t,stripRegexes:r};return At.set(t,n),n}function Rt(t,e,r={}){let n=Hn(e),s=t;e.strip_ansi&&(s=yt(s));let i=s.split(`
6
6
  `);n.stripRegexes.length&&(i=_t(i,n.stripRegexes));let a=r.verbosity??"normal";if(a!=="normal"&&(i=Et(i),i=wt(i)),a==="minimal"&&(i=kt(i)),(r.smartCode||r.smartCode===void 0&&a!=="normal"&&bt(s))&&(i=je(i)),e.transform){let c=Tt(e.transform);c&&(i=c(i))}e.truncate_lines_at&&(i=vt(i,e.truncate_lines_at)),e.max_lines&&(i=xt(i,e.max_lines));let o=i.join(`
7
- `);return o.trim().length===0&&e.on_empty&&(o=e.on_empty),o}var Wn=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/thread '.*' panicked/];function Ct(t){if(!t)return!1;let e=t.length<=262144*2?[t]:[t.slice(0,262144),t.slice(-262144)];for(let r of Wn)for(let n of e)if(r.test(n))return!0;return!1}var It=null;function Dt(t){It=t}async function Gn(t,e){let r=await mt();return gt(t,r.values(),e)}async function Ot(t,e,r,n={}){let s=Buffer.byteLength(e,"utf8"),{exitCode:i,...a}=n;if(i!=null&&i!==0||Ct(e))return{output:e,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:!0};let c=await(It??Gn)(t,r);if(!c)return{output:e,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:!1};let l=Rt(e,c,a);return{output:l,filterId:c.slug,rawBytes:s,filteredBytes:Buffer.byteLength(l,"utf8"),debugBypass:!1}}var qn=m.enum(["normal","compact","minimal"]),Jn=m.enum(["off","light","balanced","max"]),We=m.object({enabled:m.boolean().default(!0),telemetryOptIn:m.boolean().default(!0),outputVerbosity:qn.default("compact"),reducer:Jn.default("off"),filters:m.object({enableAll:m.boolean().default(!0),disabled:m.array(m.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Yn=["git","grep","find","ls","ps","cat","head","tail","df","du","tree","wc","read-tool","grep-tool","glob-tool","npm","docker","kubectl","curl","cargo","go-test","gh","aws","dotnet","prisma","tsc","next","jest","vitest","pytest","pip","rspec"];function Le(t,e=!1){return e||!t||t.length===0?new Set(Yn):new Set(t)}import{join as Qn}from"node:path";import{mkdir as Aa,readFile as es,writeFile as Ra,unlink as Ca,rename as Ia}from"node:fs/promises";import Xn from"node:os";import{join as Nt}from"node:path";function T(){return process.env.TOKMIZER_HOME??Nt(Xn.homedir(),".tokmizer")}function Ge(){return Nt(T(),"install-id")}var ts="state.json",Oa={lastSettingsRevision:0,timeZone:Pt(),bonusActive:!1};function Pt(){try{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;return t&&t.length>0?t:"Etc/UTC"}catch{return"Etc/UTC"}}function rs(t){return t?.dir??T()}async function qe(t){let e=rs(t);try{let r=await es(Qn(e,ts),"utf8"),n=JSON.parse(r);return{...n,lastSettingsRevision:n.lastSettingsRevision??0,timeZone:n.timeZone??Pt(),bonusActive:n.bonusActive??!1,...n.bonusResetAt!==void 0?{bonusResetAt:n.bonusResetAt}:{}}}catch{return null}}function ns(){let t=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(t)&&t>0?t:6048e5}function Je(t,e=Date.now()){let r=t.lastHeartbeatOkAt;if(typeof r=="number"&&e-r>ns())return!0;if(t.subEndsAt){let n=Date.parse(t.subEndsAt);if(Number.isFinite(n)&&e>n)return!0}return!1}function $t(t,e=Date.now()){return Je(t,e)?"free":t.plan}import{readFile as ss,writeFile as Ma,mkdir as ja}from"node:fs/promises";import{join as is}from"node:path";var as="settings-cache.json",Mt=We.parse({});async function jt(){try{let t=await ss(is(T(),as),"utf8"),e=JSON.parse(t);return We.parse({...Mt,...e})}catch{return Mt}}var os=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-)*(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^:/\s@]*:)[^\s]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];function Ce(t){let e=t;for(let[r,n]of os)e=e.replace(r,n);return e}import{join as Ft}from"node:path";import{appendFileSync as gs,existsSync as ys,mkdirSync as _s,readFileSync as ao,renameSync as oo,statSync as vs,unlinkSync as co}from"node:fs";import{createHash as Ua,randomUUID as cs}from"node:crypto";import{readFile as us,writeFile as ls,mkdir as ds}from"node:fs/promises";async function Lt(){try{let r=(await us(Ge(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(r))return r}catch{}await ds(T(),{recursive:!0});let t=cs();return await ls(Ge(),t,{mode:384}),t}import{createRequire as fs}from"node:module";var ps=fs(import.meta.url);function ms(){for(let t of["../package.json","../../package.json"])try{let e=ps(t).version;if(typeof e=="string"&&e)return e}catch{}return"0.0.0"}var hs=ms();var eo=300*1e3;var xs=512*1024;function zt(){return Ft(T(),"spool")}function bs(t){return Ft(zt(),`${t}.jsonl`)}function Fe(t,e){try{_s(zt(),{recursive:!0,mode:448});let r=bs(t);if(ys(r)&&vs(r).size>=xs)return;gs(r,JSON.stringify(e)+`
7
+ `);return o.trim().length===0&&e.on_empty&&(o=e.on_empty),o}var Wn=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/thread '.*' panicked/];function Ct(t){if(!t)return!1;let e=t.length<=262144*2?[t]:[t.slice(0,262144),t.slice(-262144)];for(let r of Wn)for(let n of e)if(r.test(n))return!0;return!1}var It=null;function Dt(t){It=t}async function Gn(t,e){let r=await mt();return gt(t,r.values(),e)}async function Ot(t,e,r,n={}){let s=Buffer.byteLength(e,"utf8"),{exitCode:i,...a}=n;if(i!=null&&i!==0||Ct(e))return{output:e,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:!0};let c=await(It??Gn)(t,r);if(!c)return{output:e,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:!1};let l=Rt(e,c,a);return{output:l,filterId:c.slug,rawBytes:s,filteredBytes:Buffer.byteLength(l,"utf8"),debugBypass:!1}}var qn=m.enum(["normal","compact","minimal"]),Jn=m.enum(["off","light","balanced","max"]),We=m.object({enabled:m.boolean().default(!0),telemetryOptIn:m.boolean().default(!0),outputVerbosity:qn.default("compact"),reducer:Jn.default("off"),filters:m.object({enableAll:m.boolean().default(!0),disabled:m.array(m.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Yn=["git","grep","find","ls","ps","cat","head","tail","df","du","tree","wc","read-tool","grep-tool","glob-tool","npm","docker","kubectl","curl","cargo","go-test","gh","aws","dotnet","prisma","tsc","next","jest","vitest","pytest","pip","rspec"];function Le(t,e=!1){return e||!t||t.length===0?new Set(Yn):new Set(t)}import{join as Qn}from"node:path";import{mkdir as Aa,readFile as es,writeFile as Ra,unlink as Ca,rename as Ia}from"node:fs/promises";import Xn from"node:os";import{join as Nt}from"node:path";function T(){return process.env.TOKMIZER_HOME||Nt(Xn.homedir(),".tokmizer")}function Ge(){return Nt(T(),"install-id")}var ts="state.json",Oa={lastSettingsRevision:0,timeZone:Pt(),bonusActive:!1};function Pt(){try{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;return t&&t.length>0?t:"Etc/UTC"}catch{return"Etc/UTC"}}function rs(t){return t?.dir??T()}async function qe(t){let e=rs(t);try{let r=await es(Qn(e,ts),"utf8"),n=JSON.parse(r);return{...n,lastSettingsRevision:n.lastSettingsRevision??0,timeZone:n.timeZone??Pt(),bonusActive:n.bonusActive??!1,...n.bonusResetAt!==void 0?{bonusResetAt:n.bonusResetAt}:{}}}catch{return null}}function ns(){let t=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(t)&&t>0?t:6048e5}function Je(t,e=Date.now()){let r=t.lastHeartbeatOkAt;if(typeof r=="number"&&e-r>ns())return!0;if(t.subEndsAt){let n=Date.parse(t.subEndsAt);if(Number.isFinite(n)&&e>n)return!0}return!1}function $t(t,e=Date.now()){return Je(t,e)?"free":t.plan}import{readFile as ss,writeFile as Ma,mkdir as ja,chmod as La}from"node:fs/promises";import{join as is}from"node:path";var as="settings-cache.json",Mt=We.parse({});async function jt(){try{let t=await ss(is(T(),as),"utf8"),e=JSON.parse(t);return We.parse({...Mt,...e})}catch{return Mt}}var os=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-)*(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^:/\s@]*:)[^\s]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];function Ce(t){let e=t;for(let[r,n]of os)e=e.replace(r,n);return e}import{join as Ft}from"node:path";import{appendFileSync as gs,existsSync as ys,mkdirSync as _s,readFileSync as oo,renameSync as co,statSync as vs,unlinkSync as uo}from"node:fs";import{createHash as Ka,randomUUID as cs}from"node:crypto";import{readFile as us,writeFile as ls,mkdir as ds}from"node:fs/promises";async function Lt(){try{let r=(await us(Ge(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(r))return r}catch{}await ds(T(),{recursive:!0});let t=cs();return await ls(Ge(),t,{mode:384}),t}import{createRequire as fs}from"node:module";var ps=fs(import.meta.url);function ms(){for(let t of["../package.json","../../package.json"])try{let e=ps(t).version;if(typeof e=="string"&&e)return e}catch{}return"0.0.0"}var hs=ms();var to=300*1e3;var xs=512*1024;function zt(){return Ft(T(),"spool")}function bs(t){return Ft(zt(),`${t}.jsonl`)}function Fe(t,e){try{_s(zt(),{recursive:!0,mode:448});let r=bs(t);if(ys(r)&&vs(r).size>=xs)return;gs(r,JSON.stringify(e)+`
8
8
  `,{mode:384})}catch{return}}var Es=/^[a-z0-9][a-z0-9._-]*$/i,ws=/^[a-z][a-z-]+$/,Ss=/^[A-Za-z_][A-Za-z0-9_]*=/,Ts=new Set(["gh","glab","gup","hub","gist"]),As=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,Rs=24,Cs=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]);function Zt(t){let e=t.toLowerCase();return e.startsWith("git")||Ts.has(e)}function Ye(t){let e=t.trim().split(/\s+/).filter(o=>o.length>0),r=0;for(;r<e.length&&Ss.test(e[r]??"");)r+=1;let n=e[r];if(!n||!Es.test(n)||n.length>Rs||Zt(n)||As.test(n)||Ce(n)!==n)return"";let s=e[r+1];return s&&Zt(s)?"":(s&&Cs.has(n.toLowerCase())&&ws.test(s)?`${n} ${s}`:n).slice(0,64)}async function Bt(t){if(!t.telemetryOptIn)return;let e=Ye(t.cmd),r=e&&Ce(e)===e?e:"other";Fe("telemetry",{cmd:r,tokensSaved:Math.max(0,Math.round(t.tokensSaved)),optimized:t.optimized})}async function Vt(t){if(t.plan!=="pro")return;let e=Ye(t.cmd);!e||Ce(e)!==e||Fe("learn",{cmd:e,filterId:t.filterId,rawBytes:t.rawBytes,filteredBytes:t.filteredBytes})}import{appendFileSync as Is,chmodSync as Ds,mkdirSync as Os}from"node:fs";import{join as Ns}from"node:path";var Ps="stats.jsonl";function $s(){return Ns(T(),Ps)}function Ut(t,e,r=$s()){if(!(e<t))return;let n=`{"t":${Math.floor(Date.now()/1e3)},"r":${t},"f":${e}}
9
- `;try{Os(T(),{recursive:!0,mode:448}),Is(r,n,{mode:384}),Ds(r,384)}catch{return}}import{join as Ms}from"node:path";function Kt(){return Ms(T(),"shims")}import{createConnection as Ks}from"node:net";import{spawn as Hs}from"node:child_process";import{existsSync as rr,openSync as Yt,closeSync as Ws,unlinkSync as Xt,writeFileSync as Qt}from"node:fs";import{dirname as Gs,join as qs}from"node:path";import{fileURLToPath as Js}from"node:url";var js=m.object({id:m.string().min(1).max(64),op:m.literal("filter"),cmd:m.string().min(1).max(2048),plan:m.enum(["trial","smart","pro"]),installId:m.string().min(1).max(64).optional()}),Ls=m.object({id:m.string().min(1).max(64),op:m.literal("ping")}),Fs=m.object({id:m.string().min(1).max(64),op:m.literal("shutdown"),installId:m.string().min(1).max(64)}),zs=m.object({id:m.string().min(1).max(64),op:m.literal("reload"),installId:m.string().min(1).max(64).optional()}),Do=m.discriminatedUnion("op",[js,Ls,Fs,zs]),Oo=m.object({id:m.string(),ok:m.literal(!0),data:m.unknown()}),No=m.object({id:m.string(),ok:m.literal(!1),err:m.string(),retryAfterMs:m.number().int().nonnegative().optional()}),Ht=m.object({filter:Me.nullable(),cacheHit:m.boolean().optional()}),ze=`
10
- `,Po=64*1024;function Wt(t){return JSON.stringify(t)+ze}function*Gt(t){let e=0;for(;;){let r=t.indexOf(ze,e);if(r<0)return;yield t.slice(e,r),e=r+1}}function Ze(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import{join as Xe}from"node:path";import{existsSync as qt,statSync as Zs,unlinkSync as Bs,mkdirSync as Vs,chmodSync as Us}from"node:fs";function Be(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let t=typeof process.getuid=="function"?process.getuid():0,e=process.env.XDG_RUNTIME_DIR;if(e&&qt(e))return{path:Xe(e,`tokmizer-${t}.sock`),isPipe:!1};let r=Xe(T(),"run");try{Vs(r,{recursive:!0,mode:448}),Us(r,448)}catch{}return{path:Xe(r,"daemon.sock"),isPipe:!1}}async function Jt(){let{path:t,isPipe:e}=Be();if(e||!qt(t))return;try{if(!Zs(t).isSocket())return}catch{return}let r=await import("node:net");if(!await new Promise(s=>{let i=r.createConnection(t),a=o=>{i.removeAllListeners();try{i.destroy()}catch{}s(o)};i.once("connect",()=>a(!0)),i.once("error",o=>{let c=o.code;a(c!=="ECONNREFUSED"&&c!=="ENOENT")}),setTimeout(()=>a(!0),250)}))try{Bs(t)}catch{}}var Fo=5*6e4;var Ys=500,Xs=3e3,er=1;async function Qs(t,e){return new Promise((r,n)=>{let s=Ks(t),i=o=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(a),o){try{s.destroy()}catch{}n(o)}else r(s)},a=setTimeout(()=>i(new Error("connect timeout")),e);s.once("connect",()=>i(null)),s.once("error",o=>i(o))})}function ei(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Js(new URL("../bin/tkr-daemon.js",import.meta.url))}async function tr(t,e=3e3){let r=Math.ceil(e/75);for(let n=0;n<r;n++){if(rr(t))return!0;await new Promise(s=>setTimeout(s,75))}return!1}async function ti(t){let e=ei();if(!rr(e))throw new Error(`tkr-daemon binary not found at ${e}`);let{path:r}=Be(),n=qs(Gs(r),"daemon.spawn.lock"),s=null;try{s=Yt(n,"wx"),Qt(s,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await tr(r,5e3))return;try{Xt(n)}catch{}s=Yt(n,"wx"),Qt(s,String(process.pid))}else throw i}try{if(Hs(process.execPath,[e],{detached:!0,stdio:["ignore","ignore","ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:t}}).unref(),!await tr(r,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(s!==null){try{Ws(s)}catch{}try{Xt(n)}catch{}}}}async function nr(t={}){let{path:e}=t.socketPath?{path:t.socketPath}:Be(),r=await Lt(),n=null,s=0;for(;s<=er;)try{n=await Qs(e,Ys);break}catch{if(s+=1,s>er)throw new Error(`tkr-daemon unreachable at ${e}`);await Jt(),await ti(r)}if(!n)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";n.setEncoding("utf8"),n.on("data",c=>{a+=c;let l=-1;for(let x=0;x<a.length;x++)a[x]===ze&&(l=x);if(l<0)return;let h=[];for(let x of Gt(a.slice(0,l+1)))h.push(x);a=a.slice(l+1);for(let x of h)if(x)try{let O=JSON.parse(x),R=i.get(O.id);if(!R)continue;clearTimeout(R.timer),i.delete(O.id),R.resolve(O)}catch{}}),n.on("close",()=>{for(let c of i.values())clearTimeout(c.timer),c.reject(new Error("daemon socket closed"));i.clear()}),n.on("error",()=>{});function o(c){return new Promise((l,h)=>{let x=setTimeout(()=>{i.delete(c.id),h(new Error(`daemon request timeout (${c.op})`))},Xs);i.set(c.id,{resolve:l,reject:h,timer:x}),n.write(Wt(c))})}return{filter:async(c,l)=>{let h=await o({id:Ze(),op:"filter",cmd:c.slice(0,2048),plan:l,installId:r});if(!h.ok)return null;let x=Ht.safeParse(h.data);return x.success?x.data.filter:null},ping:async()=>{let c=await o({id:Ze(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await o({id:Ze(),op:"reload",installId:r});if(!c.ok)throw new Error(c.err);return c.data},close:()=>{try{n.end()}catch{}}}}var Qe=null,Ve=null;async function ri(){return Qe||Ve||(Ve=nr().then(t=>(Qe=t,t)).catch(()=>null),Ve)}function ni(t){return t?{...t,matchRegex:new RegExp(t.match_command)}:null}function sr(t){Dt(async(e,r)=>{let n=await ri();if(!n)return null;try{let s=t==="free"?"trial":t,i=await n.filter(e,s);return!i||!(r??Le(void 0)).has(i.slug)?null:ni(i)}catch{return null}})}var ar=16*1024*1024,or=Number(process.env.TOKMIZER_SHIM_TIMEOUT_MS??"600000");function cr(t){return t[0]==="--as"&&typeof t[1]=="string"?{cmdName:t[1],args:t.slice(2)}:t.length>0?{cmdName:t[0],args:t.slice(1)}:{cmdName:"",args:[]}}function ii(){let t=Kt(),e={...process.env},r=process.platform==="win32"?"Path":"PATH",s=(e[r]??e.PATH??"").split(ir).filter(i=>i&&i!==t);return e[r]=s.join(ir),r==="Path"&&(e.PATH=e[r]),e}async function ur(t){let{cmdName:e,args:r}=t;if(!e)return process.stderr.write(`tkr-shim: missing command name
9
+ `;try{Os(T(),{recursive:!0,mode:448}),Is(r,n,{mode:384}),Ds(r,384)}catch{return}}import{join as Ms}from"node:path";function Kt(){return Ms(T(),"shims")}import{createConnection as Ks}from"node:net";import{spawn as Hs}from"node:child_process";import{existsSync as rr,openSync as Yt,closeSync as Ws,unlinkSync as Xt,writeFileSync as Qt}from"node:fs";import{dirname as Gs,join as qs}from"node:path";import{fileURLToPath as Js}from"node:url";var js=m.object({id:m.string().min(1).max(64),op:m.literal("filter"),cmd:m.string().min(1).max(2048),plan:m.enum(["trial","smart","pro"]),installId:m.string().min(1).max(64).optional()}),Ls=m.object({id:m.string().min(1).max(64),op:m.literal("ping")}),Fs=m.object({id:m.string().min(1).max(64),op:m.literal("shutdown"),installId:m.string().min(1).max(64)}),zs=m.object({id:m.string().min(1).max(64),op:m.literal("reload"),installId:m.string().min(1).max(64).optional()}),Oo=m.discriminatedUnion("op",[js,Ls,Fs,zs]),No=m.object({id:m.string(),ok:m.literal(!0),data:m.unknown()}),Po=m.object({id:m.string(),ok:m.literal(!1),err:m.string(),retryAfterMs:m.number().int().nonnegative().optional()}),Ht=m.object({filter:Me.nullable(),cacheHit:m.boolean().optional()}),ze=`
10
+ `,$o=64*1024;function Wt(t){return JSON.stringify(t)+ze}function*Gt(t){let e=0;for(;;){let r=t.indexOf(ze,e);if(r<0)return;yield t.slice(e,r),e=r+1}}function Ze(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import{join as Xe}from"node:path";import{existsSync as qt,statSync as Zs,unlinkSync as Bs,mkdirSync as Vs,chmodSync as Us}from"node:fs";function Be(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let t=typeof process.getuid=="function"?process.getuid():0,e=process.env.XDG_RUNTIME_DIR;if(e&&qt(e))return{path:Xe(e,`tokmizer-${t}.sock`),isPipe:!1};let r=Xe(T(),"run");try{Vs(r,{recursive:!0,mode:448}),Us(r,448)}catch{}return{path:Xe(r,"daemon.sock"),isPipe:!1}}async function Jt(){let{path:t,isPipe:e}=Be();if(e||!qt(t))return;try{if(!Zs(t).isSocket())return}catch{return}let r=await import("node:net");if(!await new Promise(s=>{let i=r.createConnection(t),a=o=>{i.removeAllListeners();try{i.destroy()}catch{}s(o)};i.once("connect",()=>a(!0)),i.once("error",o=>{let c=o.code;a(c!=="ECONNREFUSED"&&c!=="ENOENT")}),setTimeout(()=>a(!0),250)}))try{Bs(t)}catch{}}var zo=5*6e4;var Ys=500,Xs=3e3,er=1;async function Qs(t,e){return new Promise((r,n)=>{let s=Ks(t),i=o=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(a),o){try{s.destroy()}catch{}n(o)}else r(s)},a=setTimeout(()=>i(new Error("connect timeout")),e);s.once("connect",()=>i(null)),s.once("error",o=>i(o))})}function ei(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Js(new URL("../bin/tkr-daemon.js",import.meta.url))}async function tr(t,e=3e3){let r=Math.ceil(e/75);for(let n=0;n<r;n++){if(rr(t))return!0;await new Promise(s=>setTimeout(s,75))}return!1}async function ti(t){let e=ei();if(!rr(e))throw new Error(`tkr-daemon binary not found at ${e}`);let{path:r}=Be(),n=qs(Gs(r),"daemon.spawn.lock"),s=null;try{s=Yt(n,"wx"),Qt(s,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await tr(r,5e3))return;try{Xt(n)}catch{}s=Yt(n,"wx"),Qt(s,String(process.pid))}else throw i}try{if(Hs(process.execPath,[e],{detached:!0,stdio:["ignore","ignore","ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:t}}).unref(),!await tr(r,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(s!==null){try{Ws(s)}catch{}try{Xt(n)}catch{}}}}async function nr(t={}){let{path:e}=t.socketPath?{path:t.socketPath}:Be(),r=await Lt(),n=null,s=0;for(;s<=er;)try{n=await Qs(e,Ys);break}catch{if(s+=1,s>er)throw new Error(`tkr-daemon unreachable at ${e}`);await Jt(),await ti(r)}if(!n)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";n.setEncoding("utf8"),n.on("data",c=>{a+=c;let l=-1;for(let x=0;x<a.length;x++)a[x]===ze&&(l=x);if(l<0)return;let h=[];for(let x of Gt(a.slice(0,l+1)))h.push(x);a=a.slice(l+1);for(let x of h)if(x)try{let O=JSON.parse(x),R=i.get(O.id);if(!R)continue;clearTimeout(R.timer),i.delete(O.id),R.resolve(O)}catch{}}),n.on("close",()=>{for(let c of i.values())clearTimeout(c.timer),c.reject(new Error("daemon socket closed"));i.clear()}),n.on("error",()=>{});function o(c){return new Promise((l,h)=>{let x=setTimeout(()=>{i.delete(c.id),h(new Error(`daemon request timeout (${c.op})`))},Xs);i.set(c.id,{resolve:l,reject:h,timer:x}),n.write(Wt(c))})}return{filter:async(c,l)=>{let h=await o({id:Ze(),op:"filter",cmd:c.slice(0,2048),plan:l,installId:r});if(!h.ok)return null;let x=Ht.safeParse(h.data);return x.success?x.data.filter:null},ping:async()=>{let c=await o({id:Ze(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await o({id:Ze(),op:"reload",installId:r});if(!c.ok)throw new Error(c.err);return c.data},close:()=>{try{n.end()}catch{}}}}var Qe=null,Ve=null;async function ri(){return Qe||Ve||(Ve=nr().then(t=>(Qe=t,t)).catch(()=>null),Ve)}function ni(t){return t?{...t,matchRegex:new RegExp(t.match_command)}:null}function sr(t){Dt(async(e,r)=>{let n=await ri();if(!n)return null;try{let s=t==="free"?"trial":t,i=await n.filter(e,s);return!i||!(r??Le(void 0)).has(i.slug)?null:ni(i)}catch{return null}})}var ar=16*1024*1024,or=Number(process.env.TOKMIZER_SHIM_TIMEOUT_MS??"600000");function cr(t){return t[0]==="--as"&&typeof t[1]=="string"?{cmdName:t[1],args:t.slice(2)}:t.length>0?{cmdName:t[0],args:t.slice(1)}:{cmdName:"",args:[]}}function ii(){let t=Kt(),e={...process.env},r=process.platform==="win32"?"Path":"PATH",s=(e[r]??e.PATH??"").split(ir).filter(i=>i&&i!==t);return e[r]=s.join(ir),r==="Path"&&(e.PATH=e[r]),e}async function ur(t){let{cmdName:e,args:r}=t;if(!e)return process.stderr.write(`tkr-shim: missing command name
11
11
  `),{exitCode:2,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0};let n=[e,...r].join(" "),s=await jt(),i=await qe(),a=i?$t(i):null,o=i?Le(i.allowedFilters,Je(i)):new Set,c=s.filters.disabled.length>0?new Set([...o].filter(h=>!s.filters.disabled.includes(h))):o,l=!s.enabled||!i;return i&&sr(a),new Promise(h=>{let x=si(e,r,{stdio:["inherit","pipe","pipe"],shell:!1,windowsHide:!0,env:ii(),timeout:or>0?or:void 0}),O=[],R=[],z=0,H=0,k=!1,C=E=>{try{x.kill(E)}catch{}};process.on("SIGINT",()=>C("SIGINT")),process.on("SIGTERM",()=>C("SIGTERM")),x.stdout.on("data",E=>{if(z+=E.length,z>ar){if(!k){for(let ge of O)process.stdout.write(ge);O.length=0,k=!0}process.stdout.write(E);return}O.push(E)}),x.stderr.on("data",E=>{if(H+=E.length,H>ar){if(!k){for(let ge of R)process.stderr.write(ge);R.length=0,k=!0}process.stderr.write(E);return}R.push(E)}),x.on("error",E=>{process.stderr.write(`tkr-shim: ${E.message}
12
- `),h({exitCode:127,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0})}),x.on("close",async(E,ge)=>{let Ie=typeof E=="number"?E:ge==="SIGTERM"?143:ge==="SIGINT"?130:1,Q=Buffer.concat(O).toString("utf8"),Z=Buffer.concat(R).toString("utf8");if(k||l){Q&&process.stdout.write(Q),Z&&process.stderr.write(Z),h({exitCode:Ie,filteredOut:Q,filteredErr:Z,filterId:null,rawBytes:z+H,filteredBytes:z+H});return}try{let A=await Ot(n,Q,c,{verbosity:s.outputVerbosity,exitCode:Ie});if(A.filteredBytes<A.rawBytes){process.stdout.write(A.output),Z&&process.stderr.write(Z),Ut(A.rawBytes,A.filteredBytes);try{await Vt({cmd:n,filterId:A.filterId,rawBytes:A.rawBytes,filteredBytes:A.filteredBytes,plan:a}),await Bt({cmd:n,tokensSaved:Math.round((A.rawBytes-A.filteredBytes)/4),optimized:A.filterId!=null,telemetryOptIn:s.telemetryOptIn})}catch{}h({exitCode:Ie,filteredOut:A.output,filteredErr:Z,filterId:A.filterId,rawBytes:A.rawBytes,filteredBytes:A.filteredBytes});return}}catch{}Q&&process.stdout.write(Q),Z&&process.stderr.write(Z),h({exitCode:Ie,filteredOut:Q,filteredErr:Z,filterId:null,rawBytes:z+H,filteredBytes:z+H})})})}var ai=cr(process.argv.slice(2));ur(ai).then(t=>process.exit(t.exitCode)).catch(t=>{process.stderr.write(`tkr-shim: ${t.message}
13
- `),process.exit(1)});
12
+ `),h({exitCode:127,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0})}),x.on("close",async(E,ge)=>{let Ie=typeof E=="number"?E:ge==="SIGTERM"?143:ge==="SIGINT"?130:1,Q=Buffer.concat(O).toString("utf8"),Z=Buffer.concat(R).toString("utf8");if(k||l){Q&&process.stdout.write(Q),Z&&process.stderr.write(Z),h({exitCode:Ie,filteredOut:Q,filteredErr:Z,filterId:null,rawBytes:z+H,filteredBytes:z+H});return}try{let A=await Ot(n,Q,c,{verbosity:s.outputVerbosity,exitCode:Ie});if(A.filteredBytes<A.rawBytes){process.stdout.write(A.output),Z&&process.stderr.write(Z),Ut(A.rawBytes,A.filteredBytes);try{await Vt({cmd:n,filterId:A.filterId,rawBytes:A.rawBytes,filteredBytes:A.filteredBytes,plan:a}),await Bt({cmd:n,tokensSaved:Math.round((A.rawBytes-A.filteredBytes)/4),optimized:A.filterId!=null,telemetryOptIn:s.telemetryOptIn})}catch{}h({exitCode:Ie,filteredOut:A.output,filteredErr:Z,filterId:A.filterId,rawBytes:A.rawBytes,filteredBytes:A.filteredBytes});return}}catch{}Q&&process.stdout.write(Q),Z&&process.stderr.write(Z),h({exitCode:Ie,filteredOut:Q,filteredErr:Z,filterId:null,rawBytes:z+H,filteredBytes:z+H})})})}var ai=cr(process.argv.slice(2));ur(ai).then(t=>{process.exitCode=t.exitCode}).catch(t=>{process.stderr.write(`tkr-shim: ${t.message}
13
+ `),process.exitCode=1});