@h-ai/api-client 0.1.0-alpha.72 → 0.1.0-alpha.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -164,6 +164,10 @@ interface TokenStorage {
164
164
  * ```
165
165
  */
166
166
  interface AuthConfig {
167
+ /** refresh明确失效后原地恢复同一用户会话,成功时只重试原请求一次;取消/结果不明不得返回true。 */
168
+ readonly recoverSession?: () => Promise<boolean>;
169
+ /** 登录会话终端分组;默认web,可选app/desktop/api。服务端必须允许该类;不代表物理设备证明。 */
170
+ readonly terminalType?: 'web' | 'app' | 'desktop' | 'api';
167
171
  /**
168
172
  * Token 存储适配器;默认 `apiClient.tokenStorage.httpOnlyCookie()`(refresh token 由服务端管理,防 XSS)。
169
173
  *
@@ -521,15 +525,21 @@ declare function createIamAuthActions(client: {
521
525
  iam: {
522
526
  auth: Pick<ApiClient<{
523
527
  iam: typeof apiContract.iam;
524
- }>['iam']['auth'], 'publicConfig' | 'login' | 'loginWithLdap' | 'loginWithOtp' | 'register' | 'sendOtp' | 'requestPasswordReset' | 'confirmPasswordReset'>;
528
+ }>['iam']['auth'], 'publicConfig' | 'createCaptcha' | 'closeSession' | 'login' | 'loginWithLdap' | 'loginWithOtp' | 'register' | 'sendOtp' | 'requestPasswordReset' | 'confirmPasswordReset' | 'renewPassword' | 'reauthenticate'>;
525
529
  };
526
530
  auth: Pick<ApiClient<{
527
531
  iam: typeof apiContract.iam;
528
532
  }>['auth'], 'setTokens'>;
529
533
  }): {
534
+ bindPageExit(options?: {
535
+ enabled?: boolean;
536
+ }): () => void;
530
537
  publicConfig: () => _orpc_client.ClientPromiseResult<{
531
538
  success: true;
532
539
  data: {
540
+ captcha: {
541
+ enabled: boolean;
542
+ };
533
543
  password: {
534
544
  minLength: number;
535
545
  maxLength: number;
@@ -538,6 +548,9 @@ declare function createIamAuthActions(client: {
538
548
  requireNumber: boolean;
539
549
  requireSpecialChar: boolean;
540
550
  expirationDays: number;
551
+ minCharacterClasses?: number | undefined;
552
+ preventSamePassword?: boolean | undefined;
553
+ requireInitialChange?: boolean | undefined;
541
554
  };
542
555
  register: {
543
556
  enabled: boolean;
@@ -576,7 +589,15 @@ declare function createIamAuthActions(client: {
576
589
  };
577
590
  session: {
578
591
  maxAge: number;
592
+ endOnPageHide: boolean;
579
593
  };
594
+ reauthentication?: {
595
+ enabled: boolean;
596
+ operations: string[];
597
+ } | undefined;
598
+ initialCredentials?: {
599
+ enabled: boolean;
600
+ } | undefined;
580
601
  } | null;
581
602
  } | {
582
603
  success: false;
@@ -594,6 +615,42 @@ declare function createIamAuthActions(client: {
594
615
  } | undefined;
595
616
  };
596
617
  }, Error>;
618
+ createCaptcha: (input: Parameters<typeof client.iam.auth.createCaptcha>[0]) => _orpc_client.ClientPromiseResult<{
619
+ success: true;
620
+ data: {
621
+ id: string;
622
+ challenge: {
623
+ parameters: {
624
+ algorithm: "PBKDF2/SHA-256";
625
+ nonce: string;
626
+ salt: string;
627
+ cost: number;
628
+ keyLength: number;
629
+ keyPrefix: string;
630
+ keySignature?: string | undefined;
631
+ data?: {
632
+ [x: string]: string | number | boolean | null;
633
+ } | undefined;
634
+ };
635
+ signature?: string | undefined;
636
+ };
637
+ };
638
+ } | {
639
+ success: false;
640
+ error: {
641
+ code: string | number;
642
+ message: string;
643
+ traceId?: string | undefined;
644
+ httpStatus?: number | undefined;
645
+ system?: string | undefined;
646
+ module?: string | undefined;
647
+ cause?: unknown;
648
+ suggestion?: string | undefined;
649
+ ext?: {
650
+ [x: string]: unknown;
651
+ } | undefined;
652
+ };
653
+ }, Error>;
597
654
  login: (input: IamAuthLoginInput) => Promise<HaiResult<{
598
655
  user: {
599
656
  id: string;
@@ -605,6 +662,11 @@ declare function createIamAuthActions(client: {
605
662
  phone?: string | undefined;
606
663
  displayName?: string | undefined;
607
664
  avatarUrl?: string | undefined;
665
+ accountType?: "permanent" | "temporary" | undefined;
666
+ accountStatus?: "active" | "dormant" | "closed" | undefined;
667
+ accountExpiresAt?: string | null | undefined;
668
+ lastLoginAt?: string | null | undefined;
669
+ mustChangePassword?: boolean | undefined;
608
670
  emailVerified?: boolean | undefined;
609
671
  phoneVerified?: boolean | undefined;
610
672
  metadata?: {
@@ -639,6 +701,11 @@ declare function createIamAuthActions(client: {
639
701
  phone?: string | undefined;
640
702
  displayName?: string | undefined;
641
703
  avatarUrl?: string | undefined;
704
+ accountType?: "permanent" | "temporary" | undefined;
705
+ accountStatus?: "active" | "dormant" | "closed" | undefined;
706
+ accountExpiresAt?: string | null | undefined;
707
+ lastLoginAt?: string | null | undefined;
708
+ mustChangePassword?: boolean | undefined;
642
709
  emailVerified?: boolean | undefined;
643
710
  phoneVerified?: boolean | undefined;
644
711
  metadata?: {
@@ -662,7 +729,9 @@ declare function createIamAuthActions(client: {
662
729
  privacyPolicyUrl?: string | undefined;
663
730
  } | undefined;
664
731
  }>>;
665
- sendOtp: (identifier: string) => _orpc_client.ClientPromiseResult<{
732
+ sendOtp: (identifier: string, options?: {
733
+ captcha?: string;
734
+ }) => _orpc_client.ClientPromiseResult<{
666
735
  success: true;
667
736
  data: {
668
737
  expiresAt: string;
@@ -683,7 +752,9 @@ declare function createIamAuthActions(client: {
683
752
  } | undefined;
684
753
  };
685
754
  }, Error>;
686
- requestPasswordReset: (identifier: string) => _orpc_client.ClientPromiseResult<{
755
+ requestPasswordReset: (identifier: string, options?: {
756
+ captcha?: string;
757
+ }) => _orpc_client.ClientPromiseResult<{
687
758
  success: true;
688
759
  data: unknown;
689
760
  } | {
@@ -721,6 +792,52 @@ declare function createIamAuthActions(client: {
721
792
  } | undefined;
722
793
  };
723
794
  }, Error>;
795
+ renewPassword: (input: {
796
+ identifier: string;
797
+ password: string;
798
+ newPassword: string;
799
+ captcha?: string;
800
+ }) => _orpc_client.ClientPromiseResult<{
801
+ success: true;
802
+ data: unknown;
803
+ } | {
804
+ success: false;
805
+ error: {
806
+ code: string | number;
807
+ message: string;
808
+ traceId?: string | undefined;
809
+ httpStatus?: number | undefined;
810
+ system?: string | undefined;
811
+ module?: string | undefined;
812
+ cause?: unknown;
813
+ suggestion?: string | undefined;
814
+ ext?: {
815
+ [x: string]: unknown;
816
+ } | undefined;
817
+ };
818
+ }, Error>;
819
+ reauthenticate: (password: string, operation: string) => _orpc_client.ClientPromiseResult<{
820
+ success: true;
821
+ data: {
822
+ ticket: string;
823
+ expiresAt: number;
824
+ };
825
+ } | {
826
+ success: false;
827
+ error: {
828
+ code: string | number;
829
+ message: string;
830
+ traceId?: string | undefined;
831
+ httpStatus?: number | undefined;
832
+ system?: string | undefined;
833
+ module?: string | undefined;
834
+ cause?: unknown;
835
+ suggestion?: string | undefined;
836
+ ext?: {
837
+ [x: string]: unknown;
838
+ } | undefined;
839
+ };
840
+ }, Error>;
724
841
  };
725
842
 
726
843
  /**
@@ -847,9 +964,82 @@ declare function createApiClient<const TContract extends AnyContractRouter>(cont
847
964
  declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
848
965
  readonly iam: {
849
966
  auth: {
967
+ createCaptcha: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
968
+ operation: zod.ZodEnum<{
969
+ login: "login";
970
+ register: "register";
971
+ sendOtp: "sendOtp";
972
+ passwordReset: "passwordReset";
973
+ renewPassword: "renewPassword";
974
+ }>;
975
+ }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
976
+ success: zod.ZodLiteral<true>;
977
+ data: zod.ZodObject<{
978
+ id: zod.ZodString;
979
+ challenge: zod.ZodObject<{
980
+ signature: zod.ZodOptional<zod.ZodString>;
981
+ parameters: zod.ZodObject<{
982
+ algorithm: zod.ZodString & zod.ZodType<"PBKDF2/SHA-256", string, zod_v4_core.$ZodTypeInternals<"PBKDF2/SHA-256", string>>;
983
+ nonce: zod.ZodString;
984
+ salt: zod.ZodString;
985
+ cost: zod.ZodNumber;
986
+ keyLength: zod.ZodNumber;
987
+ keyPrefix: zod.ZodString;
988
+ keySignature: zod.ZodOptional<zod.ZodString>;
989
+ data: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
990
+ }, zod_v4_core.$strip>;
991
+ }, zod_v4_core.$strip>;
992
+ }, zod_v4_core.$strip>;
993
+ }, zod_v4_core.$strip>, zod.ZodObject<{
994
+ success: zod.ZodLiteral<false>;
995
+ error: zod.ZodObject<{
996
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
997
+ message: zod.ZodString;
998
+ traceId: zod.ZodOptional<zod.ZodString>;
999
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
1000
+ system: zod.ZodOptional<zod.ZodString>;
1001
+ module: zod.ZodOptional<zod.ZodString>;
1002
+ cause: zod.ZodOptional<zod.ZodUnknown>;
1003
+ suggestion: zod.ZodOptional<zod.ZodString>;
1004
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1005
+ }, zod_v4_core.$strip>;
1006
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1007
+ reauthenticate: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1008
+ password: zod.ZodString;
1009
+ operation: zod.ZodString;
1010
+ }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1011
+ success: zod.ZodLiteral<true>;
1012
+ data: zod.ZodObject<{
1013
+ ticket: zod.ZodString;
1014
+ expiresAt: zod.ZodNumber;
1015
+ }, zod_v4_core.$strip>;
1016
+ }, zod_v4_core.$strip>, zod.ZodObject<{
1017
+ success: zod.ZodLiteral<false>;
1018
+ error: zod.ZodObject<{
1019
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
1020
+ message: zod.ZodString;
1021
+ traceId: zod.ZodOptional<zod.ZodString>;
1022
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
1023
+ system: zod.ZodOptional<zod.ZodString>;
1024
+ module: zod.ZodOptional<zod.ZodString>;
1025
+ cause: zod.ZodOptional<zod.ZodUnknown>;
1026
+ suggestion: zod.ZodOptional<zod.ZodString>;
1027
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1028
+ }, zod_v4_core.$strip>;
1029
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
850
1030
  publicConfig: _orpc_contract.ContractProcedureBuilderWithOutput<_orpc_contract.Schema<unknown, unknown>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
851
1031
  success: zod.ZodLiteral<true>;
852
1032
  data: zod.ZodNullable<zod.ZodObject<{
1033
+ captcha: zod.ZodDefault<zod.ZodObject<{
1034
+ enabled: zod.ZodBoolean;
1035
+ }, zod_v4_core.$strip>>;
1036
+ reauthentication: zod.ZodOptional<zod.ZodObject<{
1037
+ enabled: zod.ZodBoolean;
1038
+ operations: zod.ZodArray<zod.ZodString>;
1039
+ }, zod_v4_core.$strip>>;
1040
+ initialCredentials: zod.ZodOptional<zod.ZodObject<{
1041
+ enabled: zod.ZodBoolean;
1042
+ }, zod_v4_core.$strip>>;
853
1043
  password: zod.ZodObject<{
854
1044
  minLength: zod.ZodNumber;
855
1045
  maxLength: zod.ZodNumber;
@@ -858,6 +1048,9 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
858
1048
  requireNumber: zod.ZodBoolean;
859
1049
  requireSpecialChar: zod.ZodBoolean;
860
1050
  expirationDays: zod.ZodNumber;
1051
+ minCharacterClasses: zod.ZodOptional<zod.ZodNumber>;
1052
+ preventSamePassword: zod.ZodOptional<zod.ZodBoolean>;
1053
+ requireInitialChange: zod.ZodOptional<zod.ZodBoolean>;
861
1054
  }, zod_v4_core.$strip>;
862
1055
  register: zod.ZodObject<{
863
1056
  enabled: zod.ZodBoolean;
@@ -902,6 +1095,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
902
1095
  }, zod_v4_core.$strip>;
903
1096
  session: zod.ZodObject<{
904
1097
  maxAge: zod.ZodNumber;
1098
+ endOnPageHide: zod.ZodDefault<zod.ZodBoolean>;
905
1099
  }, zod_v4_core.$strip>;
906
1100
  }, zod_v4_core.$strip>>;
907
1101
  }, zod_v4_core.$strip>, zod.ZodObject<{
@@ -918,9 +1112,33 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
918
1112
  ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
919
1113
  }, zod_v4_core.$strip>;
920
1114
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1115
+ renewPassword: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1116
+ identifier: zod.ZodString;
1117
+ password: zod.ZodString;
1118
+ newPassword: zod.ZodString;
1119
+ captcha: zod.ZodOptional<zod.ZodString>;
1120
+ }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1121
+ success: zod.ZodLiteral<true>;
1122
+ data: zod.ZodVoid;
1123
+ }, zod_v4_core.$strip>, zod.ZodObject<{
1124
+ success: zod.ZodLiteral<false>;
1125
+ error: zod.ZodObject<{
1126
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
1127
+ message: zod.ZodString;
1128
+ traceId: zod.ZodOptional<zod.ZodString>;
1129
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
1130
+ system: zod.ZodOptional<zod.ZodString>;
1131
+ module: zod.ZodOptional<zod.ZodString>;
1132
+ cause: zod.ZodOptional<zod.ZodUnknown>;
1133
+ suggestion: zod.ZodOptional<zod.ZodString>;
1134
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1135
+ }, zod_v4_core.$strip>;
1136
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
921
1137
  loginWithLdap: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
922
1138
  username: zod.ZodString;
923
1139
  password: zod.ZodString;
1140
+ captcha: zod.ZodOptional<zod.ZodString>;
1141
+ expectedUserId: zod.ZodOptional<zod.ZodString>;
924
1142
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
925
1143
  success: zod.ZodLiteral<true>;
926
1144
  data: zod.ZodObject<{
@@ -932,6 +1150,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
932
1150
  displayName: zod.ZodOptional<zod.ZodString>;
933
1151
  avatarUrl: zod.ZodOptional<zod.ZodString>;
934
1152
  enabled: zod.ZodBoolean;
1153
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1154
+ permanent: "permanent";
1155
+ temporary: "temporary";
1156
+ }>>;
1157
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1158
+ active: "active";
1159
+ dormant: "dormant";
1160
+ closed: "closed";
1161
+ }>>;
1162
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1163
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1164
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
935
1165
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
936
1166
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
937
1167
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -971,6 +1201,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
971
1201
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
972
1202
  requestPasswordReset: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
973
1203
  identifier: zod.ZodString;
1204
+ captcha: zod.ZodOptional<zod.ZodString>;
974
1205
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
975
1206
  success: zod.ZodLiteral<true>;
976
1207
  data: zod.ZodVoid;
@@ -1009,6 +1240,8 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1009
1240
  }, zod_v4_core.$strip>;
1010
1241
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1011
1242
  login: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1243
+ expectedUserId: zod.ZodOptional<zod.ZodString>;
1244
+ captcha: zod.ZodOptional<zod.ZodString>;
1012
1245
  identifier: zod.ZodString;
1013
1246
  password: zod.ZodString;
1014
1247
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -1022,6 +1255,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1022
1255
  displayName: zod.ZodOptional<zod.ZodString>;
1023
1256
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1024
1257
  enabled: zod.ZodBoolean;
1258
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1259
+ permanent: "permanent";
1260
+ temporary: "temporary";
1261
+ }>>;
1262
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1263
+ active: "active";
1264
+ dormant: "dormant";
1265
+ closed: "closed";
1266
+ }>>;
1267
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1268
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1269
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1025
1270
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1026
1271
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1027
1272
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1060,6 +1305,8 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1060
1305
  }, zod_v4_core.$strip>;
1061
1306
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1062
1307
  loginWithOtp: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1308
+ expectedUserId: zod.ZodOptional<zod.ZodString>;
1309
+ captcha: zod.ZodOptional<zod.ZodString>;
1063
1310
  identifier: zod.ZodString;
1064
1311
  code: zod.ZodString;
1065
1312
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -1073,6 +1320,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1073
1320
  displayName: zod.ZodOptional<zod.ZodString>;
1074
1321
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1075
1322
  enabled: zod.ZodBoolean;
1323
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1324
+ permanent: "permanent";
1325
+ temporary: "temporary";
1326
+ }>>;
1327
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1328
+ active: "active";
1329
+ dormant: "dormant";
1330
+ closed: "closed";
1331
+ }>>;
1332
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1333
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1334
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1076
1335
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1077
1336
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1078
1337
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1129,6 +1388,25 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1129
1388
  ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1130
1389
  }, zod_v4_core.$strip>;
1131
1390
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1391
+ closeSession: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1392
+ accessToken: zod.ZodOptional<zod.ZodString>;
1393
+ }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1394
+ success: zod.ZodLiteral<true>;
1395
+ data: zod.ZodVoid;
1396
+ }, zod_v4_core.$strip>, zod.ZodObject<{
1397
+ success: zod.ZodLiteral<false>;
1398
+ error: zod.ZodObject<{
1399
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
1400
+ message: zod.ZodString;
1401
+ traceId: zod.ZodOptional<zod.ZodString>;
1402
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
1403
+ system: zod.ZodOptional<zod.ZodString>;
1404
+ module: zod.ZodOptional<zod.ZodString>;
1405
+ cause: zod.ZodOptional<zod.ZodUnknown>;
1406
+ suggestion: zod.ZodOptional<zod.ZodString>;
1407
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1408
+ }, zod_v4_core.$strip>;
1409
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1132
1410
  currentUser: _orpc_contract.ContractProcedureBuilderWithOutput<_orpc_contract.Schema<unknown, unknown>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1133
1411
  success: zod.ZodLiteral<true>;
1134
1412
  data: zod.ZodObject<{
@@ -1139,6 +1417,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1139
1417
  displayName: zod.ZodOptional<zod.ZodString>;
1140
1418
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1141
1419
  enabled: zod.ZodBoolean;
1420
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1421
+ permanent: "permanent";
1422
+ temporary: "temporary";
1423
+ }>>;
1424
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1425
+ active: "active";
1426
+ dormant: "dormant";
1427
+ closed: "closed";
1428
+ }>>;
1429
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1430
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1431
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1142
1432
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1143
1433
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1144
1434
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1188,6 +1478,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1188
1478
  }, zod_v4_core.$strip>;
1189
1479
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1190
1480
  sendOtp: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1481
+ captcha: zod.ZodOptional<zod.ZodString>;
1191
1482
  identifier: zod.ZodString;
1192
1483
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1193
1484
  success: zod.ZodLiteral<true>;
@@ -1209,6 +1500,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1209
1500
  }, zod_v4_core.$strip>;
1210
1501
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1211
1502
  register: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1503
+ captcha: zod.ZodOptional<zod.ZodString>;
1212
1504
  username: zod.ZodString;
1213
1505
  password: zod.ZodString;
1214
1506
  email: zod.ZodOptional<zod.ZodString>;
@@ -1226,6 +1518,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1226
1518
  displayName: zod.ZodOptional<zod.ZodString>;
1227
1519
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1228
1520
  enabled: zod.ZodBoolean;
1521
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1522
+ permanent: "permanent";
1523
+ temporary: "temporary";
1524
+ }>>;
1525
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1526
+ active: "active";
1527
+ dormant: "dormant";
1528
+ closed: "closed";
1529
+ }>>;
1530
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1531
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1532
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1229
1533
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1230
1534
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1231
1535
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1300,6 +1604,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1300
1604
  displayName: zod.ZodOptional<zod.ZodString>;
1301
1605
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1302
1606
  enabled: zod.ZodBoolean;
1607
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1608
+ permanent: "permanent";
1609
+ temporary: "temporary";
1610
+ }>>;
1611
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1612
+ active: "active";
1613
+ dormant: "dormant";
1614
+ closed: "closed";
1615
+ }>>;
1616
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1617
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1618
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1303
1619
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1304
1620
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1305
1621
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1322,6 +1638,62 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1322
1638
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1323
1639
  };
1324
1640
  users: {
1641
+ invite: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1642
+ metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1643
+ email: zod.ZodOptional<zod.ZodString>;
1644
+ username: zod.ZodString;
1645
+ phone: zod.ZodOptional<zod.ZodString>;
1646
+ displayName: zod.ZodOptional<zod.ZodString>;
1647
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1648
+ permanent: "permanent";
1649
+ temporary: "temporary";
1650
+ }>>;
1651
+ accountExpiresAt: zod.ZodOptional<zod.ZodCoercedDate<unknown>>;
1652
+ roleIds: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
1653
+ enabled: zod.ZodOptional<zod.ZodLiteral<true>>;
1654
+ accountStatus: zod.ZodOptional<zod.ZodLiteral<"active">>;
1655
+ }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1656
+ success: zod.ZodLiteral<true>;
1657
+ data: zod.ZodObject<{
1658
+ id: zod.ZodString;
1659
+ username: zod.ZodString;
1660
+ email: zod.ZodOptional<zod.ZodString>;
1661
+ phone: zod.ZodOptional<zod.ZodString>;
1662
+ displayName: zod.ZodOptional<zod.ZodString>;
1663
+ avatarUrl: zod.ZodOptional<zod.ZodString>;
1664
+ enabled: zod.ZodBoolean;
1665
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1666
+ permanent: "permanent";
1667
+ temporary: "temporary";
1668
+ }>>;
1669
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1670
+ active: "active";
1671
+ dormant: "dormant";
1672
+ closed: "closed";
1673
+ }>>;
1674
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1675
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1676
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1677
+ emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1678
+ phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1679
+ createdAt: zod.ZodCoercedDate<unknown>;
1680
+ updatedAt: zod.ZodCoercedDate<unknown>;
1681
+ metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1682
+ }, zod_v4_core.$strip>;
1683
+ }, zod_v4_core.$strip>, zod.ZodObject<{
1684
+ success: zod.ZodLiteral<false>;
1685
+ error: zod.ZodObject<{
1686
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
1687
+ message: zod.ZodString;
1688
+ traceId: zod.ZodOptional<zod.ZodString>;
1689
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
1690
+ system: zod.ZodOptional<zod.ZodString>;
1691
+ module: zod.ZodOptional<zod.ZodString>;
1692
+ cause: zod.ZodOptional<zod.ZodUnknown>;
1693
+ suggestion: zod.ZodOptional<zod.ZodString>;
1694
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
1695
+ }, zod_v4_core.$strip>;
1696
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1325
1697
  list: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1326
1698
  page: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
1327
1699
  pageSize: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
@@ -1342,6 +1714,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1342
1714
  displayName: zod.ZodOptional<zod.ZodString>;
1343
1715
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1344
1716
  enabled: zod.ZodBoolean;
1717
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1718
+ permanent: "permanent";
1719
+ temporary: "temporary";
1720
+ }>>;
1721
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1722
+ active: "active";
1723
+ dormant: "dormant";
1724
+ closed: "closed";
1725
+ }>>;
1726
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1727
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1728
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1345
1729
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1346
1730
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1347
1731
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1378,6 +1762,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1378
1762
  displayName: zod.ZodOptional<zod.ZodString>;
1379
1763
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1380
1764
  enabled: zod.ZodBoolean;
1765
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1766
+ permanent: "permanent";
1767
+ temporary: "temporary";
1768
+ }>>;
1769
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1770
+ active: "active";
1771
+ dormant: "dormant";
1772
+ closed: "closed";
1773
+ }>>;
1774
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1775
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1776
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1381
1777
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1382
1778
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1383
1779
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1399,6 +1795,16 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1399
1795
  }, zod_v4_core.$strip>;
1400
1796
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1401
1797
  create: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1798
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1799
+ permanent: "permanent";
1800
+ temporary: "temporary";
1801
+ }>>;
1802
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1803
+ active: "active";
1804
+ dormant: "dormant";
1805
+ closed: "closed";
1806
+ }>>;
1807
+ accountExpiresAt: zod.ZodOptional<zod.ZodCoercedDate<unknown>>;
1402
1808
  username: zod.ZodString;
1403
1809
  email: zod.ZodOptional<zod.ZodString>;
1404
1810
  phone: zod.ZodOptional<zod.ZodString>;
@@ -1417,6 +1823,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1417
1823
  displayName: zod.ZodOptional<zod.ZodString>;
1418
1824
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1419
1825
  enabled: zod.ZodBoolean;
1826
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1827
+ permanent: "permanent";
1828
+ temporary: "temporary";
1829
+ }>>;
1830
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1831
+ active: "active";
1832
+ dormant: "dormant";
1833
+ closed: "closed";
1834
+ }>>;
1835
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1836
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1837
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1420
1838
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1421
1839
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1422
1840
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1438,6 +1856,16 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1438
1856
  }, zod_v4_core.$strip>;
1439
1857
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1440
1858
  update: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1859
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1860
+ permanent: "permanent";
1861
+ temporary: "temporary";
1862
+ }>>;
1863
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1864
+ active: "active";
1865
+ dormant: "dormant";
1866
+ closed: "closed";
1867
+ }>>;
1868
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1441
1869
  id: zod.ZodString;
1442
1870
  username: zod.ZodOptional<zod.ZodString>;
1443
1871
  email: zod.ZodOptional<zod.ZodString>;
@@ -1457,6 +1885,18 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1457
1885
  displayName: zod.ZodOptional<zod.ZodString>;
1458
1886
  avatarUrl: zod.ZodOptional<zod.ZodString>;
1459
1887
  enabled: zod.ZodBoolean;
1888
+ accountType: zod.ZodOptional<zod.ZodEnum<{
1889
+ permanent: "permanent";
1890
+ temporary: "temporary";
1891
+ }>>;
1892
+ accountStatus: zod.ZodOptional<zod.ZodEnum<{
1893
+ active: "active";
1894
+ dormant: "dormant";
1895
+ closed: "closed";
1896
+ }>>;
1897
+ accountExpiresAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1898
+ lastLoginAt: zod.ZodOptional<zod.ZodNullable<zod.ZodCoercedDate<unknown>>>;
1899
+ mustChangePassword: zod.ZodOptional<zod.ZodBoolean>;
1460
1900
  emailVerified: zod.ZodOptional<zod.ZodBoolean>;
1461
1901
  phoneVerified: zod.ZodOptional<zod.ZodBoolean>;
1462
1902
  createdAt: zod.ZodCoercedDate<unknown>;
@@ -1655,6 +2095,26 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1655
2095
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1656
2096
  };
1657
2097
  permissions: {
2098
+ setSensitiveOperations: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
2099
+ id: zod.ZodString;
2100
+ sensitiveOperations: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodString>>>, zod.ZodTransform<string[], string[] | null | undefined>>;
2101
+ }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
2102
+ success: zod.ZodLiteral<true>;
2103
+ data: zod.ZodVoid;
2104
+ }, zod_v4_core.$strip>, zod.ZodObject<{
2105
+ success: zod.ZodLiteral<false>;
2106
+ error: zod.ZodObject<{
2107
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
2108
+ message: zod.ZodString;
2109
+ traceId: zod.ZodOptional<zod.ZodString>;
2110
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
2111
+ system: zod.ZodOptional<zod.ZodString>;
2112
+ module: zod.ZodOptional<zod.ZodString>;
2113
+ cause: zod.ZodOptional<zod.ZodUnknown>;
2114
+ suggestion: zod.ZodOptional<zod.ZodString>;
2115
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
2116
+ }, zod_v4_core.$strip>;
2117
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1658
2118
  list: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
1659
2119
  page: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
1660
2120
  pageSize: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
@@ -1668,6 +2128,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1668
2128
  success: zod.ZodLiteral<true>;
1669
2129
  data: zod.ZodObject<{
1670
2130
  items: zod.ZodArray<zod.ZodObject<{
2131
+ sensitiveOperations: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodString>>>, zod.ZodTransform<string[], string[] | null | undefined>>;
1671
2132
  id: zod.ZodString;
1672
2133
  code: zod.ZodString;
1673
2134
  name: zod.ZodString;
@@ -1705,6 +2166,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1705
2166
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1706
2167
  success: zod.ZodLiteral<true>;
1707
2168
  data: zod.ZodNullable<zod.ZodObject<{
2169
+ sensitiveOperations: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodString>>>, zod.ZodTransform<string[], string[] | null | undefined>>;
1708
2170
  id: zod.ZodString;
1709
2171
  code: zod.ZodString;
1710
2172
  name: zod.ZodString;
@@ -1734,6 +2196,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1734
2196
  }, zod_v4_core.$strip>;
1735
2197
  }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
1736
2198
  create: _orpc_contract.ContractProcedureBuilderWithInputOutput<zod.ZodObject<{
2199
+ sensitiveOperations: zod.ZodDefault<zod.ZodArray<zod.ZodString>>;
1737
2200
  code: zod.ZodString;
1738
2201
  name: zod.ZodString;
1739
2202
  description: zod.ZodOptional<zod.ZodString>;
@@ -1747,6 +2210,7 @@ declare const defaultApiContract: _h_ai_api_contract.CreatedApiContract<{
1747
2210
  }, zod_v4_core.$strip>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
1748
2211
  success: zod.ZodLiteral<true>;
1749
2212
  data: zod.ZodObject<{
2213
+ sensitiveOperations: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodString>>>, zod.ZodTransform<string[], string[] | null | undefined>>;
1750
2214
  id: zod.ZodString;
1751
2215
  code: zod.ZodString;
1752
2216
  name: zod.ZodString;