@polar-sh/better-auth 0.1.1 → 1.0.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/index.d.ts CHANGED
@@ -1,5 +1,13 @@
1
+ import * as _polar_sh_sdk_models_operations_customerportalorderslist_js from '@polar-sh/sdk/models/operations/customerportalorderslist.js';
2
+ import * as _polar_sh_sdk_models_operations_customerportalsubscriptionslist_js from '@polar-sh/sdk/models/operations/customerportalsubscriptionslist.js';
3
+ import * as _polar_sh_sdk_models_operations_subscriptionslist_js from '@polar-sh/sdk/models/operations/subscriptionslist.js';
4
+ import * as _polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js from '@polar-sh/sdk/models/operations/customerportalbenefitgrantslist.js';
1
5
  import * as _polar_sh_sdk_models_components_customerstate_js from '@polar-sh/sdk/models/components/customerstate.js';
6
+ import * as _polar_sh_sdk_models_components_eventsingestresponse_js from '@polar-sh/sdk/models/components/eventsingestresponse.js';
7
+ import * as _polar_sh_sdk_types_operations_js from '@polar-sh/sdk/types/operations.js';
8
+ import * as _polar_sh_sdk_models_operations_customerportalcustomermeterslist_js from '@polar-sh/sdk/models/operations/customerportalcustomermeterslist.js';
2
9
  import * as zod from 'zod';
10
+ import { z } from 'zod';
3
11
  import * as better_auth from 'better-auth';
4
12
  import { User, Session } from 'better-auth';
5
13
  import { Polar } from '@polar-sh/sdk';
@@ -15,6 +23,7 @@ import { WebhookCustomerDeletedPayload } from '@polar-sh/sdk/models/components/w
15
23
  import { WebhookCustomerStateChangedPayload } from '@polar-sh/sdk/models/components/webhookcustomerstatechangedpayload.js';
16
24
  import { WebhookCustomerUpdatedPayload } from '@polar-sh/sdk/models/components/webhookcustomerupdatedpayload.js';
17
25
  import { WebhookOrderCreatedPayload } from '@polar-sh/sdk/models/components/webhookordercreatedpayload.js';
26
+ import { WebhookOrderPaidPayload } from '@polar-sh/sdk/models/components/webhookorderpaidpayload.js';
18
27
  import { WebhookOrderRefundedPayload } from '@polar-sh/sdk/models/components/webhookorderrefundedpayload.js';
19
28
  import { WebhookOrganizationUpdatedPayload } from '@polar-sh/sdk/models/components/webhookorganizationupdatedpayload.js';
20
29
  import { WebhookProductCreatedPayload } from '@polar-sh/sdk/models/components/webhookproductcreatedpayload.js';
@@ -29,6 +38,739 @@ import { WebhookSubscriptionUncanceledPayload } from '@polar-sh/sdk/models/compo
29
38
  import { WebhookSubscriptionUpdatedPayload } from '@polar-sh/sdk/models/components/webhooksubscriptionupdatedpayload.js';
30
39
  import { validateEvent } from '@polar-sh/sdk/webhooks.js';
31
40
 
41
+ interface CheckoutOptions {
42
+ /**
43
+ * Optional list of slug -> productId mappings for easy slug checkouts
44
+ */
45
+ products?: Product[] | (() => Promise<Product[]>);
46
+ /**
47
+ * Checkout Success URL
48
+ */
49
+ successUrl?: string;
50
+ /**
51
+ * Only allow authenticated customers to checkout
52
+ */
53
+ authenticatedUsersOnly?: boolean;
54
+ }
55
+ declare const checkout: (checkoutOptions?: CheckoutOptions) => (polar: Polar) => {
56
+ checkout: {
57
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
58
+ body: {
59
+ products?: string | string[] | undefined;
60
+ slug?: string | undefined;
61
+ referenceId?: string | undefined;
62
+ customFieldData?: Record<string, string | number | boolean> | undefined;
63
+ metadata?: Record<string, string | number | boolean> | undefined;
64
+ };
65
+ } & {
66
+ method?: "POST" | undefined;
67
+ } & {
68
+ query?: Record<string, any> | undefined;
69
+ } & {
70
+ params?: Record<string, any>;
71
+ } & {
72
+ request?: Request;
73
+ } & {
74
+ headers?: HeadersInit;
75
+ } & {
76
+ asResponse?: boolean;
77
+ returnHeaders?: boolean;
78
+ use?: better_auth.Middleware[];
79
+ path?: string;
80
+ } & {
81
+ asResponse?: AsResponse | undefined;
82
+ returnHeaders?: ReturnHeaders | undefined;
83
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
84
+ headers: Headers;
85
+ response: {
86
+ url: string;
87
+ redirect: boolean;
88
+ };
89
+ } : {
90
+ url: string;
91
+ redirect: boolean;
92
+ }>;
93
+ options: {
94
+ method: "POST";
95
+ body: z.ZodObject<{
96
+ products: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
97
+ slug: z.ZodOptional<z.ZodString>;
98
+ referenceId: z.ZodOptional<z.ZodString>;
99
+ customFieldData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
100
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ products?: string | string[] | undefined;
103
+ slug?: string | undefined;
104
+ referenceId?: string | undefined;
105
+ customFieldData?: Record<string, string | number | boolean> | undefined;
106
+ metadata?: Record<string, string | number | boolean> | undefined;
107
+ }, {
108
+ products?: string | string[] | undefined;
109
+ slug?: string | undefined;
110
+ referenceId?: string | undefined;
111
+ customFieldData?: Record<string, string | number | boolean> | undefined;
112
+ metadata?: Record<string, string | number | boolean> | undefined;
113
+ }>;
114
+ } & {
115
+ use: any[];
116
+ };
117
+ path: "/checkout";
118
+ };
119
+ };
120
+
121
+ declare const portal: () => (polar: Polar) => {
122
+ portal: {
123
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
124
+ body?: undefined;
125
+ } & {
126
+ method?: "GET" | undefined;
127
+ } & {
128
+ query?: Record<string, any> | undefined;
129
+ } & {
130
+ params?: Record<string, any>;
131
+ } & {
132
+ request?: Request;
133
+ } & {
134
+ headers?: HeadersInit;
135
+ } & {
136
+ asResponse?: boolean;
137
+ returnHeaders?: boolean;
138
+ use?: better_auth.Middleware[];
139
+ path?: string;
140
+ } & {
141
+ asResponse?: AsResponse | undefined;
142
+ returnHeaders?: ReturnHeaders | undefined;
143
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
144
+ headers: Headers;
145
+ response: {
146
+ url: string;
147
+ redirect: boolean;
148
+ };
149
+ } : {
150
+ url: string;
151
+ redirect: boolean;
152
+ }>;
153
+ options: {
154
+ method: "GET";
155
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
156
+ session: {
157
+ session: Record<string, any> & {
158
+ id: string;
159
+ createdAt: Date;
160
+ updatedAt: Date;
161
+ userId: string;
162
+ expiresAt: Date;
163
+ token: string;
164
+ ipAddress?: string | null | undefined;
165
+ userAgent?: string | null | undefined;
166
+ };
167
+ user: Record<string, any> & {
168
+ id: string;
169
+ name: string;
170
+ email: string;
171
+ emailVerified: boolean;
172
+ createdAt: Date;
173
+ updatedAt: Date;
174
+ image?: string | null | undefined;
175
+ };
176
+ };
177
+ }>)[];
178
+ } & {
179
+ use: any[];
180
+ };
181
+ path: "/customer/portal";
182
+ };
183
+ state: {
184
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
185
+ body?: undefined;
186
+ } & {
187
+ method?: "GET" | undefined;
188
+ } & {
189
+ query?: Record<string, any> | undefined;
190
+ } & {
191
+ params?: Record<string, any>;
192
+ } & {
193
+ request?: Request;
194
+ } & {
195
+ headers?: HeadersInit;
196
+ } & {
197
+ asResponse?: boolean;
198
+ returnHeaders?: boolean;
199
+ use?: better_auth.Middleware[];
200
+ path?: string;
201
+ } & {
202
+ asResponse?: AsResponse | undefined;
203
+ returnHeaders?: ReturnHeaders | undefined;
204
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
205
+ headers: Headers;
206
+ response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
207
+ } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
208
+ options: {
209
+ method: "GET";
210
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
211
+ session: {
212
+ session: Record<string, any> & {
213
+ id: string;
214
+ createdAt: Date;
215
+ updatedAt: Date;
216
+ userId: string;
217
+ expiresAt: Date;
218
+ token: string;
219
+ ipAddress?: string | null | undefined;
220
+ userAgent?: string | null | undefined;
221
+ };
222
+ user: Record<string, any> & {
223
+ id: string;
224
+ name: string;
225
+ email: string;
226
+ emailVerified: boolean;
227
+ createdAt: Date;
228
+ updatedAt: Date;
229
+ image?: string | null | undefined;
230
+ };
231
+ };
232
+ }>)[];
233
+ } & {
234
+ use: any[];
235
+ };
236
+ path: "/customer/state";
237
+ };
238
+ benefits: {
239
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
240
+ body?: undefined;
241
+ } & {
242
+ method?: "GET" | undefined;
243
+ } & {
244
+ query?: {
245
+ page?: number | undefined;
246
+ limit?: number | undefined;
247
+ } | undefined;
248
+ } & {
249
+ params?: Record<string, any>;
250
+ } & {
251
+ request?: Request;
252
+ } & {
253
+ headers?: HeadersInit;
254
+ } & {
255
+ asResponse?: boolean;
256
+ returnHeaders?: boolean;
257
+ use?: better_auth.Middleware[];
258
+ path?: string;
259
+ } & {
260
+ asResponse?: AsResponse | undefined;
261
+ returnHeaders?: ReturnHeaders | undefined;
262
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
263
+ headers: Headers;
264
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
265
+ page: number;
266
+ }>;
267
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
268
+ page: number;
269
+ }>>;
270
+ options: {
271
+ method: "GET";
272
+ query: z.ZodOptional<z.ZodObject<{
273
+ page: z.ZodOptional<z.ZodNumber>;
274
+ limit: z.ZodOptional<z.ZodNumber>;
275
+ }, "strip", z.ZodTypeAny, {
276
+ page?: number | undefined;
277
+ limit?: number | undefined;
278
+ }, {
279
+ page?: number | undefined;
280
+ limit?: number | undefined;
281
+ }>>;
282
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
283
+ session: {
284
+ session: Record<string, any> & {
285
+ id: string;
286
+ createdAt: Date;
287
+ updatedAt: Date;
288
+ userId: string;
289
+ expiresAt: Date;
290
+ token: string;
291
+ ipAddress?: string | null | undefined;
292
+ userAgent?: string | null | undefined;
293
+ };
294
+ user: Record<string, any> & {
295
+ id: string;
296
+ name: string;
297
+ email: string;
298
+ emailVerified: boolean;
299
+ createdAt: Date;
300
+ updatedAt: Date;
301
+ image?: string | null | undefined;
302
+ };
303
+ };
304
+ }>)[];
305
+ } & {
306
+ use: any[];
307
+ };
308
+ path: "/customer/benefits/list";
309
+ };
310
+ subscriptions: {
311
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
312
+ body?: undefined;
313
+ } & {
314
+ method?: "GET" | undefined;
315
+ } & {
316
+ query?: {
317
+ referenceId?: string | undefined;
318
+ page?: number | undefined;
319
+ limit?: number | undefined;
320
+ active?: boolean | undefined;
321
+ } | undefined;
322
+ } & {
323
+ params?: Record<string, any>;
324
+ } & {
325
+ request?: Request;
326
+ } & {
327
+ headers?: HeadersInit;
328
+ } & {
329
+ asResponse?: boolean;
330
+ returnHeaders?: boolean;
331
+ use?: better_auth.Middleware[];
332
+ path?: string;
333
+ } & {
334
+ asResponse?: AsResponse | undefined;
335
+ returnHeaders?: ReturnHeaders | undefined;
336
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
337
+ headers: Headers;
338
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
339
+ page: number;
340
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
341
+ page: number;
342
+ }>;
343
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
344
+ page: number;
345
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
346
+ page: number;
347
+ }>>;
348
+ options: {
349
+ method: "GET";
350
+ query: z.ZodOptional<z.ZodObject<{
351
+ referenceId: z.ZodOptional<z.ZodString>;
352
+ page: z.ZodOptional<z.ZodNumber>;
353
+ limit: z.ZodOptional<z.ZodNumber>;
354
+ active: z.ZodOptional<z.ZodBoolean>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ referenceId?: string | undefined;
357
+ page?: number | undefined;
358
+ limit?: number | undefined;
359
+ active?: boolean | undefined;
360
+ }, {
361
+ referenceId?: string | undefined;
362
+ page?: number | undefined;
363
+ limit?: number | undefined;
364
+ active?: boolean | undefined;
365
+ }>>;
366
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
367
+ session: {
368
+ session: Record<string, any> & {
369
+ id: string;
370
+ createdAt: Date;
371
+ updatedAt: Date;
372
+ userId: string;
373
+ expiresAt: Date;
374
+ token: string;
375
+ ipAddress?: string | null | undefined;
376
+ userAgent?: string | null | undefined;
377
+ };
378
+ user: Record<string, any> & {
379
+ id: string;
380
+ name: string;
381
+ email: string;
382
+ emailVerified: boolean;
383
+ createdAt: Date;
384
+ updatedAt: Date;
385
+ image?: string | null | undefined;
386
+ };
387
+ };
388
+ }>)[];
389
+ } & {
390
+ use: any[];
391
+ };
392
+ path: "/customer/subscriptions/list";
393
+ };
394
+ orders: {
395
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
396
+ body?: undefined;
397
+ } & {
398
+ method?: "GET" | undefined;
399
+ } & {
400
+ query?: {
401
+ page?: number | undefined;
402
+ limit?: number | undefined;
403
+ productBillingType?: "recurring" | "one_time" | undefined;
404
+ } | undefined;
405
+ } & {
406
+ params?: Record<string, any>;
407
+ } & {
408
+ request?: Request;
409
+ } & {
410
+ headers?: HeadersInit;
411
+ } & {
412
+ asResponse?: boolean;
413
+ returnHeaders?: boolean;
414
+ use?: better_auth.Middleware[];
415
+ path?: string;
416
+ } & {
417
+ asResponse?: AsResponse | undefined;
418
+ returnHeaders?: ReturnHeaders | undefined;
419
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
420
+ headers: Headers;
421
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
422
+ page: number;
423
+ }>;
424
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
425
+ page: number;
426
+ }>>;
427
+ options: {
428
+ method: "GET";
429
+ query: z.ZodOptional<z.ZodObject<{
430
+ page: z.ZodOptional<z.ZodNumber>;
431
+ limit: z.ZodOptional<z.ZodNumber>;
432
+ productBillingType: z.ZodOptional<z.ZodEnum<["recurring", "one_time"]>>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ page?: number | undefined;
435
+ limit?: number | undefined;
436
+ productBillingType?: "recurring" | "one_time" | undefined;
437
+ }, {
438
+ page?: number | undefined;
439
+ limit?: number | undefined;
440
+ productBillingType?: "recurring" | "one_time" | undefined;
441
+ }>>;
442
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
443
+ session: {
444
+ session: Record<string, any> & {
445
+ id: string;
446
+ createdAt: Date;
447
+ updatedAt: Date;
448
+ userId: string;
449
+ expiresAt: Date;
450
+ token: string;
451
+ ipAddress?: string | null | undefined;
452
+ userAgent?: string | null | undefined;
453
+ };
454
+ user: Record<string, any> & {
455
+ id: string;
456
+ name: string;
457
+ email: string;
458
+ emailVerified: boolean;
459
+ createdAt: Date;
460
+ updatedAt: Date;
461
+ image?: string | null | undefined;
462
+ };
463
+ };
464
+ }>)[];
465
+ } & {
466
+ use: any[];
467
+ };
468
+ path: "/customer/orders/list";
469
+ };
470
+ };
471
+
472
+ interface UsageOptions {
473
+ /**
474
+ * Products to use for topping up credits
475
+ */
476
+ creditProducts?: Product[] | (() => Promise<Product[]>);
477
+ }
478
+ declare const usage: (_usageOptions?: UsageOptions) => (polar: Polar) => {
479
+ meters: {
480
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
481
+ body?: undefined;
482
+ } & {
483
+ method?: "GET" | undefined;
484
+ } & {
485
+ query: {
486
+ page?: number | undefined;
487
+ limit?: number | undefined;
488
+ };
489
+ } & {
490
+ params?: Record<string, any>;
491
+ } & {
492
+ request?: Request;
493
+ } & {
494
+ headers?: HeadersInit;
495
+ } & {
496
+ asResponse?: boolean;
497
+ returnHeaders?: boolean;
498
+ use?: better_auth.Middleware[];
499
+ path?: string;
500
+ } & {
501
+ asResponse?: AsResponse | undefined;
502
+ returnHeaders?: ReturnHeaders | undefined;
503
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
504
+ headers: Headers;
505
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
506
+ page: number;
507
+ }>;
508
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
509
+ page: number;
510
+ }>>;
511
+ options: {
512
+ method: "GET";
513
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
514
+ session: {
515
+ session: Record<string, any> & {
516
+ id: string;
517
+ createdAt: Date;
518
+ updatedAt: Date;
519
+ userId: string;
520
+ expiresAt: Date;
521
+ token: string;
522
+ ipAddress?: string | null | undefined;
523
+ userAgent?: string | null | undefined;
524
+ };
525
+ user: Record<string, any> & {
526
+ id: string;
527
+ name: string;
528
+ email: string;
529
+ emailVerified: boolean;
530
+ createdAt: Date;
531
+ updatedAt: Date;
532
+ image?: string | null | undefined;
533
+ };
534
+ };
535
+ }>)[];
536
+ query: z.ZodObject<{
537
+ page: z.ZodOptional<z.ZodNumber>;
538
+ limit: z.ZodOptional<z.ZodNumber>;
539
+ }, "strip", z.ZodTypeAny, {
540
+ page?: number | undefined;
541
+ limit?: number | undefined;
542
+ }, {
543
+ page?: number | undefined;
544
+ limit?: number | undefined;
545
+ }>;
546
+ } & {
547
+ use: any[];
548
+ };
549
+ path: "/usage/meters/list";
550
+ };
551
+ ingestion: {
552
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
553
+ body: {
554
+ metadata: Record<string, string | number | boolean>;
555
+ event: string;
556
+ };
557
+ } & {
558
+ method?: "POST" | undefined;
559
+ } & {
560
+ query?: Record<string, any> | undefined;
561
+ } & {
562
+ params?: Record<string, any>;
563
+ } & {
564
+ request?: Request;
565
+ } & {
566
+ headers?: HeadersInit;
567
+ } & {
568
+ asResponse?: boolean;
569
+ returnHeaders?: boolean;
570
+ use?: better_auth.Middleware[];
571
+ path?: string;
572
+ } & {
573
+ asResponse?: AsResponse | undefined;
574
+ returnHeaders?: ReturnHeaders | undefined;
575
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
576
+ headers: Headers;
577
+ response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
578
+ } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
579
+ options: {
580
+ method: "POST";
581
+ body: z.ZodObject<{
582
+ event: z.ZodString;
583
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ metadata: Record<string, string | number | boolean>;
586
+ event: string;
587
+ }, {
588
+ metadata: Record<string, string | number | boolean>;
589
+ event: string;
590
+ }>;
591
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
592
+ session: {
593
+ session: Record<string, any> & {
594
+ id: string;
595
+ createdAt: Date;
596
+ updatedAt: Date;
597
+ userId: string;
598
+ expiresAt: Date;
599
+ token: string;
600
+ ipAddress?: string | null | undefined;
601
+ userAgent?: string | null | undefined;
602
+ };
603
+ user: Record<string, any> & {
604
+ id: string;
605
+ name: string;
606
+ email: string;
607
+ emailVerified: boolean;
608
+ createdAt: Date;
609
+ updatedAt: Date;
610
+ image?: string | null | undefined;
611
+ };
612
+ };
613
+ }>)[];
614
+ } & {
615
+ use: any[];
616
+ };
617
+ path: "/usage/ingest";
618
+ };
619
+ };
620
+
621
+ interface WebhooksOptions {
622
+ /**
623
+ * Webhook Secret
624
+ */
625
+ secret: string;
626
+ /**
627
+ * Generic handler for all webhooks
628
+ */
629
+ onPayload?: (payload: ReturnType<typeof validateEvent>) => Promise<void>;
630
+ /**
631
+ * Webhook for checkout created
632
+ */
633
+ onCheckoutCreated?: (payload: WebhookCheckoutCreatedPayload) => Promise<void>;
634
+ /**
635
+ * Webhook for checkout updated
636
+ */
637
+ onCheckoutUpdated?: (payload: WebhookCheckoutUpdatedPayload) => Promise<void>;
638
+ /**
639
+ * Webhook for order created
640
+ */
641
+ onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise<void>;
642
+ /**
643
+ * Webhook for order refunded
644
+ */
645
+ onOrderRefunded?: (payload: WebhookOrderRefundedPayload) => Promise<void>;
646
+ /**
647
+ * Webhook for order paid
648
+ */
649
+ onOrderPaid?: (payload: WebhookOrderPaidPayload) => Promise<void>;
650
+ /**
651
+ * Webhook for refund created
652
+ */
653
+ onRefundCreated?: (payload: WebhookRefundCreatedPayload) => Promise<void>;
654
+ /**
655
+ * Webhook for refund updated
656
+ */
657
+ onRefundUpdated?: (payload: WebhookRefundUpdatedPayload) => Promise<void>;
658
+ /**
659
+ * Webhook for subscription created
660
+ */
661
+ onSubscriptionCreated?: (payload: WebhookSubscriptionCreatedPayload) => Promise<void>;
662
+ /**
663
+ * Webhook for subscription updated
664
+ */
665
+ onSubscriptionUpdated?: (payload: WebhookSubscriptionUpdatedPayload) => Promise<void>;
666
+ /**
667
+ * Webhook for subscription active
668
+ */
669
+ onSubscriptionActive?: (payload: WebhookSubscriptionActivePayload) => Promise<void>;
670
+ /**
671
+ * Webhook for subscription canceled
672
+ */
673
+ onSubscriptionCanceled?: (payload: WebhookSubscriptionCanceledPayload) => Promise<void>;
674
+ /**
675
+ * Webhook for subscription revoked
676
+ */
677
+ onSubscriptionRevoked?: (payload: WebhookSubscriptionRevokedPayload) => Promise<void>;
678
+ /**
679
+ * Webhook for subscription uncanceled
680
+ */
681
+ onSubscriptionUncanceled?: (payload: WebhookSubscriptionUncanceledPayload) => Promise<void>;
682
+ /**
683
+ * Webhook for product created
684
+ */
685
+ onProductCreated?: (payload: WebhookProductCreatedPayload) => Promise<void>;
686
+ /**
687
+ * Webhook for product updated
688
+ */
689
+ onProductUpdated?: (payload: WebhookProductUpdatedPayload) => Promise<void>;
690
+ /**
691
+ * Webhook for organization updated
692
+ */
693
+ onOrganizationUpdated?: (payload: WebhookOrganizationUpdatedPayload) => Promise<void>;
694
+ /**
695
+ * Webhook for benefit created
696
+ */
697
+ onBenefitCreated?: (payload: WebhookBenefitCreatedPayload) => Promise<void>;
698
+ /**
699
+ * Webhook for benefit updated
700
+ */
701
+ onBenefitUpdated?: (payload: WebhookBenefitUpdatedPayload) => Promise<void>;
702
+ /**
703
+ * Webhook for benefit grant created
704
+ */
705
+ onBenefitGrantCreated?: (payload: WebhookBenefitGrantCreatedPayload) => Promise<void>;
706
+ /**
707
+ * Webhook for benefit grant updated
708
+ */
709
+ onBenefitGrantUpdated?: (payload: WebhookBenefitGrantUpdatedPayload) => Promise<void>;
710
+ /**
711
+ * Webhook for benefit grant revoked
712
+ */
713
+ onBenefitGrantRevoked?: (payload: WebhookBenefitGrantRevokedPayload) => Promise<void>;
714
+ /**
715
+ * Webhook for customer created
716
+ */
717
+ onCustomerCreated?: (payload: WebhookCustomerCreatedPayload) => Promise<void>;
718
+ /**
719
+ * Webhook for customer updated
720
+ */
721
+ onCustomerUpdated?: (payload: WebhookCustomerUpdatedPayload) => Promise<void>;
722
+ /**
723
+ * Webhook for customer deleted
724
+ */
725
+ onCustomerDeleted?: (payload: WebhookCustomerDeletedPayload) => Promise<void>;
726
+ /**
727
+ * Webhook for customer state changed
728
+ */
729
+ onCustomerStateChanged?: (payload: WebhookCustomerStateChangedPayload) => Promise<void>;
730
+ }
731
+ declare const webhooks: (options: WebhooksOptions) => (_polar: Polar) => {
732
+ polarWebhooks: {
733
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
734
+ body?: undefined;
735
+ } & {
736
+ method?: "POST" | undefined;
737
+ } & {
738
+ query?: Record<string, any> | undefined;
739
+ } & {
740
+ params?: Record<string, any>;
741
+ } & {
742
+ request?: Request;
743
+ } & {
744
+ headers?: HeadersInit;
745
+ } & {
746
+ asResponse?: boolean;
747
+ returnHeaders?: boolean;
748
+ use?: better_auth.Middleware[];
749
+ path?: string;
750
+ } & {
751
+ asResponse?: AsResponse | undefined;
752
+ returnHeaders?: ReturnHeaders | undefined;
753
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
754
+ headers: Headers;
755
+ response: {
756
+ received: boolean;
757
+ };
758
+ } : {
759
+ received: boolean;
760
+ }>;
761
+ options: {
762
+ method: "POST";
763
+ metadata: {
764
+ isAction: boolean;
765
+ };
766
+ cloneRequest: true;
767
+ } & {
768
+ use: any[];
769
+ };
770
+ path: "/polar/webhooks";
771
+ };
772
+ };
773
+
32
774
  type Product = {
33
775
  /**
34
776
  * Product Id from Polar Product
@@ -39,6 +781,8 @@ type Product = {
39
781
  */
40
782
  slug: string;
41
783
  };
784
+ type PolarPlugin = ReturnType<typeof checkout> | ReturnType<typeof usage> | ReturnType<typeof portal> | ReturnType<typeof webhooks>;
785
+ type PolarPlugins = [PolarPlugin, ...PolarPlugin[]];
42
786
  interface PolarOptions {
43
787
  /**
44
788
  * Polar Client
@@ -61,278 +805,313 @@ interface PolarOptions {
61
805
  metadata?: Record<string, string>;
62
806
  }>;
63
807
  /**
64
- * Enable customer portal
65
- */
66
- enableCustomerPortal?: boolean;
67
- /**
68
- * Subscriptions
69
- */
70
- checkout?: {
71
- /**
72
- * Enable checkout
73
- */
74
- enabled: boolean;
75
- /**
76
- * List of products
77
- */
78
- products: Product[] | (() => Promise<Product[]>);
79
- /**
80
- * Checkout Success URL
81
- */
82
- successUrl?: string;
83
- };
84
- /**
85
- * Webhooks
86
- */
87
- webhooks?: {
88
- /**
89
- * Webhook Secret
90
- */
91
- secret: string;
92
- /**
93
- * Generic handler for all webhooks
94
- */
95
- onPayload?: (payload: ReturnType<typeof validateEvent>) => Promise<void>;
96
- /**
97
- * Webhook for checkout created
98
- */
99
- onCheckoutCreated?: (payload: WebhookCheckoutCreatedPayload) => Promise<void>;
100
- /**
101
- * Webhook for checkout updated
102
- */
103
- onCheckoutUpdated?: (payload: WebhookCheckoutUpdatedPayload) => Promise<void>;
104
- /**
105
- * Webhook for order created
106
- */
107
- onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise<void>;
108
- /**
109
- * Webhook for order refunded
110
- */
111
- onOrderRefunded?: (payload: WebhookOrderRefundedPayload) => Promise<void>;
112
- /**
113
- * Webhook for refund created
114
- */
115
- onRefundCreated?: (payload: WebhookRefundCreatedPayload) => Promise<void>;
116
- /**
117
- * Webhook for refund updated
118
- */
119
- onRefundUpdated?: (payload: WebhookRefundUpdatedPayload) => Promise<void>;
120
- /**
121
- * Webhook for subscription created
122
- */
123
- onSubscriptionCreated?: (payload: WebhookSubscriptionCreatedPayload) => Promise<void>;
124
- /**
125
- * Webhook for subscription updated
126
- */
127
- onSubscriptionUpdated?: (payload: WebhookSubscriptionUpdatedPayload) => Promise<void>;
128
- /**
129
- * Webhook for subscription active
130
- */
131
- onSubscriptionActive?: (payload: WebhookSubscriptionActivePayload) => Promise<void>;
132
- /**
133
- * Webhook for subscription canceled
134
- */
135
- onSubscriptionCanceled?: (payload: WebhookSubscriptionCanceledPayload) => Promise<void>;
136
- /**
137
- * Webhook for subscription revoked
138
- */
139
- onSubscriptionRevoked?: (payload: WebhookSubscriptionRevokedPayload) => Promise<void>;
140
- /**
141
- * Webhook for subscription uncanceled
142
- */
143
- onSubscriptionUncanceled?: (payload: WebhookSubscriptionUncanceledPayload) => Promise<void>;
144
- /**
145
- * Webhook for product created
146
- */
147
- onProductCreated?: (payload: WebhookProductCreatedPayload) => Promise<void>;
148
- /**
149
- * Webhook for product updated
150
- */
151
- onProductUpdated?: (payload: WebhookProductUpdatedPayload) => Promise<void>;
152
- /**
153
- * Webhook for organization updated
154
- */
155
- onOrganizationUpdated?: (payload: WebhookOrganizationUpdatedPayload) => Promise<void>;
156
- /**
157
- * Webhook for benefit created
158
- */
159
- onBenefitCreated?: (payload: WebhookBenefitCreatedPayload) => Promise<void>;
160
- /**
161
- * Webhook for benefit updated
162
- */
163
- onBenefitUpdated?: (payload: WebhookBenefitUpdatedPayload) => Promise<void>;
164
- /**
165
- * Webhook for benefit grant created
166
- */
167
- onBenefitGrantCreated?: (payload: WebhookBenefitGrantCreatedPayload) => Promise<void>;
168
- /**
169
- * Webhook for benefit grant updated
170
- */
171
- onBenefitGrantUpdated?: (payload: WebhookBenefitGrantUpdatedPayload) => Promise<void>;
172
- /**
173
- * Webhook for benefit grant revoked
174
- */
175
- onBenefitGrantRevoked?: (payload: WebhookBenefitGrantRevokedPayload) => Promise<void>;
176
- /**
177
- * Webhook for customer created
178
- */
179
- onCustomerCreated?: (payload: WebhookCustomerCreatedPayload) => Promise<void>;
180
- /**
181
- * Webhook for customer updated
182
- */
183
- onCustomerUpdated?: (payload: WebhookCustomerUpdatedPayload) => Promise<void>;
184
- /**
185
- * Webhook for customer deleted
186
- */
187
- onCustomerDeleted?: (payload: WebhookCustomerDeletedPayload) => Promise<void>;
188
- /**
189
- * Webhook for customer state changed
190
- */
191
- onCustomerStateChanged?: (payload: WebhookCustomerStateChangedPayload) => Promise<void>;
192
- };
808
+ * Use Polar plugins
809
+ */
810
+ use: PolarPlugins;
193
811
  }
194
812
 
813
+ declare const polarClient: () => {
814
+ id: "polar-client";
815
+ $InferServerPlugin: ReturnType<typeof polar>;
816
+ };
817
+
195
818
  declare const polar: <O extends PolarOptions>(options: O) => {
196
819
  id: "polar";
197
820
  endpoints: {
198
- polarCheckout: {
199
- <C extends [{
200
- query: {
201
- products: string | string[];
821
+ checkout: {
822
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
823
+ body: {
824
+ products?: string | string[] | undefined;
825
+ slug?: string | undefined;
826
+ referenceId?: string | undefined;
827
+ customFieldData?: Record<string, string | number | boolean> | undefined;
828
+ metadata?: Record<string, string | number | boolean> | undefined;
829
+ };
830
+ } & {
831
+ method?: "POST" | undefined;
832
+ } & {
833
+ query?: Record<string, any> | undefined;
834
+ } & {
835
+ params?: Record<string, any>;
836
+ } & {
837
+ request?: Request;
838
+ } & {
839
+ headers?: HeadersInit;
840
+ } & {
841
+ asResponse?: boolean;
842
+ returnHeaders?: boolean;
843
+ use?: better_auth.Middleware[];
844
+ path?: string;
845
+ } & {
846
+ asResponse?: AsResponse | undefined;
847
+ returnHeaders?: ReturnHeaders | undefined;
848
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
849
+ headers: Headers;
850
+ response: {
851
+ url: string;
852
+ redirect: boolean;
202
853
  };
854
+ } : {
855
+ url: string;
856
+ redirect: boolean;
857
+ }>;
858
+ options: {
859
+ method: "POST";
860
+ body: zod.ZodObject<{
861
+ products: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>>;
862
+ slug: zod.ZodOptional<zod.ZodString>;
863
+ referenceId: zod.ZodOptional<zod.ZodString>;
864
+ customFieldData: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
865
+ metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
866
+ }, "strip", zod.ZodTypeAny, {
867
+ products?: string | string[] | undefined;
868
+ slug?: string | undefined;
869
+ referenceId?: string | undefined;
870
+ customFieldData?: Record<string, string | number | boolean> | undefined;
871
+ metadata?: Record<string, string | number | boolean> | undefined;
872
+ }, {
873
+ products?: string | string[] | undefined;
874
+ slug?: string | undefined;
875
+ referenceId?: string | undefined;
876
+ customFieldData?: Record<string, string | number | boolean> | undefined;
877
+ metadata?: Record<string, string | number | boolean> | undefined;
878
+ }>;
879
+ } & {
880
+ use: any[];
881
+ };
882
+ path: "/checkout";
883
+ };
884
+ } | {
885
+ meters: {
886
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
203
887
  body?: undefined;
888
+ } & {
204
889
  method?: "GET" | undefined;
205
- params?: Record<string, any> | undefined;
206
- request?: Request | undefined;
207
- headers?: HeadersInit | undefined;
208
- asResponse?: boolean | undefined;
209
- returnHeaders?: boolean | undefined;
210
- use?: better_auth.Middleware[] | undefined;
211
- path?: string | undefined;
212
- }]>(...inputCtx: C): Promise<C extends [{
213
- asResponse: true;
214
- }] ? Response : C extends [{
215
- returnHeaders: true;
216
- }] ? {
890
+ } & {
891
+ query: {
892
+ page?: number | undefined;
893
+ limit?: number | undefined;
894
+ };
895
+ } & {
896
+ params?: Record<string, any>;
897
+ } & {
898
+ request?: Request;
899
+ } & {
900
+ headers?: HeadersInit;
901
+ } & {
902
+ asResponse?: boolean;
903
+ returnHeaders?: boolean;
904
+ use?: better_auth.Middleware[];
905
+ path?: string;
906
+ } & {
907
+ asResponse?: AsResponse | undefined;
908
+ returnHeaders?: ReturnHeaders | undefined;
909
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
217
910
  headers: Headers;
218
- response: better_auth.APIError;
219
- } : better_auth.APIError>;
911
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
912
+ page: number;
913
+ }>;
914
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
915
+ page: number;
916
+ }>>;
220
917
  options: {
221
918
  method: "GET";
919
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
920
+ session: {
921
+ session: Record<string, any> & {
922
+ id: string;
923
+ createdAt: Date;
924
+ updatedAt: Date;
925
+ userId: string;
926
+ expiresAt: Date;
927
+ token: string;
928
+ ipAddress?: string | null | undefined;
929
+ userAgent?: string | null | undefined;
930
+ };
931
+ user: Record<string, any> & {
932
+ id: string;
933
+ name: string;
934
+ email: string;
935
+ emailVerified: boolean;
936
+ createdAt: Date;
937
+ updatedAt: Date;
938
+ image?: string | null | undefined;
939
+ };
940
+ };
941
+ }>)[];
222
942
  query: zod.ZodObject<{
223
- products: zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>;
943
+ page: zod.ZodOptional<zod.ZodNumber>;
944
+ limit: zod.ZodOptional<zod.ZodNumber>;
224
945
  }, "strip", zod.ZodTypeAny, {
225
- products: string | string[];
946
+ page?: number | undefined;
947
+ limit?: number | undefined;
226
948
  }, {
227
- products: string | string[];
949
+ page?: number | undefined;
950
+ limit?: number | undefined;
228
951
  }>;
229
952
  } & {
230
953
  use: any[];
231
954
  };
232
- path: "/checkout";
955
+ path: "/usage/meters/list";
233
956
  };
234
- polarCheckoutWithSlug: {
235
- <C extends [{
236
- params: {
237
- slug: string;
957
+ ingestion: {
958
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
959
+ body: {
960
+ metadata: Record<string, string | number | boolean>;
961
+ event: string;
238
962
  };
239
- body?: undefined;
240
- method?: "GET" | undefined;
963
+ } & {
964
+ method?: "POST" | undefined;
965
+ } & {
241
966
  query?: Record<string, any> | undefined;
242
- request?: Request | undefined;
243
- headers?: HeadersInit | undefined;
244
- asResponse?: boolean | undefined;
245
- returnHeaders?: boolean | undefined;
246
- use?: better_auth.Middleware[] | undefined;
247
- path?: string | undefined;
248
- }]>(...inputCtx: C): Promise<C extends [{
249
- asResponse: true;
250
- }] ? Response : C extends [{
251
- returnHeaders: true;
252
- }] ? {
967
+ } & {
968
+ params?: Record<string, any>;
969
+ } & {
970
+ request?: Request;
971
+ } & {
972
+ headers?: HeadersInit;
973
+ } & {
974
+ asResponse?: boolean;
975
+ returnHeaders?: boolean;
976
+ use?: better_auth.Middleware[];
977
+ path?: string;
978
+ } & {
979
+ asResponse?: AsResponse | undefined;
980
+ returnHeaders?: ReturnHeaders | undefined;
981
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
253
982
  headers: Headers;
254
- response: better_auth.APIError;
255
- } : better_auth.APIError>;
983
+ response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
984
+ } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
256
985
  options: {
257
- method: "GET";
258
- params: zod.ZodObject<{
259
- slug: zod.ZodString;
986
+ method: "POST";
987
+ body: zod.ZodObject<{
988
+ event: zod.ZodString;
989
+ metadata: zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>;
260
990
  }, "strip", zod.ZodTypeAny, {
261
- slug: string;
991
+ metadata: Record<string, string | number | boolean>;
992
+ event: string;
262
993
  }, {
263
- slug: string;
994
+ metadata: Record<string, string | number | boolean>;
995
+ event: string;
264
996
  }>;
997
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
998
+ session: {
999
+ session: Record<string, any> & {
1000
+ id: string;
1001
+ createdAt: Date;
1002
+ updatedAt: Date;
1003
+ userId: string;
1004
+ expiresAt: Date;
1005
+ token: string;
1006
+ ipAddress?: string | null | undefined;
1007
+ userAgent?: string | null | undefined;
1008
+ };
1009
+ user: Record<string, any> & {
1010
+ id: string;
1011
+ name: string;
1012
+ email: string;
1013
+ emailVerified: boolean;
1014
+ createdAt: Date;
1015
+ updatedAt: Date;
1016
+ image?: string | null | undefined;
1017
+ };
1018
+ };
1019
+ }>)[];
265
1020
  } & {
266
1021
  use: any[];
267
1022
  };
268
- path: "/checkout/:slug";
1023
+ path: "/usage/ingest";
269
1024
  };
270
- polarWebhooks: {
271
- <C extends [({
1025
+ } | {
1026
+ portal: {
1027
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
272
1028
  body?: undefined;
273
- method?: "POST" | undefined;
1029
+ } & {
1030
+ method?: "GET" | undefined;
1031
+ } & {
274
1032
  query?: Record<string, any> | undefined;
275
- params?: Record<string, any> | undefined;
276
- request?: Request | undefined;
277
- headers?: HeadersInit | undefined;
278
- asResponse?: boolean | undefined;
279
- returnHeaders?: boolean | undefined;
280
- use?: better_auth.Middleware[] | undefined;
281
- path?: string | undefined;
282
- } | undefined)?]>(...inputCtx: C): Promise<C extends [{
283
- asResponse: true;
284
- }] ? Response : C extends [{
285
- returnHeaders: true;
286
- }] ? {
1033
+ } & {
1034
+ params?: Record<string, any>;
1035
+ } & {
1036
+ request?: Request;
1037
+ } & {
1038
+ headers?: HeadersInit;
1039
+ } & {
1040
+ asResponse?: boolean;
1041
+ returnHeaders?: boolean;
1042
+ use?: better_auth.Middleware[];
1043
+ path?: string;
1044
+ } & {
1045
+ asResponse?: AsResponse | undefined;
1046
+ returnHeaders?: ReturnHeaders | undefined;
1047
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
287
1048
  headers: Headers;
288
1049
  response: {
289
- received: boolean;
1050
+ url: string;
1051
+ redirect: boolean;
290
1052
  };
291
1053
  } : {
292
- received: boolean;
1054
+ url: string;
1055
+ redirect: boolean;
293
1056
  }>;
294
1057
  options: {
295
- method: "POST";
296
- metadata: {
297
- isAction: boolean;
298
- };
299
- cloneRequest: true;
1058
+ method: "GET";
1059
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1060
+ session: {
1061
+ session: Record<string, any> & {
1062
+ id: string;
1063
+ createdAt: Date;
1064
+ updatedAt: Date;
1065
+ userId: string;
1066
+ expiresAt: Date;
1067
+ token: string;
1068
+ ipAddress?: string | null | undefined;
1069
+ userAgent?: string | null | undefined;
1070
+ };
1071
+ user: Record<string, any> & {
1072
+ id: string;
1073
+ name: string;
1074
+ email: string;
1075
+ emailVerified: boolean;
1076
+ createdAt: Date;
1077
+ updatedAt: Date;
1078
+ image?: string | null | undefined;
1079
+ };
1080
+ };
1081
+ }>)[];
300
1082
  } & {
301
1083
  use: any[];
302
1084
  };
303
- path: "/polar/webhooks";
1085
+ path: "/customer/portal";
304
1086
  };
305
- polarCustomerPortal: {
306
- <C extends [({
1087
+ state: {
1088
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
307
1089
  body?: undefined;
1090
+ } & {
308
1091
  method?: "GET" | undefined;
1092
+ } & {
309
1093
  query?: Record<string, any> | undefined;
310
- params?: Record<string, any> | undefined;
311
- request?: Request | undefined;
312
- headers?: HeadersInit | undefined;
313
- asResponse?: boolean | undefined;
314
- returnHeaders?: boolean | undefined;
315
- use?: better_auth.Middleware[] | undefined;
316
- path?: string | undefined;
317
- } | undefined)?]>(...inputCtx: C): Promise<C extends [{
318
- asResponse: true;
319
- }] ? Response : C extends [{
320
- returnHeaders: true;
321
- }] ? {
1094
+ } & {
1095
+ params?: Record<string, any>;
1096
+ } & {
1097
+ request?: Request;
1098
+ } & {
1099
+ headers?: HeadersInit;
1100
+ } & {
1101
+ asResponse?: boolean;
1102
+ returnHeaders?: boolean;
1103
+ use?: better_auth.Middleware[];
1104
+ path?: string;
1105
+ } & {
1106
+ asResponse?: AsResponse | undefined;
1107
+ returnHeaders?: ReturnHeaders | undefined;
1108
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
322
1109
  headers: Headers;
323
- response: better_auth.APIError;
324
- } : better_auth.APIError>;
1110
+ response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
1111
+ } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
325
1112
  options: {
326
1113
  method: "GET";
327
- use: ((inputContext: {
328
- body?: any;
329
- query?: Record<string, any> | undefined;
330
- request?: Request | undefined;
331
- headers?: Headers | undefined;
332
- asResponse?: boolean | undefined;
333
- returnHeaders?: boolean | undefined;
334
- use?: better_auth.Middleware[] | undefined;
335
- }) => Promise<{
1114
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
336
1115
  session: {
337
1116
  session: Record<string, any> & {
338
1117
  id: string;
@@ -358,39 +1137,213 @@ declare const polar: <O extends PolarOptions>(options: O) => {
358
1137
  } & {
359
1138
  use: any[];
360
1139
  };
361
- path: "/portal";
1140
+ path: "/customer/state";
362
1141
  };
363
- polarCustomerState: {
364
- <C extends [({
1142
+ benefits: {
1143
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
365
1144
  body?: undefined;
1145
+ } & {
366
1146
  method?: "GET" | undefined;
367
- query?: Record<string, any> | undefined;
368
- params?: Record<string, any> | undefined;
369
- request?: Request | undefined;
370
- headers?: HeadersInit | undefined;
371
- asResponse?: boolean | undefined;
372
- returnHeaders?: boolean | undefined;
373
- use?: better_auth.Middleware[] | undefined;
374
- path?: string | undefined;
375
- } | undefined)?]>(...inputCtx: C): Promise<C extends [{
376
- asResponse: true;
377
- }] ? Response : C extends [{
378
- returnHeaders: true;
379
- }] ? {
1147
+ } & {
1148
+ query?: {
1149
+ page?: number | undefined;
1150
+ limit?: number | undefined;
1151
+ } | undefined;
1152
+ } & {
1153
+ params?: Record<string, any>;
1154
+ } & {
1155
+ request?: Request;
1156
+ } & {
1157
+ headers?: HeadersInit;
1158
+ } & {
1159
+ asResponse?: boolean;
1160
+ returnHeaders?: boolean;
1161
+ use?: better_auth.Middleware[];
1162
+ path?: string;
1163
+ } & {
1164
+ asResponse?: AsResponse | undefined;
1165
+ returnHeaders?: ReturnHeaders | undefined;
1166
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
380
1167
  headers: Headers;
381
- response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
382
- } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
1168
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1169
+ page: number;
1170
+ }>;
1171
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1172
+ page: number;
1173
+ }>>;
1174
+ options: {
1175
+ method: "GET";
1176
+ query: zod.ZodOptional<zod.ZodObject<{
1177
+ page: zod.ZodOptional<zod.ZodNumber>;
1178
+ limit: zod.ZodOptional<zod.ZodNumber>;
1179
+ }, "strip", zod.ZodTypeAny, {
1180
+ page?: number | undefined;
1181
+ limit?: number | undefined;
1182
+ }, {
1183
+ page?: number | undefined;
1184
+ limit?: number | undefined;
1185
+ }>>;
1186
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1187
+ session: {
1188
+ session: Record<string, any> & {
1189
+ id: string;
1190
+ createdAt: Date;
1191
+ updatedAt: Date;
1192
+ userId: string;
1193
+ expiresAt: Date;
1194
+ token: string;
1195
+ ipAddress?: string | null | undefined;
1196
+ userAgent?: string | null | undefined;
1197
+ };
1198
+ user: Record<string, any> & {
1199
+ id: string;
1200
+ name: string;
1201
+ email: string;
1202
+ emailVerified: boolean;
1203
+ createdAt: Date;
1204
+ updatedAt: Date;
1205
+ image?: string | null | undefined;
1206
+ };
1207
+ };
1208
+ }>)[];
1209
+ } & {
1210
+ use: any[];
1211
+ };
1212
+ path: "/customer/benefits/list";
1213
+ };
1214
+ subscriptions: {
1215
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1216
+ body?: undefined;
1217
+ } & {
1218
+ method?: "GET" | undefined;
1219
+ } & {
1220
+ query?: {
1221
+ referenceId?: string | undefined;
1222
+ page?: number | undefined;
1223
+ limit?: number | undefined;
1224
+ active?: boolean | undefined;
1225
+ } | undefined;
1226
+ } & {
1227
+ params?: Record<string, any>;
1228
+ } & {
1229
+ request?: Request;
1230
+ } & {
1231
+ headers?: HeadersInit;
1232
+ } & {
1233
+ asResponse?: boolean;
1234
+ returnHeaders?: boolean;
1235
+ use?: better_auth.Middleware[];
1236
+ path?: string;
1237
+ } & {
1238
+ asResponse?: AsResponse | undefined;
1239
+ returnHeaders?: ReturnHeaders | undefined;
1240
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1241
+ headers: Headers;
1242
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1243
+ page: number;
1244
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1245
+ page: number;
1246
+ }>;
1247
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1248
+ page: number;
1249
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1250
+ page: number;
1251
+ }>>;
1252
+ options: {
1253
+ method: "GET";
1254
+ query: zod.ZodOptional<zod.ZodObject<{
1255
+ referenceId: zod.ZodOptional<zod.ZodString>;
1256
+ page: zod.ZodOptional<zod.ZodNumber>;
1257
+ limit: zod.ZodOptional<zod.ZodNumber>;
1258
+ active: zod.ZodOptional<zod.ZodBoolean>;
1259
+ }, "strip", zod.ZodTypeAny, {
1260
+ referenceId?: string | undefined;
1261
+ page?: number | undefined;
1262
+ limit?: number | undefined;
1263
+ active?: boolean | undefined;
1264
+ }, {
1265
+ referenceId?: string | undefined;
1266
+ page?: number | undefined;
1267
+ limit?: number | undefined;
1268
+ active?: boolean | undefined;
1269
+ }>>;
1270
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1271
+ session: {
1272
+ session: Record<string, any> & {
1273
+ id: string;
1274
+ createdAt: Date;
1275
+ updatedAt: Date;
1276
+ userId: string;
1277
+ expiresAt: Date;
1278
+ token: string;
1279
+ ipAddress?: string | null | undefined;
1280
+ userAgent?: string | null | undefined;
1281
+ };
1282
+ user: Record<string, any> & {
1283
+ id: string;
1284
+ name: string;
1285
+ email: string;
1286
+ emailVerified: boolean;
1287
+ createdAt: Date;
1288
+ updatedAt: Date;
1289
+ image?: string | null | undefined;
1290
+ };
1291
+ };
1292
+ }>)[];
1293
+ } & {
1294
+ use: any[];
1295
+ };
1296
+ path: "/customer/subscriptions/list";
1297
+ };
1298
+ orders: {
1299
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1300
+ body?: undefined;
1301
+ } & {
1302
+ method?: "GET" | undefined;
1303
+ } & {
1304
+ query?: {
1305
+ page?: number | undefined;
1306
+ limit?: number | undefined;
1307
+ productBillingType?: "recurring" | "one_time" | undefined;
1308
+ } | undefined;
1309
+ } & {
1310
+ params?: Record<string, any>;
1311
+ } & {
1312
+ request?: Request;
1313
+ } & {
1314
+ headers?: HeadersInit;
1315
+ } & {
1316
+ asResponse?: boolean;
1317
+ returnHeaders?: boolean;
1318
+ use?: better_auth.Middleware[];
1319
+ path?: string;
1320
+ } & {
1321
+ asResponse?: AsResponse | undefined;
1322
+ returnHeaders?: ReturnHeaders | undefined;
1323
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1324
+ headers: Headers;
1325
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1326
+ page: number;
1327
+ }>;
1328
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1329
+ page: number;
1330
+ }>>;
383
1331
  options: {
384
1332
  method: "GET";
385
- use: ((inputContext: {
386
- body?: any;
387
- query?: Record<string, any> | undefined;
388
- request?: Request | undefined;
389
- headers?: Headers | undefined;
390
- asResponse?: boolean | undefined;
391
- returnHeaders?: boolean | undefined;
392
- use?: better_auth.Middleware[] | undefined;
393
- }) => Promise<{
1333
+ query: zod.ZodOptional<zod.ZodObject<{
1334
+ page: zod.ZodOptional<zod.ZodNumber>;
1335
+ limit: zod.ZodOptional<zod.ZodNumber>;
1336
+ productBillingType: zod.ZodOptional<zod.ZodEnum<["recurring", "one_time"]>>;
1337
+ }, "strip", zod.ZodTypeAny, {
1338
+ page?: number | undefined;
1339
+ limit?: number | undefined;
1340
+ productBillingType?: "recurring" | "one_time" | undefined;
1341
+ }, {
1342
+ page?: number | undefined;
1343
+ limit?: number | undefined;
1344
+ productBillingType?: "recurring" | "one_time" | undefined;
1345
+ }>>;
1346
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
394
1347
  session: {
395
1348
  session: Record<string, any> & {
396
1349
  id: string;
@@ -416,7 +1369,48 @@ declare const polar: <O extends PolarOptions>(options: O) => {
416
1369
  } & {
417
1370
  use: any[];
418
1371
  };
419
- path: "/state";
1372
+ path: "/customer/orders/list";
1373
+ };
1374
+ } | {
1375
+ polarWebhooks: {
1376
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1377
+ body?: undefined;
1378
+ } & {
1379
+ method?: "POST" | undefined;
1380
+ } & {
1381
+ query?: Record<string, any> | undefined;
1382
+ } & {
1383
+ params?: Record<string, any>;
1384
+ } & {
1385
+ request?: Request;
1386
+ } & {
1387
+ headers?: HeadersInit;
1388
+ } & {
1389
+ asResponse?: boolean;
1390
+ returnHeaders?: boolean;
1391
+ use?: better_auth.Middleware[];
1392
+ path?: string;
1393
+ } & {
1394
+ asResponse?: AsResponse | undefined;
1395
+ returnHeaders?: ReturnHeaders | undefined;
1396
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1397
+ headers: Headers;
1398
+ response: {
1399
+ received: boolean;
1400
+ };
1401
+ } : {
1402
+ received: boolean;
1403
+ }>;
1404
+ options: {
1405
+ method: "POST";
1406
+ metadata: {
1407
+ isAction: boolean;
1408
+ };
1409
+ cloneRequest: true;
1410
+ } & {
1411
+ use: any[];
1412
+ };
1413
+ path: "/polar/webhooks";
420
1414
  };
421
1415
  };
422
1416
  init(): {
@@ -435,4 +1429,4 @@ declare const polar: <O extends PolarOptions>(options: O) => {
435
1429
  };
436
1430
  };
437
1431
 
438
- export { polar };
1432
+ export { type CheckoutOptions, type UsageOptions, type WebhooksOptions, checkout, polar, polarClient, portal, usage, webhooks };