@logto/cloud 0.2.5-582d792 → 0.2.5-590fbce

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.
Files changed (2) hide show
  1. package/lib/routes/index.d.ts +481 -255
  2. package/package.json +7 -6
@@ -3,21 +3,27 @@
3
3
  import { Json, JsonObject, RequestContext } from '@withtyped/server';
4
4
  import { InferModelType } from '@withtyped/server/model';
5
5
 
6
- export type WithAuthContext<Context = RequestContext> = Context & {
7
- auth: {
8
- /** The ID of the authenticated subject (`sub`). */
9
- id: string;
10
- /** The scopes that the subject has (`scope`). */
11
- scopes: string[];
12
- };
13
- };
14
- declare enum VerificationCodeType {
15
- SignIn = "SignIn",
16
- Register = "Register",
17
- ForgotPassword = "ForgotPassword",
18
- Generic = "Generic",
19
- /** @deprecated Use `Generic` type template for sending test sms/email use case */
20
- Test = "Test"
6
+ declare const availableReportableUsageKeys: readonly [
7
+ "tokenLimit",
8
+ "machineToMachineLimit",
9
+ "resourcesLimit",
10
+ "enterpriseSsoLimit",
11
+ "hooksLimit",
12
+ "tenantMembersLimit",
13
+ "mfaEnabled",
14
+ "organizationsEnabled",
15
+ "organizationsLimit",
16
+ "securityFeaturesEnabled",
17
+ "userRolesLimit",
18
+ "machineToMachineRolesLimit",
19
+ "thirdPartyApplicationsLimit",
20
+ "samlApplicationsLimit"
21
+ ];
22
+ export type ReportableUsageKey = (typeof availableReportableUsageKeys)[number];
23
+ export type RealtimeReportableUsageKey = Exclude<ReportableUsageKey, "tokenLimit">;
24
+ declare enum LogtoSkuType {
25
+ Basic = "Basic",
26
+ AddOn = "AddOn"
21
27
  }
22
28
  declare enum TemplateType {
23
29
  /** The template for sending verification code when user is signing in. */
@@ -29,7 +35,13 @@ declare enum TemplateType {
29
35
  /** The template for sending organization invitation. */
30
36
  OrganizationInvitation = "OrganizationInvitation",
31
37
  /** The template for generic usage. */
32
- Generic = "Generic"
38
+ Generic = "Generic",
39
+ /** The template for validating user permission for sensitive operations. */
40
+ UserPermissionValidation = "UserPermissionValidation",
41
+ /** The template for binding a new identifier to an existing account. */
42
+ BindNewIdentifier = "BindNewIdentifier",
43
+ /** The template for sending MFA verification code. */
44
+ MfaVerification = "MfaVerification"
33
45
  }
34
46
  declare enum OrganizationInvitationStatus {
35
47
  Pending = "Pending",
@@ -69,22 +81,6 @@ declare enum TenantRole {
69
81
  /** Collaborator of the tenant, who has permissions to operate the tenant data, but not the tenant settings. */
70
82
  Collaborator = "collaborator"
71
83
  }
72
- declare const availableReportableUsageKeys: readonly [
73
- "tokenLimit",
74
- "machineToMachineLimit",
75
- "resourcesLimit",
76
- "enterpriseSsoLimit",
77
- "hooksLimit",
78
- "tenantMembersLimit",
79
- "mfaEnabled",
80
- "organizationsEnabled"
81
- ];
82
- export type ReportableUsageKey = (typeof availableReportableUsageKeys)[number];
83
- export type RealtimeReportableUsageKey = Exclude<ReportableUsageKey, "tokenLimit">;
84
- declare enum LogtoSkuType {
85
- Basic = "Basic",
86
- AddOn = "AddOn"
87
- }
88
84
  declare const AffiliateProperties: import("@withtyped/server/lib/model/index.js").default<"affiliate_properties", {
89
85
  createdAt: Date;
90
86
  affiliateId: string;
@@ -98,10 +94,47 @@ declare const Affiliates: import("@withtyped/server/lib/model/index.js").default
98
94
  id: string;
99
95
  }, "id" | "createdAt", "id" | "createdAt">;
100
96
  export type Affiliate = InferModelType<typeof Affiliates>;
101
- declare enum RegionName {
102
- EU = "EU",
103
- US = "US"
104
- }
97
+ declare const publicRegionNames: readonly [
98
+ "EU",
99
+ "US",
100
+ "AU",
101
+ "JP"
102
+ ];
103
+ /** The type of region names for the public cloud. */
104
+ export type PublicRegionName = (typeof publicRegionNames)[number];
105
+ /**
106
+ * Data structure representing a Logto Cloud region.
107
+ */
108
+ export type Region = {
109
+ /**
110
+ * The unique identifier for the region.
111
+ */
112
+ id: string;
113
+ /**
114
+ * A human-readable name for the region.
115
+ */
116
+ name: string;
117
+ /**
118
+ * The country where the region is located.
119
+ */
120
+ country: string;
121
+ /**
122
+ * Indicates whether the region is private.
123
+ */
124
+ isPrivate: boolean;
125
+ /**
126
+ * Tenant tags available for selection when creating tenants in this region.
127
+ */
128
+ tags: TenantTag[];
129
+ };
130
+ export type WithAuthContext<Context = RequestContext> = Context & {
131
+ auth: {
132
+ /** The ID of the authenticated subject (`sub`). */
133
+ id: string;
134
+ /** The scopes that the subject has (`scope`). */
135
+ scopes: string[];
136
+ };
137
+ };
105
138
  export type AffiliateData = Affiliate & {
106
139
  properties: Array<Pick<AffiliateProperty, "type" | "value">>;
107
140
  };
@@ -131,11 +164,11 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
131
164
  }, {
132
165
  id: string;
133
166
  name: string;
167
+ createdAt: Date;
134
168
  quota: {
135
169
  mauLimit: number | null;
136
170
  tokenLimit: number | null;
137
171
  };
138
- createdAt: Date;
139
172
  usage: {
140
173
  activeUsers: number;
141
174
  tokenUsage: number;
@@ -148,6 +181,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
148
181
  planId: string;
149
182
  currentPeriodStart: Date;
150
183
  currentPeriodEnd: Date;
184
+ isEnterprisePlan: boolean;
151
185
  id?: string | undefined;
152
186
  upcomingInvoice?: {
153
187
  subtotal: number;
@@ -155,14 +189,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
155
189
  total: number;
156
190
  totalExcludingTax: number | null;
157
191
  } | null | undefined;
158
- isAddOnAvailable?: boolean | undefined;
159
192
  };
160
- regionName: RegionName;
193
+ regionName: string;
161
194
  tag: TenantTag;
162
195
  openInvoices: {
163
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
164
196
  id: string;
165
197
  createdAt: Date;
198
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
166
199
  updatedAt: Date;
167
200
  customerId: string | null;
168
201
  billingReason: string | null;
@@ -170,6 +203,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
170
203
  periodEnd: Date;
171
204
  amountDue: number;
172
205
  amountPaid: number;
206
+ basicSkuId: string | null;
173
207
  subscriptionId: string | null;
174
208
  hostedInvoiceUrl: string | null;
175
209
  invoicePdf: string | null;
@@ -181,11 +215,11 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
181
215
  "/tenants": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
182
216
  id: string;
183
217
  name: string;
218
+ createdAt: Date;
184
219
  quota: {
185
220
  mauLimit: number | null;
186
221
  tokenLimit: number | null;
187
222
  };
188
- createdAt: Date;
189
223
  usage: {
190
224
  activeUsers: number;
191
225
  tokenUsage: number;
@@ -198,6 +232,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
198
232
  planId: string;
199
233
  currentPeriodStart: Date;
200
234
  currentPeriodEnd: Date;
235
+ isEnterprisePlan: boolean;
201
236
  id?: string | undefined;
202
237
  upcomingInvoice?: {
203
238
  subtotal: number;
@@ -205,14 +240,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
205
240
  total: number;
206
241
  totalExcludingTax: number | null;
207
242
  } | null | undefined;
208
- isAddOnAvailable?: boolean | undefined;
209
243
  };
210
- regionName: RegionName;
244
+ regionName: string;
211
245
  tag: TenantTag;
212
246
  openInvoices: {
213
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
214
247
  id: string;
215
248
  createdAt: Date;
249
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
216
250
  updatedAt: Date;
217
251
  customerId: string | null;
218
252
  billingReason: string | null;
@@ -220,6 +254,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
220
254
  periodEnd: Date;
221
255
  amountDue: number;
222
256
  amountPaid: number;
257
+ basicSkuId: string | null;
223
258
  subscriptionId: string | null;
224
259
  hostedInvoiceUrl: string | null;
225
260
  invoicePdf: string | null;
@@ -228,17 +263,18 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
228
263
  };
229
264
  post: {
230
265
  "/tenants": import("@withtyped/server").PathGuard<"/", unknown, {
266
+ id?: string | undefined;
231
267
  name?: string | undefined;
232
268
  tag?: TenantTag | undefined;
233
- regionName?: RegionName | undefined;
269
+ regionName?: string | undefined;
234
270
  }, {
235
271
  id: string;
236
272
  name: string;
273
+ createdAt: Date;
237
274
  quota: {
238
275
  mauLimit: number | null;
239
276
  tokenLimit: number | null;
240
277
  };
241
- createdAt: Date;
242
278
  usage: {
243
279
  activeUsers: number;
244
280
  tokenUsage: number;
@@ -251,6 +287,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
251
287
  planId: string;
252
288
  currentPeriodStart: Date;
253
289
  currentPeriodEnd: Date;
290
+ isEnterprisePlan: boolean;
254
291
  id?: string | undefined;
255
292
  upcomingInvoice?: {
256
293
  subtotal: number;
@@ -258,14 +295,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
258
295
  total: number;
259
296
  totalExcludingTax: number | null;
260
297
  } | null | undefined;
261
- isAddOnAvailable?: boolean | undefined;
262
298
  };
263
- regionName: RegionName;
299
+ regionName: string;
264
300
  tag: TenantTag;
265
301
  openInvoices: {
266
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
267
302
  id: string;
268
303
  createdAt: Date;
304
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
269
305
  updatedAt: Date;
270
306
  customerId: string | null;
271
307
  billingReason: string | null;
@@ -273,6 +309,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
273
309
  periodEnd: Date;
274
310
  amountDue: number;
275
311
  amountPaid: number;
312
+ basicSkuId: string | null;
276
313
  subscriptionId: string | null;
277
314
  hostedInvoiceUrl: string | null;
278
315
  invoicePdf: string | null;
@@ -291,9 +328,37 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
291
328
  get: {
292
329
  "/tenants/my/subscription": import("@withtyped/server").PathGuard<"/my/subscription", unknown, unknown, {
293
330
  status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
331
+ quota: {
332
+ auditLogsRetentionDays: number | null;
333
+ mauLimit: number | null;
334
+ applicationsLimit: number | null;
335
+ thirdPartyApplicationsLimit: number | null;
336
+ scopesPerResourceLimit: number | null;
337
+ socialConnectorsLimit: number | null;
338
+ userRolesLimit: number | null;
339
+ machineToMachineRolesLimit: number | null;
340
+ scopesPerRoleLimit: number | null;
341
+ hooksLimit: number | null;
342
+ customJwtEnabled: boolean;
343
+ subjectTokenEnabled: boolean;
344
+ bringYourUiEnabled: boolean;
345
+ collectUserProfileEnabled: boolean;
346
+ tokenLimit: number | null;
347
+ machineToMachineLimit: number | null;
348
+ resourcesLimit: number | null;
349
+ enterpriseSsoLimit: number | null;
350
+ tenantMembersLimit: number | null;
351
+ mfaEnabled: boolean;
352
+ organizationsEnabled: boolean;
353
+ organizationsLimit: number | null;
354
+ securityFeaturesEnabled: boolean;
355
+ idpInitiatedSsoEnabled: boolean;
356
+ samlApplicationsLimit: number | null;
357
+ };
294
358
  planId: string;
295
359
  currentPeriodStart: Date;
296
360
  currentPeriodEnd: Date;
361
+ isEnterprisePlan: boolean;
297
362
  id?: string | undefined;
298
363
  upcomingInvoice?: {
299
364
  subtotal: number;
@@ -301,112 +366,112 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
301
366
  total: number;
302
367
  totalExcludingTax: number | null;
303
368
  } | null | undefined;
304
- isAddOnAvailable?: boolean | undefined;
305
- }>;
306
- } & {
307
- "/tenants/my/subscription/quota": import("@withtyped/server").PathGuard<"/my/subscription/quota", unknown, unknown, {
308
- mauLimit: number | null;
309
- tokenLimit: number | null;
310
- applicationsLimit: number | null;
311
- machineToMachineLimit: number | null;
312
- resourcesLimit: number | null;
313
- scopesPerResourceLimit: number | null;
314
- socialConnectorsLimit: number | null;
315
- machineToMachineRolesLimit: number | null;
316
- scopesPerRoleLimit: number | null;
317
- hooksLimit: number | null;
318
- auditLogsRetentionDays: number | null;
319
- mfaEnabled: boolean;
320
- organizationsEnabled: boolean;
321
- thirdPartyApplicationsLimit: number | null;
322
- tenantMembersLimit: number | null;
323
- customJwtEnabled: boolean;
324
- subjectTokenEnabled: boolean;
325
- bringYourUiEnabled: boolean;
326
- userRolesLimit: number | null;
327
- enterpriseSsoLimit: number | null;
328
369
  }>;
329
- } & {
330
- "/tenants/my/subscription/usage": import("@withtyped/server").PathGuard<"/my/subscription/usage", unknown, unknown, {
331
- applicationsLimit: number;
332
- machineToMachineLimit: number;
333
- resourcesLimit: number;
334
- scopesPerResourceLimit: number;
335
- socialConnectorsLimit: number;
336
- machineToMachineRolesLimit: number;
337
- scopesPerRoleLimit: number;
338
- hooksLimit: number;
339
- mfaEnabled: boolean;
340
- organizationsEnabled: boolean;
341
- thirdPartyApplicationsLimit: number;
342
- tenantMembersLimit: number;
343
- customJwtEnabled: boolean;
344
- subjectTokenEnabled: boolean;
345
- bringYourUiEnabled: boolean;
346
- userRolesLimit: number;
347
- enterpriseSsoLimit: number;
348
- }>;
349
- } & {
350
- "/tenants/my/subscription/usage/:entityName/scopes": import("@withtyped/server").PathGuard<"/my/subscription/usage/:entityName/scopes", {
351
- entityId?: string | undefined;
352
- }, unknown, Record<string, number>>;
353
370
  } & {
354
371
  "/tenants/my/subscription-usage": import("@withtyped/server").PathGuard<"/my/subscription-usage", unknown, unknown, {
355
372
  usage: {
356
373
  applicationsLimit: number;
357
- machineToMachineLimit: number;
358
- resourcesLimit: number;
374
+ thirdPartyApplicationsLimit: number;
359
375
  scopesPerResourceLimit: number;
360
376
  socialConnectorsLimit: number;
377
+ userRolesLimit: number;
361
378
  machineToMachineRolesLimit: number;
362
379
  scopesPerRoleLimit: number;
363
380
  hooksLimit: number;
364
- mfaEnabled: boolean;
365
- organizationsEnabled: boolean;
366
- thirdPartyApplicationsLimit: number;
367
- tenantMembersLimit: number;
368
381
  customJwtEnabled: boolean;
369
382
  subjectTokenEnabled: boolean;
370
383
  bringYourUiEnabled: boolean;
371
- userRolesLimit: number;
384
+ collectUserProfileEnabled: boolean;
385
+ machineToMachineLimit: number;
386
+ resourcesLimit: number;
372
387
  enterpriseSsoLimit: number;
388
+ tenantMembersLimit: number;
389
+ mfaEnabled: boolean;
390
+ organizationsEnabled: boolean;
391
+ organizationsLimit: number;
392
+ securityFeaturesEnabled: boolean;
393
+ idpInitiatedSsoEnabled: boolean;
394
+ samlApplicationsLimit: number;
373
395
  };
374
396
  resources: Record<string, number>;
375
397
  roles: Record<string, number>;
376
398
  quota: {
399
+ auditLogsRetentionDays: number | null;
377
400
  mauLimit: number | null;
378
- tokenLimit: number | null;
379
401
  applicationsLimit: number | null;
380
- machineToMachineLimit: number | null;
381
- resourcesLimit: number | null;
402
+ thirdPartyApplicationsLimit: number | null;
382
403
  scopesPerResourceLimit: number | null;
383
404
  socialConnectorsLimit: number | null;
405
+ userRolesLimit: number | null;
384
406
  machineToMachineRolesLimit: number | null;
385
407
  scopesPerRoleLimit: number | null;
386
408
  hooksLimit: number | null;
387
- auditLogsRetentionDays: number | null;
409
+ customJwtEnabled: boolean;
410
+ subjectTokenEnabled: boolean;
411
+ bringYourUiEnabled: boolean;
412
+ collectUserProfileEnabled: boolean;
413
+ tokenLimit: number | null;
414
+ machineToMachineLimit: number | null;
415
+ resourcesLimit: number | null;
416
+ enterpriseSsoLimit: number | null;
417
+ tenantMembersLimit: number | null;
388
418
  mfaEnabled: boolean;
389
419
  organizationsEnabled: boolean;
420
+ organizationsLimit: number | null;
421
+ securityFeaturesEnabled: boolean;
422
+ idpInitiatedSsoEnabled: boolean;
423
+ samlApplicationsLimit: number | null;
424
+ };
425
+ basicQuota: {
426
+ auditLogsRetentionDays: number | null;
427
+ mauLimit: number | null;
428
+ applicationsLimit: number | null;
390
429
  thirdPartyApplicationsLimit: number | null;
391
- tenantMembersLimit: number | null;
430
+ scopesPerResourceLimit: number | null;
431
+ socialConnectorsLimit: number | null;
432
+ userRolesLimit: number | null;
433
+ machineToMachineRolesLimit: number | null;
434
+ scopesPerRoleLimit: number | null;
435
+ hooksLimit: number | null;
392
436
  customJwtEnabled: boolean;
393
437
  subjectTokenEnabled: boolean;
394
438
  bringYourUiEnabled: boolean;
395
- userRolesLimit: number | null;
439
+ collectUserProfileEnabled: boolean;
440
+ tokenLimit: number | null;
441
+ machineToMachineLimit: number | null;
442
+ resourcesLimit: number | null;
396
443
  enterpriseSsoLimit: number | null;
444
+ tenantMembersLimit: number | null;
445
+ mfaEnabled: boolean;
446
+ organizationsEnabled: boolean;
447
+ organizationsLimit: number | null;
448
+ securityFeaturesEnabled: boolean;
449
+ idpInitiatedSsoEnabled: boolean;
450
+ samlApplicationsLimit: number | null;
397
451
  };
398
452
  }>;
399
- } & {
400
- "/tenants/my/subscription/periodic-usage": import("@withtyped/server").PathGuard<"/my/subscription/periodic-usage", unknown, unknown, {
401
- mauLimit: number;
402
- tokenLimit: number;
453
+ };
454
+ post: {
455
+ "/tenants/my/subscription/item-updates": import("@withtyped/server").PathGuard<"/my/subscription/item-updates", unknown, {
456
+ usageKey: RealtimeReportableUsageKey;
457
+ }, {
458
+ message: string;
403
459
  }>;
404
- } & {
460
+ };
461
+ put: {};
462
+ delete: {};
463
+ copy: {};
464
+ head: {};
465
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
466
+ patch: {};
467
+ options: {};
468
+ get: {
405
469
  "/tenants/:tenantId/subscription": import("@withtyped/server").PathGuard<"/:tenantId/subscription", unknown, unknown, {
406
470
  status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
407
471
  planId: string;
408
472
  currentPeriodStart: Date;
409
473
  currentPeriodEnd: Date;
474
+ isEnterprisePlan: boolean;
410
475
  id?: string | undefined;
411
476
  upcomingInvoice?: {
412
477
  subtotal: number;
@@ -414,99 +479,88 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
414
479
  total: number;
415
480
  totalExcludingTax: number | null;
416
481
  } | null | undefined;
417
- isAddOnAvailable?: boolean | undefined;
418
- }>;
419
- } & {
420
- "/tenants/:tenantId/subscription/quota": import("@withtyped/server").PathGuard<"/:tenantId/subscription/quota", unknown, unknown, {
421
- mauLimit: number | null;
422
- tokenLimit: number | null;
423
- applicationsLimit: number | null;
424
- machineToMachineLimit: number | null;
425
- resourcesLimit: number | null;
426
- scopesPerResourceLimit: number | null;
427
- socialConnectorsLimit: number | null;
428
- machineToMachineRolesLimit: number | null;
429
- scopesPerRoleLimit: number | null;
430
- hooksLimit: number | null;
431
- auditLogsRetentionDays: number | null;
432
- mfaEnabled: boolean;
433
- organizationsEnabled: boolean;
434
- thirdPartyApplicationsLimit: number | null;
435
- tenantMembersLimit: number | null;
436
- customJwtEnabled: boolean;
437
- subjectTokenEnabled: boolean;
438
- bringYourUiEnabled: boolean;
439
- userRolesLimit: number | null;
440
- enterpriseSsoLimit: number | null;
441
482
  }>;
442
- } & {
443
- "/tenants/:tenantId/subscription/usage": import("@withtyped/server").PathGuard<"/:tenantId/subscription/usage", unknown, unknown, {
444
- applicationsLimit: number;
445
- machineToMachineLimit: number;
446
- resourcesLimit: number;
447
- scopesPerResourceLimit: number;
448
- socialConnectorsLimit: number;
449
- machineToMachineRolesLimit: number;
450
- scopesPerRoleLimit: number;
451
- hooksLimit: number;
452
- mfaEnabled: boolean;
453
- organizationsEnabled: boolean;
454
- thirdPartyApplicationsLimit: number;
455
- tenantMembersLimit: number;
456
- customJwtEnabled: boolean;
457
- subjectTokenEnabled: boolean;
458
- bringYourUiEnabled: boolean;
459
- userRolesLimit: number;
460
- enterpriseSsoLimit: number;
461
- }>;
462
- } & {
463
- "/tenants/:tenantId/subscription/usage/:entityName/scopes": import("@withtyped/server").PathGuard<"/:tenantId/subscription/usage/:entityName/scopes", {
464
- entityId?: string | undefined;
465
- }, unknown, Record<string, number>>;
466
483
  } & {
467
484
  "/tenants/:tenantId/subscription-usage": import("@withtyped/server").PathGuard<"/:tenantId/subscription-usage", unknown, unknown, {
468
485
  usage: {
469
486
  applicationsLimit: number;
470
- machineToMachineLimit: number;
471
- resourcesLimit: number;
487
+ thirdPartyApplicationsLimit: number;
472
488
  scopesPerResourceLimit: number;
473
489
  socialConnectorsLimit: number;
490
+ userRolesLimit: number;
474
491
  machineToMachineRolesLimit: number;
475
492
  scopesPerRoleLimit: number;
476
493
  hooksLimit: number;
477
- mfaEnabled: boolean;
478
- organizationsEnabled: boolean;
479
- thirdPartyApplicationsLimit: number;
480
- tenantMembersLimit: number;
481
494
  customJwtEnabled: boolean;
482
495
  subjectTokenEnabled: boolean;
483
496
  bringYourUiEnabled: boolean;
484
- userRolesLimit: number;
497
+ collectUserProfileEnabled: boolean;
498
+ machineToMachineLimit: number;
499
+ resourcesLimit: number;
485
500
  enterpriseSsoLimit: number;
501
+ tenantMembersLimit: number;
502
+ mfaEnabled: boolean;
503
+ organizationsEnabled: boolean;
504
+ organizationsLimit: number;
505
+ securityFeaturesEnabled: boolean;
506
+ idpInitiatedSsoEnabled: boolean;
507
+ samlApplicationsLimit: number;
486
508
  };
487
509
  resources: Record<string, number>;
488
510
  roles: Record<string, number>;
489
511
  quota: {
512
+ auditLogsRetentionDays: number | null;
490
513
  mauLimit: number | null;
491
- tokenLimit: number | null;
492
514
  applicationsLimit: number | null;
493
- machineToMachineLimit: number | null;
494
- resourcesLimit: number | null;
515
+ thirdPartyApplicationsLimit: number | null;
495
516
  scopesPerResourceLimit: number | null;
496
517
  socialConnectorsLimit: number | null;
518
+ userRolesLimit: number | null;
497
519
  machineToMachineRolesLimit: number | null;
498
520
  scopesPerRoleLimit: number | null;
499
521
  hooksLimit: number | null;
500
- auditLogsRetentionDays: number | null;
522
+ customJwtEnabled: boolean;
523
+ subjectTokenEnabled: boolean;
524
+ bringYourUiEnabled: boolean;
525
+ collectUserProfileEnabled: boolean;
526
+ tokenLimit: number | null;
527
+ machineToMachineLimit: number | null;
528
+ resourcesLimit: number | null;
529
+ enterpriseSsoLimit: number | null;
530
+ tenantMembersLimit: number | null;
501
531
  mfaEnabled: boolean;
502
532
  organizationsEnabled: boolean;
533
+ organizationsLimit: number | null;
534
+ securityFeaturesEnabled: boolean;
535
+ idpInitiatedSsoEnabled: boolean;
536
+ samlApplicationsLimit: number | null;
537
+ };
538
+ basicQuota: {
539
+ auditLogsRetentionDays: number | null;
540
+ mauLimit: number | null;
541
+ applicationsLimit: number | null;
503
542
  thirdPartyApplicationsLimit: number | null;
504
- tenantMembersLimit: number | null;
543
+ scopesPerResourceLimit: number | null;
544
+ socialConnectorsLimit: number | null;
545
+ userRolesLimit: number | null;
546
+ machineToMachineRolesLimit: number | null;
547
+ scopesPerRoleLimit: number | null;
548
+ hooksLimit: number | null;
505
549
  customJwtEnabled: boolean;
506
550
  subjectTokenEnabled: boolean;
507
551
  bringYourUiEnabled: boolean;
508
- userRolesLimit: number | null;
552
+ collectUserProfileEnabled: boolean;
553
+ tokenLimit: number | null;
554
+ machineToMachineLimit: number | null;
555
+ resourcesLimit: number | null;
509
556
  enterpriseSsoLimit: number | null;
557
+ tenantMembersLimit: number | null;
558
+ mfaEnabled: boolean;
559
+ organizationsEnabled: boolean;
560
+ organizationsLimit: number | null;
561
+ securityFeaturesEnabled: boolean;
562
+ idpInitiatedSsoEnabled: boolean;
563
+ samlApplicationsLimit: number | null;
510
564
  };
511
565
  }>;
512
566
  } & {
@@ -514,12 +568,51 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
514
568
  mauLimit: number;
515
569
  tokenLimit: number;
516
570
  }>;
571
+ } & {
572
+ "/tenants/:tenantId/subscription/add-on-skus": import("@withtyped/server").PathGuard<"/:tenantId/subscription/add-on-skus", unknown, unknown, Partial<Record<"tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit", {
573
+ id: string;
574
+ name: string | null;
575
+ createdAt: Date;
576
+ defaultPriceId: string | null;
577
+ unitPrice: number | null;
578
+ type: LogtoSkuType;
579
+ quota: {
580
+ auditLogsRetentionDays?: number | null | undefined;
581
+ mauLimit?: number | null | undefined;
582
+ applicationsLimit?: number | null | undefined;
583
+ thirdPartyApplicationsLimit?: number | null | undefined;
584
+ scopesPerResourceLimit?: number | null | undefined;
585
+ socialConnectorsLimit?: number | null | undefined;
586
+ userRolesLimit?: number | null | undefined;
587
+ machineToMachineRolesLimit?: number | null | undefined;
588
+ scopesPerRoleLimit?: number | null | undefined;
589
+ hooksLimit?: number | null | undefined;
590
+ customJwtEnabled?: boolean | undefined;
591
+ subjectTokenEnabled?: boolean | undefined;
592
+ bringYourUiEnabled?: boolean | undefined;
593
+ collectUserProfileEnabled?: boolean | undefined;
594
+ tokenLimit?: number | null | undefined;
595
+ machineToMachineLimit?: number | null | undefined;
596
+ resourcesLimit?: number | null | undefined;
597
+ enterpriseSsoLimit?: number | null | undefined;
598
+ tenantMembersLimit?: number | null | undefined;
599
+ mfaEnabled?: boolean | undefined;
600
+ organizationsEnabled?: boolean | undefined;
601
+ organizationsLimit?: number | null | undefined;
602
+ securityFeaturesEnabled?: boolean | undefined;
603
+ idpInitiatedSsoEnabled?: boolean | undefined;
604
+ samlApplicationsLimit?: number | null | undefined;
605
+ };
606
+ isDefault: boolean;
607
+ updatedAt: Date;
608
+ productId: string | null;
609
+ }>>>;
517
610
  } & {
518
611
  "/tenants/:tenantId/invoices": import("@withtyped/server").PathGuard<"/:tenantId/invoices", unknown, unknown, {
519
612
  invoices: {
520
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
521
613
  id: string;
522
614
  createdAt: Date;
615
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
523
616
  updatedAt: Date;
524
617
  customerId: string | null;
525
618
  billingReason: string | null;
@@ -527,6 +620,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
527
620
  periodEnd: Date;
528
621
  amountDue: number;
529
622
  amountPaid: number;
623
+ basicSkuId: string | null;
530
624
  subscriptionId: string | null;
531
625
  hostedInvoiceUrl: string | null;
532
626
  invoicePdf: string | null;
@@ -534,18 +628,53 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
534
628
  skuId?: string | null | undefined;
535
629
  }[];
536
630
  }>;
631
+ } & {
632
+ "/tenants/:tenantId/available-skus": import("@withtyped/server").PathGuard<"/:tenantId/available-skus", {
633
+ type?: LogtoSkuType | undefined;
634
+ }, unknown, {
635
+ id: string;
636
+ name: string | null;
637
+ createdAt: Date;
638
+ defaultPriceId: string | null;
639
+ unitPrice: number | null;
640
+ type: LogtoSkuType;
641
+ quota: {
642
+ auditLogsRetentionDays?: number | null | undefined;
643
+ mauLimit?: number | null | undefined;
644
+ applicationsLimit?: number | null | undefined;
645
+ thirdPartyApplicationsLimit?: number | null | undefined;
646
+ scopesPerResourceLimit?: number | null | undefined;
647
+ socialConnectorsLimit?: number | null | undefined;
648
+ userRolesLimit?: number | null | undefined;
649
+ machineToMachineRolesLimit?: number | null | undefined;
650
+ scopesPerRoleLimit?: number | null | undefined;
651
+ hooksLimit?: number | null | undefined;
652
+ customJwtEnabled?: boolean | undefined;
653
+ subjectTokenEnabled?: boolean | undefined;
654
+ bringYourUiEnabled?: boolean | undefined;
655
+ collectUserProfileEnabled?: boolean | undefined;
656
+ tokenLimit?: number | null | undefined;
657
+ machineToMachineLimit?: number | null | undefined;
658
+ resourcesLimit?: number | null | undefined;
659
+ enterpriseSsoLimit?: number | null | undefined;
660
+ tenantMembersLimit?: number | null | undefined;
661
+ mfaEnabled?: boolean | undefined;
662
+ organizationsEnabled?: boolean | undefined;
663
+ organizationsLimit?: number | null | undefined;
664
+ securityFeaturesEnabled?: boolean | undefined;
665
+ idpInitiatedSsoEnabled?: boolean | undefined;
666
+ samlApplicationsLimit?: number | null | undefined;
667
+ };
668
+ isDefault: boolean;
669
+ updatedAt: Date;
670
+ productId: string | null;
671
+ }[]>;
537
672
  } & {
538
673
  "/tenants/:tenantId/invoices/:invoiceId/hosted-invoice-url": import("@withtyped/server").PathGuard<"/:tenantId/invoices/:invoiceId/hosted-invoice-url", unknown, unknown, {
539
674
  hostedInvoiceUrl: string;
540
675
  }>;
541
676
  };
542
677
  post: {
543
- "/tenants/my/subscription/item-updates": import("@withtyped/server").PathGuard<"/my/subscription/item-updates", unknown, {
544
- usageKey: RealtimeReportableUsageKey;
545
- }, {
546
- message: string;
547
- }>;
548
- } & {
549
678
  "/tenants/:tenantId/stripe-customer-portal": import("@withtyped/server").PathGuard<"/:tenantId/stripe-customer-portal", unknown, {
550
679
  callbackUrl?: string | undefined;
551
680
  }, {
@@ -571,11 +700,14 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
571
700
  post: {
572
701
  "/services/mails": import("@withtyped/server").PathGuard<"/mails", unknown, {
573
702
  data: {
574
- type: TemplateType | VerificationCodeType;
703
+ type: TemplateType;
575
704
  payload: {
576
- code?: string | undefined;
577
705
  link?: string | undefined;
578
- } & Record<string, string> & {
706
+ code?: string | undefined;
707
+ locale?: string | undefined;
708
+ } & {
709
+ [k: string]: unknown;
710
+ } & {
579
711
  senderName?: string | undefined;
580
712
  companyInformation?: string | undefined;
581
713
  appLogo?: string | undefined;
@@ -586,27 +718,30 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
586
718
  } & {
587
719
  "/services/send-sms": import("@withtyped/server").PathGuard<"/send-sms", unknown, {
588
720
  data: {
589
- type: TemplateType | VerificationCodeType;
721
+ type: TemplateType;
590
722
  to: string;
591
723
  payload: {
592
724
  code?: string | undefined;
593
725
  link?: string | undefined;
594
- } & Record<string, string>;
726
+ locale?: string | undefined;
727
+ } & {
728
+ [k: string]: unknown;
729
+ };
595
730
  };
596
731
  }, unknown>;
597
732
  } & {
598
733
  "/services/custom-jwt": import("@withtyped/server").PathGuard<"/custom-jwt", {
599
734
  isTest?: string | undefined;
600
735
  }, {
736
+ token: Record<string, Json>;
601
737
  context: Record<string, Json>;
602
- script: string;
603
738
  tokenType: LogtoJwtTokenKeyType.AccessToken;
604
- token: Record<string, Json>;
739
+ script: string;
605
740
  environmentVariables?: Record<string, string> | undefined;
606
741
  } | {
607
- script: string;
608
- tokenType: LogtoJwtTokenKeyType.ClientCredentials;
609
742
  token: Record<string, Json>;
743
+ tokenType: LogtoJwtTokenKeyType.ClientCredentials;
744
+ script: string;
610
745
  environmentVariables?: Record<string, string> | undefined;
611
746
  }, Record<string, unknown>>;
612
747
  };
@@ -631,96 +766,178 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
631
766
  patch: {};
632
767
  options: {};
633
768
  get: {
634
- "/subscription-plans": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
769
+ "/skus": import("@withtyped/server").PathGuard<"/", {
770
+ type?: LogtoSkuType | undefined;
771
+ }, unknown, {
635
772
  id: string;
773
+ name: string | null;
636
774
  createdAt: Date;
637
- name: string;
775
+ defaultPriceId: string | null;
776
+ unitPrice: number | null;
777
+ type: LogtoSkuType;
778
+ quota: {
779
+ auditLogsRetentionDays?: number | null | undefined;
780
+ mauLimit?: number | null | undefined;
781
+ applicationsLimit?: number | null | undefined;
782
+ thirdPartyApplicationsLimit?: number | null | undefined;
783
+ scopesPerResourceLimit?: number | null | undefined;
784
+ socialConnectorsLimit?: number | null | undefined;
785
+ userRolesLimit?: number | null | undefined;
786
+ machineToMachineRolesLimit?: number | null | undefined;
787
+ scopesPerRoleLimit?: number | null | undefined;
788
+ hooksLimit?: number | null | undefined;
789
+ customJwtEnabled?: boolean | undefined;
790
+ subjectTokenEnabled?: boolean | undefined;
791
+ bringYourUiEnabled?: boolean | undefined;
792
+ collectUserProfileEnabled?: boolean | undefined;
793
+ tokenLimit?: number | null | undefined;
794
+ machineToMachineLimit?: number | null | undefined;
795
+ resourcesLimit?: number | null | undefined;
796
+ enterpriseSsoLimit?: number | null | undefined;
797
+ tenantMembersLimit?: number | null | undefined;
798
+ mfaEnabled?: boolean | undefined;
799
+ organizationsEnabled?: boolean | undefined;
800
+ organizationsLimit?: number | null | undefined;
801
+ securityFeaturesEnabled?: boolean | undefined;
802
+ idpInitiatedSsoEnabled?: boolean | undefined;
803
+ samlApplicationsLimit?: number | null | undefined;
804
+ };
805
+ isDefault: boolean;
638
806
  updatedAt: Date;
807
+ productId: string | null;
808
+ }[]>;
809
+ };
810
+ post: {
811
+ "/skus": import("@withtyped/server").PathGuard<"/", unknown, {
812
+ type: LogtoSkuType.AddOn;
639
813
  quota: {
814
+ tokenLimit?: number | null | undefined;
815
+ machineToMachineLimit?: number | null | undefined;
816
+ resourcesLimit?: number | null | undefined;
817
+ enterpriseSsoLimit?: number | null | undefined;
818
+ hooksLimit?: number | null | undefined;
819
+ tenantMembersLimit?: number | null | undefined;
820
+ mfaEnabled?: boolean | undefined;
821
+ organizationsEnabled?: boolean | undefined;
822
+ organizationsLimit?: number | null | undefined;
823
+ securityFeaturesEnabled?: boolean | undefined;
824
+ userRolesLimit?: number | null | undefined;
825
+ machineToMachineRolesLimit?: number | null | undefined;
826
+ thirdPartyApplicationsLimit?: number | null | undefined;
827
+ samlApplicationsLimit?: number | null | undefined;
828
+ auditLogsRetentionDays?: number | null | undefined;
829
+ mauLimit?: number | null | undefined;
830
+ applicationsLimit?: number | null | undefined;
831
+ scopesPerResourceLimit?: number | null | undefined;
832
+ socialConnectorsLimit?: number | null | undefined;
833
+ scopesPerRoleLimit?: number | null | undefined;
834
+ customJwtEnabled?: boolean | undefined;
835
+ subjectTokenEnabled?: boolean | undefined;
836
+ bringYourUiEnabled?: boolean | undefined;
837
+ collectUserProfileEnabled?: boolean | undefined;
838
+ idpInitiatedSsoEnabled?: boolean | undefined;
839
+ };
840
+ isDefault?: boolean | undefined;
841
+ } | {
842
+ type: LogtoSkuType.Basic;
843
+ quota: {
844
+ auditLogsRetentionDays: number | null;
640
845
  mauLimit: number | null;
641
- tokenLimit: number | null;
642
846
  applicationsLimit: number | null;
643
- machineToMachineLimit: number | null;
644
- resourcesLimit: number | null;
847
+ thirdPartyApplicationsLimit: number | null;
645
848
  scopesPerResourceLimit: number | null;
646
- customDomainEnabled: boolean;
647
- omniSignInEnabled: boolean;
648
- builtInEmailConnectorEnabled: boolean;
649
849
  socialConnectorsLimit: number | null;
650
- standardConnectorsLimit: number | null;
651
- rolesLimit: number | null;
850
+ userRolesLimit: number | null;
652
851
  machineToMachineRolesLimit: number | null;
653
852
  scopesPerRoleLimit: number | null;
654
853
  hooksLimit: number | null;
655
- auditLogsRetentionDays: number | null;
656
- mfaEnabled: boolean;
657
- organizationsEnabled: boolean;
658
- ssoEnabled: boolean;
659
- thirdPartyApplicationsLimit: number | null;
660
- tenantMembersLimit: number | null;
661
854
  customJwtEnabled: boolean;
662
855
  subjectTokenEnabled: boolean;
663
856
  bringYourUiEnabled: boolean;
857
+ collectUserProfileEnabled: boolean;
858
+ tokenLimit: number | null;
859
+ machineToMachineLimit: number | null;
860
+ resourcesLimit: number | null;
861
+ enterpriseSsoLimit: number | null;
862
+ tenantMembersLimit: number | null;
863
+ mfaEnabled: boolean;
864
+ organizationsEnabled: boolean;
865
+ organizationsLimit: number | null;
866
+ securityFeaturesEnabled: boolean;
867
+ idpInitiatedSsoEnabled: boolean;
868
+ samlApplicationsLimit: number | null;
664
869
  };
665
- stripeProducts: {
666
- type: "flat" | "tier1" | "tier2" | "tier3";
667
- id: string;
668
- name: string;
669
- price: {
670
- id: string;
671
- unitAmountDecimal: string;
672
- quantity?: 1 | undefined;
673
- unitAmount?: number | null | undefined;
674
- };
675
- description?: string | undefined;
676
- }[];
677
- }[]>;
678
- };
679
- post: {};
680
- put: {};
681
- delete: {};
682
- copy: {};
683
- head: {};
684
- }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
685
- patch: {};
686
- options: {};
687
- get: {
688
- "/skus": import("@withtyped/server").PathGuard<"/", {
689
- type?: LogtoSkuType | undefined;
690
- }, unknown, {
691
- type: LogtoSkuType;
870
+ addOnRelations: {
871
+ tokenLimit?: string | undefined;
872
+ machineToMachineLimit?: string | undefined;
873
+ resourcesLimit?: string | undefined;
874
+ enterpriseSsoLimit?: string | undefined;
875
+ tenantMembersLimit?: string | undefined;
876
+ mfaEnabled?: string | undefined;
877
+ organizationsLimit?: string | undefined;
878
+ securityFeaturesEnabled?: string | undefined;
879
+ };
880
+ isDefault?: boolean | undefined;
881
+ }, {
692
882
  id: string;
693
- name: string | null;
883
+ createdAt: Date;
884
+ type: LogtoSkuType;
885
+ isDefault: boolean;
886
+ updatedAt: Date;
694
887
  quota: {
888
+ auditLogsRetentionDays?: number | null | undefined;
695
889
  mauLimit?: number | null | undefined;
696
- tokenLimit?: number | null | undefined;
697
890
  applicationsLimit?: number | null | undefined;
698
- machineToMachineLimit?: number | null | undefined;
699
- resourcesLimit?: number | null | undefined;
891
+ thirdPartyApplicationsLimit?: number | null | undefined;
700
892
  scopesPerResourceLimit?: number | null | undefined;
701
893
  socialConnectorsLimit?: number | null | undefined;
894
+ userRolesLimit?: number | null | undefined;
702
895
  machineToMachineRolesLimit?: number | null | undefined;
703
896
  scopesPerRoleLimit?: number | null | undefined;
704
897
  hooksLimit?: number | null | undefined;
705
- auditLogsRetentionDays?: number | null | undefined;
706
- mfaEnabled?: boolean | undefined;
707
- organizationsEnabled?: boolean | undefined;
708
- thirdPartyApplicationsLimit?: number | null | undefined;
709
- tenantMembersLimit?: number | null | undefined;
710
898
  customJwtEnabled?: boolean | undefined;
711
899
  subjectTokenEnabled?: boolean | undefined;
712
900
  bringYourUiEnabled?: boolean | undefined;
713
- userRolesLimit?: number | null | undefined;
901
+ collectUserProfileEnabled?: boolean | undefined;
902
+ tokenLimit?: number | null | undefined;
903
+ machineToMachineLimit?: number | null | undefined;
904
+ resourcesLimit?: number | null | undefined;
714
905
  enterpriseSsoLimit?: number | null | undefined;
906
+ tenantMembersLimit?: number | null | undefined;
907
+ mfaEnabled?: boolean | undefined;
908
+ organizationsEnabled?: boolean | undefined;
909
+ organizationsLimit?: number | null | undefined;
910
+ securityFeaturesEnabled?: boolean | undefined;
911
+ idpInitiatedSsoEnabled?: boolean | undefined;
912
+ samlApplicationsLimit?: number | null | undefined;
715
913
  };
716
- createdAt: Date;
717
- updatedAt: Date;
718
- unitPrice: number | null;
719
- }[]>;
914
+ }>;
915
+ } & {
916
+ "/skus/:skuId/products": import("@withtyped/server").PathGuard<"/:skuId/products", {
917
+ isOneTime?: string | undefined;
918
+ }, {
919
+ name: string;
920
+ unitPrice: number;
921
+ }, {
922
+ productId: string;
923
+ }>;
924
+ } & {
925
+ "/skus/basic-sku-usage-add-on-relations": import("@withtyped/server").PathGuard<"/basic-sku-usage-add-on-relations", unknown, {
926
+ basicSkuId: string;
927
+ usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit";
928
+ addOnSkuId: string;
929
+ }, {
930
+ basicSkuId: string;
931
+ usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit";
932
+ addOnSkuId: string;
933
+ }>;
720
934
  };
721
- post: {};
722
935
  put: {};
723
- delete: {};
936
+ delete: {
937
+ "/skus/:skuId": import("@withtyped/server").PathGuard<"/:skuId", unknown, unknown, unknown>;
938
+ } & {
939
+ "/skus/basic-sku-usage-add-on-relations/:basicSkuId/:usageKey": import("@withtyped/server").PathGuard<"/basic-sku-usage-add-on-relations/:basicSkuId/:usageKey", unknown, unknown, unknown>;
940
+ };
724
941
  copy: {};
725
942
  head: {};
726
943
  }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
@@ -734,19 +951,18 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
734
951
  status: "open" | "complete" | "expired";
735
952
  tenantId: string | null;
736
953
  updatedAt: Date;
737
- planId: string;
738
954
  skuId: string | null;
955
+ planId: string | null;
739
956
  }>;
740
957
  };
741
958
  post: {
742
959
  "/checkout-session": import("@withtyped/server").PathGuard<"/", unknown, {
743
- planId: string;
744
960
  successCallbackUrl: string;
745
961
  tenantId?: string | undefined;
746
962
  skuId?: string | undefined;
747
963
  tenantName?: string | undefined;
748
964
  tenantTag?: TenantTag | undefined;
749
- tenantRegionName?: RegionName | undefined;
965
+ tenantRegionName?: string | undefined;
750
966
  cancelCallbackUrl?: string | undefined;
751
967
  }, {
752
968
  sessionId: string;
@@ -864,7 +1080,17 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
864
1080
  }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
865
1081
  patch: {};
866
1082
  options: {};
867
- get: {};
1083
+ get: {
1084
+ "/me/regions": import("@withtyped/server").PathGuard<"/regions", unknown, unknown, {
1085
+ regions: {
1086
+ id: string;
1087
+ name: string;
1088
+ country: string;
1089
+ isPrivate: boolean;
1090
+ tags: TenantTag[];
1091
+ }[];
1092
+ }>;
1093
+ };
868
1094
  post: {};
869
1095
  put: {};
870
1096
  delete: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logto/cloud",
3
- "version": "0.2.5-582d792",
3
+ "version": "0.2.5-590fbce",
4
4
  "description": "Logto Cloud service.",
5
5
  "main": "build/index.js",
6
6
  "author": "Silverhand Inc. <contact@silverhand.io>",
@@ -21,7 +21,7 @@
21
21
  "@types/accepts": "^1.3.5",
22
22
  "@types/http-proxy": "^1.17.9",
23
23
  "@types/mime-types": "^2.1.1",
24
- "@types/node": "^20.0.0",
24
+ "@types/node": "^22.14.0",
25
25
  "@types/yargs": "^17.0.24",
26
26
  "dts-bundle-generator": "^9.3.1",
27
27
  "eslint": "^8.57.0",
@@ -29,11 +29,11 @@
29
29
  "nodemon": "^3.0.0",
30
30
  "prettier": "^3.0.0",
31
31
  "typescript": "^5.3.3",
32
- "vite-tsconfig-paths": "^4.3.1",
33
- "vitest": "^2.0.0"
32
+ "vite-tsconfig-paths": "^5.0.0",
33
+ "vitest": "^3.1.1"
34
34
  },
35
35
  "engines": {
36
- "node": "^20.9.0"
36
+ "node": "^22.14.0"
37
37
  },
38
38
  "eslintConfig": {
39
39
  "extends": "@silverhand",
@@ -49,7 +49,7 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "@silverhand/essentials": "^2.9.1",
52
+ "@silverhand/essentials": "^2.9.2",
53
53
  "@withtyped/server": "^0.14.0"
54
54
  },
55
55
  "scripts": {
@@ -63,6 +63,7 @@
63
63
  "start": "NODE_ENV=production node .",
64
64
  "test": "vitest && pnpm build:lib && pnpm test:types",
65
65
  "test:types": "tsc -p tsconfig.test.types.json",
66
+ "test:only": "vitest",
66
67
  "cli": "node ./build/cli/index.js"
67
68
  }
68
69
  }