aicommits 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,7 @@ var MD=Object.defineProperty;var i=(e,t)=>MD(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 Rg(t.map(o=>o.map(s=>this.render(s))),r?Mg(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(Qn,"_z"),Qn);ke(pc,"Renderers");let Vg=pc;const Fs=ke(e=>e.length>0&&!e.includes(" "),"isValidScriptName"),{stringify:St}=JSON,Gg=/[|\\{}()[\]^$+*?.]/;function Jo(e){const t=[];let n,r;for(const o of e){if(r)throw new Error(`Invalid parameter: Spread parameter ${St(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 ${St(o)} cannot come after optional parameter ${St(n)}`);if(s==="["&&a==="]"&&(u=!1,n=o),u===void 0)throw new Error(`Invalid parameter: ${St(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(Gg);if(d)throw new Error(`Invalid parameter: ${St(o)}. Invalid character found ${St(d[0])}`);t.push({name:l,required:u,spread:c})}return t}i(Jo,"b$1"),ke(Jo,"parseParameters");function Ko(e,t,n,r){for(let o=0;o<t.length;o+=1){const{name:s,required:a,spread:u}=t[o],l=zg(s);if(l in e)throw new Error(`Invalid parameter: ${St(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 ${St(s)}
22
- `),r(),process.exit(1);e[l]=c}}i(Ko,"v"),ke(Ko,"mapParametersToArguments");function fc(e){return e===void 0||e!==!1}i(fc,"G$2"),ke(fc,"helpEnabled");function Es(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=fc(a);u&&!("help"in o)&&(o.help={type:Boolean,alias:"h",description:"Show help"});const l=mg(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 Vg,f=u&&a?.render?a.render:v=>d.render(v),m=ke(v=>{const y=Ug({...t,...v?{help:v}:{},flags:o});console.log(f(y,d))},"showHelp");if(u&&l.flags.help===!0)return m(),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 E=l._["--"];y=y.slice(0,-E.length||void 0),Ko(w,Jo(v),y,m),Ko(w,Jo(C),E,m)}else Ko(w,Jo(v),y,m);Object.assign(l._,w)}const D={...l,showVersion:c,showHelp:m},h={command:e,...D};if(typeof n=="function"){const v=n(D);if(v&&"then"in v)return Object.assign(Promise.resolve(v),h)}return h}i(Es,"j"),ke(Es,"cliBase");function mc(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: ${St(a)}`);n.set(a,r)}}return n.get(e)}i(mc,"K$1"),ke(mc,"getCommand");function hc(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: ${St(e.name)}`);const r=n[0];if(e.commands&&r&&Fs(r)){const o=mc(r,e.commands);if(o)return Es(o.options.name,{...o.options,parent:e},o.callback,n.slice(1))}return Es(void 0,e,t,n)}i(hc,"Q"),ke(hc,"cli");function sn(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(sn,"X"),ke(sn,"command");var Wg="aicommits",Hg="3.1.0",Jg="Writes your git commit messages for you with AI",Kg=["ai","git","commit","code changes"],Yg="MIT",Xg={type:"git",url:"git+https://github.com/Nutlope/aicommits.git"},Qg="Hassan El Mghari (@nutlope)",ev="module",tv=["dist"],nv={aicommits:"dist/cli.mjs",aic:"dist/cli.mjs"},rv={build:"pkgroll --minify",lint:"","type-check":"tsc",test:"tsx tests",prepack:"pnpm build && clean-pkg-json"},ov={"@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"},av={branches:["develop"]},Vt={name:Wg,version:Hg,description:Jg,keywords:Kg,license:Yg,repository:Xg,author:Qg,type:ev,files:tv,bin:nv,scripts:rv,devDependencies:ov,release:av},Gt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}i(un,"getDefaultExportFromCjs");var ln={exports:{}},xs,Dc;function sv(){if(Dc)return xs;Dc=1,xs=r,r.sync=o;var e=Ds;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"),xs}i(sv,"requireWindows");var ks,gc;function iv(){if(gc)return ks;gc=1,ks=t,t.sync=n;var e=Ds;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(),m=parseInt("100",8),D=parseInt("010",8),h=parseInt("001",8),v=m|D,y=u&h||u&D&&c===f||u&m&&l===d||u&v&&d===0;return y}return i(o,"checkMode"),ks}i(iv,"requireMode");var Is,vc;function uv(){if(vc)return Is;vc=1;var e;process.platform==="win32"||Gt.TESTING_WINDOWS?e=sv():e=iv(),Is=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"),Is}i(uv,"requireIsexe");var As,yc;function lv(){if(yc)return As;yc=1;const e=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",t=Ct,n=e?";":":",r=uv(),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)],m=e?c.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",D=e?m.split(d):[""];return e&&l.indexOf(".")!==-1&&D[0]!==""&&D.unshift(""),{pathEnv:f,pathExt:D,pathExtExe:m}},"getPathInfo"),a=i((l,c,d)=>{typeof c=="function"&&(d=c,c={}),c||(c={});const{pathEnv:f,pathExt:m,pathExtExe:D}=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 E=f[b],T=/^".*"$/.test(E)?E.slice(1,-1):E,O=t.join(T,l),A=!T&&/^\.[\\\/]/.test(l)?l.slice(0,2)+O:O;C(y(A,b,0))}),"step"),y=i((b,C,w)=>new Promise((E,T)=>{if(w===m.length)return E(v(C+1));const O=m[w];r(b+O,{pathExt:D},(A,I)=>{if(!A&&I)if(c.all)h.push(b+O);else return E(b+O);return E(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:m}=s(l,c),D=[];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 E=C+f[w];try{if(r.sync(E,{pathExt:m}))if(c.all)D.push(E);else return E}catch{}}}if(c.all&&D.length)return D;if(c.nothrow)return null;throw o(l)},"whichSync");return As=a,a.sync=u,As}i(lv,"requireWhich");var Yo={exports:{}},_c;function cv(){if(_c)return Yo.exports;_c=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 Yo.exports=e,Yo.exports.default=e,Yo.exports}i(cv,"requirePathKey");var $s,bc;function dv(){if(bc)return $s;bc=1;const e=Ct,t=lv(),n=cv();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(dv,"requireResolveCommand");var Xo={},Cc;function pv(){if(Cc)return Xo;Cc=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"),Xo.command=t,Xo.argument=n,Xo}i(pv,"require_escape");var Ts,wc;function fv(){return wc||(wc=1,Ts=/^#!(.*)/),Ts}i(fv,"requireShebangRegex");var Ss,Fc;function mv(){if(Fc)return Ss;Fc=1;const e=fv();return Ss=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"),Ss}i(mv,"requireShebangCommand");var Bs,Ec;function hv(){if(Ec)return Bs;Ec=1;const e=Ds,t=mv();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"),Bs=n,Bs}i(hv,"requireReadShebang");var Os,xc;function Dv(){if(xc)return Os;xc=1;const e=Ct,t=dv(),n=pv(),r=hv(),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),m=!s.test(f);if(d.options.forceShell||m){const D=a.test(f);d.command=e.normalize(d.command),d.command=n.command(d.command),d.args=d.args.map(v=>n.argument(v,D));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,m){f&&!Array.isArray(f)&&(m=f,f=null),f=f?f.slice(0):[],m=Object.assign({},m);const D={command:d,args:f,options:m,file:void 0,original:{command:d,args:f}};return m.shell?D:l(D)}return i(c,"parse"),Os=c,Os}i(Dv,"requireParse");var Rs,kc;function gv(){if(kc)return Rs;kc=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"),Rs={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:o,notFoundError:t},Rs}i(gv,"requireEnoent");var Ic;function vv(){if(Ic)return ln.exports;Ic=1;const e=qD,t=Dv(),n=gv();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"),ln.exports=r,ln.exports.spawn=r,ln.exports.sync=o,ln.exports._parse=t,ln.exports._enoent=n,ln.exports}i(vv,"requireCrossSpawn");var yv=vv(),_v=un(yv);function bv(e){const t=typeof e=="string"?`
22
+ `),r(),process.exit(1);e[l]=c}}i(Ko,"v"),ke(Ko,"mapParametersToArguments");function fc(e){return e===void 0||e!==!1}i(fc,"G$2"),ke(fc,"helpEnabled");function Es(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=fc(a);u&&!("help"in o)&&(o.help={type:Boolean,alias:"h",description:"Show help"});const l=mg(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 Vg,f=u&&a?.render?a.render:v=>d.render(v),m=ke(v=>{const y=Ug({...t,...v?{help:v}:{},flags:o});console.log(f(y,d))},"showHelp");if(u&&l.flags.help===!0)return m(),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 E=l._["--"];y=y.slice(0,-E.length||void 0),Ko(w,Jo(v),y,m),Ko(w,Jo(C),E,m)}else Ko(w,Jo(v),y,m);Object.assign(l._,w)}const D={...l,showVersion:c,showHelp:m},h={command:e,...D};if(typeof n=="function"){const v=n(D);if(v&&"then"in v)return Object.assign(Promise.resolve(v),h)}return h}i(Es,"j"),ke(Es,"cliBase");function mc(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: ${St(a)}`);n.set(a,r)}}return n.get(e)}i(mc,"K$1"),ke(mc,"getCommand");function hc(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: ${St(e.name)}`);const r=n[0];if(e.commands&&r&&Fs(r)){const o=mc(r,e.commands);if(o)return Es(o.options.name,{...o.options,parent:e},o.callback,n.slice(1))}return Es(void 0,e,t,n)}i(hc,"Q"),ke(hc,"cli");function sn(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(sn,"X"),ke(sn,"command");var Wg="aicommits",Hg="3.1.1",Jg="Writes your git commit messages for you with AI",Kg=["ai","git","commit","code changes"],Yg="MIT",Xg={type:"git",url:"git+https://github.com/Nutlope/aicommits.git"},Qg="Hassan El Mghari (@nutlope)",ev="module",tv=["dist"],nv={aicommits:"dist/cli.mjs",aic:"dist/cli.mjs"},rv={build:"pkgroll --minify",lint:"","type-check":"tsc",test:"tsx tests",prepack:"pnpm build && clean-pkg-json"},ov={"@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"},av={branches:["develop"]},Vt={name:Wg,version:Hg,description:Jg,keywords:Kg,license:Yg,repository:Xg,author:Qg,type:ev,files:tv,bin:nv,scripts:rv,devDependencies:ov,release:av},Gt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function un(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}i(un,"getDefaultExportFromCjs");var ln={exports:{}},xs,Dc;function sv(){if(Dc)return xs;Dc=1,xs=r,r.sync=o;var e=Ds;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"),xs}i(sv,"requireWindows");var ks,gc;function iv(){if(gc)return ks;gc=1,ks=t,t.sync=n;var e=Ds;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(),m=parseInt("100",8),D=parseInt("010",8),h=parseInt("001",8),v=m|D,y=u&h||u&D&&c===f||u&m&&l===d||u&v&&d===0;return y}return i(o,"checkMode"),ks}i(iv,"requireMode");var Is,vc;function uv(){if(vc)return Is;vc=1;var e;process.platform==="win32"||Gt.TESTING_WINDOWS?e=sv():e=iv(),Is=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"),Is}i(uv,"requireIsexe");var As,yc;function lv(){if(yc)return As;yc=1;const e=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",t=Ct,n=e?";":":",r=uv(),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)],m=e?c.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",D=e?m.split(d):[""];return e&&l.indexOf(".")!==-1&&D[0]!==""&&D.unshift(""),{pathEnv:f,pathExt:D,pathExtExe:m}},"getPathInfo"),a=i((l,c,d)=>{typeof c=="function"&&(d=c,c={}),c||(c={});const{pathEnv:f,pathExt:m,pathExtExe:D}=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 E=f[b],T=/^".*"$/.test(E)?E.slice(1,-1):E,O=t.join(T,l),A=!T&&/^\.[\\\/]/.test(l)?l.slice(0,2)+O:O;C(y(A,b,0))}),"step"),y=i((b,C,w)=>new Promise((E,T)=>{if(w===m.length)return E(v(C+1));const O=m[w];r(b+O,{pathExt:D},(A,I)=>{if(!A&&I)if(c.all)h.push(b+O);else return E(b+O);return E(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:m}=s(l,c),D=[];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 E=C+f[w];try{if(r.sync(E,{pathExt:m}))if(c.all)D.push(E);else return E}catch{}}}if(c.all&&D.length)return D;if(c.nothrow)return null;throw o(l)},"whichSync");return As=a,a.sync=u,As}i(lv,"requireWhich");var Yo={exports:{}},_c;function cv(){if(_c)return Yo.exports;_c=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 Yo.exports=e,Yo.exports.default=e,Yo.exports}i(cv,"requirePathKey");var $s,bc;function dv(){if(bc)return $s;bc=1;const e=Ct,t=lv(),n=cv();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(dv,"requireResolveCommand");var Xo={},Cc;function pv(){if(Cc)return Xo;Cc=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"),Xo.command=t,Xo.argument=n,Xo}i(pv,"require_escape");var Ts,wc;function fv(){return wc||(wc=1,Ts=/^#!(.*)/),Ts}i(fv,"requireShebangRegex");var Ss,Fc;function mv(){if(Fc)return Ss;Fc=1;const e=fv();return Ss=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"),Ss}i(mv,"requireShebangCommand");var Bs,Ec;function hv(){if(Ec)return Bs;Ec=1;const e=Ds,t=mv();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"),Bs=n,Bs}i(hv,"requireReadShebang");var Os,xc;function Dv(){if(xc)return Os;xc=1;const e=Ct,t=dv(),n=pv(),r=hv(),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),m=!s.test(f);if(d.options.forceShell||m){const D=a.test(f);d.command=e.normalize(d.command),d.command=n.command(d.command),d.args=d.args.map(v=>n.argument(v,D));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,m){f&&!Array.isArray(f)&&(m=f,f=null),f=f?f.slice(0):[],m=Object.assign({},m);const D={command:d,args:f,options:m,file:void 0,original:{command:d,args:f}};return m.shell?D:l(D)}return i(c,"parse"),Os=c,Os}i(Dv,"requireParse");var Rs,kc;function gv(){if(kc)return Rs;kc=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"),Rs={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:o,notFoundError:t},Rs}i(gv,"requireEnoent");var Ic;function vv(){if(Ic)return ln.exports;Ic=1;const e=qD,t=Dv(),n=gv();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"),ln.exports=r,ln.exports.spawn=r,ln.exports.sync=o,ln.exports._parse=t,ln.exports._enoent=n,ln.exports}i(vv,"requireCrossSpawn");var yv=vv(),_v=un(yv);function bv(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(bv,"stripFinalNewline");function Ac(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(Ac,"pathKey");const Cv=i(({cwd:e=Le.cwd(),path:t=Le.env[Ac()],preferLocal:n=!0,execPath:r=Le.execPath,addExecPath:o=!0}={})=>{const s=e instanceof URL?xl(e):e,a=On.resolve(s),u=[];return n&&wv(u,a),o&&Fv(u,r,a),[...u,t].join(On.delimiter)},"npmRunPath"),wv=i((e,t)=>{let n;for(;n!==t;)e.push(On.join(t,"node_modules/.bin")),n=t,t=On.resolve(t,"..")},"applyPreferLocal"),Fv=i((e,t,n)=>{const r=t instanceof URL?xl(t):t;e.push(On.resolve(n,r,".."))},"applyExecPath"),Ev=i(({env:e=Le.env,...t}={})=>{e={...e};const n=Ac({env:e});return t.path=e[n],e[n]=Cv(t),e},"npmRunPathEnv"),xv=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);!kv(o,s)&&r||Object.defineProperty(e,n,s)},"copyProperty"),kv=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"),Iv=i((e,t)=>{const n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},"changePrototype"),Av=i((e,t)=>`/* Wrapped ${e}*/
24
24
  ${t}`,"wrappedToString"),$v=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Tv=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Sv=i((e,t,n)=>{const r=n===""?"":`with ${n.trim()}() `,o=Av.bind(null,r,t.toString());Object.defineProperty(o,"name",Tv),Object.defineProperty(e,"toString",{...$v,value:o})},"changeToString");function Bv(e,t,{ignoreNonConfigurable:n=!1}={}){const{name:r}=e;for(const o of Reflect.ownKeys(t))xv(e,t,o,n);return Iv(e,t),Sv(e,t,r),e}i(Bv,"mimicFunction");const Qo=new WeakMap,$c=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(Qo.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 Bv(s,e),Qo.set(s,r),s},"onetime");$c.callCount=e=>{if(!Qo.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return Qo.get(e)};const Ov=i(()=>{const e=Sc-Tc+1;return Array.from({length:e},Rv)},"getRealtimeSignals"),Rv=i((e,t)=>({name:`SIGRT${t+1}`,number:Tc+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),"getRealtimeSignal"),Tc=34,Sc=64,Nv=[{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"}],Bc=i(()=>{const e=Ov();return[...Nv,...e].map(Pv)},"getSignals"),Pv=i(({name:e,number:t,description:n,action:r,forced:o=!1,standard:s})=>{const{signals:{[e]:a}}=kl,u=a!==void 0;return{name:e,number:u?a:t,description:n,supported:u,action:r,forced:o,standard:s}},"normalizeSignal"),Mv=i(()=>{const e=Bc();return Object.fromEntries(e.map(jv))},"getSignalsByName"),jv=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"),zv=Mv(),Lv=i(()=>{const e=Bc(),t=Sc+1,n=Array.from({length:t},(r,o)=>qv(o,e));return Object.assign({},...n)},"getSignalsByNumber"),qv=i((e,t)=>{const n=Uv(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"),Uv=i((e,t)=>{const n=t.find(({name:r})=>kl.signals[r]===e);return n!==void 0?n:t.find(r=>r.number===e)},"findSignalByNumber");Lv();const Zv=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"),Oc=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:m=Le.cwd()}}})=>{s=s===null?void 0:s,o=o===null?void 0:o;const D=o===void 0?void 0:zv[o].description,h=r&&r.code,y=`Command ${Zv({timedOut:l,timeout:f,errorCode:h,signal:o,signalDescription:D,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 @@ ${ai}Please open a Bug report with the information above:`),console.error(`${ai}
82
82
  `).filter(Boolean).some(l=>!v0(l));let s=[];o&&(s=[...fd]),s=[...s,...e?e.map(pa):[]];const{stdout:a}=await He("git",[...t,"--name-only",...s]);if(!a)return;const{stdout:u}=await He("git",[...t,...s]);return{files:a.split(`
83
83
  `),diff:u}},"getStagedDiff"),y0=i(async(e,t)=>{const n=["diff","--cached","--diff-algorithm=minimal"],r=[...fd,...t?t.map(pa):[]],{stdout:o}=await He("git",[...n,"--",...e,...r]);return{files:e,diff:o}},"getStagedDiffForFiles"),hd=i(e=>`Detected ${e.length.toLocaleString()} staged file${e.length>1?"s":""}`,"getDetectedMessage");var ii,Dd;function _0(){if(Dd)return ii;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 m=c.whitespace?" = ":"=";for(const D of Object.keys(l)){const h=l[D];if(h&&Array.isArray(h))for(const v of h)f+=a(D+"[]")+m+a(v)+t;else h&&typeof h=="object"?d.push(D):f+=a(D)+m+a(h)+t}c.section&&f.length&&(f="["+a(c.section)+"]"+t+f);for(const D of d){const h=r(D).join("\\."),v=(c.section?c.section+".":"")+h,{whitespace:y}=c,b=n(l[D],{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 m=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,D=l.split(/[\r\n]+/g);for(const v of D){if(!v||v.match(/^\s*[;#]/))continue;const y=v.match(m);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 E=y[3]?u(y[4]):!0,T=E==="true"||E==="false"||E==="null"?JSON.parse(E):E;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 m=0,D=l.length;m<D;m++){const h=l.charAt(m);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 ii={parse:o,decode:o,stringify:n,encode:n,safe:a,unsafe:u},ii}i(_0,"requireIni");var b0=_0(),gd=un(b0);const ui=i(e=>Je.lstat(e).then(()=>!0,()=>!1),"fileExists"),C0=["plain","conventional","gitmoji","subject+body"],{hasOwnProperty:w0}=Object.prototype,li=i((e,t)=>w0.call(e,t),"hasOwn"),Rt=i((e,t,n)=>{if(!t)throw new le(`Invalid config property ${e}: ${n}`)},"parseAssert"),fa={OPENAI_API_KEY(e){return e},OPENAI_BASE_URL(e){return e},OPENAI_MODEL(e){return e||""},locale(e){return e?(Rt("locale",!!e,"Cannot be empty"),Rt("locale",/^[a-z-]+$/i.test(e),"Must be a valid locale (letters and dashes/underscores)."),e):"en"},generate(e){if(!e)return 1;Rt("generate",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Rt("generate",t>0,"Must be greater than 0"),Rt("generate",t<=5,"Must be less or equal to 5"),t},type(e){return e?(Rt("type",C0.includes(e),"Invalid commit type"),e):"plain"},proxy(e){if(!(!e||e.length===0))throw new le('The "proxy" config property is deprecated and no longer supported.')},timeout(e){if(!e)return;Rt("timeout",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Rt("timeout",t>=500,"Must be greater than 500ms"),t},"max-length"(e){if(!e)return 72;Rt("max-length",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Rt("max-length",t>=20,"Must be greater than 20 characters"),t}},F0={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:["Qwen/Qwen3-Next-80B-A3B-Instruct","zai-org/GLM-4.5-Air-FP8","meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo"],requiresApiKey:!0},E0={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},x0={name:"ollama",displayName:"Ollama (local)",baseUrl:"http://localhost:11434/v1",modelsFilter:i(e=>e.filter(t=>t.id||t.name).map(t=>t.id||t.name),"modelsFilter"),defaultModels:["qwen3.5:4b","llama3.2:latest"],requiresApiKey:!1,cacheModels:!1,isLocal:!0},k0={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},I0={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,headers:{"HTTP-Referer":"https://github.com/nutlope/aicommits","X-Title":"aicommits"}},A0={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,cacheModels:!1,isLocal:!0},$0={name:"groq",displayName:"Groq",baseUrl:"https://api.groq.com/openai/v1",apiKeyFormat:"gsk_",modelsFilter:i(e=>e.filter(t=>t.id&&(!t.type||t.type==="chat"||t.type==="language")).map(t=>t.id),"modelsFilter"),defaultModels:["openai/gpt-oss-120b","llama-3.1-8b-instant","openai/gpt-oss-20b"],requiresApiKey:!0},T0={name:"xai",displayName:"xAI",baseUrl:"https://api.x.ai/v1",apiKeyFormat:"xai-",modelsFilter:i(e=>e.filter(t=>t.id&&(!t.type||t.type==="chat"||t.type==="language")).map(t=>t.id),"modelsFilter"),defaultModels:["grok-4.1-fast","grok-4-fast","grok-code-fast-1"],requiresApiKey:!0},co=[F0,E0,$0,T0,x0,A0,I0,k0],S0=i(()=>co.find(t=>t.name==="openai")?.baseUrl||"","getDefaultBaseUrl"),B0=i((e,t)=>{if(e){const n=co.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"),ci=i(()=>Ct.join($l.homedir(),".aicommits"),"getConfigPath"),vd=i(async()=>{if(!await ui(ci()))return Object.create(null);const t=await Je.readFile(ci(),"utf8");return gd.parse(t)},"readConfigFile"),hn=i(async(e,t,n)=>{const r=await vd();li(r,"proxy")&&console.warn('The "proxy" config property is deprecated and no longer supported');const o={},s=t??{};for(const c of Object.keys(fa)){const d=fa[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=S0(),o.OPENAI_BASE_URL=u),a=B0(u,l),{...o,model:o.OPENAI_MODEL,provider:a}},"getConfig"),di=i(async e=>{const t=await vd();for(const[n,r]of e){if(!li(fa,n))throw new le(`Invalid config property: ${n}`);if(r==="")delete t[n];else{const o=fa[n](r);t[n]=o}}await Je.writeFile(ci(),gd.stringify(t),"utf8")},"setConfigs"),yd=i(e=>`\u2705 ${e} (current)`,"CURRENT_LABEL_FORMAT"),O0=3600*1e3,_d=i(()=>{const e=process.platform,t=$l.homedir();if(e==="darwin")return Ct.join(t,"Library","Caches","aicommits","models");if(e==="win32")return Ct.join(t,"AppData","Local","aicommits","models");{const n=process.env.XDG_CACHE_HOME,r=n||Ct.join(t,".cache");return Ct.join(r,"aicommits","models")}},"getCacheDir"),R0=i(e=>{const t=XD.createHash("sha256");return t.update(e),t.digest("hex")},"getCacheKey"),bd=i(e=>Ct.join(_d(),`${e}.json`),"getCachePath"),N0=i(async e=>{const t=bd(e);try{if(!await ui(t))return null;const n=await Je.readFile(t,"utf8");return JSON.parse(n)}catch{return null}},"readCache"),P0=i(async(e,t)=>{try{const n=_d();await Je.mkdir(n,{recursive:!0});const r=bd(e);await Je.writeFile(r,JSON.stringify(t),"utf8")}catch{}},"writeCache"),pi=i(async e=>{const{baseUrl:t,apiKey:n="",cacheModels:r=!0}=e,o=R0(t),s=Date.now();if(r){const a=await N0(o);if(a&&s-a.timestamp<O0)return a.data}try{const a=await fetch(`${t}/models`,{headers:{Authorization:`Bearer ${n}`}});if(!a.ok)throw new Error(`HTTP ${a.status}: ${a.statusText}`);const u=await a.json(),l=(u.data?u.data:u)||[],c={models:l};return r&&l.length>0&&await P0(o,{data:c,timestamp:s}),c}catch(a){const u=a instanceof Error?a.message:"Request failed";return{models:[],error:u}}},"fetchModels"),M0=i(async(e,t,n)=>{const r=await pi({baseUrl:e,apiKey:t,cacheModels:n?.cacheModels});r.error&&console.error(`Failed to fetch models: ${r.error}`);let o=[];const s=Array.isArray(r.models)?r.models:[];return n?.modelsFilter?o=n.modelsFilter(s):o=s.map(a=>a.id||a.name).filter(Boolean),o},"fetchAndFilterModels"),j0=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=`\u2705 ${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=yd(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:yd(t),value:t})}}return r},"prepareModelOptions"),z0=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"),L0=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 Pn(t)?null:t},"handleCustom"),Cd=i(async(e,t,n,r,o)=>{(!n||n==="undefined")&&(n=r?.defaultModels?.[0]);const s=Ot();s.start("Fetching available models...");const a=await M0(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 lo});let f=j0(a,n,r);const m=10;f.length>m&&(f=f.slice(0,m));let D=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(D))return null;if(D==="search"){const h=await z0(a,l,c,d);if(h===null)return null;D=h}if(D==="custom"){if(u=await L0(c),u===null)return null}else u=D}else{if(r?.isLocal)return console.log(`No models found on ${o||"local provider"}. Please download a model first, then run \`aicommits model\` to select it.`),null;console.log("Could not fetch available models. Please specify a model name manually.");const{text:l,isCancel:c}=await Promise.resolve().then(function(){return lo});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 q0=Object.freeze({__proto__:null,fetchModels:pi,selectModel:Cd}),U0=Object.defineProperty,Z0=i((e,t,n)=>t in e?U0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,"__defNormalProp"),wd=i((e,t,n)=>Z0(e,typeof t!="symbol"?t+"":t,n),"__publicField");const Iu=class Iu{constructor(t,n){wd(this,"config"),wd(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 lo}),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 pi({baseUrl:t,apiKey:n,cacheModels:this.def.cacheModels});if(r.error)return{models:[],error:r.error};const o=Array.isArray(r.models)?r.models:[];let s;return this.def.modelsFilter?s=this.def.modelsFilter(o):s=o.map(a=>a.id||a.name).filter(Boolean),{models:s}}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}getHeaders(){return this.def.headers}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(Iu,"Provider");let fi=Iu;function jn(e){const t=e.provider,n=co.find(r=>r.name===t);return n?new fi(n,e):null}i(jn,"getProvider");function V0(){return co.map(e=>({value:e.name,label:e.displayName}))}i(V0,"getAvailableProviders");function G0(e){return co.find(n=>n.name===e)?.baseUrl||""}i(G0,"getProviderBaseUrl");var Fd="vercel.ai.error",W0=Symbol.for(Fd),Ed,xd,X=(In=class extends(xd=Error,Ed=W0,xd){constructor({name:t,message:n,cause:r}){super(n),this[Ed]=!0,this.name=t,this.cause=r}static isInstance(t){return In.hasMarker(t,Fd)}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(In,"_AISDKError"),In),kd="AI_APICallError",Id=`vercel.ai.error.${kd}`,H0=Symbol.for(Id),Ad,$d,Be=(er=class extends($d=X,Ad=H0,$d){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:kd,message:t,cause:u}),this[Ad]=!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 X.hasMarker(t,Id)}},i(er,"APICallError"),er),Td="AI_EmptyResponseBodyError",Sd=`vercel.ai.error.${Td}`,J0=Symbol.for(Sd),Bd,Od,K0=(tr=class extends(Od=X,Bd=J0,Od){constructor({message:t="Empty response body"}={}){super({name:Td,message:t}),this[Bd]=!0}static isInstance(t){return X.hasMarker(t,Sd)}},i(tr,"EmptyResponseBodyError"),tr);function po(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}i(po,"getErrorMessage$1");var Rd="AI_InvalidArgumentError",Nd=`vercel.ai.error.${Rd}`,Y0=Symbol.for(Nd),Pd,Md,jd=(nr=class extends(Md=X,Pd=Y0,Md){constructor({message:t,cause:n,argument:r}){super({name:Rd,message:t,cause:n}),this[Pd]=!0,this.argument=r}static isInstance(t){return X.hasMarker(t,Nd)}},i(nr,"InvalidArgumentError"),nr),zd="AI_InvalidPromptError",Ld=`vercel.ai.error.${zd}`,X0=Symbol.for(Ld),qd,Ud,Ht=(rr=class extends(Ud=X,qd=X0,Ud){constructor({prompt:t,message:n,cause:r}){super({name:zd,message:`Invalid prompt: ${n}`,cause:r}),this[qd]=!0,this.prompt=t}static isInstance(t){return X.hasMarker(t,Ld)}},i(rr,"InvalidPromptError"),rr),Zd="AI_InvalidResponseDataError",Vd=`vercel.ai.error.${Zd}`,Q0=Symbol.for(Vd),Gd,Wd,fo=(or=class extends(Wd=X,Gd=Q0,Wd){constructor({data:t,message:n=`Invalid response data: ${JSON.stringify(t)}.`}){super({name:Zd,message:n}),this[Gd]=!0,this.data=t}static isInstance(t){return X.hasMarker(t,Vd)}},i(or,"InvalidResponseDataError"),or),Hd="AI_JSONParseError",Jd=`vercel.ai.error.${Hd}`,e_=Symbol.for(Jd),Kd,Yd,ma=(ar=class extends(Yd=X,Kd=e_,Yd){constructor({text:t,cause:n}){super({name:Hd,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 m=c.whitespace?" = ":"=";for(const D of Object.keys(l)){const h=l[D];if(h&&Array.isArray(h))for(const v of h)f+=a(D+"[]")+m+a(v)+t;else h&&typeof h=="object"?d.push(D):f+=a(D)+m+a(h)+t}c.section&&f.length&&(f="["+a(c.section)+"]"+t+f);for(const D of d){const h=r(D).join("\\."),v=(c.section?c.section+".":"")+h,{whitespace:y}=c,b=n(l[D],{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 m=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,D=l.split(/[\r\n]+/g);for(const v of D){if(!v||v.match(/^\s*[;#]/))continue;const y=v.match(m);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 E=y[3]?u(y[4]):!0,T=E==="true"||E==="false"||E==="null"?JSON.parse(E):E;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 m=0,D=l.length;m<D;m++){const h=l.charAt(m);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 ii={parse:o,decode:o,stringify:n,encode:n,safe:a,unsafe:u},ii}i(_0,"requireIni");var b0=_0(),gd=un(b0);const ui=i(e=>Je.lstat(e).then(()=>!0,()=>!1),"fileExists"),C0=["plain","conventional","gitmoji","subject+body"],{hasOwnProperty:w0}=Object.prototype,li=i((e,t)=>w0.call(e,t),"hasOwn"),Rt=i((e,t,n)=>{if(!t)throw new le(`Invalid config property ${e}: ${n}`)},"parseAssert"),fa={OPENAI_API_KEY(e){return e},OPENAI_BASE_URL(e){return e},OPENAI_MODEL(e){return e||""},locale(e){return e?(Rt("locale",!!e,"Cannot be empty"),Rt("locale",/^[a-z-]+$/i.test(e),"Must be a valid locale (letters and dashes/underscores)."),e):"en"},generate(e){if(!e)return 1;Rt("generate",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Rt("generate",t>0,"Must be greater than 0"),Rt("generate",t<=5,"Must be less or equal to 5"),t},type(e){return e?(Rt("type",C0.includes(e),"Invalid commit type"),e):"plain"},proxy(e){if(!(!e||e.length===0))throw new le('The "proxy" config property is deprecated and no longer supported.')},timeout(e){if(!e)return;Rt("timeout",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Rt("timeout",t>=500,"Must be greater than 500ms"),t},"max-length"(e){if(!e)return 72;Rt("max-length",/^\d+$/.test(e),"Must be an integer");const t=Number(e);return Rt("max-length",t>=20,"Must be greater than 20 characters"),t}},F0={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:["deepseek-ai/DeepSeek-V3.1","Qwen/Qwen3.5-9B","Qwen/Qwen3.5-397B-A17B"],requiresApiKey:!0},E0={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},x0={name:"ollama",displayName:"Ollama (local)",baseUrl:"http://localhost:11434/v1",modelsFilter:i(e=>e.filter(t=>t.id||t.name).map(t=>t.id||t.name),"modelsFilter"),defaultModels:["qwen3.5:4b","llama3.2:latest"],requiresApiKey:!1,cacheModels:!1,isLocal:!0},k0={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},I0={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,headers:{"HTTP-Referer":"https://github.com/nutlope/aicommits","X-Title":"aicommits"}},A0={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,cacheModels:!1,isLocal:!0},$0={name:"groq",displayName:"Groq",baseUrl:"https://api.groq.com/openai/v1",apiKeyFormat:"gsk_",modelsFilter:i(e=>e.filter(t=>t.id&&(!t.type||t.type==="chat"||t.type==="language")).map(t=>t.id),"modelsFilter"),defaultModels:["openai/gpt-oss-120b","llama-3.1-8b-instant","openai/gpt-oss-20b"],requiresApiKey:!0},T0={name:"xai",displayName:"xAI",baseUrl:"https://api.x.ai/v1",apiKeyFormat:"xai-",modelsFilter:i(e=>e.filter(t=>t.id&&(!t.type||t.type==="chat"||t.type==="language")).map(t=>t.id),"modelsFilter"),defaultModels:["grok-4.1-fast","grok-4-fast","grok-code-fast-1"],requiresApiKey:!0},co=[F0,E0,$0,T0,x0,A0,I0,k0],S0=i(()=>co.find(t=>t.name==="openai")?.baseUrl||"","getDefaultBaseUrl"),B0=i((e,t)=>{if(e){const n=co.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"),ci=i(()=>Ct.join($l.homedir(),".aicommits"),"getConfigPath"),vd=i(async()=>{if(!await ui(ci()))return Object.create(null);const t=await Je.readFile(ci(),"utf8");return gd.parse(t)},"readConfigFile"),hn=i(async(e,t,n)=>{const r=await vd();li(r,"proxy")&&console.warn('The "proxy" config property is deprecated and no longer supported');const o={},s=t??{};for(const c of Object.keys(fa)){const d=fa[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=S0(),o.OPENAI_BASE_URL=u),a=B0(u,l),{...o,model:o.OPENAI_MODEL,provider:a}},"getConfig"),di=i(async e=>{const t=await vd();for(const[n,r]of e){if(!li(fa,n))throw new le(`Invalid config property: ${n}`);if(r==="")delete t[n];else{const o=fa[n](r);t[n]=o}}await Je.writeFile(ci(),gd.stringify(t),"utf8")},"setConfigs"),yd=i(e=>`\u2705 ${e} (current)`,"CURRENT_LABEL_FORMAT"),O0=3600*1e3,_d=i(()=>{const e=process.platform,t=$l.homedir();if(e==="darwin")return Ct.join(t,"Library","Caches","aicommits","models");if(e==="win32")return Ct.join(t,"AppData","Local","aicommits","models");{const n=process.env.XDG_CACHE_HOME,r=n||Ct.join(t,".cache");return Ct.join(r,"aicommits","models")}},"getCacheDir"),R0=i(e=>{const t=XD.createHash("sha256");return t.update(e),t.digest("hex")},"getCacheKey"),bd=i(e=>Ct.join(_d(),`${e}.json`),"getCachePath"),N0=i(async e=>{const t=bd(e);try{if(!await ui(t))return null;const n=await Je.readFile(t,"utf8");return JSON.parse(n)}catch{return null}},"readCache"),P0=i(async(e,t)=>{try{const n=_d();await Je.mkdir(n,{recursive:!0});const r=bd(e);await Je.writeFile(r,JSON.stringify(t),"utf8")}catch{}},"writeCache"),pi=i(async e=>{const{baseUrl:t,apiKey:n="",cacheModels:r=!0}=e,o=R0(t),s=Date.now();if(r){const a=await N0(o);if(a&&s-a.timestamp<O0)return a.data}try{const a=await fetch(`${t}/models`,{headers:{Authorization:`Bearer ${n}`}});if(!a.ok)throw new Error(`HTTP ${a.status}: ${a.statusText}`);const u=await a.json(),l=(u.data?u.data:u)||[],c={models:l};return r&&l.length>0&&await P0(o,{data:c,timestamp:s}),c}catch(a){const u=a instanceof Error?a.message:"Request failed";return{models:[],error:u}}},"fetchModels"),M0=i(async(e,t,n)=>{const r=await pi({baseUrl:e,apiKey:t,cacheModels:n?.cacheModels});r.error&&console.error(`Failed to fetch models: ${r.error}`);let o=[];const s=Array.isArray(r.models)?r.models:[];return n?.modelsFilter?o=n.modelsFilter(s):o=s.map(a=>a.id||a.name).filter(Boolean),o},"fetchAndFilterModels"),j0=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=`\u2705 ${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=yd(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:yd(t),value:t})}}return r},"prepareModelOptions"),z0=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"),L0=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 Pn(t)?null:t},"handleCustom"),Cd=i(async(e,t,n,r,o)=>{(!n||n==="undefined")&&(n=r?.defaultModels?.[0]);const s=Ot();s.start("Fetching available models...");const a=await M0(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 lo});let f=j0(a,n,r);const m=10;f.length>m&&(f=f.slice(0,m));let D=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(D))return null;if(D==="search"){const h=await z0(a,l,c,d);if(h===null)return null;D=h}if(D==="custom"){if(u=await L0(c),u===null)return null}else u=D}else{if(r?.isLocal)return console.log(`No models found on ${o||"local provider"}. Please download a model first, then run \`aicommits model\` to select it.`),null;console.log("Could not fetch available models. Please specify a model name manually.");const{text:l,isCancel:c}=await Promise.resolve().then(function(){return lo});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 q0=Object.freeze({__proto__:null,fetchModels:pi,selectModel:Cd}),U0=Object.defineProperty,Z0=i((e,t,n)=>t in e?U0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,"__defNormalProp"),wd=i((e,t,n)=>Z0(e,typeof t!="symbol"?t+"":t,n),"__publicField");const Iu=class Iu{constructor(t,n){wd(this,"config"),wd(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 lo}),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 pi({baseUrl:t,apiKey:n,cacheModels:this.def.cacheModels});if(r.error)return{models:[],error:r.error};const o=Array.isArray(r.models)?r.models:[];let s;return this.def.modelsFilter?s=this.def.modelsFilter(o):s=o.map(a=>a.id||a.name).filter(Boolean),{models:s}}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}getHeaders(){return this.def.headers}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(Iu,"Provider");let fi=Iu;function jn(e){const t=e.provider,n=co.find(r=>r.name===t);return n?new fi(n,e):null}i(jn,"getProvider");function V0(){return co.map(e=>({value:e.name,label:e.displayName}))}i(V0,"getAvailableProviders");function G0(e){return co.find(n=>n.name===e)?.baseUrl||""}i(G0,"getProviderBaseUrl");var Fd="vercel.ai.error",W0=Symbol.for(Fd),Ed,xd,X=(In=class extends(xd=Error,Ed=W0,xd){constructor({name:t,message:n,cause:r}){super(n),this[Ed]=!0,this.name=t,this.cause=r}static isInstance(t){return In.hasMarker(t,Fd)}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(In,"_AISDKError"),In),kd="AI_APICallError",Id=`vercel.ai.error.${kd}`,H0=Symbol.for(Id),Ad,$d,Be=(er=class extends($d=X,Ad=H0,$d){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:kd,message:t,cause:u}),this[Ad]=!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 X.hasMarker(t,Id)}},i(er,"APICallError"),er),Td="AI_EmptyResponseBodyError",Sd=`vercel.ai.error.${Td}`,J0=Symbol.for(Sd),Bd,Od,K0=(tr=class extends(Od=X,Bd=J0,Od){constructor({message:t="Empty response body"}={}){super({name:Td,message:t}),this[Bd]=!0}static isInstance(t){return X.hasMarker(t,Sd)}},i(tr,"EmptyResponseBodyError"),tr);function po(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}i(po,"getErrorMessage$1");var Rd="AI_InvalidArgumentError",Nd=`vercel.ai.error.${Rd}`,Y0=Symbol.for(Nd),Pd,Md,jd=(nr=class extends(Md=X,Pd=Y0,Md){constructor({message:t,cause:n,argument:r}){super({name:Rd,message:t,cause:n}),this[Pd]=!0,this.argument=r}static isInstance(t){return X.hasMarker(t,Nd)}},i(nr,"InvalidArgumentError"),nr),zd="AI_InvalidPromptError",Ld=`vercel.ai.error.${zd}`,X0=Symbol.for(Ld),qd,Ud,Ht=(rr=class extends(Ud=X,qd=X0,Ud){constructor({prompt:t,message:n,cause:r}){super({name:zd,message:`Invalid prompt: ${n}`,cause:r}),this[qd]=!0,this.prompt=t}static isInstance(t){return X.hasMarker(t,Ld)}},i(rr,"InvalidPromptError"),rr),Zd="AI_InvalidResponseDataError",Vd=`vercel.ai.error.${Zd}`,Q0=Symbol.for(Vd),Gd,Wd,fo=(or=class extends(Wd=X,Gd=Q0,Wd){constructor({data:t,message:n=`Invalid response data: ${JSON.stringify(t)}.`}){super({name:Zd,message:n}),this[Gd]=!0,this.data=t}static isInstance(t){return X.hasMarker(t,Vd)}},i(or,"InvalidResponseDataError"),or),Hd="AI_JSONParseError",Jd=`vercel.ai.error.${Hd}`,e_=Symbol.for(Jd),Kd,Yd,ma=(ar=class extends(Yd=X,Kd=e_,Yd){constructor({text:t,cause:n}){super({name:Hd,message:`JSON parsing failed: Text: ${t}.
86
86
  Error message: ${po(n)}`,cause:n}),this[Kd]=!0,this.text=t}static isInstance(t){return X.hasMarker(t,Jd)}},i(ar,"JSONParseError"),ar),Xd="AI_LoadAPIKeyError",Qd=`vercel.ai.error.${Xd}`,t_=Symbol.for(Qd),ep,tp,ha=(sr=class extends(tp=X,ep=t_,tp){constructor({message:t}){super({name:Xd,message:t}),this[ep]=!0}static isInstance(t){return X.hasMarker(t,Qd)}},i(sr,"LoadAPIKeyError"),sr),np="AI_TooManyEmbeddingValuesForCallError",rp=`vercel.ai.error.${np}`,n_=Symbol.for(rp),op,ap,sp=(ir=class extends(ap=X,op=n_,ap){constructor(t){super({name:np,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[op]=!0,this.provider=t.provider,this.modelId=t.modelId,this.maxEmbeddingsPerCall=t.maxEmbeddingsPerCall,this.values=t.values}static isInstance(t){return X.hasMarker(t,rp)}},i(ir,"TooManyEmbeddingValuesForCallError"),ir),ip="AI_TypeValidationError",up=`vercel.ai.error.${ip}`,r_=Symbol.for(up),lp,cp,Dn=(on=class extends(cp=X,lp=r_,cp){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:ip,message:`${o}: Value: ${JSON.stringify(t)}.
87
87
  Error message: ${po(n)}`,cause:n}),this[lp]=!0,this.value=t,this.context=r}static isInstance(t){return X.hasMarker(t,up)}static wrap({value:t,cause:n,context:r}){var o,s,a;return on.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 on({value:t,cause:n,context:r})}},i(on,"_TypeValidationError"),on),dp="AI_UnsupportedFunctionalityError",pp=`vercel.ai.error.${dp}`,o_=Symbol.for(pp),fp,mp,Qe=(ur=class extends(mp=X,fp=o_,mp){constructor({functionality:t,message:n=`'${t}' functionality not supported.`}){super({name:dp,message:n}),this[fp]=!0,this.functionality=t}static isInstance(t){return X.hasMarker(t,pp)}},i(ur,"UnsupportedFunctionalityError"),ur);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 Au=class Au extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};i(Au,"$ZodAsyncError");let gn=Au;const hp={};function Jt(e){return hp}i(Jt,"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 a_(e,t){return typeof t=="bigint"?t.toString():t}i(a_,"jsonStringifyReplacer");function mi(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}i(mi,"cached");function hi(e){return e==null}i(hi,"nullish");function Di(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}i(Di,"cleanRegex");function s_(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(s_,"floatSafeRemainder$1");function De(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(De,"defineLazy");function Da(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}i(Da,"assignProp");function mo(e){return JSON.stringify(e)}i(mo,"esc");const gp=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function ga(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(ga,"isObject");const i_=mi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function va(e){if(ga(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(ga(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}i(va,"isPlainObject");const u_=new Set(["string","number","symbol"]);function ho(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(ho,"escapeRegex");function vn(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}i(vn,"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 l_(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}i(l_,"optionalKeys");const c_={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 d_(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 vn(e,{...e._zod.def,shape:n,checks:[]})}i(d_,"pick");function p_(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 vn(e,{...e._zod.def,shape:n,checks:[]})}i(p_,"omit");function f_(e,t){if(!va(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 Da(this,"shape",r),r},checks:[]};return vn(e,n)}i(f_,"extend");function m_(e,t){return vn(e,{...e._zod.def,get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Da(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}i(m_,"merge");function h_(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 vn(t,{...t._zod.def,shape:o,checks:[]})}i(h_,"partial");function D_(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 vn(t,{...t._zod.def,shape:o,checks:[]})}i(D_,"required");function Do(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}i(Do,"aborted");function yn(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}i(yn,"prefixIssues");function ya(e){return typeof e=="string"?e:e?.message}i(ya,"unwrapMessage");function Kt(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=ya(e.inst?._zod.def?.error?.(e))??ya(t?.error?.(e))??ya(n.customError?.(e))??ya(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}i(Kt,"finalizeIssue");function gi(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}i(gi,"getLengthableOrigin");function go(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}i(go,"issue");const vp=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,a_,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:i(()=>e.message,"value"),enumerable:!1})},"initializer$1"),yp=$("$ZodError",vp),_p=$("$ZodError",vp,{Parent:Error});function g_(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(g_,"flattenError");function v_(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(v_,"formatError");const y_=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 gn;if(a.issues.length){const u=new(o?.Err??e)(a.issues.map(l=>Kt(l,s,Jt())));throw gp(u,o?.callee),u}return a.value},"_parse$1"),__=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=>Kt(l,s,Jt())));throw gp(u,o?.callee),u}return a.value},"_parseAsync"),bp=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 gn;return s.issues.length?{success:!1,error:new(e??yp)(s.issues.map(a=>Kt(a,o,Jt())))}:{success:!0,data:s.value}},"_safeParse"),b_=bp(_p),Cp=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=>Kt(a,o,Jt())))}:{success:!0,data:s.value}},"_safeParseAsync"),C_=Cp(_p),w_=/^[cC][^\s-]{8,}$/,F_=/^[0-9a-z]+$/,E_=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,x_=/^[0-9a-vA-V]{20}$/,k_=/^[A-Za-z0-9]{27}$/,I_=/^[a-zA-Z0-9_-]{21}$/,A_=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,$_=/^([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})$/,wp=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"),T_=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,S_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function B_(){return new RegExp(S_,"u")}i(B_,"emoji");const O_=/^(?:(?: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])$/,R_=/^(([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})$/,N_=/^((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])$/,P_=/^(([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])$/,M_=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Fp=/^[A-Za-z0-9_-]*$/,j_=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,z_=/^\+(?:[0-9]){6,14}[0-9]$/,Ep="(?:(?:\\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])))",L_=new RegExp(`^${Ep}$`);function xp(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(xp,"timeSource");function q_(e){return new RegExp(`^${xp(e)}$`)}i(q_,"time$1");function U_(e){const t=xp({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(`^${Ep}T(?:${r})$`)}i(U_,"datetime$1");const Z_=i(e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},"string$1"),V_=/^\d+$/,G_=/^-?\d+(?:\.\d+)?/i,W_=/true|false/i,H_=/null/i,J_=/^[^A-Z]*$/,K_=/^[^a-z]*$/,ut=$("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),kp={number:"number",bigint:"bigint",object:"date"},Ip=$("$ZodCheckLessThan",(e,t)=>{ut.init(e,t);const n=kp[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})}}),Ap=$("$ZodCheckGreaterThan",(e,t)=>{ut.init(e,t);const n=kp[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})}}),Y_=$("$ZodCheckMultipleOf",(e,t)=>{ut.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):s_(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})}}),X_=$("$ZodCheckNumberFormat",(e,t)=>{ut.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,s]=c_[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=V_)}),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})}}),Q_=$("$ZodCheckMaxLength",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!hi(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=gi(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),eb=$("$ZodCheckMinLength",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!hi(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=gi(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),tb=$("$ZodCheckLengthEquals",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!hi(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=gi(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})}}),_a=$("$ZodCheckStringFormat",(e,t)=>{var n,r;ut.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=()=>{})}),nb=$("$ZodCheckRegex",(e,t)=>{_a.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})}}),rb=$("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=J_),_a.init(e,t)}),ob=$("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=K_),_a.init(e,t)}),ab=$("$ZodCheckIncludes",(e,t)=>{ut.init(e,t);const n=ho(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})}}),sb=$("$ZodCheckStartsWith",(e,t)=>{ut.init(e,t);const n=new RegExp(`^${ho(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})}}),ib=$("$ZodCheckEndsWith",(e,t)=>{ut.init(e,t);const n=new RegExp(`.*${ho(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})}}),ub=$("$ZodCheckOverwrite",(e,t)=>{ut.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),$u=class $u{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($f,"stringifyRegExpWithFlags");function Tf(e,t){var n,r,o,s,a,u;const l={type:"object",additionalProperties:(n=_e(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}=Af(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}=kf(e.keyType._def,t);return{...l,propertyNames:d}}}return l}i(Tf,"parseRecordDef");function fF(e,t){if(t.mapStrategy==="record")return Tf(e,t);const n=_e(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Dt(),r=_e(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Dt();return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}i(fF,"parseMapDef");function mF(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(mF,"parseNativeEnumDef");function hF(){return{not:Dt()}}i(hF,"parseNeverDef");function DF(){return{type:"null"}}i(DF,"parseNullDef");var Ui={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function gF(e,t){const n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Ui&&(!r._def.checks||!r._def.checks.length))){const r=n.reduce((o,s)=>{const a=Ui[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 vF(e,t)}i(gF,"parseUnionDef");var vF=i((e,t)=>{const n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>_e(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 yF(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Ui[e.innerType._def.typeName],"null"]};const n=_e(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}i(yF,"parseNullableDef");function _F(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(_F,"parseNumberDef");function bF(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=wF(u),c=_e(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=CF(e,t);return s!==void 0&&(n.additionalProperties=s),n}i(bF,"parseObjectDef");function CF(e,t){if(e.catchall._def.typeName!=="ZodNever")return _e(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(CF,"decideAdditionalProperties");function wF(e){try{return e.isOptional()}catch{return!0}}i(wF,"safeIsOptional");var FF=i((e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return _e(e.innerType._def,t);const r=_e(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Dt()},r]}:Dt()},"parseOptionalDef"),EF=i((e,t)=>{if(t.pipeStrategy==="input")return _e(e.in._def,t);if(t.pipeStrategy==="output")return _e(e.out._def,t);const n=_e(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=_e(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(o=>o!==void 0)}},"parsePipelineDef");function xF(e,t){return _e(e.type._def,t)}i(xF,"parsePromiseDef");function kF(e,t){const r={type:"array",uniqueItems:!0,items:_e(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(kF,"parseSetDef");function IF(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>_e(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:_e(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>_e(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}i(IF,"parseTupleDef");function AF(){return{not:Dt()}}i(AF,"parseUndefinedDef");function $F(){return Dt()}i($F,"parseUnknownDef");var TF=i((e,t)=>_e(e.innerType._def,t),"parseReadonlyDef"),SF=i((e,t,n)=>{switch(t){case P.ZodString:return Af(e,n);case P.ZodNumber:return _F(e);case P.ZodObject:return bF(e,n);case P.ZodBigInt:return tF(e);case P.ZodBoolean:return nF();case P.ZodDate:return If(e,n);case P.ZodUndefined:return AF();case P.ZodNull:return DF();case P.ZodArray:return eF(e,n);case P.ZodUnion:case P.ZodDiscriminatedUnion:return gF(e,n);case P.ZodIntersection:return lF(e,n);case P.ZodTuple:return IF(e,n);case P.ZodRecord:return Tf(e,n);case P.ZodLiteral:return cF(e);case P.ZodEnum:return iF(e);case P.ZodNativeEnum:return mF(e);case P.ZodNullable:return yF(e,n);case P.ZodOptional:return FF(e,n);case P.ZodMap:return fF(e,n);case P.ZodSet:return kF(e,n);case P.ZodLazy:return()=>e.getter()._def;case P.ZodPromise:return xF(e,n);case P.ZodNaN:case P.ZodNever:return hF();case P.ZodEffects:return sF(e,n);case P.ZodAny:return Dt();case P.ZodUnknown:return $F();case P.ZodDefault:return aF(e,n);case P.ZodBranded:return kf(e,n);case P.ZodReadonly:return TF(e,n);case P.ZodCatch:return rF(e,n);case P.ZodPipeline:return EF(e,n);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return(r=>{})()}},"selectParser"),BF=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 _e(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!==X2)return l}if(o&&!n){const l=OF(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=SF(e,e.typeName,t),u=typeof a=="function"?_e(a(),t):a;if(u&&RF(e,t,u),t.postProcess){const l=t.postProcess(u,e,t);return s.jsonSchema=u,l}return s.jsonSchema=u,u}i(_e,"parseDef");var OF=i((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:BF(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`),Dt()):t.$refStrategy==="seen"?Dt():void 0}},"get$ref"),RF=i((e,t,n)=>(e.description&&(n.description=e.description),n),"addMeta"),NF=i(e=>{const t=Q2(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"),PF=i((e,t)=>{var n;const r=NF(t);let o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[d,f])=>{var m;return{...c,[d]:(m=_e(f._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?m:Dt()}},{}):void 0;const s=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,a=(n=_e(e._def,s===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1))!=null?n:Dt(),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"),Zi=Symbol.for("vercel.ai.schema");function Y(e){let t;return()=>(t==null&&(t=e()),t)}i(Y,"lazySchema");function Ga(e,{validate:t}={}){return{[Zi]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}i(Ga,"jsonSchema");function MF(e){return typeof e=="object"&&e!==null&&Zi in e&&e[Zi]===!0&&"jsonSchema"in e&&"validate"in e}i(MF,"isSchema");function Hn(e){return e==null?Ga({properties:{},additionalProperties:!1}):MF(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?K(e):jF(e):e()}i(Hn,"asSchema");function jF(e){return Ga(()=>zi(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 Dn({value:t,cause:n.issues})}},"validate")})}i(jF,"standardSchema");function zF(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ga(()=>PF(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(zF,"zod3Schema");function LF(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ga(()=>zi(QC(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:i(async o=>{const s=await Hp(e,o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}},"validate")})}i(LF,"zod4Schema");function qF(e){return"_zod"in e}i(qF,"isZod4Schema");function K(e,t){return qF(e)?LF(e):zF(e)}i(K,"zodSchema");async function rt({value:e,schema:t,context:n}){const r=await kt({value:e,schema:t,context:n});if(!r.success)throw Dn.wrap({value:e,cause:r.error,context:n});return r.value}i(rt,"validateTypes");async function kt({value:e,schema:t,context:n}){const r=Hn(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:Dn.wrap({value:e,cause:o.error,context:n}),rawValue:e}}catch(o){return{success:!1,error:Dn.wrap({value:e,cause:o,context:n}),rawValue:e}}}i(kt,"safeValidateTypes");async function UF({text:e,schema:t}){try{const n=ji(e);return t==null?n:rt({value:n,schema:t})}catch(n){throw ma.isInstance(n)||Dn.isInstance(n)?n:new ma({text:e,cause:n})}}i(UF,"parseJSON");async function It({text:e,schema:t}){try{const n=ji(e);return t==null?{success:!0,value:n,rawValue:n}:await kt({value:n,schema:t})}catch(n){return{success:!1,error:ma.isInstance(n)?n:new ma({text:e,cause:n}),rawValue:void 0}}}i(It,"safeParseJSON");function Wa(e){try{return ji(e),!0}catch{return!1}}i(Wa,"isParsableJson");function Sf({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Ri).pipeThrough(new TransformStream({async transform({data:n},r){n!=="[DONE]"&&r.enqueue(await It({text:n,schema:t}))}}))}i(Sf,"parseJsonEventStream");async function tt({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;const r=await kt({value:t[e],schema:n});if(!r.success)throw new jd({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}i(tt,"parseProviderOptions");var ZF=i(()=>globalThis.fetch,"getOriginalFetch2"),qe=i(async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>Bf({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postJsonToApi"),Vi=i(async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>Bf({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postFormDataToApi"),Bf=i(async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:o,abortSignal:s,fetch:a=ZF()})=>{try{const u=await a(e,{method:"POST",headers:Cn(t,`ai-sdk/provider-utils/${wf}`,Mi()),body:n.content,signal:s}),l=Vn(u);if(!u.ok){let c;try{c=await o({response:u,url:e,requestBodyValues:n.values})}catch(d){throw Wn(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&&(Wn(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 Cf({error:u,url:e,requestBodyValues:n.values})}},"postToApi");function q8(e){return e}i(q8,"tool");function At({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(At,"createProviderToolFactoryWithOutputSchema");async function ct(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}i(ct,"resolve");var gt=i(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:o,requestBodyValues:s})=>{const a=await r.text(),u=Vn(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 UF({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"),Jn=i(e=>async({response:t})=>{const n=Vn(t);if(t.body==null)throw new K0({});return{responseHeaders:n,value:Sf({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),Ke=i(e=>async({response:t,url:n,requestBodyValues:r})=>{const o=await t.text(),s=await It({text:o,schema:e}),a=Vn(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"),VF=i(()=>async({response:e,url:t,requestBodyValues:n})=>{const r=Vn(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 Gi(e){return e?.replace(/\/$/,"")}i(Gi,"withoutTrailingSlash");function GF(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}i(GF,"isAsyncIterable");async function*WF({execute:e,input:t,options:n}){const r=e(t,n);if(GF(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(WF,"executeTool");var Wi,Of;function Rf(){if(Of)return Wi;Of=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var m in f)e(d,m,{get:f[m],enumerable:!0})},"__export"),s=i((d,f,m,D)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==m&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(D=t(f,h))||D.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")}),Wi=a(u);const l=Symbol.for("@vercel/request-context");function c(){return globalThis[l]?.get?.()??{}}return i(c,"getContext"),Wi}i(Rf,"requireGetContext");var Hi,Nf;function Pf(){if(Nf)return Hi;Nf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var m in f)e(d,m,{get:f[m],enumerable:!0})},"__export"),s=i((d,f,m,D)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==m&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(D=t(f,h))||D.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{VercelOidcTokenError:i(()=>l,"VercelOidcTokenError")}),Hi=a(u);const c=class c extends Error{constructor(f,m){super(f),this.name="VercelOidcTokenError",this.cause=m}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};i(c,"VercelOidcTokenError");let l=c;return Hi}i(Pf,"requireTokenError");var Ji,Mf;function HF(){if(Mf)return Ji;Mf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((m,D)=>{for(var h in D)e(m,h,{get:D[h],enumerable:!0})},"__export"),s=i((m,D,h,v)=>{if(D&&typeof D=="object"||typeof D=="function")for(let y of n(D))!r.call(m,y)&&y!==h&&e(m,y,{get:i(()=>D[y],"get"),enumerable:!(v=t(D,y))||v.enumerable});return m},"__copyProps"),a=i(m=>s(e({},"__esModule",{value:!0}),m),"__toCommonJS"),u={};o(u,{getVercelOidcToken:i(()=>d,"getVercelOidcToken"),getVercelOidcTokenSync:i(()=>f,"getVercelOidcTokenSync")}),Ji=a(u);var l=Rf(),c=Pf();async function d(){let m="",D;try{m=f()}catch(h){D=h}try{const[{getTokenPayload:h,isExpired:v},{refreshToken:y}]=await Promise.all([await import("./token-util-C6r3rt16.mjs").then(function(b){return b.t}),await import("./token-CkJSeVBK.mjs").then(function(b){return b.t})]);(!m||v(h(m)))&&(await y(),m=f())}catch(h){let v=D instanceof Error?D.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($f,"stringifyRegExpWithFlags");function Tf(e,t){var n,r,o,s,a,u;const l={type:"object",additionalProperties:(n=_e(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}=Af(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}=kf(e.keyType._def,t);return{...l,propertyNames:d}}}return l}i(Tf,"parseRecordDef");function fF(e,t){if(t.mapStrategy==="record")return Tf(e,t);const n=_e(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Dt(),r=_e(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Dt();return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}i(fF,"parseMapDef");function mF(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(mF,"parseNativeEnumDef");function hF(){return{not:Dt()}}i(hF,"parseNeverDef");function DF(){return{type:"null"}}i(DF,"parseNullDef");var Ui={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function gF(e,t){const n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Ui&&(!r._def.checks||!r._def.checks.length))){const r=n.reduce((o,s)=>{const a=Ui[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 vF(e,t)}i(gF,"parseUnionDef");var vF=i((e,t)=>{const n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>_e(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 yF(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Ui[e.innerType._def.typeName],"null"]};const n=_e(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}i(yF,"parseNullableDef");function _F(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(_F,"parseNumberDef");function bF(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=wF(u),c=_e(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=CF(e,t);return s!==void 0&&(n.additionalProperties=s),n}i(bF,"parseObjectDef");function CF(e,t){if(e.catchall._def.typeName!=="ZodNever")return _e(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(CF,"decideAdditionalProperties");function wF(e){try{return e.isOptional()}catch{return!0}}i(wF,"safeIsOptional");var FF=i((e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return _e(e.innerType._def,t);const r=_e(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Dt()},r]}:Dt()},"parseOptionalDef"),EF=i((e,t)=>{if(t.pipeStrategy==="input")return _e(e.in._def,t);if(t.pipeStrategy==="output")return _e(e.out._def,t);const n=_e(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=_e(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(o=>o!==void 0)}},"parsePipelineDef");function xF(e,t){return _e(e.type._def,t)}i(xF,"parsePromiseDef");function kF(e,t){const r={type:"array",uniqueItems:!0,items:_e(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(kF,"parseSetDef");function IF(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>_e(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:_e(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>_e(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}i(IF,"parseTupleDef");function AF(){return{not:Dt()}}i(AF,"parseUndefinedDef");function $F(){return Dt()}i($F,"parseUnknownDef");var TF=i((e,t)=>_e(e.innerType._def,t),"parseReadonlyDef"),SF=i((e,t,n)=>{switch(t){case P.ZodString:return Af(e,n);case P.ZodNumber:return _F(e);case P.ZodObject:return bF(e,n);case P.ZodBigInt:return tF(e);case P.ZodBoolean:return nF();case P.ZodDate:return If(e,n);case P.ZodUndefined:return AF();case P.ZodNull:return DF();case P.ZodArray:return eF(e,n);case P.ZodUnion:case P.ZodDiscriminatedUnion:return gF(e,n);case P.ZodIntersection:return lF(e,n);case P.ZodTuple:return IF(e,n);case P.ZodRecord:return Tf(e,n);case P.ZodLiteral:return cF(e);case P.ZodEnum:return iF(e);case P.ZodNativeEnum:return mF(e);case P.ZodNullable:return yF(e,n);case P.ZodOptional:return FF(e,n);case P.ZodMap:return fF(e,n);case P.ZodSet:return kF(e,n);case P.ZodLazy:return()=>e.getter()._def;case P.ZodPromise:return xF(e,n);case P.ZodNaN:case P.ZodNever:return hF();case P.ZodEffects:return sF(e,n);case P.ZodAny:return Dt();case P.ZodUnknown:return $F();case P.ZodDefault:return aF(e,n);case P.ZodBranded:return kf(e,n);case P.ZodReadonly:return TF(e,n);case P.ZodCatch:return rF(e,n);case P.ZodPipeline:return EF(e,n);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return(r=>{})()}},"selectParser"),BF=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 _e(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!==X2)return l}if(o&&!n){const l=OF(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=SF(e,e.typeName,t),u=typeof a=="function"?_e(a(),t):a;if(u&&RF(e,t,u),t.postProcess){const l=t.postProcess(u,e,t);return s.jsonSchema=u,l}return s.jsonSchema=u,u}i(_e,"parseDef");var OF=i((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:BF(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`),Dt()):t.$refStrategy==="seen"?Dt():void 0}},"get$ref"),RF=i((e,t,n)=>(e.description&&(n.description=e.description),n),"addMeta"),NF=i(e=>{const t=Q2(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"),PF=i((e,t)=>{var n;const r=NF(t);let o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[d,f])=>{var m;return{...c,[d]:(m=_e(f._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?m:Dt()}},{}):void 0;const s=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,a=(n=_e(e._def,s===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1))!=null?n:Dt(),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"),Zi=Symbol.for("vercel.ai.schema");function Y(e){let t;return()=>(t==null&&(t=e()),t)}i(Y,"lazySchema");function Ga(e,{validate:t}={}){return{[Zi]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}i(Ga,"jsonSchema");function MF(e){return typeof e=="object"&&e!==null&&Zi in e&&e[Zi]===!0&&"jsonSchema"in e&&"validate"in e}i(MF,"isSchema");function Hn(e){return e==null?Ga({properties:{},additionalProperties:!1}):MF(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?K(e):jF(e):e()}i(Hn,"asSchema");function jF(e){return Ga(()=>zi(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 Dn({value:t,cause:n.issues})}},"validate")})}i(jF,"standardSchema");function zF(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ga(()=>PF(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(zF,"zod3Schema");function LF(e,t){var n;const r=(n=void 0)!=null?n:!1;return Ga(()=>zi(QC(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:i(async o=>{const s=await Hp(e,o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}},"validate")})}i(LF,"zod4Schema");function qF(e){return"_zod"in e}i(qF,"isZod4Schema");function K(e,t){return qF(e)?LF(e):zF(e)}i(K,"zodSchema");async function rt({value:e,schema:t,context:n}){const r=await kt({value:e,schema:t,context:n});if(!r.success)throw Dn.wrap({value:e,cause:r.error,context:n});return r.value}i(rt,"validateTypes");async function kt({value:e,schema:t,context:n}){const r=Hn(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:Dn.wrap({value:e,cause:o.error,context:n}),rawValue:e}}catch(o){return{success:!1,error:Dn.wrap({value:e,cause:o,context:n}),rawValue:e}}}i(kt,"safeValidateTypes");async function UF({text:e,schema:t}){try{const n=ji(e);return t==null?n:rt({value:n,schema:t})}catch(n){throw ma.isInstance(n)||Dn.isInstance(n)?n:new ma({text:e,cause:n})}}i(UF,"parseJSON");async function It({text:e,schema:t}){try{const n=ji(e);return t==null?{success:!0,value:n,rawValue:n}:await kt({value:n,schema:t})}catch(n){return{success:!1,error:ma.isInstance(n)?n:new ma({text:e,cause:n}),rawValue:void 0}}}i(It,"safeParseJSON");function Wa(e){try{return ji(e),!0}catch{return!1}}i(Wa,"isParsableJson");function Sf({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Ri).pipeThrough(new TransformStream({async transform({data:n},r){n!=="[DONE]"&&r.enqueue(await It({text:n,schema:t}))}}))}i(Sf,"parseJsonEventStream");async function tt({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;const r=await kt({value:t[e],schema:n});if(!r.success)throw new jd({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}i(tt,"parseProviderOptions");var ZF=i(()=>globalThis.fetch,"getOriginalFetch2"),qe=i(async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>Bf({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postJsonToApi"),Vi=i(async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a})=>Bf({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:s,fetch:a}),"postFormDataToApi"),Bf=i(async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:o,abortSignal:s,fetch:a=ZF()})=>{try{const u=await a(e,{method:"POST",headers:Cn(t,`ai-sdk/provider-utils/${wf}`,Mi()),body:n.content,signal:s}),l=Vn(u);if(!u.ok){let c;try{c=await o({response:u,url:e,requestBodyValues:n.values})}catch(d){throw Wn(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&&(Wn(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 Cf({error:u,url:e,requestBodyValues:n.values})}},"postToApi");function q8(e){return e}i(q8,"tool");function At({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(At,"createProviderToolFactoryWithOutputSchema");async function ct(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}i(ct,"resolve");var gt=i(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:o,requestBodyValues:s})=>{const a=await r.text(),u=Vn(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 UF({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"),Jn=i(e=>async({response:t})=>{const n=Vn(t);if(t.body==null)throw new K0({});return{responseHeaders:n,value:Sf({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),Ke=i(e=>async({response:t,url:n,requestBodyValues:r})=>{const o=await t.text(),s=await It({text:o,schema:e}),a=Vn(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"),VF=i(()=>async({response:e,url:t,requestBodyValues:n})=>{const r=Vn(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 Gi(e){return e?.replace(/\/$/,"")}i(Gi,"withoutTrailingSlash");function GF(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}i(GF,"isAsyncIterable");async function*WF({execute:e,input:t,options:n}){const r=e(t,n);if(GF(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(WF,"executeTool");var Wi,Of;function Rf(){if(Of)return Wi;Of=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var m in f)e(d,m,{get:f[m],enumerable:!0})},"__export"),s=i((d,f,m,D)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==m&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(D=t(f,h))||D.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")}),Wi=a(u);const l=Symbol.for("@vercel/request-context");function c(){return globalThis[l]?.get?.()??{}}return i(c,"getContext"),Wi}i(Rf,"requireGetContext");var Hi,Nf;function Pf(){if(Nf)return Hi;Nf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var m in f)e(d,m,{get:f[m],enumerable:!0})},"__export"),s=i((d,f,m,D)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==m&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(D=t(f,h))||D.enumerable});return d},"__copyProps"),a=i(d=>s(e({},"__esModule",{value:!0}),d),"__toCommonJS"),u={};o(u,{VercelOidcTokenError:i(()=>l,"VercelOidcTokenError")}),Hi=a(u);const c=class c extends Error{constructor(f,m){super(f),this.name="VercelOidcTokenError",this.cause=m}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};i(c,"VercelOidcTokenError");let l=c;return Hi}i(Pf,"requireTokenError");var Ji,Mf;function HF(){if(Mf)return Ji;Mf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((m,D)=>{for(var h in D)e(m,h,{get:D[h],enumerable:!0})},"__export"),s=i((m,D,h,v)=>{if(D&&typeof D=="object"||typeof D=="function")for(let y of n(D))!r.call(m,y)&&y!==h&&e(m,y,{get:i(()=>D[y],"get"),enumerable:!(v=t(D,y))||v.enumerable});return m},"__copyProps"),a=i(m=>s(e({},"__esModule",{value:!0}),m),"__toCommonJS"),u={};o(u,{getVercelOidcToken:i(()=>d,"getVercelOidcToken"),getVercelOidcTokenSync:i(()=>f,"getVercelOidcTokenSync")}),Ji=a(u);var l=Rf(),c=Pf();async function d(){let m="",D;try{m=f()}catch(h){D=h}try{const[{getTokenPayload:h,isExpired:v},{refreshToken:y}]=await Promise.all([await import("./token-util-0s5cUrFC.mjs").then(function(b){return b.t}),await import("./token-HWzZs3Y5.mjs").then(function(b){return b.t})]);(!m||v(h(m)))&&(await y(),m=f())}catch(h){let v=D instanceof Error?D.message:"";throw h instanceof Error&&(v=`${v}
123
123
  ${h.message}`),v?new c.VercelOidcTokenError(v):h}return m}i(d,"getVercelOidcToken");function f(){const m=(0,l.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!m)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 m}return i(f,"getVercelOidcTokenSync"),Ji}i(HF,"requireGetVercelOidcToken");var Ki,jf;function JF(){if(jf)return Ki;jf=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=i((d,f)=>{for(var m in f)e(d,m,{get:f[m],enumerable:!0})},"__export"),s=i((d,f,m,D)=>{if(f&&typeof f=="object"||typeof f=="function")for(let h of n(f))!r.call(d,h)&&h!==m&&e(d,h,{get:i(()=>f[h],"get"),enumerable:!(D=t(f,h))||D.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")}),Ki=a(u);var l=HF(),c=Rf();return Ki}i(JF,"requireDist");var zf=JF(),KF="vercel.ai.gateway.error",Yi=Symbol.for(KF),Lf,qf,ot=(An=class extends(qf=Error,Lf=Yi,qf){constructor({message:t,statusCode:n=500,cause:r,generationId:o}){super(o?`${t} [${o}]`:t),this[Lf]=!0,this.statusCode=n,this.cause=r,this.generationId=o}static isInstance(t){return An.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Yi in t&&t[Yi]===!0}},i(An,"_GatewayError"),An),Uf="GatewayAuthenticationError",YF=`vercel.ai.gateway.error.${Uf}`,Zf=Symbol.for(YF),Vf,Gf,Xi=($n=class extends(Gf=ot,Vf=Zf,Gf){constructor({message:t="Authentication failed",statusCode:n=401,cause:r,generationId:o}={}){super({message:t,statusCode:n,cause:r,generationId:o}),this[Vf]=!0,this.name=Uf,this.type="authentication_error"}static isInstance(t){return ot.hasMarker(t)&&Zf 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
@@ -194,7 +194,7 @@ Do not add thanks, explanations, or any text outside the commit message.`,prompt
194
194
  \x1B[1m${u}\x1B[0m
195
195
  `);const l=await r({message:"Use this commit message?"});return l&&!o(l)?u:null}if(t)return e[0];if(!Mo())throw new le("Interactive terminal required for commit message selection. Use --yes flag to skip selection and use the first message.");const a=await n({message:`Pick a commit message to use: ${s("(Ctrl+c to exit)")}`,options:e.map(u=>({label:u,value:u}))});return o(a)?null:a},"getCommitMessage");var Kk=i(async(e,t,n,r,o,s,a,u,l)=>(async()=>{const c=ts();c||da(aa(na(" aicommits "))),await si(),n&&await He("git",["add","--update"]);const d=await md(t);if(!d)throw new le("No staged changes found. Stage your changes manually, or automatically stage all changes with the `--all` flag.");if(!c){const I=Ot();d.files.length<=10?(I.start("Detecting staged files"),I.stop(`\u{1F4C1} ${hd(d.files)}:
196
196
  ${d.files.map(ne=>` ${ne}`).join(`
197
- `)}`)):(I.start("Detecting staged files"),I.stop(`\u{1F4C1} ${hd(d.files)}`))}const{env:f}=process,m=await hn({generate:e?.toString(),type:r?.toString()}),D=jn(m);if(!D){if(c)throw new le("No configuration found. Run `aicommits setup` in an interactive terminal, or set environment variables (OPENAI_API_KEY, etc.)");console.log("Welcome to aicommits! Let's set up your AI provider."),console.log("Run `aicommits setup` to configure your provider."),be("Setup required. Please run: aicommits setup");return}const h=m.timeout||(D.name==="ollama"?3e4:1e4),v=D.validateConfig();if(!v.valid)throw new le(`Provider configuration issues: ${v.errors.join(", ")}. Run \`aicommits setup\` to reconfigure.`);m.model=m.OPENAI_MODEL||D.getDefaultModel();const y=50,b=10;let C=!1;d.files.length>y&&(C=!0);const w=c?null:Ot();w&&w.start(`\u{1F50D} Analyzing changes in ${d.files.length} file${d.files.length===1?"":"s"}`);const E=Date.now();let T,O;try{const I=D.getBaseUrl(),ne=D.getApiKey()||"",k=D.getHeaders(),ae=3e4;let B=d.diff;if(B.length>ae&&(B=B.substring(0,ae)+`
197
+ `)}`)):(I.start("Detecting staged files"),I.stop(`\u{1F4C1} ${hd(d.files)}`))}const{env:f}=process,m=await hn({generate:e?.toString(),type:r?.toString()}),D=jn(m);if(!D){if(c)throw new le("No configuration found. Run `aicommits setup` in an interactive terminal, or set environment variables (OPENAI_API_KEY, etc.)");console.log("Welcome to aicommits! Let's set up your AI provider."),console.log("Run `aicommits setup` to configure your provider."),be("Setup required. Please run: aicommits setup");return}const h=m.timeout||(D.name==="ollama"?3e4:15e3),v=D.validateConfig();if(!v.valid)throw new le(`Provider configuration issues: ${v.errors.join(", ")}. Run \`aicommits setup\` to reconfigure.`);m.model=m.OPENAI_MODEL||D.getDefaultModel();const y=50,b=10;let C=!1;d.files.length>y&&(C=!0);const w=c?null:Ot();w&&w.start(`\u{1F50D} Analyzing changes in ${d.files.length} file${d.files.length===1?"":"s"}`);const E=Date.now();let T,O;try{const I=D.getBaseUrl(),ne=D.getApiKey()||"",k=D.getHeaders(),ae=3e4;let B=d.diff;if(B.length>ae&&(B=B.substring(0,ae)+`
198
198
 
199
199
  [Diff truncated due to size]`),m.type==="subject+body"){const M=await ns({baseUrl:I,apiKey:ne,model:m.model,locale:m.locale,diff:B,completions:1,maxLength:m["max-length"],type:"subject+body",timeout:h,customPrompt:u,headers:k}),z=M.messages[0],{description:L}=await Wk({baseUrl:I,apiKey:ne,model:m.model,locale:m.locale,title:z,diff:B,timeout:h,maxLength:m["max-length"],customPrompt:u,headers:k});T=[L.trim()?`${z}
200
200
 
@@ -204,7 +204,7 @@ ${L.trim()}`:z],O=M.usage}else if(C){const M=[];for(let J=0;J<d.files.length;J+=
204
204
 
205
205
  `)?["-m",A.split(/\n\n/)[0],"-m",A.slice(A.indexOf(`
206
206
 
207
- `)+2)]:["-m",A];a&&I.push("--no-verify"),await He("git",["commit",...I,...l],{stdio:"inherit",cleanup:!0,timeout:1e4}),be(`${it("\u2714")} Successfully committed!`)}catch(I){if(I.timedOut){const ne=await Vc(A);be(ne?`${ra("\u26A0")} Commit timed out after 10 seconds. Message copied to clipboard.`:`${ra("\u26A0")} Commit timed out after 10 seconds. Could not copy to clipboard.`);return}throw I.exitCode!==void 0&&(be(`${Wt("\u2718")} Commit failed. This may be due to pre-commit hooks.`),console.error(` ${io("Use")} --no-verify ${io("to bypass pre-commit hooks")}`),process.exit(1)),I}})().catch(mn),"aicommits");const[rs,Yk]=process.argv.slice(2);var Xk=i(()=>(async()=>{if(!rs)throw new le('Commit message file path is missing. This file should be called from the "prepare-commit-msg" git hook');if(Yk)return;const e=await md();if(!e)return;const t=ts();t||da(aa(na(" aicommits ")));const n=await hn({}),r=jn(n);if(!r)throw new le("Invalid provider configuration. Run `aicommits setup` to reconfigure.");const o=r.validateConfig();if(!o.valid)throw new le(`Provider configuration issues: ${o.errors.join(", ")}. Run \`aicommits setup\` to reconfigure.`);const s=r.getBaseUrl(),a=r.getApiKey()||"",u=r.getHeaders(),l=n.timeout||(r.name==="ollama"?3e4:1e4);let c=n.OPENAI_MODEL||r.getDefaultModel();const d=t?null:Ot();d?.start("The AI is analyzing your changes");let f;try{f=(await ns({baseUrl:s,apiKey:a,model:c,locale:n.locale,diff:e.diff,completions:n.generate,maxLength:n["max-length"],type:n.type,timeout:l,headers:u})).messages}finally{d?.stop("Changes analyzed")}const D=await Je.readFile(rs,"utf8")!=="",h=f.length>1;let v="";D&&(v=`# \u{1F916} AI generated commit${h?"s":""}
207
+ `)+2)]:["-m",A];a&&I.push("--no-verify"),await He("git",["commit",...I,...l],{stdio:"inherit",cleanup:!0,timeout:1e4}),be(`${it("\u2714")} Successfully committed!`)}catch(I){if(I.timedOut){const ne=await Vc(A);be(ne?`${ra("\u26A0")} Commit timed out after 10 seconds. Message copied to clipboard.`:`${ra("\u26A0")} Commit timed out after 10 seconds. Could not copy to clipboard.`);return}throw I.exitCode!==void 0&&(be(`${Wt("\u2718")} Commit failed. This may be due to pre-commit hooks.`),console.error(` ${io("Use")} --no-verify ${io("to bypass pre-commit hooks")}`),process.exit(1)),I}})().catch(mn),"aicommits");const[rs,Yk]=process.argv.slice(2);var Xk=i(()=>(async()=>{if(!rs)throw new le('Commit message file path is missing. This file should be called from the "prepare-commit-msg" git hook');if(Yk)return;const e=await md();if(!e)return;const t=ts();t||da(aa(na(" aicommits ")));const n=await hn({}),r=jn(n);if(!r)throw new le("Invalid provider configuration. Run `aicommits setup` to reconfigure.");const o=r.validateConfig();if(!o.valid)throw new le(`Provider configuration issues: ${o.errors.join(", ")}. Run \`aicommits setup\` to reconfigure.`);const s=r.getBaseUrl(),a=r.getApiKey()||"",u=r.getHeaders(),l=n.timeout||(r.name==="ollama"?3e4:15e3);let c=n.OPENAI_MODEL||r.getDefaultModel();const d=t?null:Ot();d?.start("The AI is analyzing your changes");let f;try{f=(await ns({baseUrl:s,apiKey:a,model:c,locale:n.locale,diff:e.diff,completions:n.generate,maxLength:n["max-length"],type:n.type,timeout:l,headers:u})).messages}finally{d?.stop("Changes analyzed")}const D=await Je.readFile(rs,"utf8")!=="",h=f.length>1;let v="";D&&(v=`# \u{1F916} AI generated commit${h?"s":""}
208
208
  `),h?(D&&(v+=`# Select one of the following messages by uncommenting:
209
209
  `),v+=`
210
210
  ${f.map(C=>`# ${C}`).join(`
package/dist/cli.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./cli-fXLbQukQ.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-ekP4p-Xo.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-fXLbQukQ.mjs";import{r as b}from"./token-util-JRYE6X6v.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-ekP4p-Xo.mjs";import{r as b}from"./token-util-BlwkXhXh.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-fXLbQukQ.mjs";import{r as c}from"./token-util-JRYE6X6v.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-ekP4p-Xo.mjs";import{r as c}from"./token-util-BlwkXhXh.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-fXLbQukQ.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-ekP4p-Xo.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": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "Writes your git commit messages for you with AI",
5
5
  "keywords": [
6
6
  "ai",