@strimz/shared-types 0.1.1 → 0.2.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.
- package/dist/api-keys.cjs +6 -1
- package/dist/api-keys.cjs.map +1 -1
- package/dist/api-keys.d.cts +12 -12
- package/dist/api-keys.d.ts +12 -12
- package/dist/api-keys.js +6 -1
- package/dist/api-keys.js.map +1 -1
- package/dist/events.cjs +21 -3
- package/dist/events.cjs.map +1 -1
- package/dist/events.d.cts +12 -12
- package/dist/events.d.ts +12 -12
- package/dist/events.js +21 -3
- package/dist/events.js.map +1 -1
- package/dist/index.cjs +181 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +295 -10
- package/dist/index.d.ts +295 -10
- package/dist/index.js +160 -5
- package/dist/index.js.map +1 -1
- package/dist/merchants.cjs +59 -1
- package/dist/merchants.cjs.map +1 -1
- package/dist/merchants.d.cts +171 -1
- package/dist/merchants.d.ts +171 -1
- package/dist/merchants.js +55 -2
- package/dist/merchants.js.map +1 -1
- package/dist/payment-sessions.cjs +6 -2
- package/dist/payment-sessions.cjs.map +1 -1
- package/dist/payment-sessions.d.cts +19 -3
- package/dist/payment-sessions.d.ts +19 -3
- package/dist/payment-sessions.js +6 -3
- package/dist/payment-sessions.js.map +1 -1
- package/dist/refunds.cjs +12 -0
- package/dist/refunds.cjs.map +1 -1
- package/dist/refunds.d.cts +134 -1
- package/dist/refunds.d.ts +134 -1
- package/dist/refunds.js +11 -1
- package/dist/refunds.js.map +1 -1
- package/dist/storefronts.cjs +14 -0
- package/dist/storefronts.cjs.map +1 -1
- package/dist/storefronts.d.cts +37 -1
- package/dist/storefronts.d.ts +37 -1
- package/dist/storefronts.js +13 -1
- package/dist/storefronts.js.map +1 -1
- package/dist/webhooks.cjs +6 -0
- package/dist/webhooks.cjs.map +1 -1
- package/dist/webhooks.d.cts +60 -1
- package/dist/webhooks.d.ts +60 -1
- package/dist/webhooks.js +6 -1
- package/dist/webhooks.js.map +1 -1
- package/package.json +1 -1
- package/src/api-keys.ts +5 -0
- package/src/contact.ts +26 -0
- package/src/index.ts +2 -0
- package/src/merchants.ts +84 -0
- package/src/notifications.ts +88 -0
- package/src/payment-sessions.ts +24 -2
- package/src/refunds.ts +19 -0
- package/src/storefronts.ts +24 -0
- package/src/webhooks.ts +12 -0
package/dist/events.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common.ts","../src/payment-sessions.ts","../src/transactions.ts","../src/subscriptions.ts","../src/refunds.ts","../src/invoices.ts","../src/agents.ts","../src/compliance.ts","../src/webhooks.ts","../src/events.ts"],"names":["z"],"mappings":";;;;;AAQO,IAAM,QAAA,GAAWA,KAAA,CACrB,MAAA,EAAO,CACP,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,EAAE,CAAA,CACN,KAAA,CAAM,kBAAA,EAAoB,qBAAqB,CAAA;AAG3C,IAAM,gBAAA,GAAmBA,KAAA,CAC7B,MAAA,EAAO,CACP,KAAA,CAAM,qBAAA,EAAuB,oDAAoD,CAAA,CACjF,SAAA,CAAU,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA;AAG5B,IAAM,kBAAkBA,KAAA,CAC5B,MAAA,EAAO,CACP,KAAA,CAAM,uBAAuB,6DAA6D,CAAA;AAGtF,IAAM,WAAA,GAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK,CAAE,WAAA,EAAY,CAAE,GAAA,CAAI,GAAG,CAAA;AAGnE,IAAM,cAAA,GAAiBA,KAAA,CAC3B,MAAA,EAAO,CACP,GAAA,EAAI,CACJ,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,UAAA,CAAW,UAAU,CAAA,EAAG;AAAA,EACvC,OAAA,EAAS;AACX,CAAC,CAAA;AAG0BA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AAOjC,IAAM,iBAAA,GAAoBA,KAAA,CAC9B,MAAA,EAAO,CACP,MAAM,UAAA,EAAY,iDAAiD,CAAA,CACnE,MAAA,CAAO,CAAC,CAAA,KAAM,MAAA,CAAO,CAAC,CAAA,IAAK,IAAI,cAAc,CAAA;AAGtBA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,MAAA,CAAO,gBAAgB;AAGtE,IAAM,kBAAA,GAAqBA,KAAA,CAC/B,MAAA,EAAO,CACP,QAAA,CAAS,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,+BAAA,EAAiC,CAAA;AAGrCA,MAC9B,MAAA,EAAO,CACP,OAAO,CAAC,CAAA,CACR,KAAA,CAAM,YAAA,EAAc,0CAA0C;AAG5BA,MAAE,MAAA,CAAO;AAAA,EAC5C,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAQ,EAAE,CAAA;AAAA,EAClD,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,OAAA;AACrC,CAAC;AAYM,IAAM,iBAAiBA,KAAA,CAC3B,MAAA;AAAA,EACCA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EACxBA,MAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,CAAE,IAAI,GAAG,CAAA,EAAGA,KAAA,CAAE,MAAA,IAAUA,KAAA,CAAE,OAAA,IAAWA,KAAA,CAAE,IAAA,EAAM,CAAC;AAClE,CAAA,CACC,MAAA,CAAO,CAAC,CAAA,KAAM,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA,CAAE,MAAA,IAAU,EAAA,EAAI,0BAA0B,CAAA,CACrE,OAAA,CAAQ,EAAE,CAAA;AAGN,IAAM,aAAaA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAI1C,IAAM,wBAAwBA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAI3BA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAM,CAAC;AAI9BA,MAAE,IAAA,CAAK,CAAC,QAAQ,QAAA,EAAU,UAAA,EAAY,YAAY,CAAC;AAIjDA,KAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,SAAS,CAAC;AClF1D,IAAM,0BAAA,GAA6BA,MAAE,IAAA,CAAK;AAAA,EAC/C,SAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASZ,eAAA,EAAiBA,MACd,MAAA,EAAO,CACP,MAAM,WAAA,EAAa,+CAA+C,EAClE,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQZ,YAAA,EAAc,iBAAiB,QAAA,EAAS;AAAA,EACxC,UAAA,EAAY,SAAS,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,0BAAA;AAAA,EACR,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,SAAA,EAAW,iBAAA;AAAA,EACX,SAAA,EAAW,iBAAA;AAAA,EACX,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,kBAAA,EAAoB,iBAAiB,QAAA,EAAS;AAAA,EAC9C,YAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,GAAQ,QAAA,EAAS;AAAA,EACxC,YAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACtC,WAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACrC,WAAA,EAAaA,KAAAA,CACV,IAAA,CAAK,CAAC,OAAO,UAAA,EAAY,MAAA,EAAQ,SAAA,EAAW,UAAA,EAAY,UAAA,EAAY,WAAA,EAAa,QAAQ,CAAC,EAC1F,QAAA,EAAS;AAAA,EACZ,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,aAAA,EAAe,gBAAgB,QAAA,EAAS;AAAA,EACxC,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI;AAAA,EAC5B,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAK8CA,MAAE,MAAA,CAAO;AAAA,EACtD,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,QAAA,EAAUA,MACP,MAAA,CAAO;AAAA,IACN,aAAA,EAAe,iBAAiB,QAAA,EAAS;AAAA,IACzC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,GAAQ,QAAA,EAAS;AAAA,IACnC,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAAS,GAC3C,EACA,QAAA,EAAS;AAAA,EACZ,YAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACtC,WAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA;AAAA,EAErC,gBAAA,EAAkBA,KAAAA,CACf,MAAA,EAAO,CACP,KAAI,CACJ,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,EAAA,GAAK,EAAE,CAAA,CACX,QAAQ,EAAE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb,uBAAuBA,KAAAA,CACpB,KAAA;AAAA,IACCA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAA,EAAY,MAAA,EAAQ,SAAA,EAAW,UAAA,EAAY,UAAA,EAAY,WAAA,EAAa,QAAQ,CAAC;AAAA,IAE7F,QAAA,EAAS;AAAA,EACZ,QAAA,EAAU,eAAe,QAAA;AAC3B,CAAC;AAG8CA,MAAE,MAAA,CAAO;AAAA,EACtD,WAAA,EAAaA,MAAE,IAAA,CAAK;AAAA,IAClB,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe,eAAA;AAAA,EACf,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,kBAAA,EAAoB;AACtB,CAAC;AC/GM,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,0BAA0BA,KAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,WAAA,EAAa,QAAQ,CAAC,CAAA;AAGzE,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,IAAA,EAAM,qBAAA;AAAA,EACN,MAAA,EAAQ,uBAAA;AAAA,EACR,SAAA,EAAW,SAAS,QAAA,EAAS;AAAA,EAC7B,cAAA,EAAgB,SAAS,QAAA,EAAS;AAAA,EAClC,oBAAA,EAAsB,SAAS,QAAA,EAAS;AAAA,EACxC,QAAA,EAAU,SAAS,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAY,SAAS,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,iBAAA;AAAA,EACR,SAAA,EAAW,iBAAA;AAAA,EACX,SAAA,EAAW,iBAAA;AAAA,EACX,QAAA,EAAU,qBAAA;AAAA,EACV,YAAA,EAAc,gBAAA;AAAA,EACd,eAAA,EAAiB,gBAAA;AAAA,EACjB,aAAA,EAAe,eAAA;AAAA,EACf,aAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC1C,cAAA,EAAgB,kBAAA;AAAA,EAChB,SAAA,EAAW;AACb,CAAC,CAAA;AC3BM,IAAM,0BAAA,GAA6BA,MAAE,IAAA,CAAK;AAAA,EAC/C,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,+BAA+BA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAGnCA,MAAE,MAAA,CAAO;AAAA,EAC7C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOZ,eAAA,EAAiBA,MACd,MAAA,EAAO,CACP,MAAM,WAAA,EAAa,+CAA+C,EAClE,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,YAAA,EAAc,iBAAiB,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMxC,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC3C,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,QAAA,EAAU,0BAAA;AAAA,EACV,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC9C,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,MAAA,EAAQ,4BAAA;AAAA,EACR,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC;AAGgDA,MAAE,MAAA,CAAO;AAAA,EACxD,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,QAAA,EAAU,0BAAA;AAAA,EACV,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EACzD,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,QAAA,EAAU,eAAe,QAAA;AAC3B,CAAC;AAKM,IAAM,wBAAA,GAA2BA,MAAE,IAAA,CAAK;AAAA,EAC7C,UAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,EAAA,EAAI,QAAA;AAAA,EACJ,qBAAA,EAAuBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAC/D,UAAA,EAAY,QAAA;AAAA,EACZ,UAAA,EAAY,QAAA;AAAA,EACZ,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,wBAAA;AAAA,EACR,YAAA,EAAc,gBAAA;AAAA,EACd,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,0BAAA;AAAA,EACV,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,IAAI,CAAC,CAAA;AAAA,EACrC,WAAA,EAAa,mBAAmB,QAAA,EAAS;AAAA,EACzC,oBAAA,EAAsB,kBAAA;AAAA,EACtB,kBAAA,EAAoB,kBAAA;AAAA,EACpB,YAAA,EAAc,mBAAmB,QAAA,EAAS;AAAA,EAC1C,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAChD,WAAA,EAAa,mBAAmB,QAAA,EAAS;AAAA,EACzC,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAG4CA,MAAE,MAAA,CAAO;AAAA,EACpD,MAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,aAAA,EAAe,gBAAA;AAAA,IACf,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,GAAQ,QAAA,EAAS;AAAA,IACnC,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAAS,GAC3C,CAAA;AAAA,EACD,kBAAkBA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,EAAGA,KAAAA,CAAE,QAAQ,EAAE,CAAA,EAAGA,MAAE,OAAA,CAAQ,EAAE,CAAC,CAAC,CAAA,CAAE,QAAQ,EAAE,CAAA;AAAA,EACnF,QAAA,EAAU,eAAe,QAAA;AAC3B,CAAC;AAG4CA,MAAE,MAAA,CAAO;AAAA,EACpD,EAAA,EAAI,QAAA;AAAA,EACJ,QAAQA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAC9B,CAAC;AAKM,IAAM,+BAAA,GAAkCA,MAAE,IAAA,CAAK;AAAA,EACpD,SAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,8BAAA,GAAiCA,MAAE,IAAA,CAAK;AAAA,EACnD,SAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAI,QAAA;AAAA,EACJ,cAAA,EAAgB,QAAA;AAAA,EAChB,UAAA,EAAY,QAAA;AAAA,EACZ,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAA,CAAO,IAAI,0CAA0C,CAAA;AAAA,EACjF,aAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA,EACb,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,8BAAA;AAAA,EACR,OAAA,EAAS,gCAAgC,QAAA,EAAS;AAAA,EAClD,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,IAAI,CAAC,CAAA;AAAA,EACrC,WAAA,EAAa,kBAAA;AAAA,EACb,UAAA,EAAY,mBAAmB,QAAA,EAAS;AAAA,EACxC,aAAA,EAAe,gBAAgB,QAAA,EAAS;AAAA,EACxC,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC5C,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AChKM,IAAM,kBAAA,GAAqBA,MAAE,IAAA,CAAK;AAAA,EACvC,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,kBAAA,GAAqBA,MAAE,IAAA,CAAK;AAAA,EACvC,SAAA;AAAA,EACA,oBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,YAAA,GAAeA,MAAE,MAAA,CAAO;AAAA,EACnC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,aAAA,EAAe,QAAA;AAAA,EACf,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,kBAAA;AAAA,EACR,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EACnC,MAAA,EAAQ,kBAAA;AAAA,EACR,YAAA,EAAc,gBAAA;AAAA,EACd,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC5C,WAAA,EAAa,QAAA;AAAA,EACb,SAAA,EAAW,kBAAA;AAAA,EACX,WAAA,EAAa,mBAAmB,QAAA;AAClC,CAAC,CAAA;AAGsCA,MAAE,MAAA,CAAO;AAAA,EAC9C,aAAA,EAAe,QAAA;AAAA,EACf,MAAA,EAAQ,iBAAA;AAAA,EACR,MAAA,EAAQ,kBAAA;AAAA,EACR,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAC5B,CAAC;AAG+CA,MAAE,MAAA,CAAO;AAAA,EACvD,EAAA,EAAI,QAAA;AAAA,EACJ,YAAA,EAAc;AAChB,CAAC;ACrDM,IAAM,mBAAA,GAAsBA,MAAE,IAAA,CAAK,CAAC,SAAS,MAAA,EAAQ,MAAA,EAAQ,SAAA,EAAW,MAAM,CAAC,CAAA;AAG/E,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACtC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAM,CAAA;AAAA,EAC5C,UAAA,EAAY;AACd,CAAC,CAAA;AAGM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EACpC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,MAAA,EAAQA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EAChC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAe,YAAY,QAAA,EAAS;AAAA,EACpC,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,EACnD,QAAA,EAAU,iBAAA;AAAA,EACV,KAAA,EAAO,iBAAA;AAAA,EACP,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,mBAAA;AAAA,EACR,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA,EACpC,SAAA,EAAW,SAAS,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAO,kBAAA;AAAA,EACP,MAAA,EAAQ,mBAAmB,QAAA,EAAS;AAAA,EACpC,MAAA,EAAQ,mBAAmB,QAAA,EAAS;AAAA,EACpC,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAGuCA,MAAE,MAAA,CAAO;AAAA,EAC/C,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAe,YAAY,QAAA,EAAS;AAAA,EACpC,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,EACnD,QAAA,EAAU,qBAAA;AAAA,EACV,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA,EACpC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAQ,CAAC;AACtD,CAAC;ACnCkCA,MAAE,MAAA,CAAO;AAAA,EAC1C,EAAA,EAAI,QAAA;AAAA;AAAA,EAEJ,cAAA,EAAgB,gBAAA;AAAA;AAAA,EAEhB,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,kBAAkB,CAAA;AAAA,EACrD,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,OAAA,EAASA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EACjC,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,YAAA,EAAc;AAChB,CAAC;AAKM,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,UAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,UAAA,EAAY,QAAA;AAAA,EACZ,qBAAqBA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9D,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,kBAAkBA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,EAAGA,KAAAA,CAAE,QAAQ,EAAE,CAAA,EAAGA,MAAE,OAAA,CAAQ,EAAE,CAAC,CAAC,CAAA,CAAE,QAAQ,EAAE,CAAA;AAAA,IACnF,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,SAAS,kBAAkB,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,IACvE,sBAAsBA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA;AAAS,GACrD,CAAA;AAAA,EACD,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,aAAA,EAAeA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,IACxC,kBAAA,EAAoBA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAU,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE,kBAAA,EAAoBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,IAC7C,yBAAA,EAA2BA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,GAAO;AAAA,GAC1E,CAAA;AAAA,EACD,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,iCAAA,EAAmCA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,GAAO,CAAA;AAAA,IACjF,iBAAiBA,KAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACrD,uBAAA,EAAyBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA;AAAS,GAClE,CAAA;AAAA,EACD,SAAA,EAAW;AACb,CAAC,CAAA;AAG2C,yBAAA,CACzC,IAAA,CAAK,EAAE,UAAA,EAAY,MAAM,SAAA,EAAW,IAAA,EAAM,CAAA,CAC1C,OAAA;AAKI,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,4BAAA;AAAA,EACA,0BAAA;AAAA,EACA,yBAAA;AAAA,EACA,oBAAA;AAAA,EACA,0BAAA;AAAA,EACA,2BAAA;AAAA,EACA,sBAAA;AAAA,EACA,0BAAA;AAAA,EACA,0BAAA;AAAA,EACA,sBAAA;AAAA,EACA,uBAAA;AAAA,EACA,wBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,wBAAA,GAA2BA,MAAE,IAAA,CAAK,CAAC,WAAW,SAAA,EAAW,SAAA,EAAW,SAAS,CAAC,CAAA;AAGpF,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,UAAA,EAAY,qBAAA;AAAA,EACZ,UAAA,EAAY,qBAAA;AAAA,EACZ,OAAA,EAAS,wBAAA;AAAA,EACT,cAAA,EAAgB,SAAS,QAAA,EAAS;AAAA,EAClC,aAAA,EAAe,SAAS,QAAA,EAAS;AAAA,EACjC,KAAA,EAAO,SAAS,QAAA,EAAS;AAAA,EACzB,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW;AACb,CAAC,CAAA;AAKM,IAAM,oBAAA,GAAuBA,MAAE,IAAA,CAAK;AAAA,EACzC,UAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA;AAAA,EAEZ,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EACtD,aAAA,EAAe,gBAAA;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAI,CAAA;AAAA,EACvC,MAAA,EAAQ,iBAAA;AAAA,EACR,UAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EACjC,MAAA,EAAQ,oBAAA;AAAA,EACR,eAAA,EAAiB,gBAAA;AAAA,EACjB,iBAAiBA,KAAAA,CACd,MAAA,GACA,KAAA,CAAM,kBAAkB,EACxB,QAAA,EAAS;AAAA,EACZ,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,aAAA,EAAe,gBAAgB,QAAA,EAAS;AAAA,EACxC,SAAA,EAAW,kBAAA;AAAA,EACX,WAAA,EAAa,mBAAmB,QAAA;AAClC,CAAC,CAAA;AAGwCA,MAAE,MAAA,CAAO;AAAA,EAChD,aAAA,EAAe,gBAAA;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAI,CAAA;AAAA,EACvC,MAAA,EAAQ,iBAAA;AAAA,EACR,UAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EACjC,eAAA,EAAiB,iBAAiB,QAAA;AACpC,CAAC;ACxIM,IAAM,2BAA2BA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAA,EAAY,UAAU,CAAC,CAAA;AAGvE,IAAM,sBAAA,GAAyBA,MAAE,IAAA,CAAK,CAAC,SAAS,SAAA,EAAW,SAAA,EAAW,OAAO,CAAC,CAAA;AAG9E,IAAM,gCAAA,GAAmCA,MAAE,IAAA,CAAK;AAAA,EACrD,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,EAAA,EAAI,QAAA;AAAA,EACJ,aAAA,EAAe,gBAAA;AAAA,EACf,QAAA,EAAU,wBAAA;AAAA,EACV,MAAA,EAAQ,sBAAA;AAAA,EACR,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC/C,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9C,OAAA,EAAS,gCAAA;AAAA,EACT,UAAA,EAAY,SAAS,QAAA,EAAS;AAAA,EAC9B,SAAA,EAAW,SAAS,QAAA,EAAS;AAAA,EAC7B,cAAA,EAAgB,SAAS,QAAA,EAAS;AAAA,EAClC,mBAAmBA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAChD,SAAA,EAAW;AACb,CAAC,CAAA;ACrBM,IAAM,sBAAA,GAAyBA,MAAE,IAAA,CAAK;AAAA,EAC3C,iBAAA;AAAA,EACA,mBAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,4BAAA;AAAA,EACA,+BAAA;AAAA,EACA,+BAAA;AAAA,EACA,wBAAA;AAAA,EACA,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,uBAAA;AAAA,EACA,oBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,8BAA8BA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAGjE,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,IAAA,EAAM,UAAA;AAAA,EACN,GAAA,EAAK,cAAA;AAAA,EACL,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQ,2BAAA;AAAA,EACR,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EAC7C,eAAA,EAAiB,mBAAmB,QAAA,EAAS;AAAA,EAC7C,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAG+CA,MAAE,MAAA,CAAO;AAAA,EACvD,GAAA,EAAK,cAAA;AAAA,EACL,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS;AAAA,EACjD,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,IAAA,EAAM;AACR,CAAC;AAGgDA,MAAE,MAAA,CAAO;AAAA,EACxD,QAAA,EAAU,qBAAA;AAAA;AAAA,EAEV,aAAA,EAAeA,MAAE,MAAA;AACnB,CAAC;AAKM,IAAM,2BAAA,GAA8BA,MAAE,IAAA,CAAK;AAAA,EAChD,SAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGoCA,MAAE,MAAA,CAAO;AAAA,EAC5C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,UAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAS,QAAA;AAAA,EACT,SAAA,EAAW,sBAAA;AAAA,EACX,MAAA,EAAQ,2BAAA;AAAA,EACR,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACtC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC1D,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC7C,WAAWA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA,EACzC,aAAA,EAAe,mBAAmB,QAAA,EAAS;AAAA,EAC3C,WAAA,EAAa,mBAAmB,QAAA,EAAS;AAAA,EACzC,SAAA,EAAW;AACb,CAAC;AAGwCA,MAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAI;AACN,CAAC;;;ACpFD,IAAM,QAAA,GAAW,CAA2C,IAAA,EAAS,IAAA,KACnEA,MAAE,MAAA,CAAO;AAAA,EACP,EAAA,EAAI,QAAA;AAAA,EACJ,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,IAAI,CAAA;AAAA,EACpB,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,qBAAqB,CAAA;AAAA,EAClD,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW,kBAAA;AAAA,EACX;AACF,CAAC,CAAA;AAII,IAAM,yBAAA,GAA4B,QAAA,CAAS,iBAAA,EAAmB,oBAAoB;AAClF,IAAM,2BAAA,GAA8B,QAAA;AAAA,EACzC,mBAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,SAAS,oBAAA,EAAsB,WAAA,EAAa,mBAAmB;AAC5E;AACO,IAAM,wBAAA,GAA2B,QAAA;AAAA,EACtC,gBAAA;AAAA,EACAA,KAAAA,CAAE,OAAO,EAAE,OAAA,EAAS,sBAAsB,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,EAAG;AAChE;AAIO,IAAM,8BAAA,GAAiC,QAAA,CAAS,sBAAA,EAAwB,kBAAkB;AAC1F,IAAM,8BAAA,GAAiC,QAAA;AAAA,EAC5C,sBAAA;AAAA,EACAA,MAAE,MAAA,CAAO;AAAA,IACP,YAAA,EAAc,kBAAA;AAAA,IACd,MAAA,EAAQ,wBAAA;AAAA,IACR,WAAA,EAAa;AAAA,GACd;AACH;AACO,IAAM,mCAAA,GAAsC,QAAA;AAAA,EACjD,4BAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,cAAc,kBAAA,EAAoB,MAAA,EAAQ,0BAA0B;AACjF;AACO,IAAM,sCAAA,GAAyC,QAAA;AAAA,EACpD,+BAAA;AAAA,EACAA,KAAAA,CAAE,MAAA,CAAO,EAAE,YAAA,EAAc,oBAAoB,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,GAAG;AACvF;AACO,IAAM,sCAAA,GAAyC,QAAA;AAAA,EACpD,+BAAA;AAAA,EACAA,MAAE,MAAA,CAAO;AAAA,IACP,YAAA,EAAc,kBAAA;AAAA,IACd,SAASA,KAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,SAAS,CAAC;AAAA,GACzC;AACH;AACO,IAAM,gCAAA,GAAmC,QAAA;AAAA,EAC9C,wBAAA;AAAA,EACA;AACF;AACO,IAAM,6BAAA,GAAgC,QAAA,CAAS,qBAAA,EAAuB,kBAAkB;AAIxF,IAAM,wBAAA,GAA2B,QAAA,CAAS,gBAAA,EAAkB,YAAY;AACxE,IAAM,0BAAA,GAA6B,QAAA;AAAA,EACxC,kBAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,QAAQ,YAAA,EAAc,WAAA,EAAa,mBAAmB;AACnE;AACO,IAAM,uBAAA,GAA0B,QAAA;AAAA,EACrC,eAAA;AAAA,EACAA,KAAAA,CAAE,OAAO,EAAE,MAAA,EAAQ,cAAc,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,EAAG;AACvD;AAIO,IAAM,yBAAA,GAA4B,QAAA,CAAS,iBAAA,EAAmB,aAAa;AAC3E,IAAM,sBAAA,GAAyB,QAAA;AAAA,EACpC,cAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,SAAS,aAAA,EAAe,WAAA,EAAa,mBAAmB;AACrE;AACO,IAAM,yBAAA,GAA4B,QAAA,CAAS,iBAAA,EAAmB,aAAa;AAI3E,IAAM,8BAAA,GAAiC,QAAA;AAAA,EAC5C,uBAAA;AAAA,EACA;AACF;AACO,IAAM,2BAAA,GAA8B,QAAA,CAAS,oBAAA,EAAsB,cAAc;AACjF,IAAM,4BAAA,GAA+B,QAAA,CAAS,qBAAA,EAAuB,cAAc;AACnF,IAAM,2BAAA,GAA8B,QAAA,CAAS,oBAAA,EAAsB,cAAc;AAIjF,IAAM,kCAAA,GAAqC,QAAA;AAAA,EAChD,2BAAA;AAAA,EACA;AACF;AACO,IAAM,kCAAA,GAAqC,QAAA;AAAA,EAChD,2BAAA;AAAA,EACA;AACF;AAIO,IAAM,kBAAA,GAAqBA,KAAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,EAC7D,yBAAA;AAAA,EACA,2BAAA;AAAA,EACA,wBAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA,mCAAA;AAAA,EACA,sCAAA;AAAA,EACA,sCAAA;AAAA,EACA,gCAAA;AAAA,EACA,6BAAA;AAAA,EACA,wBAAA;AAAA,EACA,0BAAA;AAAA,EACA,uBAAA;AAAA,EACA,yBAAA;AAAA,EACA,sBAAA;AAAA,EACA,yBAAA;AAAA,EACA,8BAAA;AAAA,EACA,2BAAA;AAAA,EACA,4BAAA;AAAA,EACA,2BAAA;AAAA,EACA,kCAAA;AAAA,EACA;AACF,CAAC","file":"events.cjs","sourcesContent":["/**\n * Primitive schemas shared across every entity.\n * Every higher-level schema builds on these so validation is consistent.\n */\n\nimport { z } from 'zod'\n\n/** CUID2 or UUID-style opaque identifier. */\nexport const idSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[a-zA-Z0-9_-]+$/, 'id must be URL-safe')\n\n/** EVM address. Hex-encoded, 0x-prefixed, 20 bytes. Normalised to lowercase. */\nexport const evmAddressSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/, 'must be a 0x-prefixed 40-character hex EVM address')\n .transform((v) => v.toLowerCase())\n\n/** EVM transaction hash. 32-byte hex. */\nexport const evmTxHashSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/, 'must be a 0x-prefixed 64-character hex EVM transaction hash')\n\n/** Email address, trimmed and lower-cased. */\nexport const emailSchema = z.string().email().trim().toLowerCase().max(320)\n\n/** HTTPS URL. No http:// allowed outside dev. */\nexport const httpsUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://'), {\n message: 'must be an https:// URL',\n })\n\n/** URL permitting http and https (dev + prod). */\nexport const httpUrlSchema = z.string().url()\n\n/**\n * Amount expressed in the token's smallest unit, serialised as a string to\n * preserve precision beyond `Number.MAX_SAFE_INTEGER`. For USDC (6 decimals),\n * 1 USDC is the string \"1000000\".\n */\nexport const tokenAmountSchema = z\n .string()\n .regex(/^[0-9]+$/, 'must be a non-negative integer string (base-10)')\n .refine((v) => BigInt(v) >= 0n, 'must be >= 0')\n\n/** Unsigned integer up to 2^53 - 1; validated and returned as number. */\nexport const uintSchema = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER)\n\n/** ISO-8601 timestamp string (`.toISOString()`-compatible). */\nexport const isoTimestampSchema = z\n .string()\n .datetime({ offset: true, message: 'must be an ISO-8601 timestamp' })\n\n/** Two-letter ISO-3166 country code. */\nexport const countryCodeSchema = z\n .string()\n .length(2)\n .regex(/^[A-Z]{2}$/, 'must be an ISO-3166 alpha-2 country code')\n\n/** Pagination inputs used by every list endpoint. */\nexport const paginationInputSchema = z.object({\n limit: z.number().int().min(1).max(100).default(25),\n cursor: z.string().min(1).max(200).nullish(),\n})\nexport type PaginationInput = z.infer<typeof paginationInputSchema>\n\n/** Pagination envelope used by every list response. */\nexport const makePaginatedSchema = <T extends z.ZodTypeAny>(item: T) =>\n z.object({\n data: z.array(item),\n nextCursor: z.string().nullable(),\n hasMore: z.boolean(),\n })\n\n/** Free-form metadata bag the API round-trips for merchants. */\nexport const metadataSchema = z\n .record(\n z.string().min(1).max(40),\n z.union([z.string().max(500), z.number(), z.boolean(), z.null()]),\n )\n .refine((m) => Object.keys(m).length <= 50, 'at most 50 metadata keys')\n .default({})\n\n/** Environment mode carried on every mode-scoped resource. */\nexport const modeSchema = z.enum(['test', 'live'])\nexport type Mode = z.infer<typeof modeSchema>\n\n/** Payment token enum. */\nexport const paymentCurrencySchema = z.enum(['USDC', 'EURC'])\nexport type PaymentCurrency = z.infer<typeof paymentCurrencySchema>\n\n/** Every display-level currency (payment + treasury). */\nexport const tokenSymbolSchema = z.enum(['USDC', 'EURC', 'USYC'])\nexport type TokenSymbol = z.infer<typeof tokenSymbolSchema>\n\n/** Merchant tier enum. */\nexport const merchantTierSchema = z.enum(['free', 'growth', 'business', 'enterprise'])\nexport type MerchantTier = z.infer<typeof merchantTierSchema>\n\n/** Arc environment enum. */\nexport const arcEnvironmentSchema = z.enum(['testnet', 'mainnet'])\nexport type ArcEnvironment = z.infer<typeof arcEnvironmentSchema>\n\nexport type Id = z.infer<typeof idSchema>\nexport type EvmAddress = z.infer<typeof evmAddressSchema>\nexport type EvmTxHash = z.infer<typeof evmTxHashSchema>\nexport type TokenAmount = z.infer<typeof tokenAmountSchema>\nexport type IsoTimestamp = z.infer<typeof isoTimestampSchema>\nexport type Metadata = z.infer<typeof metadataSchema>\n","/**\n * Payment session. A one-shot checkout intent.\n *\n * State machine:\n * created → awaiting_payment → submitted → confirmed\n * \\\n * → failed\n * → expired\n * → cancelled\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const paymentSessionStatusSchema = z.enum([\n 'created',\n 'awaiting_payment',\n 'submitted',\n 'confirmed',\n 'failed',\n 'expired',\n 'cancelled',\n])\nexport type PaymentSessionStatus = z.infer<typeof paymentSessionStatusSchema>\n\nexport const paymentSessionSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * Set when the merchant has been registered on-chain; null when the\n * merchant exists in our DB but the registry transaction hasn't\n * been broadcast yet. Hosted checkout uses this to populate the\n * meta-tx calldata; if null, the checkout refuses to accept\n * payments.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency` on the\n * active chain (Arc Testnet / Mainnet). Used as the `verifyingContract`\n * in the EIP-712 domain for both EIP-3009 and EIP-2612 signing.\n * Null on the (vanishingly unlikely) path where the API has no\n * configured address for the session's currency.\n */\n tokenAddress: evmAddressSchema.nullable(),\n customerId: idSchema.nullable(),\n status: paymentSessionStatusSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n feeAmount: tokenAmountSchema,\n netAmount: tokenAmountSchema,\n description: z.string().max(500).nullable(),\n payerWalletAddress: evmAddressSchema.nullable(),\n payerEmail: z.string().email().nullable(),\n successUrl: z.string().url().nullable(),\n cancelUrl: z.string().url().nullable(),\n sourceChain: z\n .enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana'])\n .nullable(),\n bridgeTxHash: evmTxHashSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n checkoutUrl: z.string().url(),\n metadata: metadataSchema,\n expiresAt: isoTimestampSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type PaymentSession = z.infer<typeof paymentSessionSchema>\n\n// ---------- DTOs ----------\n\nexport const createPaymentSessionInputSchema = z.object({\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n description: z.string().max(500).optional(),\n customer: z\n .object({\n walletAddress: evmAddressSchema.optional(),\n email: z.string().email().optional(),\n externalRef: z.string().max(120).optional(),\n })\n .optional(),\n successUrl: z.string().url().optional(),\n cancelUrl: z.string().url().optional(),\n /** Minutes until the session expires. Default 30, max 60*24 (one day). */\n expiresInMinutes: z\n .number()\n .int()\n .min(1)\n .max(60 * 24)\n .default(30),\n /**\n * Allowed source chains a payer can bridge USDC from via CCTP. Omit to\n * accept every CCTP-supported chain.\n */\n supportedSourceChains: z\n .array(\n z.enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana']),\n )\n .optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreatePaymentSessionInput = z.infer<typeof createPaymentSessionInputSchema>\n\nexport const submitPaymentSessionInputSchema = z.object({\n sourceChain: z.enum([\n 'arc',\n 'ethereum',\n 'base',\n 'polygon',\n 'arbitrum',\n 'optimism',\n 'avalanche',\n 'solana',\n ]),\n onchainTxHash: evmTxHashSchema,\n bridgeTxHash: evmTxHashSchema.optional(),\n payerWalletAddress: evmAddressSchema,\n})\nexport type SubmitPaymentSessionInput = z.infer<typeof submitPaymentSessionInputSchema>\n","/**\n * Transaction. The record of a confirmed on-chain payment.\n *\n * Every transaction corresponds to either a paid PaymentSession, a\n * SubscriptionCharge, or a Refund. Records are derived from the\n * `PaymentExecuted`, `SubscriptionCharged`, and `RefundRecorded` events.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const transactionKindSchema = z.enum([\n 'one_shot',\n 'subscription_charge',\n 'refund',\n 'invoice_payment',\n 'storefront_purchase',\n])\nexport type TransactionKind = z.infer<typeof transactionKindSchema>\n\nexport const transactionStatusSchema = z.enum(['pending', 'confirmed', 'failed'])\nexport type TransactionStatus = z.infer<typeof transactionStatusSchema>\n\nexport const transactionSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n kind: transactionKindSchema,\n status: transactionStatusSchema,\n sessionId: idSchema.nullable(),\n subscriptionId: idSchema.nullable(),\n subscriptionChargeId: idSchema.nullable(),\n refundId: idSchema.nullable(),\n customerId: idSchema.nullable(),\n amount: tokenAmountSchema,\n feeAmount: tokenAmountSchema,\n netAmount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n payerAddress: evmAddressSchema,\n merchantAddress: evmAddressSchema,\n onchainTxHash: evmTxHashSchema,\n blockNumber: z.number().int().nonnegative(),\n blockTimestamp: isoTimestampSchema,\n createdAt: isoTimestampSchema,\n})\nexport type Transaction = z.infer<typeof transactionSchema>\n","/**\n * Subscriptions: plans, active subscriptions, and individual charges.\n *\n * Design notes:\n * - A SubscriptionPlan is the template a merchant defines.\n * - A Subscription is an active, customer-scoped instance of a plan.\n * - Each billing period produces a SubscriptionCharge with a unique\n * chargeAttemptId used to enforce idempotency at the contract level.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\n// ---------- Plans ----------\n\nexport const subscriptionIntervalSchema = z.enum([\n 'daily',\n 'weekly',\n 'monthly',\n 'quarterly',\n 'yearly',\n])\nexport type SubscriptionInterval = z.infer<typeof subscriptionIntervalSchema>\n\nexport const subscriptionPlanStatusSchema = z.enum(['active', 'archived'])\nexport type SubscriptionPlanStatus = z.infer<typeof subscriptionPlanStatusSchema>\n\nexport const subscriptionPlanSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * See `paymentSessionSchema.chainMerchantId`. Null when the merchant\n * hasn't been registered on-chain yet. The hosted enrolment page\n * refuses to take signatures in that state.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency`. This is the\n * EIP-2612 `verifyingContract` the wallet signs over.\n */\n tokenAddress: evmAddressSchema.nullable(),\n /**\n * Charge cadence in seconds, derived from `interval` + `intervalCount`\n * so the meta-tx layer can pass a uint32 to StrimzSubscriptions\n * without re-deriving the conversion on the client.\n */\n intervalSeconds: z.number().int().positive(),\n name: z.string().min(1).max(120),\n description: z.string().max(500).nullable(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365),\n trialPeriodDays: z.number().int().min(0).max(365).nullable(),\n status: subscriptionPlanStatusSchema,\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionPlan = z.infer<typeof subscriptionPlanSchema>\n\nexport const createSubscriptionPlanInputSchema = z.object({\n name: z.string().min(1).max(120),\n description: z.string().max(500).optional(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365).default(1),\n trialPeriodDays: z.number().int().min(0).max(365).optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreateSubscriptionPlanInput = z.infer<typeof createSubscriptionPlanInputSchema>\n\n// ---------- Subscriptions ----------\n\nexport const subscriptionStatusSchema = z.enum([\n 'trialing',\n 'active',\n 'at_risk',\n 'paused',\n 'cancelled',\n 'lapsed',\n])\nexport type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>\n\nexport const subscriptionSchema = z.object({\n id: idSchema,\n onchainSubscriptionId: z.number().int().nonnegative().nullable(),\n merchantId: idSchema,\n customerId: idSchema,\n planId: idSchema,\n status: subscriptionStatusSchema,\n payerAddress: evmAddressSchema,\n currency: paymentCurrencySchema,\n amount: tokenAmountSchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1),\n trialEndsAt: isoTimestampSchema.nullable(),\n currentPeriodStartAt: isoTimestampSchema,\n currentPeriodEndAt: isoTimestampSchema,\n nextChargeAt: isoTimestampSchema.nullable(),\n gracePeriodHours: z.number().int().min(0).max(72),\n cancelledAt: isoTimestampSchema.nullable(),\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Subscription = z.infer<typeof subscriptionSchema>\n\nexport const createSubscriptionInputSchema = z.object({\n planId: idSchema,\n customer: z.object({\n walletAddress: evmAddressSchema,\n email: z.string().email().optional(),\n externalRef: z.string().max(120).optional(),\n }),\n gracePeriodHours: z.union([z.literal(24), z.literal(48), z.literal(72)]).default(48),\n metadata: metadataSchema.optional(),\n})\nexport type CreateSubscriptionInput = z.infer<typeof createSubscriptionInputSchema>\n\nexport const cancelSubscriptionInputSchema = z.object({\n id: idSchema,\n reason: z.string().max(500).optional(),\n})\nexport type CancelSubscriptionInput = z.infer<typeof cancelSubscriptionInputSchema>\n\n// ---------- Charges ----------\n\nexport const subscriptionChargeOutcomeSchema = z.enum([\n 'charged',\n 'insufficient_funds',\n 'revoked_approval',\n 'cancelled',\n 'skipped',\n])\nexport type SubscriptionChargeOutcome = z.infer<typeof subscriptionChargeOutcomeSchema>\n\nexport const subscriptionChargeStatusSchema = z.enum([\n 'pending',\n 'in_flight',\n 'succeeded',\n 'failed',\n 'retrying',\n 'abandoned',\n])\nexport type SubscriptionChargeStatus = z.infer<typeof subscriptionChargeStatusSchema>\n\nexport const subscriptionChargeSchema = z.object({\n id: idSchema,\n subscriptionId: idSchema,\n merchantId: idSchema,\n chargeAttemptId: z.string().length(66, 'must be a 32-byte 0x-prefixed hex string'),\n periodStartAt: isoTimestampSchema,\n periodEndAt: isoTimestampSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: subscriptionChargeStatusSchema,\n outcome: subscriptionChargeOutcomeSchema.nullable(),\n attemptNumber: z.number().int().min(1),\n scheduledAt: isoTimestampSchema,\n executedAt: isoTimestampSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionCharge = z.infer<typeof subscriptionChargeSchema>\n","/**\n * Refund. A merchant-initiated return of funds to a payer.\n *\n * Refunds are executed off-chain (from the merchant's wallet to the payer's\n * wallet). Strimz records the intent, validates constraints, and reconciles\n * via the merchant-signed on-chain transfer.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const refundReasonSchema = z.enum([\n 'customer_request',\n 'product_issue',\n 'duplicate_charge',\n 'fraudulent',\n 'other',\n])\nexport type RefundReason = z.infer<typeof refundReasonSchema>\n\nexport const refundStatusSchema = z.enum([\n 'pending',\n 'awaiting_signature',\n 'submitted',\n 'completed',\n 'failed',\n 'cancelled',\n])\nexport type RefundStatus = z.infer<typeof refundStatusSchema>\n\nexport const refundSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n transactionId: idSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n reason: refundReasonSchema,\n note: z.string().max(500).nullable(),\n status: refundStatusSchema,\n payerAddress: evmAddressSchema,\n refundTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n initiatedBy: idSchema,\n createdAt: isoTimestampSchema,\n completedAt: isoTimestampSchema.nullable(),\n})\nexport type Refund = z.infer<typeof refundSchema>\n\nexport const createRefundInputSchema = z.object({\n transactionId: idSchema,\n amount: tokenAmountSchema,\n reason: refundReasonSchema,\n note: z.string().max(500).optional(),\n})\nexport type CreateRefundInput = z.infer<typeof createRefundInputSchema>\n\nexport const submitRefundSignatureInputSchema = z.object({\n id: idSchema,\n refundTxHash: evmTxHashSchema,\n})\nexport type SubmitRefundSignatureInput = z.infer<typeof submitRefundSignatureInputSchema>\n","/**\n * Invoices. Shareable, expirable payment requests with structured line items.\n */\n\nimport { z } from 'zod'\nimport {\n emailSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const invoiceStatusSchema = z.enum(['draft', 'sent', 'paid', 'overdue', 'void'])\nexport type InvoiceStatus = z.infer<typeof invoiceStatusSchema>\n\nexport const invoiceLineItemSchema = z.object({\n description: z.string().min(1).max(500),\n quantity: z.number().int().min(1).max(10_000),\n unitAmount: tokenAmountSchema,\n})\nexport type InvoiceLineItem = z.infer<typeof invoiceLineItemSchema>\n\nexport const invoiceSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n number: z.string().min(1).max(40),\n customerName: z.string().min(1).max(200).nullable(),\n customerEmail: emailSchema.nullable(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n subtotal: tokenAmountSchema,\n total: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: invoiceStatusSchema,\n note: z.string().max(2000).nullable(),\n sessionId: idSchema.nullable(),\n dueAt: isoTimestampSchema,\n paidAt: isoTimestampSchema.nullable(),\n sentAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Invoice = z.infer<typeof invoiceSchema>\n\nexport const createInvoiceInputSchema = z.object({\n customerName: z.string().min(1).max(200).optional(),\n customerEmail: emailSchema.optional(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n currency: paymentCurrencySchema,\n note: z.string().max(2000).optional(),\n dueInDays: z.number().int().min(1).max(90).default(7),\n})\nexport type CreateInvoiceInput = z.infer<typeof createInvoiceInputSchema>\n","/**\n * AI AutoPay Agent. Identity, configuration, activity log, and ERC-8183 jobs.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n tokenAmountSchema,\n} from './common.js'\n\n// ---------- Identity ----------\n\nexport const agentIdentitySchema = z.object({\n id: idSchema,\n /** ERC-8004 on-chain identity address. */\n onchainAddress: evmAddressSchema,\n /** Public key or agent credential digest, as emitted by ERC-8004. */\n credentialDigest: z.string().regex(/^0x[a-fA-F0-9]+$/),\n name: z.string().min(1).max(120),\n version: z.string().min(1).max(40),\n reputationScore: z.number().min(0).max(100).nullable(),\n registeredAt: isoTimestampSchema,\n})\nexport type AgentIdentity = z.infer<typeof agentIdentitySchema>\n\n// ---------- Merchant config ----------\n\nexport const agentCapabilitySchema = z.enum([\n 'identity',\n 'recovery',\n 'routing',\n 'cashflow',\n 'commerce',\n 'pricing_intelligence',\n])\nexport type AgentCapability = z.infer<typeof agentCapabilitySchema>\n\nexport const agentMerchantConfigSchema = z.object({\n merchantId: idSchema,\n enabledCapabilities: z.array(agentCapabilitySchema).default([]),\n recovery: z.object({\n gracePeriodHours: z.union([z.literal(24), z.literal(48), z.literal(72)]).default(48),\n strategy: z.enum(['once', 'twice', 'until_grace_ends']).default('twice'),\n notificationTemplate: z.string().max(2000).nullable(),\n }),\n cashflow: z.object({\n digestEnabled: z.boolean().default(false),\n anomalySensitivity: z.enum(['low', 'medium', 'high']).default('medium'),\n autoConvertToYield: z.boolean().default(false),\n minimumLiquidReserveCents: z.number().int().nonnegative().default(100_000),\n }),\n commerce: z.object({\n requireHumanApprovalAboveUsdCents: z.number().int().nonnegative().default(100_000),\n approvedVendors: z.array(evmAddressSchema).default([]),\n monthlySpendCapUsdCents: z.number().int().nonnegative().nullable(),\n }),\n updatedAt: isoTimestampSchema,\n})\nexport type AgentMerchantConfig = z.infer<typeof agentMerchantConfigSchema>\n\nexport const updateAgentConfigInputSchema = agentMerchantConfigSchema\n .omit({ merchantId: true, updatedAt: true })\n .partial()\nexport type UpdateAgentConfigInput = z.infer<typeof updateAgentConfigInputSchema>\n\n// ---------- Activity log ----------\n\nexport const agentActionTypeSchema = z.enum([\n 'recovery_notification_sent',\n 'recovery_retry_scheduled',\n 'recovery_retry_executed',\n 'recovery_abandoned',\n 'routing_bridge_initiated',\n 'routing_payment_completed',\n 'cashflow_digest_sent',\n 'cashflow_anomaly_flagged',\n 'cashflow_yield_converted',\n 'commerce_job_created',\n 'commerce_job_approved',\n 'commerce_job_completed',\n 'commerce_job_disputed',\n])\nexport type AgentActionType = z.infer<typeof agentActionTypeSchema>\n\nexport const agentActionOutcomeSchema = z.enum(['success', 'failure', 'pending', 'skipped'])\nexport type AgentActionOutcome = z.infer<typeof agentActionOutcomeSchema>\n\nexport const agentActivityLogSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n capability: agentCapabilitySchema,\n actionType: agentActionTypeSchema,\n outcome: agentActionOutcomeSchema,\n subscriptionId: idSchema.nullable(),\n transactionId: idSchema.nullable(),\n jobId: idSchema.nullable(),\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n})\nexport type AgentActivityLog = z.infer<typeof agentActivityLogSchema>\n\n// ---------- ERC-8183 jobs ----------\n\nexport const agentJobStatusSchema = z.enum([\n 'proposed',\n 'accepted',\n 'in_progress',\n 'delivered',\n 'approved',\n 'completed',\n 'disputed',\n 'cancelled',\n])\nexport type AgentJobStatus = z.infer<typeof agentJobStatusSchema>\n\nexport const agentJobSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /** On-chain job id from StrimzAgentEscrow. */\n onchainJobId: z.number().int().nonnegative().nullable(),\n vendorAddress: evmAddressSchema,\n description: z.string().min(1).max(2000),\n amount: tokenAmountSchema,\n currency: z.enum(['USDC', 'EURC']),\n status: agentJobStatusSchema,\n assessorAddress: evmAddressSchema,\n deliverableHash: z\n .string()\n .regex(/^0x[a-fA-F0-9]+$/)\n .nullable(),\n escrowTxHash: evmTxHashSchema.nullable(),\n releaseTxHash: evmTxHashSchema.nullable(),\n createdAt: isoTimestampSchema,\n completedAt: isoTimestampSchema.nullable(),\n})\nexport type AgentJob = z.infer<typeof agentJobSchema>\n\nexport const createAgentJobInputSchema = z.object({\n vendorAddress: evmAddressSchema,\n description: z.string().min(1).max(2000),\n amount: tokenAmountSchema,\n currency: z.enum(['USDC', 'EURC']),\n assessorAddress: evmAddressSchema.optional(),\n})\nexport type CreateAgentJobInput = z.infer<typeof createAgentJobInputSchema>\n","/**\n * Compliance: sanctions/AML screening log.\n *\n * Every wallet address that interacts with Strimz (merchant payout,\n * subscriber, payer) is screened. Results are logged; provider and score\n * are recorded for later audit.\n */\n\nimport { z } from 'zod'\nimport { evmAddressSchema, idSchema, isoTimestampSchema } from './common.js'\n\nexport const complianceProviderSchema = z.enum(['trm', 'elliptic', 'disabled'])\nexport type ComplianceProvider = z.infer<typeof complianceProviderSchema>\n\nexport const complianceStatusSchema = z.enum(['clear', 'flagged', 'blocked', 'error'])\nexport type ComplianceStatus = z.infer<typeof complianceStatusSchema>\n\nexport const complianceScreeningContextSchema = z.enum([\n 'merchant_onboarding',\n 'payer_checkout',\n 'subscriber_signup',\n 'refund_recipient',\n])\nexport type ComplianceScreeningContext = z.infer<typeof complianceScreeningContextSchema>\n\nexport const complianceLogSchema = z.object({\n id: idSchema,\n walletAddress: evmAddressSchema,\n provider: complianceProviderSchema,\n status: complianceStatusSchema,\n riskScore: z.number().min(0).max(100).nullable(),\n flags: z.array(z.string().max(120)).default([]),\n context: complianceScreeningContextSchema,\n merchantId: idSchema.nullable(),\n sessionId: idSchema.nullable(),\n subscriptionId: idSchema.nullable(),\n providerRequestId: z.string().max(200).nullable(),\n createdAt: isoTimestampSchema,\n})\nexport type ComplianceLog = z.infer<typeof complianceLogSchema>\n","/**\n * Webhook endpoints and deliveries.\n *\n * Endpoint = the URL the merchant registered.\n * Event = the thing that happened.\n * Delivery = one attempt to POST a specific event to a specific endpoint.\n */\n\nimport { z } from 'zod'\nimport { httpsUrlSchema, idSchema, isoTimestampSchema, modeSchema } from './common.js'\n\n// ---------- Event name ----------\n\n/**\n * Every webhook event name in the system. Listed inline so Zod can\n * produce a concrete string union.\n */\nexport const webhookEventNameSchema = z.enum([\n 'payment.created',\n 'payment.completed',\n 'payment.failed',\n 'subscription.created',\n 'subscription.charged',\n 'subscription.charge_failed',\n 'subscription.recovery_attempt',\n 'subscription.recovery_outcome',\n 'subscription.cancelled',\n 'subscription.lapsed',\n 'refund.created',\n 'refund.completed',\n 'refund.failed',\n 'invoice.created',\n 'invoice.paid',\n 'invoice.overdue',\n 'agent.action_executed',\n 'agent.job_proposed',\n 'agent.job_completed',\n 'agent.job_disputed',\n 'compliance.wallet_flagged',\n 'compliance.wallet_blocked',\n])\nexport type WebhookEventName = z.infer<typeof webhookEventNameSchema>\n\n// ---------- Endpoints ----------\n\nexport const webhookEndpointStatusSchema = z.enum(['active', 'disabled'])\nexport type WebhookEndpointStatus = z.infer<typeof webhookEndpointStatusSchema>\n\nexport const webhookEndpointSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n mode: modeSchema,\n url: httpsUrlSchema,\n description: z.string().max(200).nullable(),\n events: z.array(webhookEventNameSchema).nonempty(),\n status: webhookEndpointStatusSchema,\n signingSecretPrefix: z.string().min(4).max(12),\n lastDeliveredAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type WebhookEndpoint = z.infer<typeof webhookEndpointSchema>\n\nexport const createWebhookEndpointInputSchema = z.object({\n url: httpsUrlSchema,\n events: z.array(webhookEventNameSchema).nonempty(),\n description: z.string().max(200).optional(),\n mode: modeSchema,\n})\nexport type CreateWebhookEndpointInput = z.infer<typeof createWebhookEndpointInputSchema>\n\nexport const createWebhookEndpointOutputSchema = z.object({\n endpoint: webhookEndpointSchema,\n /** Full signing secret. Shown exactly once. */\n signingSecret: z.string(),\n})\nexport type CreateWebhookEndpointOutput = z.infer<typeof createWebhookEndpointOutputSchema>\n\n// ---------- Deliveries ----------\n\nexport const webhookDeliveryStatusSchema = z.enum([\n 'pending',\n 'delivered',\n 'retrying',\n 'permanently_failed',\n])\nexport type WebhookDeliveryStatus = z.infer<typeof webhookDeliveryStatusSchema>\n\nexport const webhookDeliverySchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n endpointId: idSchema,\n eventId: idSchema,\n eventName: webhookEventNameSchema,\n status: webhookDeliveryStatusSchema,\n attempt: z.number().int().min(1).max(6),\n responseCode: z.number().int().min(100).max(599).nullable(),\n responseMs: z.number().int().min(0).nullable(),\n lastError: z.string().max(1000).nullable(),\n nextAttemptAt: isoTimestampSchema.nullable(),\n deliveredAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n})\nexport type WebhookDelivery = z.infer<typeof webhookDeliverySchema>\n\nexport const replayDeliveryInputSchema = z.object({\n id: idSchema,\n})\nexport type ReplayDeliveryInput = z.infer<typeof replayDeliveryInputSchema>\n","/**\n * Canonical webhook event envelopes.\n *\n * The event envelope is what Strimz signs, stores, and delivers. Every\n * webhook-delivered payload is an instance of `webhookEventSchema` for a\n * specific event name, with `data` typed to the matching entity schema.\n *\n * SDK consumers import `StrimzWebhookEvent` to get a discriminated union\n * over every possible event name → payload shape.\n */\n\nimport { z } from 'zod'\nimport { idSchema, isoTimestampSchema, modeSchema } from './common.js'\nimport { paymentSessionSchema } from './payment-sessions.js'\nimport { transactionSchema } from './transactions.js'\nimport { subscriptionSchema, subscriptionChargeSchema } from './subscriptions.js'\nimport { refundSchema } from './refunds.js'\nimport { invoiceSchema } from './invoices.js'\nimport { agentActivityLogSchema, agentJobSchema } from './agents.js'\nimport { complianceLogSchema } from './compliance.js'\nimport { webhookEventNameSchema } from './webhooks.js'\n\n/** Common envelope wrapping every webhook payload. */\nconst envelope = <N extends string, D extends z.ZodTypeAny>(name: N, data: D) =>\n z.object({\n id: idSchema,\n type: z.literal(name),\n apiVersion: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n mode: modeSchema,\n createdAt: isoTimestampSchema,\n data,\n })\n\n// ---------- Payment ----------\n\nexport const paymentCreatedEventSchema = envelope('payment.created', paymentSessionSchema)\nexport const paymentCompletedEventSchema = envelope(\n 'payment.completed',\n z.object({ session: paymentSessionSchema, transaction: transactionSchema }),\n)\nexport const paymentFailedEventSchema = envelope(\n 'payment.failed',\n z.object({ session: paymentSessionSchema, reason: z.string() }),\n)\n\n// ---------- Subscription ----------\n\nexport const subscriptionCreatedEventSchema = envelope('subscription.created', subscriptionSchema)\nexport const subscriptionChargedEventSchema = envelope(\n 'subscription.charged',\n z.object({\n subscription: subscriptionSchema,\n charge: subscriptionChargeSchema,\n transaction: transactionSchema,\n }),\n)\nexport const subscriptionChargeFailedEventSchema = envelope(\n 'subscription.charge_failed',\n z.object({ subscription: subscriptionSchema, charge: subscriptionChargeSchema }),\n)\nexport const subscriptionRecoveryAttemptEventSchema = envelope(\n 'subscription.recovery_attempt',\n z.object({ subscription: subscriptionSchema, attemptNumber: z.number().int().min(1) }),\n)\nexport const subscriptionRecoveryOutcomeEventSchema = envelope(\n 'subscription.recovery_outcome',\n z.object({\n subscription: subscriptionSchema,\n outcome: z.enum(['recovered', 'churned']),\n }),\n)\nexport const subscriptionCancelledEventSchema = envelope(\n 'subscription.cancelled',\n subscriptionSchema,\n)\nexport const subscriptionLapsedEventSchema = envelope('subscription.lapsed', subscriptionSchema)\n\n// ---------- Refund ----------\n\nexport const refundCreatedEventSchema = envelope('refund.created', refundSchema)\nexport const refundCompletedEventSchema = envelope(\n 'refund.completed',\n z.object({ refund: refundSchema, transaction: transactionSchema }),\n)\nexport const refundFailedEventSchema = envelope(\n 'refund.failed',\n z.object({ refund: refundSchema, reason: z.string() }),\n)\n\n// ---------- Invoice ----------\n\nexport const invoiceCreatedEventSchema = envelope('invoice.created', invoiceSchema)\nexport const invoicePaidEventSchema = envelope(\n 'invoice.paid',\n z.object({ invoice: invoiceSchema, transaction: transactionSchema }),\n)\nexport const invoiceOverdueEventSchema = envelope('invoice.overdue', invoiceSchema)\n\n// ---------- Agent ----------\n\nexport const agentActionExecutedEventSchema = envelope(\n 'agent.action_executed',\n agentActivityLogSchema,\n)\nexport const agentJobProposedEventSchema = envelope('agent.job_proposed', agentJobSchema)\nexport const agentJobCompletedEventSchema = envelope('agent.job_completed', agentJobSchema)\nexport const agentJobDisputedEventSchema = envelope('agent.job_disputed', agentJobSchema)\n\n// ---------- Compliance ----------\n\nexport const complianceWalletFlaggedEventSchema = envelope(\n 'compliance.wallet_flagged',\n complianceLogSchema,\n)\nexport const complianceWalletBlockedEventSchema = envelope(\n 'compliance.wallet_blocked',\n complianceLogSchema,\n)\n\n// ---------- Discriminated union ----------\n\nexport const webhookEventSchema = z.discriminatedUnion('type', [\n paymentCreatedEventSchema,\n paymentCompletedEventSchema,\n paymentFailedEventSchema,\n subscriptionCreatedEventSchema,\n subscriptionChargedEventSchema,\n subscriptionChargeFailedEventSchema,\n subscriptionRecoveryAttemptEventSchema,\n subscriptionRecoveryOutcomeEventSchema,\n subscriptionCancelledEventSchema,\n subscriptionLapsedEventSchema,\n refundCreatedEventSchema,\n refundCompletedEventSchema,\n refundFailedEventSchema,\n invoiceCreatedEventSchema,\n invoicePaidEventSchema,\n invoiceOverdueEventSchema,\n agentActionExecutedEventSchema,\n agentJobProposedEventSchema,\n agentJobCompletedEventSchema,\n agentJobDisputedEventSchema,\n complianceWalletFlaggedEventSchema,\n complianceWalletBlockedEventSchema,\n])\nexport type StrimzWebhookEvent = z.infer<typeof webhookEventSchema>\n\n/** Per-event-name inferred payload types. */\nexport type PaymentCreatedEvent = z.infer<typeof paymentCreatedEventSchema>\nexport type PaymentCompletedEvent = z.infer<typeof paymentCompletedEventSchema>\nexport type PaymentFailedEvent = z.infer<typeof paymentFailedEventSchema>\nexport type SubscriptionCreatedEvent = z.infer<typeof subscriptionCreatedEventSchema>\nexport type SubscriptionChargedEvent = z.infer<typeof subscriptionChargedEventSchema>\nexport type SubscriptionChargeFailedEvent = z.infer<typeof subscriptionChargeFailedEventSchema>\nexport type SubscriptionRecoveryAttemptEvent = z.infer<\n typeof subscriptionRecoveryAttemptEventSchema\n>\nexport type SubscriptionRecoveryOutcomeEvent = z.infer<\n typeof subscriptionRecoveryOutcomeEventSchema\n>\nexport type SubscriptionCancelledEvent = z.infer<typeof subscriptionCancelledEventSchema>\nexport type SubscriptionLapsedEvent = z.infer<typeof subscriptionLapsedEventSchema>\nexport type RefundCreatedEvent = z.infer<typeof refundCreatedEventSchema>\nexport type RefundCompletedEvent = z.infer<typeof refundCompletedEventSchema>\nexport type RefundFailedEvent = z.infer<typeof refundFailedEventSchema>\nexport type InvoiceCreatedEvent = z.infer<typeof invoiceCreatedEventSchema>\nexport type InvoicePaidEvent = z.infer<typeof invoicePaidEventSchema>\nexport type InvoiceOverdueEvent = z.infer<typeof invoiceOverdueEventSchema>\nexport type AgentActionExecutedEvent = z.infer<typeof agentActionExecutedEventSchema>\nexport type AgentJobProposedEvent = z.infer<typeof agentJobProposedEventSchema>\nexport type AgentJobCompletedEvent = z.infer<typeof agentJobCompletedEventSchema>\nexport type AgentJobDisputedEvent = z.infer<typeof agentJobDisputedEventSchema>\nexport type ComplianceWalletFlaggedEvent = z.infer<typeof complianceWalletFlaggedEventSchema>\nexport type ComplianceWalletBlockedEvent = z.infer<typeof complianceWalletBlockedEventSchema>\n\nexport { webhookEventNameSchema }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/common.ts","../src/payment-sessions.ts","../src/transactions.ts","../src/subscriptions.ts","../src/refunds.ts","../src/invoices.ts","../src/agents.ts","../src/compliance.ts","../src/webhooks.ts","../src/events.ts"],"names":["z"],"mappings":";;;;;AAQO,IAAM,QAAA,GAAWA,KAAA,CACrB,MAAA,EAAO,CACP,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,EAAE,CAAA,CACN,KAAA,CAAM,kBAAA,EAAoB,qBAAqB,CAAA;AAG3C,IAAM,gBAAA,GAAmBA,KAAA,CAC7B,MAAA,EAAO,CACP,KAAA,CAAM,qBAAA,EAAuB,oDAAoD,CAAA,CACjF,SAAA,CAAU,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA;AAG5B,IAAM,kBAAkBA,KAAA,CAC5B,MAAA,EAAO,CACP,KAAA,CAAM,uBAAuB,6DAA6D,CAAA;AAGtF,IAAM,WAAA,GAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK,CAAE,WAAA,EAAY,CAAE,GAAA,CAAI,GAAG,CAAA;AAGnE,IAAM,cAAA,GAAiBA,KAAA,CAC3B,MAAA,EAAO,CACP,GAAA,EAAI,CACJ,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,UAAA,CAAW,UAAU,CAAA,EAAG;AAAA,EACvC,OAAA,EAAS;AACX,CAAC,CAAA;AAG0BA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AAOjC,IAAM,iBAAA,GAAoBA,KAAA,CAC9B,MAAA,EAAO,CACP,MAAM,UAAA,EAAY,iDAAiD,CAAA,CACnE,MAAA,CAAO,CAAC,CAAA,KAAM,MAAA,CAAO,CAAC,CAAA,IAAK,IAAI,cAAc,CAAA;AAGtBA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,MAAA,CAAO,gBAAgB;AAGtE,IAAM,kBAAA,GAAqBA,KAAA,CAC/B,MAAA,EAAO,CACP,QAAA,CAAS,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,+BAAA,EAAiC,CAAA;AAGrCA,MAC9B,MAAA,EAAO,CACP,OAAO,CAAC,CAAA,CACR,KAAA,CAAM,YAAA,EAAc,0CAA0C;AAG5BA,MAAE,MAAA,CAAO;AAAA,EAC5C,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAQ,EAAE,CAAA;AAAA,EAClD,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,OAAA;AACrC,CAAC;AAYM,IAAM,iBAAiBA,KAAA,CAC3B,MAAA;AAAA,EACCA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EACxBA,MAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,CAAE,IAAI,GAAG,CAAA,EAAGA,KAAA,CAAE,MAAA,IAAUA,KAAA,CAAE,OAAA,IAAWA,KAAA,CAAE,IAAA,EAAM,CAAC;AAClE,CAAA,CACC,MAAA,CAAO,CAAC,CAAA,KAAM,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA,CAAE,MAAA,IAAU,EAAA,EAAI,0BAA0B,CAAA,CACrE,OAAA,CAAQ,EAAE,CAAA;AAGN,IAAM,aAAaA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAI1C,IAAM,wBAAwBA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAI3BA,KAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAM,CAAC;AAI9BA,MAAE,IAAA,CAAK,CAAC,QAAQ,QAAA,EAAU,UAAA,EAAY,YAAY,CAAC;AAIjDA,KAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,SAAS,CAAC;AClF1D,IAAM,0BAAA,GAA6BA,MAAE,IAAA,CAAK;AAAA,EAC/C,SAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAC,CAAA;AAkBM,IAAM,oBAAoBA,KAAAA,CAC9B,MAAA,EAAO,CACP,GAAA,GACA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,UAAU,CAAA,IAAK,CAAA,CAAE,UAAA,CAAW,SAAS,CAAA,EAAG;AAAA,EAClE,OAAA,EAAS;AACX,CAAC,CAAA;AAEI,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASZ,eAAA,EAAiBA,MACd,MAAA,EAAO,CACP,MAAM,WAAA,EAAa,+CAA+C,EAClE,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQZ,YAAA,EAAc,iBAAiB,QAAA,EAAS;AAAA,EACxC,UAAA,EAAY,SAAS,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,0BAAA;AAAA,EACR,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,SAAA,EAAW,iBAAA;AAAA,EACX,SAAA,EAAW,iBAAA;AAAA,EACX,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,kBAAA,EAAoB,iBAAiB,QAAA,EAAS;AAAA,EAC9C,YAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,GAAQ,QAAA,EAAS;AAAA,EACxC,UAAA,EAAY,kBAAkB,QAAA,EAAS;AAAA,EACvC,SAAA,EAAW,kBAAkB,QAAA,EAAS;AAAA,EACtC,WAAA,EAAaA,KAAAA,CACV,IAAA,CAAK,CAAC,OAAO,UAAA,EAAY,MAAA,EAAQ,SAAA,EAAW,UAAA,EAAY,UAAA,EAAY,WAAA,EAAa,QAAQ,CAAC,EAC1F,QAAA,EAAS;AAAA,EACZ,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,aAAA,EAAe,gBAAgB,QAAA,EAAS;AAAA,EACxC,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI;AAAA,EAC5B,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAK8CA,MAAE,MAAA,CAAO;AAAA,EACtD,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,QAAA,EAAUA,MACP,MAAA,CAAO;AAAA,IACN,aAAA,EAAe,iBAAiB,QAAA,EAAS;AAAA,IACzC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,GAAQ,QAAA,EAAS;AAAA,IACnC,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAAS,GAC3C,EACA,QAAA,EAAS;AAAA,EACZ,YAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACtC,WAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA;AAAA,EAErC,gBAAA,EAAkBA,KAAAA,CACf,MAAA,EAAO,CACP,KAAI,CACJ,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,EAAA,GAAK,EAAE,CAAA,CACX,QAAQ,EAAE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb,uBAAuBA,KAAAA,CACpB,KAAA;AAAA,IACCA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAA,EAAY,MAAA,EAAQ,SAAA,EAAW,UAAA,EAAY,UAAA,EAAY,WAAA,EAAa,QAAQ,CAAC;AAAA,IAE7F,QAAA,EAAS;AAAA,EACZ,QAAA,EAAU,eAAe,QAAA;AAC3B,CAAC;AAG8CA,MAAE,MAAA,CAAO;AAAA,EACtD,WAAA,EAAaA,MAAE,IAAA,CAAK;AAAA,IAClB,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,aAAA,EAAe,eAAA;AAAA,EACf,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,kBAAA,EAAoB;AACtB,CAAC;ACrIM,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,0BAA0BA,KAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,WAAA,EAAa,QAAQ,CAAC,CAAA;AAGzE,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,IAAA,EAAM,qBAAA;AAAA,EACN,MAAA,EAAQ,uBAAA;AAAA,EACR,SAAA,EAAW,SAAS,QAAA,EAAS;AAAA,EAC7B,cAAA,EAAgB,SAAS,QAAA,EAAS;AAAA,EAClC,oBAAA,EAAsB,SAAS,QAAA,EAAS;AAAA,EACxC,QAAA,EAAU,SAAS,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAY,SAAS,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,iBAAA;AAAA,EACR,SAAA,EAAW,iBAAA;AAAA,EACX,SAAA,EAAW,iBAAA;AAAA,EACX,QAAA,EAAU,qBAAA;AAAA,EACV,YAAA,EAAc,gBAAA;AAAA,EACd,eAAA,EAAiB,gBAAA;AAAA,EACjB,aAAA,EAAe,eAAA;AAAA,EACf,aAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC1C,cAAA,EAAgB,kBAAA;AAAA,EAChB,SAAA,EAAW;AACb,CAAC,CAAA;AC3BM,IAAM,0BAAA,GAA6BA,MAAE,IAAA,CAAK;AAAA,EAC/C,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,+BAA+BA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAGnCA,MAAE,MAAA,CAAO;AAAA,EAC7C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOZ,eAAA,EAAiBA,MACd,MAAA,EAAO,CACP,MAAM,WAAA,EAAa,+CAA+C,EAClE,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,YAAA,EAAc,iBAAiB,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMxC,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC3C,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,QAAA,EAAU,0BAAA;AAAA,EACV,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC9C,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,MAAA,EAAQ,4BAAA;AAAA,EACR,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC;AAGgDA,MAAE,MAAA,CAAO;AAAA,EACxD,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,QAAA,EAAU,0BAAA;AAAA,EACV,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EACzD,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3D,QAAA,EAAU,eAAe,QAAA;AAC3B,CAAC;AAKM,IAAM,wBAAA,GAA2BA,MAAE,IAAA,CAAK;AAAA,EAC7C,UAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,EAAA,EAAI,QAAA;AAAA,EACJ,qBAAA,EAAuBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAC/D,UAAA,EAAY,QAAA;AAAA,EACZ,UAAA,EAAY,QAAA;AAAA,EACZ,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,wBAAA;AAAA,EACR,YAAA,EAAc,gBAAA;AAAA,EACd,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,0BAAA;AAAA,EACV,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,IAAI,CAAC,CAAA;AAAA,EACrC,WAAA,EAAa,mBAAmB,QAAA,EAAS;AAAA,EACzC,oBAAA,EAAsB,kBAAA;AAAA,EACtB,kBAAA,EAAoB,kBAAA;AAAA,EACpB,YAAA,EAAc,mBAAmB,QAAA,EAAS;AAAA,EAC1C,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAChD,WAAA,EAAa,mBAAmB,QAAA,EAAS;AAAA,EACzC,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAG4CA,MAAE,MAAA,CAAO;AAAA,EACpD,MAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,aAAA,EAAe,gBAAA;AAAA,IACf,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,GAAQ,QAAA,EAAS;AAAA,IACnC,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAAS,GAC3C,CAAA;AAAA,EACD,kBAAkBA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,EAAGA,KAAAA,CAAE,QAAQ,EAAE,CAAA,EAAGA,MAAE,OAAA,CAAQ,EAAE,CAAC,CAAC,CAAA,CAAE,QAAQ,EAAE,CAAA;AAAA,EACnF,QAAA,EAAU,eAAe,QAAA;AAC3B,CAAC;AAG4CA,MAAE,MAAA,CAAO;AAAA,EACpD,EAAA,EAAI,QAAA;AAAA,EACJ,QAAQA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAC9B,CAAC;AAKM,IAAM,+BAAA,GAAkCA,MAAE,IAAA,CAAK;AAAA,EACpD,SAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,8BAAA,GAAiCA,MAAE,IAAA,CAAK;AAAA,EACnD,SAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAI,QAAA;AAAA,EACJ,cAAA,EAAgB,QAAA;AAAA,EAChB,UAAA,EAAY,QAAA;AAAA,EACZ,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAA,CAAO,IAAI,0CAA0C,CAAA;AAAA,EACjF,aAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA,EACb,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,8BAAA;AAAA,EACR,OAAA,EAAS,gCAAgC,QAAA,EAAS;AAAA,EAClD,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,IAAI,CAAC,CAAA;AAAA,EACrC,WAAA,EAAa,kBAAA;AAAA,EACb,UAAA,EAAY,mBAAmB,QAAA,EAAS;AAAA,EACxC,aAAA,EAAe,gBAAgB,QAAA,EAAS;AAAA,EACxC,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC5C,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AChKM,IAAM,kBAAA,GAAqBA,MAAE,IAAA,CAAK;AAAA,EACvC,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,kBAAA,GAAqBA,MAAE,IAAA,CAAK;AAAA,EACvC,SAAA;AAAA,EACA,oBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,YAAA,GAAeA,MAAE,MAAA,CAAO;AAAA,EACnC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,aAAA,EAAe,QAAA;AAAA,EACf,MAAA,EAAQ,iBAAA;AAAA,EACR,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,kBAAA;AAAA,EACR,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EACnC,MAAA,EAAQ,kBAAA;AAAA,EACR,YAAA,EAAc,gBAAA;AAAA,EACd,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC5C,WAAA,EAAa,QAAA;AAAA,EACb,SAAA,EAAW,kBAAA;AAAA,EACX,WAAA,EAAa,mBAAmB,QAAA;AAClC,CAAC,CAAA;AAGsCA,MAAE,MAAA,CAAO;AAAA,EAC9C,aAAA,EAAe,QAAA;AAAA,EACf,MAAA,EAAQ,iBAAA;AAAA,EACR,MAAA,EAAQ,kBAAA;AAAA,EACR,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA;AAC5B,CAAC;AAG+CA,MAAE,MAAA,CAAO;AAAA,EACvD,EAAA,EAAI,QAAA;AAAA,EACJ,YAAA,EAAc;AAChB,CAAC;AAQM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,KAAA,EAAO,gBAAA;AAAA,EACP,EAAA,EAAI,gBAAA;AAAA,EACJ,MAAA,EAAQ,iBAAA;AAAA,EACR,IAAA,EAAMA,MAAE,MAAA;AACV,CAAC,CAAA;AAGuCA,MAAE,MAAA,CAAO;AAAA,EAC/C,MAAA,EAAQ,YAAA;AAAA,EACR,mBAAA,EAAqB;AACvB,CAAC;ACxEM,IAAM,mBAAA,GAAsBA,MAAE,IAAA,CAAK,CAAC,SAAS,MAAA,EAAQ,MAAA,EAAQ,SAAA,EAAW,MAAM,CAAC,CAAA;AAG/E,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACtC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAM,CAAA;AAAA,EAC5C,UAAA,EAAY;AACd,CAAC,CAAA;AAGM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EACpC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,MAAA,EAAQA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EAChC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAe,YAAY,QAAA,EAAS;AAAA,EACpC,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,EACnD,QAAA,EAAU,iBAAA;AAAA,EACV,KAAA,EAAO,iBAAA;AAAA,EACP,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQ,mBAAA;AAAA,EACR,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA,EACpC,SAAA,EAAW,SAAS,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAO,kBAAA;AAAA,EACP,MAAA,EAAQ,mBAAmB,QAAA,EAAS;AAAA,EACpC,MAAA,EAAQ,mBAAmB,QAAA,EAAS;AAAA,EACpC,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAGuCA,MAAE,MAAA,CAAO;AAAA,EAC/C,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAe,YAAY,QAAA,EAAS;AAAA,EACpC,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,EAAE,QAAA,EAAS;AAAA,EACnD,QAAA,EAAU,qBAAA;AAAA,EACV,MAAMA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA,EACpC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAQ,CAAC;AACtD,CAAC;ACnCkCA,MAAE,MAAA,CAAO;AAAA,EAC1C,EAAA,EAAI,QAAA;AAAA;AAAA,EAEJ,cAAA,EAAgB,gBAAA;AAAA;AAAA,EAEhB,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,kBAAkB,CAAA;AAAA,EACrD,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,OAAA,EAASA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EACjC,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,YAAA,EAAc;AAChB,CAAC;AAKM,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,UAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,UAAA,EAAY,QAAA;AAAA,EACZ,qBAAqBA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9D,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,kBAAkBA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,EAAGA,KAAAA,CAAE,QAAQ,EAAE,CAAA,EAAGA,MAAE,OAAA,CAAQ,EAAE,CAAC,CAAC,CAAA,CAAE,QAAQ,EAAE,CAAA;AAAA,IACnF,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,SAAS,kBAAkB,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,IACvE,sBAAsBA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA;AAAS,GACrD,CAAA;AAAA,EACD,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,aAAA,EAAeA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,IACxC,kBAAA,EAAoBA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAU,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,IACtE,kBAAA,EAAoBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,IAC7C,yBAAA,EAA2BA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,GAAO;AAAA,GAC1E,CAAA;AAAA,EACD,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,iCAAA,EAAmCA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,GAAO,CAAA;AAAA,IACjF,iBAAiBA,KAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACrD,uBAAA,EAAyBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA;AAAS,GAClE,CAAA;AAAA,EACD,SAAA,EAAW;AACb,CAAC,CAAA;AAG2C,yBAAA,CACzC,IAAA,CAAK,EAAE,UAAA,EAAY,MAAM,SAAA,EAAW,IAAA,EAAM,CAAA,CAC1C,OAAA;AAKI,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,4BAAA;AAAA,EACA,0BAAA;AAAA,EACA,yBAAA;AAAA,EACA,oBAAA;AAAA,EACA,0BAAA;AAAA,EACA,2BAAA;AAAA,EACA,sBAAA;AAAA,EACA,0BAAA;AAAA,EACA,0BAAA;AAAA,EACA,sBAAA;AAAA,EACA,uBAAA;AAAA,EACA,wBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,wBAAA,GAA2BA,MAAE,IAAA,CAAK,CAAC,WAAW,SAAA,EAAW,SAAA,EAAW,SAAS,CAAC,CAAA;AAGpF,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,UAAA,EAAY,qBAAA;AAAA,EACZ,UAAA,EAAY,qBAAA;AAAA,EACZ,OAAA,EAAS,wBAAA;AAAA,EACT,cAAA,EAAgB,SAAS,QAAA,EAAS;AAAA,EAClC,aAAA,EAAe,SAAS,QAAA,EAAS;AAAA,EACjC,KAAA,EAAO,SAAS,QAAA,EAAS;AAAA,EACzB,QAAA,EAAU,cAAA;AAAA,EACV,SAAA,EAAW;AACb,CAAC,CAAA;AAKM,IAAM,oBAAA,GAAuBA,MAAE,IAAA,CAAK;AAAA,EACzC,UAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA;AAAA,EAEZ,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EACtD,aAAA,EAAe,gBAAA;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAI,CAAA;AAAA,EACvC,MAAA,EAAQ,iBAAA;AAAA,EACR,UAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EACjC,MAAA,EAAQ,oBAAA;AAAA,EACR,eAAA,EAAiB,gBAAA;AAAA,EACjB,iBAAiBA,KAAAA,CACd,MAAA,GACA,KAAA,CAAM,kBAAkB,EACxB,QAAA,EAAS;AAAA,EACZ,YAAA,EAAc,gBAAgB,QAAA,EAAS;AAAA,EACvC,aAAA,EAAe,gBAAgB,QAAA,EAAS;AAAA,EACxC,SAAA,EAAW,kBAAA;AAAA,EACX,WAAA,EAAa,mBAAmB,QAAA;AAClC,CAAC,CAAA;AAGwCA,MAAE,MAAA,CAAO;AAAA,EAChD,aAAA,EAAe,gBAAA;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAI,CAAA;AAAA,EACvC,MAAA,EAAQ,iBAAA;AAAA,EACR,UAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EACjC,eAAA,EAAiB,iBAAiB,QAAA;AACpC,CAAC;ACxIM,IAAM,2BAA2BA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,UAAA,EAAY,UAAU,CAAC,CAAA;AAGvE,IAAM,sBAAA,GAAyBA,MAAE,IAAA,CAAK,CAAC,SAAS,SAAA,EAAW,SAAA,EAAW,OAAO,CAAC,CAAA;AAG9E,IAAM,gCAAA,GAAmCA,MAAE,IAAA,CAAK;AAAA,EACrD,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,EAAA,EAAI,QAAA;AAAA,EACJ,aAAA,EAAe,gBAAA;AAAA,EACf,QAAA,EAAU,wBAAA;AAAA,EACV,MAAA,EAAQ,sBAAA;AAAA,EACR,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC/C,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9C,OAAA,EAAS,gCAAA;AAAA,EACT,UAAA,EAAY,SAAS,QAAA,EAAS;AAAA,EAC9B,SAAA,EAAW,SAAS,QAAA,EAAS;AAAA,EAC7B,cAAA,EAAgB,SAAS,QAAA,EAAS;AAAA,EAClC,mBAAmBA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAChD,SAAA,EAAW;AACb,CAAC,CAAA;ACrBM,IAAM,sBAAA,GAAyBA,MAAE,IAAA,CAAK;AAAA,EAC3C,iBAAA;AAAA,EACA,mBAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,4BAAA;AAAA,EACA,+BAAA;AAAA,EACA,+BAAA;AAAA,EACA,wBAAA;AAAA,EACA,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,uBAAA;AAAA,EACA,oBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,8BAA8BA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAGjE,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,IAAA,EAAM,UAAA;AAAA,EACN,GAAA,EAAK,cAAA;AAAA,EACL,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS;AAAA,EACjD,MAAA,EAAQ,2BAAA;AAAA,EACR,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EAC7C,eAAA,EAAiB,mBAAmB,QAAA,EAAS;AAAA,EAC7C,SAAA,EAAW,kBAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAC,CAAA;AAG+CA,MAAE,MAAA,CAAO;AAAA,EACvD,GAAA,EAAK,cAAA;AAAA,EACL,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS;AAAA,EACjD,aAAaA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC1C,IAAA,EAAM;AACR,CAAC;AAGgDA,MAAE,MAAA,CAAO;AAAA,EACxD,QAAA,EAAU,qBAAA;AAAA;AAAA,EAEV,aAAA,EAAeA,MAAE,MAAA;AACnB,CAAC;AAKM,IAAM,2BAAA,GAA8BA,MAAE,IAAA,CAAK;AAAA,EAChD,SAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AAGM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,EAAA,EAAI,QAAA;AAAA,EACJ,UAAA,EAAY,QAAA;AAAA,EACZ,UAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAS,QAAA;AAAA,EACT,SAAA,EAAW,sBAAA;AAAA,EACX,MAAA,EAAQ,2BAAA;AAAA,EACR,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACtC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC1D,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC7C,WAAWA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA,EACzC,aAAA,EAAe,mBAAmB,QAAA,EAAS;AAAA,EAC3C,WAAA,EAAa,mBAAmB,QAAA,EAAS;AAAA,EACzC,SAAA,EAAW;AACb,CAAC,CAAA;AAQ0C,sBAAsB,MAAA,CAAO;AAAA,EACtE,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,cAAA,EAAgBA,MAAE,MAAA,CAAOA,KAAAA,CAAE,QAAO,EAAGA,KAAAA,CAAE,SAAS;AAClD,CAAC;AAGwCA,MAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAI;AACN,CAAC;;;AChGD,IAAM,QAAA,GAAW,CAA2C,IAAA,EAAS,IAAA,KACnEA,MAAE,MAAA,CAAO;AAAA,EACP,EAAA,EAAI,QAAA;AAAA,EACJ,IAAA,EAAMA,KAAAA,CAAE,OAAA,CAAQ,IAAI,CAAA;AAAA,EACpB,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,qBAAqB,CAAA;AAAA,EAClD,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW,kBAAA;AAAA,EACX;AACF,CAAC,CAAA;AAII,IAAM,yBAAA,GAA4B,QAAA,CAAS,iBAAA,EAAmB,oBAAoB;AAClF,IAAM,2BAAA,GAA8B,QAAA;AAAA,EACzC,mBAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,SAAS,oBAAA,EAAsB,WAAA,EAAa,mBAAmB;AAC5E;AACO,IAAM,wBAAA,GAA2B,QAAA;AAAA,EACtC,gBAAA;AAAA,EACAA,KAAAA,CAAE,OAAO,EAAE,OAAA,EAAS,sBAAsB,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,EAAG;AAChE;AAIO,IAAM,8BAAA,GAAiC,QAAA,CAAS,sBAAA,EAAwB,kBAAkB;AAC1F,IAAM,8BAAA,GAAiC,QAAA;AAAA,EAC5C,sBAAA;AAAA,EACAA,MAAE,MAAA,CAAO;AAAA,IACP,YAAA,EAAc,kBAAA;AAAA,IACd,MAAA,EAAQ,wBAAA;AAAA,IACR,WAAA,EAAa;AAAA,GACd;AACH;AACO,IAAM,mCAAA,GAAsC,QAAA;AAAA,EACjD,4BAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,cAAc,kBAAA,EAAoB,MAAA,EAAQ,0BAA0B;AACjF;AACO,IAAM,sCAAA,GAAyC,QAAA;AAAA,EACpD,+BAAA;AAAA,EACAA,KAAAA,CAAE,MAAA,CAAO,EAAE,YAAA,EAAc,oBAAoB,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,GAAG;AACvF;AACO,IAAM,sCAAA,GAAyC,QAAA;AAAA,EACpD,+BAAA;AAAA,EACAA,MAAE,MAAA,CAAO;AAAA,IACP,YAAA,EAAc,kBAAA;AAAA,IACd,SAASA,KAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,SAAS,CAAC;AAAA,GACzC;AACH;AACO,IAAM,gCAAA,GAAmC,QAAA;AAAA,EAC9C,wBAAA;AAAA,EACA;AACF;AACO,IAAM,6BAAA,GAAgC,QAAA,CAAS,qBAAA,EAAuB,kBAAkB;AAIxF,IAAM,wBAAA,GAA2B,QAAA,CAAS,gBAAA,EAAkB,YAAY;AACxE,IAAM,0BAAA,GAA6B,QAAA;AAAA,EACxC,kBAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,QAAQ,YAAA,EAAc,WAAA,EAAa,mBAAmB;AACnE;AACO,IAAM,uBAAA,GAA0B,QAAA;AAAA,EACrC,eAAA;AAAA,EACAA,KAAAA,CAAE,OAAO,EAAE,MAAA,EAAQ,cAAc,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,EAAG;AACvD;AAIO,IAAM,yBAAA,GAA4B,QAAA,CAAS,iBAAA,EAAmB,aAAa;AAC3E,IAAM,sBAAA,GAAyB,QAAA;AAAA,EACpC,cAAA;AAAA,EACAA,MAAE,MAAA,CAAO,EAAE,SAAS,aAAA,EAAe,WAAA,EAAa,mBAAmB;AACrE;AACO,IAAM,yBAAA,GAA4B,QAAA,CAAS,iBAAA,EAAmB,aAAa;AAI3E,IAAM,8BAAA,GAAiC,QAAA;AAAA,EAC5C,uBAAA;AAAA,EACA;AACF;AACO,IAAM,2BAAA,GAA8B,QAAA,CAAS,oBAAA,EAAsB,cAAc;AACjF,IAAM,4BAAA,GAA+B,QAAA,CAAS,qBAAA,EAAuB,cAAc;AACnF,IAAM,2BAAA,GAA8B,QAAA,CAAS,oBAAA,EAAsB,cAAc;AAIjF,IAAM,kCAAA,GAAqC,QAAA;AAAA,EAChD,2BAAA;AAAA,EACA;AACF;AACO,IAAM,kCAAA,GAAqC,QAAA;AAAA,EAChD,2BAAA;AAAA,EACA;AACF;AAIO,IAAM,kBAAA,GAAqBA,KAAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,EAC7D,yBAAA;AAAA,EACA,2BAAA;AAAA,EACA,wBAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA,mCAAA;AAAA,EACA,sCAAA;AAAA,EACA,sCAAA;AAAA,EACA,gCAAA;AAAA,EACA,6BAAA;AAAA,EACA,wBAAA;AAAA,EACA,0BAAA;AAAA,EACA,uBAAA;AAAA,EACA,yBAAA;AAAA,EACA,sBAAA;AAAA,EACA,yBAAA;AAAA,EACA,8BAAA;AAAA,EACA,2BAAA;AAAA,EACA,4BAAA;AAAA,EACA,2BAAA;AAAA,EACA,kCAAA;AAAA,EACA;AACF,CAAC","file":"events.cjs","sourcesContent":["/**\n * Primitive schemas shared across every entity.\n * Every higher-level schema builds on these so validation is consistent.\n */\n\nimport { z } from 'zod'\n\n/** CUID2 or UUID-style opaque identifier. */\nexport const idSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[a-zA-Z0-9_-]+$/, 'id must be URL-safe')\n\n/** EVM address. Hex-encoded, 0x-prefixed, 20 bytes. Normalised to lowercase. */\nexport const evmAddressSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/, 'must be a 0x-prefixed 40-character hex EVM address')\n .transform((v) => v.toLowerCase())\n\n/** EVM transaction hash. 32-byte hex. */\nexport const evmTxHashSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/, 'must be a 0x-prefixed 64-character hex EVM transaction hash')\n\n/** Email address, trimmed and lower-cased. */\nexport const emailSchema = z.string().email().trim().toLowerCase().max(320)\n\n/** HTTPS URL. No http:// allowed outside dev. */\nexport const httpsUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://'), {\n message: 'must be an https:// URL',\n })\n\n/** URL permitting http and https (dev + prod). */\nexport const httpUrlSchema = z.string().url()\n\n/**\n * Amount expressed in the token's smallest unit, serialised as a string to\n * preserve precision beyond `Number.MAX_SAFE_INTEGER`. For USDC (6 decimals),\n * 1 USDC is the string \"1000000\".\n */\nexport const tokenAmountSchema = z\n .string()\n .regex(/^[0-9]+$/, 'must be a non-negative integer string (base-10)')\n .refine((v) => BigInt(v) >= 0n, 'must be >= 0')\n\n/** Unsigned integer up to 2^53 - 1; validated and returned as number. */\nexport const uintSchema = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER)\n\n/** ISO-8601 timestamp string (`.toISOString()`-compatible). */\nexport const isoTimestampSchema = z\n .string()\n .datetime({ offset: true, message: 'must be an ISO-8601 timestamp' })\n\n/** Two-letter ISO-3166 country code. */\nexport const countryCodeSchema = z\n .string()\n .length(2)\n .regex(/^[A-Z]{2}$/, 'must be an ISO-3166 alpha-2 country code')\n\n/** Pagination inputs used by every list endpoint. */\nexport const paginationInputSchema = z.object({\n limit: z.number().int().min(1).max(100).default(25),\n cursor: z.string().min(1).max(200).nullish(),\n})\nexport type PaginationInput = z.infer<typeof paginationInputSchema>\n\n/** Pagination envelope used by every list response. */\nexport const makePaginatedSchema = <T extends z.ZodTypeAny>(item: T) =>\n z.object({\n data: z.array(item),\n nextCursor: z.string().nullable(),\n hasMore: z.boolean(),\n })\n\n/** Free-form metadata bag the API round-trips for merchants. */\nexport const metadataSchema = z\n .record(\n z.string().min(1).max(40),\n z.union([z.string().max(500), z.number(), z.boolean(), z.null()]),\n )\n .refine((m) => Object.keys(m).length <= 50, 'at most 50 metadata keys')\n .default({})\n\n/** Environment mode carried on every mode-scoped resource. */\nexport const modeSchema = z.enum(['test', 'live'])\nexport type Mode = z.infer<typeof modeSchema>\n\n/** Payment token enum. */\nexport const paymentCurrencySchema = z.enum(['USDC', 'EURC'])\nexport type PaymentCurrency = z.infer<typeof paymentCurrencySchema>\n\n/** Every display-level currency (payment + treasury). */\nexport const tokenSymbolSchema = z.enum(['USDC', 'EURC', 'USYC'])\nexport type TokenSymbol = z.infer<typeof tokenSymbolSchema>\n\n/** Merchant tier enum. */\nexport const merchantTierSchema = z.enum(['free', 'growth', 'business', 'enterprise'])\nexport type MerchantTier = z.infer<typeof merchantTierSchema>\n\n/** Arc environment enum. */\nexport const arcEnvironmentSchema = z.enum(['testnet', 'mainnet'])\nexport type ArcEnvironment = z.infer<typeof arcEnvironmentSchema>\n\nexport type Id = z.infer<typeof idSchema>\nexport type EvmAddress = z.infer<typeof evmAddressSchema>\nexport type EvmTxHash = z.infer<typeof evmTxHashSchema>\nexport type TokenAmount = z.infer<typeof tokenAmountSchema>\nexport type IsoTimestamp = z.infer<typeof isoTimestampSchema>\nexport type Metadata = z.infer<typeof metadataSchema>\n","/**\n * Payment session. A one-shot checkout intent.\n *\n * State machine:\n * created → awaiting_payment → submitted → confirmed\n * \\\n * → failed\n * → expired\n * → cancelled\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const paymentSessionStatusSchema = z.enum([\n 'created',\n 'awaiting_payment',\n 'submitted',\n 'confirmed',\n 'failed',\n 'expired',\n 'cancelled',\n])\nexport type PaymentSessionStatus = z.infer<typeof paymentSessionStatusSchema>\n\n/**\n * Merchant-supplied callback URL. The hosted checkout dispatches with\n * `window.location.href = redirectUrl` on completion / cancellation,\n * so we MUST reject anything other than `http://` and `https://`.\n *\n * Why this is a real risk: Zod's `.url()` validates RFC syntax, which\n * accepts `javascript:`, `data:`, `vbscript:`, `file:`, blob:`, etc.\n * A compromised merchant integration or an XSS upstream could ship a\n * session whose redirect URL executes script (or exfiltrates session\n * tokens) on every payer's browser. The damage is per-payer, but the\n * blast radius is \"every checkout the merchant runs.\"\n *\n * Mailto / tel and other handler protocols are also rejected — there\n * is no legitimate flow on a payment checkout that would benefit.\n */\nexport const callbackUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://') || v.startsWith('http://'), {\n message: 'must be an http:// or https:// URL',\n })\n\nexport const paymentSessionSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * Set when the merchant has been registered on-chain; null when the\n * merchant exists in our DB but the registry transaction hasn't\n * been broadcast yet. Hosted checkout uses this to populate the\n * meta-tx calldata; if null, the checkout refuses to accept\n * payments.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency` on the\n * active chain (Arc Testnet / Mainnet). Used as the `verifyingContract`\n * in the EIP-712 domain for both EIP-3009 and EIP-2612 signing.\n * Null on the (vanishingly unlikely) path where the API has no\n * configured address for the session's currency.\n */\n tokenAddress: evmAddressSchema.nullable(),\n customerId: idSchema.nullable(),\n status: paymentSessionStatusSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n feeAmount: tokenAmountSchema,\n netAmount: tokenAmountSchema,\n description: z.string().max(500).nullable(),\n payerWalletAddress: evmAddressSchema.nullable(),\n payerEmail: z.string().email().nullable(),\n successUrl: callbackUrlSchema.nullable(),\n cancelUrl: callbackUrlSchema.nullable(),\n sourceChain: z\n .enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana'])\n .nullable(),\n bridgeTxHash: evmTxHashSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n checkoutUrl: z.string().url(),\n metadata: metadataSchema,\n expiresAt: isoTimestampSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type PaymentSession = z.infer<typeof paymentSessionSchema>\n\n// ---------- DTOs ----------\n\nexport const createPaymentSessionInputSchema = z.object({\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n description: z.string().max(500).optional(),\n customer: z\n .object({\n walletAddress: evmAddressSchema.optional(),\n email: z.string().email().optional(),\n externalRef: z.string().max(120).optional(),\n })\n .optional(),\n successUrl: z.string().url().optional(),\n cancelUrl: z.string().url().optional(),\n /** Minutes until the session expires. Default 30, max 60*24 (one day). */\n expiresInMinutes: z\n .number()\n .int()\n .min(1)\n .max(60 * 24)\n .default(30),\n /**\n * Allowed source chains a payer can bridge USDC from via CCTP. Omit to\n * accept every CCTP-supported chain.\n */\n supportedSourceChains: z\n .array(\n z.enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana']),\n )\n .optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreatePaymentSessionInput = z.infer<typeof createPaymentSessionInputSchema>\n\nexport const submitPaymentSessionInputSchema = z.object({\n sourceChain: z.enum([\n 'arc',\n 'ethereum',\n 'base',\n 'polygon',\n 'arbitrum',\n 'optimism',\n 'avalanche',\n 'solana',\n ]),\n onchainTxHash: evmTxHashSchema,\n bridgeTxHash: evmTxHashSchema.optional(),\n payerWalletAddress: evmAddressSchema,\n})\nexport type SubmitPaymentSessionInput = z.infer<typeof submitPaymentSessionInputSchema>\n","/**\n * Transaction. The record of a confirmed on-chain payment.\n *\n * Every transaction corresponds to either a paid PaymentSession, a\n * SubscriptionCharge, or a Refund. Records are derived from the\n * `PaymentExecuted`, `SubscriptionCharged`, and `RefundRecorded` events.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const transactionKindSchema = z.enum([\n 'one_shot',\n 'subscription_charge',\n 'refund',\n 'invoice_payment',\n 'storefront_purchase',\n])\nexport type TransactionKind = z.infer<typeof transactionKindSchema>\n\nexport const transactionStatusSchema = z.enum(['pending', 'confirmed', 'failed'])\nexport type TransactionStatus = z.infer<typeof transactionStatusSchema>\n\nexport const transactionSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n kind: transactionKindSchema,\n status: transactionStatusSchema,\n sessionId: idSchema.nullable(),\n subscriptionId: idSchema.nullable(),\n subscriptionChargeId: idSchema.nullable(),\n refundId: idSchema.nullable(),\n customerId: idSchema.nullable(),\n amount: tokenAmountSchema,\n feeAmount: tokenAmountSchema,\n netAmount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n payerAddress: evmAddressSchema,\n merchantAddress: evmAddressSchema,\n onchainTxHash: evmTxHashSchema,\n blockNumber: z.number().int().nonnegative(),\n blockTimestamp: isoTimestampSchema,\n createdAt: isoTimestampSchema,\n})\nexport type Transaction = z.infer<typeof transactionSchema>\n","/**\n * Subscriptions: plans, active subscriptions, and individual charges.\n *\n * Design notes:\n * - A SubscriptionPlan is the template a merchant defines.\n * - A Subscription is an active, customer-scoped instance of a plan.\n * - Each billing period produces a SubscriptionCharge with a unique\n * chargeAttemptId used to enforce idempotency at the contract level.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\n// ---------- Plans ----------\n\nexport const subscriptionIntervalSchema = z.enum([\n 'daily',\n 'weekly',\n 'monthly',\n 'quarterly',\n 'yearly',\n])\nexport type SubscriptionInterval = z.infer<typeof subscriptionIntervalSchema>\n\nexport const subscriptionPlanStatusSchema = z.enum(['active', 'archived'])\nexport type SubscriptionPlanStatus = z.infer<typeof subscriptionPlanStatusSchema>\n\nexport const subscriptionPlanSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * See `paymentSessionSchema.chainMerchantId`. Null when the merchant\n * hasn't been registered on-chain yet. The hosted enrolment page\n * refuses to take signatures in that state.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency`. This is the\n * EIP-2612 `verifyingContract` the wallet signs over.\n */\n tokenAddress: evmAddressSchema.nullable(),\n /**\n * Charge cadence in seconds, derived from `interval` + `intervalCount`\n * so the meta-tx layer can pass a uint32 to StrimzSubscriptions\n * without re-deriving the conversion on the client.\n */\n intervalSeconds: z.number().int().positive(),\n name: z.string().min(1).max(120),\n description: z.string().max(500).nullable(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365),\n trialPeriodDays: z.number().int().min(0).max(365).nullable(),\n status: subscriptionPlanStatusSchema,\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionPlan = z.infer<typeof subscriptionPlanSchema>\n\nexport const createSubscriptionPlanInputSchema = z.object({\n name: z.string().min(1).max(120),\n description: z.string().max(500).optional(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365).default(1),\n trialPeriodDays: z.number().int().min(0).max(365).optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreateSubscriptionPlanInput = z.infer<typeof createSubscriptionPlanInputSchema>\n\n// ---------- Subscriptions ----------\n\nexport const subscriptionStatusSchema = z.enum([\n 'trialing',\n 'active',\n 'at_risk',\n 'paused',\n 'cancelled',\n 'lapsed',\n])\nexport type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>\n\nexport const subscriptionSchema = z.object({\n id: idSchema,\n onchainSubscriptionId: z.number().int().nonnegative().nullable(),\n merchantId: idSchema,\n customerId: idSchema,\n planId: idSchema,\n status: subscriptionStatusSchema,\n payerAddress: evmAddressSchema,\n currency: paymentCurrencySchema,\n amount: tokenAmountSchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1),\n trialEndsAt: isoTimestampSchema.nullable(),\n currentPeriodStartAt: isoTimestampSchema,\n currentPeriodEndAt: isoTimestampSchema,\n nextChargeAt: isoTimestampSchema.nullable(),\n gracePeriodHours: z.number().int().min(0).max(72),\n cancelledAt: isoTimestampSchema.nullable(),\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Subscription = z.infer<typeof subscriptionSchema>\n\nexport const createSubscriptionInputSchema = z.object({\n planId: idSchema,\n customer: z.object({\n walletAddress: evmAddressSchema,\n email: z.string().email().optional(),\n externalRef: z.string().max(120).optional(),\n }),\n gracePeriodHours: z.union([z.literal(24), z.literal(48), z.literal(72)]).default(48),\n metadata: metadataSchema.optional(),\n})\nexport type CreateSubscriptionInput = z.infer<typeof createSubscriptionInputSchema>\n\nexport const cancelSubscriptionInputSchema = z.object({\n id: idSchema,\n reason: z.string().max(500).optional(),\n})\nexport type CancelSubscriptionInput = z.infer<typeof cancelSubscriptionInputSchema>\n\n// ---------- Charges ----------\n\nexport const subscriptionChargeOutcomeSchema = z.enum([\n 'charged',\n 'insufficient_funds',\n 'revoked_approval',\n 'cancelled',\n 'skipped',\n])\nexport type SubscriptionChargeOutcome = z.infer<typeof subscriptionChargeOutcomeSchema>\n\nexport const subscriptionChargeStatusSchema = z.enum([\n 'pending',\n 'in_flight',\n 'succeeded',\n 'failed',\n 'retrying',\n 'abandoned',\n])\nexport type SubscriptionChargeStatus = z.infer<typeof subscriptionChargeStatusSchema>\n\nexport const subscriptionChargeSchema = z.object({\n id: idSchema,\n subscriptionId: idSchema,\n merchantId: idSchema,\n chargeAttemptId: z.string().length(66, 'must be a 32-byte 0x-prefixed hex string'),\n periodStartAt: isoTimestampSchema,\n periodEndAt: isoTimestampSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: subscriptionChargeStatusSchema,\n outcome: subscriptionChargeOutcomeSchema.nullable(),\n attemptNumber: z.number().int().min(1),\n scheduledAt: isoTimestampSchema,\n executedAt: isoTimestampSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionCharge = z.infer<typeof subscriptionChargeSchema>\n","/**\n * Refund. A merchant-initiated return of funds to a payer.\n *\n * Refunds are executed off-chain (from the merchant's wallet to the payer's\n * wallet). Strimz records the intent, validates constraints, and reconciles\n * via the merchant-signed on-chain transfer.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const refundReasonSchema = z.enum([\n 'customer_request',\n 'product_issue',\n 'duplicate_charge',\n 'fraudulent',\n 'other',\n])\nexport type RefundReason = z.infer<typeof refundReasonSchema>\n\nexport const refundStatusSchema = z.enum([\n 'pending',\n 'awaiting_signature',\n 'submitted',\n 'completed',\n 'failed',\n 'cancelled',\n])\nexport type RefundStatus = z.infer<typeof refundStatusSchema>\n\nexport const refundSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n transactionId: idSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n reason: refundReasonSchema,\n note: z.string().max(500).nullable(),\n status: refundStatusSchema,\n payerAddress: evmAddressSchema,\n refundTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n initiatedBy: idSchema,\n createdAt: isoTimestampSchema,\n completedAt: isoTimestampSchema.nullable(),\n})\nexport type Refund = z.infer<typeof refundSchema>\n\nexport const createRefundInputSchema = z.object({\n transactionId: idSchema,\n amount: tokenAmountSchema,\n reason: refundReasonSchema,\n note: z.string().max(500).optional(),\n})\nexport type CreateRefundInput = z.infer<typeof createRefundInputSchema>\n\nexport const submitRefundSignatureInputSchema = z.object({\n id: idSchema,\n refundTxHash: evmTxHashSchema,\n})\nexport type SubmitRefundSignatureInput = z.infer<typeof submitRefundSignatureInputSchema>\n\n/**\n * Response envelope for `POST /v1/refunds`. The API returns the newly\n * created refund plus the concrete ERC-20 transfer the merchant now\n * has to sign from their payout wallet.\n */\nexport const refundSigningInstructionsSchema = z.object({\n token: evmAddressSchema,\n to: evmAddressSchema,\n amount: tokenAmountSchema,\n note: z.string(),\n})\nexport type RefundSigningInstructions = z.infer<typeof refundSigningInstructionsSchema>\n\nexport const refundCreateOutputSchema = z.object({\n refund: refundSchema,\n signingInstructions: refundSigningInstructionsSchema,\n})\nexport type RefundCreateOutput = z.infer<typeof refundCreateOutputSchema>\n","/**\n * Invoices. Shareable, expirable payment requests with structured line items.\n */\n\nimport { z } from 'zod'\nimport {\n emailSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const invoiceStatusSchema = z.enum(['draft', 'sent', 'paid', 'overdue', 'void'])\nexport type InvoiceStatus = z.infer<typeof invoiceStatusSchema>\n\nexport const invoiceLineItemSchema = z.object({\n description: z.string().min(1).max(500),\n quantity: z.number().int().min(1).max(10_000),\n unitAmount: tokenAmountSchema,\n})\nexport type InvoiceLineItem = z.infer<typeof invoiceLineItemSchema>\n\nexport const invoiceSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n number: z.string().min(1).max(40),\n customerName: z.string().min(1).max(200).nullable(),\n customerEmail: emailSchema.nullable(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n subtotal: tokenAmountSchema,\n total: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: invoiceStatusSchema,\n note: z.string().max(2000).nullable(),\n sessionId: idSchema.nullable(),\n dueAt: isoTimestampSchema,\n paidAt: isoTimestampSchema.nullable(),\n sentAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Invoice = z.infer<typeof invoiceSchema>\n\nexport const createInvoiceInputSchema = z.object({\n customerName: z.string().min(1).max(200).optional(),\n customerEmail: emailSchema.optional(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n currency: paymentCurrencySchema,\n note: z.string().max(2000).optional(),\n dueInDays: z.number().int().min(1).max(90).default(7),\n})\nexport type CreateInvoiceInput = z.infer<typeof createInvoiceInputSchema>\n","/**\n * AI AutoPay Agent. Identity, configuration, activity log, and ERC-8183 jobs.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n tokenAmountSchema,\n} from './common.js'\n\n// ---------- Identity ----------\n\nexport const agentIdentitySchema = z.object({\n id: idSchema,\n /** ERC-8004 on-chain identity address. */\n onchainAddress: evmAddressSchema,\n /** Public key or agent credential digest, as emitted by ERC-8004. */\n credentialDigest: z.string().regex(/^0x[a-fA-F0-9]+$/),\n name: z.string().min(1).max(120),\n version: z.string().min(1).max(40),\n reputationScore: z.number().min(0).max(100).nullable(),\n registeredAt: isoTimestampSchema,\n})\nexport type AgentIdentity = z.infer<typeof agentIdentitySchema>\n\n// ---------- Merchant config ----------\n\nexport const agentCapabilitySchema = z.enum([\n 'identity',\n 'recovery',\n 'routing',\n 'cashflow',\n 'commerce',\n 'pricing_intelligence',\n])\nexport type AgentCapability = z.infer<typeof agentCapabilitySchema>\n\nexport const agentMerchantConfigSchema = z.object({\n merchantId: idSchema,\n enabledCapabilities: z.array(agentCapabilitySchema).default([]),\n recovery: z.object({\n gracePeriodHours: z.union([z.literal(24), z.literal(48), z.literal(72)]).default(48),\n strategy: z.enum(['once', 'twice', 'until_grace_ends']).default('twice'),\n notificationTemplate: z.string().max(2000).nullable(),\n }),\n cashflow: z.object({\n digestEnabled: z.boolean().default(false),\n anomalySensitivity: z.enum(['low', 'medium', 'high']).default('medium'),\n autoConvertToYield: z.boolean().default(false),\n minimumLiquidReserveCents: z.number().int().nonnegative().default(100_000),\n }),\n commerce: z.object({\n requireHumanApprovalAboveUsdCents: z.number().int().nonnegative().default(100_000),\n approvedVendors: z.array(evmAddressSchema).default([]),\n monthlySpendCapUsdCents: z.number().int().nonnegative().nullable(),\n }),\n updatedAt: isoTimestampSchema,\n})\nexport type AgentMerchantConfig = z.infer<typeof agentMerchantConfigSchema>\n\nexport const updateAgentConfigInputSchema = agentMerchantConfigSchema\n .omit({ merchantId: true, updatedAt: true })\n .partial()\nexport type UpdateAgentConfigInput = z.infer<typeof updateAgentConfigInputSchema>\n\n// ---------- Activity log ----------\n\nexport const agentActionTypeSchema = z.enum([\n 'recovery_notification_sent',\n 'recovery_retry_scheduled',\n 'recovery_retry_executed',\n 'recovery_abandoned',\n 'routing_bridge_initiated',\n 'routing_payment_completed',\n 'cashflow_digest_sent',\n 'cashflow_anomaly_flagged',\n 'cashflow_yield_converted',\n 'commerce_job_created',\n 'commerce_job_approved',\n 'commerce_job_completed',\n 'commerce_job_disputed',\n])\nexport type AgentActionType = z.infer<typeof agentActionTypeSchema>\n\nexport const agentActionOutcomeSchema = z.enum(['success', 'failure', 'pending', 'skipped'])\nexport type AgentActionOutcome = z.infer<typeof agentActionOutcomeSchema>\n\nexport const agentActivityLogSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n capability: agentCapabilitySchema,\n actionType: agentActionTypeSchema,\n outcome: agentActionOutcomeSchema,\n subscriptionId: idSchema.nullable(),\n transactionId: idSchema.nullable(),\n jobId: idSchema.nullable(),\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n})\nexport type AgentActivityLog = z.infer<typeof agentActivityLogSchema>\n\n// ---------- ERC-8183 jobs ----------\n\nexport const agentJobStatusSchema = z.enum([\n 'proposed',\n 'accepted',\n 'in_progress',\n 'delivered',\n 'approved',\n 'completed',\n 'disputed',\n 'cancelled',\n])\nexport type AgentJobStatus = z.infer<typeof agentJobStatusSchema>\n\nexport const agentJobSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /** On-chain job id from StrimzAgentEscrow. */\n onchainJobId: z.number().int().nonnegative().nullable(),\n vendorAddress: evmAddressSchema,\n description: z.string().min(1).max(2000),\n amount: tokenAmountSchema,\n currency: z.enum(['USDC', 'EURC']),\n status: agentJobStatusSchema,\n assessorAddress: evmAddressSchema,\n deliverableHash: z\n .string()\n .regex(/^0x[a-fA-F0-9]+$/)\n .nullable(),\n escrowTxHash: evmTxHashSchema.nullable(),\n releaseTxHash: evmTxHashSchema.nullable(),\n createdAt: isoTimestampSchema,\n completedAt: isoTimestampSchema.nullable(),\n})\nexport type AgentJob = z.infer<typeof agentJobSchema>\n\nexport const createAgentJobInputSchema = z.object({\n vendorAddress: evmAddressSchema,\n description: z.string().min(1).max(2000),\n amount: tokenAmountSchema,\n currency: z.enum(['USDC', 'EURC']),\n assessorAddress: evmAddressSchema.optional(),\n})\nexport type CreateAgentJobInput = z.infer<typeof createAgentJobInputSchema>\n","/**\n * Compliance: sanctions/AML screening log.\n *\n * Every wallet address that interacts with Strimz (merchant payout,\n * subscriber, payer) is screened. Results are logged; provider and score\n * are recorded for later audit.\n */\n\nimport { z } from 'zod'\nimport { evmAddressSchema, idSchema, isoTimestampSchema } from './common.js'\n\nexport const complianceProviderSchema = z.enum(['trm', 'elliptic', 'disabled'])\nexport type ComplianceProvider = z.infer<typeof complianceProviderSchema>\n\nexport const complianceStatusSchema = z.enum(['clear', 'flagged', 'blocked', 'error'])\nexport type ComplianceStatus = z.infer<typeof complianceStatusSchema>\n\nexport const complianceScreeningContextSchema = z.enum([\n 'merchant_onboarding',\n 'payer_checkout',\n 'subscriber_signup',\n 'refund_recipient',\n])\nexport type ComplianceScreeningContext = z.infer<typeof complianceScreeningContextSchema>\n\nexport const complianceLogSchema = z.object({\n id: idSchema,\n walletAddress: evmAddressSchema,\n provider: complianceProviderSchema,\n status: complianceStatusSchema,\n riskScore: z.number().min(0).max(100).nullable(),\n flags: z.array(z.string().max(120)).default([]),\n context: complianceScreeningContextSchema,\n merchantId: idSchema.nullable(),\n sessionId: idSchema.nullable(),\n subscriptionId: idSchema.nullable(),\n providerRequestId: z.string().max(200).nullable(),\n createdAt: isoTimestampSchema,\n})\nexport type ComplianceLog = z.infer<typeof complianceLogSchema>\n","/**\n * Webhook endpoints and deliveries.\n *\n * Endpoint = the URL the merchant registered.\n * Event = the thing that happened.\n * Delivery = one attempt to POST a specific event to a specific endpoint.\n */\n\nimport { z } from 'zod'\nimport { httpsUrlSchema, idSchema, isoTimestampSchema, modeSchema } from './common.js'\n\n// ---------- Event name ----------\n\n/**\n * Every webhook event name in the system. Listed inline so Zod can\n * produce a concrete string union.\n */\nexport const webhookEventNameSchema = z.enum([\n 'payment.created',\n 'payment.completed',\n 'payment.failed',\n 'subscription.created',\n 'subscription.charged',\n 'subscription.charge_failed',\n 'subscription.recovery_attempt',\n 'subscription.recovery_outcome',\n 'subscription.cancelled',\n 'subscription.lapsed',\n 'refund.created',\n 'refund.completed',\n 'refund.failed',\n 'invoice.created',\n 'invoice.paid',\n 'invoice.overdue',\n 'agent.action_executed',\n 'agent.job_proposed',\n 'agent.job_completed',\n 'agent.job_disputed',\n 'compliance.wallet_flagged',\n 'compliance.wallet_blocked',\n])\nexport type WebhookEventName = z.infer<typeof webhookEventNameSchema>\n\n// ---------- Endpoints ----------\n\nexport const webhookEndpointStatusSchema = z.enum(['active', 'disabled'])\nexport type WebhookEndpointStatus = z.infer<typeof webhookEndpointStatusSchema>\n\nexport const webhookEndpointSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n mode: modeSchema,\n url: httpsUrlSchema,\n description: z.string().max(200).nullable(),\n events: z.array(webhookEventNameSchema).nonempty(),\n status: webhookEndpointStatusSchema,\n signingSecretPrefix: z.string().min(4).max(12),\n lastDeliveredAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type WebhookEndpoint = z.infer<typeof webhookEndpointSchema>\n\nexport const createWebhookEndpointInputSchema = z.object({\n url: httpsUrlSchema,\n events: z.array(webhookEventNameSchema).nonempty(),\n description: z.string().max(200).optional(),\n mode: modeSchema,\n})\nexport type CreateWebhookEndpointInput = z.infer<typeof createWebhookEndpointInputSchema>\n\nexport const createWebhookEndpointOutputSchema = z.object({\n endpoint: webhookEndpointSchema,\n /** Full signing secret. Shown exactly once. */\n signingSecret: z.string(),\n})\nexport type CreateWebhookEndpointOutput = z.infer<typeof createWebhookEndpointOutputSchema>\n\n// ---------- Deliveries ----------\n\nexport const webhookDeliveryStatusSchema = z.enum([\n 'pending',\n 'delivered',\n 'retrying',\n 'permanently_failed',\n])\nexport type WebhookDeliveryStatus = z.infer<typeof webhookDeliveryStatusSchema>\n\nexport const webhookDeliverySchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n endpointId: idSchema,\n eventId: idSchema,\n eventName: webhookEventNameSchema,\n status: webhookDeliveryStatusSchema,\n attempt: z.number().int().min(1).max(6),\n responseCode: z.number().int().min(100).max(599).nullable(),\n responseMs: z.number().int().min(0).nullable(),\n lastError: z.string().max(1000).nullable(),\n nextAttemptAt: isoTimestampSchema.nullable(),\n deliveredAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n})\nexport type WebhookDelivery = z.infer<typeof webhookDeliverySchema>\n\n/**\n * Detail projection returned by GET /v1/webhook-deliveries/:id.\n * Carries the payload envelope, response body, and the deliveryId\n * header the receiver saw. Kept separate so list responses stay slim.\n */\nexport const webhookDeliveryDetailSchema = webhookDeliverySchema.extend({\n deliveryId: z.string(),\n responseBody: z.string().nullable(),\n requestPayload: z.record(z.string(), z.unknown()),\n})\nexport type WebhookDeliveryDetail = z.infer<typeof webhookDeliveryDetailSchema>\n\nexport const replayDeliveryInputSchema = z.object({\n id: idSchema,\n})\nexport type ReplayDeliveryInput = z.infer<typeof replayDeliveryInputSchema>\n","/**\n * Canonical webhook event envelopes.\n *\n * The event envelope is what Strimz signs, stores, and delivers. Every\n * webhook-delivered payload is an instance of `webhookEventSchema` for a\n * specific event name, with `data` typed to the matching entity schema.\n *\n * SDK consumers import `StrimzWebhookEvent` to get a discriminated union\n * over every possible event name → payload shape.\n */\n\nimport { z } from 'zod'\nimport { idSchema, isoTimestampSchema, modeSchema } from './common.js'\nimport { paymentSessionSchema } from './payment-sessions.js'\nimport { transactionSchema } from './transactions.js'\nimport { subscriptionSchema, subscriptionChargeSchema } from './subscriptions.js'\nimport { refundSchema } from './refunds.js'\nimport { invoiceSchema } from './invoices.js'\nimport { agentActivityLogSchema, agentJobSchema } from './agents.js'\nimport { complianceLogSchema } from './compliance.js'\nimport { webhookEventNameSchema } from './webhooks.js'\n\n/** Common envelope wrapping every webhook payload. */\nconst envelope = <N extends string, D extends z.ZodTypeAny>(name: N, data: D) =>\n z.object({\n id: idSchema,\n type: z.literal(name),\n apiVersion: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n mode: modeSchema,\n createdAt: isoTimestampSchema,\n data,\n })\n\n// ---------- Payment ----------\n\nexport const paymentCreatedEventSchema = envelope('payment.created', paymentSessionSchema)\nexport const paymentCompletedEventSchema = envelope(\n 'payment.completed',\n z.object({ session: paymentSessionSchema, transaction: transactionSchema }),\n)\nexport const paymentFailedEventSchema = envelope(\n 'payment.failed',\n z.object({ session: paymentSessionSchema, reason: z.string() }),\n)\n\n// ---------- Subscription ----------\n\nexport const subscriptionCreatedEventSchema = envelope('subscription.created', subscriptionSchema)\nexport const subscriptionChargedEventSchema = envelope(\n 'subscription.charged',\n z.object({\n subscription: subscriptionSchema,\n charge: subscriptionChargeSchema,\n transaction: transactionSchema,\n }),\n)\nexport const subscriptionChargeFailedEventSchema = envelope(\n 'subscription.charge_failed',\n z.object({ subscription: subscriptionSchema, charge: subscriptionChargeSchema }),\n)\nexport const subscriptionRecoveryAttemptEventSchema = envelope(\n 'subscription.recovery_attempt',\n z.object({ subscription: subscriptionSchema, attemptNumber: z.number().int().min(1) }),\n)\nexport const subscriptionRecoveryOutcomeEventSchema = envelope(\n 'subscription.recovery_outcome',\n z.object({\n subscription: subscriptionSchema,\n outcome: z.enum(['recovered', 'churned']),\n }),\n)\nexport const subscriptionCancelledEventSchema = envelope(\n 'subscription.cancelled',\n subscriptionSchema,\n)\nexport const subscriptionLapsedEventSchema = envelope('subscription.lapsed', subscriptionSchema)\n\n// ---------- Refund ----------\n\nexport const refundCreatedEventSchema = envelope('refund.created', refundSchema)\nexport const refundCompletedEventSchema = envelope(\n 'refund.completed',\n z.object({ refund: refundSchema, transaction: transactionSchema }),\n)\nexport const refundFailedEventSchema = envelope(\n 'refund.failed',\n z.object({ refund: refundSchema, reason: z.string() }),\n)\n\n// ---------- Invoice ----------\n\nexport const invoiceCreatedEventSchema = envelope('invoice.created', invoiceSchema)\nexport const invoicePaidEventSchema = envelope(\n 'invoice.paid',\n z.object({ invoice: invoiceSchema, transaction: transactionSchema }),\n)\nexport const invoiceOverdueEventSchema = envelope('invoice.overdue', invoiceSchema)\n\n// ---------- Agent ----------\n\nexport const agentActionExecutedEventSchema = envelope(\n 'agent.action_executed',\n agentActivityLogSchema,\n)\nexport const agentJobProposedEventSchema = envelope('agent.job_proposed', agentJobSchema)\nexport const agentJobCompletedEventSchema = envelope('agent.job_completed', agentJobSchema)\nexport const agentJobDisputedEventSchema = envelope('agent.job_disputed', agentJobSchema)\n\n// ---------- Compliance ----------\n\nexport const complianceWalletFlaggedEventSchema = envelope(\n 'compliance.wallet_flagged',\n complianceLogSchema,\n)\nexport const complianceWalletBlockedEventSchema = envelope(\n 'compliance.wallet_blocked',\n complianceLogSchema,\n)\n\n// ---------- Discriminated union ----------\n\nexport const webhookEventSchema = z.discriminatedUnion('type', [\n paymentCreatedEventSchema,\n paymentCompletedEventSchema,\n paymentFailedEventSchema,\n subscriptionCreatedEventSchema,\n subscriptionChargedEventSchema,\n subscriptionChargeFailedEventSchema,\n subscriptionRecoveryAttemptEventSchema,\n subscriptionRecoveryOutcomeEventSchema,\n subscriptionCancelledEventSchema,\n subscriptionLapsedEventSchema,\n refundCreatedEventSchema,\n refundCompletedEventSchema,\n refundFailedEventSchema,\n invoiceCreatedEventSchema,\n invoicePaidEventSchema,\n invoiceOverdueEventSchema,\n agentActionExecutedEventSchema,\n agentJobProposedEventSchema,\n agentJobCompletedEventSchema,\n agentJobDisputedEventSchema,\n complianceWalletFlaggedEventSchema,\n complianceWalletBlockedEventSchema,\n])\nexport type StrimzWebhookEvent = z.infer<typeof webhookEventSchema>\n\n/** Per-event-name inferred payload types. */\nexport type PaymentCreatedEvent = z.infer<typeof paymentCreatedEventSchema>\nexport type PaymentCompletedEvent = z.infer<typeof paymentCompletedEventSchema>\nexport type PaymentFailedEvent = z.infer<typeof paymentFailedEventSchema>\nexport type SubscriptionCreatedEvent = z.infer<typeof subscriptionCreatedEventSchema>\nexport type SubscriptionChargedEvent = z.infer<typeof subscriptionChargedEventSchema>\nexport type SubscriptionChargeFailedEvent = z.infer<typeof subscriptionChargeFailedEventSchema>\nexport type SubscriptionRecoveryAttemptEvent = z.infer<\n typeof subscriptionRecoveryAttemptEventSchema\n>\nexport type SubscriptionRecoveryOutcomeEvent = z.infer<\n typeof subscriptionRecoveryOutcomeEventSchema\n>\nexport type SubscriptionCancelledEvent = z.infer<typeof subscriptionCancelledEventSchema>\nexport type SubscriptionLapsedEvent = z.infer<typeof subscriptionLapsedEventSchema>\nexport type RefundCreatedEvent = z.infer<typeof refundCreatedEventSchema>\nexport type RefundCompletedEvent = z.infer<typeof refundCompletedEventSchema>\nexport type RefundFailedEvent = z.infer<typeof refundFailedEventSchema>\nexport type InvoiceCreatedEvent = z.infer<typeof invoiceCreatedEventSchema>\nexport type InvoicePaidEvent = z.infer<typeof invoicePaidEventSchema>\nexport type InvoiceOverdueEvent = z.infer<typeof invoiceOverdueEventSchema>\nexport type AgentActionExecutedEvent = z.infer<typeof agentActionExecutedEventSchema>\nexport type AgentJobProposedEvent = z.infer<typeof agentJobProposedEventSchema>\nexport type AgentJobCompletedEvent = z.infer<typeof agentJobCompletedEventSchema>\nexport type AgentJobDisputedEvent = z.infer<typeof agentJobDisputedEventSchema>\nexport type ComplianceWalletFlaggedEvent = z.infer<typeof complianceWalletFlaggedEventSchema>\nexport type ComplianceWalletBlockedEvent = z.infer<typeof complianceWalletBlockedEventSchema>\n\nexport { webhookEventNameSchema }\n"]}
|
package/dist/events.d.cts
CHANGED
|
@@ -32,8 +32,8 @@ declare const paymentCreatedEventSchema: z.ZodObject<{
|
|
|
32
32
|
description: z.ZodNullable<z.ZodString>;
|
|
33
33
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
34
34
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
35
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
36
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
35
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
36
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
37
37
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
38
38
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
39
39
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -175,8 +175,8 @@ declare const paymentCompletedEventSchema: z.ZodObject<{
|
|
|
175
175
|
description: z.ZodNullable<z.ZodString>;
|
|
176
176
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
177
177
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
178
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
179
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
178
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
179
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
180
180
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
181
181
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
182
182
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -520,8 +520,8 @@ declare const paymentFailedEventSchema: z.ZodObject<{
|
|
|
520
520
|
description: z.ZodNullable<z.ZodString>;
|
|
521
521
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
522
522
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
523
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
524
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
523
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
524
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
525
525
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
526
526
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
527
527
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -3976,8 +3976,8 @@ declare const webhookEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
3976
3976
|
description: z.ZodNullable<z.ZodString>;
|
|
3977
3977
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
3978
3978
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
3979
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
3980
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
3979
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
3980
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
3981
3981
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
3982
3982
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
3983
3983
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -4118,8 +4118,8 @@ declare const webhookEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
4118
4118
|
description: z.ZodNullable<z.ZodString>;
|
|
4119
4119
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4120
4120
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
4121
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
4122
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
4121
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4122
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4123
4123
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
4124
4124
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
4125
4125
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -4462,8 +4462,8 @@ declare const webhookEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
4462
4462
|
description: z.ZodNullable<z.ZodString>;
|
|
4463
4463
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4464
4464
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
4465
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
4466
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
4465
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4466
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4467
4467
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
4468
4468
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
4469
4469
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
package/dist/events.d.ts
CHANGED
|
@@ -32,8 +32,8 @@ declare const paymentCreatedEventSchema: z.ZodObject<{
|
|
|
32
32
|
description: z.ZodNullable<z.ZodString>;
|
|
33
33
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
34
34
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
35
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
36
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
35
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
36
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
37
37
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
38
38
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
39
39
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -175,8 +175,8 @@ declare const paymentCompletedEventSchema: z.ZodObject<{
|
|
|
175
175
|
description: z.ZodNullable<z.ZodString>;
|
|
176
176
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
177
177
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
178
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
179
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
178
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
179
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
180
180
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
181
181
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
182
182
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -520,8 +520,8 @@ declare const paymentFailedEventSchema: z.ZodObject<{
|
|
|
520
520
|
description: z.ZodNullable<z.ZodString>;
|
|
521
521
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
522
522
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
523
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
524
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
523
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
524
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
525
525
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
526
526
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
527
527
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -3976,8 +3976,8 @@ declare const webhookEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
3976
3976
|
description: z.ZodNullable<z.ZodString>;
|
|
3977
3977
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
3978
3978
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
3979
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
3980
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
3979
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
3980
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
3981
3981
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
3982
3982
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
3983
3983
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -4118,8 +4118,8 @@ declare const webhookEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
4118
4118
|
description: z.ZodNullable<z.ZodString>;
|
|
4119
4119
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4120
4120
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
4121
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
4122
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
4121
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4122
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4123
4123
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
4124
4124
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
4125
4125
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
|
@@ -4462,8 +4462,8 @@ declare const webhookEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
4462
4462
|
description: z.ZodNullable<z.ZodString>;
|
|
4463
4463
|
payerWalletAddress: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4464
4464
|
payerEmail: z.ZodNullable<z.ZodString>;
|
|
4465
|
-
successUrl: z.ZodNullable<z.ZodString
|
|
4466
|
-
cancelUrl: z.ZodNullable<z.ZodString
|
|
4465
|
+
successUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4466
|
+
cancelUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
|
|
4467
4467
|
sourceChain: z.ZodNullable<z.ZodEnum<["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]>>;
|
|
4468
4468
|
bridgeTxHash: z.ZodNullable<z.ZodString>;
|
|
4469
4469
|
onchainTxHash: z.ZodNullable<z.ZodString>;
|
package/dist/events.js
CHANGED
|
@@ -35,6 +35,9 @@ var paymentSessionStatusSchema = z.enum([
|
|
|
35
35
|
"expired",
|
|
36
36
|
"cancelled"
|
|
37
37
|
]);
|
|
38
|
+
var callbackUrlSchema = z.string().url().refine((v) => v.startsWith("https://") || v.startsWith("http://"), {
|
|
39
|
+
message: "must be an http:// or https:// URL"
|
|
40
|
+
});
|
|
38
41
|
var paymentSessionSchema = z.object({
|
|
39
42
|
id: idSchema,
|
|
40
43
|
merchantId: idSchema,
|
|
@@ -64,8 +67,8 @@ var paymentSessionSchema = z.object({
|
|
|
64
67
|
description: z.string().max(500).nullable(),
|
|
65
68
|
payerWalletAddress: evmAddressSchema.nullable(),
|
|
66
69
|
payerEmail: z.string().email().nullable(),
|
|
67
|
-
successUrl:
|
|
68
|
-
cancelUrl:
|
|
70
|
+
successUrl: callbackUrlSchema.nullable(),
|
|
71
|
+
cancelUrl: callbackUrlSchema.nullable(),
|
|
69
72
|
sourceChain: z.enum(["arc", "ethereum", "base", "polygon", "arbitrum", "optimism", "avalanche", "solana"]).nullable(),
|
|
70
73
|
bridgeTxHash: evmTxHashSchema.nullable(),
|
|
71
74
|
onchainTxHash: evmTxHashSchema.nullable(),
|
|
@@ -311,6 +314,16 @@ z.object({
|
|
|
311
314
|
id: idSchema,
|
|
312
315
|
refundTxHash: evmTxHashSchema
|
|
313
316
|
});
|
|
317
|
+
var refundSigningInstructionsSchema = z.object({
|
|
318
|
+
token: evmAddressSchema,
|
|
319
|
+
to: evmAddressSchema,
|
|
320
|
+
amount: tokenAmountSchema,
|
|
321
|
+
note: z.string()
|
|
322
|
+
});
|
|
323
|
+
z.object({
|
|
324
|
+
refund: refundSchema,
|
|
325
|
+
signingInstructions: refundSigningInstructionsSchema
|
|
326
|
+
});
|
|
314
327
|
var invoiceStatusSchema = z.enum(["draft", "sent", "paid", "overdue", "void"]);
|
|
315
328
|
var invoiceLineItemSchema = z.object({
|
|
316
329
|
description: z.string().min(1).max(500),
|
|
@@ -524,7 +537,7 @@ var webhookDeliveryStatusSchema = z.enum([
|
|
|
524
537
|
"retrying",
|
|
525
538
|
"permanently_failed"
|
|
526
539
|
]);
|
|
527
|
-
z.object({
|
|
540
|
+
var webhookDeliverySchema = z.object({
|
|
528
541
|
id: idSchema,
|
|
529
542
|
merchantId: idSchema,
|
|
530
543
|
endpointId: idSchema,
|
|
@@ -539,6 +552,11 @@ z.object({
|
|
|
539
552
|
deliveredAt: isoTimestampSchema.nullable(),
|
|
540
553
|
createdAt: isoTimestampSchema
|
|
541
554
|
});
|
|
555
|
+
webhookDeliverySchema.extend({
|
|
556
|
+
deliveryId: z.string(),
|
|
557
|
+
responseBody: z.string().nullable(),
|
|
558
|
+
requestPayload: z.record(z.string(), z.unknown())
|
|
559
|
+
});
|
|
542
560
|
z.object({
|
|
543
561
|
id: idSchema
|
|
544
562
|
});
|