webpeel 0.18.2 → 0.18.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAgB,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAC5E,OAAO,YAAY,CAAC;AAiEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,MAAM,GAAE,YAAiB,GAAG,OAAO,CA+P5D;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,YAAiB,GAAG,IAAI,CAoC3D"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAgB,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAC5E,OAAO,YAAY,CAAC;AAiEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,MAAM,GAAE,YAAiB,GAAG,OAAO,CAgQ5D;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,YAAiB,GAAG,IAAI,CAoC3D"}
@@ -19,7 +19,7 @@ import { createHealthRouter } from './routes/health.js';
19
19
  import { createFetchRouter } from './routes/fetch.js';
20
20
  import { createSearchRouter } from './routes/search.js';
21
21
  import { createUserRouter } from './routes/users.js';
22
- import { createStripeRouter } from './routes/stripe.js';
22
+ import { createStripeRouter, createBillingPortalRouter } from './routes/stripe.js';
23
23
  import { createOAuthRouter } from './routes/oauth.js';
24
24
  import { createStatsRouter } from './routes/stats.js';
25
25
  import { createActivityRouter } from './routes/activity.js';
@@ -241,6 +241,7 @@ export function createApp(config = {}) {
241
241
  app.use(createFetchRouter(authStore));
242
242
  app.use(createScreenshotRouter(authStore));
243
243
  app.use(createSearchRouter(authStore));
244
+ app.use(createBillingPortalRouter(pool));
244
245
  app.use(createUserRouter());
245
246
  app.use(createOAuthRouter());
246
247
  app.use(createStatsRouter(authStore));
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,6FAA6F;AAC7F,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,GAAG,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAEvC,OAAO,OAAqD,MAAM,SAAS,CAAC;AAC5E,OAAO,YAAY,CAAC,CAAC,0CAA0C;AAC/D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,oEAAoE;AACpE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,IAAI,YAAY,GAAkB,IAAI,CAAC;AACvC,SAAS,cAAc;IACrB,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAC/C,IAAI,CAAC;QACH,gEAAgE;QAChE,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC;SACjE,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,YAAY,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,4BAA4B,CAAC;IACtC,CAAC;AACH,CAAC;AASD,MAAM,UAAU,SAAS,CAAC,SAAuB,EAAE;IACjD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,2DAA2D;IAC3D,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE1B,+EAA+E;IAC/E,yEAAyE;IACzE,uEAAuE;IACvE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,cAAc;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS,GAAG,MAAM,CAAC,CAAC,kBAAkB;aACvF,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS,GAAG,MAAM,CAAC,CAAC,iBAAiB;aAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,SAAS,GAAG,KAAK,CAAC,CAAC,uBAAuB;aAC5E,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;YAAE,SAAS,GAAG,KAAK,CAAC,CAAC,4BAA4B;QAEtF,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,2BAA2B,SAAS,GAAG,IAAI,GAAG;wBACvD,IAAI,EAAE,kFAAkF;wBACxF,IAAI,EAAE,yCAAyC;qBAChD;oBACD,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,uEAAuE;IACvE,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAExF,aAAa;IACb,mDAAmD;IACnD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAExC,qBAAqB;IACrB,4DAA4D;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1G,MAAM,cAAc,GAAG;QACrB,yBAAyB;QACzB,qBAAqB;QACrB,sGAAsG;QACtG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrG,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAE3F,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC3B,8DAA8D;YAC9D,IAAI,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChE,uFAAuF;YACvF,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,gEAAgE;QAChE,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC,CAAC;IACJ,gEAAgE;IAChE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,IAAI,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1B,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,8CAA8C,CAAC,CAAC;QAC3F,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,0CAA0C,CAAC,CAAC;QAChF,kEAAkE;QAClE,2EAA2E;QAC3E,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,iFAAiF,CAAC,CAAC;QAC5H,2EAA2E;QAC3E,GAAG,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC5E,IAAI,GAAG,YAAY,WAAW,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,gCAAgC;oBACzC,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE,+CAA+C;iBACtD;gBACD,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrE,MAAM,SAAS,GAAG,WAAW;QAC3B,CAAC,CAAC,IAAI,iBAAiB,EAAE;QACzB,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC;IAE5B,GAAG,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,aAAa,CAAC,CAAC;IAEzE,wEAAwE;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY;QACnC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YACV,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;YAC1C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK;SAClF,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAET,yEAAyE;IACzE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,eAAe;IACf,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;IAErF,wCAAwC;IACxC,WAAW,CAAC,GAAG,EAAE;QACf,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAElB,yDAAyD;IACzD,yFAAyF;IACzF,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE9B,0CAA0C;IAC1C,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACxD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACxD,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACpD,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE5B,iCAAiC;IACjC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzC,0CAA0C;IAC1C,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IACvC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1C,cAAc;IACd,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,wCAAwC;aAC/C;YACD,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,6EAA6E;IAC7E,uEAAuE;IACvE,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,KAAmB,EAAE,EAAE;QACvE,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,6BAA6B;QACvG,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO,CAAC,0BAA0B;QAEvD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,yEAAyE;YACzE,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,8BAA8B,CAAC;iBAC9D,OAAO,CAAC,0BAA0B,EAAE,uGAAuG,CAAC;iBAC5I,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,oCAAoC;iBACjE,IAAI,EAAE,IAAI,8BAA8B,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,+CAA+C;iBACtD;gBACD,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,8BAA8B;oBACtD,IAAI,EAAE,+CAA+C;iBACtD;gBACD,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAuB,EAAE;IACnD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAErE,0EAA0E;IAC1E,oBAAoB,EAAE,CAAC;IAEvB,gFAAgF;IAChF,KAAK,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACnC,GAAG,CAAC,IAAI,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,4BAA4B,IAAI,+CAA+C,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAChB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1B,KAAK,cAAc,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,UAAU,CAAC,GAAG,EAAE;YACd,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,+BAA+B;AAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,WAAW,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
1
  /**
2
- * Email service for WebPeel usage alerts
3
- * Uses Resend for transactional email delivery
2
+ * Email service using Nodemailer (free, no API key required).
3
+ * Configure via environment variables:
4
+ * EMAIL_SMTP_HOST - SMTP server (e.g. smtp.gmail.com)
5
+ * EMAIL_SMTP_PORT - SMTP port (default: 587)
6
+ * EMAIL_SMTP_USER - SMTP username / email address
7
+ * EMAIL_SMTP_PASS - SMTP password (Gmail: use App Password)
8
+ * EMAIL_FROM - From address (default: EMAIL_SMTP_USER)
9
+ *
10
+ * Gmail setup: https://myaccount.google.com/apppasswords
11
+ * Use "App Password" (not your regular password).
4
12
  */
5
13
  export interface UsageAlertEmailParams {
6
14
  toEmail: string;
@@ -10,10 +18,5 @@ export interface UsageAlertEmailParams {
10
18
  total: number;
11
19
  tier: string;
12
20
  }
13
- /**
14
- * Send a usage alert email via Resend.
15
- * Returns true on success, false if not configured or on error.
16
- * Never throws — graceful degradation when RESEND_API_KEY is not set.
17
- */
18
21
  export declare function sendUsageAlertEmail(params: UsageAlertEmailParams): Promise<boolean>;
19
22
  //# sourceMappingURL=email-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-service.d.ts","sourceRoot":"","sources":["../../src/server/email-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBzF"}
1
+ {"version":3,"file":"email-service.d.ts","sourceRoot":"","sources":["../../src/server/email-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBzF"}
@@ -1,28 +1,45 @@
1
1
  /**
2
- * Email service for WebPeel usage alerts
3
- * Uses Resend for transactional email delivery
4
- */
5
- import { Resend } from 'resend';
6
- const resend = process.env.RESEND_API_KEY ? new Resend(process.env.RESEND_API_KEY) : null;
7
- /**
8
- * Send a usage alert email via Resend.
9
- * Returns true on success, false if not configured or on error.
10
- * Never throws — graceful degradation when RESEND_API_KEY is not set.
2
+ * Email service using Nodemailer (free, no API key required).
3
+ * Configure via environment variables:
4
+ * EMAIL_SMTP_HOST - SMTP server (e.g. smtp.gmail.com)
5
+ * EMAIL_SMTP_PORT - SMTP port (default: 587)
6
+ * EMAIL_SMTP_USER - SMTP username / email address
7
+ * EMAIL_SMTP_PASS - SMTP password (Gmail: use App Password)
8
+ * EMAIL_FROM - From address (default: EMAIL_SMTP_USER)
9
+ *
10
+ * Gmail setup: https://myaccount.google.com/apppasswords
11
+ * Use "App Password" (not your regular password).
11
12
  */
13
+ import nodemailer from 'nodemailer';
14
+ function createTransport() {
15
+ const host = process.env.EMAIL_SMTP_HOST;
16
+ const user = process.env.EMAIL_SMTP_USER;
17
+ const pass = process.env.EMAIL_SMTP_PASS;
18
+ if (!host || !user || !pass) {
19
+ return null;
20
+ }
21
+ return nodemailer.createTransport({
22
+ host,
23
+ port: parseInt(process.env.EMAIL_SMTP_PORT || '587'),
24
+ secure: process.env.EMAIL_SMTP_PORT === '465',
25
+ auth: { user, pass },
26
+ });
27
+ }
12
28
  export async function sendUsageAlertEmail(params) {
13
- if (!resend) {
14
- console.warn('[email] RESEND_API_KEY not set, skipping email alert');
29
+ const transport = createTransport();
30
+ if (!transport) {
31
+ console.warn('[email] SMTP not configured. Set EMAIL_SMTP_HOST, EMAIL_SMTP_USER, EMAIL_SMTP_PASS to enable email alerts.');
15
32
  return false;
16
33
  }
34
+ const from = process.env.EMAIL_FROM || process.env.EMAIL_SMTP_USER;
17
35
  const html = buildUsageAlertHtml(params);
18
36
  try {
19
- await resend.emails.send({
20
- from: 'WebPeel <alerts@webpeel.dev>',
21
- to: [params.toEmail],
22
- subject: `WebPeel: You've used ${params.usagePercent}% of your monthly API limit`,
37
+ await transport.sendMail({
38
+ from: `WebPeel <${from}>`,
39
+ to: params.toEmail,
40
+ subject: `WebPeel: You've used ${params.usagePercent}% of your weekly API limit`,
23
41
  html,
24
42
  });
25
- console.log(`[email] Usage alert sent to ${params.toEmail} (${params.usagePercent}%)`);
26
43
  return true;
27
44
  }
28
45
  catch (err) {
@@ -31,113 +48,32 @@ export async function sendUsageAlertEmail(params) {
31
48
  }
32
49
  }
33
50
  function buildUsageAlertHtml(params) {
34
- const { userName, usagePercent, used, total, tier } = params;
35
- const displayName = userName || 'there';
36
- const tierLabel = tier === 'pro' ? 'Pro' : tier === 'max' ? 'Max' : 'Free';
37
- const billingUrl = 'https://app.webpeel.dev/billing';
38
- const settingsUrl = 'https://app.webpeel.dev/settings';
39
- // Determine urgency color
40
- const urgencyColor = usagePercent >= 90 ? '#EF4444' : usagePercent >= 80 ? '#F59E0B' : '#5865F2';
41
- const urgencyLabel = usagePercent >= 90 ? '🚨 Critical' : usagePercent >= 80 ? '⚠️ Warning' : '📊 Notice';
51
+ const { usagePercent, used, total, tier, userName } = params;
52
+ const color = usagePercent >= 90 ? '#ef4444' : usagePercent >= 75 ? '#f59e0b' : '#5865F2';
42
53
  return `<!DOCTYPE html>
43
- <html lang="en">
44
- <head>
45
- <meta charset="UTF-8" />
46
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
47
- <title>WebPeel Usage Alert</title>
48
- </head>
49
- <body style="margin:0;padding:0;background-color:#0A0A0F;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;">
50
- <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#0A0A0F;padding:40px 20px;">
51
- <tr>
52
- <td align="center">
53
- <table width="600" cellpadding="0" cellspacing="0" style="max-width:600px;width:100%;">
54
-
55
- <!-- Header -->
56
- <tr>
57
- <td style="padding-bottom:32px;text-align:center;">
58
- <div style="display:inline-block;background:#5865F2;border-radius:12px;padding:10px 20px;">
59
- <span style="color:#FFFFFF;font-size:18px;font-weight:700;letter-spacing:-0.3px;">WebPeel</span>
60
- </div>
61
- </td>
62
- </tr>
63
-
64
- <!-- Card -->
65
- <tr>
66
- <td style="background:#111116;border:1px solid #1F1F2E;border-radius:16px;padding:40px;">
67
-
68
- <!-- Badge -->
69
- <p style="margin:0 0 20px 0;font-size:13px;font-weight:600;color:${urgencyColor};letter-spacing:0.5px;">${urgencyLabel}</p>
70
-
71
- <!-- Headline -->
72
- <h1 style="margin:0 0 12px 0;font-size:24px;font-weight:700;color:#FFFFFF;line-height:1.3;">
73
- Hi ${displayName}, you've used ${usagePercent}% of your limit
74
- </h1>
75
-
76
- <!-- Sub-headline -->
77
- <p style="margin:0 0 32px 0;font-size:15px;color:#9CA3AF;line-height:1.6;">
78
- Your ${tierLabel} plan has reached the usage threshold you set. Here's where you stand:
79
- </p>
80
-
81
- <!-- Usage bar card -->
82
- <table width="100%" cellpadding="0" cellspacing="0" style="background:#0A0A0F;border:1px solid #1F1F2E;border-radius:12px;padding:24px;margin-bottom:32px;">
83
- <tr>
84
- <td>
85
- <table width="100%" cellpadding="0" cellspacing="0" style="margin-bottom:16px;">
86
- <tr>
87
- <td style="font-size:13px;color:#9CA3AF;">API Requests Used</td>
88
- <td align="right" style="font-size:13px;color:#9CA3AF;">${used.toLocaleString()} / ${total.toLocaleString()}</td>
89
- </tr>
90
- </table>
91
- <!-- Progress bar -->
92
- <table width="100%" cellpadding="0" cellspacing="0" style="margin-bottom:12px;">
93
- <tr>
94
- <td style="background:#1F1F2E;border-radius:999px;height:8px;overflow:hidden;">
95
- <div style="background:${urgencyColor};width:${Math.min(usagePercent, 100)}%;height:8px;border-radius:999px;"></div>
96
- </td>
97
- </tr>
98
- </table>
99
- <p style="margin:0;font-size:28px;font-weight:700;color:${urgencyColor};">${usagePercent}%</p>
100
- <p style="margin:4px 0 0 0;font-size:13px;color:#6B7280;">of your monthly allocation consumed</p>
101
- </td>
102
- </tr>
103
- </table>
104
-
105
- <!-- CTA Button -->
106
- <table width="100%" cellpadding="0" cellspacing="0" style="margin-bottom:24px;">
107
- <tr>
108
- <td align="center">
109
- <a href="${billingUrl}"
110
- style="display:inline-block;background:#5865F2;color:#FFFFFF;font-size:15px;font-weight:600;text-decoration:none;padding:14px 32px;border-radius:8px;letter-spacing:-0.1px;">
111
- Upgrade Your Plan →
112
- </a>
113
- </td>
114
- </tr>
115
- </table>
116
-
117
- <!-- Secondary info -->
118
- <p style="margin:0;font-size:13px;color:#6B7280;text-align:center;line-height:1.6;">
119
- Upgrading gives you more API calls, higher rate limits, and priority support.
120
- </p>
121
-
122
- </td>
123
- </tr>
124
-
125
- <!-- Footer -->
126
- <tr>
127
- <td style="padding:24px 0 0 0;text-align:center;">
128
- <p style="margin:0 0 8px 0;font-size:12px;color:#4B5563;line-height:1.6;">
129
- You're receiving this because you enabled usage alerts in WebPeel Settings.
130
- </p>
131
- <p style="margin:0;font-size:12px;color:#4B5563;">
132
- To disable, <a href="${settingsUrl}" style="color:#5865F2;text-decoration:none;">visit Settings</a>.
133
- </p>
134
- </td>
135
- </tr>
136
-
137
- </table>
138
- </td>
139
- </tr>
140
- </table>
54
+ <html>
55
+ <head><meta charset="utf-8"><title>WebPeel Usage Alert</title></head>
56
+ <body style="margin:0;padding:0;background:#0A0A0F;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;">
57
+ <div style="max-width:520px;margin:40px auto;background:#111116;border:1px solid #27272a;border-radius:12px;overflow:hidden;">
58
+ <div style="background:${color};padding:4px 24px;"></div>
59
+ <div style="padding:32px 24px;">
60
+ <div style="font-size:24px;font-weight:700;color:#ffffff;margin-bottom:8px;">Usage Alert</div>
61
+ <div style="font-size:15px;color:#a1a1aa;margin-bottom:24px;">
62
+ ${userName ? `Hi ${userName}, you've` : "You've"} used <strong style="color:#ffffff;">${usagePercent}%</strong> of your weekly API limit.
63
+ </div>
64
+ <div style="background:#18181b;border-radius:8px;padding:16px;margin-bottom:24px;">
65
+ <div style="font-size:13px;color:#a1a1aa;margin-bottom:8px;">Usage this week</div>
66
+ <div style="height:8px;background:#27272a;border-radius:4px;overflow:hidden;">
67
+ <div style="height:100%;width:${Math.min(usagePercent, 100)}%;background:${color};border-radius:4px;"></div>
68
+ </div>
69
+ <div style="font-size:13px;color:#a1a1aa;margin-top:8px;">${used} / ${total} requests · ${tier} plan</div>
70
+ </div>
71
+ <a href="https://app.webpeel.dev/billing" style="display:inline-block;background:#5865F2;color:#ffffff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;font-size:14px;">Upgrade Plan →</a>
72
+ <div style="font-size:12px;color:#71717a;margin-top:24px;">
73
+ To disable these alerts, visit <a href="https://app.webpeel.dev/settings" style="color:#5865F2;">Settings</a>.
74
+ </div>
75
+ </div>
76
+ </div>
141
77
  </body>
142
78
  </html>`;
143
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"email-service.js","sourceRoot":"","sources":["../../src/server/email-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAW1F;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA6B;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,8BAA8B;YACpC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACpB,OAAO,EAAE,wBAAwB,MAAM,CAAC,YAAY,6BAA6B;YACjF,IAAI;SACL,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA6B;IACxD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC7D,MAAM,WAAW,GAAG,QAAQ,IAAI,OAAO,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,UAAU,GAAG,iCAAiC,CAAC;IACrD,MAAM,WAAW,GAAG,kCAAkC,CAAC;IAEvD,0BAA0B;IAC1B,MAAM,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAE1G,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;iFA2BwE,YAAY,2BAA2B,YAAY;;;;qBAI/G,WAAW,iBAAiB,YAAY;;;;;uBAKtC,SAAS;;;;;;;;;;kFAUkD,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC,cAAc,EAAE;;;;;;;mDAOhF,YAAY,UAAU,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC;;;;8EAItB,YAAY,MAAM,YAAY;;;;;;;;;;+BAU7E,UAAU;;;;;;;;;;;;;;;;;;;;;;;uCAuBF,WAAW;;;;;;;;;;QAU1C,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"email-service.js","sourceRoot":"","sources":["../../src/server/email-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAEzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC,eAAe,CAAC;QAChC,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC;QACpD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,KAAK;QAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACrB,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA6B;IACrE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;QAC3H,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACnE,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,CAAC;YACvB,IAAI,EAAE,YAAY,IAAI,GAAG;YACzB,EAAE,EAAE,MAAM,CAAC,OAAO;YAClB,OAAO,EAAE,wBAAwB,MAAM,CAAC,YAAY,4BAA4B;YAChF,IAAI;SACL,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA6B;IACxD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC7D,MAAM,KAAK,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1F,OAAO;;;;;6BAKoB,KAAK;;;;UAIxB,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,UAAU,CAAC,CAAC,CAAC,QAAQ,wCAAwC,YAAY;;;;;0CAKlE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAC,GAAG,CAAC,gBAAgB,KAAK;;oEAErB,IAAI,MAAM,KAAK,eAAe,IAAI;;;;;;;;;QAS9F,CAAC;AACT,CAAC"}
@@ -2,6 +2,13 @@
2
2
  * Stripe webhook handler for subscription management
3
3
  */
4
4
  import { Router } from 'express';
5
+ import pg from 'pg';
6
+ /**
7
+ * Create Stripe Billing Portal router
8
+ * POST /v1/billing/portal — create a Stripe Customer Portal session
9
+ * Requires global auth middleware to already have run (req.user or req.auth set).
10
+ */
11
+ export declare function createBillingPortalRouter(pool: pg.Pool | null): Router;
5
12
  /**
6
13
  * Create Stripe webhook router
7
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/server/routes/stripe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAkBpD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA4G3C"}
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/server/routes/stripe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,MAAM,IAAI,CAAC;AAgBpB;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAqDtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA4G3C"}
@@ -15,6 +15,54 @@ const TIER_LIMITS = {
15
15
  pro: { weekly_limit: 1250, burst_limit: 100, rate_limit: 60 },
16
16
  max: { weekly_limit: 6250, burst_limit: 500, rate_limit: 200 },
17
17
  };
18
+ /**
19
+ * Create Stripe Billing Portal router
20
+ * POST /v1/billing/portal — create a Stripe Customer Portal session
21
+ * Requires global auth middleware to already have run (req.user or req.auth set).
22
+ */
23
+ export function createBillingPortalRouter(pool) {
24
+ const router = Router();
25
+ const stripeSecretKey = process.env.STRIPE_SECRET_KEY;
26
+ if (!stripeSecretKey) {
27
+ log.warn('STRIPE_SECRET_KEY not configured - billing portal disabled');
28
+ return router;
29
+ }
30
+ const stripe = new Stripe(stripeSecretKey);
31
+ router.post('/v1/billing/portal', async (req, res) => {
32
+ try {
33
+ const userId = req.user?.userId || req.auth?.keyInfo?.accountId;
34
+ if (!userId) {
35
+ res.status(401).json({ error: 'unauthorized' });
36
+ return;
37
+ }
38
+ if (!pool) {
39
+ res.status(503).json({ error: 'db_unavailable', message: 'Database not configured' });
40
+ return;
41
+ }
42
+ // Get user's stripe_customer_id from DB
43
+ const result = await pool.query('SELECT stripe_customer_id FROM users WHERE id = $1', [userId]);
44
+ const stripeCustomerId = result.rows[0]?.stripe_customer_id;
45
+ if (!stripeCustomerId) {
46
+ res.status(400).json({
47
+ error: 'no_subscription',
48
+ message: 'No active subscription found. Upgrade to Pro or Max to manage billing.',
49
+ });
50
+ return;
51
+ }
52
+ // Create portal session
53
+ const session = await stripe.billingPortal.sessions.create({
54
+ customer: stripeCustomerId,
55
+ return_url: 'https://app.webpeel.dev/billing',
56
+ });
57
+ res.json({ url: session.url });
58
+ }
59
+ catch (err) {
60
+ log.error('Failed to create portal session:', err);
61
+ res.status(500).json({ error: 'portal_failed', message: 'Failed to create billing portal session' });
62
+ }
63
+ });
64
+ return router;
65
+ }
18
66
  /**
19
67
  * Create Stripe webhook router
20
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/server/routes/stripe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/server/routes/stripe.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpeel",
3
- "version": "0.18.2",
3
+ "version": "0.18.3",
4
4
  "description": "Fast web fetcher for AI agents - stealth mode, crawl mode, page actions, structured extraction, PDF parsing, smart escalation from simple HTTP to headless browser",
5
5
  "author": "Jake Liu",
6
6
  "license": "AGPL-3.0-only",
@@ -110,6 +110,7 @@
110
110
  "cycletls": "^2.0.5",
111
111
  "lru-cache": "^11.0.2",
112
112
  "mammoth": "^1.11.0",
113
+ "nodemailer": "^8.0.1",
113
114
  "ora": "^8.0.1",
114
115
  "pdf-parse": "^1.1.4",
115
116
  "pixelmatch": "^7.1.0",
@@ -137,6 +138,7 @@
137
138
  "@types/express": "^5.0.0",
138
139
  "@types/jsonwebtoken": "^9.0.10",
139
140
  "@types/node": "^22.0.0",
141
+ "@types/nodemailer": "^7.0.11",
140
142
  "@types/pdf-parse": "^1.1.5",
141
143
  "@types/pg": "^8.16.0",
142
144
  "@types/pngjs": "^6.0.5",