@rafaeelricco/commit-tools 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -488,7 +488,7 @@ ${R}
488
488
  From calling: `+JQ.default(B)+`
489
489
  With: `+JQ.default(Q))}var H_=qQ(3,"hook",function(B,Q,C){var g=this,u=this.$1,M=this.$2,R=this.$3,N,$=KB,f,v,L=KB;function S(){L(v)}function T(CA){B(EC(CA,g))}function O(){var CA;try{CA=M(f)}catch(YA){return T(YA)}if(!RE(CA))return T(u_(CA,M,f));N=a,CA._interpret(T,FA,S)}function k(){$(),O(),a()}function a(){L=KB}function FA(CA){T(Error("The disposal Future rejected with "+JQ.default(CA)))}function EA(CA){L=T,v=CA,O()}function LA(CA){L=Q,v=CA,O()}function KA(CA){L=C,v=CA,O()}function UA(CA){f=CA;var YA;try{YA=R(f)}catch(DD){return EA(DD)}if(!RE(YA))return EA(G_(YA,R,f));N=k,$=YA._interpret(EA,LA,KA)}var BA=u._interpret(T,Q,UA);return N=N||BA,function(){B=iu,N()}});function q7(A){var B=YB(q7,UI,arguments);return function Q(C){var g=lB(2,Q,xI,arguments,B);return function u(M){var R=lB(3,u,xI,arguments,g);return new H_(R,A,C,M)}}}var U_=yQ(1,"lastly",{rejected:function(B){return this.$1._transform(new s5(this.context,new jF(this.context,B)))},resolved:function(B){return this.$1._transform(new s5(this.context,new oC(this.context,B)))}});function $7(A){var B=YB($7,UI,arguments);return function Q(C){var g=lB(2,Q,UI,arguments,B);return C._transform(new U_(g,A))}}var J_=yQ(1,"mapRej",{rejected:function(B){return new jF(this.context,dE(this.$1,B))}});function O7(A){var B=YB(O7,xI,arguments);return function Q(C){var g=lB(2,Q,UI,arguments,B);return C._transform(new J_(g,A))}}var M_={pred:U9,error:vE("have Functor implemented")};function T7(A){var B=YB(T7,xI,arguments);return function Q(C){var g=lB(2,Q,M_,arguments,B);return RE(C)?C._transform(new E1(g,A)):C[oI.map](A)}}var WDA=qQ(1,"node",function(B,Q,C){function g(R,N){if(M=R?function(){u=!1,Q(R)}:function(){u=!1,C(N)},u)M()}var u=!1,M=function(){u=!0};try{dE(this.$1,g)}catch(R){return B(EC(R,this)),u=!1,KB}return M(),function(){u=!1}});var Fz=su("pap",ru,ou,KB,{resolved:function(B){if(fF(B))return this.$1._transform(new E1(this.context,B));throw b0(`pap expects the second Future to resolve to a Function
490
490
  Actual: `+JQ.default(B))}});function K_(A){if(!aW(A))return!1;for(var B=0;B<A.length;B++)if(!RE(A[B]))return!1;return!0}var R_={pred:K_,error:vE("be an Array of valid Futures")},Y_=qQ(2,"parallel",function(B,Q,C){var g=this,u=this.$2,M=u.length,R=Math.min(this.$1,M),N=Array(M),$=Array(M),f=0,v=0,L=!1,S=KB;function T(){B=KB,Q=KB,C=KB,f=M;for(var a=0;a<M;a++)N[a]&&N[a]()}function O(a){v++,N[a]=u[a]._interpret(function(EA){S=B,N[a]=KB,T(),S(EC(EA,g))},function(EA){S=Q,N[a]=KB,T(),S(EA)},function(EA){if(N[a]=KB,$[a]=EA,v--,f===M&&v===0)C($);else if(L)k()})}function k(){L=!1;while(f<M&&v<R)O(f++);L=!0}return k(),T}),N_=Yg([]);function S7(A){var B=YB(S7,M7,arguments);return function Q(C){var g=lB(2,Q,R_,arguments,B);return C.length===0?N_:new Y_(g,A,C)}}var wz=eD(u7(),1);var BY=su("race",ru,ou,Cz,{});function f7(A){var B=YB(f7,UI,arguments);return function Q(C){var g=lB(2,Q,UI,arguments,B);return C._transform(new BY(g,A))}}function C1(A){this.sequential=A}C1.prototype=Object.create(tC.prototype);function tC(A){if(!RE(A))throw U7(tC.name,0,A);return new C1(A)}var IY=B1+"/ConcurrentFuture@"+du,Z_=new C1(au);tC["@@type"]=IY;tC.constructor={prototype:tC};tC[oI.of]=function(B){return new C1(Yg(B))};tC[oI.zero]=function(){return Z_};tC.prototype["@@type"]=IY;tC.prototype["@@show"]=function(){return this.toString()};tC.prototype.toString=function(){return"Par ("+this.sequential.toString()+")"};tC.prototype[oI.map]=function A(B){var Q=SF(mI,"a Fantasy Land dispatch to map via ConcurrentFuture",A);return new C1(this.sequential._transform(new E1(Q,B)))};tC.prototype[oI.ap]=function A(B){var Q=SF(mI,"a Fantasy Land dispatch to ap via ConcurrentFuture",A);return new C1(B.sequential._transform(new Fz(Q,this.sequential)))};tC.prototype[oI.alt]=function A(B){var Q=SF(mI,"a Fantasy Land dispatch to alt via ConcurrentFuture",A);return new C1(B.sequential._transform(new BY(Q,this.sequential)))};function uz(A){return A instanceof C1||wz.default(A)===IY}function K9(A){return YB(K9,UI,arguments),new Promise(function(Q,C){A._interpret(C,C,Q)})}var X_=qQ(2,"rejectAfter",function(B,Q){var C=setTimeout(Q,this.$1,this.$2);return function(){clearTimeout(C)}});X_.prototype.extractLeft=function(){return[this.$2]};var DBA={pred:uz,error:vE("be a ConcurrentFuture")};var QBA=yQ(0,"swap",{resolved:function(B){return new jF(this.context,B)},rejected:function(B){return new oC(this.context,B)}});function Gz(A){let B=A;while(B instanceof QY)B=B.fun();return B.value}var Hz=(A)=>new QY(A),j7=(A)=>new Uz(A);class Uz{value;constructor(A){this.value=A}run(){return Gz(this)}map(A){return j7(A(this.value))}}class QY{fun;constructor(A){this.fun=A}run(){return Gz(this)}map(A){let B=this.fun();return Hz(()=>B.map(A))}}function Jz(A){return(...B)=>Hz(()=>A(...B))}function Xw(A){function B(Q,C,g){return new Q(...g)}return new Proxy(A,{apply:B})}class k7{static new(A){return new k7(A)}value;constructor(A){this.value=A}toString(){return`Just(${this.value})`}isJust(){return!0}isNothing(){return!1}map(A){return new k7(A(this.value))}withDefault(A){return this.value}expect(A){return this.value}maybe(A,B){return B(this.value)}unwrap(A,B){return B(this.value)}chain(A){return A(this.value)}alt(A){return this}asNullable(){return this.value}}class R9{static new(){return new R9}constructor(){}toString(){return"Nothing()"}isJust(){return!1}isNothing(){return!0}map(A){return new R9}withDefault(A){return A}expect(A){throw Error(A)}maybe(A,B){return A}unwrap(A,B){return A()}chain(A){return new R9}alt(A){return A}asNullable(){return null}}var Ng=Xw(k7),WC=Xw(R9);class sI{value;static empty(){return new sI({empty:null})}static cons(A,B){return new sI({head:A,tail:B})}static singleton(A){return sI.cons(A,sI.empty())}static concat(A,B){let Q=B;for(let C of A.reverse())Q=sI.cons(C,Q);return Q}static from(A){let B=sI.empty();for(let Q=A.length-1;Q>=0;Q--)B=sI.cons(A[Q],B);return B}constructor(A){this.value=A}isEmpty(){switch(!0){case"empty"in this.value:return!0;case"head"in this.value:return!1;default:return this.value}}head(){switch(!0){case"empty"in this.value:return WC();case"head"in this.value:return Ng(this.value.head);default:return this.value}}tail(){switch(!0){case"empty"in this.value:return sI.empty();case"head"in this.value:return this.value.tail;default:return this.value}}length(){let A=0;for(let B of this)A++;return A}map(A){let B=sI.empty();for(let Q of this.reverse())B=sI.cons(A(Q),B);return B}reduce(A,B){let Q=A;for(let C of this)Q=B(Q,C);return Q}find(A){for(let B of this)if(A(B))return Ng(B);return WC()}contains(A){return this.find((B)=>B===A).isJust()}filter(A){let B=sI.empty();for(let Q of this.reverse())if(A(Q))B=sI.cons(Q,B);return B}reverse(){let A=sI.empty();for(let B of this)A=sI.cons(B,A);return A}append(A){return sI.concat(this,sI.singleton(A))}toArray(){let A=[];for(let B of this)A.push(B);return A}*[Symbol.iterator](){let A=this;while("head"in A.value)yield A.value.head,A=A.value.tail}}class Lw{value;static new(A){return new Lw(A)}constructor(A){this.value=A}isSuccess(){return!0}isFailure(){return!1}map(A){return new Lw(A(this.value))}mapFailure(A){return new Lw(this.value)}either(A,B){return B(this.value)}chain(A){return A(this.value)}unwrap(A){return this.value}withDefault(A){return this.value}}class g1{error;static new(A){return new g1(A)}constructor(A){this.error=A}isSuccess(){return!1}isFailure(){return!0}map(A){return new g1(this.error)}mapFailure(A){return new g1(A(this.error))}either(A,B){return A(this.error)}chain(A){return new g1(this.error)}unwrap(A){throw Error(A(this.error))}withDefault(A){return A(this.error)}}function Mz(A,B){let Q=Jz((C,g)=>{switch(!0){case"head"in g.value:{let{head:u,tail:M}=g.value,R=B(u);switch(!0){case R instanceof Lw:{let N=R.value;return Q(sI.cons(N,C),M)}case R instanceof g1:return j7(new g1(R.error));default:return R}}case"empty"in g.value:return j7(new Lw(C.reverse()));default:return g.value}});return Q(sI.empty(),A).run()}var CC=Xw(Lw),kF=Xw(g1);class ND{inner;static create(A){return new ND(YI((B,Q)=>{let C=A(B,Q);return C===void 0?()=>{}:C}))}static createUncancellable(A){return new ND(YI((B,Q)=>{return A(B,Q),()=>{}}))}static resolve(A){return new ND(Yg(A))}static reject(A){return new ND(nu(A))}static attemptP(A){return new ND(t5(A))}static bracket(A,B,Q){return new ND(q7(A.inner)((C)=>B(C).inner)((C)=>Q(C).inner))}static parallel(A,B){return new ND(S7(A)(B.map((Q)=>Q.inner)))}static concurrently(A){let B=[];return Object.keys(A).forEach((Q)=>{let C=A[Q];B.push(C.map((g)=>({[Q]:g})))}),ND.parallel(1/0,B).map((Q)=>Q.reduce((C,g)=>Object.assign(C,g),{}))}static mapConcurrently(A,B){return ND.parallel(1/0,B.map(A))}static both(A,B){return new ND(Y7(A.inner)(B.inner))}static race(A,B){return new ND(f7(A.inner)(B.inner))}static traverse(A,B){return B.reduce((Q,C)=>Q.chain((g)=>A(C).map((u)=>[...g,u])),ND.resolve([]))}static resolveAfter(A,B){return ND.create((Q,C)=>{let g=setTimeout(()=>C(B),A);return function(){clearTimeout(g)}})}constructor(A){this.inner=A}map(A){return new ND(T7(A)(this.inner))}mapRej(A){return new ND(O7(A)(this.inner))}bimap(A,B){return this.map(B).mapRej(A)}chain(A){return new ND(W7((Q)=>A(Q).inner)(this.inner))}chainRej(A){return new ND(L7((Q)=>A(Q).inner)(this.inner))}bichain(A,B){let Q=(g)=>A(g).inner,C=(g)=>B(g).inner;return new ND(R7(Q)(C)(this.inner))}finally(A){return new ND($7(A.inner)(this.inner))}fork(A,B){return z7(A)(B)(this.inner)}promise(A){return K9(this.mapRej(A).inner)}promiseR(){let A=this.map(CC).chainRej((B)=>ND.resolve(kF(B)));return K9(A.inner)}}class gC{run;constructor(A){this.run=A}chain(A){return new gC((B)=>this.run(B).chain((Q)=>A(Q).run(B)))}map(A){return new gC((B)=>this.run(B).map(A))}}function tu(A,B){return B.run(A).mapFailure(Kz)}function Kz([A,B]){return B+". When parsing: "+Array.from(A).join(".")}var vF=(A)=>kF([sI.empty(),A]),N9=(A)=>new gC((B)=>kF([sI.empty(),A])),W_=(A)=>new gC((B)=>CC(A)),F1=W_,hIA=new gC((A)=>CC(A));var _2=new gC((A)=>typeof A==="string"?CC(A):vF("expected string but found "+typeof A)),EY=new gC((A)=>typeof A==="number"?CC(A):vF("expected number but found "+typeof A)),PIA=_2.chain((A)=>{let B=parseInt(A,10);return isNaN(B)?N9("not a valid number: "+A):F1(B)}),CY=new gC((A)=>typeof A==="boolean"?CC(A):vF("expected boolean but found "+typeof A)),v7=(A)=>new gC((B)=>{if(!Array.isArray(B))return vF("expected array but found "+typeof B);return Mz(sI.from(B),A.run).map((Q)=>Array.from(Q))}),Ww=(A)=>new gC((B)=>{if(typeof B!=="object"||B===null)return vF("expected object but found "+typeof B);let Q=B,C={};for(let g in A){let u=A[g],M=u instanceof Y9?Q[g]===void 0?u.decoder.run({nothing:{}}):u.decoder.run({just:Q[g]}):u.run(Q[g]);switch(!0){case M instanceof CC:C[g]=M.value;break;case M instanceof kF:{let[R,N]=M.error;return kF([sI.cons(g,R),N])}default:return M}}return CC(C)}),z_=(A)=>new gC((B)=>{if(typeof B!=="object"||B===null)return vF("expected object but found "+typeof B);let Q=Object.create(null);for(let C in B){let g=A.run(B[C]);switch(!0){case g instanceof CC:Q[C]=g.value;break;case g instanceof kF:{let[u,M]=g.error;return kF([sI.cons(C,u),M])}default:return g}}return CC(Q)});var Z9=(A)=>new gC((B)=>{let Q=vF("no decoders"),C=[];for(let g of A){if(Q=g.run(B),Q instanceof CC)return Q;C.push(Q.error)}return kF([sI.empty(),C.map(Kz).join(`
491
- `)])}),Rz=(A)=>Z9([Ww({nothing:Ww({})}).map((B)=>WC()),Ww({just:A}).map((B)=>Ng(B.just))]);var V_=new gC((A)=>A===null?CC(null):vF("expected null but found "+typeof A)),yIA=new gC((A)=>A===void 0?CC(void 0):vF("expected `undefined` "+typeof A)),gY=(A)=>new gC((B)=>B===A?CC(B):vF(`expected '${A}' but found '${B}'`));class Y9{decoder;constructor(A){this.decoder=A}static from(A){return new Y9(Rz(A))}map(A){return new Y9(this.decoder.map(A))}}var Yz=(A)=>Y9.from(A);function q_(A){let B=N9("A recursive decoder cannot immediately call itself."),Q=A(B);return B.run=Q.run,Q}var Nz=q_((A)=>Z9([V_,_2,EY,CY,v7(A),z_(A)])),Zz=(A)=>Z9(A.map(gY));class b2{run;constructor(A){this.run=A}rmap(A){return new b2((B)=>this.run(A(B)))}}var FY=()=>new b2((A)=>A);var Xz=FY(),Lz=FY(),Wz=new b2((A)=>{if(!Number.isFinite(A))throw Error(`Cannot encode non-finite number: ${String(A)}`);return A}),P7=FY();var zz=(A)=>new b2((B)=>{let Q={};for(let C in A){let g=A[C];switch(!0){case g instanceof X9:{let M=g.encoder.run(B[C]);if(typeof M!="object"||M===null||!(("nothing"in M)||("just"in M)))throw Error(`Invalid output of EncoderOptional: ${M}`);if("just"in M)Q[C]=M.just;break}case g instanceof b2:let u=g.run(B[C]);Q[C]=u;break;default:}}return Q});var Vz=(A)=>new b2((B)=>B instanceof WC?{nothing:{}}:{just:A.run(B.value)});class X9{encoder;constructor(A){this.encoder=A}static from(A){return new X9(A)}rmap(A){return new X9(this.encoder.rmap(A))}}var qz=(A)=>X9.from(Vz(A));var $z=(A)=>new b2((B)=>{return A(B).run(B)}),Oz=(A)=>P7.rmap((B)=>{if(!A.includes(B))throw Error(`Cannot encode '${B}'. Expected one of '${A.join(", ")}'"`);return B});function Sz(A,B){let Q={},C=Object.keys(A);for(let g of C){let u=B(g,A[g]);if(u!==void 0)Q[g]=u}return Q}function fz(A,B){let Q={},C=Object.keys(A);for(let g of C)Q[g]=B(g,A[g]);return Q}class m0{decoder;encoder;constructor(A,B){this.decoder=A,this.encoder=B}dimap(A,B){return new m0(this.decoder.map(A),this.encoder.rmap(B))}chain(A,B){return new m0(this.decoder.chain(A),this.encoder.rmap(B))}}function jz(A,B){return tu(B,A.decoder)}function kz(A,B){return A.encoder.run(B)}var gQA=new m0(Nz,Xz),FQA=new m0(CY,Lz),vz=new m0(EY,Wz),w1=new m0(_2,P7);class wY{decoder;encoder;constructor(A,B){this.decoder=A;this.encoder=B}dimap(A,B){return new wY(this.decoder.map(A),this.encoder.rmap(B))}}var hz=(A)=>new wY(Yz(A.decoder),qz(A.encoder));function y7(A){let B={},Q={};for(let u in A){let M=A[u];B[u]=M.decoder,Q[u]=M.encoder}let C=Ww(B),g=zz(Q);return new m0(C,g)}var $_=(A)=>new m0(gY(A),P7.rmap((B)=>{if(B!=A)throw Error(`Cannot encode '${B}'. Expected literal '${A}'"`);return B})),Pz=(A)=>new m0(Zz(A),Oz(A));var uY=(A)=>{let B=Z9(A.map((C)=>C.schema.decoder)),Q=$z((C)=>{let g=A.find((u)=>O_(u.pattern,C));if(g==null)throw Error(`Invalid discriminant in union type: '${C}'`);return g.schema.encoder});return new m0(B,Q)},O_=(A,B)=>{if(typeof B!=="object"||B===null)return!1;for(let Q in A){if(!(Q in B))return!1;if(A[Q]!=null&&A[Q]!==B[Q])return!1}return!0};class yz{pattern;schema;constructor(A,B){this.pattern=A;this.schema=B}}var _7=(A)=>{let B=Sz(A,(g,u)=>typeof u=="string"?u:void 0);if(Object.keys(B).length==0)throw Error("Invalid variant definition. No discriminant identified. Discriminant must be provided as a string");let Q=fz(A,(g,u)=>typeof u=="string"?$_(u):u),C=y7(Q);return new yz(B,C)};import{resolve as mz}from"path";import{homedir as j_}from"os";import{mkdir as k_}from"fs/promises";var bz=["conventional","imperative","custom"];var T_=y7({access_token:w1,refresh_token:w1,expiry_date:vz,token_type:w1,scope:w1}),S_=uY([_7({type:"api_key",content:w1}),_7({type:"oauth",content:T_})]),f_=uY([_7({provider:"gemini",model:w1,auth_method:S_})]),b7=y7({ai:f_,commit_convention:Pz([...bz]),custom_template:hz(w1)});var xz=mz(j_(),".commit-tools"),L9=mz(xz,"config.json"),u1=()=>ND.attemptP(()=>Bun.file(L9).text()).mapRej((A)=>Error(`Failed to read config file: ${A}`)).map((A)=>JSON.parse(A)).chain((A)=>{return jz(b7,A).either((Q)=>ND.reject(Error(`Invalid config: ${Q}`)),(Q)=>ND.resolve(Q))}),W9=(A)=>ND.attemptP(async()=>{await k_(xz,{recursive:!0}),await Bun.write(L9,JSON.stringify(kz(b7,A),null,2))}),v_=(A)=>A.ai.provider==="gemini"&&A.ai.auth_method.type==="oauth"?Ng({model:A.ai.model}):WC(),m7=(A)=>u1().chain((B)=>v_(B).maybe(ND.reject(Error("Cannot update tokens: not using OAuth authentication")),({model:Q})=>W9({...B,ai:{provider:"gemini",model:Q,auth_method:{type:"oauth",content:A}}})));var a9=eD(cT(),1);var nd=Ww({GOOGLE_CLIENT_ID:_2,GOOGLE_CLIENT_SECRET:_2}),fw=tu({GOOGLE_CLIENT_ID:"",GOOGLE_CLIENT_SECRET:""},nd).either((A)=>{throw Error(`Unable to parse environment variables:
491
+ `)])}),Rz=(A)=>Z9([Ww({nothing:Ww({})}).map((B)=>WC()),Ww({just:A}).map((B)=>Ng(B.just))]);var V_=new gC((A)=>A===null?CC(null):vF("expected null but found "+typeof A)),yIA=new gC((A)=>A===void 0?CC(void 0):vF("expected `undefined` "+typeof A)),gY=(A)=>new gC((B)=>B===A?CC(B):vF(`expected '${A}' but found '${B}'`));class Y9{decoder;constructor(A){this.decoder=A}static from(A){return new Y9(Rz(A))}map(A){return new Y9(this.decoder.map(A))}}var Yz=(A)=>Y9.from(A);function q_(A){let B=N9("A recursive decoder cannot immediately call itself."),Q=A(B);return B.run=Q.run,Q}var Nz=q_((A)=>Z9([V_,_2,EY,CY,v7(A),z_(A)])),Zz=(A)=>Z9(A.map(gY));class b2{run;constructor(A){this.run=A}rmap(A){return new b2((B)=>this.run(A(B)))}}var FY=()=>new b2((A)=>A);var Xz=FY(),Lz=FY(),Wz=new b2((A)=>{if(!Number.isFinite(A))throw Error(`Cannot encode non-finite number: ${String(A)}`);return A}),P7=FY();var zz=(A)=>new b2((B)=>{let Q={};for(let C in A){let g=A[C];switch(!0){case g instanceof X9:{let M=g.encoder.run(B[C]);if(typeof M!="object"||M===null||!(("nothing"in M)||("just"in M)))throw Error(`Invalid output of EncoderOptional: ${M}`);if("just"in M)Q[C]=M.just;break}case g instanceof b2:let u=g.run(B[C]);Q[C]=u;break;default:}}return Q});var Vz=(A)=>new b2((B)=>B instanceof WC?{nothing:{}}:{just:A.run(B.value)});class X9{encoder;constructor(A){this.encoder=A}static from(A){return new X9(A)}rmap(A){return new X9(this.encoder.rmap(A))}}var qz=(A)=>X9.from(Vz(A));var $z=(A)=>new b2((B)=>{return A(B).run(B)}),Oz=(A)=>P7.rmap((B)=>{if(!A.includes(B))throw Error(`Cannot encode '${B}'. Expected one of '${A.join(", ")}'"`);return B});function Sz(A,B){let Q={},C=Object.keys(A);for(let g of C){let u=B(g,A[g]);if(u!==void 0)Q[g]=u}return Q}function fz(A,B){let Q={},C=Object.keys(A);for(let g of C)Q[g]=B(g,A[g]);return Q}class m0{decoder;encoder;constructor(A,B){this.decoder=A,this.encoder=B}dimap(A,B){return new m0(this.decoder.map(A),this.encoder.rmap(B))}chain(A,B){return new m0(this.decoder.chain(A),this.encoder.rmap(B))}}function jz(A,B){return tu(B,A.decoder)}function kz(A,B){return A.encoder.run(B)}var gQA=new m0(Nz,Xz),FQA=new m0(CY,Lz),vz=new m0(EY,Wz),w1=new m0(_2,P7);class wY{decoder;encoder;constructor(A,B){this.decoder=A;this.encoder=B}dimap(A,B){return new wY(this.decoder.map(A),this.encoder.rmap(B))}}var hz=(A)=>new wY(Yz(A.decoder),qz(A.encoder));function y7(A){let B={},Q={};for(let u in A){let M=A[u];B[u]=M.decoder,Q[u]=M.encoder}let C=Ww(B),g=zz(Q);return new m0(C,g)}var $_=(A)=>new m0(gY(A),P7.rmap((B)=>{if(B!=A)throw Error(`Cannot encode '${B}'. Expected literal '${A}'"`);return B})),Pz=(A)=>new m0(Zz(A),Oz(A));var uY=(A)=>{let B=Z9(A.map((C)=>C.schema.decoder)),Q=$z((C)=>{let g=A.find((u)=>O_(u.pattern,C));if(g==null)throw Error(`Invalid discriminant in union type: '${C}'`);return g.schema.encoder});return new m0(B,Q)},O_=(A,B)=>{if(typeof B!=="object"||B===null)return!1;for(let Q in A){if(!(Q in B))return!1;if(A[Q]!=null&&A[Q]!==B[Q])return!1}return!0};class yz{pattern;schema;constructor(A,B){this.pattern=A;this.schema=B}}var _7=(A)=>{let B=Sz(A,(g,u)=>typeof u=="string"?u:void 0);if(Object.keys(B).length==0)throw Error("Invalid variant definition. No discriminant identified. Discriminant must be provided as a string");let Q=fz(A,(g,u)=>typeof u=="string"?$_(u):u),C=y7(Q);return new yz(B,C)};import{resolve as mz}from"path";import{homedir as j_}from"os";import{mkdir as k_}from"fs/promises";var bz=["conventional","imperative","custom"];var T_=y7({access_token:w1,refresh_token:w1,expiry_date:vz,token_type:w1,scope:w1}),S_=uY([_7({type:"api_key",content:w1}),_7({type:"oauth",content:T_})]),f_=uY([_7({provider:"gemini",model:w1,auth_method:S_})]),b7=y7({ai:f_,commit_convention:Pz([...bz]),custom_template:hz(w1)});var xz=mz(j_(),".commit-tools"),L9=mz(xz,"config.json"),u1=()=>ND.attemptP(()=>Bun.file(L9).text()).mapRej((A)=>Error(`Failed to read config file: ${A}`)).map((A)=>JSON.parse(A)).chain((A)=>{return jz(b7,A).either((Q)=>ND.reject(Error(`Invalid config: ${Q}`)),(Q)=>ND.resolve(Q))}),W9=(A)=>ND.attemptP(async()=>{await k_(xz,{recursive:!0}),await Bun.write(L9,JSON.stringify(kz(b7,A),null,2))}),v_=(A)=>A.ai.provider==="gemini"&&A.ai.auth_method.type==="oauth"?Ng({model:A.ai.model}):WC(),m7=(A)=>u1().chain((B)=>v_(B).maybe(ND.reject(Error("Cannot update tokens: not using OAuth authentication")),({model:Q})=>W9({...B,ai:{provider:"gemini",model:Q,auth_method:{type:"oauth",content:A}}})));var a9=eD(cT(),1);var nd=Ww({GOOGLE_CLIENT_ID:_2,GOOGLE_CLIENT_SECRET:_2}),fw=tu({GOOGLE_CLIENT_ID:"601687123825-2io0bbc3c6um08dp8r4do0hnilgdtpg5.apps.googleusercontent.com",GOOGLE_CLIENT_SECRET:"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"},nd).either((A)=>{throw Error(`Unable to parse environment variables:
492
492
  ${A}`)},(A)=>A);import{randomBytes as YS,createHash as jl}from"crypto";var NS=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/generative-language.retriever","https://www.googleapis.com/auth/generative-language.tuning","https://www.googleapis.com/auth/userinfo.email"],kl=300000,KS=8400,RS=8410,vl=300000,hl=()=>YS(32).toString("base64url"),Pl=(A)=>jl("sha256").update(A).digest("base64url"),ZS=`
493
493
  <style>
494
494
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');
@@ -825,5 +825,5 @@ Commands:
825
825
  --help, -h Show help
826
826
  `)},zP=()=>{let A=performance.now();console.log("commit-tools 0.1.0 (bun)");let B=performance.now()-A;console.log(`Done in ${B.toLocaleString()}ms`)};var VP=eD(s8(),1),_t=()=>{let A=process.argv.slice(2);WP(A).either((Q)=>{return console.error(VP.default.red(Q.message)),$L(),ND.reject(Q)},(Q)=>{switch(Q.type){case"generate":return jH.create().chain((C)=>C.run());case"setup":return xG.create().chain((C)=>C.run());case"doctor":return iK.create().run();case"model":return yH.create().chain((C)=>C.run());case"version":return zP(),ND.resolve(void 0);case"help":return $L(),ND.resolve(void 0);default:{let C=Q;return ND.reject(Error(`Unhandled command: ${JSON.stringify(C)}`))}}}).fork((Q)=>process.exit(1),()=>process.exit(0))};_t();
827
827
 
828
- //# debugId=F981BF971CCC704864756E2164756E21
828
+ //# debugId=DED96BFCD078A6C864756E2164756E21
829
829
  //# sourceMappingURL=index.js.map