@mestra-dev/contract 0.0.62 → 0.0.63

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/dist/index.d.ts +73 -21
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -785,7 +785,8 @@ declare const routes: import("hono/hono-base").HonoBase<{
785
785
  readonly type: "object";
786
786
  readonly required: readonly [
787
787
  "id",
788
- "email"
788
+ "emailVerified",
789
+ "phoneVerified"
789
790
  ];
790
791
  readonly properties: {
791
792
  readonly id: {
@@ -795,11 +796,18 @@ declare const routes: import("hono/hono-base").HonoBase<{
795
796
  readonly email: {
796
797
  readonly type: "string";
797
798
  readonly format: "email";
799
+ readonly nullable: true;
798
800
  };
799
801
  readonly phone: {
800
802
  readonly type: "string";
801
803
  readonly nullable: true;
802
804
  };
805
+ readonly emailVerified: {
806
+ readonly type: "boolean";
807
+ };
808
+ readonly phoneVerified: {
809
+ readonly type: "boolean";
810
+ };
803
811
  readonly firstName: {
804
812
  readonly type: "string";
805
813
  readonly nullable: true;
@@ -4516,6 +4524,10 @@ declare const routes: import("hono/hono-base").HonoBase<{
4516
4524
  "Auth"
4517
4525
  ];
4518
4526
  readonly summary: "Request a one-time password";
4527
+ readonly description: "Without a bearer token this starts email login/signup. With an access token it links an email to the current account (for users who signed in with SMS).";
4528
+ readonly security: readonly [
4529
+ never
4530
+ ];
4519
4531
  readonly requestBody: {
4520
4532
  readonly required: true;
4521
4533
  readonly content: {
@@ -4566,6 +4578,10 @@ declare const routes: import("hono/hono-base").HonoBase<{
4566
4578
  "Auth"
4567
4579
  ];
4568
4580
  readonly summary: "Verify a one-time password";
4581
+ readonly description: "Without a bearer token this completes email login/signup and returns tokens. With an access token it verifies and attaches an email to the current account.";
4582
+ readonly security: readonly [
4583
+ never
4584
+ ];
4569
4585
  readonly requestBody: {
4570
4586
  readonly required: true;
4571
4587
  readonly content: {
@@ -4636,6 +4652,10 @@ declare const routes: import("hono/hono-base").HonoBase<{
4636
4652
  "Auth"
4637
4653
  ];
4638
4654
  readonly summary: "Request a one-time password by SMS";
4655
+ readonly description: "Without a bearer token this starts SMS login/signup. With an access token it links a phone to the current account (for users who signed in with email). SMS is sent via Kod.mobi only when dialCode is +7.";
4656
+ readonly security: readonly [
4657
+ never
4658
+ ];
4639
4659
  readonly requestBody: {
4640
4660
  readonly required: true;
4641
4661
  readonly content: {
@@ -4643,13 +4663,19 @@ declare const routes: import("hono/hono-base").HonoBase<{
4643
4663
  readonly schema: {
4644
4664
  readonly type: "object";
4645
4665
  readonly required: readonly [
4646
- "phone"
4666
+ "dialCode",
4667
+ "number"
4647
4668
  ];
4648
4669
  readonly properties: {
4649
- readonly phone: {
4670
+ readonly dialCode: {
4671
+ readonly type: "string";
4672
+ readonly description: "International dial code, with or without a leading +.";
4673
+ readonly example: "+7";
4674
+ };
4675
+ readonly number: {
4650
4676
  readonly type: "string";
4651
- readonly description: "Phone number in E.164 format. Russian numbers starting with 8 or 7 are normalized to +7.";
4652
- readonly example: "+79001234567";
4677
+ readonly description: "National phone number without the dial code.";
4678
+ readonly example: "9197286223";
4653
4679
  };
4654
4680
  };
4655
4681
  };
@@ -4696,6 +4722,10 @@ declare const routes: import("hono/hono-base").HonoBase<{
4696
4722
  "Auth"
4697
4723
  ];
4698
4724
  readonly summary: "Verify an SMS one-time password";
4725
+ readonly description: "Without a bearer token this completes SMS login/signup and returns tokens. With an access token it verifies and attaches a phone to the current account.";
4726
+ readonly security: readonly [
4727
+ never
4728
+ ];
4699
4729
  readonly requestBody: {
4700
4730
  readonly required: true;
4701
4731
  readonly content: {
@@ -4703,14 +4733,20 @@ declare const routes: import("hono/hono-base").HonoBase<{
4703
4733
  readonly schema: {
4704
4734
  readonly type: "object";
4705
4735
  readonly required: readonly [
4706
- "phone",
4736
+ "dialCode",
4737
+ "number",
4707
4738
  "otp"
4708
4739
  ];
4709
4740
  readonly properties: {
4710
- readonly phone: {
4741
+ readonly dialCode: {
4742
+ readonly type: "string";
4743
+ readonly description: "International dial code, with or without a leading +.";
4744
+ readonly example: "+7";
4745
+ };
4746
+ readonly number: {
4711
4747
  readonly type: "string";
4712
- readonly description: "Phone number in E.164 format. Russian numbers starting with 8 or 7 are normalized to +7.";
4713
- readonly example: "+79001234567";
4748
+ readonly description: "National phone number without the dial code.";
4749
+ readonly example: "9197286223";
4714
4750
  };
4715
4751
  readonly otp: {
4716
4752
  readonly type: "string";
@@ -5123,7 +5159,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
5123
5159
  "Workspace"
5124
5160
  ];
5125
5161
  readonly summary: "Create a new workspace";
5126
- readonly description: "Creates a workspace and its billing subscription atomically. Free starts a 15-day trial (default `TRIAL_WORKSPACE_LIMIT` is 1 Free trial per owner). Economy, Standard, and Professional create a pending invoice; use the returned invoiceId to start YooKassa checkout. An owner may have at most 5 pending unpaid invoices for those paid plans before creating another. Professional may create one complimentary workspace for an owner with an active paid Professional workspace.";
5162
+ readonly description: "Creates a workspace and its billing subscription atomically. Requires the caller to have both email and phone verified. Free starts a 15-day trial (default `TRIAL_WORKSPACE_LIMIT` is 1 Free trial per owner). Economy, Standard, and Professional create a pending invoice; use the returned invoiceId to start YooKassa checkout. An owner may have at most 5 pending unpaid invoices for those paid plans before creating another. Professional may create one complimentary workspace for an owner with an active paid Professional workspace.";
5127
5163
  readonly security: readonly [
5128
5164
  never
5129
5165
  ];
@@ -5208,7 +5244,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
5208
5244
  };
5209
5245
  };
5210
5246
  readonly 403: {
5211
- readonly description: "Forbidden - Token issuer is not 'access'.";
5247
+ readonly description: "Forbidden - Token issuer is not 'access', or email and phone are not both verified.";
5212
5248
  readonly content: {
5213
5249
  readonly "application/json": {
5214
5250
  readonly schema: {
@@ -5989,7 +6025,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
5989
6025
  "Workspace"
5990
6026
  ];
5991
6027
  readonly summary: "Accept workspace invitation";
5992
- readonly description: "Accepts a workspace invitation using the provided token. Requires authentication.";
6028
+ readonly description: "Accepts a workspace invitation using the provided token. Requires authentication and both email and phone verified.";
5993
6029
  readonly security: readonly [
5994
6030
  never
5995
6031
  ];
@@ -6048,7 +6084,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
6048
6084
  };
6049
6085
  };
6050
6086
  readonly 403: {
6051
- readonly description: "Forbidden - Token issuer is not 'access' or user lacks workspace access.";
6087
+ readonly description: "Forbidden - Token issuer is not 'access', user lacks workspace access, or email and phone are not both verified.";
6052
6088
  readonly content: {
6053
6089
  readonly "application/json": {
6054
6090
  readonly schema: {
@@ -13015,11 +13051,11 @@ declare const routes: import("hono/hono-base").HonoBase<{
13015
13051
  $post: {
13016
13052
  input: {};
13017
13053
  output: {
13018
- success: false;
13019
- error: never;
13054
+ success: boolean;
13055
+ error: string | undefined;
13020
13056
  };
13021
13057
  outputFormat: "json";
13022
- status: 400;
13058
+ status: 200 | 400;
13023
13059
  } | {
13024
13060
  input: {};
13025
13061
  output: {
@@ -13056,11 +13092,11 @@ declare const routes: import("hono/hono-base").HonoBase<{
13056
13092
  $post: {
13057
13093
  input: {};
13058
13094
  output: {
13059
- success: false;
13060
- error: never;
13095
+ success: boolean;
13096
+ error: string | undefined;
13061
13097
  };
13062
13098
  outputFormat: "json";
13063
- status: 400;
13099
+ status: 200 | 400;
13064
13100
  } | {
13065
13101
  input: {};
13066
13102
  output: {
@@ -13080,8 +13116,10 @@ declare const routes: import("hono/hono-base").HonoBase<{
13080
13116
  success: true;
13081
13117
  user: {
13082
13118
  id: string;
13083
- email: string;
13119
+ email: string | null;
13084
13120
  phone: string | null;
13121
+ emailVerified: boolean;
13122
+ phoneVerified: boolean;
13085
13123
  firstName: string | null;
13086
13124
  lastName: string | null;
13087
13125
  profilePicture: string | null;
@@ -13515,6 +13553,20 @@ declare const routes: import("hono/hono-base").HonoBase<{
13515
13553
  };
13516
13554
  outputFormat: "json";
13517
13555
  status: 400;
13556
+ } | {
13557
+ input: {
13558
+ param: {
13559
+ workspace: string;
13560
+ } & {
13561
+ token: string;
13562
+ };
13563
+ };
13564
+ output: {
13565
+ success: false;
13566
+ error: string;
13567
+ };
13568
+ outputFormat: "json";
13569
+ status: 403;
13518
13570
  } | {
13519
13571
  input: {
13520
13572
  param: {
@@ -14365,11 +14417,11 @@ declare const routes: import("hono/hono-base").HonoBase<{
14365
14417
  email: string | null;
14366
14418
  workspaceId: string;
14367
14419
  description: string | null;
14368
- phone: string | null;
14369
14420
  updated_at: string | null;
14370
14421
  deleted_at: string | null;
14371
14422
  verified_at: string | null;
14372
14423
  suspended_at: string | null;
14424
+ phone: string | null;
14373
14425
  website: string | null;
14374
14426
  companyPhone: string | null;
14375
14427
  companyAddress: string | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mestra-dev/contract",
3
- "version": "0.0.62",
3
+ "version": "0.0.63",
4
4
  "description": "Types-only Hono AppType contract for the Mestra auth API",
5
5
  "type": "module",
6
6
  "sideEffects": false,