aicommits 2.0.0-develop.21 → 2.0.0-develop.22

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.
@@ -19,7 +19,7 @@ var TD=Object.defineProperty;var i=(e,t)=>TD(e,"name",{value:t,configurable:!0})
19
19
  `:"")+(n?this.indentText({text:this.render(n),spaces:r}):"")}
20
20
  `}table({tableData:t,tableOptions:n,tableBreakpoints:r}){return Ag(t.map(o=>o.map(s=>this.render(s))),r?Sg(r):n)}flagParameter(t){return t===Boolean?"":t===String?"<string>":t===Number?"<number>":Array.isArray(t)?this.flagParameter(t[0]):"<value>"}flagOperator(t){return" "}flagName(t){const{flag:n,flagFormatted:r,aliasesEnabled:o,aliasFormatted:s}=t;let a="";if(s?a+=`${s}, `:o&&(a+=" "),a+=r,"placeholder"in n&&typeof n.placeholder=="string")a+=`${this.flagOperator(t)}${n.placeholder}`;else{const u=this.flagParameter("type"in n?n.type:n);u&&(a+=`${this.flagOperator(t)}${u}`)}return a}flagDefault(t){return JSON.stringify(t)}flagDescription({flag:t}){let n="description"in t?t.description??"":"";if("default"in t){let{default:r}=t;typeof r=="function"&&(r=r()),r&&(n+=` (default: ${this.flagDefault(r)})`)}return n}render(t){if(typeof t=="string")return t;if(Array.isArray(t))return t.map(n=>this.render(n)).join(`
21
21
  `);if("type"in t&&this[t.type]){const n=this[t.type];if(typeof n=="function")return n.call(this,t.data)}throw new Error(`Invalid node type: ${JSON.stringify(t)}`)}},i(Hn,"_z"),Hn);ke(ic,"Renderers");let jg=ic;const fs=ke(e=>e.length>0&&!e.includes(" "),"isValidScriptName"),{stringify:Tt}=JSON,zg=/[|\\{}()[\]^$+*?.]/;function qo(e){const t=[];let n,r;for(const o of e){if(r)throw new Error(`Invalid parameter: Spread parameter ${Tt(r)} must be last`);const s=o[0],a=o.at(-1);let u;if(s==="<"&&a===">"&&(u=!0,n))throw new Error(`Invalid parameter: Required parameter ${Tt(o)} cannot come after optional parameter ${Tt(n)}`);if(s==="["&&a==="]"&&(u=!1,n=o),u===void 0)throw new Error(`Invalid parameter: ${Tt(o)}. Must be wrapped in <> (required parameter) or [] (optional parameter)`);let l=o.slice(1,-1);const c=l.slice(-3)==="...";c&&(r=o,l=l.slice(0,-3));const d=l.match(zg);if(d)throw new Error(`Invalid parameter: ${Tt(o)}. Invalid character found ${Tt(d[0])}`);t.push({name:l,required:u,spread:c})}return t}i(qo,"b$1"),ke(qo,"parseParameters");function Uo(e,t,n,r){for(let o=0;o<t.length;o+=1){const{name:s,required:a,spread:u}=t[o],l=Og(s);if(l in e)throw new Error(`Invalid parameter: ${Tt(s)} is used more than once.`);const c=u?n.slice(o):n[o];if(u&&(o=t.length),a&&(!c||u&&c.length===0))return console.error(`Error: Missing required parameter ${Tt(s)}
22
- `),r(),process.exit(1);e[l]=c}}i(Uo,"v"),ke(Uo,"mapParametersToArguments");function uc(e){return e===void 0||e!==!1}i(uc,"G$2"),ke(uc,"helpEnabled");function ms(e,t,n,r){const o={...t.flags},s=t.version&&!("version"in o);s&&(o.version={type:Boolean,description:"Show version"});const{help:a}=t,u=uc(a);u&&!("help"in o)&&(o.help={type:Boolean,alias:"h",description:"Show help"});const l=ug(o,r,{ignore:t.ignoreArgv}),c=ke(()=>{console.log(t.version)},"showVersion");if(s&&l.flags.version===!0)return c(),process.exit(0);const d=new jg,f=u&&a?.render?a.render:v=>d.render(v),D=ke(v=>{const y=Pg({...t,...v?{help:v}:{},flags:o});console.log(f(y,d))},"showHelp");if(u&&l.flags.help===!0)return D(),process.exit(0);if(t.parameters){let{parameters:v}=t,y=l._;const b=v.indexOf("--"),C=v.slice(b+1),w=Object.create(null);if(b>-1&&C.length>0){v=v.slice(0,b);const k=l._["--"];y=y.slice(0,-k.length||void 0),Uo(w,qo(v),y,D),Uo(w,qo(C),k,D)}else Uo(w,qo(v),y,D);Object.assign(l._,w)}const m={...l,showVersion:c,showHelp:D},h={command:e,...m};if(typeof n=="function"){const v=n(m);if(v&&"then"in v)return Object.assign(Promise.resolve(v),h)}return h}i(ms,"j"),ke(ms,"cliBase");function lc(e,t){const n=new Map;for(const r of t){const o=[r.options.name],{alias:s}=r.options;s&&(Array.isArray(s)?o.push(...s):o.push(s));for(const a of o){if(n.has(a))throw new Error(`Duplicate command name found: ${Tt(a)}`);n.set(a,r)}}return n.get(e)}i(lc,"K$1"),ke(lc,"getCommand");function cc(e,t,n=process.argv.slice(2)){if(!e)throw new Error("Options is required");if("name"in e&&(!e.name||!fs(e.name)))throw new Error(`Invalid script name: ${Tt(e.name)}`);const r=n[0];if(e.commands&&r&&fs(r)){const o=lc(r,e.commands);if(o)return ms(o.options.name,{...o.options,parent:e},o.callback,n.slice(1))}return ms(void 0,e,t,n)}i(cc,"Q"),ke(cc,"cli");function An(e,t){if(!e)throw new Error("Command options are required");const{name:n}=e;if(n===void 0)throw new Error("Command name is required");if(!fs(n))throw new Error(`Invalid command name ${JSON.stringify(n)}. Command names must be one word.`);return{options:e,callback:t}}i(An,"X"),ke(An,"command");var Lg="aicommits",qg="2.0.0-develop.21",Ug="Writes your git commit messages for you with AI",Zg=["ai","git","commit","code changes"],Vg="MIT",Gg={type:"git",url:"git+https://github.com/Nutlope/aicommits.git"},Wg="Hassan El Mghari (@nutlope)",Hg="module",Jg=["dist"],Kg={aicommits:"dist/cli.mjs",aic:"dist/cli.mjs"},Yg={build:"pkgroll --minify",lint:"","type-check":"tsc",test:"tsx tests",prepack:"pnpm build && clean-pkg-json"},Xg={"@clack/prompts":"^0.11.0","@types/ini":"^1.3.31","@types/node":"^24.10.1","clean-pkg-json":"^1.3.0",cleye:"^2.0.0",execa:"^7.0.0","fs-fixture":"^1.2.0",ini:"^3.0.1",kolorist:"^1.8.0",manten:"^0.7.0",ai:"^6.0.97","@ai-sdk/openai":"^3.0.30","@ai-sdk/openai-compatible":"^2.0.30",pkgroll:"^2.20.1",tsx:"^4.21.0",typescript:"^5.9.3"},Qg={branches:["main",{name:"develop",prerelease:!0}]},hs={name:Lg,version:qg,description:Ug,keywords:Zg,license:Vg,repository:Gg,author:Wg,type:Hg,files:Jg,bin:Kg,scripts:Yg,devDependencies:Xg,release:Qg},Zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}i(rn,"getDefaultExportFromCjs");var on={exports:{}},Ds,dc;function ev(){if(dc)return Ds;dc=1,Ds=r,r.sync=o;var e=as;function t(s,a){var u=a.pathExt!==void 0?a.pathExt:process.env.PATHEXT;if(!u||(u=u.split(";"),u.indexOf("")!==-1))return!0;for(var l=0;l<u.length;l++){var c=u[l].toLowerCase();if(c&&s.substr(-c.length).toLowerCase()===c)return!0}return!1}i(t,"checkPathExt");function n(s,a,u){return!s.isSymbolicLink()&&!s.isFile()?!1:t(a,u)}i(n,"checkStat");function r(s,a,u){e.stat(s,function(l,c){u(l,l?!1:n(c,s,a))})}i(r,"isexe");function o(s,a){return n(e.statSync(s),s,a)}return i(o,"sync"),Ds}i(ev,"requireWindows");var gs,pc;function tv(){if(pc)return gs;pc=1,gs=t,t.sync=n;var e=as;function t(s,a,u){e.stat(s,function(l,c){u(l,l?!1:r(c,a))})}i(t,"isexe");function n(s,a){return r(e.statSync(s),a)}i(n,"sync");function r(s,a){return s.isFile()&&o(s,a)}i(r,"checkStat");function o(s,a){var u=s.mode,l=s.uid,c=s.gid,d=a.uid!==void 0?a.uid:process.getuid&&process.getuid(),f=a.gid!==void 0?a.gid:process.getgid&&process.getgid(),D=parseInt("100",8),m=parseInt("010",8),h=parseInt("001",8),v=D|m,y=u&h||u&m&&c===f||u&D&&l===d||u&v&&d===0;return y}return i(o,"checkMode"),gs}i(tv,"requireMode");var vs,fc;function nv(){if(fc)return vs;fc=1;var e;process.platform==="win32"||Zt.TESTING_WINDOWS?e=ev():e=tv(),vs=t,t.sync=n;function t(r,o,s){if(typeof o=="function"&&(s=o,o={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,u){t(r,o||{},function(l,c){l?u(l):a(c)})})}e(r,o||{},function(a,u){a&&(a.code==="EACCES"||o&&o.ignoreErrors)&&(a=null,u=!1),s(a,u)})}i(t,"isexe");function n(r,o){try{return e.sync(r,o||{})}catch(s){if(o&&o.ignoreErrors||s.code==="EACCES")return!1;throw s}}return i(n,"sync"),vs}i(nv,"requireIsexe");var ys,mc;function rv(){if(mc)return ys;mc=1;const e=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",t=bt,n=e?";":":",r=nv(),o=i(l=>Object.assign(new Error(`not found: ${l}`),{code:"ENOENT"}),"getNotFoundError"),s=i((l,c)=>{const d=c.colon||n,f=l.match(/\//)||e&&l.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(c.path||process.env.PATH||"").split(d)],D=e?c.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=e?D.split(d):[""];return e&&l.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:f,pathExt:m,pathExtExe:D}},"getPathInfo"),a=i((l,c,d)=>{typeof c=="function"&&(d=c,c={}),c||(c={});const{pathEnv:f,pathExt:D,pathExtExe:m}=s(l,c),h=[],v=i(b=>new Promise((C,w)=>{if(b===f.length)return c.all&&h.length?C(h):w(o(l));const k=f[b],T=/^".*"$/.test(k)?k.slice(1,-1):k,B=t.join(T,l),I=!T&&/^\.[\\\/]/.test(l)?l.slice(0,2)+B:B;C(y(I,b,0))}),"step"),y=i((b,C,w)=>new Promise((k,T)=>{if(w===D.length)return k(v(C+1));const B=D[w];r(b+B,{pathExt:m},(I,A)=>{if(!I&&A)if(c.all)h.push(b+B);else return k(b+B);return k(y(b,C,w+1))})}),"subStep");return d?v(0).then(b=>d(null,b),d):v(0)},"which"),u=i((l,c)=>{c=c||{};const{pathEnv:d,pathExt:f,pathExtExe:D}=s(l,c),m=[];for(let h=0;h<d.length;h++){const v=d[h],y=/^".*"$/.test(v)?v.slice(1,-1):v,b=t.join(y,l),C=!y&&/^\.[\\\/]/.test(l)?l.slice(0,2)+b:b;for(let w=0;w<f.length;w++){const k=C+f[w];try{if(r.sync(k,{pathExt:D}))if(c.all)m.push(k);else return k}catch{}}}if(c.all&&m.length)return m;if(c.nothrow)return null;throw o(l)},"whichSync");return ys=a,a.sync=u,ys}i(rv,"requireWhich");var Zo={exports:{}},hc;function ov(){if(hc)return Zo.exports;hc=1;const e=i((t={})=>{const n=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"},"pathKey");return Zo.exports=e,Zo.exports.default=e,Zo.exports}i(ov,"requirePathKey");var _s,Dc;function av(){if(Dc)return _s;Dc=1;const e=bt,t=rv(),n=ov();function r(s,a){const u=s.options.env||process.env,l=process.cwd(),c=s.options.cwd!=null,d=c&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(s.options.cwd)}catch{}let f;try{f=t.sync(s.command,{path:u[n({env:u})],pathExt:a?e.delimiter:void 0})}catch{}finally{d&&process.chdir(l)}return f&&(f=e.resolve(c?s.options.cwd:"",f)),f}i(r,"resolveCommandAttempt");function o(s){return r(s)||r(s,!0)}return i(o,"resolveCommand"),_s=o,_s}i(av,"requireResolveCommand");var Vo={},gc;function sv(){if(gc)return Vo;gc=1;const e=/([()\][%!^"`<>&|;, *?])/g;function t(r){return r=r.replace(e,"^$1"),r}i(t,"escapeCommand");function n(r,o){return r=`${r}`,r=r.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),r=r.replace(/(?=(\\+?)?)\1$/,"$1$1"),r=`"${r}"`,r=r.replace(e,"^$1"),o&&(r=r.replace(e,"^$1")),r}return i(n,"escapeArgument"),Vo.command=t,Vo.argument=n,Vo}i(sv,"require_escape");var bs,vc;function iv(){return vc||(vc=1,bs=/^#!(.*)/),bs}i(iv,"requireShebangRegex");var Cs,yc;function uv(){if(yc)return Cs;yc=1;const e=iv();return Cs=i((t="")=>{const n=t.match(e);if(!n)return null;const[r,o]=n[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?o:o?`${s} ${o}`:s},"shebangCommand"),Cs}i(uv,"requireShebangCommand");var ws,_c;function lv(){if(_c)return ws;_c=1;const e=as,t=uv();function n(r){const s=Buffer.alloc(150);let a;try{a=e.openSync(r,"r"),e.readSync(a,s,0,150,0),e.closeSync(a)}catch{}return t(s.toString())}return i(n,"readShebang"),ws=n,ws}i(lv,"requireReadShebang");var Fs,bc;function cv(){if(bc)return Fs;bc=1;const e=bt,t=av(),n=sv(),r=lv(),o=process.platform==="win32",s=/\.(?:com|exe)$/i,a=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u(d){d.file=t(d);const f=d.file&&r(d.file);return f?(d.args.unshift(d.file),d.command=f,t(d)):d.file}i(u,"detectShebang");function l(d){if(!o)return d;const f=u(d),D=!s.test(f);if(d.options.forceShell||D){const m=a.test(f);d.command=e.normalize(d.command),d.command=n.command(d.command),d.args=d.args.map(v=>n.argument(v,m));const h=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${h}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}i(l,"parseNonShell");function c(d,f,D){f&&!Array.isArray(f)&&(D=f,f=null),f=f?f.slice(0):[],D=Object.assign({},D);const m={command:d,args:f,options:D,file:void 0,original:{command:d,args:f}};return D.shell?m:l(m)}return i(c,"parse"),Fs=c,Fs}i(cv,"requireParse");var Es,Cc;function dv(){if(Cc)return Es;Cc=1;const e=process.platform==="win32";function t(s,a){return Object.assign(new Error(`${a} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${a} ${s.command}`,path:s.command,spawnargs:s.args})}i(t,"notFoundError");function n(s,a){if(!e)return;const u=s.emit;s.emit=function(l,c){if(l==="exit"){const d=r(c,a);if(d)return u.call(s,"error",d)}return u.apply(s,arguments)}}i(n,"hookChildProcess");function r(s,a){return e&&s===1&&!a.file?t(a.original,"spawn"):null}i(r,"verifyENOENT");function o(s,a){return e&&s===1&&!a.file?t(a.original,"spawnSync"):null}return i(o,"verifyENOENTSync"),Es={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:o,notFoundError:t},Es}i(dv,"requireEnoent");var wc;function pv(){if(wc)return on.exports;wc=1;const e=RD,t=cv(),n=dv();function r(s,a,u){const l=t(s,a,u),c=e.spawn(l.command,l.args,l.options);return n.hookChildProcess(c,l),c}i(r,"spawn");function o(s,a,u){const l=t(s,a,u),c=e.spawnSync(l.command,l.args,l.options);return c.error=c.error||n.verifyENOENTSync(c.status,l),c}return i(o,"spawnSync"),on.exports=r,on.exports.spawn=r,on.exports.sync=o,on.exports._parse=t,on.exports._enoent=n,on.exports}i(pv,"requireCrossSpawn");var fv=pv(),mv=rn(fv);function hv(e){const t=typeof e=="string"?`
22
+ `),r(),process.exit(1);e[l]=c}}i(Uo,"v"),ke(Uo,"mapParametersToArguments");function uc(e){return e===void 0||e!==!1}i(uc,"G$2"),ke(uc,"helpEnabled");function ms(e,t,n,r){const o={...t.flags},s=t.version&&!("version"in o);s&&(o.version={type:Boolean,description:"Show version"});const{help:a}=t,u=uc(a);u&&!("help"in o)&&(o.help={type:Boolean,alias:"h",description:"Show help"});const l=ug(o,r,{ignore:t.ignoreArgv}),c=ke(()=>{console.log(t.version)},"showVersion");if(s&&l.flags.version===!0)return c(),process.exit(0);const d=new jg,f=u&&a?.render?a.render:v=>d.render(v),D=ke(v=>{const y=Pg({...t,...v?{help:v}:{},flags:o});console.log(f(y,d))},"showHelp");if(u&&l.flags.help===!0)return D(),process.exit(0);if(t.parameters){let{parameters:v}=t,y=l._;const b=v.indexOf("--"),C=v.slice(b+1),w=Object.create(null);if(b>-1&&C.length>0){v=v.slice(0,b);const k=l._["--"];y=y.slice(0,-k.length||void 0),Uo(w,qo(v),y,D),Uo(w,qo(C),k,D)}else Uo(w,qo(v),y,D);Object.assign(l._,w)}const m={...l,showVersion:c,showHelp:D},h={command:e,...m};if(typeof n=="function"){const v=n(m);if(v&&"then"in v)return Object.assign(Promise.resolve(v),h)}return h}i(ms,"j"),ke(ms,"cliBase");function lc(e,t){const n=new Map;for(const r of t){const o=[r.options.name],{alias:s}=r.options;s&&(Array.isArray(s)?o.push(...s):o.push(s));for(const a of o){if(n.has(a))throw new Error(`Duplicate command name found: ${Tt(a)}`);n.set(a,r)}}return n.get(e)}i(lc,"K$1"),ke(lc,"getCommand");function cc(e,t,n=process.argv.slice(2)){if(!e)throw new Error("Options is required");if("name"in e&&(!e.name||!fs(e.name)))throw new Error(`Invalid script name: ${Tt(e.name)}`);const r=n[0];if(e.commands&&r&&fs(r)){const o=lc(r,e.commands);if(o)return ms(o.options.name,{...o.options,parent:e},o.callback,n.slice(1))}return ms(void 0,e,t,n)}i(cc,"Q"),ke(cc,"cli");function An(e,t){if(!e)throw new Error("Command options are required");const{name:n}=e;if(n===void 0)throw new Error("Command name is required");if(!fs(n))throw new Error(`Invalid command name ${JSON.stringify(n)}. Command names must be one word.`);return{options:e,callback:t}}i(An,"X"),ke(An,"command");var Lg="aicommits",qg="2.0.0-develop.22",Ug="Writes your git commit messages for you with AI",Zg=["ai","git","commit","code changes"],Vg="MIT",Gg={type:"git",url:"git+https://github.com/Nutlope/aicommits.git"},Wg="Hassan El Mghari (@nutlope)",Hg="module",Jg=["dist"],Kg={aicommits:"dist/cli.mjs",aic:"dist/cli.mjs"},Yg={build:"pkgroll --minify",lint:"","type-check":"tsc",test:"tsx tests",prepack:"pnpm build && clean-pkg-json"},Xg={"@clack/prompts":"^0.11.0","@types/ini":"^1.3.31","@types/node":"^24.10.1","clean-pkg-json":"^1.3.0",cleye:"^2.0.0",execa:"^7.0.0","fs-fixture":"^1.2.0",ini:"^3.0.1",kolorist:"^1.8.0",manten:"^0.7.0",ai:"^6.0.97","@ai-sdk/openai":"^3.0.30","@ai-sdk/openai-compatible":"^2.0.30",pkgroll:"^2.20.1",tsx:"^4.21.0",typescript:"^5.9.3"},Qg={branches:["main",{name:"develop",prerelease:!0}]},hs={name:Lg,version:qg,description:Ug,keywords:Zg,license:Vg,repository:Gg,author:Wg,type:Hg,files:Jg,bin:Kg,scripts:Yg,devDependencies:Xg,release:Qg},Zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}i(rn,"getDefaultExportFromCjs");var on={exports:{}},Ds,dc;function ev(){if(dc)return Ds;dc=1,Ds=r,r.sync=o;var e=as;function t(s,a){var u=a.pathExt!==void 0?a.pathExt:process.env.PATHEXT;if(!u||(u=u.split(";"),u.indexOf("")!==-1))return!0;for(var l=0;l<u.length;l++){var c=u[l].toLowerCase();if(c&&s.substr(-c.length).toLowerCase()===c)return!0}return!1}i(t,"checkPathExt");function n(s,a,u){return!s.isSymbolicLink()&&!s.isFile()?!1:t(a,u)}i(n,"checkStat");function r(s,a,u){e.stat(s,function(l,c){u(l,l?!1:n(c,s,a))})}i(r,"isexe");function o(s,a){return n(e.statSync(s),s,a)}return i(o,"sync"),Ds}i(ev,"requireWindows");var gs,pc;function tv(){if(pc)return gs;pc=1,gs=t,t.sync=n;var e=as;function t(s,a,u){e.stat(s,function(l,c){u(l,l?!1:r(c,a))})}i(t,"isexe");function n(s,a){return r(e.statSync(s),a)}i(n,"sync");function r(s,a){return s.isFile()&&o(s,a)}i(r,"checkStat");function o(s,a){var u=s.mode,l=s.uid,c=s.gid,d=a.uid!==void 0?a.uid:process.getuid&&process.getuid(),f=a.gid!==void 0?a.gid:process.getgid&&process.getgid(),D=parseInt("100",8),m=parseInt("010",8),h=parseInt("001",8),v=D|m,y=u&h||u&m&&c===f||u&D&&l===d||u&v&&d===0;return y}return i(o,"checkMode"),gs}i(tv,"requireMode");var vs,fc;function nv(){if(fc)return vs;fc=1;var e;process.platform==="win32"||Zt.TESTING_WINDOWS?e=ev():e=tv(),vs=t,t.sync=n;function t(r,o,s){if(typeof o=="function"&&(s=o,o={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,u){t(r,o||{},function(l,c){l?u(l):a(c)})})}e(r,o||{},function(a,u){a&&(a.code==="EACCES"||o&&o.ignoreErrors)&&(a=null,u=!1),s(a,u)})}i(t,"isexe");function n(r,o){try{return e.sync(r,o||{})}catch(s){if(o&&o.ignoreErrors||s.code==="EACCES")return!1;throw s}}return i(n,"sync"),vs}i(nv,"requireIsexe");var ys,mc;function rv(){if(mc)return ys;mc=1;const e=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",t=bt,n=e?";":":",r=nv(),o=i(l=>Object.assign(new Error(`not found: ${l}`),{code:"ENOENT"}),"getNotFoundError"),s=i((l,c)=>{const d=c.colon||n,f=l.match(/\//)||e&&l.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(c.path||process.env.PATH||"").split(d)],D=e?c.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=e?D.split(d):[""];return e&&l.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:f,pathExt:m,pathExtExe:D}},"getPathInfo"),a=i((l,c,d)=>{typeof c=="function"&&(d=c,c={}),c||(c={});const{pathEnv:f,pathExt:D,pathExtExe:m}=s(l,c),h=[],v=i(b=>new Promise((C,w)=>{if(b===f.length)return c.all&&h.length?C(h):w(o(l));const k=f[b],T=/^".*"$/.test(k)?k.slice(1,-1):k,B=t.join(T,l),I=!T&&/^\.[\\\/]/.test(l)?l.slice(0,2)+B:B;C(y(I,b,0))}),"step"),y=i((b,C,w)=>new Promise((k,T)=>{if(w===D.length)return k(v(C+1));const B=D[w];r(b+B,{pathExt:m},(I,A)=>{if(!I&&A)if(c.all)h.push(b+B);else return k(b+B);return k(y(b,C,w+1))})}),"subStep");return d?v(0).then(b=>d(null,b),d):v(0)},"which"),u=i((l,c)=>{c=c||{};const{pathEnv:d,pathExt:f,pathExtExe:D}=s(l,c),m=[];for(let h=0;h<d.length;h++){const v=d[h],y=/^".*"$/.test(v)?v.slice(1,-1):v,b=t.join(y,l),C=!y&&/^\.[\\\/]/.test(l)?l.slice(0,2)+b:b;for(let w=0;w<f.length;w++){const k=C+f[w];try{if(r.sync(k,{pathExt:D}))if(c.all)m.push(k);else return k}catch{}}}if(c.all&&m.length)return m;if(c.nothrow)return null;throw o(l)},"whichSync");return ys=a,a.sync=u,ys}i(rv,"requireWhich");var Zo={exports:{}},hc;function ov(){if(hc)return Zo.exports;hc=1;const e=i((t={})=>{const n=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"},"pathKey");return Zo.exports=e,Zo.exports.default=e,Zo.exports}i(ov,"requirePathKey");var _s,Dc;function av(){if(Dc)return _s;Dc=1;const e=bt,t=rv(),n=ov();function r(s,a){const u=s.options.env||process.env,l=process.cwd(),c=s.options.cwd!=null,d=c&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(s.options.cwd)}catch{}let f;try{f=t.sync(s.command,{path:u[n({env:u})],pathExt:a?e.delimiter:void 0})}catch{}finally{d&&process.chdir(l)}return f&&(f=e.resolve(c?s.options.cwd:"",f)),f}i(r,"resolveCommandAttempt");function o(s){return r(s)||r(s,!0)}return i(o,"resolveCommand"),_s=o,_s}i(av,"requireResolveCommand");var Vo={},gc;function sv(){if(gc)return Vo;gc=1;const e=/([()\][%!^"`<>&|;, *?])/g;function t(r){return r=r.replace(e,"^$1"),r}i(t,"escapeCommand");function n(r,o){return r=`${r}`,r=r.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),r=r.replace(/(?=(\\+?)?)\1$/,"$1$1"),r=`"${r}"`,r=r.replace(e,"^$1"),o&&(r=r.replace(e,"^$1")),r}return i(n,"escapeArgument"),Vo.command=t,Vo.argument=n,Vo}i(sv,"require_escape");var bs,vc;function iv(){return vc||(vc=1,bs=/^#!(.*)/),bs}i(iv,"requireShebangRegex");var Cs,yc;function uv(){if(yc)return Cs;yc=1;const e=iv();return Cs=i((t="")=>{const n=t.match(e);if(!n)return null;const[r,o]=n[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?o:o?`${s} ${o}`:s},"shebangCommand"),Cs}i(uv,"requireShebangCommand");var ws,_c;function lv(){if(_c)return ws;_c=1;const e=as,t=uv();function n(r){const s=Buffer.alloc(150);let a;try{a=e.openSync(r,"r"),e.readSync(a,s,0,150,0),e.closeSync(a)}catch{}return t(s.toString())}return i(n,"readShebang"),ws=n,ws}i(lv,"requireReadShebang");var Fs,bc;function cv(){if(bc)return Fs;bc=1;const e=bt,t=av(),n=sv(),r=lv(),o=process.platform==="win32",s=/\.(?:com|exe)$/i,a=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u(d){d.file=t(d);const f=d.file&&r(d.file);return f?(d.args.unshift(d.file),d.command=f,t(d)):d.file}i(u,"detectShebang");function l(d){if(!o)return d;const f=u(d),D=!s.test(f);if(d.options.forceShell||D){const m=a.test(f);d.command=e.normalize(d.command),d.command=n.command(d.command),d.args=d.args.map(v=>n.argument(v,m));const h=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${h}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}i(l,"parseNonShell");function c(d,f,D){f&&!Array.isArray(f)&&(D=f,f=null),f=f?f.slice(0):[],D=Object.assign({},D);const m={command:d,args:f,options:D,file:void 0,original:{command:d,args:f}};return D.shell?m:l(m)}return i(c,"parse"),Fs=c,Fs}i(cv,"requireParse");var Es,Cc;function dv(){if(Cc)return Es;Cc=1;const e=process.platform==="win32";function t(s,a){return Object.assign(new Error(`${a} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${a} ${s.command}`,path:s.command,spawnargs:s.args})}i(t,"notFoundError");function n(s,a){if(!e)return;const u=s.emit;s.emit=function(l,c){if(l==="exit"){const d=r(c,a);if(d)return u.call(s,"error",d)}return u.apply(s,arguments)}}i(n,"hookChildProcess");function r(s,a){return e&&s===1&&!a.file?t(a.original,"spawn"):null}i(r,"verifyENOENT");function o(s,a){return e&&s===1&&!a.file?t(a.original,"spawnSync"):null}return i(o,"verifyENOENTSync"),Es={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:o,notFoundError:t},Es}i(dv,"requireEnoent");var wc;function pv(){if(wc)return on.exports;wc=1;const e=RD,t=cv(),n=dv();function r(s,a,u){const l=t(s,a,u),c=e.spawn(l.command,l.args,l.options);return n.hookChildProcess(c,l),c}i(r,"spawn");function o(s,a,u){const l=t(s,a,u),c=e.spawnSync(l.command,l.args,l.options);return c.error=c.error||n.verifyENOENTSync(c.status,l),c}return i(o,"spawnSync"),on.exports=r,on.exports.spawn=r,on.exports.sync=o,on.exports._parse=t,on.exports._enoent=n,on.exports}i(pv,"requireCrossSpawn");var fv=pv(),mv=rn(fv);function hv(e){const t=typeof e=="string"?`
23
23
  `:10,n=typeof e=="string"?"\r":13;return e[e.length-1]===t&&(e=e.slice(0,-1)),e[e.length-1]===n&&(e=e.slice(0,-1)),e}i(hv,"stripFinalNewline");function Fc(e={}){const{env:t=process.env,platform:n=process.platform}=e;return n!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"}i(Fc,"pathKey");const Dv=i(({cwd:e=Le.cwd(),path:t=Le.env[Fc()],preferLocal:n=!0,execPath:r=Le.execPath,addExecPath:o=!0}={})=>{const s=e instanceof URL?Cl(e):e,a=In.resolve(s),u=[];return n&&gv(u,a),o&&vv(u,r,a),[...u,t].join(In.delimiter)},"npmRunPath"),gv=i((e,t)=>{let n;for(;n!==t;)e.push(In.join(t,"node_modules/.bin")),n=t,t=In.resolve(t,"..")},"applyPreferLocal"),vv=i((e,t,n)=>{const r=t instanceof URL?Cl(t):t;e.push(In.resolve(n,r,".."))},"applyExecPath"),yv=i(({env:e=Le.env,...t}={})=>{e={...e};const n=Fc({env:e});return t.path=e[n],e[n]=Dv(t),e},"npmRunPathEnv"),_v=i((e,t,n,r)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;const o=Object.getOwnPropertyDescriptor(e,n),s=Object.getOwnPropertyDescriptor(t,n);!bv(o,s)&&r||Object.defineProperty(e,n,s)},"copyProperty"),bv=i(function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},"canCopyProperty"),Cv=i((e,t)=>{const n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},"changePrototype"),wv=i((e,t)=>`/* Wrapped ${e}*/
24
24
  ${t}`,"wrappedToString"),Fv=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Ev=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),xv=i((e,t,n)=>{const r=n===""?"":`with ${n.trim()}() `,o=wv.bind(null,r,t.toString());Object.defineProperty(o,"name",Ev),Object.defineProperty(e,"toString",{...Fv,value:o})},"changeToString");function kv(e,t,{ignoreNonConfigurable:n=!1}={}){const{name:r}=e;for(const o of Reflect.ownKeys(t))_v(e,t,o,n);return Cv(e,t),xv(e,t,r),e}i(kv,"mimicFunction");const Go=new WeakMap,Ec=i((e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,r=0;const o=e.displayName||e.name||"<anonymous>",s=i(function(...a){if(Go.set(s,++r),r===1)n=e.apply(this,a),e=null;else if(t.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return n},"onetime2");return kv(s,e),Go.set(s,r),s},"onetime");Ec.callCount=e=>{if(!Go.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return Go.get(e)};const Iv=i(()=>{const e=kc-xc+1;return Array.from({length:e},Av)},"getRealtimeSignals"),Av=i((e,t)=>({name:`SIGRT${t+1}`,number:xc+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),"getRealtimeSignal"),xc=34,kc=64,$v=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}],Ic=i(()=>{const e=Iv();return[...$v,...e].map(Tv)},"getSignals"),Tv=i(({name:e,number:t,description:n,action:r,forced:o=!1,standard:s})=>{const{signals:{[e]:a}}=wl,u=a!==void 0;return{name:e,number:u?a:t,description:n,supported:u,action:r,forced:o,standard:s}},"normalizeSignal"),Sv=i(()=>{const e=Ic();return Object.fromEntries(e.map(Bv))},"getSignalsByName"),Bv=i(({name:e,number:t,description:n,supported:r,action:o,forced:s,standard:a})=>[e,{name:e,number:t,description:n,supported:r,action:o,forced:s,standard:a}],"getSignalByName"),Ov=Sv(),Rv=i(()=>{const e=Ic(),t=kc+1,n=Array.from({length:t},(r,o)=>Nv(o,e));return Object.assign({},...n)},"getSignalsByNumber"),Nv=i((e,t)=>{const n=Pv(e,t);if(n===void 0)return{};const{name:r,description:o,supported:s,action:a,forced:u,standard:l}=n;return{[e]:{name:r,number:e,description:o,supported:s,action:a,forced:u,standard:l}}},"getSignalByNumber"),Pv=i((e,t)=>{const n=t.find(({name:r})=>wl.signals[r]===e);return n!==void 0?n:t.find(r=>r.number===e)},"findSignalByNumber");Rv();const Mv=i(({timedOut:e,timeout:t,errorCode:n,signal:r,signalDescription:o,exitCode:s,isCanceled:a})=>e?`timed out after ${t} milliseconds`:a?"was canceled":n!==void 0?`failed with ${n}`:r!==void 0?`was killed with ${r} (${o})`:s!==void 0?`failed with exit code ${s}`:"failed","getErrorPrefix"),Ac=i(({stdout:e,stderr:t,all:n,error:r,signal:o,exitCode:s,command:a,escapedCommand:u,timedOut:l,isCanceled:c,killed:d,parsed:{options:{timeout:f,cwd:D=Le.cwd()}}})=>{s=s===null?void 0:s,o=o===null?void 0:o;const m=o===void 0?void 0:Ov[o].description,h=r&&r.code,y=`Command ${Mv({timedOut:l,timeout:f,errorCode:h,signal:o,signalDescription:m,exitCode:s,isCanceled:c})}: ${a}`,b=Object.prototype.toString.call(r)==="[object Error]",C=b?`${y}
25
25
  ${r.message}`:y,w=[C,t,e].filter(Boolean).join(`
@@ -82,7 +82,7 @@ ${Xs}Please open a Bug report with the information above:`),console.error(`${Xs}
82
82
  `).filter(Boolean).some(l=>!p0(l));let s=[];o&&(s=[...ud]),s=[...s,...e?e.map(oa):[]];const{stdout:a}=await Je("git",[...t,"--name-only",...s]);if(!a)return;const{stdout:u}=await Je("git",[...t,...s]);return{files:a.split(`
83
83
  `),diff:u}},"getStagedDiff"),f0=i(async(e,t)=>{const n=["diff","--cached","--diff-algorithm=minimal"],r=[...ud,...t?t.map(oa):[]],{stdout:o}=await Je("git",[...n,"--",...e,...r]);return{files:e,diff:o}},"getStagedDiffForFiles"),cd=i(e=>`Detected ${e.length.toLocaleString()} staged file${e.length>1?"s":""}`,"getDetectedMessage");var ei,dd;function m0(){if(dd)return ei;dd=1;const{hasOwnProperty:e}=Object.prototype,t=typeof process<"u"&&process.platform==="win32"?`\r
84
84
  `:`
85
- `,n=i((l,c)=>{const d=[];let f="";typeof c=="string"?c={section:c,whitespace:!1}:(c=c||Object.create(null),c.whitespace=c.whitespace===!0);const D=c.whitespace?" = ":"=";for(const m of Object.keys(l)){const h=l[m];if(h&&Array.isArray(h))for(const v of h)f+=a(m+"[]")+D+a(v)+t;else h&&typeof h=="object"?d.push(m):f+=a(m)+D+a(h)+t}c.section&&f.length&&(f="["+a(c.section)+"]"+t+f);for(const m of d){const h=r(m).join("\\."),v=(c.section?c.section+".":"")+h,{whitespace:y}=c,b=n(l[m],{section:v,whitespace:y});f.length&&b.length&&(f+=t),f+=b}return f},"encode"),r=i(l=>l.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(c=>c.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")),"dotSplit"),o=i(l=>{const c=Object.create(null);let d=c,f=null;const D=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,m=l.split(/[\r\n]+/g);for(const v of m){if(!v||v.match(/^\s*[;#]/))continue;const y=v.match(D);if(!y)continue;if(y[1]!==void 0){if(f=u(y[1]),f==="__proto__"){d=Object.create(null);continue}d=c[f]=c[f]||Object.create(null);continue}const b=u(y[2]),C=b.length>2&&b.slice(-2)==="[]",w=C?b.slice(0,-2):b;if(w==="__proto__")continue;const k=y[3]?u(y[4]):!0,T=k==="true"||k==="false"||k==="null"?JSON.parse(k):k;C&&(e.call(d,w)?Array.isArray(d[w])||(d[w]=[d[w]]):d[w]=[]),Array.isArray(d[w])?d[w].push(T):d[w]=T}const h=[];for(const v of Object.keys(c)){if(!e.call(c,v)||typeof c[v]!="object"||Array.isArray(c[v]))continue;const y=r(v);d=c;const b=y.pop(),C=b.replace(/\\\./g,".");for(const w of y)w!=="__proto__"&&((!e.call(d,w)||typeof d[w]!="object")&&(d[w]=Object.create(null)),d=d[w]);d===c&&C===b||(d[C]=c[v],h.push(v))}for(const v of h)delete c[v];return c},"decode"),s=i(l=>l.startsWith('"')&&l.endsWith('"')||l.startsWith("'")&&l.endsWith("'"),"isQuoted"),a=i(l=>typeof l!="string"||l.match(/[=\r\n]/)||l.match(/^\[/)||l.length>1&&s(l)||l!==l.trim()?JSON.stringify(l):l.split(";").join("\\;").split("#").join("\\#"),"safe"),u=i((l,c)=>{if(l=(l||"").trim(),s(l)){l.charAt(0)==="'"&&(l=l.slice(1,-1));try{l=JSON.parse(l)}catch{}}else{let d=!1,f="";for(let D=0,m=l.length;D<m;D++){const h=l.charAt(D);if(d)"\\;#".indexOf(h)!==-1?f+=h:f+="\\"+h,d=!1;else{if(";#".indexOf(h)!==-1)break;h==="\\"?d=!0:f+=h}}return d&&(f+="\\"),f.trim()}return l},"unsafe");return ei={parse:o,decode:o,stringify:n,encode:n,safe:a,unsafe:u},ei}i(m0,"requireIni");var h0=m0(),pd=rn(h0);const ti=i(e=>He.lstat(e).then(()=>!0,()=>!1),"fileExists"),D0=["plain","conventional","gitmoji"],{hasOwnProperty:g0}=Object.prototype,ni=i((e,t)=>g0.call(e,t),"hasOwn"),Ot=i((e,t,n)=>{if(!t)throw new me(`Invalid config property ${e}: ${n}`)},"parseAssert"),aa={OPENAI_API_KEY(e){return e},OPENAI_BASE_URL(e){return e},OPENAI_MODEL(e){return e||""},locale(e){return e?(Ot("locale",!!e,"Cannot be empty"),Ot("locale",/^[a-z-]+$/i.test(e),"Must be a valid locale (letters and dashes/underscores)."),e):"en"},generate(e){if(!e)return 1;Ot("generate",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Ot("generate",t>0,"Must be greater than 0"),Ot("generate",t<=5,"Must be less or equal to 5"),t},type(e){return e?(Ot("type",D0.includes(e),"Invalid commit type"),e):"plain"},proxy(e){if(!(!e||e.length===0))throw new me('The "proxy" config property is deprecated and no longer supported.')},timeout(e){if(!e)return;Ot("timeout",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Ot("timeout",t>=500,"Must be greater than 500ms"),t},"max-length"(e){if(!e)return 72;Ot("max-length",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Ot("max-length",t>=20,"Must be greater than 20 characters"),t}},v0={name:"togetherai",displayName:"Together AI (recommended)",baseUrl:"https://api.together.xyz/v1",apiKeyFormat:"tgp_",modelsFilter:i(e=>e.filter(t=>(!t.type||t.type==="chat"||t.type==="language")&&!t.id.toLowerCase().includes("vision")).map(t=>t.id),"modelsFilter"),defaultModels:["moonshotai/Kimi-K2-Instruct-0905","Qwen/Qwen3-Next-80B-A3B-Instruct","zai-org/GLM-4.5-Air-FP8","meta-llama/Llama-3.2-3B-Instruct-Turbo"],requiresApiKey:!0},y0={name:"openai",displayName:"OpenAI",baseUrl:"https://api.openai.com/v1",apiKeyFormat:"sk-",modelsFilter:i(e=>e.filter(t=>t.id&&(t.id.includes("gpt")||t.id.includes("o1")||t.id.includes("o3")||t.id.includes("o4")||t.id.includes("o5")||!t.type||t.type==="chat")).map(t=>t.id),"modelsFilter"),defaultModels:["gpt-5-mini","gpt-4o-mini","gpt-4o","gpt-5-nano"],requiresApiKey:!0},_0={name:"ollama",displayName:"Ollama (local)",baseUrl:"http://localhost:11434/v1",modelsFilter:i(e=>e.filter(t=>t.name).map(t=>t.name),"modelsFilter"),defaultModels:["gpt-oss:latest","llama3.2:latest"],requiresApiKey:!1},b0={name:"custom",displayName:"Custom (OpenAI-compatible)",baseUrl:"",modelsFilter:i(e=>e.filter(t=>!t.type||t.type==="chat"||t.type==="language").map(t=>t.id),"modelsFilter"),defaultModels:[],requiresApiKey:!0},C0={name:"openrouter",displayName:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",apiKeyFormat:"sk-or-v1-",modelsFilter:i(e=>e.filter(t=>t.id&&(!t.type||t.type==="chat")).map(t=>t.id),"modelsFilter"),defaultModels:["openai/gpt-oss-20b:free","z-ai/glm-4.5-air:free"],requiresApiKey:!0},w0={name:"lmstudio",displayName:"LM Studio (local)",baseUrl:"http://localhost:1234/v1",modelsFilter:i(e=>e.filter(t=>!t.type||t.type==="chat"||t.type==="language").map(t=>t.id),"modelsFilter"),defaultModels:["qwen/qwen3-4b-2507","qwen/qwen3-8b"],requiresApiKey:!1},oo=[v0,y0,_0,w0,C0,b0],F0=i(()=>oo.find(t=>t.name==="openai")?.baseUrl||"","getDefaultBaseUrl"),E0=i((e,t)=>{if(e){const n=oo.find(r=>r.baseUrl===e||r.name==="ollama"&&e.startsWith(r.baseUrl.slice(0,-3)));return n?n.name:"custom"}else if(t)return"openai"},"detectProvider"),ri=i(()=>bt.join(El.homedir(),".aicommits"),"getConfigPath"),fd=i(async()=>{if(!await ti(ri()))return Object.create(null);const t=await He.readFile(ri(),"utf8");return pd.parse(t)},"readConfigFile"),ln=i(async(e,t,n)=>{const r=await fd();ni(r,"proxy")&&console.warn('The "proxy" config property is deprecated and no longer supported');const o={},s=t??{};for(const c of Object.keys(aa)){const d=aa[c],f=e?.[c]??s?.[c]??r[c];if(n)try{o[c]=d(f)}catch{}else o[c]=d(f)}let a,u=o.OPENAI_BASE_URL;const l=o.OPENAI_API_KEY;return!u&&l&&(u=F0(),o.OPENAI_BASE_URL=u),a=E0(u,l),{...o,model:o.OPENAI_MODEL,provider:a}},"getConfig"),oi=i(async e=>{const t=await fd();for(const[n,r]of e){if(!ni(aa,n))throw new me(`Invalid config property: ${n}`);if(r==="")delete t[n];else{const o=aa[n](r);t[n]=o}}await He.writeFile(ri(),pd.stringify(t),"utf8")},"setConfigs"),md=i(e=>`[${e} - \u2705]`,"CURRENT_LABEL_FORMAT"),x0=3600*1e3,hd=i(()=>{const e=process.platform,t=El.homedir();if(e==="darwin")return bt.join(t,"Library","Caches","aicommits","models");if(e==="win32")return bt.join(t,"AppData","Local","aicommits","models");{const n=process.env.XDG_CACHE_HOME,r=n||bt.join(t,".cache");return bt.join(r,"aicommits","models")}},"getCacheDir"),k0=i(e=>{const t=GD.createHash("sha256");return t.update(e),t.digest("hex")},"getCacheKey"),Dd=i(e=>bt.join(hd(),`${e}.json`),"getCachePath"),I0=i(async e=>{const t=Dd(e);try{if(!await ti(t))return null;const n=await He.readFile(t,"utf8");return JSON.parse(n)}catch{return null}},"readCache"),A0=i(async(e,t)=>{try{const n=hd();await He.mkdir(n,{recursive:!0});const r=Dd(e);await He.writeFile(r,JSON.stringify(t),"utf8")}catch{}},"writeCache"),ai=i(async(e,t)=>{const n=k0(e),r=Date.now(),o=await I0(n);if(o&&r-o.timestamp<x0)return o.data;try{const s=await fetch(`${e}/models`,{headers:{Authorization:`Bearer ${t}`}});if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);const a=await s.json(),u=(a.data?a.data:a)||[],l={models:u};return u.length>0&&await A0(n,{data:l,timestamp:r}),l}catch(s){const a=s instanceof Error?s.message:"Request failed";return{models:[],error:a}}},"fetchModels"),$0=i(async(e,t,n)=>{const r=await ai(e,t);r.error&&console.error(`Failed to fetch models: ${r.error}`);let o=[];return n?.modelsFilter?o=n.modelsFilter(r.models):o=r.models.map(s=>s.id||s.name).filter(Boolean),o},"fetchAndFilterModels"),T0=i((e,t,n)=>{let r=e.map(o=>({label:o,value:o}));if(n?.defaultModels&&n.defaultModels.length>0){const o=n.defaultModels.filter(s=>r.some(a=>a.value===s));o.forEach(s=>{const a=r.findIndex(u=>u.value===s);a>=0&&r.splice(a,1)}),o.forEach((s,a)=>{const l=a===0?`\u{1F451} ${s} (default)`:`\u{1F525} ${s}`;r.unshift({label:l,value:s})})}if(t&&t!=="undefined"){const o=n?.defaultModels?.includes(t),s=r.findIndex(a=>a.value===t);if(s>=0&&!o){if(r[s].label=md(r[s].value),s>0){const[a]=r.splice(s,1),u=n?.defaultModels?.length||0;r.splice(u,0,a)}}else if(s<0&&!o){const a=n?.defaultModels?.length||0;r.splice(a,0,{label:md(t),value:t})}}return r},"prepareModelOptions"),S0=i(async(e,t,n,r)=>{const o=await n({message:"Enter search term for models:",placeholder:"e.g., gpt, llama"});if(r(o))return null;let s=e;o&&(s=e.filter(l=>l.toLowerCase().includes(o.toLowerCase())));let a=s.slice(0,20).map(l=>({label:l,value:l}));const u=await t({message:`Choose your model (filtered by "${o}"):`,options:[...a,{label:"Custom model name...",value:"custom"}]});return r(u)?null:u},"handleSearch"),B0=i(async e=>{const t=await e({message:"Enter your custom model name:",validate:i(n=>{if(!n)return"Model name is required"},"validate")});return Bn(t)?null:t},"handleCustom"),gd=i(async(e,t,n,r)=>{(!n||n==="undefined")&&(n=r?.defaultModels?.[0]);const o=Vt();o.start("Fetching available models...");const s=await $0(e,t,r);o.stop();let a=null;if(s.length>0){const{select:u,text:l,isCancel:c}=await Promise.resolve().then(function(){return ro});let d=T0(s,n,r);const f=10;d.length>f&&(d=d.slice(0,f));let D=await u({message:"Choose your model:",options:[{label:"\u{1F50D} Search models...",value:"search"},...d,{label:"Custom model name...",value:"custom"}],initialValue:d.length>0?d[0].value:void 0});if(c(D))return null;if(D==="search"){const m=await S0(s,u,l,c);if(m===null)return null;D=m}if(D==="custom"){if(a=await B0(l),a===null)return null}else a=D}else{console.log("Could not fetch available models. Please specify a model name manually.");const{text:u,isCancel:l}=await Promise.resolve().then(function(){return ro});try{const c=await u({message:"Enter your model name:",validate:i(d=>{if(!d)return"Model name is required"},"validate")});if(l(c))return null;a=c}catch{return null}}return a},"selectModel");var O0=Object.freeze({__proto__:null,fetchModels:ai,selectModel:gd}),R0=Object.defineProperty,N0=i((e,t,n)=>t in e?R0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,"__defNormalProp"),vd=i((e,t,n)=>N0(e,typeof t!="symbol"?t+"":t,n),"__publicField");const wu=class wu{constructor(t,n){vd(this,"config"),vd(this,"def"),this.def=t,this.config=n}get name(){return this.def.name}get displayName(){return this.def.displayName}getDefinition(){return this.def}async setup(){const{text:t,password:n,isCancel:r}=await Promise.resolve().then(function(){return ro}),o=[];if(this.def.requiresApiKey){const s=this.getApiKey(),a=await n({message:s?`Enter your API key (leave empty to keep current: ${s.substring(0,4)}****):`:"Enter your API key:",validate:i(u=>{if(!u&&!s)return"API key is required"},"validate")});if(r(a))throw new Error("Setup cancelled");a&&o.push(["OPENAI_API_KEY",a])}if(this.name==="ollama"){const s=this.getBaseUrl(),a=await t({message:"Enter Ollama endpoint (leave empty for default):",placeholder:s});if(r(a))throw new Error("Setup cancelled");a&&a!=="http://localhost:11434/v1"&&o.push(["OPENAI_BASE_URL",a])}return o}async getModels(){const t=this.getBaseUrl(),n=this.getApiKey()||"",r=await ai(t,n);if(r.error)return{models:[],error:r.error};let o;return this.def.modelsFilter?o=this.def.modelsFilter(r.models):o=r.models.map(s=>s.id||s.name).filter(Boolean),{models:o}}getApiKey(){return this.def.requiresApiKey?this.config.OPENAI_API_KEY:void 0}getBaseUrl(){return this.name==="custom"?this.config.OPENAI_BASE_URL||"":this.def.baseUrl}getDefaultModel(){return this.def.defaultModels[0]||""}getHighlightedModels(){return this.def.defaultModels}validateConfig(){const t=[];return this.def.requiresApiKey&&!this.getApiKey()&&t.push(`${this.displayName} API key is required`),this.name==="custom"&&!this.getBaseUrl()&&t.push("Custom endpoint is required"),{valid:t.length===0,errors:t}}};i(wu,"Provider");let si=wu;function Rn(e){const t=e.provider,n=oo.find(r=>r.name===t);return n?new si(n,e):null}i(Rn,"getProvider");function P0(){return oo.map(e=>({value:e.name,label:e.displayName}))}i(P0,"getAvailableProviders");function M0(e){return oo.find(n=>n.name===e)?.baseUrl||""}i(M0,"getProviderBaseUrl");var yd="vercel.ai.error",j0=Symbol.for(yd),_d,bd,Q=(Cn=class extends(bd=Error,_d=j0,bd){constructor({name:t,message:n,cause:r}){super(n),this[_d]=!0,this.name=t,this.cause=r}static isInstance(t){return Cn.hasMarker(t,yd)}static hasMarker(t,n){const r=Symbol.for(n);return t!=null&&typeof t=="object"&&r in t&&typeof t[r]=="boolean"&&t[r]===!0}},i(Cn,"_AISDKError"),Cn),Cd="AI_APICallError",wd=`vercel.ai.error.${Cd}`,z0=Symbol.for(wd),Fd,Ed,Be=(Jn=class extends(Ed=Q,Fd=z0,Ed){constructor({message:t,url:n,requestBodyValues:r,statusCode:o,responseHeaders:s,responseBody:a,cause:u,isRetryable:l=o!=null&&(o===408||o===409||o===429||o>=500),data:c}){super({name:Cd,message:t,cause:u}),this[Fd]=!0,this.url=n,this.requestBodyValues=r,this.statusCode=o,this.responseHeaders=s,this.responseBody=a,this.isRetryable=l,this.data=c}static isInstance(t){return Q.hasMarker(t,wd)}},i(Jn,"APICallError"),Jn),xd="AI_EmptyResponseBodyError",kd=`vercel.ai.error.${xd}`,L0=Symbol.for(kd),Id,Ad,q0=(Kn=class extends(Ad=Q,Id=L0,Ad){constructor({message:t="Empty response body"}={}){super({name:xd,message:t}),this[Id]=!0}static isInstance(t){return Q.hasMarker(t,kd)}},i(Kn,"EmptyResponseBodyError"),Kn);function ao(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}i(ao,"getErrorMessage$1");var $d="AI_InvalidArgumentError",Td=`vercel.ai.error.${$d}`,U0=Symbol.for(Td),Sd,Bd,Od=(Yn=class extends(Bd=Q,Sd=U0,Bd){constructor({message:t,cause:n,argument:r}){super({name:$d,message:t,cause:n}),this[Sd]=!0,this.argument=r}static isInstance(t){return Q.hasMarker(t,Td)}},i(Yn,"InvalidArgumentError"),Yn),Rd="AI_InvalidPromptError",Nd=`vercel.ai.error.${Rd}`,Z0=Symbol.for(Nd),Pd,Md,Gt=(Xn=class extends(Md=Q,Pd=Z0,Md){constructor({prompt:t,message:n,cause:r}){super({name:Rd,message:`Invalid prompt: ${n}`,cause:r}),this[Pd]=!0,this.prompt=t}static isInstance(t){return Q.hasMarker(t,Nd)}},i(Xn,"InvalidPromptError"),Xn),jd="AI_InvalidResponseDataError",zd=`vercel.ai.error.${jd}`,V0=Symbol.for(zd),Ld,qd,so=(Qn=class extends(qd=Q,Ld=V0,qd){constructor({data:t,message:n=`Invalid response data: ${JSON.stringify(t)}.`}){super({name:jd,message:n}),this[Ld]=!0,this.data=t}static isInstance(t){return Q.hasMarker(t,zd)}},i(Qn,"InvalidResponseDataError"),Qn),Ud="AI_JSONParseError",Zd=`vercel.ai.error.${Ud}`,G0=Symbol.for(Zd),Vd,Gd,sa=(er=class extends(Gd=Q,Vd=G0,Gd){constructor({text:t,cause:n}){super({name:Ud,message:`JSON parsing failed: Text: ${t}.
85
+ `,n=i((l,c)=>{const d=[];let f="";typeof c=="string"?c={section:c,whitespace:!1}:(c=c||Object.create(null),c.whitespace=c.whitespace===!0);const D=c.whitespace?" = ":"=";for(const m of Object.keys(l)){const h=l[m];if(h&&Array.isArray(h))for(const v of h)f+=a(m+"[]")+D+a(v)+t;else h&&typeof h=="object"?d.push(m):f+=a(m)+D+a(h)+t}c.section&&f.length&&(f="["+a(c.section)+"]"+t+f);for(const m of d){const h=r(m).join("\\."),v=(c.section?c.section+".":"")+h,{whitespace:y}=c,b=n(l[m],{section:v,whitespace:y});f.length&&b.length&&(f+=t),f+=b}return f},"encode"),r=i(l=>l.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(c=>c.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")),"dotSplit"),o=i(l=>{const c=Object.create(null);let d=c,f=null;const D=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,m=l.split(/[\r\n]+/g);for(const v of m){if(!v||v.match(/^\s*[;#]/))continue;const y=v.match(D);if(!y)continue;if(y[1]!==void 0){if(f=u(y[1]),f==="__proto__"){d=Object.create(null);continue}d=c[f]=c[f]||Object.create(null);continue}const b=u(y[2]),C=b.length>2&&b.slice(-2)==="[]",w=C?b.slice(0,-2):b;if(w==="__proto__")continue;const k=y[3]?u(y[4]):!0,T=k==="true"||k==="false"||k==="null"?JSON.parse(k):k;C&&(e.call(d,w)?Array.isArray(d[w])||(d[w]=[d[w]]):d[w]=[]),Array.isArray(d[w])?d[w].push(T):d[w]=T}const h=[];for(const v of Object.keys(c)){if(!e.call(c,v)||typeof c[v]!="object"||Array.isArray(c[v]))continue;const y=r(v);d=c;const b=y.pop(),C=b.replace(/\\\./g,".");for(const w of y)w!=="__proto__"&&((!e.call(d,w)||typeof d[w]!="object")&&(d[w]=Object.create(null)),d=d[w]);d===c&&C===b||(d[C]=c[v],h.push(v))}for(const v of h)delete c[v];return c},"decode"),s=i(l=>l.startsWith('"')&&l.endsWith('"')||l.startsWith("'")&&l.endsWith("'"),"isQuoted"),a=i(l=>typeof l!="string"||l.match(/[=\r\n]/)||l.match(/^\[/)||l.length>1&&s(l)||l!==l.trim()?JSON.stringify(l):l.split(";").join("\\;").split("#").join("\\#"),"safe"),u=i((l,c)=>{if(l=(l||"").trim(),s(l)){l.charAt(0)==="'"&&(l=l.slice(1,-1));try{l=JSON.parse(l)}catch{}}else{let d=!1,f="";for(let D=0,m=l.length;D<m;D++){const h=l.charAt(D);if(d)"\\;#".indexOf(h)!==-1?f+=h:f+="\\"+h,d=!1;else{if(";#".indexOf(h)!==-1)break;h==="\\"?d=!0:f+=h}}return d&&(f+="\\"),f.trim()}return l},"unsafe");return ei={parse:o,decode:o,stringify:n,encode:n,safe:a,unsafe:u},ei}i(m0,"requireIni");var h0=m0(),pd=rn(h0);const ti=i(e=>He.lstat(e).then(()=>!0,()=>!1),"fileExists"),D0=["plain","conventional","gitmoji"],{hasOwnProperty:g0}=Object.prototype,ni=i((e,t)=>g0.call(e,t),"hasOwn"),Ot=i((e,t,n)=>{if(!t)throw new me(`Invalid config property ${e}: ${n}`)},"parseAssert"),aa={OPENAI_API_KEY(e){return e},OPENAI_BASE_URL(e){return e},OPENAI_MODEL(e){return e||""},locale(e){return e?(Ot("locale",!!e,"Cannot be empty"),Ot("locale",/^[a-z-]+$/i.test(e),"Must be a valid locale (letters and dashes/underscores)."),e):"en"},generate(e){if(!e)return 1;Ot("generate",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Ot("generate",t>0,"Must be greater than 0"),Ot("generate",t<=5,"Must be less or equal to 5"),t},type(e){return e?(Ot("type",D0.includes(e),"Invalid commit type"),e):"plain"},proxy(e){if(!(!e||e.length===0))throw new me('The "proxy" config property is deprecated and no longer supported.')},timeout(e){if(!e)return;Ot("timeout",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Ot("timeout",t>=500,"Must be greater than 500ms"),t},"max-length"(e){if(!e)return 72;Ot("max-length",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Ot("max-length",t>=20,"Must be greater than 20 characters"),t}},v0={name:"togetherai",displayName:"Together AI (recommended)",baseUrl:"https://api.together.xyz/v1",apiKeyFormat:"tgp_",modelsFilter:i(e=>e.filter(t=>(!t.type||t.type==="chat"||t.type==="language")&&!t.id.toLowerCase().includes("vision")).map(t=>t.id),"modelsFilter"),defaultModels:["moonshotai/Kimi-K2-Instruct-0905","Qwen/Qwen3-Next-80B-A3B-Instruct","zai-org/GLM-4.5-Air-FP8","meta-llama/Llama-3.2-3B-Instruct-Turbo"],requiresApiKey:!0},y0={name:"openai",displayName:"OpenAI",baseUrl:"https://api.openai.com/v1",apiKeyFormat:"sk-",modelsFilter:i(e=>e.filter(t=>t.id&&(t.id.includes("gpt")||t.id.includes("o1")||t.id.includes("o3")||t.id.includes("o4")||t.id.includes("o5")||!t.type||t.type==="chat")).map(t=>t.id),"modelsFilter"),defaultModels:["gpt-5-mini","gpt-4o-mini","gpt-4o","gpt-5-nano"],requiresApiKey:!0},_0={name:"ollama",displayName:"Ollama (local)",baseUrl:"http://localhost:11434/v1",modelsFilter:i(e=>e.filter(t=>t.name).map(t=>t.name),"modelsFilter"),defaultModels:["gpt-oss:latest","llama3.2:latest"],requiresApiKey:!1},b0={name:"custom",displayName:"Custom (OpenAI-compatible)",baseUrl:"",modelsFilter:i(e=>e.filter(t=>!t.type||t.type==="chat"||t.type==="language").map(t=>t.id),"modelsFilter"),defaultModels:[],requiresApiKey:!0},C0={name:"openrouter",displayName:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",apiKeyFormat:"sk-or-v1-",modelsFilter:i(e=>e.filter(t=>t.id&&(!t.type||t.type==="chat")).map(t=>t.id),"modelsFilter"),defaultModels:["openai/gpt-oss-20b:free","z-ai/glm-4.5-air:free"],requiresApiKey:!0},w0={name:"lmstudio",displayName:"LM Studio (local)",baseUrl:"http://localhost:1234/v1",modelsFilter:i(e=>e.filter(t=>!t.type||t.type==="chat"||t.type==="language").map(t=>t.id),"modelsFilter"),defaultModels:["qwen/qwen3-4b-2507","qwen/qwen3-8b"],requiresApiKey:!1},oo=[v0,y0,_0,w0,C0,b0],F0=i(()=>oo.find(t=>t.name==="openai")?.baseUrl||"","getDefaultBaseUrl"),E0=i((e,t)=>{if(e){const n=oo.find(r=>r.baseUrl===e||r.name==="ollama"&&e.startsWith(r.baseUrl.slice(0,-3)));return n?n.name:"custom"}else if(t)return"openai"},"detectProvider"),ri=i(()=>bt.join(El.homedir(),".aicommits"),"getConfigPath"),fd=i(async()=>{if(!await ti(ri()))return Object.create(null);const t=await He.readFile(ri(),"utf8");return pd.parse(t)},"readConfigFile"),ln=i(async(e,t,n)=>{const r=await fd();ni(r,"proxy")&&console.warn('The "proxy" config property is deprecated and no longer supported');const o={},s=t??{};for(const c of Object.keys(aa)){const d=aa[c],f=e?.[c]??s?.[c]??r[c];if(n)try{o[c]=d(f)}catch{}else o[c]=d(f)}let a,u=o.OPENAI_BASE_URL;const l=o.OPENAI_API_KEY;return!u&&l&&(u=F0(),o.OPENAI_BASE_URL=u),a=E0(u,l),{...o,model:o.OPENAI_MODEL,provider:a}},"getConfig"),oi=i(async e=>{const t=await fd();for(const[n,r]of e){if(!ni(aa,n))throw new me(`Invalid config property: ${n}`);if(r==="")delete t[n];else{const o=aa[n](r);t[n]=o}}await He.writeFile(ri(),pd.stringify(t),"utf8")},"setConfigs"),md=i(e=>`\u2705 ${e} (current)`,"CURRENT_LABEL_FORMAT"),x0=3600*1e3,hd=i(()=>{const e=process.platform,t=El.homedir();if(e==="darwin")return bt.join(t,"Library","Caches","aicommits","models");if(e==="win32")return bt.join(t,"AppData","Local","aicommits","models");{const n=process.env.XDG_CACHE_HOME,r=n||bt.join(t,".cache");return bt.join(r,"aicommits","models")}},"getCacheDir"),k0=i(e=>{const t=GD.createHash("sha256");return t.update(e),t.digest("hex")},"getCacheKey"),Dd=i(e=>bt.join(hd(),`${e}.json`),"getCachePath"),I0=i(async e=>{const t=Dd(e);try{if(!await ti(t))return null;const n=await He.readFile(t,"utf8");return JSON.parse(n)}catch{return null}},"readCache"),A0=i(async(e,t)=>{try{const n=hd();await He.mkdir(n,{recursive:!0});const r=Dd(e);await He.writeFile(r,JSON.stringify(t),"utf8")}catch{}},"writeCache"),ai=i(async(e,t)=>{const n=k0(e),r=Date.now(),o=await I0(n);if(o&&r-o.timestamp<x0)return o.data;try{const s=await fetch(`${e}/models`,{headers:{Authorization:`Bearer ${t}`}});if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);const a=await s.json(),u=(a.data?a.data:a)||[],l={models:u};return u.length>0&&await A0(n,{data:l,timestamp:r}),l}catch(s){const a=s instanceof Error?s.message:"Request failed";return{models:[],error:a}}},"fetchModels"),$0=i(async(e,t,n)=>{const r=await ai(e,t);r.error&&console.error(`Failed to fetch models: ${r.error}`);let o=[];return n?.modelsFilter?o=n.modelsFilter(r.models):o=r.models.map(s=>s.id||s.name).filter(Boolean),o},"fetchAndFilterModels"),T0=i((e,t,n)=>{let r=e.map(o=>({label:o,value:o}));if(n?.defaultModels&&n.defaultModels.length>0){const o=n.defaultModels.filter(s=>r.some(a=>a.value===s));o.forEach(s=>{const a=r.findIndex(u=>u.value===s);a>=0&&r.splice(a,1)}),o.forEach((s,a)=>{const u=s===t,l=a===0;let c;u?c=`\u2713 ${s} (current)`:l?c=`\u{1F451} ${s} (default)`:c=`\u{1F525} ${s}`,r.unshift({label:c,value:s})})}if(t&&t!=="undefined"){const o=n?.defaultModels?.includes(t),s=r.findIndex(a=>a.value===t);if(s>=0&&!o){if(r[s].label=md(r[s].value),s>0){const[a]=r.splice(s,1),u=n?.defaultModels?.length||0;r.splice(u,0,a)}}else if(s<0&&!o){const a=n?.defaultModels?.length||0;r.splice(a,0,{label:md(t),value:t})}}return r},"prepareModelOptions"),S0=i(async(e,t,n,r)=>{const o=await n({message:"Enter search term for models:",placeholder:"e.g., gpt, llama"});if(r(o))return null;let s=e;o&&(s=e.filter(l=>l.toLowerCase().includes(o.toLowerCase())));let a=s.slice(0,20).map(l=>({label:l,value:l}));const u=await t({message:`Choose your model (filtered by "${o}"):`,options:[...a,{label:"Custom model name...",value:"custom"}]});return r(u)?null:u},"handleSearch"),B0=i(async e=>{const t=await e({message:"Enter your custom model name:",validate:i(n=>{if(!n)return"Model name is required"},"validate")});return Bn(t)?null:t},"handleCustom"),gd=i(async(e,t,n,r,o)=>{(!n||n==="undefined")&&(n=r?.defaultModels?.[0]);const s=Vt();s.start("Fetching available models...");const a=await $0(e,t,r);s.stop(`${o||"Provider"}: ${a.length} models available`);let u=null;if(a.length>0){const{select:l,text:c,isCancel:d}=await Promise.resolve().then(function(){return ro});let f=T0(a,n,r);const D=10;f.length>D&&(f=f.slice(0,D));let m=await l({message:"Choose your model:",options:[{label:"\u{1F50D} Search models...",value:"search"},...f,{label:"Custom model name...",value:"custom"}],initialValue:f.length>0?f[0].value:void 0});if(d(m))return null;if(m==="search"){const h=await S0(a,l,c,d);if(h===null)return null;m=h}if(m==="custom"){if(u=await B0(c),u===null)return null}else u=m}else{console.log("Could not fetch available models. Please specify a model name manually.");const{text:l,isCancel:c}=await Promise.resolve().then(function(){return ro});try{const d=await l({message:"Enter your model name:",validate:i(f=>{if(!f)return"Model name is required"},"validate")});if(c(d))return null;u=d}catch{return null}}return u},"selectModel");var O0=Object.freeze({__proto__:null,fetchModels:ai,selectModel:gd}),R0=Object.defineProperty,N0=i((e,t,n)=>t in e?R0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,"__defNormalProp"),vd=i((e,t,n)=>N0(e,typeof t!="symbol"?t+"":t,n),"__publicField");const wu=class wu{constructor(t,n){vd(this,"config"),vd(this,"def"),this.def=t,this.config=n}get name(){return this.def.name}get displayName(){return this.def.displayName}getDefinition(){return this.def}async setup(){const{text:t,password:n,isCancel:r}=await Promise.resolve().then(function(){return ro}),o=[];if(this.def.requiresApiKey){const s=this.getApiKey(),a=await n({message:s?`Enter your API key (leave empty to keep current: ${s.substring(0,4)}****):`:"Enter your API key:",validate:i(u=>{if(!u&&!s)return"API key is required"},"validate")});if(r(a))throw new Error("Setup cancelled");a&&o.push(["OPENAI_API_KEY",a])}if(this.name==="ollama"){const s=this.getBaseUrl(),a=await t({message:"Enter Ollama endpoint (leave empty for default):",placeholder:s});if(r(a))throw new Error("Setup cancelled");a&&a!=="http://localhost:11434/v1"&&o.push(["OPENAI_BASE_URL",a])}return o}async getModels(){const t=this.getBaseUrl(),n=this.getApiKey()||"",r=await ai(t,n);if(r.error)return{models:[],error:r.error};let o;return this.def.modelsFilter?o=this.def.modelsFilter(r.models):o=r.models.map(s=>s.id||s.name).filter(Boolean),{models:o}}getApiKey(){return this.def.requiresApiKey?this.config.OPENAI_API_KEY:void 0}getBaseUrl(){return this.name==="custom"?this.config.OPENAI_BASE_URL||"":this.def.baseUrl}getDefaultModel(){return this.def.defaultModels[0]||""}getHighlightedModels(){return this.def.defaultModels}validateConfig(){const t=[];return this.def.requiresApiKey&&!this.getApiKey()&&t.push(`${this.displayName} API key is required`),this.name==="custom"&&!this.getBaseUrl()&&t.push("Custom endpoint is required"),{valid:t.length===0,errors:t}}};i(wu,"Provider");let si=wu;function Rn(e){const t=e.provider,n=oo.find(r=>r.name===t);return n?new si(n,e):null}i(Rn,"getProvider");function P0(){return oo.map(e=>({value:e.name,label:e.displayName}))}i(P0,"getAvailableProviders");function M0(e){return oo.find(n=>n.name===e)?.baseUrl||""}i(M0,"getProviderBaseUrl");var yd="vercel.ai.error",j0=Symbol.for(yd),_d,bd,Q=(Cn=class extends(bd=Error,_d=j0,bd){constructor({name:t,message:n,cause:r}){super(n),this[_d]=!0,this.name=t,this.cause=r}static isInstance(t){return Cn.hasMarker(t,yd)}static hasMarker(t,n){const r=Symbol.for(n);return t!=null&&typeof t=="object"&&r in t&&typeof t[r]=="boolean"&&t[r]===!0}},i(Cn,"_AISDKError"),Cn),Cd="AI_APICallError",wd=`vercel.ai.error.${Cd}`,z0=Symbol.for(wd),Fd,Ed,Be=(Jn=class extends(Ed=Q,Fd=z0,Ed){constructor({message:t,url:n,requestBodyValues:r,statusCode:o,responseHeaders:s,responseBody:a,cause:u,isRetryable:l=o!=null&&(o===408||o===409||o===429||o>=500),data:c}){super({name:Cd,message:t,cause:u}),this[Fd]=!0,this.url=n,this.requestBodyValues=r,this.statusCode=o,this.responseHeaders=s,this.responseBody=a,this.isRetryable=l,this.data=c}static isInstance(t){return Q.hasMarker(t,wd)}},i(Jn,"APICallError"),Jn),xd="AI_EmptyResponseBodyError",kd=`vercel.ai.error.${xd}`,L0=Symbol.for(kd),Id,Ad,q0=(Kn=class extends(Ad=Q,Id=L0,Ad){constructor({message:t="Empty response body"}={}){super({name:xd,message:t}),this[Id]=!0}static isInstance(t){return Q.hasMarker(t,kd)}},i(Kn,"EmptyResponseBodyError"),Kn);function ao(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}i(ao,"getErrorMessage$1");var $d="AI_InvalidArgumentError",Td=`vercel.ai.error.${$d}`,U0=Symbol.for(Td),Sd,Bd,Od=(Yn=class extends(Bd=Q,Sd=U0,Bd){constructor({message:t,cause:n,argument:r}){super({name:$d,message:t,cause:n}),this[Sd]=!0,this.argument=r}static isInstance(t){return Q.hasMarker(t,Td)}},i(Yn,"InvalidArgumentError"),Yn),Rd="AI_InvalidPromptError",Nd=`vercel.ai.error.${Rd}`,Z0=Symbol.for(Nd),Pd,Md,Gt=(Xn=class extends(Md=Q,Pd=Z0,Md){constructor({prompt:t,message:n,cause:r}){super({name:Rd,message:`Invalid prompt: ${n}`,cause:r}),this[Pd]=!0,this.prompt=t}static isInstance(t){return Q.hasMarker(t,Nd)}},i(Xn,"InvalidPromptError"),Xn),jd="AI_InvalidResponseDataError",zd=`vercel.ai.error.${jd}`,V0=Symbol.for(zd),Ld,qd,so=(Qn=class extends(qd=Q,Ld=V0,qd){constructor({data:t,message:n=`Invalid response data: ${JSON.stringify(t)}.`}){super({name:jd,message:n}),this[Ld]=!0,this.data=t}static isInstance(t){return Q.hasMarker(t,zd)}},i(Qn,"InvalidResponseDataError"),Qn),Ud="AI_JSONParseError",Zd=`vercel.ai.error.${Ud}`,G0=Symbol.for(Zd),Vd,Gd,sa=(er=class extends(Gd=Q,Vd=G0,Gd){constructor({text:t,cause:n}){super({name:Ud,message:`JSON parsing failed: Text: ${t}.
86
86
  Error message: ${ao(n)}`,cause:n}),this[Vd]=!0,this.text=t}static isInstance(t){return Q.hasMarker(t,Zd)}},i(er,"JSONParseError"),er),Wd="AI_LoadAPIKeyError",Hd=`vercel.ai.error.${Wd}`,W0=Symbol.for(Hd),Jd,Kd,ia=(tr=class extends(Kd=Q,Jd=W0,Kd){constructor({message:t}){super({name:Wd,message:t}),this[Jd]=!0}static isInstance(t){return Q.hasMarker(t,Hd)}},i(tr,"LoadAPIKeyError"),tr),Yd="AI_TooManyEmbeddingValuesForCallError",Xd=`vercel.ai.error.${Yd}`,H0=Symbol.for(Xd),Qd,ep,tp=(nr=class extends(ep=Q,Qd=H0,ep){constructor(t){super({name:Yd,message:`Too many values for a single embedding call. The ${t.provider} model "${t.modelId}" can only embed up to ${t.maxEmbeddingsPerCall} values per call, but ${t.values.length} values were provided.`}),this[Qd]=!0,this.provider=t.provider,this.modelId=t.modelId,this.maxEmbeddingsPerCall=t.maxEmbeddingsPerCall,this.values=t.values}static isInstance(t){return Q.hasMarker(t,Xd)}},i(nr,"TooManyEmbeddingValuesForCallError"),nr),np="AI_TypeValidationError",rp=`vercel.ai.error.${np}`,J0=Symbol.for(rp),op,ap,cn=(nn=class extends(ap=Q,op=J0,ap){constructor({value:t,cause:n,context:r}){let o="Type validation failed";if(r?.field&&(o+=` for ${r.field}`),r?.entityName||r?.entityId){o+=" (";const s=[];r.entityName&&s.push(r.entityName),r.entityId&&s.push(`id: "${r.entityId}"`),o+=s.join(", "),o+=")"}super({name:np,message:`${o}: Value: ${JSON.stringify(t)}.
87
87
  Error message: ${ao(n)}`,cause:n}),this[op]=!0,this.value=t,this.context=r}static isInstance(t){return Q.hasMarker(t,rp)}static wrap({value:t,cause:n,context:r}){var o,s,a;return nn.isInstance(n)&&n.value===t&&((o=n.context)==null?void 0:o.field)===r?.field&&((s=n.context)==null?void 0:s.entityName)===r?.entityName&&((a=n.context)==null?void 0:a.entityId)===r?.entityId?n:new nn({value:t,cause:n,context:r})}},i(nn,"_TypeValidationError"),nn),sp="AI_UnsupportedFunctionalityError",ip=`vercel.ai.error.${sp}`,K0=Symbol.for(ip),up,lp,Qe=(rr=class extends(lp=Q,up=K0,lp){constructor({functionality:t,message:n=`'${t}' functionality not supported.`}){super({name:sp,message:n}),this[up]=!0,this.functionality=t}static isInstance(t){return Q.hasMarker(t,ip)}},i(rr,"UnsupportedFunctionalityError"),rr);function $(e,t,n){function r(l,c){var d;Object.defineProperty(l,"_zod",{value:l._zod??{},enumerable:!1}),(d=l._zod).traits??(d.traits=new Set),l._zod.traits.add(e),t(l,c);for(const f in a.prototype)f in l||Object.defineProperty(l,f,{value:a.prototype[f].bind(l)});l._zod.constr=a,l._zod.def=c}i(r,"init");const o=n?.Parent??Object,u=class u extends o{};i(u,"Definition");let s=u;Object.defineProperty(s,"name",{value:e});function a(l){var c;const d=n?.Parent?new s:this;r(d,l),(c=d._zod).deferred??(c.deferred=[]);for(const f of d._zod.deferred)f();return d}return i(a,"_"),Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:i(l=>n?.Parent&&l instanceof n.Parent?!0:l?._zod?.traits?.has(e),"value")}),Object.defineProperty(a,"name",{value:e}),a}i($,"$constructor");const Fu=class Fu extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};i(Fu,"$ZodAsyncError");let dn=Fu;const cp={};function Wt(e){return cp}i(Wt,"config");function dp(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}i(dp,"getEnumValues");function Y0(e,t){return typeof t=="bigint"?t.toString():t}i(Y0,"jsonStringifyReplacer");function ii(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}i(ii,"cached");function ui(e){return e==null}i(ui,"nullish");function li(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}i(li,"cleanRegex");function X0(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return s%a/10**o}i(X0,"floatSafeRemainder$1");function he(e,t,n){Object.defineProperty(e,t,{get(){{const r=n();return e[t]=r,r}},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}i(he,"defineLazy");function ua(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}i(ua,"assignProp");function io(e){return JSON.stringify(e)}i(io,"esc");const pp=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function la(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(la,"isObject");const Q0=ii(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ca(e){if(la(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(la(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}i(ca,"isPlainObject");const e_=new Set(["string","number","symbol"]);function uo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(uo,"escapeRegex");function pn(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}i(pn,"clone");function G(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:i(()=>t,"error")};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:i(()=>t.error,"error")}:t}i(G,"normalizeParams");function t_(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}i(t_,"optionalKeys");const n_={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function r_(e,t){const n={},r=e._zod.def;for(const o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(n[o]=r.shape[o])}return pn(e,{...e._zod.def,shape:n,checks:[]})}i(r_,"pick");function o_(e,t){const n={...e._zod.def.shape},r=e._zod.def;for(const o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete n[o]}return pn(e,{...e._zod.def,shape:n,checks:[]})}i(o_,"omit");function a_(e,t){if(!ca(t))throw new Error("Invalid input to extend: expected a plain object");const n={...e._zod.def,get shape(){const r={...e._zod.def.shape,...t};return ua(this,"shape",r),r},checks:[]};return pn(e,n)}i(a_,"extend");function s_(e,t){return pn(e,{...e._zod.def,get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return ua(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}i(s_,"merge");function i_(e,t,n){const r=t._zod.def.shape,o={...r};if(n)for(const s in n){if(!(s in r))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=e?new e({type:"optional",innerType:r[s]}):r[s])}else for(const s in r)o[s]=e?new e({type:"optional",innerType:r[s]}):r[s];return pn(t,{...t._zod.def,shape:o,checks:[]})}i(i_,"partial");function u_(e,t,n){const r=t._zod.def.shape,o={...r};if(n)for(const s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new e({type:"nonoptional",innerType:r[s]}))}else for(const s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return pn(t,{...t._zod.def,shape:o,checks:[]})}i(u_,"required");function lo(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}i(lo,"aborted");function fn(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}i(fn,"prefixIssues");function da(e){return typeof e=="string"?e:e?.message}i(da,"unwrapMessage");function Ht(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=da(e.inst?._zod.def?.error?.(e))??da(t?.error?.(e))??da(n.customError?.(e))??da(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}i(Ht,"finalizeIssue");function ci(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}i(ci,"getLengthableOrigin");function co(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}i(co,"issue");const fp=i((e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Y0,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:i(()=>e.message,"value"),enumerable:!1})},"initializer$1"),mp=$("$ZodError",fp),hp=$("$ZodError",fp,{Parent:Error});function l_(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}i(l_,"flattenError");function c_(e,t){const n=t||function(s){return s.message},r={_errors:[]},o=i(s=>{for(const a of s.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(u=>o({issues:u}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)r._errors.push(n(a));else{let u=r,l=0;for(;l<a.path.length;){const c=a.path[l];l===a.path.length-1?(u[c]=u[c]||{_errors:[]},u[c]._errors.push(n(a))):u[c]=u[c]||{_errors:[]},u=u[c],l++}}},"processError");return o(e),r}i(c_,"formatError");const d_=i(e=>(t,n,r,o)=>{const s=r?Object.assign(r,{async:!1}):{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new dn;if(a.issues.length){const u=new(o?.Err??e)(a.issues.map(l=>Ht(l,s,Wt())));throw pp(u,o?.callee),u}return a.value},"_parse$1"),p_=i(e=>async(t,n,r,o)=>{const s=r?Object.assign(r,{async:!0}):{async:!0};let a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise&&(a=await a),a.issues.length){const u=new(o?.Err??e)(a.issues.map(l=>Ht(l,s,Wt())));throw pp(u,o?.callee),u}return a.value},"_parseAsync"),Dp=i(e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new dn;return s.issues.length?{success:!1,error:new(e??mp)(s.issues.map(a=>Ht(a,o,Wt())))}:{success:!0,data:s.value}},"_safeParse"),f_=Dp(hp),gp=i(e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(a=>Ht(a,o,Wt())))}:{success:!0,data:s.value}},"_safeParseAsync"),m_=gp(hp),h_=/^[cC][^\s-]{8,}$/,D_=/^[0-9a-z]+$/,g_=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,v_=/^[0-9a-vA-V]{20}$/,y_=/^[A-Za-z0-9]{27}$/,__=/^[a-zA-Z0-9_-]{21}$/,b_=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,C_=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,vp=i(e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,"uuid"),w_=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,F_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function E_(){return new RegExp(F_,"u")}i(E_,"emoji");const x_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,k_=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,I_=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,A_=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$_=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,yp=/^[A-Za-z0-9_-]*$/,T_=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,S_=/^\+(?:[0-9]){6,14}[0-9]$/,_p="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",B_=new RegExp(`^${_p}$`);function bp(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}i(bp,"timeSource");function O_(e){return new RegExp(`^${bp(e)}$`)}i(O_,"time$1");function R_(e){const t=bp({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-]\\d{2}:\\d{2})");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${_p}T(?:${r})$`)}i(R_,"datetime$1");const N_=i(e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},"string$1"),P_=/^\d+$/,M_=/^-?\d+(?:\.\d+)?/i,j_=/true|false/i,z_=/null/i,L_=/^[^A-Z]*$/,q_=/^[^a-z]*$/,it=$("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Cp={number:"number",bigint:"bigint",object:"date"},wp=$("$ZodCheckLessThan",(e,t)=>{it.init(e,t);const n=Cp[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Fp=$("$ZodCheckGreaterThan",(e,t)=>{it.init(e,t);const n=Cp[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),U_=$("$ZodCheckMultipleOf",(e,t)=>{it.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):X0(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Z_=$("$ZodCheckNumberFormat",(e,t)=>{it.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,s]=n_[t.format];e._zod.onattach.push(a=>{const u=a._zod.bag;u.format=t.format,u.minimum=o,u.maximum=s,n&&(u.pattern=P_)}),e._zod.check=a=>{const u=a.value;if(n){if(!Number.isInteger(u)){a.issues.push({expected:r,format:t.format,code:"invalid_type",input:u,inst:e});return}if(!Number.isSafeInteger(u)){u>0?a.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort}):a.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}u<o&&a.issues.push({origin:"number",input:u,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),u>s&&a.issues.push({origin:"number",input:u,code:"too_big",maximum:s,inst:e})}}),V_=$("$ZodCheckMaxLength",(e,t)=>{var n;it.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!ui(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const a=ci(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),G_=$("$ZodCheckMinLength",(e,t)=>{var n;it.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!ui(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const a=ci(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),W_=$("$ZodCheckLengthEquals",(e,t)=>{var n;it.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!ui(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,s=o.length;if(s===t.length)return;const a=ci(o),u=s>t.length;r.issues.push({origin:a,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),pa=$("$ZodCheckStringFormat",(e,t)=>{var n,r;it.init(e,t),e._zod.onattach.push(o=>{const s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),H_=$("$ZodCheckRegex",(e,t)=>{pa.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),J_=$("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=L_),pa.init(e,t)}),K_=$("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=q_),pa.init(e,t)}),Y_=$("$ZodCheckIncludes",(e,t)=>{it.init(e,t);const n=uo(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),X_=$("$ZodCheckStartsWith",(e,t)=>{it.init(e,t);const n=new RegExp(`^${uo(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Q_=$("$ZodCheckEndsWith",(e,t)=>{it.init(e,t);const n=new RegExp(`.*${uo(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),eb=$("$ZodCheckOverwrite",(e,t)=>{it.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),Eu=class Eu{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
88
88
  `).filter(a=>a),o=Math.min(...r.map(a=>a.length-a.trimStart().length)),s=r.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(const a of s)this.content.push(a)}compile(){const t=Function,n=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,o.join(`
@@ -119,7 +119,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
119
119
  ]))`;continue}else if(o[c]==="$"){s+=`($|(?=[\r
120
120
  ]))`;continue}}if(r.s&&o[c]==="."){s+=u?`${o[c]}\r
121
121
  `:`[${o[c]}\r
122
- ]`;continue}s+=o[c],o[c]==="\\"?a=!0:u&&o[c]==="]"?u=!1:!u&&o[c]==="["&&(u=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}i(Ef,"stringifyRegExpWithFlags");function xf(e,t){var n,r,o,s,a,u;const l={type:"object",additionalProperties:(n=ye(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?n:t.allowedAdditionalProperties};if(((r=e.keyType)==null?void 0:r._def.typeName)===P.ZodString&&((o=e.keyType._def.checks)!=null&&o.length)){const{type:c,...d}=Ff(e.keyType._def,t);return{...l,propertyNames:d}}else{if(((s=e.keyType)==null?void 0:s._def.typeName)===P.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((a=e.keyType)==null?void 0:a._def.typeName)===P.ZodBranded&&e.keyType._def.type._def.typeName===P.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){const{type:c,...d}=Cf(e.keyType._def,t);return{...l,propertyNames:d}}}return l}i(xf,"parseRecordDef");function a2(e,t){if(t.mapStrategy==="record")return xf(e,t);const n=ye(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ht(),r=ye(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ht();return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}i(a2,"parseMapDef");function s2(e){const t=e.values,r=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(r.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:r}}i(s2,"parseNativeEnumDef");function i2(){return{not:ht()}}i(i2,"parseNeverDef");function u2(){return{type:"null"}}i(u2,"parseNullDef");var Ni={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function l2(e,t){const n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Ni&&(!r._def.checks||!r._def.checks.length))){const r=n.reduce((o,s)=>{const a=Ni[s._def.typeName];return a&&!o.includes(a)?[...o,a]:o},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){const r=n.reduce((o,s)=>{const a=typeof s._def.value;switch(a){case"string":case"number":case"boolean":return[...o,a];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(r.length===n.length){const o=r.filter((s,a,u)=>u.indexOf(s)===a);return{type:o.length>1?o:o[0],enum:n.reduce((s,a)=>s.includes(a._def.value)?s:[...s,a._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,o)=>[...r,...o._def.values.filter(s=>!r.includes(s))],[])};return c2(e,t)}i(l2,"parseUnionDef");var c2=i((e,t)=>{const n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>ye(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0},"asAnyOf");function d2(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Ni[e.innerType._def.typeName],"null"]};const n=ye(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}i(d2,"parseNullableDef");function p2(e){const t={type:"number"};if(!e.checks)return t;for(const n of e.checks)switch(n.kind){case"int":t.type="integer";break;case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}i(p2,"parseNumberDef");function f2(e,t){const n={type:"object",properties:{}},r=[],o=e.shape();for(const a in o){let u=o[a];if(u===void 0||u._def===void 0)continue;const l=h2(u),c=ye(u._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});c!==void 0&&(n.properties[a]=c,l||r.push(a))}r.length&&(n.required=r);const s=m2(e,t);return s!==void 0&&(n.additionalProperties=s),n}i(f2,"parseObjectDef");function m2(e,t){if(e.catchall._def.typeName!=="ZodNever")return ye(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}i(m2,"decideAdditionalProperties");function h2(e){try{return e.isOptional()}catch{return!0}}i(h2,"safeIsOptional");var D2=i((e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return ye(e.innerType._def,t);const r=ye(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ht()},r]}:ht()},"parseOptionalDef"),g2=i((e,t)=>{if(t.pipeStrategy==="input")return ye(e.in._def,t);if(t.pipeStrategy==="output")return ye(e.out._def,t);const n=ye(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=ye(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(o=>o!==void 0)}},"parsePipelineDef");function v2(e,t){return ye(e.type._def,t)}i(v2,"parsePromiseDef");function y2(e,t){const r={type:"array",uniqueItems:!0,items:ye(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}i(y2,"parseSetDef");function _2(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>ye(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:ye(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>ye(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}i(_2,"parseTupleDef");function b2(){return{not:ht()}}i(b2,"parseUndefinedDef");function C2(){return ht()}i(C2,"parseUnknownDef");var w2=i((e,t)=>ye(e.innerType._def,t),"parseReadonlyDef"),F2=i((e,t,n)=>{switch(t){case P.ZodString:return Ff(e,n);case P.ZodNumber:return p2(e);case P.ZodObject:return f2(e,n);case P.ZodBigInt:return WF(e);case P.ZodBoolean:return HF();case P.ZodDate:return wf(e,n);case P.ZodUndefined:return b2();case P.ZodNull:return u2();case P.ZodArray:return GF(e,n);case P.ZodUnion:case P.ZodDiscriminatedUnion:return l2(e,n);case P.ZodIntersection:return t2(e,n);case P.ZodTuple:return _2(e,n);case P.ZodRecord:return xf(e,n);case P.ZodLiteral:return n2(e);case P.ZodEnum:return QF(e);case P.ZodNativeEnum:return s2(e);case P.ZodNullable:return d2(e,n);case P.ZodOptional:return D2(e,n);case P.ZodMap:return a2(e,n);case P.ZodSet:return y2(e,n);case P.ZodLazy:return()=>e.getter()._def;case P.ZodPromise:return v2(e,n);case P.ZodNaN:case P.ZodNever:return i2();case P.ZodEffects:return XF(e,n);case P.ZodAny:return ht();case P.ZodUnknown:return C2();case P.ZodDefault:return YF(e,n);case P.ZodBranded:return Cf(e,n);case P.ZodReadonly:return w2(e,n);case P.ZodCatch:return JF(e,n);case P.ZodPipeline:return g2(e,n);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return(r=>{})()}},"selectParser"),E2=i((e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")},"getRelativePath");function ye(e,t,n=!1){var r;const o=t.seen.get(e);if(t.override){const l=(r=t.override)==null?void 0:r.call(t,e,t,o,n);if(l!==ZF)return l}if(o&&!n){const l=x2(o,t);if(l!==void 0)return l}const s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);const a=F2(e,e.typeName,t),u=typeof a=="function"?ye(a(),t):a;if(u&&k2(e,t,u),t.postProcess){const l=t.postProcess(u,e,t);return s.jsonSchema=u,l}return s.jsonSchema=u,u}i(ye,"parseDef");var x2=i((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:E2(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ht()):t.$refStrategy==="seen"?ht():void 0}},"get$ref"),k2=i((e,t,n)=>(e.description&&(n.description=e.description),n),"addMeta"),I2=i(e=>{const t=VF(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},"getRefs"),A2=i((e,t)=>{var n;const r=I2(t);let o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[d,f])=>{var D;return{...c,[d]:(D=ye(f._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?D:ht()}},{}):void 0;const s=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,a=(n=ye(e._def,s===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1))!=null?n:ht(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(a.title=u);const l=s===void 0?o?{...a,[r.definitionPath]:o}:a:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,s].join("/"),[r.definitionPath]:{...o,[s]:a}};return l.$schema="http://json-schema.org/draft-07/schema#",l},"zod3ToJsonSchema"),Pi=Symbol.for("vercel.ai.schema");function X(e){let t;return()=>(t==null&&(t=e()),t)}i(X,"lazySchema");function Ma(e,{validate:t}={}){return{[Pi]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}i(Ma,"jsonSchema");function $2(e){return typeof e=="object"&&e!==null&&Pi in e&&e[Pi]===!0&&"jsonSchema"in e&&"validate"in e}i($2,"isSchema");function Zn(e){return e==null?Ma({properties:{},additionalProperties:!1}):$2(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?K(e):T2(e):e()}i(Zn,"asSchema");function T2(e){return Ma(()=>Bi(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:i(async t=>{const n=await e["~standard"].validate(t);return"value"in n?{success:!0,value:n.value}:{success:!1,error:new cn({value:t,cause:n.issues})}},"validate")})}i(T2,"standardSchema");function S2(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ma(()=>A2(e,{$refStrategy:r?"root":"none"}),{validate:i(async o=>{const s=await e.safeParseAsync(o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}},"validate")})}i(S2,"zod3Schema");function B2(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ma(()=>Bi(VC(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:i(async o=>{const s=await Up(e,o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}},"validate")})}i(B2,"zod4Schema");function O2(e){return"_zod"in e}i(O2,"isZod4Schema");function K(e,t){return O2(e)?B2(e):S2(e)}i(K,"zodSchema");async function rt({value:e,schema:t,context:n}){const r=await xt({value:e,schema:t,context:n});if(!r.success)throw cn.wrap({value:e,cause:r.error,context:n});return r.value}i(rt,"validateTypes");async function xt({value:e,schema:t,context:n}){const r=Zn(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const o=await r.validate(e);return o.success?{success:!0,value:o.value,rawValue:e}:{success:!1,error:cn.wrap({value:e,cause:o.error,context:n}),rawValue:e}}catch(o){return{success:!1,error:cn.wrap({value:e,cause:o,context:n}),rawValue:e}}}i(xt,"safeValidateTypes");async function R2({text:e,schema:t}){try{const n=Si(e);return t==null?n:rt({value:n,schema:t})}catch(n){throw sa.isInstance(n)||cn.isInstance(n)?n:new sa({text:e,cause:n})}}i(R2,"parseJSON");async function kt({text:e,schema:t}){try{const n=Si(e);return t==null?{success:!0,value:n,rawValue:n}:await xt({value:n,schema:t})}catch(n){return{success:!1,error:sa.isInstance(n)?n:new sa({text:e,cause:n}),rawValue:void 0}}}i(kt,"safeParseJSON");function ja(e){try{return Si(e),!0}catch{return!1}}i(ja,"isParsableJson");function kf({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Ii).pipeThrough(new TransformStream({async transform({data:n},r){n!=="[DONE]"&&r.enqueue(await kt({text:n,schema:t}))}}))}i(kf,"parseJsonEventStream");async function tt({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;const r=await xt({value:t[e],schema:n});if(!r.success)throw new Od({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}i(tt,"parseProviderOptions");var N2=i(()=>globalThis.fetch,"getOriginalFetch2"),qe=i(async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>If({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postJsonToApi"),Mi=i(async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>If({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postFormDataToApi"),If=i(async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:o,abortSignal:s,fetch:a=N2()})=>{try{const u=await a(e,{method:"POST",headers:Dn(t,`ai-sdk/provider-utils/${vf}`,Ti()),body:n.content,signal:s}),l=Ln(u);if(!u.ok){let c;try{c=await o({response:u,url:e,requestBodyValues:n.values})}catch(d){throw Un(d)||Be.isInstance(d)?d:new Be({message:"Failed to process error response",cause:d,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:n.values})}throw c.value}try{return await r({response:u,url:e,requestBodyValues:n.values})}catch(c){throw c instanceof Error&&(Un(c)||Be.isInstance(c))?c:new Be({message:"Failed to process successful response",cause:c,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:n.values})}}catch(u){throw gf({error:u,url:e,requestBodyValues:n.values})}},"postToApi");function x8(e){return e}i(x8,"tool");function It({id:e,inputSchema:t,outputSchema:n,supportsDeferredResults:r}){return({execute:o,needsApproval:s,toModelOutput:a,onInputStart:u,onInputDelta:l,onInputAvailable:c,...d})=>({type:"provider",id:e,args:d,inputSchema:t,outputSchema:n,execute:o,needsApproval:s,toModelOutput:a,onInputStart:u,onInputDelta:l,onInputAvailable:c,supportsDeferredResults:r})}i(It,"createProviderToolFactoryWithOutputSchema");async function lt(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}i(lt,"resolve");var Dt=i(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:o,requestBodyValues:s})=>{const a=await r.text(),u=Ln(r);if(a.trim()==="")return{responseHeaders:u,value:new Be({message:r.statusText,url:o,requestBodyValues:s,statusCode:r.status,responseHeaders:u,responseBody:a,isRetryable:n?.(r)})};try{const l=await R2({text:a,schema:e});return{responseHeaders:u,value:new Be({message:t(l),url:o,requestBodyValues:s,statusCode:r.status,responseHeaders:u,responseBody:a,data:l,isRetryable:n?.(r,l)})}}catch{return{responseHeaders:u,value:new Be({message:r.statusText,url:o,requestBodyValues:s,statusCode:r.status,responseHeaders:u,responseBody:a,isRetryable:n?.(r)})}}},"createJsonErrorResponseHandler"),Vn=i(e=>async({response:t})=>{const n=Ln(t);if(t.body==null)throw new q0({});return{responseHeaders:n,value:kf({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),Ke=i(e=>async({response:t,url:n,requestBodyValues:r})=>{const o=await t.text(),s=await kt({text:o,schema:e}),a=Ln(t);if(!s.success)throw new Be({message:"Invalid JSON response",cause:s.error,statusCode:t.status,responseHeaders:a,responseBody:o,url:n,requestBodyValues:r});return{responseHeaders:a,value:s.value,rawValue:s.rawValue}},"createJsonResponseHandler"),P2=i(()=>async({response:e,url:t,requestBodyValues:n})=>{const r=Ln(e);if(!e.body)throw new Be({message:"Response body is empty",url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{const o=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(o)}}catch(o){throw new Be({message:"Failed to read response as array buffer",url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:o})}},"createBinaryResponseHandler");function ji(e){return e?.replace(/\/$/,"")}i(ji,"withoutTrailingSlash");function M2(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}i(M2,"isAsyncIterable");async function*j2({execute:e,input:t,options:n}){const r=e(t,n);if(M2(r)){let o;for await(const s of r)o=s,yield{type:"preliminary",output:s};yield{type:"final",output:o}}else yield{type:"final",output:await r}}i(j2,"executeTool");var zi,Af;function $f(){if(Af)return zi;Af=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var D in f)e(d,D,{get:f[D],enumerable:!0})},"__export"),s=i((d,f,D,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==D&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(m=t(f,h))||m.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{SYMBOL_FOR_REQ_CONTEXT:i(()=>l,"SYMBOL_FOR_REQ_CONTEXT"),getContext:i(()=>c,"getContext")}),zi=a(u);const l=Symbol.for("@vercel/request-context");function c(){return globalThis[l]?.get?.()??{}}return i(c,"getContext"),zi}i($f,"requireGetContext");var Li,Tf;function Sf(){if(Tf)return Li;Tf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var D in f)e(d,D,{get:f[D],enumerable:!0})},"__export"),s=i((d,f,D,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==D&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(m=t(f,h))||m.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{VercelOidcTokenError:i(()=>l,"VercelOidcTokenError")}),Li=a(u);const c=class c extends Error{constructor(f,D){super(f),this.name="VercelOidcTokenError",this.cause=D}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};i(c,"VercelOidcTokenError");let l=c;return Li}i(Sf,"requireTokenError");var qi,Bf;function z2(){if(Bf)return qi;Bf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((D,m)=>{for(var h in m)e(D,h,{get:m[h],enumerable:!0})},"__export"),s=i((D,m,h,v)=>{if(m&&typeof m=="object"||typeof m=="function")for(let y of n(m))!r.call(D,y)&&y!==h&&e(D,y,{get:i(()=>m[y],"get"),enumerable:!(v=t(m,y))||v.enumerable});return D},"__copyProps"),a=i(D=>s(e({},"__esModule",{value:!0}),D),"__toCommonJS"),u={};o(u,{getVercelOidcToken:i(()=>d,"getVercelOidcToken"),getVercelOidcTokenSync:i(()=>f,"getVercelOidcTokenSync")}),qi=a(u);var l=$f(),c=Sf();async function d(){let D="",m;try{D=f()}catch(h){m=h}try{const[{getTokenPayload:h,isExpired:v},{refreshToken:y}]=await Promise.all([await import("./token-util-CzT2Q2oi.mjs").then(function(b){return b.t}),await import("./token-BLAcxIyB.mjs").then(function(b){return b.t})]);(!D||v(h(D)))&&(await y(),D=f())}catch(h){let v=m instanceof Error?m.message:"";throw h instanceof Error&&(v=`${v}
122
+ ]`;continue}s+=o[c],o[c]==="\\"?a=!0:u&&o[c]==="]"?u=!1:!u&&o[c]==="["&&(u=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}i(Ef,"stringifyRegExpWithFlags");function xf(e,t){var n,r,o,s,a,u;const l={type:"object",additionalProperties:(n=ye(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?n:t.allowedAdditionalProperties};if(((r=e.keyType)==null?void 0:r._def.typeName)===P.ZodString&&((o=e.keyType._def.checks)!=null&&o.length)){const{type:c,...d}=Ff(e.keyType._def,t);return{...l,propertyNames:d}}else{if(((s=e.keyType)==null?void 0:s._def.typeName)===P.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((a=e.keyType)==null?void 0:a._def.typeName)===P.ZodBranded&&e.keyType._def.type._def.typeName===P.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){const{type:c,...d}=Cf(e.keyType._def,t);return{...l,propertyNames:d}}}return l}i(xf,"parseRecordDef");function a2(e,t){if(t.mapStrategy==="record")return xf(e,t);const n=ye(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ht(),r=ye(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ht();return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}i(a2,"parseMapDef");function s2(e){const t=e.values,r=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(r.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:r}}i(s2,"parseNativeEnumDef");function i2(){return{not:ht()}}i(i2,"parseNeverDef");function u2(){return{type:"null"}}i(u2,"parseNullDef");var Ni={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function l2(e,t){const n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Ni&&(!r._def.checks||!r._def.checks.length))){const r=n.reduce((o,s)=>{const a=Ni[s._def.typeName];return a&&!o.includes(a)?[...o,a]:o},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){const r=n.reduce((o,s)=>{const a=typeof s._def.value;switch(a){case"string":case"number":case"boolean":return[...o,a];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(r.length===n.length){const o=r.filter((s,a,u)=>u.indexOf(s)===a);return{type:o.length>1?o:o[0],enum:n.reduce((s,a)=>s.includes(a._def.value)?s:[...s,a._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,o)=>[...r,...o._def.values.filter(s=>!r.includes(s))],[])};return c2(e,t)}i(l2,"parseUnionDef");var c2=i((e,t)=>{const n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>ye(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0},"asAnyOf");function d2(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Ni[e.innerType._def.typeName],"null"]};const n=ye(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}i(d2,"parseNullableDef");function p2(e){const t={type:"number"};if(!e.checks)return t;for(const n of e.checks)switch(n.kind){case"int":t.type="integer";break;case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}i(p2,"parseNumberDef");function f2(e,t){const n={type:"object",properties:{}},r=[],o=e.shape();for(const a in o){let u=o[a];if(u===void 0||u._def===void 0)continue;const l=h2(u),c=ye(u._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});c!==void 0&&(n.properties[a]=c,l||r.push(a))}r.length&&(n.required=r);const s=m2(e,t);return s!==void 0&&(n.additionalProperties=s),n}i(f2,"parseObjectDef");function m2(e,t){if(e.catchall._def.typeName!=="ZodNever")return ye(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}i(m2,"decideAdditionalProperties");function h2(e){try{return e.isOptional()}catch{return!0}}i(h2,"safeIsOptional");var D2=i((e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return ye(e.innerType._def,t);const r=ye(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ht()},r]}:ht()},"parseOptionalDef"),g2=i((e,t)=>{if(t.pipeStrategy==="input")return ye(e.in._def,t);if(t.pipeStrategy==="output")return ye(e.out._def,t);const n=ye(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=ye(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(o=>o!==void 0)}},"parsePipelineDef");function v2(e,t){return ye(e.type._def,t)}i(v2,"parsePromiseDef");function y2(e,t){const r={type:"array",uniqueItems:!0,items:ye(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}i(y2,"parseSetDef");function _2(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>ye(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:ye(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>ye(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}i(_2,"parseTupleDef");function b2(){return{not:ht()}}i(b2,"parseUndefinedDef");function C2(){return ht()}i(C2,"parseUnknownDef");var w2=i((e,t)=>ye(e.innerType._def,t),"parseReadonlyDef"),F2=i((e,t,n)=>{switch(t){case P.ZodString:return Ff(e,n);case P.ZodNumber:return p2(e);case P.ZodObject:return f2(e,n);case P.ZodBigInt:return WF(e);case P.ZodBoolean:return HF();case P.ZodDate:return wf(e,n);case P.ZodUndefined:return b2();case P.ZodNull:return u2();case P.ZodArray:return GF(e,n);case P.ZodUnion:case P.ZodDiscriminatedUnion:return l2(e,n);case P.ZodIntersection:return t2(e,n);case P.ZodTuple:return _2(e,n);case P.ZodRecord:return xf(e,n);case P.ZodLiteral:return n2(e);case P.ZodEnum:return QF(e);case P.ZodNativeEnum:return s2(e);case P.ZodNullable:return d2(e,n);case P.ZodOptional:return D2(e,n);case P.ZodMap:return a2(e,n);case P.ZodSet:return y2(e,n);case P.ZodLazy:return()=>e.getter()._def;case P.ZodPromise:return v2(e,n);case P.ZodNaN:case P.ZodNever:return i2();case P.ZodEffects:return XF(e,n);case P.ZodAny:return ht();case P.ZodUnknown:return C2();case P.ZodDefault:return YF(e,n);case P.ZodBranded:return Cf(e,n);case P.ZodReadonly:return w2(e,n);case P.ZodCatch:return JF(e,n);case P.ZodPipeline:return g2(e,n);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return(r=>{})()}},"selectParser"),E2=i((e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")},"getRelativePath");function ye(e,t,n=!1){var r;const o=t.seen.get(e);if(t.override){const l=(r=t.override)==null?void 0:r.call(t,e,t,o,n);if(l!==ZF)return l}if(o&&!n){const l=x2(o,t);if(l!==void 0)return l}const s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);const a=F2(e,e.typeName,t),u=typeof a=="function"?ye(a(),t):a;if(u&&k2(e,t,u),t.postProcess){const l=t.postProcess(u,e,t);return s.jsonSchema=u,l}return s.jsonSchema=u,u}i(ye,"parseDef");var x2=i((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:E2(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ht()):t.$refStrategy==="seen"?ht():void 0}},"get$ref"),k2=i((e,t,n)=>(e.description&&(n.description=e.description),n),"addMeta"),I2=i(e=>{const t=VF(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},"getRefs"),A2=i((e,t)=>{var n;const r=I2(t);let o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[d,f])=>{var D;return{...c,[d]:(D=ye(f._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?D:ht()}},{}):void 0;const s=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,a=(n=ye(e._def,s===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1))!=null?n:ht(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(a.title=u);const l=s===void 0?o?{...a,[r.definitionPath]:o}:a:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,s].join("/"),[r.definitionPath]:{...o,[s]:a}};return l.$schema="http://json-schema.org/draft-07/schema#",l},"zod3ToJsonSchema"),Pi=Symbol.for("vercel.ai.schema");function X(e){let t;return()=>(t==null&&(t=e()),t)}i(X,"lazySchema");function Ma(e,{validate:t}={}){return{[Pi]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}i(Ma,"jsonSchema");function $2(e){return typeof e=="object"&&e!==null&&Pi in e&&e[Pi]===!0&&"jsonSchema"in e&&"validate"in e}i($2,"isSchema");function Zn(e){return e==null?Ma({properties:{},additionalProperties:!1}):$2(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?K(e):T2(e):e()}i(Zn,"asSchema");function T2(e){return Ma(()=>Bi(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:i(async t=>{const n=await e["~standard"].validate(t);return"value"in n?{success:!0,value:n.value}:{success:!1,error:new cn({value:t,cause:n.issues})}},"validate")})}i(T2,"standardSchema");function S2(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ma(()=>A2(e,{$refStrategy:r?"root":"none"}),{validate:i(async o=>{const s=await e.safeParseAsync(o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}},"validate")})}i(S2,"zod3Schema");function B2(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ma(()=>Bi(VC(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:i(async o=>{const s=await Up(e,o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}},"validate")})}i(B2,"zod4Schema");function O2(e){return"_zod"in e}i(O2,"isZod4Schema");function K(e,t){return O2(e)?B2(e):S2(e)}i(K,"zodSchema");async function rt({value:e,schema:t,context:n}){const r=await xt({value:e,schema:t,context:n});if(!r.success)throw cn.wrap({value:e,cause:r.error,context:n});return r.value}i(rt,"validateTypes");async function xt({value:e,schema:t,context:n}){const r=Zn(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const o=await r.validate(e);return o.success?{success:!0,value:o.value,rawValue:e}:{success:!1,error:cn.wrap({value:e,cause:o.error,context:n}),rawValue:e}}catch(o){return{success:!1,error:cn.wrap({value:e,cause:o,context:n}),rawValue:e}}}i(xt,"safeValidateTypes");async function R2({text:e,schema:t}){try{const n=Si(e);return t==null?n:rt({value:n,schema:t})}catch(n){throw sa.isInstance(n)||cn.isInstance(n)?n:new sa({text:e,cause:n})}}i(R2,"parseJSON");async function kt({text:e,schema:t}){try{const n=Si(e);return t==null?{success:!0,value:n,rawValue:n}:await xt({value:n,schema:t})}catch(n){return{success:!1,error:sa.isInstance(n)?n:new sa({text:e,cause:n}),rawValue:void 0}}}i(kt,"safeParseJSON");function ja(e){try{return Si(e),!0}catch{return!1}}i(ja,"isParsableJson");function kf({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Ii).pipeThrough(new TransformStream({async transform({data:n},r){n!=="[DONE]"&&r.enqueue(await kt({text:n,schema:t}))}}))}i(kf,"parseJsonEventStream");async function tt({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;const r=await xt({value:t[e],schema:n});if(!r.success)throw new Od({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}i(tt,"parseProviderOptions");var N2=i(()=>globalThis.fetch,"getOriginalFetch2"),qe=i(async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>If({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postJsonToApi"),Mi=i(async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>If({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postFormDataToApi"),If=i(async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:o,abortSignal:s,fetch:a=N2()})=>{try{const u=await a(e,{method:"POST",headers:Dn(t,`ai-sdk/provider-utils/${vf}`,Ti()),body:n.content,signal:s}),l=Ln(u);if(!u.ok){let c;try{c=await o({response:u,url:e,requestBodyValues:n.values})}catch(d){throw Un(d)||Be.isInstance(d)?d:new Be({message:"Failed to process error response",cause:d,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:n.values})}throw c.value}try{return await r({response:u,url:e,requestBodyValues:n.values})}catch(c){throw c instanceof Error&&(Un(c)||Be.isInstance(c))?c:new Be({message:"Failed to process successful response",cause:c,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:n.values})}}catch(u){throw gf({error:u,url:e,requestBodyValues:n.values})}},"postToApi");function x8(e){return e}i(x8,"tool");function It({id:e,inputSchema:t,outputSchema:n,supportsDeferredResults:r}){return({execute:o,needsApproval:s,toModelOutput:a,onInputStart:u,onInputDelta:l,onInputAvailable:c,...d})=>({type:"provider",id:e,args:d,inputSchema:t,outputSchema:n,execute:o,needsApproval:s,toModelOutput:a,onInputStart:u,onInputDelta:l,onInputAvailable:c,supportsDeferredResults:r})}i(It,"createProviderToolFactoryWithOutputSchema");async function lt(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}i(lt,"resolve");var Dt=i(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:o,requestBodyValues:s})=>{const a=await r.text(),u=Ln(r);if(a.trim()==="")return{responseHeaders:u,value:new Be({message:r.statusText,url:o,requestBodyValues:s,statusCode:r.status,responseHeaders:u,responseBody:a,isRetryable:n?.(r)})};try{const l=await R2({text:a,schema:e});return{responseHeaders:u,value:new Be({message:t(l),url:o,requestBodyValues:s,statusCode:r.status,responseHeaders:u,responseBody:a,data:l,isRetryable:n?.(r,l)})}}catch{return{responseHeaders:u,value:new Be({message:r.statusText,url:o,requestBodyValues:s,statusCode:r.status,responseHeaders:u,responseBody:a,isRetryable:n?.(r)})}}},"createJsonErrorResponseHandler"),Vn=i(e=>async({response:t})=>{const n=Ln(t);if(t.body==null)throw new q0({});return{responseHeaders:n,value:kf({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),Ke=i(e=>async({response:t,url:n,requestBodyValues:r})=>{const o=await t.text(),s=await kt({text:o,schema:e}),a=Ln(t);if(!s.success)throw new Be({message:"Invalid JSON response",cause:s.error,statusCode:t.status,responseHeaders:a,responseBody:o,url:n,requestBodyValues:r});return{responseHeaders:a,value:s.value,rawValue:s.rawValue}},"createJsonResponseHandler"),P2=i(()=>async({response:e,url:t,requestBodyValues:n})=>{const r=Ln(e);if(!e.body)throw new Be({message:"Response body is empty",url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{const o=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(o)}}catch(o){throw new Be({message:"Failed to read response as array buffer",url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:o})}},"createBinaryResponseHandler");function ji(e){return e?.replace(/\/$/,"")}i(ji,"withoutTrailingSlash");function M2(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}i(M2,"isAsyncIterable");async function*j2({execute:e,input:t,options:n}){const r=e(t,n);if(M2(r)){let o;for await(const s of r)o=s,yield{type:"preliminary",output:s};yield{type:"final",output:o}}else yield{type:"final",output:await r}}i(j2,"executeTool");var zi,Af;function $f(){if(Af)return zi;Af=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var D in f)e(d,D,{get:f[D],enumerable:!0})},"__export"),s=i((d,f,D,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==D&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(m=t(f,h))||m.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{SYMBOL_FOR_REQ_CONTEXT:i(()=>l,"SYMBOL_FOR_REQ_CONTEXT"),getContext:i(()=>c,"getContext")}),zi=a(u);const l=Symbol.for("@vercel/request-context");function c(){return globalThis[l]?.get?.()??{}}return i(c,"getContext"),zi}i($f,"requireGetContext");var Li,Tf;function Sf(){if(Tf)return Li;Tf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var D in f)e(d,D,{get:f[D],enumerable:!0})},"__export"),s=i((d,f,D,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==D&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(m=t(f,h))||m.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{VercelOidcTokenError:i(()=>l,"VercelOidcTokenError")}),Li=a(u);const c=class c extends Error{constructor(f,D){super(f),this.name="VercelOidcTokenError",this.cause=D}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};i(c,"VercelOidcTokenError");let l=c;return Li}i(Sf,"requireTokenError");var qi,Bf;function z2(){if(Bf)return qi;Bf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((D,m)=>{for(var h in m)e(D,h,{get:m[h],enumerable:!0})},"__export"),s=i((D,m,h,v)=>{if(m&&typeof m=="object"||typeof m=="function")for(let y of n(m))!r.call(D,y)&&y!==h&&e(D,y,{get:i(()=>m[y],"get"),enumerable:!(v=t(m,y))||v.enumerable});return D},"__copyProps"),a=i(D=>s(e({},"__esModule",{value:!0}),D),"__toCommonJS"),u={};o(u,{getVercelOidcToken:i(()=>d,"getVercelOidcToken"),getVercelOidcTokenSync:i(()=>f,"getVercelOidcTokenSync")}),qi=a(u);var l=$f(),c=Sf();async function d(){let D="",m;try{D=f()}catch(h){m=h}try{const[{getTokenPayload:h,isExpired:v},{refreshToken:y}]=await Promise.all([await import("./token-util-CLbFck-W.mjs").then(function(b){return b.t}),await import("./token-CxQPP7uz.mjs").then(function(b){return b.t})]);(!D||v(h(D)))&&(await y(),D=f())}catch(h){let v=m instanceof Error?m.message:"";throw h instanceof Error&&(v=`${v}
123
123
  ${h.message}`),v?new c.VercelOidcTokenError(v):h}return D}i(d,"getVercelOidcToken");function f(){const D=(0,l.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!D)throw new Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return D}return i(f,"getVercelOidcTokenSync"),qi}i(z2,"requireGetVercelOidcToken");var Ui,Of;function L2(){if(Of)return Ui;Of=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var D in f)e(d,D,{get:f[D],enumerable:!0})},"__export"),s=i((d,f,D,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==D&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(m=t(f,h))||m.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{getContext:i(()=>c.getContext,"getContext"),getVercelOidcToken:i(()=>l.getVercelOidcToken,"getVercelOidcToken"),getVercelOidcTokenSync:i(()=>l.getVercelOidcTokenSync,"getVercelOidcTokenSync")}),Ui=a(u);var l=z2(),c=$f();return Ui}i(L2,"requireDist");var Rf=L2(),q2="vercel.ai.gateway.error",Zi=Symbol.for(q2),Nf,Pf,ot=(wn=class extends(Pf=Error,Nf=Zi,Pf){constructor({message:t,statusCode:n=500,cause:r,generationId:o}){super(o?`${t} [${o}]`:t),this[Nf]=!0,this.statusCode=n,this.cause=r,this.generationId=o}static isInstance(t){return wn.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Zi in t&&t[Zi]===!0}},i(wn,"_GatewayError"),wn),Mf="GatewayAuthenticationError",U2=`vercel.ai.gateway.error.${Mf}`,jf=Symbol.for(U2),zf,Lf,Vi=(Fn=class extends(Lf=ot,zf=jf,Lf){constructor({message:t="Authentication failed",statusCode:n=401,cause:r,generationId:o}={}){super({message:t,statusCode:n,cause:r,generationId:o}),this[zf]=!0,this.name=Mf,this.type="authentication_error"}static isInstance(t){return ot.hasMarker(t)&&jf in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:n,message:r="Authentication failed",statusCode:o=401,cause:s,generationId:a}){let u;return t?u=`AI Gateway authentication failed: Invalid API key.
124
124
 
125
125
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
@@ -198,7 +198,7 @@ ${c.map(y=>`# ${y}`).join(`
198
198
  `),m+=`
199
199
  ${c[0]}
200
200
  `);const h=await He.readFile(Wa,"utf8"),v=m+`
201
- `+h;await He.writeFile(Wa,v),Ee(`${St("\u2714")} Saved commit message!`)})().catch(ra),"prepareCommitMessageHook"),qk=An({name:"config",description:"View or modify configuration settings",help:{description:"View or modify configuration settings"},parameters:["[mode]","[key=value...]"]},e=>{(async()=>{const[t,...n]=e._;if(!t){const r=await ln({},{},!0);console.log("Provider:",r.provider),r.OPENAI_API_KEY&&console.log("API Key:",`${r.OPENAI_API_KEY.substring(0,4)}****`),r.OPENAI_BASE_URL&&console.log("Base URL:",r.OPENAI_BASE_URL),r.OPENAI_MODEL&&console.log("Model:",r.OPENAI_MODEL);return}if(t==="get"){const r=await ln({},{},!0),o=["OPENAI_API_KEY","TOGETHER_API_KEY","api-key"];for(const s of n)if(ni(r,s)){const a=r[s],u=o.includes(s)?`${String(a).substring(0,4)}****`:String(a);console.log(`${s}=${u}`)}return}if(t==="set"){await oi(n.map(r=>r.split("=")));return}throw new me(`Invalid mode: ${t}`)})().catch(ra)}),Uk=An({name:"setup",description:"Configure your AI provider and settings",help:{description:"Configure your AI provider and settings"}},e=>{(async()=>{let t=await ln();const n=P0(),r=await Ys({message:"Choose your AI provider:",options:n,initialValue:t.provider});if(Bn(r)){Ee("Setup cancelled");return}const o=r;let s="";if(o==="custom"){const m=await ad({message:"Enter your custom API endpoint:",validate:i(h=>{if(!h)return"Endpoint is required";try{new URL(h)}catch{return"Invalid URL format"}},"validate")});if(Bn(m)){Ee("Setup cancelled");return}s=m}let a=s||M0(o);t.OPENAI_BASE_URL=a,t.OPENAI_API_KEY="",t.OPENAI_MODEL="";let u=Rn({...t,provider:o});if(!u){Ee("Invalid provider selected");return}try{const m=await u.setup();for(const[h,v]of m)t[h]=v}catch(m){if(m instanceof Error&&m.message==="Setup cancelled"){Ee("Setup cancelled");return}throw m}if(u=Rn({...t,provider:o}),!u){Ee("Invalid provider selected");return}const l=u.validateConfig();if(!l.valid){Ee(`Setup cancelled: ${l.errors.join(", ")}`);return}const{selectModel:c}=await Promise.resolve().then(function(){return O0}),d=await c(u.getBaseUrl(),u.getApiKey()||"",void 0,u.getDefinition());if(d)t.OPENAI_MODEL=d,console.log(`Model selected: ${d}`);else{Ee("Model selection cancelled.");return}const f=await Ys({message:"Choose commit message format:",options:[{value:"plain",label:"Plain - Simple format without structure"},{value:"conventional",label:"Conventional - Standard conventional commits"},{value:"gitmoji",label:"Gitmoji - Using emojis for commit types"}],initialValue:"plain"});if(Bn(f)){Ee("Setup cancelled");return}t.type=f;const D=Object.entries(t).filter(([m,h])=>m!=="provider"&&m!=="model"&&h!==void 0&&h!==""&&typeof h=="string");await oi(D),Ee(`\u2705 Setup complete! You're now using ${u.displayName}.`)})().catch(t=>{console.error(`\u274C Setup failed: ${t.message}`),process.exit(1)})}),Zk=An({name:"model",description:"Select or change your AI model",help:{description:"Select or change your AI model"},alias:["-m","models"]},()=>{(async()=>{const e=await ln();if(!e.provider){Ee("No provider configured. Run `aicommits setup` first.");return}const t=Rn(e);if(!t){Ee("Invalid provider configured. Run `aicommits setup` to reconfigure.");return}console.log(`Current provider: ${t.displayName}`);const n=e.OPENAI_MODEL;console.log(`Current model: ${n&&n!=="undefined"?n:"not set"}`);const r=t.validateConfig();if(!r.valid){Ee(`Configuration issues: ${r.errors.join(", ")}. Run \`aicommits setup\` to reconfigure.`);return}const o=await gd(t.getBaseUrl(),t.getApiKey()||"",n,t.getDefinition());o?(await oi([["OPENAI_MODEL",o]]),Ee(`\u2705 Model updated to: ${o}`)):Ee("Model selection cancelled")})().catch(e=>{console.error(`\u274C Model selection failed: ${e.message}`),process.exit(1)})});const gD="prepare-commit-msg",vD=`.git/hooks/${gD}`,Ha=WD(new URL("cli.mjs",import.meta.url)),yD=process.argv[1].replace(/\\/g,"/").endsWith(`/${vD}`),_D=process.platform==="win32",bD=`
201
+ `+h;await He.writeFile(Wa,v),Ee(`${St("\u2714")} Saved commit message!`)})().catch(ra),"prepareCommitMessageHook"),qk=An({name:"config",description:"View or modify configuration settings",help:{description:"View or modify configuration settings"},parameters:["[mode]","[key=value...]"]},e=>{(async()=>{const[t,...n]=e._;if(!t){const r=await ln({},{},!0);console.log("Provider:",r.provider),r.OPENAI_API_KEY&&console.log("API Key:",`${r.OPENAI_API_KEY.substring(0,4)}****`),r.OPENAI_BASE_URL&&console.log("Base URL:",r.OPENAI_BASE_URL),r.OPENAI_MODEL&&console.log("Model:",r.OPENAI_MODEL);return}if(t==="get"){const r=await ln({},{},!0),o=["OPENAI_API_KEY","TOGETHER_API_KEY","api-key"];for(const s of n)if(ni(r,s)){const a=r[s],u=o.includes(s)?`${String(a).substring(0,4)}****`:String(a);console.log(`${s}=${u}`)}return}if(t==="set"){await oi(n.map(r=>r.split("=")));return}throw new me(`Invalid mode: ${t}`)})().catch(ra)}),Uk=An({name:"setup",description:"Configure your AI provider and settings",help:{description:"Configure your AI provider and settings"}},e=>{(async()=>{let t=await ln();const n=P0(),r=await Ys({message:"Choose your AI provider:",options:n,initialValue:t.provider});if(Bn(r)){Ee("Setup cancelled");return}const o=r;let s="";if(o==="custom"){const m=await ad({message:"Enter your custom API endpoint:",validate:i(h=>{if(!h)return"Endpoint is required";try{new URL(h)}catch{return"Invalid URL format"}},"validate")});if(Bn(m)){Ee("Setup cancelled");return}s=m}let a=s||M0(o);t.OPENAI_BASE_URL=a,t.OPENAI_API_KEY="",t.OPENAI_MODEL="";let u=Rn({...t,provider:o});if(!u){Ee("Invalid provider selected");return}try{const m=await u.setup();for(const[h,v]of m)t[h]=v}catch(m){if(m instanceof Error&&m.message==="Setup cancelled"){Ee("Setup cancelled");return}throw m}if(u=Rn({...t,provider:o}),!u){Ee("Invalid provider selected");return}const l=u.validateConfig();if(!l.valid){Ee(`Setup cancelled: ${l.errors.join(", ")}`);return}const{selectModel:c}=await Promise.resolve().then(function(){return O0}),d=await c(u.getBaseUrl(),u.getApiKey()||"",void 0,u.getDefinition());if(d)t.OPENAI_MODEL=d,console.log(`Model selected: ${d}`);else{Ee("Model selection cancelled.");return}const f=await Ys({message:"Choose commit message format:",options:[{value:"plain",label:"Plain - Simple format without structure"},{value:"conventional",label:"Conventional - Standard conventional commits"},{value:"gitmoji",label:"Gitmoji - Using emojis for commit types"}],initialValue:"plain"});if(Bn(f)){Ee("Setup cancelled");return}t.type=f;const D=Object.entries(t).filter(([m,h])=>m!=="provider"&&m!=="model"&&h!==void 0&&h!==""&&typeof h=="string");await oi(D),Ee(`\u2705 Setup complete! You're now using ${u.displayName}.`)})().catch(t=>{console.error(`\u274C Setup failed: ${t.message}`),process.exit(1)})}),Zk=An({name:"model",description:"Select or change your AI model",help:{description:"Select or change your AI model"},alias:["-m","models"]},()=>{(async()=>{const e=await ln();if(!e.provider){Ee("No provider configured. Run `aicommits setup` first.");return}const t=Rn(e);if(!t){Ee("Invalid provider configured. Run `aicommits setup` to reconfigure.");return}const n=e.OPENAI_MODEL,r=t.validateConfig();if(!r.valid){Ee(`Configuration issues: ${r.errors.join(", ")}. Run \`aicommits setup\` to reconfigure.`);return}const o=await gd(t.getBaseUrl(),t.getApiKey()||"",n,t.getDefinition(),t.displayName);o?(await oi([["OPENAI_MODEL",o]]),Ee(`\u2705 Model updated to: ${o}`)):Ee("Model selection cancelled")})().catch(e=>{console.error(`\u274C Model selection failed: ${e.message}`),process.exit(1)})});const gD="prepare-commit-msg",vD=`.git/hooks/${gD}`,Ha=WD(new URL("cli.mjs",import.meta.url)),yD=process.argv[1].replace(/\\/g,"/").endsWith(`/${vD}`),_D=process.platform==="win32",bD=`
202
202
  #!/usr/bin/env node
203
203
  import(${JSON.stringify(HD(Ha))})
204
204
  `.trim();var Vk=An({name:"hook",description:"Install or uninstall the Git hook for automatic commit messages",help:{description:"Install or uninstall the Git hook for automatic commit messages"},parameters:["<install/uninstall>"]},e=>{(async()=>{const t=await Qs(),{installUninstall:n}=e._,r=bt.join(t,vD),o=await ti(r);if(n==="install"){if(o){if(await He.realpath(r).catch(()=>{})===Ha){console.warn("The hook is already installed");return}throw new me(`A different ${gD} hook seems to be installed. Please remove it before installing aicommits.`)}await He.mkdir(bt.dirname(r),{recursive:!0}),_D?await He.writeFile(r,bD):(await He.symlink(Ha,r,"file"),await He.chmod(r,493)),console.log(`${St("\u2714")} Hook installed`);return}if(n==="uninstall"){if(!o){console.warn("Hook is not installed");return}if(_D){if(await He.readFile(r,"utf8")!==bD){console.warn("Hook is not installed");return}}else if(await He.realpath(r)!==Ha){console.warn("Hook is not installed");return}await He.rm(r),console.log(`${St("\u2714")} Hook uninstalled`);return}throw new me(`Invalid mode: ${n}`)})().catch(t=>{console.error(`${Rs("\u2716")} ${t.message}`),sd(t),process.exit(1)})});function Gk(e){const t=e.match(/github\.com[\/:]([^\/]+)\/([^\/\.]+)/);if(t)return{provider:"github",owner:t[1],repo:t[2]};const n=e.match(/gitlab\.com[\/:]([^\/]+)\/([^\/\.]+)/);if(n)return{provider:"gitlab",owner:n[1],repo:n[2]};const r=e.match(/bitbucket\.org[\/:]([^\/]+)\/([^\/\.]+)/);if(r)return{provider:"bitbucket",owner:r[1],repo:r[2]};const o=e.match(/dev\.azure\.com[\/:]([^\/]+)\/([^\/\.]+)|vs-internal\.visualstudio\.com[\/:]([^\/]+)\/([^\/\.]+)/);if(o)return{provider:"azure",owner:o[1]||o[3],repo:o[2]||o[4]};throw new me(`Unsupported git provider. Supported: GitHub, GitLab, Bitbucket, Azure DevOps.
package/dist/cli.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./cli-DKM7kO7i.mjs";import"tty";import"node:buffer";import"node:path";import"node:child_process";import"node:process";import"child_process";import"path";import"fs";import"node:url";import"node:os";import"assert";import"events";import"node:fs";import"buffer";import"stream";import"util";import"node:util";import"node:readline";import"node:stream";import"fs/promises";import"os";import"crypto";import"url";
2
+ import"./cli-CisnS9T_.mjs";import"tty";import"node:buffer";import"node:path";import"node:child_process";import"node:process";import"child_process";import"path";import"fs";import"node:url";import"node:os";import"assert";import"events";import"node:fs";import"buffer";import"stream";import"util";import"node:util";import"node:readline";import"node:stream";import"fs/promises";import"os";import"crypto";import"url";
@@ -1 +1 @@
1
- var T=Object.defineProperty;var o=(n,p)=>T(n,"name",{value:p,configurable:!0});import{r as w,g as h}from"./cli-DKM7kO7i.mjs";import{r as b}from"./token-util-CvHXdHmP.mjs";function j(n,p){return p.forEach(function(a){a&&typeof a!="string"&&!Array.isArray(a)&&Object.keys(a).forEach(function(i){if(i!=="default"&&!(i in n)){var s=Object.getOwnPropertyDescriptor(a,i);Object.defineProperty(n,i,s.get?s:{enumerable:!0,get:o(function(){return a[i]},"get")})}})}),Object.freeze(n)}o(j,"_mergeNamespaces");var k,O;function m(){if(O)return k;O=1;var n=Object.defineProperty,p=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s=o((e,r)=>{for(var t in r)n(e,t,{get:r[t],enumerable:!0})},"__export"),y=o((e,r,t,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let u of a(r))!i.call(e,u)&&u!==t&&n(e,u,{get:o(()=>r[u],"get"),enumerable:!(f=p(r,u))||f.enumerable});return e},"__copyProps"),d=o(e=>y(n({},"__esModule",{value:!0}),e),"__toCommonJS"),_={};s(_,{refreshToken:o(()=>g,"refreshToken")}),k=d(_);var l=w(),c=b();async function g(){const{projectId:e,teamId:r}=(0,c.findProjectInfo)();let t=(0,c.loadToken)(e);if(!t||(0,c.isExpired)((0,c.getTokenPayload)(t.token))){const f=await(0,c.getVercelCliToken)();if(!f)throw new l.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!e)throw new l.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(t=await(0,c.getVercelOidcToken)(f,e,r),!t)throw new l.VercelOidcTokenError("Failed to refresh OIDC token");(0,c.saveToken)(t,e)}process.env.VERCEL_OIDC_TOKEN=t.token}return o(g,"refreshToken"),k}o(m,"requireToken");var v=m(),P=h(v),E=j({__proto__:null,default:P},[v]);export{E as t};
1
+ var T=Object.defineProperty;var o=(n,p)=>T(n,"name",{value:p,configurable:!0});import{r as w,g as h}from"./cli-CisnS9T_.mjs";import{r as b}from"./token-util-DPyXpMmF.mjs";function j(n,p){return p.forEach(function(a){a&&typeof a!="string"&&!Array.isArray(a)&&Object.keys(a).forEach(function(i){if(i!=="default"&&!(i in n)){var s=Object.getOwnPropertyDescriptor(a,i);Object.defineProperty(n,i,s.get?s:{enumerable:!0,get:o(function(){return a[i]},"get")})}})}),Object.freeze(n)}o(j,"_mergeNamespaces");var k,O;function m(){if(O)return k;O=1;var n=Object.defineProperty,p=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s=o((e,r)=>{for(var t in r)n(e,t,{get:r[t],enumerable:!0})},"__export"),y=o((e,r,t,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let u of a(r))!i.call(e,u)&&u!==t&&n(e,u,{get:o(()=>r[u],"get"),enumerable:!(f=p(r,u))||f.enumerable});return e},"__copyProps"),d=o(e=>y(n({},"__esModule",{value:!0}),e),"__toCommonJS"),_={};s(_,{refreshToken:o(()=>g,"refreshToken")}),k=d(_);var l=w(),c=b();async function g(){const{projectId:e,teamId:r}=(0,c.findProjectInfo)();let t=(0,c.loadToken)(e);if(!t||(0,c.isExpired)((0,c.getTokenPayload)(t.token))){const f=await(0,c.getVercelCliToken)();if(!f)throw new l.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!e)throw new l.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(t=await(0,c.getVercelOidcToken)(f,e,r),!t)throw new l.VercelOidcTokenError("Failed to refresh OIDC token");(0,c.saveToken)(t,e)}process.env.VERCEL_OIDC_TOKEN=t.token}return o(g,"refreshToken"),k}o(m,"requireToken");var v=m(),P=h(v),E=j({__proto__:null,default:P},[v]);export{E as t};
@@ -1 +1 @@
1
- var f=Object.defineProperty;var n=(t,o)=>f(t,"name",{value:o,configurable:!0});import{g as u}from"./cli-DKM7kO7i.mjs";import{r as c}from"./token-util-CvHXdHmP.mjs";function p(t,o){return o.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(e){if(e!=="default"&&!(e in t)){var a=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,a.get?a:{enumerable:!0,get:n(function(){return r[e]},"get")})}})}),Object.freeze(t)}n(p,"_mergeNamespaces");var i=c(),s=u(i),l=p({__proto__:null,default:s},[i]);export{l as t};
1
+ var f=Object.defineProperty;var n=(t,o)=>f(t,"name",{value:o,configurable:!0});import{g as u}from"./cli-CisnS9T_.mjs";import{r as c}from"./token-util-DPyXpMmF.mjs";function p(t,o){return o.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(e){if(e!=="default"&&!(e in t)){var a=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,a.get?a:{enumerable:!0,get:n(function(){return r[e]},"get")})}})}),Object.freeze(t)}n(p,"_mergeNamespaces");var i=c(),s=u(i),l=p({__proto__:null,default:s},[i]);export{l as t};
@@ -1 +1 @@
1
- var z=Object.defineProperty;var e=(y,p)=>z(y,"name",{value:p,configurable:!0});import S from"path";import A from"fs";import{r as R}from"./cli-DKM7kO7i.mjs";import N from"os";var x,$;function G(){if($)return x;$=1;var y=Object.create,p=Object.defineProperty,P=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,b=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,m=e((t,r)=>{for(var o in r)p(t,o,{get:r[o],enumerable:!0})},"__export"),k=e((t,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let O of j(r))!T.call(t,O)&&O!==o&&p(t,O,{get:e(()=>r[O],"get"),enumerable:!(s=P(r,O))||s.enumerable});return t},"__copyProps"),v=e((t,r,o)=>(o=t!=null?y(b(t)):{},k(!t||!t.__esModule?p(o,"default",{value:t,enumerable:!0}):o,t)),"__toESM"),D=e(t=>k(p({},"__esModule",{value:!0}),t),"__toCommonJS"),g={};m(g,{findRootDir:e(()=>h,"findRootDir"),getUserDataDir:e(()=>c,"getUserDataDir")}),x=D(g);var u=v(S),f=v(A),_=v(N),w=R();function h(){try{let t=process.cwd();for(;t!==u.default.dirname(t);){const r=u.default.join(t,".vercel");if(f.default.existsSync(r))return t;t=u.default.dirname(t)}}catch{throw new w.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}e(h,"findRootDir");function c(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(_.default.platform()){case"darwin":return u.default.join(_.default.homedir(),"Library/Application Support");case"linux":return u.default.join(_.default.homedir(),".local/share");case"win32":return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}return e(c,"getUserDataDir"),x}e(G,"requireTokenIo");var C,U;function X(){if(U)return C;U=1;var y=Object.create,p=Object.defineProperty,P=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,b=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,m=e((r,o)=>{for(var s in o)p(r,s,{get:o[s],enumerable:!0})},"__export"),k=e((r,o,s,O)=>{if(o&&typeof o=="object"||typeof o=="function")for(let E of j(o))!T.call(r,E)&&E!==s&&p(r,E,{get:e(()=>o[E],"get"),enumerable:!(O=P(o,E))||O.enumerable});return r},"__copyProps"),v=e((r,o,s)=>(s=r!=null?y(b(r)):{},k(!r||!r.__esModule?p(s,"default",{value:r,enumerable:!0}):s,r)),"__toESM"),D=e(r=>k(p({},"__esModule",{value:!0}),r),"__toCommonJS"),g={};m(g,{isValidAccessToken:e(()=>t,"isValidAccessToken"),readAuthConfig:e(()=>h,"readAuthConfig"),writeAuthConfig:e(()=>c,"writeAuthConfig")}),C=D(g);var u=v(A),f=v(S),_=J();function w(){const r=(0,_.getVercelDataDir)();if(!r)throw new Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return f.join(r,"auth.json")}e(w,"getAuthConfigPath");function h(){try{const r=w();if(!u.existsSync(r))return null;const o=u.readFileSync(r,"utf8");return o?JSON.parse(o):null}catch{return null}}e(h,"readAuthConfig");function c(r){const o=w(),s=f.dirname(o);u.existsSync(s)||u.mkdirSync(s,{mode:504,recursive:!0}),u.writeFileSync(o,JSON.stringify(r,null,2),{mode:384})}e(c,"writeAuthConfig");function t(r){if(!r.token)return!1;if(typeof r.expiresAt!="number")return!0;const o=Math.floor(Date.now()/1e3);return r.expiresAt>=o}return e(t,"isValidAccessToken"),C}e(X,"requireAuthConfig");var V,q;function Y(){if(q)return V;q=1;var y=Object.defineProperty,p=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,j=Object.prototype.hasOwnProperty,b=e((c,t)=>{for(var r in t)y(c,r,{get:t[r],enumerable:!0})},"__export"),T=e((c,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of P(t))!j.call(c,s)&&s!==r&&y(c,s,{get:e(()=>t[s],"get"),enumerable:!(o=p(t,s))||o.enumerable});return c},"__copyProps"),m=e(c=>T(y({},"__esModule",{value:!0}),c),"__toCommonJS"),k={};b(k,{processTokenResponse:e(()=>h,"processTokenResponse"),refreshTokenRequest:e(()=>w,"refreshTokenRequest")}),V=m(k);var v=N;const D="https://vercel.com",g="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",u=`@vercel/oidc node-${process.version} ${(0,v.platform)()} (${(0,v.arch)()}) ${(0,v.hostname)()}`;let f=null;async function _(){if(f)return f;const c=`${D}/.well-known/openid-configuration`,t=await fetch(c,{headers:{"user-agent":u}});if(!t.ok)throw new Error("Failed to discover OAuth endpoints");const r=await t.json();if(!r||typeof r.token_endpoint!="string")throw new Error("Invalid OAuth discovery response");const o=r.token_endpoint;return f=o,o}e(_,"getTokenEndpoint");async function w(c){const t=await _();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":u},body:new URLSearchParams({client_id:g,grant_type:"refresh_token",...c})})}e(w,"refreshTokenRequest");async function h(c){const t=await c.json();if(!c.ok){const r=typeof t=="object"&&t&&"error"in t?String(t.error):"Token refresh failed";return[new Error(r)]}return typeof t!="object"||t===null?[new Error("Invalid token response")]:typeof t.access_token!="string"?[new Error("Missing access_token in response")]:t.token_type!=="Bearer"?[new Error("Invalid token_type in response")]:typeof t.expires_in!="number"?[new Error("Missing expires_in in response")]:[null,t]}return e(h,"processTokenResponse"),V}e(Y,"requireOauth");var I,L;function J(){if(L)return I;L=1;var y=Object.create,p=Object.defineProperty,P=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,b=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,m=e((n,i)=>{for(var a in i)p(n,a,{get:i[a],enumerable:!0})},"__export"),k=e((n,i,a,l)=>{if(i&&typeof i=="object"||typeof i=="function")for(let d of j(i))!T.call(n,d)&&d!==a&&p(n,d,{get:e(()=>i[d],"get"),enumerable:!(l=P(i,d))||l.enumerable});return n},"__copyProps"),v=e((n,i,a)=>(a=n!=null?y(b(n)):{},k(!n||!n.__esModule?p(a,"default",{value:n,enumerable:!0}):a,n)),"__toESM"),D=e(n=>k(p({},"__esModule",{value:!0}),n),"__toCommonJS"),g={};m(g,{assertVercelOidcTokenResponse:e(()=>s,"assertVercelOidcTokenResponse"),findProjectInfo:e(()=>O,"findProjectInfo"),getTokenPayload:e(()=>H,"getTokenPayload"),getVercelCliToken:e(()=>r,"getVercelCliToken"),getVercelDataDir:e(()=>t,"getVercelDataDir"),getVercelOidcToken:e(()=>o,"getVercelOidcToken"),isExpired:e(()=>B,"isExpired"),loadToken:e(()=>F,"loadToken"),saveToken:e(()=>E,"saveToken")}),I=D(g);var u=v(S),f=v(A),_=R(),w=G(),h=X(),c=Y();function t(){const n="com.vercel.cli",i=(0,w.getUserDataDir)();return i?u.join(i,n):null}e(t,"getVercelDataDir");async function r(){const n=(0,h.readAuthConfig)();if(!n)return null;if((0,h.isValidAccessToken)(n))return n.token||null;if(!n.refreshToken)return(0,h.writeAuthConfig)({}),null;try{const i=await(0,c.refreshTokenRequest)({refresh_token:n.refreshToken}),[a,l]=await(0,c.processTokenResponse)(i);if(a||!l)return(0,h.writeAuthConfig)({}),null;const d={token:l.access_token,expiresAt:Math.floor(Date.now()/1e3)+l.expires_in};return l.refresh_token&&(d.refreshToken=l.refresh_token),(0,h.writeAuthConfig)(d),d.token??null}catch{return(0,h.writeAuthConfig)({}),null}}e(r,"getVercelCliToken");async function o(n,i,a){const l=`https://api.vercel.com/v1/projects/${i}/token?source=vercel-oidc-refresh${a?`&teamId=${a}`:""}`,d=await fetch(l,{method:"POST",headers:{Authorization:`Bearer ${n}`}});if(!d.ok)throw new _.VercelOidcTokenError(`Failed to refresh OIDC token: ${d.statusText}`);const M=await d.json();return s(M),M}e(o,"getVercelOidcToken");function s(n){if(!n||typeof n!="object")throw new TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in n)||typeof n.token!="string")throw new TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}e(s,"assertVercelOidcTokenResponse");function O(){const n=(0,w.findRootDir)();if(!n)throw new _.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");const i=u.join(n,".vercel","project.json");if(!f.existsSync(i))throw new _.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");const a=JSON.parse(f.readFileSync(i,"utf8"));if(typeof a.projectId!="string"&&typeof a.orgId!="string")throw new TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:a.projectId,teamId:a.orgId}}e(O,"findProjectInfo");function E(n,i){const a=(0,w.getUserDataDir)();if(!a)throw new _.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");const l=u.join(a,"com.vercel.token",`${i}.json`),d=JSON.stringify(n);f.mkdirSync(u.dirname(l),{mode:504,recursive:!0}),f.writeFileSync(l,d),f.chmodSync(l,432)}e(E,"saveToken");function F(n){const i=(0,w.getUserDataDir)();if(!i)throw new _.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");const a=u.join(i,"com.vercel.token",`${n}.json`);if(!f.existsSync(a))return null;const l=JSON.parse(f.readFileSync(a,"utf8"));return s(l),l}e(F,"loadToken");function H(n){const i=n.split(".");if(i.length!==3)throw new _.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");const a=i[1].replace(/-/g,"+").replace(/_/g,"/"),l=a.padEnd(a.length+(4-a.length%4)%4,"=");return JSON.parse(Buffer.from(l,"base64").toString("utf8"))}e(H,"getTokenPayload");function B(n){return n.exp*1e3<Date.now()}return e(B,"isExpired"),I}e(J,"requireTokenUtil");export{J as r};
1
+ var z=Object.defineProperty;var e=(y,p)=>z(y,"name",{value:p,configurable:!0});import S from"path";import A from"fs";import{r as R}from"./cli-CisnS9T_.mjs";import N from"os";var x,$;function G(){if($)return x;$=1;var y=Object.create,p=Object.defineProperty,P=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,b=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,m=e((t,r)=>{for(var o in r)p(t,o,{get:r[o],enumerable:!0})},"__export"),k=e((t,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let O of j(r))!T.call(t,O)&&O!==o&&p(t,O,{get:e(()=>r[O],"get"),enumerable:!(s=P(r,O))||s.enumerable});return t},"__copyProps"),v=e((t,r,o)=>(o=t!=null?y(b(t)):{},k(!t||!t.__esModule?p(o,"default",{value:t,enumerable:!0}):o,t)),"__toESM"),D=e(t=>k(p({},"__esModule",{value:!0}),t),"__toCommonJS"),g={};m(g,{findRootDir:e(()=>h,"findRootDir"),getUserDataDir:e(()=>c,"getUserDataDir")}),x=D(g);var u=v(S),f=v(A),_=v(N),w=R();function h(){try{let t=process.cwd();for(;t!==u.default.dirname(t);){const r=u.default.join(t,".vercel");if(f.default.existsSync(r))return t;t=u.default.dirname(t)}}catch{throw new w.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}e(h,"findRootDir");function c(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(_.default.platform()){case"darwin":return u.default.join(_.default.homedir(),"Library/Application Support");case"linux":return u.default.join(_.default.homedir(),".local/share");case"win32":return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}return e(c,"getUserDataDir"),x}e(G,"requireTokenIo");var C,U;function X(){if(U)return C;U=1;var y=Object.create,p=Object.defineProperty,P=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,b=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,m=e((r,o)=>{for(var s in o)p(r,s,{get:o[s],enumerable:!0})},"__export"),k=e((r,o,s,O)=>{if(o&&typeof o=="object"||typeof o=="function")for(let E of j(o))!T.call(r,E)&&E!==s&&p(r,E,{get:e(()=>o[E],"get"),enumerable:!(O=P(o,E))||O.enumerable});return r},"__copyProps"),v=e((r,o,s)=>(s=r!=null?y(b(r)):{},k(!r||!r.__esModule?p(s,"default",{value:r,enumerable:!0}):s,r)),"__toESM"),D=e(r=>k(p({},"__esModule",{value:!0}),r),"__toCommonJS"),g={};m(g,{isValidAccessToken:e(()=>t,"isValidAccessToken"),readAuthConfig:e(()=>h,"readAuthConfig"),writeAuthConfig:e(()=>c,"writeAuthConfig")}),C=D(g);var u=v(A),f=v(S),_=J();function w(){const r=(0,_.getVercelDataDir)();if(!r)throw new Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return f.join(r,"auth.json")}e(w,"getAuthConfigPath");function h(){try{const r=w();if(!u.existsSync(r))return null;const o=u.readFileSync(r,"utf8");return o?JSON.parse(o):null}catch{return null}}e(h,"readAuthConfig");function c(r){const o=w(),s=f.dirname(o);u.existsSync(s)||u.mkdirSync(s,{mode:504,recursive:!0}),u.writeFileSync(o,JSON.stringify(r,null,2),{mode:384})}e(c,"writeAuthConfig");function t(r){if(!r.token)return!1;if(typeof r.expiresAt!="number")return!0;const o=Math.floor(Date.now()/1e3);return r.expiresAt>=o}return e(t,"isValidAccessToken"),C}e(X,"requireAuthConfig");var V,q;function Y(){if(q)return V;q=1;var y=Object.defineProperty,p=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,j=Object.prototype.hasOwnProperty,b=e((c,t)=>{for(var r in t)y(c,r,{get:t[r],enumerable:!0})},"__export"),T=e((c,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of P(t))!j.call(c,s)&&s!==r&&y(c,s,{get:e(()=>t[s],"get"),enumerable:!(o=p(t,s))||o.enumerable});return c},"__copyProps"),m=e(c=>T(y({},"__esModule",{value:!0}),c),"__toCommonJS"),k={};b(k,{processTokenResponse:e(()=>h,"processTokenResponse"),refreshTokenRequest:e(()=>w,"refreshTokenRequest")}),V=m(k);var v=N;const D="https://vercel.com",g="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",u=`@vercel/oidc node-${process.version} ${(0,v.platform)()} (${(0,v.arch)()}) ${(0,v.hostname)()}`;let f=null;async function _(){if(f)return f;const c=`${D}/.well-known/openid-configuration`,t=await fetch(c,{headers:{"user-agent":u}});if(!t.ok)throw new Error("Failed to discover OAuth endpoints");const r=await t.json();if(!r||typeof r.token_endpoint!="string")throw new Error("Invalid OAuth discovery response");const o=r.token_endpoint;return f=o,o}e(_,"getTokenEndpoint");async function w(c){const t=await _();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":u},body:new URLSearchParams({client_id:g,grant_type:"refresh_token",...c})})}e(w,"refreshTokenRequest");async function h(c){const t=await c.json();if(!c.ok){const r=typeof t=="object"&&t&&"error"in t?String(t.error):"Token refresh failed";return[new Error(r)]}return typeof t!="object"||t===null?[new Error("Invalid token response")]:typeof t.access_token!="string"?[new Error("Missing access_token in response")]:t.token_type!=="Bearer"?[new Error("Invalid token_type in response")]:typeof t.expires_in!="number"?[new Error("Missing expires_in in response")]:[null,t]}return e(h,"processTokenResponse"),V}e(Y,"requireOauth");var I,L;function J(){if(L)return I;L=1;var y=Object.create,p=Object.defineProperty,P=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,b=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,m=e((n,i)=>{for(var a in i)p(n,a,{get:i[a],enumerable:!0})},"__export"),k=e((n,i,a,l)=>{if(i&&typeof i=="object"||typeof i=="function")for(let d of j(i))!T.call(n,d)&&d!==a&&p(n,d,{get:e(()=>i[d],"get"),enumerable:!(l=P(i,d))||l.enumerable});return n},"__copyProps"),v=e((n,i,a)=>(a=n!=null?y(b(n)):{},k(!n||!n.__esModule?p(a,"default",{value:n,enumerable:!0}):a,n)),"__toESM"),D=e(n=>k(p({},"__esModule",{value:!0}),n),"__toCommonJS"),g={};m(g,{assertVercelOidcTokenResponse:e(()=>s,"assertVercelOidcTokenResponse"),findProjectInfo:e(()=>O,"findProjectInfo"),getTokenPayload:e(()=>H,"getTokenPayload"),getVercelCliToken:e(()=>r,"getVercelCliToken"),getVercelDataDir:e(()=>t,"getVercelDataDir"),getVercelOidcToken:e(()=>o,"getVercelOidcToken"),isExpired:e(()=>B,"isExpired"),loadToken:e(()=>F,"loadToken"),saveToken:e(()=>E,"saveToken")}),I=D(g);var u=v(S),f=v(A),_=R(),w=G(),h=X(),c=Y();function t(){const n="com.vercel.cli",i=(0,w.getUserDataDir)();return i?u.join(i,n):null}e(t,"getVercelDataDir");async function r(){const n=(0,h.readAuthConfig)();if(!n)return null;if((0,h.isValidAccessToken)(n))return n.token||null;if(!n.refreshToken)return(0,h.writeAuthConfig)({}),null;try{const i=await(0,c.refreshTokenRequest)({refresh_token:n.refreshToken}),[a,l]=await(0,c.processTokenResponse)(i);if(a||!l)return(0,h.writeAuthConfig)({}),null;const d={token:l.access_token,expiresAt:Math.floor(Date.now()/1e3)+l.expires_in};return l.refresh_token&&(d.refreshToken=l.refresh_token),(0,h.writeAuthConfig)(d),d.token??null}catch{return(0,h.writeAuthConfig)({}),null}}e(r,"getVercelCliToken");async function o(n,i,a){const l=`https://api.vercel.com/v1/projects/${i}/token?source=vercel-oidc-refresh${a?`&teamId=${a}`:""}`,d=await fetch(l,{method:"POST",headers:{Authorization:`Bearer ${n}`}});if(!d.ok)throw new _.VercelOidcTokenError(`Failed to refresh OIDC token: ${d.statusText}`);const M=await d.json();return s(M),M}e(o,"getVercelOidcToken");function s(n){if(!n||typeof n!="object")throw new TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in n)||typeof n.token!="string")throw new TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}e(s,"assertVercelOidcTokenResponse");function O(){const n=(0,w.findRootDir)();if(!n)throw new _.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");const i=u.join(n,".vercel","project.json");if(!f.existsSync(i))throw new _.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");const a=JSON.parse(f.readFileSync(i,"utf8"));if(typeof a.projectId!="string"&&typeof a.orgId!="string")throw new TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:a.projectId,teamId:a.orgId}}e(O,"findProjectInfo");function E(n,i){const a=(0,w.getUserDataDir)();if(!a)throw new _.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");const l=u.join(a,"com.vercel.token",`${i}.json`),d=JSON.stringify(n);f.mkdirSync(u.dirname(l),{mode:504,recursive:!0}),f.writeFileSync(l,d),f.chmodSync(l,432)}e(E,"saveToken");function F(n){const i=(0,w.getUserDataDir)();if(!i)throw new _.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");const a=u.join(i,"com.vercel.token",`${n}.json`);if(!f.existsSync(a))return null;const l=JSON.parse(f.readFileSync(a,"utf8"));return s(l),l}e(F,"loadToken");function H(n){const i=n.split(".");if(i.length!==3)throw new _.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");const a=i[1].replace(/-/g,"+").replace(/_/g,"/"),l=a.padEnd(a.length+(4-a.length%4)%4,"=");return JSON.parse(Buffer.from(l,"base64").toString("utf8"))}e(H,"getTokenPayload");function B(n){return n.exp*1e3<Date.now()}return e(B,"isExpired"),I}e(J,"requireTokenUtil");export{J as r};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aicommits",
3
- "version": "2.0.0-develop.21",
3
+ "version": "2.0.0-develop.22",
4
4
  "description": "Writes your git commit messages for you with AI",
5
5
  "keywords": [
6
6
  "ai",