{"version":3,"sources":["../src/cuit.ts","../src/adapters.ts","../src/severity.ts","../src/igj-preflight.ts","../src/tools.ts","../src/errors.ts"],"names":["z","tool","ArAgentsError"],"mappings":";;;;;;;;;AACO,SAAS,cAAc,GAAA,EAAqB;AACjD,EAAA,OAAO,OAAO,GAAA,IAAO,EAAE,CAAA,CAAE,OAAA,CAAQ,UAAU,EAAE,CAAA;AAC/C;;;ACeA,IAAM,UAAA,GACJ,oLAAA;AAEK,IAAM,+BAAN,MAA+D;AAAA,EACpE,MAAM,KAAK,IAAA,EAA6C;AACtD,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,cAAc,IAAI,CAAA;AAAA,MACxB,SAAA,EAAW,KAAA;AAAA,MACX,KAAA,EAAO,4DAAsD,UAAU,CAAA,CAAA;AAAA,MACvE,eAAe;AAAC,KAClB;AAAA,EACF;AACF;AAEO,IAAM,8BAAN,MAA6D;AAAA,EAClE,MAAM,KAAK,IAAA,EAA0C;AACnD,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,cAAc,IAAI,CAAA;AAAA,MACxB,SAAA,EAAW,KAAA;AAAA,MACX,KAAA,EAAO,mDAA6C,UAAU,CAAA,CAAA;AAAA,MAC9D,UAAU;AAAC,KACb;AAAA,EACF;AACF;;;AC3BA,IAAM,cAAA,GAA4E;AAAA,EAChF,EAAE,KAAA,EAAO,kBAAA,EAAoB,KAAA,EAAO,UAAA,EAAW;AAAA,EAC/C,EAAE,KAAA,EAAO,0CAAA,EAA4C,KAAA,EAAO,UAAA,EAAW;AAAA,EACvE,EAAE,KAAA,EAAO,aAAA,EAAe,KAAA,EAAO,UAAA,EAAW;AAAA,EAC1C,EAAE,KAAA,EAAO,0CAAA,EAA4C,KAAA,EAAO,WAAA,EAAY;AAAA,EACxE,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,WAAA,EAAY;AAAA,EAC1C,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,WAAA;AAC/B,CAAA;AAEA,IAAM,yBAAA,GAAsC;AAAA,EAC1C,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,iBAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,0BAAA,GAAuC;AAAA,EAC3C,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,qBAAA,GAAkC;AAAA,EACtC,sBAAA;AAAA,EACA,kBAAA;AAAA,EACA,qCAAA;AAAA,EACA,0BAAA;AAAA,EACA;AACF,CAAA;AAMO,SAAS,gBAAgB,KAAA,EAIM;AACpC,EAAA,MAAM,EAAE,QAAA,EAAU,OAAA,EAAS,aAAA,EAAc,GAAI,KAAA;AAG7C,EAAA,MAAM,WAAA,GACJ,CAAC,CAAC,aAAA,IAAiB,CAAC,OAAO,KAAA,CAAM,IAAA,CAAK,KAAA,CAAM,aAAa,CAAC,CAAA;AAG5D,EAAA,IAAI,yBAAA,CAA0B,KAAK,CAAC,EAAA,KAAO,GAAG,IAAA,CAAK,OAAO,CAAC,CAAA,EAAG;AAC5D,IAAA,OAAO,UAAA;AAAA,EACT;AACA,EAAA,IAAI,qBAAA,CAAsB,IAAA,CAAK,CAAC,EAAA,KAAO,EAAA,CAAG,KAAK,OAAO,CAAC,CAAA,IAAK,CAAC,WAAA,EAAa;AACxE,IAAA,OAAO,MAAA;AAAA,EACT;AAGA,EAAA,MAAM,YAAA,GAAe,eAAe,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAC,CAAA;AACtE,EAAA,MAAM,gBAAgB,YAAA,EAAc,KAAA;AAGpC,EAAA,IAAI,aAAA,KAAkB,UAAA,IAAc,WAAA,EAAa,OAAO,UAAA;AACxD,EAAA,IAAI,aAAA,KAAkB,YAAY,OAAO,WAAA;AACzC,EAAA,IAAI,0BAAA,CAA2B,KAAK,CAAC,EAAA,KAAO,GAAG,IAAA,CAAK,OAAO,CAAC,CAAA,EAAG;AAC7D,IAAA,OAAO,cAAc,WAAA,GAAc,MAAA;AAAA,EACrC;AACA,EAAA,IAAI,aAAA,KAAkB,WAAA,EAAa,OAAO,WAAA,GAAc,WAAA,GAAc,MAAA;AACtE,EAAA,IAAI,aAAa,OAAO,WAAA;AACxB,EAAA,OAAO,MAAA;AACT;;;AClCA,IAAM,aAAA,uBAAoB,GAAA,CAAI,CAAC,OAAO,KAAA,EAAO,IAAA,EAAM,aAAa,CAAC,CAAA;AAEjE,IAAM,mBAAA,GAA8C;AAAA,EAClD,GAAA,EAAK,GAAA;AAAA,EACL,GAAA,EAAK,GAAA;AAAA,EACL,EAAA,EAAI,GAAA;AAAA;AAAA,EAEJ,aAAA,EAAe;AACjB,CAAA;AAGA,IAAM,sBAAA,GAAmC;AAAA,EACvC,eAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA;AAEO,SAAS,uBACd,KAAA,EACyB;AACzB,EAAA,MAAM,WAAgD,EAAC;AAGvD,EAAA,IAAI,CAAC,MAAM,YAAA,IAAgB,KAAA,CAAM,aAAa,IAAA,EAAK,CAAE,SAAS,CAAA,EAAG;AAC/D,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,wBAAA;AAAA,MACN,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,cAAA;AAAA,MACP,OAAA,EACE;AAAA,KACH,CAAA;AAAA,EACH,WAAW,KAAA,CAAM,YAAA,CAAa,IAAA,EAAK,CAAE,SAAS,GAAA,EAAK;AACjD,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,uBAAA;AAAA,MACN,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH,CAAA,MAAO;AACL,IAAA,KAAA,MAAW,MAAM,sBAAA,EAAwB;AACvC,MAAA,IAAI,EAAA,CAAG,IAAA,CAAK,KAAA,CAAM,YAAY,CAAA,EAAG;AAC/B,QAAA,QAAA,CAAS,IAAA,CAAK;AAAA,UACZ,IAAA,EAAM,4BAAA;AAAA,UACN,QAAA,EAAU,OAAA;AAAA,UACV,KAAA,EAAO,cAAA;AAAA,UACP,OAAA,EAAS,CAAA,2DAAA,EAA2D,EAAA,CAAG,MAAM,CAAA,EAAA;AAAA,SAC9E,CAAA;AACD,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,EAAA,IAAI,CAAC,aAAA,CAAc,GAAA,CAAI,KAAA,CAAM,IAAI,CAAA,EAAG;AAClC,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,eAAA;AAAA,MACN,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,CAAA,iBAAA,EAAoB,KAAA,CAAM,IAAI,CAAA,kDAAA;AAAA,KACxC,CAAA;AAAA,EACH;AACA,EAAA,IAAI,KAAA,CAAM,IAAA,KAAS,aAAA,IAAiB,CAAC,MAAM,UAAA,EAAY;AACrD,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,0BAAA;AAAA,MACN,QAAA,EAAU,SAAA;AAAA,MACV,KAAA,EAAO,YAAA;AAAA,MACP,OAAA,EACE;AAAA,KACH,CAAA;AAAA,EACH;AAGA,EAAA,MAAM,YAAA,GAAyD;AAAA,IAC7D,OAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,KAAA,MAAW,KAAK,YAAA,EAAc;AAC5B,IAAA,IAAI,CAAC,KAAA,CAAM,IAAA,GAAO,CAAC,CAAA,IAAK,MAAA,CAAO,KAAA,CAAM,IAAA,CAAK,CAAC,CAAC,CAAA,CAAE,IAAA,OAAW,EAAA,EAAI;AAC3D,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,IAAA,EAAM,oBAAA;AAAA,QACN,QAAA,EAAU,OAAA;AAAA,QACV,KAAA,EAAO,QAAQ,CAAC,CAAA,CAAA;AAAA,QAChB,OAAA,EAAS,kCAAkC,CAAC,CAAA,CAAA;AAAA,OAC7C,CAAA;AAAA,IACH;AAAA,EACF;AACA,EAAA,IAAI,KAAA,CAAM,MAAM,GAAA,IAAO,CAAC,0BAA0B,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,GAAG,CAAA,EAAG;AACtE,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,YAAA;AAAA,MACN,QAAA,EAAU,SAAA;AAAA,MACV,KAAA,EAAO,UAAA;AAAA,MACP,OAAA,EACE;AAAA,KACH,CAAA;AAAA,EACH;AAGA,EAAA,IAAI,OAAO,KAAA,CAAM,aAAA,KAAkB,QAAA,IAAY,KAAA,CAAM,iBAAiB,CAAA,EAAG;AACvE,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,iBAAA;AAAA,MACN,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,eAAA;AAAA,MACP,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH,CAAA,MAAO;AACL,IAAA,MAAM,GAAA,GAAM,mBAAA,CAAoB,KAAA,CAAM,IAAI,CAAA,IAAK,GAAA;AAC/C,IAAA,IAAI,KAAA,CAAM,gBAAgB,GAAA,EAAK;AAC7B,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,IAAA,EAAM,uBAAA;AAAA,QACN,QAAA,EAAU,OAAA;AAAA,QACV,KAAA,EAAO,eAAA;AAAA,QACP,OAAA,EAAS,CAAA,gBAAA,EAAmB,KAAA,CAAM,aAAA,CAAc,eAAe,OAAO,CAAC,CAAA,4BAAA,EAA4B,KAAA,CAAM,IAAI,CAAA,GAAA,EAAM,GAAA,CAAI,cAAA,CAAe,OAAO,CAAC,CAAA,EAAA;AAAA,OAC/I,CAAA;AAAA,IACH;AAAA,EACF;AAGA,EAAA,IAAI,CAAC,MAAM,MAAA,IAAU,KAAA,CAAM,OAAO,IAAA,EAAK,CAAE,SAAS,EAAA,EAAI;AACpD,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,kBAAA;AAAA,MACN,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,QAAA;AAAA,MACP,OAAA,EACE;AAAA,KACH,CAAA;AAAA,EACH;AAGA,EAAA,IAAI,CAAC,KAAA,CAAM,cAAA,EAAgB,MAAA,EAAQ;AACjC,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,IAAA,EAAM,mBAAA;AAAA,MACN,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,gBAAA;AAAA,MACP,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH,CAAA,MAAO;AACL,IAAA,IAAI,SAAA,GAAY,CAAA;AAChB,IAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,cAAA,CAAe,QAAQ,CAAA,EAAA,EAAK;AACpD,MAAA,MAAM,CAAA,GAAI,KAAA,CAAM,cAAA,CAAe,CAAC,CAAA;AAChC,MAAA,IAAI,CAAC,CAAA,CAAE,IAAA,IAAQ,CAAC,UAAA,CAAW,KAAK,aAAA,CAAc,CAAA,CAAE,IAAI,CAAC,CAAA,EAAG;AACtD,QAAA,QAAA,CAAS,IAAA,CAAK;AAAA,UACZ,IAAA,EAAM,4BAAA;AAAA,UACN,QAAA,EAAU,OAAA;AAAA,UACV,KAAA,EAAO,kBAAkB,CAAC,CAAA,MAAA,CAAA;AAAA,UAC1B,OAAA,EAAS,CAAA,wBAAA,EAA2B,CAAA,GAAI,CAAC,CAAA,gBAAA;AAAA,SAC1C,CAAA;AAAA,MACH;AACA,MAAA,IAAI,OAAO,CAAA,CAAE,MAAA,KAAW,QAAA,IAAY,CAAA,CAAE,UAAU,CAAA,EAAG;AACjD,QAAA,QAAA,CAAS,IAAA,CAAK;AAAA,UACZ,IAAA,EAAM,8BAAA;AAAA,UACN,QAAA,EAAU,OAAA;AAAA,UACV,KAAA,EAAO,kBAAkB,CAAC,CAAA,QAAA,CAAA;AAAA,UAC1B,OAAA,EAAS,CAAA,0BAAA,EAA6B,CAAA,GAAI,CAAC,CAAA,cAAA;AAAA,SAC5C,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,SAAA,IAAa,CAAA,CAAE,MAAA;AAAA,MACjB;AAAA,IACF;AACA,IAAA,IACE,OAAO,KAAA,CAAM,aAAA,KAAkB,QAAA,IAC/B,KAAA,CAAM,aAAA,GAAgB,CAAA,IACtB,IAAA,CAAK,GAAA,CAAI,SAAA,GAAY,KAAA,CAAM,aAAa,IAAI,CAAA,EAC5C;AACA,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,IAAA,EAAM,uBAAA;AAAA,QACN,QAAA,EAAU,OAAA;AAAA,QACV,KAAA,EAAO,gBAAA;AAAA,QACP,OAAA,EAAS,CAAA,qBAAA,EAAwB,SAAA,CAAU,cAAA,CAAe,OAAO,CAAC,CAAA,sCAAA,EAAyC,KAAA,CAAM,aAAA,CAAc,cAAA,CAAe,OAAO,CAAC,CAAA,EAAA;AAAA,OACvJ,CAAA;AAAA,IACH;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,CAAC,QAAA,CAAS,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,OAAO,CAAA;AAAA,IACnD;AAAA,GACF;AACF;;;AC5MA,IAAM,UAAA,GAAaA,MAChB,MAAA,EAAO,CACP,IAAI,CAAA,EAAG,yBAAyB,CAAA,CAChC,QAAA,CAAS,uDAAuD,CAAA;AAEnE,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EACnC,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EAC9B,IAAA,EAAMA,MAAE,IAAA,CAAK,CAAC,OAAO,KAAA,EAAO,IAAA,EAAM,aAAa,CAAC,CAAA;AAAA,EAChD,IAAA,EAAMA,MAAE,MAAA,CAAO;AAAA,IACb,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,IACvB,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,IACxB,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,IACxB,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,IAC3B,GAAA,EAAKA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC;AAAA,GACtB,CAAA;AAAA,EACD,aAAA,EAAeA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,EAAE,CAAA;AAAA,EACzB,gBAAgBA,KAAA,CACb,KAAA;AAAA,IACCA,MAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,MACtB,WAAA,EAAaA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACjC,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC9B,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC7B;AAAA,GACH,CACC,IAAI,CAAC,CAAA;AAAA,EACR,UAAA,EAAYA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC1B,CAAC,CAAA;AAQM,SAAS,WAAA,CAAY,OAAA,GAA8B,EAAC,EAAY;AACrE,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,SAAA,IAAa,IAAI,4BAAA,EAA6B;AACxE,EAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,QAAA,IAAY,IAAI,2BAAA,EAA4B;AAErE,EAAA,OAAO;AAAA,IACL,sBAAsBC,OAAA,CAAK;AAAA,MACzB,WAAA,EACE,+XAAA;AAAA,MACF,aAAaD,KAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,MAC1C,OAAA,EAAS,OAAO,EAAE,IAAA,EAAK,KAAM;AAC3B,QAAA,MAAM,SAAS,MAAM,SAAA,CAAU,IAAA,CAAK,aAAA,CAAc,IAAI,CAAC,CAAA;AACvD,QAAA,OAAO;AAAA,UACL,GAAG,MAAA;AAAA,UACH,aAAA,EAAe,MAAA,CAAO,aAAA,CAAc,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,YAC9C,GAAG,CAAA;AAAA,YACH,QAAA,EAAU,CAAA,CAAE,QAAA,IAAY,eAAA,CAAgB,CAAC;AAAA,WAC3C,CAAE;AAAA,SACJ;AAAA,MACF;AAAA,KACD,CAAA;AAAA,IAED,mBAAmBC,OAAA,CAAK;AAAA,MACtB,WAAA,EACE,uPAAA;AAAA,MACF,aAAaD,KAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,MAC1C,OAAA,EAAS,OAAO,EAAE,IAAA,OAAW,QAAA,CAAS,IAAA,CAAK,aAAA,CAAc,IAAI,CAAC;AAAA,KAC/D,CAAA;AAAA,IAED,4BAA4BC,OAAA,CAAK;AAAA,MAC/B,WAAA,EACE,oSAAA;AAAA,MACF,aAAaD,KAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,MAC1C,OAAA,EAAS,OAAO,EAAE,IAAA,EAAK,KAAM;AAC3B,QAAA,MAAM,QAAQ,MAAM,SAAA,CAAU,IAAA,CAAK,aAAA,CAAc,IAAI,CAAC,CAAA;AACtD,QAAA,IAAI,CAAC,MAAM,SAAA,EAAW;AACpB,UAAA,OAAO,EAAE,IAAA,EAAM,KAAA,CAAM,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,KAAA,EAAO,KAAA,CAAM,KAAA,EAAO,QAAA,EAAU,EAAC,EAAE;AAAA,QAChF;AACA,QAAA,MAAM,WAAW,KAAA,CAAM,aAAA,CACpB,MAAA,CAAO,CAAC,OAAO,CAAA,CAAE,QAAA,IAAY,eAAA,CAAgB,CAAC,OAAO,UAAU,CAAA,CAC/D,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM;AACd,UAAA,MAAM,IAAA,GAAO,EAAE,aAAA,GAAgB,IAAA,CAAK,MAAM,CAAA,CAAE,aAAa,IAAI,MAAA,CAAO,iBAAA;AACpE,UAAA,MAAM,IAAA,GAAO,EAAE,aAAA,GAAgB,IAAA,CAAK,MAAM,CAAA,CAAE,aAAa,IAAI,MAAA,CAAO,iBAAA;AACpE,UAAA,OAAO,IAAA,GAAO,IAAA;AAAA,QAChB,CAAC,CAAA;AACH,QAAA,OAAO,EAAE,MAAM,KAAA,CAAM,IAAA,EAAM,WAAW,IAAA,EAAM,KAAA,EAAO,MAAM,QAAA,EAAS;AAAA,MACpE;AAAA,KACD,CAAA;AAAA,IAED,0BAA0BC,OAAA,CAAK;AAAA,MAC7B,WAAA,EACE,8VAAA;AAAA,MACF,WAAA,EAAa,mBAAA;AAAA,MACb,OAAA,EAAS,OAAO,KAAA,KACd,sBAAA,CAAuB,KAA4B;AAAA,KACtD;AAAA,GACH;AACF;ACvHO,IAAM,WAAA,GAAN,cAA0BC,kBAAA,CAAc;AAAA,EAC7C,WAAA,CAAY,SAAiB,OAAA,EAAwB;AACnD,IAAA,KAAA,CAAM,OAAA,EAAS;AAAA,MACb,IAAA,EAAM,eAAA;AAAA,MACN,SAAA,EAAW,KAAA;AAAA,MACX,SAAS,EAAC;AAAA,MACV,OAAO,OAAA,EAAS;AAAA,KACjB,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,GAAO,aAAA;AAAA,EACd;AACF;AAGO,IAAM,wBAAA,GAAN,cAAuC,WAAA,CAAY;AAAA,EACxD,YAAY,MAAA,EAAgB;AAC1B,IAAA,KAAA,CAAM,CAAA,sCAAA,EAAyC,MAAM,CAAA,CAAE,CAAA;AACvD,IAAA,IAAA,CAAK,IAAA,GAAO,0BAAA;AAAA,EACd;AACF;AAGO,IAAM,eAAA,GAAN,cAA8B,WAAA,CAAY;AAAA,EAC/C,YAAY,MAAA,EAAgB;AAC1B,IAAA,KAAA,CAAM,CAAA,qBAAA,EAAwB,MAAM,CAAA,CAAE,CAAA;AACtC,IAAA,IAAA,CAAK,IAAA,GAAO,iBAAA;AAAA,EACd;AACF;AAGO,IAAM,qBAAA,GAAN,cAAoC,WAAA,CAAY;AAAA,EAC5C,QAAA;AAAA,EACT,WAAA,CACE,QACA,QAAA,EACA;AACA,IAAA,KAAA,CAAM,MAAM,CAAA;AACZ,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAChB,IAAA,IAAA,CAAK,IAAA,GAAO,uBAAA;AAAA,EACd;AACF","file":"index.cjs","sourcesContent":["/** Strip non-digits from a CUIT input (\"20-12345678-9\" → \"20123456789\"). */\nexport function normalizeCuit(raw: string): string {\n  return String(raw ?? \"\").replace(/[^\\d]/g, \"\");\n}\n","/**\n * Default unconfigured adapters. Drop-in stand-ins so calling\n * `gdeTadTools()` without explicit adapters still returns something\n * actionable instead of throwing at construction time.\n *\n * Wire a real adapter when you have a TAD-issued cert + the agency-\n * specific contract live. Until then, every read returns\n * `available: false` with a helpful pointer.\n */\n\nimport type {\n  DomicilioAdapter,\n  DomicilioInboxResult,\n  MisTramitesResult,\n  TramitesAdapter,\n} from \"./types\";\nimport { normalizeCuit } from \"./cuit\";\n\nconst SETUP_HINT =\n  \"Wire a real DomicilioAdapter / TramitesAdapter via gdeTadTools({ domicilio, tramites }). The official TAD/GDE B2G surface is rolling out per organism — see RFC-001 § 3.4.\";\n\nexport class UnconfiguredDomicilioAdapter implements DomicilioAdapter {\n  async list(cuit: string): Promise<DomicilioInboxResult> {\n    return {\n      cuit: normalizeCuit(cuit),\n      available: false,\n      error: `Domicilio Electrónico adapter no está configurado. ${SETUP_HINT}`,\n      notifications: [],\n    };\n  }\n}\n\nexport class UnconfiguredTramitesAdapter implements TramitesAdapter {\n  async list(cuit: string): Promise<MisTramitesResult> {\n    return {\n      cuit: normalizeCuit(cuit),\n      available: false,\n      error: `Mis Trámites adapter no está configurado. ${SETUP_HINT}`,\n      tramites: [],\n    };\n  }\n}\n","/**\n * Severity heuristic for Domicilio Electrónico notifications.\n *\n * The DEC inbox is a noisy stream — courtesy notices, acuses de recibo,\n * actual binding notifications. The agent needs a triage signal so it can\n * prioritise responses to legally-binding deadlines and ignore informational\n * spam.\n *\n * The heuristic is intentionally conservative: when in doubt, escalate.\n * False positives (calling something critical when it's only important)\n * waste agent cycles; false negatives (missing a critical deadline) cost\n * the sociedad-IA real money or its registration.\n */\n\nconst ORGANISM_RULES: Array<{ match: RegExp; level: \"critical\" | \"important\" }> = [\n  { match: /\\b(arca|afip)\\b/i, level: \"critical\" },\n  { match: /\\b(igj|registro\\s+publico|inspeccion)\\b/i, level: \"critical\" },\n  { match: /\\baduana\\b/i, level: \"critical\" },\n  { match: /\\b(ministerio\\s+de\\s+trabajo|trabajo)\\b/i, level: \"important\" },\n  { match: /\\banses\\b/i, level: \"important\" },\n  { match: /\\bbcra\\b/i, level: \"important\" },\n];\n\nconst SUBJECT_KEYWORDS_CRITICAL: RegExp[] = [\n  /intimaci[oó]n/i,\n  /vista\\s+previa/i,\n  /requerimiento/i,\n  /sumario/i,\n  /clausura/i,\n  /multa/i,\n  /sanci[oó]n/i,\n  /audiencia/i,\n  /apercibimiento/i,\n  /traslado/i,\n  /baja\\s+(de\\s+)?inscripci[oó]n/i,\n];\n\nconst SUBJECT_KEYWORDS_IMPORTANT: RegExp[] = [\n  /resoluci[oó]n/i,\n  /providencia/i,\n  /constataci[oó]n/i,\n  /verificaci[oó]n/i,\n  /informe/i,\n  /vencimiento/i,\n];\n\nconst SUBJECT_KEYWORDS_INFO: RegExp[] = [\n  /acuse\\s+de\\s+recibo/i,\n  /confirmaci[oó]n/i,\n  /notificaci[oó]n\\s+de\\s+cortes[ií]a/i,\n  /aviso\\s+(de\\s+)?lectura/i,\n  /circular/i,\n];\n\n/**\n * Compute a severity given the issuing organism, subject, and (optionally)\n * an explicit response-due date.\n */\nexport function computeSeverity(input: {\n  organism: string;\n  subject: string;\n  responseDueBy: string | null;\n}): \"critical\" | \"important\" | \"info\" {\n  const { organism, subject, responseDueBy } = input;\n\n  // 1. Hard signals: explicit response deadline → at least important.\n  const hasDeadline =\n    !!responseDueBy && !Number.isNaN(Date.parse(responseDueBy));\n\n  // 2. Subject-keyword scan.\n  if (SUBJECT_KEYWORDS_CRITICAL.some((rx) => rx.test(subject))) {\n    return \"critical\";\n  }\n  if (SUBJECT_KEYWORDS_INFO.some((rx) => rx.test(subject)) && !hasDeadline) {\n    return \"info\";\n  }\n\n  // 3. Organism-level prior.\n  const organismRule = ORGANISM_RULES.find((r) => r.match.test(organism));\n  const organismLevel = organismRule?.level;\n\n  // 4. Combine.\n  if (organismLevel === \"critical\" && hasDeadline) return \"critical\";\n  if (organismLevel === \"critical\") return \"important\";\n  if (SUBJECT_KEYWORDS_IMPORTANT.some((rx) => rx.test(subject))) {\n    return hasDeadline ? \"important\" : \"info\";\n  }\n  if (organismLevel === \"important\") return hasDeadline ? \"important\" : \"info\";\n  if (hasDeadline) return \"important\";\n  return \"info\";\n}\n","/**\n * Pre-flight validator for IGJ inscription / SAS / SRL forms.\n *\n * IGJ (Inspección General de Justicia) rejects ~30% of inscription requests\n * on first submission for predictable, mechanical reasons (name conflicts,\n * missing required fields, malformed CUIT, out-of-range capital). Catching\n * those locally before TAD submit saves 5–10 working days per round-trip.\n *\n * This is not exhaustive — it's the rules we have hit ourselves or that\n * IGJ's public guidance documents call out. Findings with severity \"error\"\n * MUST be fixed; \"warning\" findings are likely-but-not-certain rejections.\n */\n\nimport { normalizeCuit } from \"./cuit\";\nimport type { IgjInscriptionPreflight } from \"./types\";\n\n/**\n * Inputs we validate. Mirrors the IGJ \"Constitución de Sociedad\" form\n * surface but strips the parts that don't affect rejection probability.\n */\nexport interface IgjInscriptionInput {\n  /** Proposed corporate name. */\n  denominacion: string;\n  /** Corporate type. */\n  type: \"SAS\" | \"SRL\" | \"SA\" | \"SOCIEDAD-IA\";\n  /** Sede social (legal address). */\n  sede: {\n    calle: string;\n    numero: string;\n    ciudad: string;\n    provincia: string;\n    cpa: string;\n  };\n  /** Capital social in ARS. */\n  capitalSocial: number;\n  /** Objeto social — what the company does. */\n  objeto: string;\n  /**\n   * Constituyentes (founders). At least one human is currently required;\n   * RFC-001 § 3.4 proposes lifting this for sociedades-IA.\n   */\n  constituyentes: Array<{\n    cuit: string;\n    razonSocial?: string;\n    apellido?: string;\n    nombre?: string;\n    /** Aporte de capital in ARS for this constituyente. */\n    aporte: number;\n  }>;\n  /**\n   * Optional flag: when true, runs the sociedad-IA-specific rule set\n   * (RFC-001 § 3.4). Without the flag we apply standard SA/SRL/SAS rules.\n   */\n  sociedadIa?: boolean;\n}\n\nconst TIPOS_VALIDOS = new Set([\"SAS\", \"SRL\", \"SA\", \"SOCIEDAD-IA\"]);\n\nconst MIN_CAPITAL_BY_TYPE: Record<string, number> = {\n  SAS: 100_000,\n  SRL: 100_000,\n  SA: 30_000_000,\n  // RFC-001 § 3.4 proposes 1 ARS minimum, signalling token-economic flexibility.\n  \"SOCIEDAD-IA\": 1,\n};\n\n/** Forbidden words in denominación (IGJ public-policy list). */\nconst DENOMINACION_FORBIDDEN: RegExp[] = [\n  /\\bnacional\\b/i,\n  /\\bestatal\\b/i,\n  /\\bgobierno\\b/i,\n  /\\bestado\\b/i,\n  /\\boficial\\b/i,\n];\n\nexport function validateIgjInscription(\n  input: IgjInscriptionInput,\n): IgjInscriptionPreflight {\n  const findings: IgjInscriptionPreflight[\"findings\"] = [];\n\n  // ── Denominación ────────────────────────────────────────────────────────\n  if (!input.denominacion || input.denominacion.trim().length < 3) {\n    findings.push({\n      code: \"denominacion_too_short\",\n      severity: \"error\",\n      field: \"denominacion\",\n      message:\n        \"La denominación debe tener al menos 3 caracteres y no puede estar vacía.\",\n    });\n  } else if (input.denominacion.trim().length > 200) {\n    findings.push({\n      code: \"denominacion_too_long\",\n      severity: \"error\",\n      field: \"denominacion\",\n      message: \"La denominación no puede superar los 200 caracteres.\",\n    });\n  } else {\n    for (const rx of DENOMINACION_FORBIDDEN) {\n      if (rx.test(input.denominacion)) {\n        findings.push({\n          code: \"denominacion_reserved_word\",\n          severity: \"error\",\n          field: \"denominacion\",\n          message: `La denominación contiene una palabra reservada por IGJ (${rx.source}).`,\n        });\n        break;\n      }\n    }\n  }\n\n  // ── Tipo societario ─────────────────────────────────────────────────────\n  if (!TIPOS_VALIDOS.has(input.type)) {\n    findings.push({\n      code: \"tipo_invalido\",\n      severity: \"error\",\n      field: \"type\",\n      message: `Tipo societario \"${input.type}\" no es válido. Use SAS, SRL, SA o SOCIEDAD-IA.`,\n    });\n  }\n  if (input.type === \"SOCIEDAD-IA\" && !input.sociedadIa) {\n    findings.push({\n      code: \"sociedad_ia_flag_missing\",\n      severity: \"warning\",\n      field: \"sociedadIa\",\n      message:\n        \"Tipo SOCIEDAD-IA seleccionado pero el flag sociedadIa no está activo. RFC-001 § 3.4 — confirme que conoce el régimen.\",\n    });\n  }\n\n  // ── Sede social ─────────────────────────────────────────────────────────\n  const requiredSede: Array<keyof IgjInscriptionInput[\"sede\"]> = [\n    \"calle\",\n    \"numero\",\n    \"ciudad\",\n    \"provincia\",\n    \"cpa\",\n  ];\n  for (const f of requiredSede) {\n    if (!input.sede?.[f] || String(input.sede[f]).trim() === \"\") {\n      findings.push({\n        code: \"sede_field_missing\",\n        severity: \"error\",\n        field: `sede.${f}`,\n        message: `Falta el campo de sede social: ${f}.`,\n      });\n    }\n  }\n  if (input.sede?.cpa && !/^[A-Z]?\\d{4}[A-Z]{0,3}$/.test(input.sede.cpa)) {\n    findings.push({\n      code: \"cpa_format\",\n      severity: \"warning\",\n      field: \"sede.cpa\",\n      message:\n        \"El CPA no sigue el formato AR estándar (ej. C1043AAZ). IGJ acepta el código postal de 4 dígitos pero sugiere CPA.\",\n    });\n  }\n\n  // ── Capital social ──────────────────────────────────────────────────────\n  if (typeof input.capitalSocial !== \"number\" || input.capitalSocial <= 0) {\n    findings.push({\n      code: \"capital_invalid\",\n      severity: \"error\",\n      field: \"capitalSocial\",\n      message: \"El capital social debe ser un número mayor a 0.\",\n    });\n  } else {\n    const min = MIN_CAPITAL_BY_TYPE[input.type] ?? 100_000;\n    if (input.capitalSocial < min) {\n      findings.push({\n        code: \"capital_below_minimum\",\n        severity: \"error\",\n        field: \"capitalSocial\",\n        message: `Capital social $${input.capitalSocial.toLocaleString(\"es-AR\")} es menor al mínimo para ${input.type} ($${min.toLocaleString(\"es-AR\")}).`,\n      });\n    }\n  }\n\n  // ── Objeto ──────────────────────────────────────────────────────────────\n  if (!input.objeto || input.objeto.trim().length < 20) {\n    findings.push({\n      code: \"objeto_too_short\",\n      severity: \"error\",\n      field: \"objeto\",\n      message:\n        \"El objeto social debe describir las actividades en al menos 20 caracteres. IGJ rechaza objetos genéricos.\",\n    });\n  }\n\n  // ── Constituyentes ──────────────────────────────────────────────────────\n  if (!input.constituyentes?.length) {\n    findings.push({\n      code: \"no_constituyentes\",\n      severity: \"error\",\n      field: \"constituyentes\",\n      message: \"Debe haber al menos un constituyente.\",\n    });\n  } else {\n    let aporteSum = 0;\n    for (let i = 0; i < input.constituyentes.length; i++) {\n      const c = input.constituyentes[i]!;\n      if (!c.cuit || !/^\\d{11}$/.test(normalizeCuit(c.cuit))) {\n        findings.push({\n          code: \"constituyente_cuit_invalid\",\n          severity: \"error\",\n          field: `constituyentes[${i}].cuit`,\n          message: `CUIT del constituyente #${i + 1} es inválido.`,\n        });\n      }\n      if (typeof c.aporte !== \"number\" || c.aporte <= 0) {\n        findings.push({\n          code: \"constituyente_aporte_invalid\",\n          severity: \"error\",\n          field: `constituyentes[${i}].aporte`,\n          message: `Aporte del constituyente #${i + 1} debe ser > 0.`,\n        });\n      } else {\n        aporteSum += c.aporte;\n      }\n    }\n    if (\n      typeof input.capitalSocial === \"number\" &&\n      input.capitalSocial > 0 &&\n      Math.abs(aporteSum - input.capitalSocial) > 1\n    ) {\n      findings.push({\n        code: \"aporte_total_mismatch\",\n        severity: \"error\",\n        field: \"constituyentes\",\n        message: `La suma de aportes ($${aporteSum.toLocaleString(\"es-AR\")}) no coincide con el capital social ($${input.capitalSocial.toLocaleString(\"es-AR\")}).`,\n      });\n    }\n  }\n\n  return {\n    valid: !findings.some((f) => f.severity === \"error\"),\n    findings,\n  };\n}\n","/**\n * Vercel AI SDK tool collection for `@ar-agents/gde-tad`.\n *\n * The 4 tools are split by mutability:\n *   - **read-only** (`list_domicilio_inbox`, `list_mis_tramites`,\n *     `get_critical_notifications`), safe to call repeatedly; results\n *     drive the agent's situational awareness loop.\n *   - **algorithm-only** (`validate_igj_inscription`), pure preflight,\n *     no network. Use freely.\n *\n * Write operations (filing trámites) are intentionally NOT exposed yet -\n * the legal liability surface is too large until RFC-001 § 3.4 lands.\n * This is the moat: nobody else has even shipped this much.\n */\n\nimport { tool, type ToolSet } from \"ai\";\nimport { z } from \"zod\";\nimport {\n  UnconfiguredDomicilioAdapter,\n  UnconfiguredTramitesAdapter,\n} from \"./adapters\";\nimport { computeSeverity } from \"./severity\";\nimport { validateIgjInscription, type IgjInscriptionInput } from \"./igj-preflight\";\nimport type { DomicilioAdapter, TramitesAdapter } from \"./types\";\nimport { normalizeCuit } from \"./cuit\";\n\nexport interface GdeTadToolsOptions {\n  /** Domicilio Electrónico adapter. Falls back to the unconfigured shim. */\n  domicilio?: DomicilioAdapter;\n  /** Mis Trámites adapter. Falls back to the unconfigured shim. */\n  tramites?: TramitesAdapter;\n}\n\nconst cuitSchema = z\n  .string()\n  .min(1, \"El CUIT es obligatorio.\")\n  .describe(\"CUIT con o sin guiones (20-12345678-9 o 20123456789).\");\n\nconst sociedadInputSchema = z.object({\n  denominacion: z.string().min(3),\n  type: z.enum([\"SAS\", \"SRL\", \"SA\", \"SOCIEDAD-IA\"]),\n  sede: z.object({\n    calle: z.string().min(1),\n    numero: z.string().min(1),\n    ciudad: z.string().min(1),\n    provincia: z.string().min(1),\n    cpa: z.string().min(1),\n  }),\n  capitalSocial: z.number().positive(),\n  objeto: z.string().min(20),\n  constituyentes: z\n    .array(\n      z.object({\n        cuit: z.string().min(1),\n        razonSocial: z.string().optional(),\n        apellido: z.string().optional(),\n        nombre: z.string().optional(),\n        aporte: z.number().positive(),\n      }),\n    )\n    .min(1),\n  sociedadIa: z.boolean().optional(),\n});\n\nexport type GdeTadToolName =\n  | \"list_domicilio_inbox\"\n  | \"list_mis_tramites\"\n  | \"get_critical_notifications\"\n  | \"validate_igj_inscription\";\n\nexport function gdeTadTools(options: GdeTadToolsOptions = {}): ToolSet {\n  const domicilio = options.domicilio ?? new UnconfiguredDomicilioAdapter();\n  const tramites = options.tramites ?? new UnconfiguredTramitesAdapter();\n\n  return {\n    list_domicilio_inbox: tool({\n      description:\n        \"List electronic-domicile notifications (notificaciones del Domicilio Electrónico Constituido, DEC) de una sociedad/persona. Cada notificación incluye organismo, asunto, fecha de notificación, fecha de respuesta (si aplica), cuerpo y severidad calculada (critical/important/info). Use this BEFORE making any major decision so you know if there's a binding deadline pending.\",\n      inputSchema: z.object({ cuit: cuitSchema }),\n      execute: async ({ cuit }) => {\n        const result = await domicilio.list(normalizeCuit(cuit));\n        return {\n          ...result,\n          notifications: result.notifications.map((n) => ({\n            ...n,\n            severity: n.severity ?? computeSeverity(n),\n          })),\n        };\n      },\n    }),\n\n    list_mis_tramites: tool({\n      description:\n        \"List TAD case files where the company/person is a party (expedientes y trámites en TAD). Útil para reporting, due diligence, y para el agente saber qué tiene en curso vs. qué resolvió. Read-only, no inicia ni modifica trámites.\",\n      inputSchema: z.object({ cuit: cuitSchema }),\n      execute: async ({ cuit }) => tramites.list(normalizeCuit(cuit)),\n    }),\n\n    get_critical_notifications: tool({\n      description:\n        \"List only critical DEC notifications (notificaciones críticas del DEC), ordenadas por fecha de respuesta más cercana. Use this in the agent's morning loop to know what MUST be answered today/this week. Returns an empty list if the DEC inbox is empty or only has informational notices.\",\n      inputSchema: z.object({ cuit: cuitSchema }),\n      execute: async ({ cuit }) => {\n        const inbox = await domicilio.list(normalizeCuit(cuit));\n        if (!inbox.available) {\n          return { cuit: inbox.cuit, available: false, error: inbox.error, critical: [] };\n        }\n        const critical = inbox.notifications\n          .filter((n) => (n.severity ?? computeSeverity(n)) === \"critical\")\n          .sort((a, b) => {\n            const aDue = a.responseDueBy ? Date.parse(a.responseDueBy) : Number.POSITIVE_INFINITY;\n            const bDue = b.responseDueBy ? Date.parse(b.responseDueBy) : Number.POSITIVE_INFINITY;\n            return aDue - bDue;\n          });\n        return { cuit: inbox.cuit, available: true, error: null, critical };\n      },\n    }),\n\n    validate_igj_inscription: tool({\n      description:\n        \"Pre-flight validator para una inscripción IGJ (SAS/SRL/SA/SOCIEDAD-IA). Catches the ~30% of rejections that are mechanical (denominación reservada, capital bajo el mínimo, aportes que no suman, CUIT inválido, sede incompleta). No network, pure algorithm. Run this BEFORE submitting via TAD to save 5–10 working days per round-trip.\",\n      inputSchema: sociedadInputSchema,\n      execute: async (input) =>\n        validateIgjInscription(input as IgjInscriptionInput),\n    }),\n  };\n}\n","/**\n * Error hierarchy for `@ar-agents/gde-tad`.\n */\n\nimport { ArAgentsError } from \"@ar-agents/core\";\n\n/** Base class — all errors thrown by this package extend this. */\nexport class GdeTadError extends ArAgentsError {\n  constructor(message: string, options?: ErrorOptions) {\n    super(message, {\n      code: \"gde_tad_error\",\n      retryable: false,\n      context: {},\n      cause: options?.cause,\n    });\n    this.name = \"GdeTadError\";\n  }\n}\n\n/** Adapter rejected for missing config (cert, token, env). */\nexport class GdeTadNotConfiguredError extends GdeTadError {\n  constructor(detail: string) {\n    super(`@ar-agents/gde-tad is not configured: ${detail}`);\n    this.name = \"GdeTadNotConfiguredError\";\n  }\n}\n\n/** Authentication / authorization failure against TAD or GDE. */\nexport class GdeTadAuthError extends GdeTadError {\n  constructor(detail: string) {\n    super(`TAD/GDE auth failed: ${detail}`);\n    this.name = \"GdeTadAuthError\";\n  }\n}\n\n/** Pre-flight validation rejected the payload. */\nexport class GdeTadValidationError extends GdeTadError {\n  readonly findings: Array<{ code: string; field: string; message: string }>;\n  constructor(\n    detail: string,\n    findings: Array<{ code: string; field: string; message: string }>,\n  ) {\n    super(detail);\n    this.findings = findings;\n    this.name = \"GdeTadValidationError\";\n  }\n}\n"]}