@gol/sdk 0.1.0-next.0 → 0.3.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner.js","sourceRoot":"","sources":["../src/owner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,GAIZ,MAAM,MAAM,CAAC;AAEd,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GAGzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAO3B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAC5B,4CAAqD,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAC1B,4CAAqD,CAAC;AACxD,MAAM,4BAA4B,GAChC,4CAAqD,CAAC;AACxD,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AAEtC,MAAM,eAAe,GAAG,SAAS,CAC/B,WAAW,CACT,oFAAoF,CACrF,CACF,CAAC;AACF,MAAM,iBAAiB,GAAG,SAAS,CACjC,WAAW,CAAC,4DAA4D,CAAC,CAC1E,CAAC;AACF,MAAM,mBAAmB,GAAG,SAAS,CACnC,WAAW,CACT,kEAAkE,CACnE,CACF,CAAC;AACF,MAAM,sBAAsB,GAAG,SAAS,CACtC,WAAW,CACT,4EAA4E,CAC7E,CACF,CAAC;AAaF,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAEjE,SAAS,UAAU,CAAC,SAA6B;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;SAC1B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;IACJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,OAAO,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,GAAW;IACjD,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1E,OAAO,SAAS,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,IAAI,CAAC,GAAW,EAAE,IAAS;IAClC,OAAO,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,iBAAiB;QACvD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;KAC7D,CAAC;IACF,OAAO,SAAS,CAAC;QACf,QAAQ;QACR,MAAM;QACN,MAAM;QACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACnB,GAAG,KAAK;KACT,CAAC,CAAC,WAAW,EAAS,CAAC;AAC1B,CAAC;AAyBD,sDAAsD;AACtD,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAa;IAChE,OAAO,SAAS,CACd,mBAAmB,CACjB;QACE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;KACpB,EACD;QACE,eAAe;QACf,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACrC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC;QACf,IAAI;KACL,CACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,SAAc,EACd,WAAgB;IAEhB,OAAO,SAAS,CACd,mBAAmB,CACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,CAC5C,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,WAAgB,EAChB,KAAa,EACb,QAAgB;IAEhB,OAAO,SAAS,CACd,mBAAmB,CACjB;QACE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnB,EACD,CAAC,mBAAmB,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CACpD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAc,EACd,UAAiB,EACjB,KAAa,EACb,QAAgB;IAEhB,OAAO,SAAS,CACd,mBAAmB,CACjB;QACE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,OAAO,EAAE;QACjB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnB,EACD,CAAC,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CACjE,CACF,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAA2C;IACrD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAMzC;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,qBAAqB,CAAC;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,SAAS,CACtB,SAAS,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CACzD,CAAC;IACF,IAAI,SAA2B,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5B,SAAS,GAAG;YACV,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE;YAC/C,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YAC5D,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE;gBACP,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aAC9D;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACpC,SAAS,GAAG;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO;gBAChB,OAAO;gBACP,iBAAiB,EAAE,OAAO;aAC3B;YACD,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YAC9D,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE;gBACP,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;aACnE;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,SAAS,GAAG;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO;gBAChB,OAAO;gBACP,iBAAiB,EAAE,OAAO;aAC3B;YACD,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YACtD,WAAW,EAAE,QAAQ;YACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,GAAG;YACV,MAAM,EAAE;gBACN,OAAO;gBACP,iBAAiB,EAAE,4BAA4B;gBAC/C,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;aACpC;YACD,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YAC9D,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,sBAAsB;QAC9B,SAAS;QACT,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC5C,MAAM;QACN,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA2B;IACtD,OAAO,aAAa,CAAC,SAAgD,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA6B,EAC7B,QAMC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpD,IACE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QACjC,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,eAAe;QACnD,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;QAC7D,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE;QACzE,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAClD,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE;QAEpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC/C,CAAC;AAQD,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAmB,EACnB,OAA6B;IAE7B,IACE,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QACpD,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE;QAElC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,OAAO,GAAG,QAAQ,CAAC;IACvB,kqBAAkqB;IAClqB,4EAA4E;IAC5E,uFAAuF;CACxF,CAAC,CAAC;AAsCH,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CACxC,KAAwB,EACxB,aAAkB,EAClB,SAAyB,EACzB,oBAAyB;IAEzB,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,OAAO;QACZ,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE;YACJ;gBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;gBACxC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAChC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC;gBACxD,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAClD,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB;YACD,aAAa;YACb;gBACE,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;gBAC5C,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC5C,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACpC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;gBACtC,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBACxD,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;gBAChD,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;aAC/B;YACD,oBAAoB;SACrB;KACF,CAAC,CAAC;AACL,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,qBAAqB,CACnC,WAAgB,EAChB,QAAgB,EAChB,oBAAyB;IAEzB,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,OAAO;QACZ,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,CAAC;KACpD,CAAC,CAAC;AACL,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAChC,SAAc,EACd,UAAiB,EACjB,QAAgB,EAChB,oBAAyB;IAEzB,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,OAAO;QACZ,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,qEAAqE;AACrE,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,OAAgB,EAChB,MAAe,EACf,IAAS;IAET,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACjE,IAAI,MAAM,KAAK,SAAS;QACtB,OAAO;YACL,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,kBAAkB,CAAC;gBACvB,GAAG,EAAE,QAAQ,CAAC;oBACZ,2EAA2E;iBAC5E,CAAC;gBACF,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;aACzB,CAAC;YACF,SAAS,EAAE,CAAC;SACb,CAAC;IACJ,oFAAoF;IACpF,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,QAAQ,CAAC,CAAC,wDAAwD,CAAC,CAAC;YACzE,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE;gBACJ,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC1B,SAAS,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;aACxD;SACF,CAAC;QACF,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AA8CD,MAAM,OAAO,GAAG,QAAQ,CAAC;IACvB,yCAAyC;IACzC,kNAAkN;CACnN,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,QAAQ,CAAC;IAC7B,sEAAsE;IACtE,uNAAuN;CACxN,CAAC,CAAC;AAUH,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,GAAW,EAAO,EAAE,CACjD,WAAW,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAElD,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB,CAC/B,EAAuB,EACvB,OAAO,GAAG,qBAAqB;IAE/B,MAAM,MAAM,GAAG,SAAS,CACtB,mBAAmB,CACjB;QACE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE;KACpB,EACD;QACE,EAAE,CAAC,MAAM;QACT,EAAE,CAAC,KAAK;QACR,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC;QACtB,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC;QACtB,EAAE,CAAC,gBAAgB;QACnB,EAAE,CAAC,kBAAkB;QACrB,EAAE,CAAC,OAAO;QACV,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC;KAC/B,CACF,CACF,CAAC;IACF,OAAO,SAAS,CACd,mBAAmB,CACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAC3C,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAGC,EACD,MAAqB,EACrB,OAAgB,EAChB,IAAsB,EACtB,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,IAAI,OAAO,KAAK,qBAAqB;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACtE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACtC,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,OAAO;YACZ,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,SAAS,GAAqB;YAClC,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE;YAC/C,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;oBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;iBACnC;aACF;YACD,WAAW,EAAE,QAAQ;YACrB,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,4CAA4C;gBACtD,cAAc,EAAE,4CAA4C;gBAC5D,KAAK;aACN;SACF,CAAC;QACF,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,MAAM;YACN,OAAO;YACP,KAAK;YACL,SAAS;YACT,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC;YAC5C,MAAM,CAAC,UAAU;gBACf,OAAO;oBACL,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,kBAAkB,CAAC;wBACvB,GAAG,EAAE,OAAO;wBACZ,YAAY,EAAE,iBAAiB;wBAC/B,IAAI,EAAE;4BACJ,IAAI,CAAC,EAAE;4BACP,EAAE;4BACF,IAAI,CAAC,IAAI;4BACT,IAAI,CAAC,SAAS;4BACd,EAAE;4BACF,EAAE;4BACF,EAAE;4BACF,4CAA4C;4BAC5C,4CAA4C;4BAC5C,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC;yBACvC;qBACF,CAAC;iBACH,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,eAAe;QACxB,GAAG,EAAE,aAAa;QAClB,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;KAC7C,CAAC,CAAC;IACH,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACrD,IAAI,YAAY,KAAK,SAAS,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/C,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,IAAI,QAAU,CAAC;QACjE,YAAY,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;IACzE,CAAC;IACD,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,QAAU,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,QAAU,CAAC;IACxD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAQ,CAAC;IAClE,MAAM,aAAa,GAAwB;QACzC,MAAM,EAAE,OAAO;QACf,KAAK;QACL,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,EAAE,YAAY,CAAC;QAC7D,kBAAkB;QAClB,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,YAAY,CAAC;QACpD,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,OAAO;QACP,aAAa;QACb,UAAU;QACV,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;QAC5B,MAAM,CAAC,cAAc,EAAE,WAAW;YAChC,MAAM,MAAM,GAAG;gBACb,GAAG,aAAa;gBAChB,SAAS,EAAE,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC;aAC5D,CAAC;YACF,OAAO;gBACL,EAAE,EAAE,eAAe;gBACnB,KAAK,EAAE,EAAE;gBACT,kFAAkF;gBAClF,GAAG,EACD,oBAAoB,GAAG,YAAY,GAAG,kBAAkB,GAAG,OAAQ;gBACrE,aAAa,EAAE,MAAM;gBACrB,IAAI,EAAE,kBAAkB,CAAC;oBACvB,GAAG,EAAE,aAAa;oBAClB,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;iBAC9B,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAmB,EACnB,SAAyB;IAEzB,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB;QACvC,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,WAAW;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAiBD,MAAM,EAAE,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CACpC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA2B,EAC3B,WAA0C,EAAE;IAE5C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAS,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAChD,MAAM,CAAC,GAAG,SAAS,CAAC,YAA+C,CAAC;IACpE,MAAM,CAAC,GAAG,SAAS,CAAC,SAA4C,CAAC;IACjE,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,OAAO,KAAK,qBAAqB;QAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,KAAK,GAAoB;QAC7B,QAAQ,EAAE,CAAC,CAAC,QAAe;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAkB;QAC7B,KAAK,EAAE,CAAC,CAAC,KAAgB;QACzB,gBAAgB,EAAE,CAAC,CAAC,gBAAuB;QAC3C,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAa,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,SAAgB;QAC7B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QACtC,UAAU,EAAE,CAAC,CAAC,UAAiB;QAC/B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5B,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACpD,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,IAAW;KACpB,CAAC;IACF,MAAM,MAAM,GAAmB;QAC7B,SAAS,EAAE,CAAC,CAAC,SAAgB;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAkB;QAC7B,SAAS,EAAE,CAAC,CAAC,SAAgB;QAC7B,gBAAgB,EAAE,CAAC,CAAC,gBAAuB;QAC3C,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAa,CAAC;QACrC,QAAQ,EAAE,CAAC,CAAC,QAAmB;QAC/B,SAAS,EAAE,CAAC,CAAC,SAAoB;QACjC,QAAQ,EAAE,CAAC,CAAC,QAAmB;QAC/B,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAa,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAS,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAChD,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QACxC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAM,CAAC;KACxB,CAAC;IACF,IACE,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACzC,KAAK,CAAC,IAAI,KAAK,CAAC;QAChB,KAAK,CAAC,QAAQ,KAAK,CAAC;QACpB,KAAK,CAAC,oBAAoB,KAAK,CAAC;QAEhC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxB,IACE,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QACpC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClB,IACE,MAAM,CAAC,QAAQ,KAAK,4CAA4C;QAChE,MAAM,CAAC,cAAc,KAAK,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,CAAC;IACpB,MAAM,UAAU,GAAI,CAAC,CAAC,UAAwB,IAAI,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,KAAgB;QACzB,UAAU;QACV,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,qBAA+B,CAAC;QAChE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,iBAA2B,CAAC;KACzD,CAAC,CAAC;IACH,IACE,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC;QACtC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,aAAoB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;QAEhE,IAAI,CAAC,cAAc,CAAC,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAe,CAAC,CAAC;IAC3E,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrB,MAAM,WAAW,GAAG,kBAAkB,CACpC,MAAM,EACN,OAAO,EACP,QAAQ,CAAC,IAAe,CACzB,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC;QAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACnE,IACE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACzB,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;QACrC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,kBAA4B,CAAC,KAAK,MAAM,CAAC,YAAY;QAC9D,MAAM,CAAC,CAAC,CAAC,cAAwB,CAAC,KAAK,MAAM,CAAC,QAAQ;QACtD,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,MAAM,CAAC,kBAAkB;QAC9D,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,SAAS;QAC3C,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,KAAK,CAAC,SAAS;QAE9C,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzB,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QAC1D,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3B,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzB,IACE,QAAQ,CAAC,UAAU;QACnB,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YAC/C,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC9B,IACE,QAAQ,CAAC,qBAAqB,KAAK,SAAS;QAC5C,MAAM,CAAC,CAAC,CAAC,qBAA+B,CAAC,KAAK,QAAQ,CAAC,qBAAqB;QAE5E,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClC,IACE,QAAQ,CAAC,iBAAiB,KAAK,SAAS;QACxC,MAAM,CAAC,CAAC,CAAC,iBAA2B,CAAC,KAAK,QAAQ,CAAC,iBAAiB;QAEpE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7B,IACE,QAAQ,CAAC,kBAAkB,KAAK,SAAS;QACzC,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,kBAAkB;QAEnD,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACtC,IACE,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,cAAc;QAE3C,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjC,0BAA0B,CAAC,OAA+B,EAAE;QAC1D,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAkB;QACpC,IAAI,EAAE,QAAQ,CAAC,IAAe;QAC9B,UAAU,EAAE,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC;QAC9D,OAAO;KACR,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;QAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmB,EACnB,QAA2B,EAC3B,WAA0C,EAAE;IAE5C,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,MAAM,EACN,QAAQ,CAAC,OAA+B,CACzC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,IAAe;QAC5B,IAAI,EAAE,0BAA0B,CAC9B,QAAQ,CAAC,SAAS,CAAC,YAA4C,EAC/D,QAAQ,CAAC,SAAS,CAAC,aAAoB,EACvC,QAAQ,CAAC,SAAS,CAAC,SAAsC,EACzD,SAAS,CACV;KACF,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAmB,EACnB,QAAkC;IAElC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,OAA+B,EAAE;QAC3E,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAkB;QACpC,IAAI,EAAE,QAAQ,CAAC,IAAe;QAC9B,UAAU,EAAE,oBAAoB,CAC9B,QAAQ,CAAC,WAAkB,EAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtB,QAAQ,CAAC,QAAQ,CAClB;QACD,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,MAAM,EACN,QAAQ,CAAC,OAAO,CAAC,OAA+B,CACjD,CAAC;IACF,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,IAAe;QAC5B,IAAI,EAAE,qBAAqB,CACzB,QAAQ,CAAC,WAAkB,EAC3B,QAAQ,CAAC,QAAQ,EACjB,SAAS,CACV;KACF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAmB,EACnB,QAAqC;IAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAC7D,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IACE,QAAQ,CAAC,OAAO,KAAK,qBAAqB;QAC1C,QAAQ,CAAC,UAAU,KAAK,UAAU;QAClC,QAAQ,CAAC,OAAO,CAAC,YAAY,KAAK,cAAc;QAEhD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAA+B,CAAC;IACjE,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAkB;QACpC,IAAI,EAAE,QAAQ,CAAC,IAAe;QAC9B,UAAU,EAAE,sBAAsB,CAChC,QAAQ,CAAC,SAAgB,EACzB,UAAU,EACV,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtB,QAAQ,CAAC,QAAQ,CAClB;QACD,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;IACF,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,IAAe;QAC5B,IAAI,EAAE,kBAAkB,CACtB,QAAQ,CAAC,SAAgB,EACzB,UAAU,EACV,QAAQ,CAAC,QAAQ,EACjB,SAAS,CACV;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Hex } from "viem";
2
+ /** Version 1: canonical UUID bytes followed by 16 zero bytes. */
3
+ export declare function contractProjectId(projectUuid: string): Hex;
4
+ //# sourceMappingURL=project-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-id.d.ts","sourceRoot":"","sources":["../src/project-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAQ1D"}
@@ -0,0 +1,7 @@
1
+ /** Version 1: canonical UUID bytes followed by 16 zero bytes. */
2
+ export function contractProjectId(projectUuid) {
3
+ if (!/^[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}$/.test(projectUuid))
4
+ throw new Error("invalid project UUID");
5
+ return `0x${projectUuid.replaceAll("-", "").toLowerCase()}${"0".repeat(32)}`;
6
+ }
7
+ //# sourceMappingURL=project-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-id.js","sourceRoot":"","sources":["../src/project-id.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,IACE,CAAC,+EAA+E,CAAC,IAAI,CACnF,WAAW,CACZ;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,OAAO,KAAK,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/E,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { ApiKey, ApiKeyIdentityResponse, AuditEvent, ConsoleIdentityResponse, CreateApiKeyInput, CreateApiKeyResponse, CreateProjectInput, ListApiKeysResponse, ListAuditEventsResponse, ListProjectsResponse, Project, RotateApiKeyInput, RotateApiKeyResponse, StartEmailChallengeResponse, VerifyEmailChallengeResponse } from "./types.js";
1
+ import { GolApiError, GolTransportError } from "./errors.js";
2
+ import type { ApiKey, ApiKeyIdentityResponse, AuditEvent, ConsoleIdentityResponse, CreateApiKeyInput, CreateApiKeyResponse, CreateProjectInput, GasExecutionResponse, ListApiKeysResponse, ListAuditEventsResponse, ListProjectsResponse, PrepareGasExecutionInput, PrepareGasExecutionResponse, Project, RotateApiKeyInput, RotateApiKeyResponse, StartEmailChallengeResponse, SubmitGasExecutionInput, VerifyEmailChallengeResponse, AccountStatus, CreateWebhookEndpointInput, CreateWebhookEndpointResponse, GasConfiguration, GasObservation, GasPolicyRecord, ListGasExecutionsResponse, ListGasPoliciesResponse, PrepareGasPolicyInput, PreparedGasPolicy, PreparedPolicyRevocation, PrepareGasPolicySafetyActionInput, PreparedMandateSafetyAction, ConfirmGasPolicySafetyActionInput, SafetyActionObservation, RotateWebhookSecretResponse, WebhookDelivery, WebhookEndpoint } from "./types.js";
2
3
  export interface GolClientOptions {
3
4
  baseUrl: string;
4
5
  fetch?: typeof fetch;
@@ -9,8 +10,59 @@ export interface GolManagementClientOptions extends GolClientOptions {
9
10
  export interface GolApiClientOptions extends GolClientOptions {
10
11
  apiKey: string;
11
12
  }
12
- export declare class GolManagementClient {
13
- private readonly transport;
13
+ interface RequestOptions {
14
+ method?: "GET" | "POST";
15
+ token?: string | null;
16
+ body?: unknown;
17
+ headers?: Record<string, string>;
18
+ }
19
+ declare class PlatformTransport {
20
+ private readonly baseUrl;
21
+ private readonly fetchImplementation;
22
+ constructor(options: GolClientOptions);
23
+ request<Response>(path: string, options?: RequestOptions): Promise<Response>;
24
+ requestWithStatus<Response>(path: string, options?: RequestOptions): Promise<{
25
+ status: number;
26
+ body: Response;
27
+ }>;
28
+ }
29
+ export interface PageOptions {
30
+ limit?: number;
31
+ cursor?: string;
32
+ environment?: "test" | "live";
33
+ }
34
+ /** Project resources shared by server API keys and console sessions. */
35
+ declare abstract class ProjectResources {
36
+ protected abstract readonly transport: PlatformTransport;
37
+ protected abstract token(): string;
38
+ getGasConfiguration(projectId: string): Promise<GasConfiguration>;
39
+ getAccountStatus(projectId: string, account: `0x${string}`): Promise<AccountStatus>;
40
+ listGasPolicies(projectId: string, options?: PageOptions): Promise<ListGasPoliciesResponse>;
41
+ /** Current on-chain policy state. Unknown or conflicting chain state reads as `unavailable`. */
42
+ getGasPolicy(projectId: string, gasPolicyId: `0x${string}`): Promise<GasPolicyRecord>;
43
+ listGasExecutions(projectId: string, options?: PageOptions & {
44
+ state?: string;
45
+ }): Promise<ListGasExecutionsResponse>;
46
+ /** Freezes new submissions under the execution's gas policy until an operator resolves it. */
47
+ openGasExecutionDispute(projectId: string, executionId: string, reason: string): Promise<{
48
+ id: string;
49
+ }>;
50
+ listWebhookEndpoints(projectId: string): Promise<WebhookEndpoint[]>;
51
+ /** The returned `secret` is shown once. Store it to verify deliveries. */
52
+ createWebhookEndpoint(projectId: string, input: CreateWebhookEndpointInput): Promise<CreateWebhookEndpointResponse>;
53
+ rotateWebhookSecret(projectId: string, endpointId: string): Promise<RotateWebhookSecretResponse>;
54
+ setWebhookEndpointEnabled(projectId: string, endpointId: string, enabled: boolean): Promise<WebhookEndpoint>;
55
+ deleteWebhookEndpoint(projectId: string, endpointId: string): Promise<{
56
+ id: string;
57
+ deleted: true;
58
+ }>;
59
+ sendWebhookTest(projectId: string, endpointId: string): Promise<{
60
+ eventId: string;
61
+ }>;
62
+ listWebhookDeliveries(projectId: string, endpointId: string, limit?: number): Promise<WebhookDelivery[]>;
63
+ }
64
+ export declare class GolManagementClient extends ProjectResources {
65
+ protected readonly transport: PlatformTransport;
14
66
  private readonly sessionToken;
15
67
  constructor(options: GolManagementClientOptions);
16
68
  startEmailChallenge(email: string): Promise<StartEmailChallengeResponse>;
@@ -23,13 +75,71 @@ export declare class GolManagementClient {
23
75
  rotateApiKey(projectId: string, apiKeyId: string, input: RotateApiKeyInput): Promise<RotateApiKeyResponse>;
24
76
  revokeApiKey(projectId: string, apiKeyId: string): Promise<ApiKey>;
25
77
  listAuditEvents(projectId: string, limit?: number): Promise<ListAuditEventsResponse>;
78
+ getGasExecution(projectId: string, executionId: string, environment?: "test" | "live"): Promise<GasExecutionResponse>;
79
+ protected token(): string;
26
80
  private requireSession;
27
81
  }
28
- export declare class GolApiClient {
29
- private readonly transport;
82
+ export declare class GolApiClient extends ProjectResources {
83
+ protected readonly transport: PlatformTransport;
30
84
  private readonly apiKey;
31
85
  constructor(options: GolApiClientOptions);
86
+ protected token(): string;
87
+ /** Compile the owner's exact approval. Creates no authority; the owner wallet signs `signing`. */
88
+ prepareGasPolicy(projectId: string, input: PrepareGasPolicyInput): Promise<PreparedGasPolicy>;
89
+ /** Returns the policy once finalized on-chain, or an `observing` status to retry. */
90
+ confirmGasPolicy(projectId: string, draftId: string, transactionHash: `0x${string}`): Promise<{
91
+ status: "confirmed";
92
+ policy: GasPolicyRecord;
93
+ } | GasObservation>;
94
+ prepareGasPolicyRevocation(projectId: string, gasPolicyId: `0x${string}`, deadline?: number): Promise<PreparedPolicyRevocation>;
95
+ confirmGasPolicyRevocation(projectId: string, gasPolicyId: `0x${string}`, transactionHash: `0x${string}`): Promise<{
96
+ status: "confirmed";
97
+ policy: GasPolicyRecord;
98
+ } | GasObservation>;
99
+ prepareGasPolicySafetyAction(projectId: string, gasPolicyId: `0x${string}`, input: PrepareGasPolicySafetyActionInput): Promise<PreparedMandateSafetyAction>;
100
+ confirmGasPolicySafetyAction(projectId: string, gasPolicyId: `0x${string}`, input: ConfirmGasPolicySafetyActionInput): Promise<{
101
+ status: "confirmed";
102
+ policy: GasPolicyRecord;
103
+ } | SafetyActionObservation>;
32
104
  whoami(): Promise<ApiKeyIdentityResponse>;
105
+ getGasExecution(projectId: string, executionId: string): Promise<GasExecutionResponse>;
106
+ /** Fetch the exact EIP-712 payload for the agent wallet to sign. */
107
+ prepareGasExecution(projectId: string, actionId: `0x${string}`, input: PrepareGasExecutionInput): Promise<PrepareGasExecutionResponse>;
108
+ /** Submit a typed transfer signed by the developer's agent. The API owns execution logic. */
109
+ submitGasExecution(projectId: string, actionId: `0x${string}`, input: SubmitGasExecutionInput): Promise<GasExecutionResponse>;
33
110
  }
34
111
  export type { ApiKey, ApiKeyIdentityResponse, AuditEvent, Project };
112
+ export { GolApiError, GolTransportError };
113
+ export interface WaitOptions {
114
+ intervalMs?: number;
115
+ timeoutMs?: number;
116
+ signal?: AbortSignal;
117
+ }
118
+ /** Poll confirmation until the approval reaches the hosted profile's selected Base head. */
119
+ export declare function waitForGasPolicyConfirmation(client: GolApiClient, projectId: string, draftId: string, transactionHash: `0x${string}`, options?: WaitOptions): Promise<GasPolicyRecord>;
120
+ /** Poll an owner pause or resume until both providers confirm it at the selected head. */
121
+ export declare function waitForGasPolicySafetyAction(client: GolApiClient, projectId: string, gasPolicyId: `0x${string}`, input: ConfirmGasPolicySafetyActionInput, options?: WaitOptions): Promise<GasPolicyRecord>;
122
+ /** Poll an execution until `until` returns true, by default a terminal state. Polling is authoritative. */
123
+ export declare function waitForGasExecution(client: GolApiClient, projectId: string, executionId: string, options?: WaitOptions & {
124
+ until?: (execution: GasExecutionResponse) => boolean;
125
+ }): Promise<GasExecutionResponse>;
126
+ export interface GolWebhookEvent<Data = unknown> {
127
+ id: string;
128
+ type: "gas_execution.updated" | "gas_policy.confirmed" | "gas_policy.revoked" | "gas_policy.paused" | "gas_policy.resumed" | "webhook.test" | (string & {});
129
+ createdAt: string;
130
+ projectId: string;
131
+ environment: "test" | "live";
132
+ data: Data;
133
+ }
134
+ export declare class GolWebhookVerificationError extends Error {
135
+ name: string;
136
+ }
137
+ /**
138
+ * Verify a GOL webhook against the exact raw request body. Accepts the
139
+ * current secret and, during rotation, the previous one.
140
+ */
141
+ export declare function verifyWebhook<Data = unknown>(rawBody: string | Uint8Array, headers: Headers | Record<string, string | string[] | undefined>, secrets: string | readonly string[], options?: {
142
+ toleranceSeconds?: number;
143
+ now?: Date;
144
+ }): GolWebhookEvent<Data>;
35
145
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,MAAM,EACN,sBAAsB,EACtB,UAAU,EACV,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AA0ED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,OAAO,EAAE,0BAA0B;IAK/C,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAOxE,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,4BAA4B,CAAC;IAOxC,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAM/C,YAAY,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAM7C,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1D,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS5D,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,oBAAoB,CAAC;IAWhC,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,oBAAoB,CAAC;IAOhC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlE,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,GACT,OAAO,CAAC,uBAAuB,CAAC;IAQnC,OAAO,CAAC,cAAc;CAQvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,mBAAmB;IAQxC,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAG1C;AAiDD,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { createHmac, timingSafeEqual } from "node:crypto";
1
2
  import { GolApiError, GolTransportError } from "./errors.js";
2
3
  class PlatformTransport {
3
4
  baseUrl;
@@ -10,6 +11,9 @@ class PlatformTransport {
10
11
  }
11
12
  }
12
13
  async request(path, options = {}) {
14
+ return (await this.requestWithStatus(path, options)).body;
15
+ }
16
+ async requestWithStatus(path, options = {}) {
13
17
  let response;
14
18
  const request = {
15
19
  method: options.method ?? "GET",
@@ -19,6 +23,7 @@ class PlatformTransport {
19
23
  ? {}
20
24
  : { "content-type": "application/json" }),
21
25
  ...(options.token ? { authorization: `Bearer ${options.token}` } : {}),
26
+ ...options.headers,
22
27
  },
23
28
  cache: "no-store",
24
29
  ...(options.body === undefined
@@ -45,13 +50,92 @@ class PlatformTransport {
45
50
  const error = parseApiError(body);
46
51
  throw new GolApiError(response.status, error?.code ?? "unexpected_response", error?.message ?? "The GOL Platform API rejected the request", error?.correlationId ?? correlationId);
47
52
  }
48
- return body;
53
+ return { status: response.status, body: body };
49
54
  }
50
55
  }
51
- export class GolManagementClient {
56
+ const path = (projectId, suffix, query) => {
57
+ const params = new URLSearchParams();
58
+ for (const [key, value] of Object.entries(query ?? {}))
59
+ if (value !== undefined)
60
+ params.set(key, String(value));
61
+ const search = params.toString();
62
+ return `/v1/projects/${encodeURIComponent(projectId)}${suffix}${search ? `?${search}` : ""}`;
63
+ };
64
+ /** Project resources shared by server API keys and console sessions. */
65
+ class ProjectResources {
66
+ getGasConfiguration(projectId) {
67
+ return this.transport.request(path(projectId, "/gas-configuration"), {
68
+ token: this.token(),
69
+ });
70
+ }
71
+ getAccountStatus(projectId, account) {
72
+ return this.transport.request(path(projectId, `/accounts/${encodeURIComponent(account)}`), {
73
+ token: this.token(),
74
+ });
75
+ }
76
+ listGasPolicies(projectId, options = {}) {
77
+ return this.transport.request(path(projectId, "/gas-policies", { ...options }), { token: this.token() });
78
+ }
79
+ /** Current on-chain policy state. Unknown or conflicting chain state reads as `unavailable`. */
80
+ getGasPolicy(projectId, gasPolicyId) {
81
+ return this.transport.request(path(projectId, `/gas-policies/${encodeURIComponent(gasPolicyId)}`), {
82
+ token: this.token(),
83
+ });
84
+ }
85
+ listGasExecutions(projectId, options = {}) {
86
+ return this.transport.request(path(projectId, "/gas-executions", { ...options }), { token: this.token() });
87
+ }
88
+ /** Freezes new submissions under the execution's gas policy until an operator resolves it. */
89
+ openGasExecutionDispute(projectId, executionId, reason) {
90
+ return this.transport.request(path(projectId, `/gas-executions/${encodeURIComponent(executionId)}/disputes`), {
91
+ method: "POST",
92
+ token: this.token(),
93
+ body: { reason },
94
+ });
95
+ }
96
+ async listWebhookEndpoints(projectId) {
97
+ return (await this.transport.request(path(projectId, "/webhook-endpoints"), {
98
+ token: this.token(),
99
+ })).data;
100
+ }
101
+ /** The returned `secret` is shown once. Store it to verify deliveries. */
102
+ createWebhookEndpoint(projectId, input) {
103
+ return this.transport.request(path(projectId, "/webhook-endpoints"), {
104
+ method: "POST",
105
+ token: this.token(),
106
+ body: input,
107
+ });
108
+ }
109
+ rotateWebhookSecret(projectId, endpointId) {
110
+ return this.transport.request(path(projectId, `/webhook-endpoints/${encodeURIComponent(endpointId)}/rotate-secret`), {
111
+ method: "POST",
112
+ token: this.token(),
113
+ });
114
+ }
115
+ setWebhookEndpointEnabled(projectId, endpointId, enabled) {
116
+ return this.transport.request(path(projectId, `/webhook-endpoints/${encodeURIComponent(endpointId)}/${enabled ? "enable" : "disable"}`), { method: "POST", token: this.token() });
117
+ }
118
+ deleteWebhookEndpoint(projectId, endpointId) {
119
+ return this.transport.request(path(projectId, `/webhook-endpoints/${encodeURIComponent(endpointId)}/delete`), {
120
+ method: "POST",
121
+ token: this.token(),
122
+ });
123
+ }
124
+ sendWebhookTest(projectId, endpointId) {
125
+ return this.transport.request(path(projectId, `/webhook-endpoints/${encodeURIComponent(endpointId)}/test`), {
126
+ method: "POST",
127
+ token: this.token(),
128
+ });
129
+ }
130
+ async listWebhookDeliveries(projectId, endpointId, limit = 30) {
131
+ return (await this.transport.request(path(projectId, `/webhook-endpoints/${encodeURIComponent(endpointId)}/deliveries`, { limit }), { token: this.token() })).data;
132
+ }
133
+ }
134
+ export class GolManagementClient extends ProjectResources {
52
135
  transport;
53
136
  sessionToken;
54
137
  constructor(options) {
138
+ super();
55
139
  this.transport = new PlatformTransport(options);
56
140
  this.sessionToken = options.sessionToken ?? null;
57
141
  }
@@ -106,6 +190,12 @@ export class GolManagementClient {
106
190
  const normalizedLimit = Math.max(1, Math.min(100, Math.floor(limit)));
107
191
  return this.transport.request(`/v1/projects/${encodeURIComponent(projectId)}/audit-events?limit=${normalizedLimit}`, { token: this.requireSession() });
108
192
  }
193
+ getGasExecution(projectId, executionId, environment = "test") {
194
+ return this.transport.request(`/v1/projects/${encodeURIComponent(projectId)}/gas-executions/${encodeURIComponent(executionId)}?environment=${environment}`, { token: this.requireSession() });
195
+ }
196
+ token() {
197
+ return this.requireSession();
198
+ }
109
199
  requireSession() {
110
200
  if (!this.sessionToken) {
111
201
  throw new GolTransportError("A console session token is required for this operation");
@@ -113,19 +203,91 @@ export class GolManagementClient {
113
203
  return this.sessionToken;
114
204
  }
115
205
  }
116
- export class GolApiClient {
206
+ export class GolApiClient extends ProjectResources {
117
207
  transport;
118
208
  apiKey;
119
209
  constructor(options) {
210
+ super();
120
211
  if (!/^gol_(test|live)_[A-Za-z0-9_-]+$/.test(options.apiKey)) {
121
212
  throw new GolTransportError("The API key format is invalid");
122
213
  }
123
214
  this.transport = new PlatformTransport(options);
124
215
  this.apiKey = options.apiKey;
125
216
  }
217
+ token() {
218
+ return this.apiKey;
219
+ }
220
+ /** Compile the owner's exact approval. Creates no authority; the owner wallet signs `signing`. */
221
+ prepareGasPolicy(projectId, input) {
222
+ return this.transport.request(path(projectId, "/gas-policies/prepare"), {
223
+ method: "POST",
224
+ token: this.apiKey,
225
+ body: input,
226
+ });
227
+ }
228
+ /** Returns the policy once finalized on-chain, or an `observing` status to retry. */
229
+ async confirmGasPolicy(projectId, draftId, transactionHash) {
230
+ const result = await this.transport.requestWithStatus(path(projectId, "/gas-policies/confirm"), {
231
+ method: "POST",
232
+ token: this.apiKey,
233
+ body: { draftId, transactionHash },
234
+ });
235
+ return result.status === 202
236
+ ? result.body
237
+ : { status: "confirmed", policy: result.body };
238
+ }
239
+ prepareGasPolicyRevocation(projectId, gasPolicyId, deadline) {
240
+ return this.transport.request(path(projectId, `/gas-policies/${encodeURIComponent(gasPolicyId)}/revocations/prepare`), {
241
+ method: "POST",
242
+ token: this.apiKey,
243
+ body: deadline === undefined ? {} : { deadline },
244
+ });
245
+ }
246
+ async confirmGasPolicyRevocation(projectId, gasPolicyId, transactionHash) {
247
+ const result = await this.transport.requestWithStatus(path(projectId, `/gas-policies/${encodeURIComponent(gasPolicyId)}/revocations/confirm`), { method: "POST", token: this.apiKey, body: { transactionHash } });
248
+ return result.status === 202
249
+ ? result.body
250
+ : { status: "confirmed", policy: result.body };
251
+ }
252
+ prepareGasPolicySafetyAction(projectId, gasPolicyId, input) {
253
+ return this.transport.request(path(projectId, `/gas-policies/${encodeURIComponent(gasPolicyId)}/safety-actions/prepare`), { method: "POST", token: this.apiKey, body: input });
254
+ }
255
+ async confirmGasPolicySafetyAction(projectId, gasPolicyId, input) {
256
+ const result = await this.transport.requestWithStatus(path(projectId, `/gas-policies/${encodeURIComponent(gasPolicyId)}/safety-actions/confirm`), { method: "POST", token: this.apiKey, body: input });
257
+ return result.status === 202
258
+ ? result.body
259
+ : { status: "confirmed", policy: result.body };
260
+ }
126
261
  whoami() {
127
262
  return this.transport.request("/v1/whoami", { token: this.apiKey });
128
263
  }
264
+ getGasExecution(projectId, executionId) {
265
+ return this.transport.request(`/v1/projects/${encodeURIComponent(projectId)}/gas-executions/${encodeURIComponent(executionId)}`, { token: this.apiKey });
266
+ }
267
+ /** Fetch the exact EIP-712 payload for the agent wallet to sign. */
268
+ prepareGasExecution(projectId, actionId, input) {
269
+ if (!/^0x[0-9a-fA-F]{64}$/.test(actionId)) {
270
+ throw new GolTransportError("actionId must be a 32-byte hex value");
271
+ }
272
+ return this.transport.request(`/v1/projects/${encodeURIComponent(projectId)}/gas-executions/prepare`, {
273
+ method: "POST",
274
+ token: this.apiKey,
275
+ headers: { "idempotency-key": actionId },
276
+ body: input,
277
+ });
278
+ }
279
+ /** Submit a typed transfer signed by the developer's agent. The API owns execution logic. */
280
+ submitGasExecution(projectId, actionId, input) {
281
+ if (!/^0x[0-9a-fA-F]{64}$/.test(actionId)) {
282
+ throw new GolTransportError("actionId must be a 32-byte hex value");
283
+ }
284
+ return this.transport.request(`/v1/projects/${encodeURIComponent(projectId)}/gas-executions`, {
285
+ method: "POST",
286
+ token: this.apiKey,
287
+ headers: { "idempotency-key": actionId },
288
+ body: input,
289
+ });
290
+ }
129
291
  }
130
292
  function parseApiError(body) {
131
293
  if (!body || typeof body !== "object" || !("error" in body))
@@ -161,4 +323,97 @@ function normalizeBaseUrl(value) {
161
323
  }
162
324
  return url.toString().replace(/\/$/, "");
163
325
  }
326
+ export { GolApiError, GolTransportError };
327
+ const TERMINAL_EXECUTION_STATES = new Set([
328
+ "collected",
329
+ "uncollectable",
330
+ "rejected_preflight",
331
+ ]);
332
+ const sleep = (ms, signal) => new Promise((resolve, reject) => {
333
+ const timer = setTimeout(resolve, ms);
334
+ signal?.addEventListener("abort", () => {
335
+ clearTimeout(timer);
336
+ reject(signal.reason ?? new Error("aborted"));
337
+ });
338
+ });
339
+ /** Poll confirmation until the approval reaches the hosted profile's selected Base head. */
340
+ export async function waitForGasPolicyConfirmation(client, projectId, draftId, transactionHash, options = {}) {
341
+ const deadline = Date.now() + (options.timeoutMs ?? 90 * 60_000);
342
+ for (;;) {
343
+ const result = await client.confirmGasPolicy(projectId, draftId, transactionHash);
344
+ if (result.status === "confirmed")
345
+ return result.policy;
346
+ if (Date.now() > deadline)
347
+ throw new GolTransportError("Gas policy confirmation timed out");
348
+ await sleep(options.intervalMs ?? 15_000, options.signal);
349
+ }
350
+ }
351
+ /** Poll an owner pause or resume until both providers confirm it at the selected head. */
352
+ export async function waitForGasPolicySafetyAction(client, projectId, gasPolicyId, input, options = {}) {
353
+ const deadline = Date.now() + (options.timeoutMs ?? 90 * 60_000);
354
+ for (;;) {
355
+ const result = await client.confirmGasPolicySafetyAction(projectId, gasPolicyId, input);
356
+ if (result.status === "confirmed")
357
+ return result.policy;
358
+ if (Date.now() > deadline)
359
+ throw new GolTransportError("Gas policy safety action timed out");
360
+ await sleep(options.intervalMs ?? 15_000, options.signal);
361
+ }
362
+ }
363
+ /** Poll an execution until `until` returns true, by default a terminal state. Polling is authoritative. */
364
+ export async function waitForGasExecution(client, projectId, executionId, options = {}) {
365
+ const until = options.until ??
366
+ ((e) => TERMINAL_EXECUTION_STATES.has(e.state));
367
+ const deadline = Date.now() + (options.timeoutMs ?? 120 * 60_000);
368
+ for (;;) {
369
+ const execution = await client.getGasExecution(projectId, executionId);
370
+ if (until(execution))
371
+ return execution;
372
+ if (Date.now() > deadline)
373
+ throw new GolTransportError("Gas execution polling timed out");
374
+ await sleep(options.intervalMs ?? 15_000, options.signal);
375
+ }
376
+ }
377
+ export class GolWebhookVerificationError extends Error {
378
+ name = "GolWebhookVerificationError";
379
+ }
380
+ /**
381
+ * Verify a GOL webhook against the exact raw request body. Accepts the
382
+ * current secret and, during rotation, the previous one.
383
+ */
384
+ export function verifyWebhook(rawBody, headers, secrets, options = {}) {
385
+ const header = (name) => {
386
+ if (typeof headers.get === "function")
387
+ return headers.get(name) ?? undefined;
388
+ const value = headers[name];
389
+ return Array.isArray(value) ? value[0] : value;
390
+ };
391
+ const body = typeof rawBody === "string"
392
+ ? rawBody
393
+ : Buffer.from(rawBody).toString("utf8");
394
+ const timestamp = Number(header("gol-webhook-timestamp"));
395
+ const signatureHeader = header("gol-webhook-signature");
396
+ if (!Number.isInteger(timestamp) || !signatureHeader)
397
+ throw new GolWebhookVerificationError("missing webhook signature headers");
398
+ const now = Math.floor((options.now ?? new Date()).getTime() / 1000);
399
+ if (Math.abs(now - timestamp) > (options.toleranceSeconds ?? 300))
400
+ throw new GolWebhookVerificationError("webhook timestamp is outside the tolerance");
401
+ const provided = signatureHeader
402
+ .split(" ")
403
+ .filter((part) => part.startsWith("v1="))
404
+ .map((part) => Buffer.from(part.slice(3), "hex"));
405
+ const valid = (typeof secrets === "string" ? [secrets] : secrets).some((secret) => {
406
+ const expected = createHmac("sha256", secret)
407
+ .update(`${timestamp}.${body}`)
408
+ .digest();
409
+ return provided.some((candidate) => candidate.length === expected.length &&
410
+ timingSafeEqual(candidate, expected));
411
+ });
412
+ if (!valid)
413
+ throw new GolWebhookVerificationError("webhook signature is invalid");
414
+ const event = JSON.parse(body);
415
+ if (event.id !== header("gol-webhook-id"))
416
+ throw new GolWebhookVerificationError("webhook id mismatch");
417
+ return event;
418
+ }
164
419
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}