@logto/cloud 0.2.5-e14156b → 0.2.5-e38aeec

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 +476 -243
  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,10 +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 enum LogtoSkuType {
73
- Basic = "Basic",
74
- AddOn = "AddOn"
75
- }
76
84
  declare const AffiliateProperties: import("@withtyped/server/lib/model/index.js").default<"affiliate_properties", {
77
85
  createdAt: Date;
78
86
  affiliateId: string;
@@ -86,10 +94,43 @@ declare const Affiliates: import("@withtyped/server/lib/model/index.js").default
86
94
  id: string;
87
95
  }, "id" | "createdAt", "id" | "createdAt">;
88
96
  export type Affiliate = InferModelType<typeof Affiliates>;
89
- declare enum RegionName {
90
- EU = "EU",
91
- US = "US"
92
- }
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
+ export type WithAuthContext<Context = RequestContext> = Context & {
127
+ auth: {
128
+ /** The ID of the authenticated subject (`sub`). */
129
+ id: string;
130
+ /** The scopes that the subject has (`scope`). */
131
+ scopes: string[];
132
+ };
133
+ };
93
134
  export type AffiliateData = Affiliate & {
94
135
  properties: Array<Pick<AffiliateProperty, "type" | "value">>;
95
136
  };
@@ -119,11 +160,11 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
119
160
  }, {
120
161
  id: string;
121
162
  name: string;
163
+ createdAt: Date;
122
164
  quota: {
123
165
  mauLimit: number | null;
124
166
  tokenLimit: number | null;
125
167
  };
126
- createdAt: Date;
127
168
  usage: {
128
169
  activeUsers: number;
129
170
  tokenUsage: number;
@@ -136,6 +177,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
136
177
  planId: string;
137
178
  currentPeriodStart: Date;
138
179
  currentPeriodEnd: Date;
180
+ isEnterprisePlan: boolean;
139
181
  id?: string | undefined;
140
182
  upcomingInvoice?: {
141
183
  subtotal: number;
@@ -143,14 +185,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
143
185
  total: number;
144
186
  totalExcludingTax: number | null;
145
187
  } | null | undefined;
146
- isAddOnAvailable?: boolean | undefined;
147
188
  };
148
- regionName: RegionName;
189
+ regionName: string;
149
190
  tag: TenantTag;
150
191
  openInvoices: {
151
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
152
192
  id: string;
153
193
  createdAt: Date;
194
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
154
195
  updatedAt: Date;
155
196
  customerId: string | null;
156
197
  billingReason: string | null;
@@ -158,6 +199,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
158
199
  periodEnd: Date;
159
200
  amountDue: number;
160
201
  amountPaid: number;
202
+ basicSkuId: string | null;
161
203
  subscriptionId: string | null;
162
204
  hostedInvoiceUrl: string | null;
163
205
  invoicePdf: string | null;
@@ -169,11 +211,11 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
169
211
  "/tenants": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
170
212
  id: string;
171
213
  name: string;
214
+ createdAt: Date;
172
215
  quota: {
173
216
  mauLimit: number | null;
174
217
  tokenLimit: number | null;
175
218
  };
176
- createdAt: Date;
177
219
  usage: {
178
220
  activeUsers: number;
179
221
  tokenUsage: number;
@@ -186,6 +228,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
186
228
  planId: string;
187
229
  currentPeriodStart: Date;
188
230
  currentPeriodEnd: Date;
231
+ isEnterprisePlan: boolean;
189
232
  id?: string | undefined;
190
233
  upcomingInvoice?: {
191
234
  subtotal: number;
@@ -193,14 +236,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
193
236
  total: number;
194
237
  totalExcludingTax: number | null;
195
238
  } | null | undefined;
196
- isAddOnAvailable?: boolean | undefined;
197
239
  };
198
- regionName: RegionName;
240
+ regionName: string;
199
241
  tag: TenantTag;
200
242
  openInvoices: {
201
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
202
243
  id: string;
203
244
  createdAt: Date;
245
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
204
246
  updatedAt: Date;
205
247
  customerId: string | null;
206
248
  billingReason: string | null;
@@ -208,6 +250,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
208
250
  periodEnd: Date;
209
251
  amountDue: number;
210
252
  amountPaid: number;
253
+ basicSkuId: string | null;
211
254
  subscriptionId: string | null;
212
255
  hostedInvoiceUrl: string | null;
213
256
  invoicePdf: string | null;
@@ -216,17 +259,18 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
216
259
  };
217
260
  post: {
218
261
  "/tenants": import("@withtyped/server").PathGuard<"/", unknown, {
262
+ id?: string | undefined;
219
263
  name?: string | undefined;
220
264
  tag?: TenantTag | undefined;
221
- regionName?: RegionName | undefined;
265
+ regionName?: string | undefined;
222
266
  }, {
223
267
  id: string;
224
268
  name: string;
269
+ createdAt: Date;
225
270
  quota: {
226
271
  mauLimit: number | null;
227
272
  tokenLimit: number | null;
228
273
  };
229
- createdAt: Date;
230
274
  usage: {
231
275
  activeUsers: number;
232
276
  tokenUsage: number;
@@ -239,6 +283,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
239
283
  planId: string;
240
284
  currentPeriodStart: Date;
241
285
  currentPeriodEnd: Date;
286
+ isEnterprisePlan: boolean;
242
287
  id?: string | undefined;
243
288
  upcomingInvoice?: {
244
289
  subtotal: number;
@@ -246,14 +291,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
246
291
  total: number;
247
292
  totalExcludingTax: number | null;
248
293
  } | null | undefined;
249
- isAddOnAvailable?: boolean | undefined;
250
294
  };
251
- regionName: RegionName;
295
+ regionName: string;
252
296
  tag: TenantTag;
253
297
  openInvoices: {
254
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
255
298
  id: string;
256
299
  createdAt: Date;
300
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
257
301
  updatedAt: Date;
258
302
  customerId: string | null;
259
303
  billingReason: string | null;
@@ -261,6 +305,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
261
305
  periodEnd: Date;
262
306
  amountDue: number;
263
307
  amountPaid: number;
308
+ basicSkuId: string | null;
264
309
  subscriptionId: string | null;
265
310
  hostedInvoiceUrl: string | null;
266
311
  invoicePdf: string | null;
@@ -279,9 +324,37 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
279
324
  get: {
280
325
  "/tenants/my/subscription": import("@withtyped/server").PathGuard<"/my/subscription", unknown, unknown, {
281
326
  status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
327
+ quota: {
328
+ auditLogsRetentionDays: number | null;
329
+ mauLimit: number | null;
330
+ applicationsLimit: number | null;
331
+ thirdPartyApplicationsLimit: number | null;
332
+ scopesPerResourceLimit: number | null;
333
+ socialConnectorsLimit: number | null;
334
+ userRolesLimit: number | null;
335
+ machineToMachineRolesLimit: number | null;
336
+ scopesPerRoleLimit: number | null;
337
+ hooksLimit: number | null;
338
+ customJwtEnabled: boolean;
339
+ subjectTokenEnabled: boolean;
340
+ bringYourUiEnabled: boolean;
341
+ collectUserProfileEnabled: boolean;
342
+ tokenLimit: number | null;
343
+ machineToMachineLimit: number | null;
344
+ resourcesLimit: number | null;
345
+ enterpriseSsoLimit: number | null;
346
+ tenantMembersLimit: number | null;
347
+ mfaEnabled: boolean;
348
+ organizationsEnabled: boolean;
349
+ organizationsLimit: number | null;
350
+ securityFeaturesEnabled: boolean;
351
+ idpInitiatedSsoEnabled: boolean;
352
+ samlApplicationsLimit: number | null;
353
+ };
282
354
  planId: string;
283
355
  currentPeriodStart: Date;
284
356
  currentPeriodEnd: Date;
357
+ isEnterprisePlan: boolean;
285
358
  id?: string | undefined;
286
359
  upcomingInvoice?: {
287
360
  subtotal: number;
@@ -289,112 +362,112 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
289
362
  total: number;
290
363
  totalExcludingTax: number | null;
291
364
  } | null | undefined;
292
- isAddOnAvailable?: boolean | undefined;
293
365
  }>;
294
- } & {
295
- "/tenants/my/subscription/quota": import("@withtyped/server").PathGuard<"/my/subscription/quota", unknown, unknown, {
296
- mauLimit: number | null;
297
- tokenLimit: number | null;
298
- applicationsLimit: number | null;
299
- machineToMachineLimit: number | null;
300
- resourcesLimit: number | null;
301
- scopesPerResourceLimit: number | null;
302
- socialConnectorsLimit: number | null;
303
- machineToMachineRolesLimit: number | null;
304
- scopesPerRoleLimit: number | null;
305
- hooksLimit: number | null;
306
- auditLogsRetentionDays: number | null;
307
- mfaEnabled: boolean;
308
- organizationsEnabled: boolean;
309
- thirdPartyApplicationsLimit: number | null;
310
- tenantMembersLimit: number | null;
311
- customJwtEnabled: boolean;
312
- subjectTokenEnabled: boolean;
313
- bringYourUiEnabled: boolean;
314
- userRolesLimit: number | null;
315
- enterpriseSsoLimit: number | null;
316
- }>;
317
- } & {
318
- "/tenants/my/subscription/usage": import("@withtyped/server").PathGuard<"/my/subscription/usage", unknown, unknown, {
319
- applicationsLimit: number;
320
- machineToMachineLimit: number;
321
- resourcesLimit: number;
322
- scopesPerResourceLimit: number;
323
- socialConnectorsLimit: number;
324
- machineToMachineRolesLimit: number;
325
- scopesPerRoleLimit: number;
326
- hooksLimit: number;
327
- mfaEnabled: boolean;
328
- organizationsEnabled: boolean;
329
- thirdPartyApplicationsLimit: number;
330
- tenantMembersLimit: number;
331
- customJwtEnabled: boolean;
332
- subjectTokenEnabled: boolean;
333
- bringYourUiEnabled: boolean;
334
- userRolesLimit: number;
335
- enterpriseSsoLimit: number;
336
- }>;
337
- } & {
338
- "/tenants/my/subscription/usage/:entityName/scopes": import("@withtyped/server").PathGuard<"/my/subscription/usage/:entityName/scopes", {
339
- entityId?: string | undefined;
340
- }, unknown, Record<string, number>>;
341
366
  } & {
342
367
  "/tenants/my/subscription-usage": import("@withtyped/server").PathGuard<"/my/subscription-usage", unknown, unknown, {
343
368
  usage: {
344
369
  applicationsLimit: number;
345
- machineToMachineLimit: number;
346
- resourcesLimit: number;
370
+ thirdPartyApplicationsLimit: number;
347
371
  scopesPerResourceLimit: number;
348
372
  socialConnectorsLimit: number;
373
+ userRolesLimit: number;
349
374
  machineToMachineRolesLimit: number;
350
375
  scopesPerRoleLimit: number;
351
376
  hooksLimit: number;
352
- mfaEnabled: boolean;
353
- organizationsEnabled: boolean;
354
- thirdPartyApplicationsLimit: number;
355
- tenantMembersLimit: number;
356
377
  customJwtEnabled: boolean;
357
378
  subjectTokenEnabled: boolean;
358
379
  bringYourUiEnabled: boolean;
359
- userRolesLimit: number;
380
+ collectUserProfileEnabled: boolean;
381
+ machineToMachineLimit: number;
382
+ resourcesLimit: number;
360
383
  enterpriseSsoLimit: number;
384
+ tenantMembersLimit: number;
385
+ mfaEnabled: boolean;
386
+ organizationsEnabled: boolean;
387
+ organizationsLimit: number;
388
+ securityFeaturesEnabled: boolean;
389
+ idpInitiatedSsoEnabled: boolean;
390
+ samlApplicationsLimit: number;
361
391
  };
362
392
  resources: Record<string, number>;
363
393
  roles: Record<string, number>;
364
394
  quota: {
395
+ auditLogsRetentionDays: number | null;
365
396
  mauLimit: number | null;
366
- tokenLimit: number | null;
367
397
  applicationsLimit: number | null;
368
- machineToMachineLimit: number | null;
369
- resourcesLimit: number | null;
398
+ thirdPartyApplicationsLimit: number | null;
370
399
  scopesPerResourceLimit: number | null;
371
400
  socialConnectorsLimit: number | null;
401
+ userRolesLimit: number | null;
372
402
  machineToMachineRolesLimit: number | null;
373
403
  scopesPerRoleLimit: number | null;
374
404
  hooksLimit: number | null;
375
- auditLogsRetentionDays: number | null;
405
+ customJwtEnabled: boolean;
406
+ subjectTokenEnabled: boolean;
407
+ bringYourUiEnabled: boolean;
408
+ collectUserProfileEnabled: boolean;
409
+ tokenLimit: number | null;
410
+ machineToMachineLimit: number | null;
411
+ resourcesLimit: number | null;
412
+ enterpriseSsoLimit: number | null;
413
+ tenantMembersLimit: number | null;
376
414
  mfaEnabled: boolean;
377
415
  organizationsEnabled: boolean;
416
+ organizationsLimit: number | null;
417
+ securityFeaturesEnabled: boolean;
418
+ idpInitiatedSsoEnabled: boolean;
419
+ samlApplicationsLimit: number | null;
420
+ };
421
+ basicQuota: {
422
+ auditLogsRetentionDays: number | null;
423
+ mauLimit: number | null;
424
+ applicationsLimit: number | null;
378
425
  thirdPartyApplicationsLimit: number | null;
379
- tenantMembersLimit: number | null;
426
+ scopesPerResourceLimit: number | null;
427
+ socialConnectorsLimit: number | null;
428
+ userRolesLimit: number | null;
429
+ machineToMachineRolesLimit: number | null;
430
+ scopesPerRoleLimit: number | null;
431
+ hooksLimit: number | null;
380
432
  customJwtEnabled: boolean;
381
433
  subjectTokenEnabled: boolean;
382
434
  bringYourUiEnabled: boolean;
383
- userRolesLimit: number | null;
435
+ collectUserProfileEnabled: boolean;
436
+ tokenLimit: number | null;
437
+ machineToMachineLimit: number | null;
438
+ resourcesLimit: number | null;
384
439
  enterpriseSsoLimit: number | null;
440
+ tenantMembersLimit: number | null;
441
+ mfaEnabled: boolean;
442
+ organizationsEnabled: boolean;
443
+ organizationsLimit: number | null;
444
+ securityFeaturesEnabled: boolean;
445
+ idpInitiatedSsoEnabled: boolean;
446
+ samlApplicationsLimit: number | null;
385
447
  };
386
448
  }>;
387
- } & {
388
- "/tenants/my/subscription/periodic-usage": import("@withtyped/server").PathGuard<"/my/subscription/periodic-usage", unknown, unknown, {
389
- mauLimit: number;
390
- tokenLimit: number;
449
+ };
450
+ post: {
451
+ "/tenants/my/subscription/item-updates": import("@withtyped/server").PathGuard<"/my/subscription/item-updates", unknown, {
452
+ usageKey: RealtimeReportableUsageKey;
453
+ }, {
454
+ message: string;
391
455
  }>;
392
- } & {
456
+ };
457
+ put: {};
458
+ delete: {};
459
+ copy: {};
460
+ head: {};
461
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
462
+ patch: {};
463
+ options: {};
464
+ get: {
393
465
  "/tenants/:tenantId/subscription": import("@withtyped/server").PathGuard<"/:tenantId/subscription", unknown, unknown, {
394
466
  status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
395
467
  planId: string;
396
468
  currentPeriodStart: Date;
397
469
  currentPeriodEnd: Date;
470
+ isEnterprisePlan: boolean;
398
471
  id?: string | undefined;
399
472
  upcomingInvoice?: {
400
473
  subtotal: number;
@@ -402,99 +475,88 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
402
475
  total: number;
403
476
  totalExcludingTax: number | null;
404
477
  } | null | undefined;
405
- isAddOnAvailable?: boolean | undefined;
406
- }>;
407
- } & {
408
- "/tenants/:tenantId/subscription/quota": import("@withtyped/server").PathGuard<"/:tenantId/subscription/quota", unknown, unknown, {
409
- mauLimit: number | null;
410
- tokenLimit: number | null;
411
- applicationsLimit: number | null;
412
- machineToMachineLimit: number | null;
413
- resourcesLimit: number | null;
414
- scopesPerResourceLimit: number | null;
415
- socialConnectorsLimit: number | null;
416
- machineToMachineRolesLimit: number | null;
417
- scopesPerRoleLimit: number | null;
418
- hooksLimit: number | null;
419
- auditLogsRetentionDays: number | null;
420
- mfaEnabled: boolean;
421
- organizationsEnabled: boolean;
422
- thirdPartyApplicationsLimit: number | null;
423
- tenantMembersLimit: number | null;
424
- customJwtEnabled: boolean;
425
- subjectTokenEnabled: boolean;
426
- bringYourUiEnabled: boolean;
427
- userRolesLimit: number | null;
428
- enterpriseSsoLimit: number | null;
429
- }>;
430
- } & {
431
- "/tenants/:tenantId/subscription/usage": import("@withtyped/server").PathGuard<"/:tenantId/subscription/usage", unknown, unknown, {
432
- applicationsLimit: number;
433
- machineToMachineLimit: number;
434
- resourcesLimit: number;
435
- scopesPerResourceLimit: number;
436
- socialConnectorsLimit: number;
437
- machineToMachineRolesLimit: number;
438
- scopesPerRoleLimit: number;
439
- hooksLimit: number;
440
- mfaEnabled: boolean;
441
- organizationsEnabled: boolean;
442
- thirdPartyApplicationsLimit: number;
443
- tenantMembersLimit: number;
444
- customJwtEnabled: boolean;
445
- subjectTokenEnabled: boolean;
446
- bringYourUiEnabled: boolean;
447
- userRolesLimit: number;
448
- enterpriseSsoLimit: number;
449
478
  }>;
450
- } & {
451
- "/tenants/:tenantId/subscription/usage/:entityName/scopes": import("@withtyped/server").PathGuard<"/:tenantId/subscription/usage/:entityName/scopes", {
452
- entityId?: string | undefined;
453
- }, unknown, Record<string, number>>;
454
479
  } & {
455
480
  "/tenants/:tenantId/subscription-usage": import("@withtyped/server").PathGuard<"/:tenantId/subscription-usage", unknown, unknown, {
456
481
  usage: {
457
482
  applicationsLimit: number;
458
- machineToMachineLimit: number;
459
- resourcesLimit: number;
483
+ thirdPartyApplicationsLimit: number;
460
484
  scopesPerResourceLimit: number;
461
485
  socialConnectorsLimit: number;
486
+ userRolesLimit: number;
462
487
  machineToMachineRolesLimit: number;
463
488
  scopesPerRoleLimit: number;
464
489
  hooksLimit: number;
465
- mfaEnabled: boolean;
466
- organizationsEnabled: boolean;
467
- thirdPartyApplicationsLimit: number;
468
- tenantMembersLimit: number;
469
490
  customJwtEnabled: boolean;
470
491
  subjectTokenEnabled: boolean;
471
492
  bringYourUiEnabled: boolean;
472
- userRolesLimit: number;
493
+ collectUserProfileEnabled: boolean;
494
+ machineToMachineLimit: number;
495
+ resourcesLimit: number;
473
496
  enterpriseSsoLimit: number;
497
+ tenantMembersLimit: number;
498
+ mfaEnabled: boolean;
499
+ organizationsEnabled: boolean;
500
+ organizationsLimit: number;
501
+ securityFeaturesEnabled: boolean;
502
+ idpInitiatedSsoEnabled: boolean;
503
+ samlApplicationsLimit: number;
474
504
  };
475
505
  resources: Record<string, number>;
476
506
  roles: Record<string, number>;
477
507
  quota: {
508
+ auditLogsRetentionDays: number | null;
478
509
  mauLimit: number | null;
479
- tokenLimit: number | null;
480
510
  applicationsLimit: number | null;
481
- machineToMachineLimit: number | null;
482
- resourcesLimit: number | null;
511
+ thirdPartyApplicationsLimit: number | null;
483
512
  scopesPerResourceLimit: number | null;
484
513
  socialConnectorsLimit: number | null;
514
+ userRolesLimit: number | null;
485
515
  machineToMachineRolesLimit: number | null;
486
516
  scopesPerRoleLimit: number | null;
487
517
  hooksLimit: number | null;
488
- auditLogsRetentionDays: number | null;
518
+ customJwtEnabled: boolean;
519
+ subjectTokenEnabled: boolean;
520
+ bringYourUiEnabled: boolean;
521
+ collectUserProfileEnabled: boolean;
522
+ tokenLimit: number | null;
523
+ machineToMachineLimit: number | null;
524
+ resourcesLimit: number | null;
525
+ enterpriseSsoLimit: number | null;
526
+ tenantMembersLimit: number | null;
489
527
  mfaEnabled: boolean;
490
528
  organizationsEnabled: boolean;
529
+ organizationsLimit: number | null;
530
+ securityFeaturesEnabled: boolean;
531
+ idpInitiatedSsoEnabled: boolean;
532
+ samlApplicationsLimit: number | null;
533
+ };
534
+ basicQuota: {
535
+ auditLogsRetentionDays: number | null;
536
+ mauLimit: number | null;
537
+ applicationsLimit: number | null;
491
538
  thirdPartyApplicationsLimit: number | null;
492
- tenantMembersLimit: number | null;
539
+ scopesPerResourceLimit: number | null;
540
+ socialConnectorsLimit: number | null;
541
+ userRolesLimit: number | null;
542
+ machineToMachineRolesLimit: number | null;
543
+ scopesPerRoleLimit: number | null;
544
+ hooksLimit: number | null;
493
545
  customJwtEnabled: boolean;
494
546
  subjectTokenEnabled: boolean;
495
547
  bringYourUiEnabled: boolean;
496
- userRolesLimit: number | null;
548
+ collectUserProfileEnabled: boolean;
549
+ tokenLimit: number | null;
550
+ machineToMachineLimit: number | null;
551
+ resourcesLimit: number | null;
497
552
  enterpriseSsoLimit: number | null;
553
+ tenantMembersLimit: number | null;
554
+ mfaEnabled: boolean;
555
+ organizationsEnabled: boolean;
556
+ organizationsLimit: number | null;
557
+ securityFeaturesEnabled: boolean;
558
+ idpInitiatedSsoEnabled: boolean;
559
+ samlApplicationsLimit: number | null;
498
560
  };
499
561
  }>;
500
562
  } & {
@@ -502,12 +564,51 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
502
564
  mauLimit: number;
503
565
  tokenLimit: number;
504
566
  }>;
567
+ } & {
568
+ "/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", {
569
+ id: string;
570
+ name: string | null;
571
+ createdAt: Date;
572
+ defaultPriceId: string | null;
573
+ unitPrice: number | null;
574
+ type: LogtoSkuType;
575
+ quota: {
576
+ auditLogsRetentionDays?: number | null | undefined;
577
+ mauLimit?: number | null | undefined;
578
+ applicationsLimit?: number | null | undefined;
579
+ thirdPartyApplicationsLimit?: number | null | undefined;
580
+ scopesPerResourceLimit?: number | null | undefined;
581
+ socialConnectorsLimit?: number | null | undefined;
582
+ userRolesLimit?: number | null | undefined;
583
+ machineToMachineRolesLimit?: number | null | undefined;
584
+ scopesPerRoleLimit?: number | null | undefined;
585
+ hooksLimit?: number | null | undefined;
586
+ customJwtEnabled?: boolean | undefined;
587
+ subjectTokenEnabled?: boolean | undefined;
588
+ bringYourUiEnabled?: boolean | undefined;
589
+ collectUserProfileEnabled?: boolean | undefined;
590
+ tokenLimit?: number | null | undefined;
591
+ machineToMachineLimit?: number | null | undefined;
592
+ resourcesLimit?: number | null | undefined;
593
+ enterpriseSsoLimit?: number | null | undefined;
594
+ tenantMembersLimit?: number | null | undefined;
595
+ mfaEnabled?: boolean | undefined;
596
+ organizationsEnabled?: boolean | undefined;
597
+ organizationsLimit?: number | null | undefined;
598
+ securityFeaturesEnabled?: boolean | undefined;
599
+ idpInitiatedSsoEnabled?: boolean | undefined;
600
+ samlApplicationsLimit?: number | null | undefined;
601
+ };
602
+ isDefault: boolean;
603
+ updatedAt: Date;
604
+ productId: string | null;
605
+ }>>>;
505
606
  } & {
506
607
  "/tenants/:tenantId/invoices": import("@withtyped/server").PathGuard<"/:tenantId/invoices", unknown, unknown, {
507
608
  invoices: {
508
- status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
509
609
  id: string;
510
610
  createdAt: Date;
611
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
511
612
  updatedAt: Date;
512
613
  customerId: string | null;
513
614
  billingReason: string | null;
@@ -515,6 +616,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
515
616
  periodEnd: Date;
516
617
  amountDue: number;
517
618
  amountPaid: number;
619
+ basicSkuId: string | null;
518
620
  subscriptionId: string | null;
519
621
  hostedInvoiceUrl: string | null;
520
622
  invoicePdf: string | null;
@@ -522,18 +624,53 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
522
624
  skuId?: string | null | undefined;
523
625
  }[];
524
626
  }>;
627
+ } & {
628
+ "/tenants/:tenantId/available-skus": import("@withtyped/server").PathGuard<"/:tenantId/available-skus", {
629
+ type?: LogtoSkuType | undefined;
630
+ }, unknown, {
631
+ id: string;
632
+ name: string | null;
633
+ createdAt: Date;
634
+ defaultPriceId: string | null;
635
+ unitPrice: number | null;
636
+ type: LogtoSkuType;
637
+ quota: {
638
+ auditLogsRetentionDays?: number | null | undefined;
639
+ mauLimit?: number | null | undefined;
640
+ applicationsLimit?: number | null | undefined;
641
+ thirdPartyApplicationsLimit?: number | null | undefined;
642
+ scopesPerResourceLimit?: number | null | undefined;
643
+ socialConnectorsLimit?: number | null | undefined;
644
+ userRolesLimit?: number | null | undefined;
645
+ machineToMachineRolesLimit?: number | null | undefined;
646
+ scopesPerRoleLimit?: number | null | undefined;
647
+ hooksLimit?: number | null | undefined;
648
+ customJwtEnabled?: boolean | undefined;
649
+ subjectTokenEnabled?: boolean | undefined;
650
+ bringYourUiEnabled?: boolean | undefined;
651
+ collectUserProfileEnabled?: boolean | undefined;
652
+ tokenLimit?: number | null | undefined;
653
+ machineToMachineLimit?: number | null | undefined;
654
+ resourcesLimit?: number | null | undefined;
655
+ enterpriseSsoLimit?: number | null | undefined;
656
+ tenantMembersLimit?: number | null | undefined;
657
+ mfaEnabled?: boolean | undefined;
658
+ organizationsEnabled?: boolean | undefined;
659
+ organizationsLimit?: number | null | undefined;
660
+ securityFeaturesEnabled?: boolean | undefined;
661
+ idpInitiatedSsoEnabled?: boolean | undefined;
662
+ samlApplicationsLimit?: number | null | undefined;
663
+ };
664
+ isDefault: boolean;
665
+ updatedAt: Date;
666
+ productId: string | null;
667
+ }[]>;
525
668
  } & {
526
669
  "/tenants/:tenantId/invoices/:invoiceId/hosted-invoice-url": import("@withtyped/server").PathGuard<"/:tenantId/invoices/:invoiceId/hosted-invoice-url", unknown, unknown, {
527
670
  hostedInvoiceUrl: string;
528
671
  }>;
529
672
  };
530
673
  post: {
531
- "/tenants/my/subscription/item-updates": import("@withtyped/server").PathGuard<"/my/subscription/item-updates", unknown, {
532
- usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled";
533
- }, {
534
- message: string;
535
- }>;
536
- } & {
537
674
  "/tenants/:tenantId/stripe-customer-portal": import("@withtyped/server").PathGuard<"/:tenantId/stripe-customer-portal", unknown, {
538
675
  callbackUrl?: string | undefined;
539
676
  }, {
@@ -559,11 +696,14 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
559
696
  post: {
560
697
  "/services/mails": import("@withtyped/server").PathGuard<"/mails", unknown, {
561
698
  data: {
562
- type: TemplateType | VerificationCodeType;
699
+ type: TemplateType;
563
700
  payload: {
564
- code?: string | undefined;
565
701
  link?: string | undefined;
566
- } & Record<string, string> & {
702
+ code?: string | undefined;
703
+ locale?: string | undefined;
704
+ } & {
705
+ [k: string]: unknown;
706
+ } & {
567
707
  senderName?: string | undefined;
568
708
  companyInformation?: string | undefined;
569
709
  appLogo?: string | undefined;
@@ -574,27 +714,30 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
574
714
  } & {
575
715
  "/services/send-sms": import("@withtyped/server").PathGuard<"/send-sms", unknown, {
576
716
  data: {
577
- type: TemplateType | VerificationCodeType;
717
+ type: TemplateType;
578
718
  to: string;
579
719
  payload: {
580
720
  code?: string | undefined;
581
721
  link?: string | undefined;
582
- } & Record<string, string>;
722
+ locale?: string | undefined;
723
+ } & {
724
+ [k: string]: unknown;
725
+ };
583
726
  };
584
727
  }, unknown>;
585
728
  } & {
586
729
  "/services/custom-jwt": import("@withtyped/server").PathGuard<"/custom-jwt", {
587
730
  isTest?: string | undefined;
588
731
  }, {
732
+ token: Record<string, Json>;
589
733
  context: Record<string, Json>;
590
- script: string;
591
734
  tokenType: LogtoJwtTokenKeyType.AccessToken;
592
- token: Record<string, Json>;
735
+ script: string;
593
736
  environmentVariables?: Record<string, string> | undefined;
594
737
  } | {
595
- script: string;
596
- tokenType: LogtoJwtTokenKeyType.ClientCredentials;
597
738
  token: Record<string, Json>;
739
+ tokenType: LogtoJwtTokenKeyType.ClientCredentials;
740
+ script: string;
598
741
  environmentVariables?: Record<string, string> | undefined;
599
742
  }, Record<string, unknown>>;
600
743
  };
@@ -619,96 +762,178 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
619
762
  patch: {};
620
763
  options: {};
621
764
  get: {
622
- "/subscription-plans": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
765
+ "/skus": import("@withtyped/server").PathGuard<"/", {
766
+ type?: LogtoSkuType | undefined;
767
+ }, unknown, {
623
768
  id: string;
769
+ name: string | null;
624
770
  createdAt: Date;
625
- name: string;
771
+ defaultPriceId: string | null;
772
+ unitPrice: number | null;
773
+ type: LogtoSkuType;
774
+ quota: {
775
+ auditLogsRetentionDays?: number | null | undefined;
776
+ mauLimit?: number | null | undefined;
777
+ applicationsLimit?: number | null | undefined;
778
+ thirdPartyApplicationsLimit?: number | null | undefined;
779
+ scopesPerResourceLimit?: number | null | undefined;
780
+ socialConnectorsLimit?: number | null | undefined;
781
+ userRolesLimit?: number | null | undefined;
782
+ machineToMachineRolesLimit?: number | null | undefined;
783
+ scopesPerRoleLimit?: number | null | undefined;
784
+ hooksLimit?: number | null | undefined;
785
+ customJwtEnabled?: boolean | undefined;
786
+ subjectTokenEnabled?: boolean | undefined;
787
+ bringYourUiEnabled?: boolean | undefined;
788
+ collectUserProfileEnabled?: boolean | undefined;
789
+ tokenLimit?: number | null | undefined;
790
+ machineToMachineLimit?: number | null | undefined;
791
+ resourcesLimit?: number | null | undefined;
792
+ enterpriseSsoLimit?: number | null | undefined;
793
+ tenantMembersLimit?: number | null | undefined;
794
+ mfaEnabled?: boolean | undefined;
795
+ organizationsEnabled?: boolean | undefined;
796
+ organizationsLimit?: number | null | undefined;
797
+ securityFeaturesEnabled?: boolean | undefined;
798
+ idpInitiatedSsoEnabled?: boolean | undefined;
799
+ samlApplicationsLimit?: number | null | undefined;
800
+ };
801
+ isDefault: boolean;
626
802
  updatedAt: Date;
803
+ productId: string | null;
804
+ }[]>;
805
+ };
806
+ post: {
807
+ "/skus": import("@withtyped/server").PathGuard<"/", unknown, {
808
+ type: LogtoSkuType.AddOn;
809
+ quota: {
810
+ tokenLimit?: number | null | undefined;
811
+ machineToMachineLimit?: number | null | undefined;
812
+ resourcesLimit?: number | null | undefined;
813
+ enterpriseSsoLimit?: number | null | undefined;
814
+ hooksLimit?: number | null | undefined;
815
+ tenantMembersLimit?: number | null | undefined;
816
+ mfaEnabled?: boolean | undefined;
817
+ organizationsEnabled?: boolean | undefined;
818
+ organizationsLimit?: number | null | undefined;
819
+ securityFeaturesEnabled?: boolean | undefined;
820
+ userRolesLimit?: number | null | undefined;
821
+ machineToMachineRolesLimit?: number | null | undefined;
822
+ thirdPartyApplicationsLimit?: number | null | undefined;
823
+ samlApplicationsLimit?: number | null | undefined;
824
+ auditLogsRetentionDays?: number | null | undefined;
825
+ mauLimit?: number | null | undefined;
826
+ applicationsLimit?: number | null | undefined;
827
+ scopesPerResourceLimit?: number | null | undefined;
828
+ socialConnectorsLimit?: number | null | undefined;
829
+ scopesPerRoleLimit?: number | null | undefined;
830
+ customJwtEnabled?: boolean | undefined;
831
+ subjectTokenEnabled?: boolean | undefined;
832
+ bringYourUiEnabled?: boolean | undefined;
833
+ collectUserProfileEnabled?: boolean | undefined;
834
+ idpInitiatedSsoEnabled?: boolean | undefined;
835
+ };
836
+ isDefault?: boolean | undefined;
837
+ } | {
838
+ type: LogtoSkuType.Basic;
627
839
  quota: {
840
+ auditLogsRetentionDays: number | null;
628
841
  mauLimit: number | null;
629
- tokenLimit: number | null;
630
842
  applicationsLimit: number | null;
631
- machineToMachineLimit: number | null;
632
- resourcesLimit: number | null;
843
+ thirdPartyApplicationsLimit: number | null;
633
844
  scopesPerResourceLimit: number | null;
634
- customDomainEnabled: boolean;
635
- omniSignInEnabled: boolean;
636
- builtInEmailConnectorEnabled: boolean;
637
845
  socialConnectorsLimit: number | null;
638
- standardConnectorsLimit: number | null;
639
- rolesLimit: number | null;
846
+ userRolesLimit: number | null;
640
847
  machineToMachineRolesLimit: number | null;
641
848
  scopesPerRoleLimit: number | null;
642
849
  hooksLimit: number | null;
643
- auditLogsRetentionDays: number | null;
644
- mfaEnabled: boolean;
645
- organizationsEnabled: boolean;
646
- ssoEnabled: boolean;
647
- thirdPartyApplicationsLimit: number | null;
648
- tenantMembersLimit: number | null;
649
850
  customJwtEnabled: boolean;
650
851
  subjectTokenEnabled: boolean;
651
852
  bringYourUiEnabled: boolean;
853
+ collectUserProfileEnabled: boolean;
854
+ tokenLimit: number | null;
855
+ machineToMachineLimit: number | null;
856
+ resourcesLimit: number | null;
857
+ enterpriseSsoLimit: number | null;
858
+ tenantMembersLimit: number | null;
859
+ mfaEnabled: boolean;
860
+ organizationsEnabled: boolean;
861
+ organizationsLimit: number | null;
862
+ securityFeaturesEnabled: boolean;
863
+ idpInitiatedSsoEnabled: boolean;
864
+ samlApplicationsLimit: number | null;
652
865
  };
653
- stripeProducts: {
654
- type: "flat" | "tier1" | "tier2" | "tier3";
655
- id: string;
656
- name: string;
657
- price: {
658
- id: string;
659
- unitAmountDecimal: string;
660
- quantity?: 1 | undefined;
661
- unitAmount?: number | null | undefined;
662
- };
663
- description?: string | undefined;
664
- }[];
665
- }[]>;
666
- };
667
- post: {};
668
- put: {};
669
- delete: {};
670
- copy: {};
671
- head: {};
672
- }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
673
- patch: {};
674
- options: {};
675
- get: {
676
- "/skus": import("@withtyped/server").PathGuard<"/", {
677
- type?: LogtoSkuType | undefined;
678
- }, unknown, {
679
- type: LogtoSkuType;
866
+ addOnRelations: {
867
+ tokenLimit?: string | undefined;
868
+ machineToMachineLimit?: string | undefined;
869
+ resourcesLimit?: string | undefined;
870
+ enterpriseSsoLimit?: string | undefined;
871
+ tenantMembersLimit?: string | undefined;
872
+ mfaEnabled?: string | undefined;
873
+ organizationsLimit?: string | undefined;
874
+ securityFeaturesEnabled?: string | undefined;
875
+ };
876
+ isDefault?: boolean | undefined;
877
+ }, {
680
878
  id: string;
681
- name: string | null;
879
+ createdAt: Date;
880
+ type: LogtoSkuType;
881
+ isDefault: boolean;
882
+ updatedAt: Date;
682
883
  quota: {
884
+ auditLogsRetentionDays?: number | null | undefined;
683
885
  mauLimit?: number | null | undefined;
684
- tokenLimit?: number | null | undefined;
685
886
  applicationsLimit?: number | null | undefined;
686
- machineToMachineLimit?: number | null | undefined;
687
- resourcesLimit?: number | null | undefined;
887
+ thirdPartyApplicationsLimit?: number | null | undefined;
688
888
  scopesPerResourceLimit?: number | null | undefined;
689
889
  socialConnectorsLimit?: number | null | undefined;
890
+ userRolesLimit?: number | null | undefined;
690
891
  machineToMachineRolesLimit?: number | null | undefined;
691
892
  scopesPerRoleLimit?: number | null | undefined;
692
893
  hooksLimit?: number | null | undefined;
693
- auditLogsRetentionDays?: number | null | undefined;
694
- mfaEnabled?: boolean | undefined;
695
- organizationsEnabled?: boolean | undefined;
696
- thirdPartyApplicationsLimit?: number | null | undefined;
697
- tenantMembersLimit?: number | null | undefined;
698
894
  customJwtEnabled?: boolean | undefined;
699
895
  subjectTokenEnabled?: boolean | undefined;
700
896
  bringYourUiEnabled?: boolean | undefined;
701
- userRolesLimit?: number | null | undefined;
897
+ collectUserProfileEnabled?: boolean | undefined;
898
+ tokenLimit?: number | null | undefined;
899
+ machineToMachineLimit?: number | null | undefined;
900
+ resourcesLimit?: number | null | undefined;
702
901
  enterpriseSsoLimit?: number | null | undefined;
902
+ tenantMembersLimit?: number | null | undefined;
903
+ mfaEnabled?: boolean | undefined;
904
+ organizationsEnabled?: boolean | undefined;
905
+ organizationsLimit?: number | null | undefined;
906
+ securityFeaturesEnabled?: boolean | undefined;
907
+ idpInitiatedSsoEnabled?: boolean | undefined;
908
+ samlApplicationsLimit?: number | null | undefined;
703
909
  };
704
- createdAt: Date;
705
- updatedAt: Date;
706
- unitPrice: number | null;
707
- }[]>;
910
+ }>;
911
+ } & {
912
+ "/skus/:skuId/products": import("@withtyped/server").PathGuard<"/:skuId/products", {
913
+ isOneTime?: string | undefined;
914
+ }, {
915
+ name: string;
916
+ unitPrice: number;
917
+ }, {
918
+ productId: string;
919
+ }>;
920
+ } & {
921
+ "/skus/basic-sku-usage-add-on-relations": import("@withtyped/server").PathGuard<"/basic-sku-usage-add-on-relations", unknown, {
922
+ basicSkuId: string;
923
+ usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit";
924
+ addOnSkuId: string;
925
+ }, {
926
+ basicSkuId: string;
927
+ usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit";
928
+ addOnSkuId: string;
929
+ }>;
708
930
  };
709
- post: {};
710
931
  put: {};
711
- delete: {};
932
+ delete: {
933
+ "/skus/:skuId": import("@withtyped/server").PathGuard<"/:skuId", unknown, unknown, unknown>;
934
+ } & {
935
+ "/skus/basic-sku-usage-add-on-relations/:basicSkuId/:usageKey": import("@withtyped/server").PathGuard<"/basic-sku-usage-add-on-relations/:basicSkuId/:usageKey", unknown, unknown, unknown>;
936
+ };
712
937
  copy: {};
713
938
  head: {};
714
939
  }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
@@ -722,19 +947,18 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
722
947
  status: "open" | "complete" | "expired";
723
948
  tenantId: string | null;
724
949
  updatedAt: Date;
725
- planId: string;
726
950
  skuId: string | null;
951
+ planId: string | null;
727
952
  }>;
728
953
  };
729
954
  post: {
730
955
  "/checkout-session": import("@withtyped/server").PathGuard<"/", unknown, {
731
- planId: string;
732
956
  successCallbackUrl: string;
733
957
  tenantId?: string | undefined;
734
958
  skuId?: string | undefined;
735
959
  tenantName?: string | undefined;
736
960
  tenantTag?: TenantTag | undefined;
737
- tenantRegionName?: RegionName | undefined;
961
+ tenantRegionName?: string | undefined;
738
962
  cancelCallbackUrl?: string | undefined;
739
963
  }, {
740
964
  sessionId: string;
@@ -852,7 +1076,16 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
852
1076
  }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
853
1077
  patch: {};
854
1078
  options: {};
855
- get: {};
1079
+ get: {
1080
+ "/me/regions": import("@withtyped/server").PathGuard<"/regions", unknown, unknown, {
1081
+ regions: {
1082
+ id: string;
1083
+ name: string;
1084
+ country: string;
1085
+ isPrivate: boolean;
1086
+ }[];
1087
+ }>;
1088
+ };
856
1089
  post: {};
857
1090
  put: {};
858
1091
  delete: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logto/cloud",
3
- "version": "0.2.5-e14156b",
3
+ "version": "0.2.5-e38aeec",
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
  }