@sayren/store-sdk 0.23.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -33,8 +33,8 @@ export declare const auditLogSourceSchema: z.ZodEnum<{
33
33
  }>;
34
34
  export type AuditLogSource = z.infer<typeof auditLogSourceSchema>;
35
35
  export declare const auditLogOutcomeSchema: z.ZodEnum<{
36
- FAILED: "FAILED";
37
36
  SUCCEEDED: "SUCCEEDED";
37
+ FAILED: "FAILED";
38
38
  PENDING_APPROVAL: "PENDING_APPROVAL";
39
39
  DENIED: "DENIED";
40
40
  DRY_RUN: "DRY_RUN";
@@ -69,8 +69,8 @@ export declare const auditLogSchema: z.ZodObject<{
69
69
  path: z.ZodNullable<z.ZodString>;
70
70
  statusCode: z.ZodNullable<z.ZodNumber>;
71
71
  outcome: z.ZodNullable<z.ZodEnum<{
72
- FAILED: "FAILED";
73
72
  SUCCEEDED: "SUCCEEDED";
73
+ FAILED: "FAILED";
74
74
  PENDING_APPROVAL: "PENDING_APPROVAL";
75
75
  DENIED: "DENIED";
76
76
  DRY_RUN: "DRY_RUN";
@@ -102,8 +102,8 @@ export declare const auditLogListQuerySchema: z.ZodObject<{
102
102
  DOMAIN: "DOMAIN";
103
103
  }>>;
104
104
  outcome: z.ZodOptional<z.ZodEnum<{
105
- FAILED: "FAILED";
106
105
  SUCCEEDED: "SUCCEEDED";
106
+ FAILED: "FAILED";
107
107
  PENDING_APPROVAL: "PENDING_APPROVAL";
108
108
  DENIED: "DENIED";
109
109
  DRY_RUN: "DRY_RUN";
@@ -149,8 +149,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
149
149
  path: z.ZodNullable<z.ZodString>;
150
150
  statusCode: z.ZodNullable<z.ZodNumber>;
151
151
  outcome: z.ZodNullable<z.ZodEnum<{
152
- FAILED: "FAILED";
153
152
  SUCCEEDED: "SUCCEEDED";
153
+ FAILED: "FAILED";
154
154
  PENDING_APPROVAL: "PENDING_APPROVAL";
155
155
  DENIED: "DENIED";
156
156
  DRY_RUN: "DRY_RUN";
@@ -213,11 +213,11 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
213
213
  }, z.core.$strip>;
214
214
  export type WriteDryRunResult = z.infer<typeof writeDryRunResultSchema>;
215
215
  export declare const approvalStatusSchema: z.ZodEnum<{
216
- PENDING: "PENDING";
217
- FAILED: "FAILED";
216
+ UNKNOWN: "UNKNOWN";
218
217
  SUCCEEDED: "SUCCEEDED";
218
+ FAILED: "FAILED";
219
+ PENDING: "PENDING";
219
220
  EXECUTING: "EXECUTING";
220
- UNKNOWN: "UNKNOWN";
221
221
  REJECTED: "REJECTED";
222
222
  EXPIRED: "EXPIRED";
223
223
  }>;
@@ -225,11 +225,11 @@ export type ApprovalStatus = z.infer<typeof approvalStatusSchema>;
225
225
  export declare const approvalRequestSchema: z.ZodObject<{
226
226
  approvalId: z.ZodString;
227
227
  status: z.ZodEnum<{
228
- PENDING: "PENDING";
229
- FAILED: "FAILED";
228
+ UNKNOWN: "UNKNOWN";
230
229
  SUCCEEDED: "SUCCEEDED";
230
+ FAILED: "FAILED";
231
+ PENDING: "PENDING";
231
232
  EXECUTING: "EXECUTING";
232
- UNKNOWN: "UNKNOWN";
233
233
  REJECTED: "REJECTED";
234
234
  EXPIRED: "EXPIRED";
235
235
  }>;
@@ -287,11 +287,11 @@ export declare const approvalRequestSchema: z.ZodObject<{
287
287
  export type ApprovalRequest = z.infer<typeof approvalRequestSchema>;
288
288
  export declare const approvalListQuerySchema: z.ZodObject<{
289
289
  status: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodEnum<{
290
- PENDING: "PENDING";
291
- FAILED: "FAILED";
290
+ UNKNOWN: "UNKNOWN";
292
291
  SUCCEEDED: "SUCCEEDED";
292
+ FAILED: "FAILED";
293
+ PENDING: "PENDING";
293
294
  EXECUTING: "EXECUTING";
294
- UNKNOWN: "UNKNOWN";
295
295
  REJECTED: "REJECTED";
296
296
  EXPIRED: "EXPIRED";
297
297
  }>>>>;
@@ -306,11 +306,11 @@ export declare const approvalPageSchema: z.ZodObject<{
306
306
  items: z.ZodArray<z.ZodObject<{
307
307
  approvalId: z.ZodString;
308
308
  status: z.ZodEnum<{
309
- PENDING: "PENDING";
310
- FAILED: "FAILED";
309
+ UNKNOWN: "UNKNOWN";
311
310
  SUCCEEDED: "SUCCEEDED";
311
+ FAILED: "FAILED";
312
+ PENDING: "PENDING";
312
313
  EXECUTING: "EXECUTING";
313
- UNKNOWN: "UNKNOWN";
314
314
  REJECTED: "REJECTED";
315
315
  EXPIRED: "EXPIRED";
316
316
  }>;
@@ -581,20 +581,20 @@ export declare const analyticsProductsSchema: z.ZodObject<{
581
581
  }, z.core.$strip>;
582
582
  export type AnalyticsProducts = z.infer<typeof analyticsProductsSchema>;
583
583
  export declare const analyticsChannelSchema: z.ZodEnum<{
584
- PAID: "PAID";
585
584
  DIRECT: "DIRECT";
586
- CAMPAIGN: "CAMPAIGN";
587
- UNKNOWN: "UNKNOWN";
588
585
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
589
586
  SOCIAL: "SOCIAL";
587
+ PAID: "PAID";
590
588
  EMAIL: "EMAIL";
589
+ CAMPAIGN: "CAMPAIGN";
591
590
  REFERRAL: "REFERRAL";
591
+ UNKNOWN: "UNKNOWN";
592
592
  }>;
593
593
  export type AnalyticsChannel = z.infer<typeof analyticsChannelSchema>;
594
594
  export declare const analyticsSourceGroupBySchema: z.ZodEnum<{
595
+ CAMPAIGN: "CAMPAIGN";
595
596
  CHANNEL: "CHANNEL";
596
597
  SOURCE: "SOURCE";
597
- CAMPAIGN: "CAMPAIGN";
598
598
  DEVICE: "DEVICE";
599
599
  }>;
600
600
  export type AnalyticsSourceGroupBy = z.infer<typeof analyticsSourceGroupBySchema>;
@@ -606,23 +606,23 @@ export declare const analyticsSourcesQuerySchema: z.ZodObject<{
606
606
  false: "false";
607
607
  }>>;
608
608
  groupBy: z.ZodOptional<z.ZodEnum<{
609
+ CAMPAIGN: "CAMPAIGN";
609
610
  CHANNEL: "CHANNEL";
610
611
  SOURCE: "SOURCE";
611
- CAMPAIGN: "CAMPAIGN";
612
612
  DEVICE: "DEVICE";
613
613
  }>>;
614
614
  }, z.core.$strip>;
615
615
  export type AnalyticsSourcesParams = z.infer<typeof analyticsSourcesQuerySchema>;
616
616
  export declare const analyticsSourceRowSchema: z.ZodObject<{
617
617
  channel: z.ZodNullable<z.ZodEnum<{
618
- PAID: "PAID";
619
618
  DIRECT: "DIRECT";
620
- CAMPAIGN: "CAMPAIGN";
621
- UNKNOWN: "UNKNOWN";
622
619
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
623
620
  SOCIAL: "SOCIAL";
621
+ PAID: "PAID";
624
622
  EMAIL: "EMAIL";
623
+ CAMPAIGN: "CAMPAIGN";
625
624
  REFERRAL: "REFERRAL";
625
+ UNKNOWN: "UNKNOWN";
626
626
  }>>;
627
627
  source: z.ZodNullable<z.ZodString>;
628
628
  medium: z.ZodNullable<z.ZodString>;
@@ -644,21 +644,21 @@ export declare const analyticsSourceRowSchema: z.ZodObject<{
644
644
  export type AnalyticsSourceRow = z.infer<typeof analyticsSourceRowSchema>;
645
645
  export declare const analyticsSourcesSchema: z.ZodObject<{
646
646
  groupBy: z.ZodEnum<{
647
+ CAMPAIGN: "CAMPAIGN";
647
648
  CHANNEL: "CHANNEL";
648
649
  SOURCE: "SOURCE";
649
- CAMPAIGN: "CAMPAIGN";
650
650
  DEVICE: "DEVICE";
651
651
  }>;
652
652
  rows: z.ZodArray<z.ZodObject<{
653
653
  channel: z.ZodNullable<z.ZodEnum<{
654
- PAID: "PAID";
655
654
  DIRECT: "DIRECT";
656
- CAMPAIGN: "CAMPAIGN";
657
- UNKNOWN: "UNKNOWN";
658
655
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
659
656
  SOCIAL: "SOCIAL";
657
+ PAID: "PAID";
660
658
  EMAIL: "EMAIL";
659
+ CAMPAIGN: "CAMPAIGN";
661
660
  REFERRAL: "REFERRAL";
661
+ UNKNOWN: "UNKNOWN";
662
662
  }>>;
663
663
  source: z.ZodNullable<z.ZodString>;
664
664
  medium: z.ZodNullable<z.ZodString>;
@@ -807,12 +807,12 @@ export declare const analyticsSearchSchema: z.ZodObject<{
807
807
  }, z.core.$strip>;
808
808
  export type AnalyticsSearch = z.infer<typeof analyticsSearchSchema>;
809
809
  export declare const analyticsCheckoutOutcomeSchema: z.ZodEnum<{
810
- OTHER: "OTHER";
811
810
  COMPLETED: "COMPLETED";
812
811
  NOT_OPENED: "NOT_OPENED";
813
812
  USER_CANCELED: "USER_CANCELED";
814
813
  DECLINED: "DECLINED";
815
814
  PREPARE_FAILURE: "PREPARE_FAILURE";
815
+ OTHER: "OTHER";
816
816
  IN_PROGRESS: "IN_PROGRESS";
817
817
  }>;
818
818
  export type AnalyticsCheckoutOutcome = z.infer<typeof analyticsCheckoutOutcomeSchema>;
@@ -820,12 +820,12 @@ export declare const analyticsCheckoutSchema: z.ZodObject<{
820
820
  sessions: z.ZodNumber;
821
821
  outcomes: z.ZodArray<z.ZodObject<{
822
822
  outcome: z.ZodEnum<{
823
- OTHER: "OTHER";
824
823
  COMPLETED: "COMPLETED";
825
824
  NOT_OPENED: "NOT_OPENED";
826
825
  USER_CANCELED: "USER_CANCELED";
827
826
  DECLINED: "DECLINED";
828
827
  PREPARE_FAILURE: "PREPARE_FAILURE";
828
+ OTHER: "OTHER";
829
829
  IN_PROGRESS: "IN_PROGRESS";
830
830
  }>;
831
831
  sessions: z.ZodNumber;
@@ -839,113 +839,6 @@ export declare const analyticsCheckoutSchema: z.ZodObject<{
839
839
  }, z.core.$strip>;
840
840
  export type AnalyticsCheckout = z.infer<typeof analyticsCheckoutSchema>;
841
841
  //#endregion
842
- //#region src/schemas/api-client.d.ts
843
- /**
844
- * 앱(OAuth 클라이언트) 관리 — `/v1/store/api-clients` (auth-spec 부록 B-13).
845
- * 등록은 DCR(`POST /v1/oauth2/register`, RFC 7591)이 담당하고, 이 스키마는 등록 이후의
846
- * 목록·상세·시크릿 재발급·비활성화 응답 계약이다. 시크릿 해시는 어떤 응답에도 포함되지 않는다.
847
- */
848
- export declare const apiClientTypeSchema: z.ZodEnum<{
849
- public: "public";
850
- confidential: "confidential";
851
- }>;
852
- export type ApiClientType = z.infer<typeof apiClientTypeSchema>;
853
- export declare const apiClientStatusSchema: z.ZodEnum<{
854
- ACTIVE: "ACTIVE";
855
- REVOKED: "REVOKED";
856
- }>;
857
- export type ApiClientStatus = z.infer<typeof apiClientStatusSchema>;
858
- export declare const apiClientSchema: z.ZodObject<{
859
- clientId: z.ZodString;
860
- name: z.ZodString;
861
- type: z.ZodEnum<{
862
- public: "public";
863
- confidential: "confidential";
864
- }>;
865
- status: z.ZodEnum<{
866
- ACTIVE: "ACTIVE";
867
- REVOKED: "REVOKED";
868
- }>;
869
- redirectUris: z.ZodArray<z.ZodString>;
870
- scopes: z.ZodArray<z.ZodString>;
871
- grantTypes: z.ZodArray<z.ZodString>;
872
- secretPrefix: z.ZodNullable<z.ZodString>;
873
- createdBy: z.ZodNullable<z.ZodString>;
874
- createdByName: z.ZodNullable<z.ZodString>;
875
- createdByEmail: z.ZodNullable<z.ZodString>;
876
- createdAt: z.ZodString;
877
- revokedAt: z.ZodNullable<z.ZodString>;
878
- }, z.core.$strip>;
879
- export type ApiClient = z.infer<typeof apiClientSchema>;
880
- /** 시크릿 재발급 응답 — 평문 시크릿은 이 응답에서 단 한 번만 노출된다 */
881
- export declare const apiClientSecretRotatedSchema: z.ZodObject<{
882
- clientId: z.ZodString;
883
- name: z.ZodString;
884
- type: z.ZodEnum<{
885
- public: "public";
886
- confidential: "confidential";
887
- }>;
888
- status: z.ZodEnum<{
889
- ACTIVE: "ACTIVE";
890
- REVOKED: "REVOKED";
891
- }>;
892
- redirectUris: z.ZodArray<z.ZodString>;
893
- scopes: z.ZodArray<z.ZodString>;
894
- grantTypes: z.ZodArray<z.ZodString>;
895
- secretPrefix: z.ZodNullable<z.ZodString>;
896
- createdBy: z.ZodNullable<z.ZodString>;
897
- createdByName: z.ZodNullable<z.ZodString>;
898
- createdByEmail: z.ZodNullable<z.ZodString>;
899
- createdAt: z.ZodString;
900
- revokedAt: z.ZodNullable<z.ZodString>;
901
- clientSecret: z.ZodString;
902
- }, z.core.$strip>;
903
- export type ApiClientSecretRotated = z.infer<typeof apiClientSecretRotatedSchema>;
904
- export declare const apiClientListQuerySchema: z.ZodObject<{
905
- status: z.ZodOptional<z.ZodEnum<{
906
- ACTIVE: "ACTIVE";
907
- REVOKED: "REVOKED";
908
- }>>;
909
- }, z.core.$strip>;
910
- export type ApiClientListParams = z.infer<typeof apiClientListQuerySchema>;
911
- /**
912
- * Dynamic Client Registration 요청 (RFC 7591 §2, auth-spec §12) — `POST /v1/oauth2/register`.
913
- * OAuth 프로토콜 표면이라 필드명이 snake_case이고 응답·등록 오류는 평면 JSON이다.
914
- * 생략한 필드는 서버 기본값을 따른다(SDK가 기본값을 채워 보내지 않는다).
915
- */
916
- export declare const oauthClientRegistrationRequestSchema: z.ZodObject<{
917
- client_name: z.ZodString;
918
- token_endpoint_auth_method: z.ZodOptional<z.ZodEnum<{
919
- none: "none";
920
- client_secret_basic: "client_secret_basic";
921
- }>>;
922
- redirect_uris: z.ZodOptional<z.ZodArray<z.ZodString>>;
923
- grant_types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
924
- authorization_code: "authorization_code";
925
- refresh_token: "refresh_token";
926
- client_credentials: "client_credentials";
927
- "urn:ietf:params:oauth:grant-type:token-exchange": "urn:ietf:params:oauth:grant-type:token-exchange";
928
- }>>>;
929
- scope: z.ZodOptional<z.ZodString>;
930
- }, z.core.$strip>;
931
- export type OAuthClientRegistrationRequest = z.infer<typeof oauthClientRegistrationRequestSchema>;
932
- /** Dynamic Client Registration 응답 (RFC 7591 §3.2.1) — client_secret은 이 응답에서만 노출된다 */
933
- export declare const oauthClientRegistrationResponseSchema: z.ZodObject<{
934
- client_id: z.ZodString;
935
- client_secret: z.ZodOptional<z.ZodString>;
936
- client_secret_expires_at: z.ZodOptional<z.ZodNumber>;
937
- client_id_issued_at: z.ZodNumber;
938
- client_name: z.ZodString;
939
- token_endpoint_auth_method: z.ZodEnum<{
940
- none: "none";
941
- client_secret_basic: "client_secret_basic";
942
- }>;
943
- redirect_uris: z.ZodArray<z.ZodString>;
944
- grant_types: z.ZodArray<z.ZodString>;
945
- scope: z.ZodString;
946
- }, z.core.$strip>;
947
- export type OAuthClientRegistrationResponse = z.infer<typeof oauthClientRegistrationResponseSchema>;
948
- //#endregion
949
842
  //#region src/schemas/api-log.d.ts
950
843
  /**
951
844
  * API 로그 — `/v1/api-logs`. 스토어가 해석된 관리 API(`/v1/**`) 요청을 7일간 보관한다.
@@ -1071,111 +964,13 @@ export declare const apiLogSummarySchema: z.ZodObject<{
1071
964
  }, z.core.$strip>;
1072
965
  export type ApiLogSummary = z.infer<typeof apiLogSummarySchema>;
1073
966
  //#endregion
1074
- //#region src/schemas/auth.d.ts
1075
- export declare const storeRoleSchema: z.ZodEnum<{
1076
- ADMIN: "ADMIN";
1077
- STAFF: "STAFF";
1078
- OWNER: "OWNER";
1079
- }>;
1080
- export type StoreRole = z.infer<typeof storeRoleSchema>;
1081
- export declare const userTokenResponseSchema: z.ZodObject<{
1082
- access_token: z.ZodString;
1083
- token_type: z.ZodLiteral<"Bearer">;
1084
- expires_in: z.ZodNumber;
1085
- refresh_token: z.ZodOptional<z.ZodString>;
1086
- }, z.core.$strip>;
1087
- export type UserTokenResponse = z.infer<typeof userTokenResponseSchema>;
1088
- /** client_credentials 응답 (RFC 6749 §4.4.3) — storeToken 직발급, refresh 없음 */
1089
- export declare const clientCredentialsTokenResponseSchema: z.ZodObject<{
1090
- access_token: z.ZodString;
1091
- token_type: z.ZodLiteral<"Bearer">;
1092
- expires_in: z.ZodNumber;
1093
- scope: z.ZodString;
1094
- }, z.core.$strip>;
1095
- export type ClientCredentialsTokenResponse = z.infer<typeof clientCredentialsTokenResponseSchema>;
1096
- export declare const storeTokenResponseSchema: z.ZodObject<{
1097
- access_token: z.ZodString;
1098
- token_type: z.ZodLiteral<"Bearer">;
1099
- expires_in: z.ZodNumber;
1100
- storeId: z.ZodString;
1101
- role: z.ZodEnum<{
1102
- ADMIN: "ADMIN";
1103
- STAFF: "STAFF";
1104
- OWNER: "OWNER";
1105
- }>;
1106
- scopes: z.ZodArray<z.ZodString>;
1107
- }, z.core.$strip>;
1108
- export type StoreTokenResponse = z.infer<typeof storeTokenResponseSchema>;
1109
- export declare const myStoreSchema: z.ZodObject<{
1110
- storeId: z.ZodString;
1111
- storeName: z.ZodString;
1112
- storeCode: z.ZodString;
1113
- role: z.ZodEnum<{
1114
- ADMIN: "ADMIN";
1115
- STAFF: "STAFF";
1116
- OWNER: "OWNER";
1117
- }>;
1118
- status: z.ZodEnum<{
1119
- ACTIVE: "ACTIVE";
1120
- SUSPENDED: "SUSPENDED";
1121
- CLOSED: "CLOSED";
1122
- }>;
1123
- }, z.core.$strip>;
1124
- export type MyStore = z.infer<typeof myStoreSchema>;
1125
- export declare const myAccountSchema: z.ZodObject<{
1126
- userId: z.ZodString;
1127
- email: z.ZodEmail;
1128
- name: z.ZodString;
1129
- storeCount: z.ZodNumber;
1130
- createdAt: z.ZodString;
1131
- }, z.core.$strip>;
1132
- export type MyAccount = z.infer<typeof myAccountSchema>;
1133
- /** API 토큰(PAT) — 목록/조회 뷰 (평문·해시 미포함) */
1134
- export declare const apiTokenSchema: z.ZodObject<{
1135
- tokenId: z.ZodString;
1136
- name: z.ZodString;
1137
- prefix: z.ZodString;
1138
- scopes: z.ZodArray<z.ZodString>;
1139
- createdBy: z.ZodString;
1140
- createdByName: z.ZodNullable<z.ZodString>;
1141
- createdByEmail: z.ZodNullable<z.ZodString>;
1142
- createdAt: z.ZodString;
1143
- expiresAt: z.ZodNullable<z.ZodString>;
1144
- lastUsedAt: z.ZodNullable<z.ZodString>;
1145
- agent: z.ZodDefault<z.ZodBoolean>;
1146
- }, z.core.$strip>;
1147
- export type ApiToken = z.infer<typeof apiTokenSchema>;
1148
- /** 생성 응답 — 평문 토큰은 이 응답에서 단 한 번만 노출된다 */
1149
- export declare const apiTokenCreatedSchema: z.ZodObject<{
1150
- tokenId: z.ZodString;
1151
- name: z.ZodString;
1152
- prefix: z.ZodString;
1153
- scopes: z.ZodArray<z.ZodString>;
1154
- createdBy: z.ZodString;
1155
- createdByName: z.ZodNullable<z.ZodString>;
1156
- createdByEmail: z.ZodNullable<z.ZodString>;
1157
- createdAt: z.ZodString;
1158
- expiresAt: z.ZodNullable<z.ZodString>;
1159
- lastUsedAt: z.ZodNullable<z.ZodString>;
1160
- agent: z.ZodDefault<z.ZodBoolean>;
1161
- token: z.ZodString;
1162
- }, z.core.$strip>;
1163
- export type ApiTokenCreated = z.infer<typeof apiTokenCreatedSchema>;
1164
- export declare const apiTokenCreateRequestSchema: z.ZodObject<{
1165
- name: z.ZodString;
1166
- scopes: z.ZodArray<z.ZodString>;
1167
- expiresInDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1168
- agent: z.ZodOptional<z.ZodBoolean>;
1169
- }, z.core.$strip>;
1170
- export type ApiTokenCreateRequest = z.infer<typeof apiTokenCreateRequestSchema>;
1171
- //#endregion
1172
967
  //#region src/schemas/category.d.ts
1173
968
  export declare const categoryProductSortSchema: z.ZodEnum<{
1174
- NAME: "NAME";
1175
969
  RECENT: "RECENT";
1176
970
  POPULAR: "POPULAR";
1177
971
  PRICE_LOW: "PRICE_LOW";
1178
972
  PRICE_HIGH: "PRICE_HIGH";
973
+ NAME: "NAME";
1179
974
  }>;
1180
975
  export type CategoryProductSort = z.infer<typeof categoryProductSortSchema>;
1181
976
  export declare const categorySchema: z.ZodObject<{
@@ -1191,11 +986,11 @@ export declare const categorySchema: z.ZodObject<{
1191
986
  showPc: z.ZodBoolean;
1192
987
  showMobile: z.ZodBoolean;
1193
988
  productSort: z.ZodEnum<{
1194
- NAME: "NAME";
1195
989
  RECENT: "RECENT";
1196
990
  POPULAR: "POPULAR";
1197
991
  PRICE_LOW: "PRICE_LOW";
1198
992
  PRICE_HIGH: "PRICE_HIGH";
993
+ NAME: "NAME";
1199
994
  }>;
1200
995
  metaTitle: z.ZodNullable<z.ZodString>;
1201
996
  metaDescription: z.ZodNullable<z.ZodString>;
@@ -1221,11 +1016,11 @@ export declare const categoryWithPathSchema: z.ZodObject<{
1221
1016
  showPc: z.ZodBoolean;
1222
1017
  showMobile: z.ZodBoolean;
1223
1018
  productSort: z.ZodEnum<{
1224
- NAME: "NAME";
1225
1019
  RECENT: "RECENT";
1226
1020
  POPULAR: "POPULAR";
1227
1021
  PRICE_LOW: "PRICE_LOW";
1228
1022
  PRICE_HIGH: "PRICE_HIGH";
1023
+ NAME: "NAME";
1229
1024
  }>;
1230
1025
  metaTitle: z.ZodNullable<z.ZodString>;
1231
1026
  metaDescription: z.ZodNullable<z.ZodString>;
@@ -1246,11 +1041,11 @@ export declare const categoryWithPathSchema: z.ZodObject<{
1246
1041
  showPc: z.ZodBoolean;
1247
1042
  showMobile: z.ZodBoolean;
1248
1043
  productSort: z.ZodEnum<{
1249
- NAME: "NAME";
1250
1044
  RECENT: "RECENT";
1251
1045
  POPULAR: "POPULAR";
1252
1046
  PRICE_LOW: "PRICE_LOW";
1253
1047
  PRICE_HIGH: "PRICE_HIGH";
1048
+ NAME: "NAME";
1254
1049
  }>;
1255
1050
  metaTitle: z.ZodNullable<z.ZodString>;
1256
1051
  metaDescription: z.ZodNullable<z.ZodString>;
@@ -1274,11 +1069,11 @@ export declare const categorySearchResultSchema: z.ZodObject<{
1274
1069
  showPc: z.ZodBoolean;
1275
1070
  showMobile: z.ZodBoolean;
1276
1071
  productSort: z.ZodEnum<{
1277
- NAME: "NAME";
1278
1072
  RECENT: "RECENT";
1279
1073
  POPULAR: "POPULAR";
1280
1074
  PRICE_LOW: "PRICE_LOW";
1281
1075
  PRICE_HIGH: "PRICE_HIGH";
1076
+ NAME: "NAME";
1282
1077
  }>;
1283
1078
  metaTitle: z.ZodNullable<z.ZodString>;
1284
1079
  metaDescription: z.ZodNullable<z.ZodString>;
@@ -1299,11 +1094,11 @@ export declare const categorySearchResultSchema: z.ZodObject<{
1299
1094
  showPc: z.ZodBoolean;
1300
1095
  showMobile: z.ZodBoolean;
1301
1096
  productSort: z.ZodEnum<{
1302
- NAME: "NAME";
1303
1097
  RECENT: "RECENT";
1304
1098
  POPULAR: "POPULAR";
1305
1099
  PRICE_LOW: "PRICE_LOW";
1306
1100
  PRICE_HIGH: "PRICE_HIGH";
1101
+ NAME: "NAME";
1307
1102
  }>;
1308
1103
  metaTitle: z.ZodNullable<z.ZodString>;
1309
1104
  metaDescription: z.ZodNullable<z.ZodString>;
@@ -1335,11 +1130,11 @@ export declare const categoryCreateRequestSchema: z.ZodObject<{
1335
1130
  showPc: z.ZodOptional<z.ZodBoolean>;
1336
1131
  showMobile: z.ZodOptional<z.ZodBoolean>;
1337
1132
  productSort: z.ZodOptional<z.ZodEnum<{
1338
- NAME: "NAME";
1339
1133
  RECENT: "RECENT";
1340
1134
  POPULAR: "POPULAR";
1341
1135
  PRICE_LOW: "PRICE_LOW";
1342
1136
  PRICE_HIGH: "PRICE_HIGH";
1137
+ NAME: "NAME";
1343
1138
  }>>;
1344
1139
  metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1345
1140
  metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1354,11 +1149,11 @@ export declare const categoryPatchRequestSchema: z.ZodObject<{
1354
1149
  showPc: z.ZodOptional<z.ZodBoolean>;
1355
1150
  showMobile: z.ZodOptional<z.ZodBoolean>;
1356
1151
  productSort: z.ZodOptional<z.ZodEnum<{
1357
- NAME: "NAME";
1358
1152
  RECENT: "RECENT";
1359
1153
  POPULAR: "POPULAR";
1360
1154
  PRICE_LOW: "PRICE_LOW";
1361
1155
  PRICE_HIGH: "PRICE_HIGH";
1156
+ NAME: "NAME";
1362
1157
  }>>;
1363
1158
  metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1364
1159
  metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1463,12 +1258,13 @@ export type ChangeType = z.infer<typeof changeTypeSchema>;
1463
1258
  //#endregion
1464
1259
  //#region src/schemas/claim.d.ts
1465
1260
  export declare const claimTypeSchema: z.ZodEnum<{
1261
+ CANCEL: "CANCEL";
1466
1262
  RETURN: "RETURN";
1467
1263
  EXCHANGE: "EXCHANGE";
1468
- CANCEL: "CANCEL";
1469
1264
  }>;
1470
1265
  export type ClaimType = z.infer<typeof claimTypeSchema>;
1471
1266
  export declare const claimStatusSchema: z.ZodEnum<{
1267
+ COMPLETED: "COMPLETED";
1472
1268
  REJECTED: "REJECTED";
1473
1269
  REQUESTED: "REQUESTED";
1474
1270
  HELD: "HELD";
@@ -1476,7 +1272,6 @@ export declare const claimStatusSchema: z.ZodEnum<{
1476
1272
  COLLECTED: "COLLECTED";
1477
1273
  REDELIVERING: "REDELIVERING";
1478
1274
  APPROVED: "APPROVED";
1479
- COMPLETED: "COMPLETED";
1480
1275
  WITHDRAWN: "WITHDRAWN";
1481
1276
  }>;
1482
1277
  export type ClaimStatus = z.infer<typeof claimStatusSchema>;
@@ -1508,11 +1303,12 @@ export type ClaimReturnAddress = z.infer<typeof claimReturnAddressSchema>;
1508
1303
  export declare const claimSchema: z.ZodObject<{
1509
1304
  claimId: z.ZodString;
1510
1305
  type: z.ZodEnum<{
1306
+ CANCEL: "CANCEL";
1511
1307
  RETURN: "RETURN";
1512
1308
  EXCHANGE: "EXCHANGE";
1513
- CANCEL: "CANCEL";
1514
1309
  }>;
1515
1310
  status: z.ZodEnum<{
1311
+ COMPLETED: "COMPLETED";
1516
1312
  REJECTED: "REJECTED";
1517
1313
  REQUESTED: "REQUESTED";
1518
1314
  HELD: "HELD";
@@ -1520,7 +1316,6 @@ export declare const claimSchema: z.ZodObject<{
1520
1316
  COLLECTED: "COLLECTED";
1521
1317
  REDELIVERING: "REDELIVERING";
1522
1318
  APPROVED: "APPROVED";
1523
- COMPLETED: "COMPLETED";
1524
1319
  WITHDRAWN: "WITHDRAWN";
1525
1320
  }>;
1526
1321
  orderId: z.ZodString;
@@ -1583,9 +1378,9 @@ export declare const claimListQuerySchema: z.ZodObject<{
1583
1378
  page: z.ZodOptional<z.ZodString>;
1584
1379
  size: z.ZodOptional<z.ZodString>;
1585
1380
  type: z.ZodOptional<z.ZodEnum<{
1381
+ CANCEL: "CANCEL";
1586
1382
  RETURN: "RETURN";
1587
1383
  EXCHANGE: "EXCHANGE";
1588
- CANCEL: "CANCEL";
1589
1384
  }>>;
1590
1385
  status: z.ZodOptional<z.ZodString>;
1591
1386
  orderItemId: z.ZodOptional<z.ZodString>;
@@ -1596,11 +1391,12 @@ export declare const claimListQuerySchema: z.ZodObject<{
1596
1391
  export declare const claimDetailSchema: z.ZodObject<{
1597
1392
  claimId: z.ZodString;
1598
1393
  type: z.ZodEnum<{
1394
+ CANCEL: "CANCEL";
1599
1395
  RETURN: "RETURN";
1600
1396
  EXCHANGE: "EXCHANGE";
1601
- CANCEL: "CANCEL";
1602
1397
  }>;
1603
1398
  status: z.ZodEnum<{
1399
+ COMPLETED: "COMPLETED";
1604
1400
  REJECTED: "REJECTED";
1605
1401
  REQUESTED: "REQUESTED";
1606
1402
  HELD: "HELD";
@@ -1608,7 +1404,6 @@ export declare const claimDetailSchema: z.ZodObject<{
1608
1404
  COLLECTED: "COLLECTED";
1609
1405
  REDELIVERING: "REDELIVERING";
1610
1406
  APPROVED: "APPROVED";
1611
- COMPLETED: "COMPLETED";
1612
1407
  WITHDRAWN: "WITHDRAWN";
1613
1408
  }>;
1614
1409
  orderId: z.ZodString;
@@ -1658,6 +1453,7 @@ export declare const claimDetailSchema: z.ZodObject<{
1658
1453
  }, z.core.$strip>>;
1659
1454
  histories: z.ZodOptional<z.ZodArray<z.ZodObject<{
1660
1455
  status: z.ZodEnum<{
1456
+ COMPLETED: "COMPLETED";
1661
1457
  REJECTED: "REJECTED";
1662
1458
  REQUESTED: "REQUESTED";
1663
1459
  HELD: "HELD";
@@ -1665,7 +1461,6 @@ export declare const claimDetailSchema: z.ZodObject<{
1665
1461
  COLLECTED: "COLLECTED";
1666
1462
  REDELIVERING: "REDELIVERING";
1667
1463
  APPROVED: "APPROVED";
1668
- COMPLETED: "COMPLETED";
1669
1464
  WITHDRAWN: "WITHDRAWN";
1670
1465
  }>;
1671
1466
  actor: z.ZodEnum<{
@@ -1685,11 +1480,11 @@ export declare const claimHoldResultSchema: z.ZodObject<{
1685
1480
  export type ClaimHoldResult = z.infer<typeof claimHoldResultSchema>;
1686
1481
  export declare const rejectClaimRequestSchema: z.ZodObject<{
1687
1482
  reason: z.ZodEnum<{
1688
- ETC: "ETC";
1689
1483
  USED_PRODUCT: "USED_PRODUCT";
1690
1484
  MISSING_COMPONENT: "MISSING_COMPONENT";
1691
1485
  PERIOD_EXPIRED: "PERIOD_EXPIRED";
1692
1486
  BUYER_FAULT_DAMAGE: "BUYER_FAULT_DAMAGE";
1487
+ ETC: "ETC";
1693
1488
  }>;
1694
1489
  detail: z.ZodString;
1695
1490
  evidenceImages: z.ZodOptional<z.ZodArray<z.ZodURL>>;
@@ -1725,8 +1520,8 @@ export declare const couponStatusSchema: z.ZodEnum<{
1725
1520
  export type CouponStatus = z.infer<typeof couponStatusSchema>;
1726
1521
  /** 지금 만들 수 있는 발급 방식 — 다운로드·가입 자동 지급은 뒤 단계다 */
1727
1522
  export declare const couponIssueMethodSchema: z.ZodEnum<{
1728
- MANUAL: "MANUAL";
1729
1523
  CODE: "CODE";
1524
+ MANUAL: "MANUAL";
1730
1525
  }>;
1731
1526
  export type CouponIssueMethod = z.infer<typeof couponIssueMethodSchema>;
1732
1527
  /** 코드 형식 — 영문·숫자·`-`·`_` 6~30자. 대소문자를 구분하지 않고 서버가 대문자로 저장한다 */
@@ -1777,8 +1572,8 @@ export declare const createCouponRequestSchema: z.ZodObject<{
1777
1572
  excludeCategoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1778
1573
  }, z.core.$strict>>;
1779
1574
  issueMethod: z.ZodEnum<{
1780
- MANUAL: "MANUAL";
1781
1575
  CODE: "CODE";
1576
+ MANUAL: "MANUAL";
1782
1577
  }>;
1783
1578
  code: z.ZodOptional<z.ZodString>;
1784
1579
  startsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
@@ -1895,8 +1690,8 @@ export declare const couponListQuerySchema: z.ZodObject<{
1895
1690
  DELIVERY: "DELIVERY";
1896
1691
  }>>;
1897
1692
  issueMethod: z.ZodOptional<z.ZodEnum<{
1898
- MANUAL: "MANUAL";
1899
1693
  CODE: "CODE";
1694
+ MANUAL: "MANUAL";
1900
1695
  }>>;
1901
1696
  q: z.ZodOptional<z.ZodString>;
1902
1697
  }, z.core.$strip>;
@@ -1919,10 +1714,10 @@ export declare const couponIssueListQuerySchema: z.ZodObject<{
1919
1714
  page: z.ZodOptional<z.ZodString>;
1920
1715
  size: z.ZodOptional<z.ZodString>;
1921
1716
  status: z.ZodOptional<z.ZodEnum<{
1922
- REVOKED: "REVOKED";
1923
1717
  AVAILABLE: "AVAILABLE";
1924
1718
  RESERVED: "RESERVED";
1925
1719
  USED: "USED";
1720
+ REVOKED: "REVOKED";
1926
1721
  }>>;
1927
1722
  }, z.core.$strip>;
1928
1723
  /** `POST /v1/coupons/{couponId}/issues` — 셀러 지급. 한 번에 1,000명까지 */
@@ -2298,10 +2093,10 @@ export type CustomerOrder = z.infer<typeof customerOrderSchema>;
2298
2093
  /** `POST /v1/customers/{id}/withdraw` 본문 */
2299
2094
  export declare const withdrawCustomerRequestSchema: z.ZodObject<{
2300
2095
  reason: z.ZodEnum<{
2096
+ OTHER: "OTHER";
2301
2097
  BUYER_REQUEST: "BUYER_REQUEST";
2302
2098
  DORMANT: "DORMANT";
2303
2099
  ABUSE: "ABUSE";
2304
- OTHER: "OTHER";
2305
2100
  }>;
2306
2101
  memo: z.ZodOptional<z.ZodString>;
2307
2102
  }, z.core.$strip>;
@@ -2396,11 +2191,11 @@ export declare const inquirySchema: z.ZodObject<{
2396
2191
  productName: z.ZodString;
2397
2192
  orderItemId: z.ZodNullable<z.ZodString>;
2398
2193
  category: z.ZodEnum<{
2399
- ETC: "ETC";
2400
2194
  PRODUCT: "PRODUCT";
2401
2195
  DELIVERY: "DELIVERY";
2402
2196
  RETURN: "RETURN";
2403
2197
  EXCHANGE: "EXCHANGE";
2198
+ ETC: "ETC";
2404
2199
  }>;
2405
2200
  content: z.ZodString;
2406
2201
  secret: z.ZodBoolean;
@@ -2415,10 +2210,10 @@ export declare const inquirySchema: z.ZodObject<{
2415
2210
  }, z.core.$strip>;
2416
2211
  export type Inquiry = z.infer<typeof inquirySchema>;
2417
2212
  export declare const customerInquiryCategorySchema: z.ZodEnum<{
2418
- ETC: "ETC";
2419
2213
  DELIVERY: "DELIVERY";
2420
2214
  RETURN: "RETURN";
2421
2215
  EXCHANGE: "EXCHANGE";
2216
+ ETC: "ETC";
2422
2217
  PAYMENT: "PAYMENT";
2423
2218
  }>;
2424
2219
  export type CustomerInquiryCategory = z.infer<typeof customerInquiryCategorySchema>;
@@ -2427,10 +2222,10 @@ export declare const sellerCustomerInquirySchema: z.ZodObject<{
2427
2222
  inquiryId: z.ZodString;
2428
2223
  memberMaskedName: z.ZodString;
2429
2224
  category: z.ZodEnum<{
2430
- ETC: "ETC";
2431
2225
  DELIVERY: "DELIVERY";
2432
2226
  RETURN: "RETURN";
2433
2227
  EXCHANGE: "EXCHANGE";
2228
+ ETC: "ETC";
2434
2229
  PAYMENT: "PAYMENT";
2435
2230
  }>;
2436
2231
  title: z.ZodString;
@@ -2465,10 +2260,10 @@ export declare const customerInquiryListQuerySchema: z.ZodObject<{
2465
2260
  false: "false";
2466
2261
  }>>;
2467
2262
  category: z.ZodOptional<z.ZodEnum<{
2468
- ETC: "ETC";
2469
2263
  DELIVERY: "DELIVERY";
2470
2264
  RETURN: "RETURN";
2471
2265
  EXCHANGE: "EXCHANGE";
2266
+ ETC: "ETC";
2472
2267
  PAYMENT: "PAYMENT";
2473
2268
  }>>;
2474
2269
  from: z.ZodOptional<z.ZodString>;
@@ -2659,10 +2454,10 @@ export declare const webhookSecretRotatedSchema: z.ZodObject<{
2659
2454
  }, z.core.$strip>;
2660
2455
  export type WebhookSecretRotated = z.infer<typeof webhookSecretRotatedSchema>;
2661
2456
  export declare const webhookDeliveryStatusSchema: z.ZodEnum<{
2457
+ FAILED: "FAILED";
2662
2458
  PENDING: "PENDING";
2663
2459
  PENDING_RETRY: "PENDING_RETRY";
2664
2460
  SUCCESS: "SUCCESS";
2665
- FAILED: "FAILED";
2666
2461
  }>;
2667
2462
  export type WebhookDeliveryStatus = z.infer<typeof webhookDeliveryStatusSchema>;
2668
2463
  export declare const webhookDeliveryErrorCodeSchema: z.ZodEnum<{
@@ -2724,10 +2519,10 @@ export declare const webhookDeliverySchema: z.ZodObject<{
2724
2519
  }>;
2725
2520
  url: z.ZodString;
2726
2521
  status: z.ZodEnum<{
2522
+ FAILED: "FAILED";
2727
2523
  PENDING: "PENDING";
2728
2524
  PENDING_RETRY: "PENDING_RETRY";
2729
2525
  SUCCESS: "SUCCESS";
2730
- FAILED: "FAILED";
2731
2526
  }>;
2732
2527
  responseStatusCode: z.ZodNullable<z.ZodNumber>;
2733
2528
  responseTimeMs: z.ZodNullable<z.ZodNumber>;
@@ -2777,10 +2572,10 @@ export declare const webhookDeliveryDetailSchema: z.ZodObject<{
2777
2572
  }>;
2778
2573
  url: z.ZodString;
2779
2574
  status: z.ZodEnum<{
2575
+ FAILED: "FAILED";
2780
2576
  PENDING: "PENDING";
2781
2577
  PENDING_RETRY: "PENDING_RETRY";
2782
2578
  SUCCESS: "SUCCESS";
2783
- FAILED: "FAILED";
2784
2579
  }>;
2785
2580
  responseStatusCode: z.ZodNullable<z.ZodNumber>;
2786
2581
  responseTimeMs: z.ZodNullable<z.ZodNumber>;
@@ -2815,10 +2610,10 @@ export type WebhookDeliveryDetail = z.infer<typeof webhookDeliveryDetailSchema>;
2815
2610
  /** 전송 기록 조회 쿼리 — `GET /webhooks/{id}/deliveries` */
2816
2611
  export declare const webhookDeliveryListQuerySchema: z.ZodObject<{
2817
2612
  status: z.ZodOptional<z.ZodEnum<{
2613
+ FAILED: "FAILED";
2818
2614
  PENDING: "PENDING";
2819
2615
  PENDING_RETRY: "PENDING_RETRY";
2820
2616
  SUCCESS: "SUCCESS";
2821
- FAILED: "FAILED";
2822
2617
  }>>;
2823
2618
  eventType: z.ZodOptional<z.ZodEnum<{
2824
2619
  "ORDER.PAID": "ORDER.PAID";
@@ -2995,8 +2790,8 @@ export type ReviewReportResult = z.infer<typeof reviewReportResultSchema>;
2995
2790
  * 이름은 이행 방식이다 — `SHIPPING`이 택배 발송이듯 `MANUAL`은 셀러가 직접 제공한다는 뜻이다.
2996
2791
  */
2997
2792
  export declare const fulfillmentTypeSchema: z.ZodEnum<{
2998
- SHIPPING: "SHIPPING";
2999
2793
  MANUAL: "MANUAL";
2794
+ SHIPPING: "SHIPPING";
3000
2795
  }>;
3001
2796
  export type FulfillmentType = z.infer<typeof fulfillmentTypeSchema>;
3002
2797
  /**
@@ -3035,8 +2830,8 @@ export declare function requiresCollection(type: string | null | undefined): boo
3035
2830
  export declare const NO_SHIPPING_BUNDLE_KEY = "none";
3036
2831
  /** 배송비 유형 — 무료·유료·조건부 무료 */
3037
2832
  export declare const deliveryTypeSchema: z.ZodEnum<{
3038
- FREE: "FREE";
3039
2833
  PAID: "PAID";
2834
+ FREE: "FREE";
3040
2835
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
3041
2836
  }>;
3042
2837
  export type DeliveryType = z.infer<typeof deliveryTypeSchema>;
@@ -3047,8 +2842,8 @@ export declare const productFulfillmentCreateSchema: z.ZodDiscriminatedUnion<[z.
3047
2842
  type: z.ZodLiteral<"SHIPPING">;
3048
2843
  shipping: z.ZodOptional<z.ZodObject<{
3049
2844
  deliveryType: z.ZodDefault<z.ZodEnum<{
3050
- FREE: "FREE";
3051
2845
  PAID: "PAID";
2846
+ FREE: "FREE";
3052
2847
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
3053
2848
  }>>;
3054
2849
  deliveryFee: z.ZodOptional<z.ZodNumber>;
@@ -3070,8 +2865,8 @@ export declare const productFulfillmentUpdateSchema: z.ZodDiscriminatedUnion<[z.
3070
2865
  type: z.ZodLiteral<"SHIPPING">;
3071
2866
  shipping: z.ZodObject<{
3072
2867
  deliveryType: z.ZodEnum<{
3073
- FREE: "FREE";
3074
2868
  PAID: "PAID";
2869
+ FREE: "FREE";
3075
2870
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
3076
2871
  }>;
3077
2872
  deliveryFee: z.ZodNumber;
@@ -3091,8 +2886,8 @@ export declare const productFulfillmentSchema: z.ZodDiscriminatedUnion<[z.ZodObj
3091
2886
  type: z.ZodLiteral<"SHIPPING">;
3092
2887
  shipping: z.ZodObject<{
3093
2888
  deliveryType: z.ZodEnum<{
3094
- FREE: "FREE";
3095
2889
  PAID: "PAID";
2890
+ FREE: "FREE";
3096
2891
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
3097
2892
  }>;
3098
2893
  deliveryFee: z.ZodNumber;
@@ -3130,8 +2925,8 @@ export declare const productFulfillmentResponseSchema: z.ZodUnion<readonly [z.Zo
3130
2925
  type: z.ZodLiteral<"SHIPPING">;
3131
2926
  shipping: z.ZodObject<{
3132
2927
  deliveryType: z.ZodEnum<{
3133
- FREE: "FREE";
3134
2928
  PAID: "PAID";
2929
+ FREE: "FREE";
3135
2930
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
3136
2931
  }>;
3137
2932
  deliveryFee: z.ZodNumber;
@@ -3646,16 +3441,16 @@ export interface OrderItemListParams extends PageParams {
3646
3441
  testPayment?: "true" | "false";
3647
3442
  }
3648
3443
  export declare const deliveryMethodSchema: z.ZodEnum<{
3649
- COURIER: "COURIER";
3650
3444
  DIRECT: "DIRECT";
3445
+ COURIER: "COURIER";
3651
3446
  QUICK: "QUICK";
3652
3447
  NOTHING: "NOTHING";
3653
3448
  }>;
3654
3449
  export type DeliveryMethod = z.infer<typeof deliveryMethodSchema>;
3655
3450
  export declare const dispatchRequestSchema: z.ZodObject<{
3656
3451
  deliveryMethod: z.ZodEnum<{
3657
- COURIER: "COURIER";
3658
3452
  DIRECT: "DIRECT";
3453
+ COURIER: "COURIER";
3659
3454
  QUICK: "QUICK";
3660
3455
  NOTHING: "NOTHING";
3661
3456
  }>;
@@ -3667,8 +3462,8 @@ export type DispatchRequest = z.infer<typeof dispatchRequestSchema>;
3667
3462
  export declare const deliveryInfoSchema: z.ZodObject<{
3668
3463
  orderItemId: z.ZodString;
3669
3464
  deliveryMethod: z.ZodEnum<{
3670
- COURIER: "COURIER";
3671
3465
  DIRECT: "DIRECT";
3466
+ COURIER: "COURIER";
3672
3467
  QUICK: "QUICK";
3673
3468
  NOTHING: "NOTHING";
3674
3469
  }>;
@@ -3694,8 +3489,8 @@ export declare const trackingStageResponseSchema: z.ZodString;
3694
3489
  export declare const deliveryStatusSchema: z.ZodObject<{
3695
3490
  orderItemId: z.ZodString;
3696
3491
  deliveryMethod: z.ZodEnum<{
3697
- COURIER: "COURIER";
3698
3492
  DIRECT: "DIRECT";
3493
+ COURIER: "COURIER";
3699
3494
  QUICK: "QUICK";
3700
3495
  NOTHING: "NOTHING";
3701
3496
  }>;
@@ -3739,10 +3534,10 @@ export declare const carrierSchema: z.ZodObject<{
3739
3534
  export type Carrier = z.infer<typeof carrierSchema>;
3740
3535
  export declare const holdOrderItemRequestSchema: z.ZodObject<{
3741
3536
  reason: z.ZodEnum<{
3537
+ ETC: "ETC";
3742
3538
  OUT_OF_STOCK: "OUT_OF_STOCK";
3743
3539
  CUSTOMER_REQUEST: "CUSTOMER_REQUEST";
3744
3540
  CUSTOMS: "CUSTOMS";
3745
- ETC: "ETC";
3746
3541
  }>;
3747
3542
  detail: z.ZodOptional<z.ZodString>;
3748
3543
  expectedDispatchDate: z.ZodString;
@@ -3750,8 +3545,8 @@ export declare const holdOrderItemRequestSchema: z.ZodObject<{
3750
3545
  export type HoldOrderItemRequest = z.infer<typeof holdOrderItemRequestSchema>;
3751
3546
  export declare const cancelBySellerRequestSchema: z.ZodObject<{
3752
3547
  reason: z.ZodEnum<{
3753
- OUT_OF_STOCK: "OUT_OF_STOCK";
3754
3548
  ETC: "ETC";
3549
+ OUT_OF_STOCK: "OUT_OF_STOCK";
3755
3550
  PRICE_ERROR: "PRICE_ERROR";
3756
3551
  DELIVERY_IMPOSSIBLE: "DELIVERY_IMPOSSIBLE";
3757
3552
  }>;
@@ -3855,8 +3650,8 @@ export declare const pgEnvironmentSchema: z.ZodEnum<{
3855
3650
  }>;
3856
3651
  export type PgEnvironment = z.infer<typeof pgEnvironmentSchema>;
3857
3652
  export declare const pgVerificationResultSchema: z.ZodEnum<{
3858
- SUCCESS: "SUCCESS";
3859
3653
  FAILED: "FAILED";
3654
+ SUCCESS: "SUCCESS";
3860
3655
  }>;
3861
3656
  export type PgVerificationResult = z.infer<typeof pgVerificationResultSchema>;
3862
3657
  /**
@@ -4005,8 +3800,8 @@ export declare const paymentCredentialSetSchema: z.ZodObject<{
4005
3800
  }, z.core.$strip>>;
4006
3801
  lastVerification: z.ZodNullable<z.ZodObject<{
4007
3802
  result: z.ZodEnum<{
4008
- SUCCESS: "SUCCESS";
4009
3803
  FAILED: "FAILED";
3804
+ SUCCESS: "SUCCESS";
4010
3805
  }>;
4011
3806
  message: z.ZodNullable<z.ZodString>;
4012
3807
  checkedAt: z.ZodString;
@@ -4107,8 +3902,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
4107
3902
  }, z.core.$strip>>;
4108
3903
  lastVerification: z.ZodNullable<z.ZodObject<{
4109
3904
  result: z.ZodEnum<{
4110
- SUCCESS: "SUCCESS";
4111
3905
  FAILED: "FAILED";
3906
+ SUCCESS: "SUCCESS";
4112
3907
  }>;
4113
3908
  message: z.ZodNullable<z.ZodString>;
4114
3909
  checkedAt: z.ZodString;
@@ -4144,8 +3939,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
4144
3939
  }, z.core.$strip>>;
4145
3940
  lastVerification: z.ZodNullable<z.ZodObject<{
4146
3941
  result: z.ZodEnum<{
4147
- SUCCESS: "SUCCESS";
4148
3942
  FAILED: "FAILED";
3943
+ SUCCESS: "SUCCESS";
4149
3944
  }>;
4150
3945
  message: z.ZodNullable<z.ZodString>;
4151
3946
  checkedAt: z.ZodString;
@@ -4180,8 +3975,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
4180
3975
  }, z.core.$strip>>;
4181
3976
  lastVerification: z.ZodNullable<z.ZodObject<{
4182
3977
  result: z.ZodEnum<{
4183
- SUCCESS: "SUCCESS";
4184
3978
  FAILED: "FAILED";
3979
+ SUCCESS: "SUCCESS";
4185
3980
  }>;
4186
3981
  message: z.ZodNullable<z.ZodString>;
4187
3982
  checkedAt: z.ZodString;
@@ -4256,8 +4051,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
4256
4051
  }, z.core.$strip>>;
4257
4052
  lastVerification: z.ZodNullable<z.ZodObject<{
4258
4053
  result: z.ZodEnum<{
4259
- SUCCESS: "SUCCESS";
4260
4054
  FAILED: "FAILED";
4055
+ SUCCESS: "SUCCESS";
4261
4056
  }>;
4262
4057
  message: z.ZodNullable<z.ZodString>;
4263
4058
  checkedAt: z.ZodString;
@@ -4293,8 +4088,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
4293
4088
  }, z.core.$strip>>;
4294
4089
  lastVerification: z.ZodNullable<z.ZodObject<{
4295
4090
  result: z.ZodEnum<{
4296
- SUCCESS: "SUCCESS";
4297
4091
  FAILED: "FAILED";
4092
+ SUCCESS: "SUCCESS";
4298
4093
  }>;
4299
4094
  message: z.ZodNullable<z.ZodString>;
4300
4095
  checkedAt: z.ZodString;
@@ -4329,8 +4124,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
4329
4124
  }, z.core.$strip>>;
4330
4125
  lastVerification: z.ZodNullable<z.ZodObject<{
4331
4126
  result: z.ZodEnum<{
4332
- SUCCESS: "SUCCESS";
4333
4127
  FAILED: "FAILED";
4128
+ SUCCESS: "SUCCESS";
4334
4129
  }>;
4335
4130
  message: z.ZodNullable<z.ZodString>;
4336
4131
  checkedAt: z.ZodString;
@@ -4377,8 +4172,8 @@ export declare const paymentProviderVerificationSchema: z.ZodObject<{
4377
4172
  LIVE: "LIVE";
4378
4173
  }>;
4379
4174
  result: z.ZodEnum<{
4380
- SUCCESS: "SUCCESS";
4381
4175
  FAILED: "FAILED";
4176
+ SUCCESS: "SUCCESS";
4382
4177
  }>;
4383
4178
  message: z.ZodNullable<z.ZodString>;
4384
4179
  checkedAt: z.ZodString;
@@ -4508,8 +4303,8 @@ export type SalesReport = z.infer<typeof salesReportSchema>;
4508
4303
  * - `FAILED`: 승인되지 않고 끝났다(거절·준비 장애·구매자 취소·만료)
4509
4304
  */
4510
4305
  export declare const paymentRecordStatusSchema: z.ZodEnum<{
4511
- PENDING: "PENDING";
4512
4306
  FAILED: "FAILED";
4307
+ PENDING: "PENDING";
4513
4308
  APPROVED: "APPROVED";
4514
4309
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4515
4310
  REFUNDED: "REFUNDED";
@@ -4556,8 +4351,8 @@ export declare const paymentRecordSchema: z.ZodObject<{
4556
4351
  orderName: z.ZodString;
4557
4352
  customerName: z.ZodString;
4558
4353
  status: z.ZodEnum<{
4559
- PENDING: "PENDING";
4560
4354
  FAILED: "FAILED";
4355
+ PENDING: "PENDING";
4561
4356
  APPROVED: "APPROVED";
4562
4357
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4563
4358
  REFUNDED: "REFUNDED";
@@ -4602,8 +4397,8 @@ export declare const paymentRecordPageSchema: z.ZodObject<{
4602
4397
  orderName: z.ZodString;
4603
4398
  customerName: z.ZodString;
4604
4399
  status: z.ZodEnum<{
4605
- PENDING: "PENDING";
4606
4400
  FAILED: "FAILED";
4401
+ PENDING: "PENDING";
4607
4402
  APPROVED: "APPROVED";
4608
4403
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4609
4404
  REFUNDED: "REFUNDED";
@@ -4691,8 +4486,8 @@ export declare const paymentRecordDetailSchema: z.ZodObject<{
4691
4486
  orderName: z.ZodString;
4692
4487
  customerName: z.ZodString;
4693
4488
  status: z.ZodEnum<{
4694
- PENDING: "PENDING";
4695
4489
  FAILED: "FAILED";
4490
+ PENDING: "PENDING";
4696
4491
  APPROVED: "APPROVED";
4697
4492
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4698
4493
  REFUNDED: "REFUNDED";
@@ -4819,20 +4614,20 @@ export interface PaymentListParams extends PageParams {
4819
4614
  //#endregion
4820
4615
  //#region src/schemas/product.d.ts
4821
4616
  export declare const productStatusSchema: z.ZodEnum<{
4617
+ SUSPENDED: "SUSPENDED";
4618
+ CLOSED: "CLOSED";
4822
4619
  SALE: "SALE";
4823
- SUSPENDED: "SUSPENDED";
4824
4620
  OUT_OF_STOCK: "OUT_OF_STOCK";
4825
- CLOSED: "CLOSED";
4826
4621
  }>;
4827
4622
  export type ProductStatus = z.infer<typeof productStatusSchema>;
4828
4623
  export declare const productSummarySchema: z.ZodObject<{
4829
4624
  productId: z.ZodString;
4830
4625
  name: z.ZodString;
4831
4626
  status: z.ZodEnum<{
4832
- SALE: "SALE";
4833
4627
  SUSPENDED: "SUSPENDED";
4834
- OUT_OF_STOCK: "OUT_OF_STOCK";
4835
4628
  CLOSED: "CLOSED";
4629
+ SALE: "SALE";
4630
+ OUT_OF_STOCK: "OUT_OF_STOCK";
4836
4631
  }>;
4837
4632
  salePrice: z.ZodNumber;
4838
4633
  discountedPrice: z.ZodNullable<z.ZodNumber>;
@@ -4844,6 +4639,7 @@ export declare const productSummarySchema: z.ZodObject<{
4844
4639
  type: z.ZodString;
4845
4640
  }, z.core.$strip>;
4846
4641
  updatedAt: z.ZodString;
4642
+ sample: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
4847
4643
  }, z.core.$strip>;
4848
4644
  export type ProductSummary = z.infer<typeof productSummarySchema>;
4849
4645
  /** 옵션 축(그룹)이 가지는 값 하나 — 예: 축 "색상"의 값 "블랙" */
@@ -4903,8 +4699,8 @@ export declare const VARIANT_COUNT_WARNING = 100;
4903
4699
  * 추가금순은 추가 선택 값이면 값의 추가금, 조합 값이면 그 값이 든 조합 추가금의 최솟값으로 비교하고 같으면 등록순이다.
4904
4700
  */
4905
4701
  export declare const optionSortSchema: z.ZodEnum<{
4906
- REGISTERED: "REGISTERED";
4907
4702
  NAME: "NAME";
4703
+ REGISTERED: "REGISTERED";
4908
4704
  PRICE_ASC: "PRICE_ASC";
4909
4705
  PRICE_DESC: "PRICE_DESC";
4910
4706
  }>;
@@ -5015,10 +4811,10 @@ export declare const productSchema: z.ZodObject<{
5015
4811
  productId: z.ZodString;
5016
4812
  name: z.ZodString;
5017
4813
  status: z.ZodEnum<{
5018
- SALE: "SALE";
5019
4814
  SUSPENDED: "SUSPENDED";
5020
- OUT_OF_STOCK: "OUT_OF_STOCK";
5021
4815
  CLOSED: "CLOSED";
4816
+ SALE: "SALE";
4817
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5022
4818
  }>;
5023
4819
  salePrice: z.ZodNumber;
5024
4820
  discountedPrice: z.ZodNullable<z.ZodNumber>;
@@ -5027,6 +4823,7 @@ export declare const productSchema: z.ZodObject<{
5027
4823
  thumbnailUrl: z.ZodOptional<z.ZodURL>;
5028
4824
  hasOptions: z.ZodBoolean;
5029
4825
  updatedAt: z.ZodString;
4826
+ sample: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
5030
4827
  description: z.ZodOptional<z.ZodString>;
5031
4828
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5032
4829
  originalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -5082,8 +4879,8 @@ export declare const productSchema: z.ZodObject<{
5082
4879
  sortOrder: z.ZodNumber;
5083
4880
  }, z.core.$strip>>>>;
5084
4881
  optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
5085
- REGISTERED: "REGISTERED";
5086
4882
  NAME: "NAME";
4883
+ REGISTERED: "REGISTERED";
5087
4884
  PRICE_ASC: "PRICE_ASC";
5088
4885
  PRICE_DESC: "PRICE_DESC";
5089
4886
  }>>>;
@@ -5091,8 +4888,8 @@ export declare const productSchema: z.ZodObject<{
5091
4888
  type: z.ZodLiteral<"SHIPPING">;
5092
4889
  shipping: z.ZodObject<{
5093
4890
  deliveryType: z.ZodEnum<{
5094
- FREE: "FREE";
5095
4891
  PAID: "PAID";
4892
+ FREE: "FREE";
5096
4893
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
5097
4894
  }>;
5098
4895
  deliveryFee: z.ZodNumber;
@@ -5226,8 +5023,8 @@ export declare const optionModelRequestSchema: z.ZodObject<{
5226
5023
  usable: z.ZodDefault<z.ZodBoolean>;
5227
5024
  }, z.core.$strip>>>;
5228
5025
  optionSort: z.ZodOptional<z.ZodEnum<{
5229
- REGISTERED: "REGISTERED";
5230
5026
  NAME: "NAME";
5027
+ REGISTERED: "REGISTERED";
5231
5028
  PRICE_ASC: "PRICE_ASC";
5232
5029
  PRICE_DESC: "PRICE_DESC";
5233
5030
  }>>;
@@ -5282,8 +5079,8 @@ export declare const optionModelSchema: z.ZodObject<{
5282
5079
  sortOrder: z.ZodNumber;
5283
5080
  }, z.core.$strip>>>>;
5284
5081
  optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
5285
- REGISTERED: "REGISTERED";
5286
5082
  NAME: "NAME";
5083
+ REGISTERED: "REGISTERED";
5287
5084
  PRICE_ASC: "PRICE_ASC";
5288
5085
  PRICE_DESC: "PRICE_DESC";
5289
5086
  }>>>;
@@ -5314,8 +5111,8 @@ export declare const productCreateRequestSchema: z.ZodObject<{
5314
5111
  type: z.ZodLiteral<"SHIPPING">;
5315
5112
  shipping: z.ZodOptional<z.ZodObject<{
5316
5113
  deliveryType: z.ZodDefault<z.ZodEnum<{
5317
- FREE: "FREE";
5318
5114
  PAID: "PAID";
5115
+ FREE: "FREE";
5319
5116
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
5320
5117
  }>>;
5321
5118
  deliveryFee: z.ZodOptional<z.ZodNumber>;
@@ -5367,8 +5164,8 @@ export declare const productCreateRequestSchema: z.ZodObject<{
5367
5164
  usable: z.ZodDefault<z.ZodBoolean>;
5368
5165
  }, z.core.$strip>>>;
5369
5166
  optionSort: z.ZodOptional<z.ZodEnum<{
5370
- REGISTERED: "REGISTERED";
5371
5167
  NAME: "NAME";
5168
+ REGISTERED: "REGISTERED";
5372
5169
  PRICE_ASC: "PRICE_ASC";
5373
5170
  PRICE_DESC: "PRICE_DESC";
5374
5171
  }>>;
@@ -5399,8 +5196,8 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
5399
5196
  type: z.ZodLiteral<"SHIPPING">;
5400
5197
  shipping: z.ZodObject<{
5401
5198
  deliveryType: z.ZodEnum<{
5402
- FREE: "FREE";
5403
5199
  PAID: "PAID";
5200
+ FREE: "FREE";
5404
5201
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
5405
5202
  }>;
5406
5203
  deliveryFee: z.ZodNumber;
@@ -5452,8 +5249,8 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
5452
5249
  usable: z.ZodDefault<z.ZodBoolean>;
5453
5250
  }, z.core.$strip>>>;
5454
5251
  optionSort: z.ZodOptional<z.ZodEnum<{
5455
- REGISTERED: "REGISTERED";
5456
5252
  NAME: "NAME";
5253
+ REGISTERED: "REGISTERED";
5457
5254
  PRICE_ASC: "PRICE_ASC";
5458
5255
  PRICE_DESC: "PRICE_DESC";
5459
5256
  }>>;
@@ -5482,17 +5279,17 @@ export declare const productPatchRequestSchema: z.ZodObject<{
5482
5279
  name: z.ZodOptional<z.ZodString>;
5483
5280
  salePrice: z.ZodOptional<z.ZodNumber>;
5484
5281
  status: z.ZodOptional<z.ZodEnum<{
5485
- SALE: "SALE";
5486
5282
  SUSPENDED: "SUSPENDED";
5487
- OUT_OF_STOCK: "OUT_OF_STOCK";
5488
5283
  CLOSED: "CLOSED";
5284
+ SALE: "SALE";
5285
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5489
5286
  }>>;
5490
5287
  fulfillment: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
5491
5288
  type: z.ZodLiteral<"SHIPPING">;
5492
5289
  shipping: z.ZodObject<{
5493
5290
  deliveryType: z.ZodEnum<{
5494
- FREE: "FREE";
5495
5291
  PAID: "PAID";
5292
+ FREE: "FREE";
5496
5293
  CONDITIONAL_FREE: "CONDITIONAL_FREE";
5497
5294
  }>;
5498
5295
  deliveryFee: z.ZodNumber;
@@ -5515,9 +5312,9 @@ export type ProductPatchRequest = z.infer<typeof productPatchRequestSchema>;
5515
5312
  export declare const productSortSchema: z.ZodEnum<{
5516
5313
  "createdAt.desc": "createdAt.desc";
5517
5314
  "createdAt.asc": "createdAt.asc";
5518
- "updatedAt.desc": "updatedAt.desc";
5519
5315
  "salePrice.asc": "salePrice.asc";
5520
5316
  "salePrice.desc": "salePrice.desc";
5317
+ "updatedAt.desc": "updatedAt.desc";
5521
5318
  }>;
5522
5319
  export type ProductSort = z.infer<typeof productSortSchema>;
5523
5320
  export interface ProductListParams extends PageParams {
@@ -5532,10 +5329,10 @@ export declare const productListQuerySchema: z.ZodObject<{
5532
5329
  page: z.ZodOptional<z.ZodString>;
5533
5330
  size: z.ZodOptional<z.ZodString>;
5534
5331
  status: z.ZodOptional<z.ZodEnum<{
5535
- SALE: "SALE";
5536
5332
  SUSPENDED: "SUSPENDED";
5537
- OUT_OF_STOCK: "OUT_OF_STOCK";
5538
5333
  CLOSED: "CLOSED";
5334
+ SALE: "SALE";
5335
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5539
5336
  }>>;
5540
5337
  categoryId: z.ZodOptional<z.ZodString>;
5541
5338
  keyword: z.ZodOptional<z.ZodString>;
@@ -5543,9 +5340,9 @@ export declare const productListQuerySchema: z.ZodObject<{
5543
5340
  sort: z.ZodOptional<z.ZodEnum<{
5544
5341
  "createdAt.desc": "createdAt.desc";
5545
5342
  "createdAt.asc": "createdAt.asc";
5546
- "updatedAt.desc": "updatedAt.desc";
5547
5343
  "salePrice.asc": "salePrice.asc";
5548
5344
  "salePrice.desc": "salePrice.desc";
5345
+ "updatedAt.desc": "updatedAt.desc";
5549
5346
  }>>;
5550
5347
  }, z.core.$strip>;
5551
5348
  export declare const discountRequestSchema: z.ZodObject<{
@@ -5601,8 +5398,8 @@ export declare const savedOptionSetSchema: z.ZodObject<{
5601
5398
  optionSetId: z.ZodString;
5602
5399
  name: z.ZodString;
5603
5400
  optionSort: z.ZodEnum<{
5604
- REGISTERED: "REGISTERED";
5605
5401
  NAME: "NAME";
5402
+ REGISTERED: "REGISTERED";
5606
5403
  PRICE_ASC: "PRICE_ASC";
5607
5404
  PRICE_DESC: "PRICE_DESC";
5608
5405
  }>;
@@ -5656,8 +5453,8 @@ export declare const savedCustomInputRequestSchema: z.ZodObject<{
5656
5453
  export declare const savedOptionSetRequestSchema: z.ZodObject<{
5657
5454
  name: z.ZodString;
5658
5455
  optionSort: z.ZodDefault<z.ZodEnum<{
5659
- REGISTERED: "REGISTERED";
5660
5456
  NAME: "NAME";
5457
+ REGISTERED: "REGISTERED";
5661
5458
  PRICE_ASC: "PRICE_ASC";
5662
5459
  PRICE_DESC: "PRICE_DESC";
5663
5460
  }>>;
@@ -5702,8 +5499,8 @@ export declare const savedOptionSetFromProductResultSchema: z.ZodObject<{
5702
5499
  optionSetId: z.ZodString;
5703
5500
  name: z.ZodString;
5704
5501
  optionSort: z.ZodEnum<{
5705
- REGISTERED: "REGISTERED";
5706
5502
  NAME: "NAME";
5503
+ REGISTERED: "REGISTERED";
5707
5504
  PRICE_ASC: "PRICE_ASC";
5708
5505
  PRICE_DESC: "PRICE_DESC";
5709
5506
  }>;
@@ -5872,9 +5669,9 @@ export declare const storeMemberSchema: z.ZodObject<{
5872
5669
  name: z.ZodString;
5873
5670
  email: z.ZodEmail;
5874
5671
  role: z.ZodEnum<{
5672
+ OWNER: "OWNER";
5875
5673
  ADMIN: "ADMIN";
5876
5674
  STAFF: "STAFF";
5877
- OWNER: "OWNER";
5878
5675
  }>;
5879
5676
  joinedAt: z.ZodString;
5880
5677
  lastActiveAt: z.ZodNullable<z.ZodString>;
@@ -5882,7 +5679,7 @@ export declare const storeMemberSchema: z.ZodObject<{
5882
5679
  export type StoreMember = z.infer<typeof storeMemberSchema>;
5883
5680
  /**
5884
5681
  * 초대 메일 발송 결과 — `SENDING`은 발송 요청 중(결과를 아직 적지 못함), `NOT_CONFIGURED`는 메일 발송이 설정되지 않아
5885
- * 보내지 않은 것이다. 발송 실패는 초대를 무효로 만들지 않는다 — 재발송으로 다시 보낸다
5682
+ * 보내지 않은 것이다. 스토어의 월 메일 한도(요금제)를 다 써서 보내지 않았으면 `FAILED` + `deliveryErrorCode: MAIL_QUOTA_EXCEEDED`다. 발송 실패는 초대를 무효로 만들지 않는다 — 재발송으로 다시 보낸다
5886
5683
  */
5887
5684
  export declare const invitationDeliveryStatusSchema: z.ZodEnum<{
5888
5685
  FAILED: "FAILED";
@@ -5958,22 +5755,22 @@ export type StoreMemberRoleUpdated = z.infer<typeof storeMemberRoleUpdatedSchema
5958
5755
  * 주소 유형 — 출고지·반품지.
5959
5756
  */
5960
5757
  export declare const addressTypeSchema: z.ZodEnum<{
5961
- SHIPPING: "SHIPPING";
5962
5758
  RETURN: "RETURN";
5759
+ SHIPPING: "SHIPPING";
5963
5760
  }>;
5964
5761
  export type AddressType = z.infer<typeof addressTypeSchema>;
5965
5762
  /** `GET /v1/seller-addresses` 쿼리 — OpenAPI 문서용 형태. 기본 주소 우선, 그다음 등록순이다 */
5966
5763
  export declare const sellerAddressListQuerySchema: z.ZodObject<{
5967
5764
  type: z.ZodOptional<z.ZodEnum<{
5968
- SHIPPING: "SHIPPING";
5969
5765
  RETURN: "RETURN";
5766
+ SHIPPING: "SHIPPING";
5970
5767
  }>>;
5971
5768
  }, z.core.$strip>;
5972
5769
  export declare const sellerAddressSchema: z.ZodObject<{
5973
5770
  addressId: z.ZodString;
5974
5771
  type: z.ZodEnum<{
5975
- SHIPPING: "SHIPPING";
5976
5772
  RETURN: "RETURN";
5773
+ SHIPPING: "SHIPPING";
5977
5774
  }>;
5978
5775
  name: z.ZodString;
5979
5776
  isDefault: z.ZodBoolean;
@@ -5987,8 +5784,8 @@ export declare const sellerAddressSchema: z.ZodObject<{
5987
5784
  export type SellerAddress = z.infer<typeof sellerAddressSchema>;
5988
5785
  export declare const sellerAddressRequestSchema: z.ZodObject<{
5989
5786
  type: z.ZodEnum<{
5990
- SHIPPING: "SHIPPING";
5991
5787
  RETURN: "RETURN";
5788
+ SHIPPING: "SHIPPING";
5992
5789
  }>;
5993
5790
  name: z.ZodString;
5994
5791
  contactName: z.ZodString;
@@ -6023,6 +5820,7 @@ export type SellerAddressRequest = z.infer<typeof sellerAddressRequestSchema>;
6023
5820
  * - 409 `STORE_SUSPENDED` — 정지된 스토어에는 사이트를 만들 수 없다
6024
5821
  * - 409 `STOREFRONT_VERSION_NOT_READY` — 빌드가 끝나지 않았거나 실패한 버전은 발행할 수 없다
6025
5822
  * - 409 `STOREFRONT_NO_ROLLBACK_TARGET` — 되돌릴 이전 발행 버전이 없다
5823
+ * - 409 `STOREFRONT_NOT_READY` — 공개 전환: 판매 중인 상품(샘플 제외)이 없다(이슈 #70). 상품을 등록한 뒤 공개한다
6026
5824
  * - 409 `TEMPLATE_CHANGE_NOT_SUPPORTED` — 템플릿 변경(`POST /v1/storefront/site/template`, 폐기)은 항상 이 오류다
6027
5825
  * - 400 `STOREFRONT_SLUG_CONFIRM_MISMATCH` — 호스팅 끄기 확인 입력이 현재 슬러그와 다르다
6028
5826
  * - 503 `STOREFRONT_PREVIEW_NOT_CONFIGURED` — 미리보기 서명 키가 설정되지 않았다
@@ -6066,6 +5864,12 @@ export declare const RESERVED_STOREFRONT_SLUGS: readonly string[];
6066
5864
  * 1단계 이름이라 슬러그가 이 모양이면 남의 편집 미리보기 주소와 겹칠 수 있어 슬러그로 쓰지 못한다.
6067
5865
  */
6068
5866
  export declare const STOREFRONT_EDIT_PREVIEW_SUFFIX = "-preview";
5867
+ /**
5868
+ * 공식 쇼케이스 슬러그 접두사(이슈 #72) — `demo-{템플릿 id}`는 템플릿 미리보기용 쇼케이스 사이트 주소다. 쇼케이스로 지정된
5869
+ * 스토어만 쓸 수 있다(서버가 스토어 용도로 판정한다). 공식 미리보기를 흉내 내는 주소를 막는다
5870
+ */
5871
+ export declare const STOREFRONT_SHOWCASE_SLUG_PREFIX = "demo-";
5872
+ export declare function isShowcaseStorefrontSlug(slug: string): boolean;
6069
5873
  export declare function isReservedStorefrontSlug(slug: string): boolean;
6070
5874
  /**
6071
5875
  * 편집 미리보기 호스트 이름의 라벨 — 사이트 id의 `_`를 `-`로 바꾸고 `-preview`를 붙인다(`sfs_ab12cd34` → `sfs-ab12cd34-preview`).
@@ -6090,6 +5894,9 @@ export declare const storefrontTemplateSchema: z.ZodObject<{
6090
5894
  thumbnailUrl: z.ZodNullable<z.ZodString>;
6091
5895
  version: z.ZodString;
6092
5896
  isDefault: z.ZodBoolean;
5897
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
5898
+ supportsCheckout: z.ZodDefault<z.ZodBoolean>;
5899
+ previewUrl: z.ZodDefault<z.ZodNullable<z.ZodString>>;
6093
5900
  }, z.core.$strip>;
6094
5901
  export type StorefrontTemplate = z.infer<typeof storefrontTemplateSchema>;
6095
5902
  /**
@@ -6162,8 +5969,8 @@ export type StorefrontDomain = z.infer<typeof storefrontDomainSchema>;
6162
5969
  */
6163
5970
  export declare const storefrontProvisioningSchema: z.ZodObject<{
6164
5971
  status: z.ZodEnum<{
6165
- PENDING: "PENDING";
6166
5972
  FAILED: "FAILED";
5973
+ PENDING: "PENDING";
6167
5974
  SYNCED: "SYNCED";
6168
5975
  }>;
6169
5976
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6243,8 +6050,8 @@ export declare const storefrontSiteSchema: z.ZodObject<{
6243
6050
  }, z.core.$strip>>;
6244
6051
  provisioning: z.ZodObject<{
6245
6052
  status: z.ZodEnum<{
6246
- PENDING: "PENDING";
6247
6053
  FAILED: "FAILED";
6054
+ PENDING: "PENDING";
6248
6055
  SYNCED: "SYNCED";
6249
6056
  }>;
6250
6057
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6323,8 +6130,8 @@ export declare const storefrontHostingSchema: z.ZodObject<{
6323
6130
  }, z.core.$strip>>;
6324
6131
  provisioning: z.ZodObject<{
6325
6132
  status: z.ZodEnum<{
6326
- PENDING: "PENDING";
6327
6133
  FAILED: "FAILED";
6134
+ PENDING: "PENDING";
6328
6135
  SYNCED: "SYNCED";
6329
6136
  }>;
6330
6137
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6366,8 +6173,8 @@ export declare const storefrontDeploymentStepSchema: z.ZodObject<{
6366
6173
  PUBLISH: "PUBLISH";
6367
6174
  }>;
6368
6175
  status: z.ZodEnum<{
6369
- PENDING: "PENDING";
6370
6176
  FAILED: "FAILED";
6177
+ PENDING: "PENDING";
6371
6178
  RUNNING: "RUNNING";
6372
6179
  DONE: "DONE";
6373
6180
  }>;
@@ -6388,9 +6195,9 @@ export type StorefrontDeploymentLog = z.infer<typeof storefrontDeploymentLogSche
6388
6195
  export declare const storefrontDeploymentSchema: z.ZodObject<{
6389
6196
  siteId: z.ZodString;
6390
6197
  status: z.ZodEnum<{
6391
- FAILED: "FAILED";
6392
- SUCCEEDED: "SUCCEEDED";
6393
6198
  IN_PROGRESS: "IN_PROGRESS";
6199
+ SUCCEEDED: "SUCCEEDED";
6200
+ FAILED: "FAILED";
6394
6201
  }>;
6395
6202
  url: z.ZodString;
6396
6203
  startedAt: z.ZodString;
@@ -6402,8 +6209,8 @@ export declare const storefrontDeploymentSchema: z.ZodObject<{
6402
6209
  PUBLISH: "PUBLISH";
6403
6210
  }>;
6404
6211
  status: z.ZodEnum<{
6405
- PENDING: "PENDING";
6406
6212
  FAILED: "FAILED";
6213
+ PENDING: "PENDING";
6407
6214
  RUNNING: "RUNNING";
6408
6215
  DONE: "DONE";
6409
6216
  }>;
@@ -6570,8 +6377,8 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
6570
6377
  }, z.core.$strip>>;
6571
6378
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6572
6379
  ACTIVE: "ACTIVE";
6573
- PENDING: "PENDING";
6574
6380
  FAILED: "FAILED";
6381
+ PENDING: "PENDING";
6575
6382
  }>>;
6576
6383
  failureCode: z.ZodNullable<z.ZodString>;
6577
6384
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6613,8 +6420,8 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
6613
6420
  }, z.core.$strip>>;
6614
6421
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6615
6422
  ACTIVE: "ACTIVE";
6616
- PENDING: "PENDING";
6617
6423
  FAILED: "FAILED";
6424
+ PENDING: "PENDING";
6618
6425
  }>>;
6619
6426
  failureCode: z.ZodNullable<z.ZodString>;
6620
6427
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6848,8 +6655,8 @@ export declare const runStorefrontCheckRequestSchema: z.ZodObject<{
6848
6655
  }, z.core.$strip>;
6849
6656
  export type RunStorefrontCheckRequest = z.infer<typeof runStorefrontCheckRequestSchema>;
6850
6657
  export declare const storefrontCheckStatusSchema: z.ZodEnum<{
6851
- FAILED: "FAILED";
6852
6658
  UNKNOWN: "UNKNOWN";
6659
+ FAILED: "FAILED";
6853
6660
  RUNNING: "RUNNING";
6854
6661
  QUEUED: "QUEUED";
6855
6662
  PASSED: "PASSED";
@@ -6862,8 +6669,8 @@ export declare const storefrontCheckSchema: z.ZodObject<{
6862
6669
  checkId: z.ZodString;
6863
6670
  check: z.ZodString;
6864
6671
  status: z.ZodEnum<{
6865
- FAILED: "FAILED";
6866
6672
  UNKNOWN: "UNKNOWN";
6673
+ FAILED: "FAILED";
6867
6674
  RUNNING: "RUNNING";
6868
6675
  QUEUED: "QUEUED";
6869
6676
  PASSED: "PASSED";
@@ -6947,8 +6754,8 @@ export declare const storefrontVerifyReportSchema: z.ZodObject<{
6947
6754
  }, z.core.$strip>;
6948
6755
  export type StorefrontVerifyReport = z.infer<typeof storefrontVerifyReportSchema>;
6949
6756
  export declare const storefrontBuildStatusSchema: z.ZodEnum<{
6950
- FAILED: "FAILED";
6951
6757
  SUCCEEDED: "SUCCEEDED";
6758
+ FAILED: "FAILED";
6952
6759
  RUNNING: "RUNNING";
6953
6760
  QUEUED: "QUEUED";
6954
6761
  TIMED_OUT: "TIMED_OUT";
@@ -7015,8 +6822,8 @@ export declare const storefrontBuildSchema: z.ZodObject<{
7015
6822
  versionId: z.ZodString;
7016
6823
  versionNumber: z.ZodNumber;
7017
6824
  status: z.ZodEnum<{
7018
- FAILED: "FAILED";
7019
6825
  SUCCEEDED: "SUCCEEDED";
6826
+ FAILED: "FAILED";
7020
6827
  RUNNING: "RUNNING";
7021
6828
  QUEUED: "QUEUED";
7022
6829
  TIMED_OUT: "TIMED_OUT";
@@ -7144,8 +6951,8 @@ export declare const storefrontVersionCreatedSchema: z.ZodObject<{
7144
6951
  versionId: z.ZodString;
7145
6952
  versionNumber: z.ZodNumber;
7146
6953
  status: z.ZodEnum<{
7147
- FAILED: "FAILED";
7148
6954
  SUCCEEDED: "SUCCEEDED";
6955
+ FAILED: "FAILED";
7149
6956
  RUNNING: "RUNNING";
7150
6957
  QUEUED: "QUEUED";
7151
6958
  TIMED_OUT: "TIMED_OUT";
@@ -7344,8 +7151,8 @@ export type StorefrontSourceReplaced = z.infer<typeof storefrontSourceReplacedSc
7344
7151
  * - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
7345
7152
  */
7346
7153
  export declare const uploadPurposeSchema: z.ZodEnum<{
7347
- "product-image": "product-image";
7348
7154
  description: "description";
7155
+ "product-image": "product-image";
7349
7156
  }>;
7350
7157
  export type UploadPurpose = z.infer<typeof uploadPurposeSchema>;
7351
7158
  export interface UploadPurposeLimit {
@@ -7383,8 +7190,8 @@ export declare function uploadRejection(purpose: UploadPurpose, filename: string
7383
7190
  export declare const uploadRequestSchema: z.ZodObject<{
7384
7191
  filename: z.ZodString;
7385
7192
  purpose: z.ZodDefault<z.ZodEnum<{
7386
- "product-image": "product-image";
7387
7193
  description: "description";
7194
+ "product-image": "product-image";
7388
7195
  }>>;
7389
7196
  size: z.ZodOptional<z.ZodNumber>;
7390
7197
  }, z.core.$strip>;
@@ -7395,9 +7202,41 @@ export declare const uploadTicketSchema: z.ZodObject<{
7395
7202
  }, z.core.$strip>;
7396
7203
  export type UploadTicket = z.infer<typeof uploadTicketSchema>;
7397
7204
  //#endregion
7205
+ //#region src/schemas/auth.d.ts
7206
+ export declare const storeRoleSchema: z.ZodEnum<{
7207
+ OWNER: "OWNER";
7208
+ ADMIN: "ADMIN";
7209
+ STAFF: "STAFF";
7210
+ }>;
7211
+ export type StoreRole = z.infer<typeof storeRoleSchema>;
7212
+ export declare const myStoreSchema: z.ZodObject<{
7213
+ storeId: z.ZodString;
7214
+ storeName: z.ZodString;
7215
+ storeCode: z.ZodString;
7216
+ role: z.ZodEnum<{
7217
+ OWNER: "OWNER";
7218
+ ADMIN: "ADMIN";
7219
+ STAFF: "STAFF";
7220
+ }>;
7221
+ status: z.ZodEnum<{
7222
+ ACTIVE: "ACTIVE";
7223
+ SUSPENDED: "SUSPENDED";
7224
+ CLOSED: "CLOSED";
7225
+ }>;
7226
+ }, z.core.$strip>;
7227
+ export type MyStore = z.infer<typeof myStoreSchema>;
7228
+ export declare const myAccountSchema: z.ZodObject<{
7229
+ userId: z.ZodString;
7230
+ email: z.ZodEmail;
7231
+ name: z.ZodString;
7232
+ storeCount: z.ZodNumber;
7233
+ createdAt: z.ZodString;
7234
+ }, z.core.$strip>;
7235
+ export type MyAccount = z.infer<typeof myAccountSchema>;
7236
+ //#endregion
7398
7237
  //#region src/session.d.ts
7399
7238
  /**
7400
- * SDK 세션 매니저 — 콘솔(userToken)의 저장·무음 갱신·회전을 캡슐화한다.
7239
+ * SDK 세션 매니저 — 콘솔(액세스 토큰)의 저장·무음 갱신·회전을 캡슐화한다.
7401
7240
  *
7402
7241
  * 저장 매체(쿠키/localStorage/…)와 그 속성(Max-Age·SameSite·Secure·Path)은 **어댑터(앱) 책임**이다.
7403
7242
  * SDK는 "무엇을 어떤 키로 저장할지"만 알고, "어떻게 저장할지"는 SessionStorage 어댑터에 위임한다.
@@ -7418,9 +7257,21 @@ export declare const STORE_SESSION_KEYS: {
7418
7257
  /** authorize() → handleCallback() 간 1회용 PKCE 블롭({ verifier, state, redirectUri }) 저장 키 */
7419
7258
  readonly pkce: "sayren.store.pkce";
7420
7259
  };
7260
+ /**
7261
+ * 인가 서버(Sayren 계정, accounts) 주소 — `https://accounts.sayren.app/api/auth/oauth2/{authorize,token,revoke}`.
7262
+ * `resource`를 주면 authorize·code 교환·refresh에 RFC 8707 `resource`를 싣는다(JWT access token의 `aud`).
7263
+ */
7264
+ interface StoreAuthServer {
7265
+ authorizeUrl: string;
7266
+ tokenUrl: string;
7267
+ revokeUrl: string;
7268
+ resource?: string;
7269
+ }
7421
7270
  interface StoreSessionOptions {
7422
- /** 예: https://api.example.com/v1 (/oauth2/token이 덧붙는다) */
7271
+ /** api 주소(예: https://api.example.com/v1) — `userinfo()`의 `GET /me`에 쓴다 */
7423
7272
  baseUrl: string;
7273
+ /** 인가 서버(accounts) 주소들 */
7274
+ authServer: StoreAuthServer;
7424
7275
  /** OAuth public client id (예: avarlabs) */
7425
7276
  clientId: string;
7426
7277
  /** 저장 매체 어댑터 (앱 소유) */
@@ -7430,13 +7281,13 @@ interface StoreSessionOptions {
7430
7281
  interface AuthorizeOptions {
7431
7282
  /** OAuth 콜백 URI (예: https://store.example.com/auth/callback) */
7432
7283
  redirectUri: string;
7433
- /** 생략 시 서버 기본(stores:read). refresh가 필요하면 offline_access 포함 */
7284
+ /** 생략 시 발급자 기본. refresh가 필요하면 offline_access 포함 */
7434
7285
  scope?: string;
7435
- /** "signup"이면 authorize 대신 호스티드 회원가입 화면으로 진입한다 */
7436
- screen?: "authorize" | "signup";
7286
+ /** OIDC `prompt` — `login`(재인증)·`create`(가입)·`consent` */
7287
+ prompt?: "login" | "create" | "consent";
7437
7288
  }
7438
7289
  interface StoreSession {
7439
- /** 현재 userToken (없으면 null) */
7290
+ /** 현재 액세스 토큰 (없으면 null) */
7440
7291
  getToken(): string | null;
7441
7292
  /** 토큰 저장 + 구독자 통지. refresh_token이 있으면 함께 회전 저장한다(없으면 기존 유지) */
7442
7293
  setTokens(tokens: {
@@ -7444,7 +7295,7 @@ interface StoreSession {
7444
7295
  refresh_token?: string;
7445
7296
  }): void;
7446
7297
  /**
7447
- * 무음 세션 갱신 — refresh 토큰으로 새 userToken을 받아 회전 저장한다.
7298
+ * 무음 세션 갱신 — refresh 토큰으로 새 액세스 토큰을 받아 회전 저장한다.
7448
7299
  * - 탭 내부: 동시 다발 호출을 single-flight로 합친다.
7449
7300
  * - 탭 간: navigator.locks(있으면)로 회전을 직렬화하고, 락 진입 시 다른 탭이 이미
7450
7301
  * 회전했으면(세션 토큰 변경) 내 refresh 토큰을 소비하지 않고 true를 반환한다.
@@ -7455,14 +7306,14 @@ interface StoreSession {
7455
7306
  /** 세션/리프레시 키를 지우고 구독자에게 통지한다(서버의 토큰은 그대로다 — 로그아웃은 `logout()`) */
7456
7307
  clear(): void;
7457
7308
  /**
7458
- * 로그아웃 — 서버에서 **refresh 토큰(패밀리째)과 access 토큰을 폐기**(`POST /oauth2/revoke`, RFC 7009)한 뒤 세션을 지운다.
7309
+ * 로그아웃 — 인가 서버에서 **refresh 토큰(패밀리째)과 access 토큰을 폐기**(`revokeUrl`, RFC 7009)한 뒤 세션을 지운다.
7459
7310
  * refresh를 폐기하지 않으면 쿠키만 지워도 서버의 refresh 패밀리가 절대 만료까지 살아 있어, 새어 나간 refresh 토큰으로
7460
- * 계속 새 userToken을 받을 수 있다. 폐기 요청 실패(네트워크·이미 무효)는 무시하고 세션은 항상 지운다.
7311
+ * 계속 새 액세스 토큰을 받을 수 있다. 폐기 요청 실패(네트워크·이미 무효)는 무시하고 세션은 항상 지운다.
7461
7312
  */
7462
7313
  logout(): Promise<void>;
7463
7314
  /** 변경 구독(useSyncExternalStore 소비용) — getToken을 스냅샷으로 쓴다. 해지 함수 반환 */
7464
7315
  subscribe(cb: () => void): () => void;
7465
- /** 현재 userToken (getToken()과 동일 — 게터 형태 소비용) */
7316
+ /** 현재 액세스 토큰 (getToken()과 동일 — 게터 형태 소비용) */
7466
7317
  readonly accessToken: string | null;
7467
7318
  /** 현재 저장된 refresh 토큰 (없으면 null) */
7468
7319
  readonly refreshToken: string | null;
@@ -7486,22 +7337,16 @@ export declare function createStoreSession(options: StoreSessionOptions): StoreS
7486
7337
  interface StoreClientOptions {
7487
7338
  /** 예: https://api.example.com/v1 */
7488
7339
  baseUrl: string;
7489
- /** 유저 토큰 (1단계). 인증/스토어 목록 API에 사용 */
7490
- userToken?: TokenSource;
7491
- /** 스토어 토큰 (3단계). 테넌트 리소스 API에 사용 */
7492
- storeToken?: TokenSource;
7493
- /** 테넌트 storeId — storeHttp(테넌트 리소스) 요청에 X-Store-Id로 실린다(userToken 직접 인가). */
7494
- storeId?: TokenSource;
7495
7340
  /**
7496
- * 토큰 주입 모드 — PAT/storeToken급(테넌트 바인딩, role 없음)을 storeHttp Bearer로 싣는다.
7497
- * userToken이 아니다(비인터랙티브 M2M/CLI 경로용). storeToken과 함께 주면 storeToken이 우선한다.
7341
+ * 계정 토큰(accounts가 발급한 JWT — 콘솔 로그인, 개인 액세스 토큰, 연결된 앱의 토큰).
7342
+ * 계정 API(`/me/*`)와 스토어 API 모두에 Bearer로 싣는다. `session`을 주면 생략해도 세션 토큰을 쓴다.
7498
7343
  */
7499
- auth?: {
7500
- apiToken?: string;
7501
- };
7344
+ accessToken?: TokenSource;
7345
+ /** 대상 스토어 id — 스토어 API 요청에 `X-Store-Id`로 싣는다. 계정 API(`/me/*`)에는 싣지 않는다 */
7346
+ storeId?: TokenSource;
7502
7347
  /**
7503
- * SDK 세션 매니저 — 전달하면 userToken(Bearer)·401 refresh·복구불가 시 clear를
7504
- * 이 세션에서 자동 배선한다. 개별 옵션(userToken/refresh/onUnauthorized)을 명시하면 그쪽이 우선한다.
7348
+ * SDK 세션 매니저 — 전달하면 Bearer 토큰·401 refresh·복구 불가 시 clear를
7349
+ * 이 세션에서 자동 배선한다. 개별 옵션(accessToken/refresh/onUnauthorized)을 명시하면 그쪽이 우선한다.
7505
7350
  */
7506
7351
  session?: StoreSession;
7507
7352
  /** 401 시 세션 갱신 시도 — true면 요청을 1회 재시도한다(refresh 토큰 회전) */
@@ -7511,7 +7356,7 @@ interface StoreClientOptions {
7511
7356
  fetch?: typeof globalThis.fetch;
7512
7357
  }
7513
7358
  export declare function createStoreClient(options: StoreClientOptions): {
7514
- /** session의 현재 userToken (session 미배선 시 null — 던지지 않음) */
7359
+ /** session의 현재 액세스 토큰 (session 미배선 시 null — 던지지 않음) */
7515
7360
  readonly accessToken: string | null;
7516
7361
  /** session의 현재 refresh 토큰 (session 미배선 시 null — 던지지 않음) */
7517
7362
  readonly refreshToken: string | null;
@@ -7526,27 +7371,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
7526
7371
  createdAt: string;
7527
7372
  } | null>;
7528
7373
  auth: {
7529
- /**
7530
- * 서버 간 연동(M2M) — client_credentials grant (client_secret_basic).
7531
- * 클라이언트가 스토어에 바인딩되어 있어 **storeToken이 곧바로 발급**된다.
7532
- * ⚠ client_secret은 서버 환경에서만 사용할 것 (브라우저 반입 금지)
7533
- */
7534
- issueStoreTokenByClientCredentials(clientId: string, clientSecret: string, scope?: string): Promise<{
7535
- access_token: string;
7536
- token_type: "Bearer";
7537
- expires_in: number;
7538
- scope: string;
7539
- }>;
7540
- /** 2단계 — 소속 스토어 목록 */
7374
+ /** 소속 스토어 목록 */
7541
7375
  listMyStores: () => Promise<{
7542
7376
  storeId: string;
7543
7377
  storeName: string;
7544
7378
  storeCode: string;
7545
- role: "ADMIN" | "STAFF" | "OWNER";
7379
+ role: "OWNER" | "ADMIN" | "STAFF";
7546
7380
  status: "ACTIVE" | "SUSPENDED" | "CLOSED";
7547
7381
  }[]>;
7548
- /** RFC 7009 — token을 폐기한다 (public client는 client_id만 동반) */
7549
- revoke(token: string, clientId: string): Promise<void>;
7550
7382
  me: () => Promise<{
7551
7383
  userId: string;
7552
7384
  email: string;
@@ -7555,122 +7387,6 @@ export declare function createStoreClient(options: StoreClientOptions): {
7555
7387
  createdAt: string;
7556
7388
  }>;
7557
7389
  };
7558
- /** API 토큰(PAT) 관리 — OWNER/ADMIN 전용. 발급된 토큰은 storeToken처럼 Bearer로 사용 */
7559
- apiTokens: {
7560
- create: (body: ApiTokenCreateRequest) => Promise<{
7561
- tokenId: string;
7562
- name: string;
7563
- prefix: string;
7564
- scopes: string[];
7565
- createdBy: string;
7566
- createdByName: string | null;
7567
- createdByEmail: string | null;
7568
- createdAt: string;
7569
- expiresAt: string | null;
7570
- lastUsedAt: string | null;
7571
- agent: boolean;
7572
- token: string;
7573
- }>;
7574
- list: () => Promise<{
7575
- tokenId: string;
7576
- name: string;
7577
- prefix: string;
7578
- scopes: string[];
7579
- createdBy: string;
7580
- createdByName: string | null;
7581
- createdByEmail: string | null;
7582
- createdAt: string;
7583
- expiresAt: string | null;
7584
- lastUsedAt: string | null;
7585
- agent: boolean;
7586
- }[]>;
7587
- revoke: (tokenId: string) => Promise<void>;
7588
- };
7589
- /**
7590
- * 앱(OAuth 클라이언트) 관리 — OWNER/ADMIN storeToken 전용(PAT·M2M 거부). auth-spec §12, 부록 B-13.
7591
- * 시크릿 평문은 register·rotateSecret 응답에서만 한 번 노출된다(apiTokens.create와 같은 성격).
7592
- */
7593
- apiClients: {
7594
- /**
7595
- * DCR 등록 (RFC 7591) — `POST /v1/oauth2/register`. OAuth 프로토콜 표면이라 응답이 평면 JSON이다.
7596
- * 등록 오류(`invalid_client_metadata`·`invalid_redirect_uri`)는 ApiError(code=error,
7597
- * message=error_description)로, Bearer 인증 오류는 엔벨로프 그대로 ApiError로 던진다.
7598
- */
7599
- register: (body: OAuthClientRegistrationRequest) => Promise<{
7600
- client_id: string;
7601
- client_id_issued_at: number;
7602
- client_name: string;
7603
- token_endpoint_auth_method: "none" | "client_secret_basic";
7604
- redirect_uris: string[];
7605
- grant_types: string[];
7606
- scope: string;
7607
- client_secret?: string | undefined;
7608
- client_secret_expires_at?: number | undefined;
7609
- }>;
7610
- list: (params?: ApiClientListParams) => Promise<{
7611
- clientId: string;
7612
- name: string;
7613
- type: "public" | "confidential";
7614
- status: "ACTIVE" | "REVOKED";
7615
- redirectUris: string[];
7616
- scopes: string[];
7617
- grantTypes: string[];
7618
- secretPrefix: string | null;
7619
- createdBy: string | null;
7620
- createdByName: string | null;
7621
- createdByEmail: string | null;
7622
- createdAt: string;
7623
- revokedAt: string | null;
7624
- }[]>;
7625
- get: (clientId: string) => Promise<{
7626
- clientId: string;
7627
- name: string;
7628
- type: "public" | "confidential";
7629
- status: "ACTIVE" | "REVOKED";
7630
- redirectUris: string[];
7631
- scopes: string[];
7632
- grantTypes: string[];
7633
- secretPrefix: string | null;
7634
- createdBy: string | null;
7635
- createdByName: string | null;
7636
- createdByEmail: string | null;
7637
- createdAt: string;
7638
- revokedAt: string | null;
7639
- }>;
7640
- /** confidential 전용. 기존 시크릿은 즉시 무효(유예 없음) */
7641
- rotateSecret: (clientId: string) => Promise<{
7642
- clientId: string;
7643
- name: string;
7644
- type: "public" | "confidential";
7645
- status: "ACTIVE" | "REVOKED";
7646
- redirectUris: string[];
7647
- scopes: string[];
7648
- grantTypes: string[];
7649
- secretPrefix: string | null;
7650
- createdBy: string | null;
7651
- createdByName: string | null;
7652
- createdByEmail: string | null;
7653
- createdAt: string;
7654
- revokedAt: string | null;
7655
- clientSecret: string;
7656
- }>;
7657
- /** REVOKED로 전환(되돌릴 수 없음). 이미 비활성이면 현재 상태를 그대로 돌려준다 */
7658
- deactivate: (clientId: string) => Promise<{
7659
- clientId: string;
7660
- name: string;
7661
- type: "public" | "confidential";
7662
- status: "ACTIVE" | "REVOKED";
7663
- redirectUris: string[];
7664
- scopes: string[];
7665
- grantTypes: string[];
7666
- secretPrefix: string | null;
7667
- createdBy: string | null;
7668
- createdByName: string | null;
7669
- createdByEmail: string | null;
7670
- createdAt: string;
7671
- revokedAt: string | null;
7672
- }>;
7673
- };
7674
7390
  /**
7675
7391
  * 미디어 업로드 — 자리를 받아(`POST /uploads`) 파일 바이트는 호출자가
7676
7392
  * `uploadUrl`로 직접 PUT한다. 업로드가 끝나면 `url`이 공개 주소가 된다.
@@ -7700,7 +7416,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7700
7416
  contents: {
7701
7417
  productId: string;
7702
7418
  name: string;
7703
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7419
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7704
7420
  salePrice: number;
7705
7421
  discountedPrice: number | null;
7706
7422
  stockQuantity: number;
@@ -7710,19 +7426,21 @@ export declare function createStoreClient(options: StoreClientOptions): {
7710
7426
  type: string;
7711
7427
  };
7712
7428
  updatedAt: string;
7429
+ sample: boolean;
7713
7430
  thumbnailUrl?: string | undefined;
7714
7431
  }[];
7715
7432
  }>;
7716
7433
  get: (productId: string) => Promise<{
7717
7434
  productId: string;
7718
7435
  name: string;
7719
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7436
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7720
7437
  salePrice: number;
7721
7438
  discountedPrice: number | null;
7722
7439
  stockQuantity: number;
7723
7440
  categoryId: string | null;
7724
7441
  hasOptions: boolean;
7725
7442
  updatedAt: string;
7443
+ sample: boolean;
7726
7444
  optionGroups: {
7727
7445
  groupId: string;
7728
7446
  name: string;
@@ -7769,11 +7487,11 @@ export declare function createStoreClient(options: StoreClientOptions): {
7769
7487
  usable: boolean;
7770
7488
  sortOrder: number;
7771
7489
  }[];
7772
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7490
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7773
7491
  fulfillment: UnknownFulfillment | {
7774
7492
  type: "SHIPPING";
7775
7493
  shipping: {
7776
- deliveryType: "FREE" | "PAID" | "CONDITIONAL_FREE";
7494
+ deliveryType: "PAID" | "FREE" | "CONDITIONAL_FREE";
7777
7495
  deliveryFee: number;
7778
7496
  conditionalFreeAmount: number | null;
7779
7497
  shippingAddressId: string | null;
@@ -7812,13 +7530,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
7812
7530
  create: (body: ProductCreateRequestInput, idempotencyKey?: string) => Promise<{
7813
7531
  productId: string;
7814
7532
  name: string;
7815
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7533
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7816
7534
  salePrice: number;
7817
7535
  discountedPrice: number | null;
7818
7536
  stockQuantity: number;
7819
7537
  categoryId: string | null;
7820
7538
  hasOptions: boolean;
7821
7539
  updatedAt: string;
7540
+ sample: boolean;
7822
7541
  optionGroups: {
7823
7542
  groupId: string;
7824
7543
  name: string;
@@ -7865,11 +7584,11 @@ export declare function createStoreClient(options: StoreClientOptions): {
7865
7584
  usable: boolean;
7866
7585
  sortOrder: number;
7867
7586
  }[];
7868
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7587
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7869
7588
  fulfillment: UnknownFulfillment | {
7870
7589
  type: "SHIPPING";
7871
7590
  shipping: {
7872
- deliveryType: "FREE" | "PAID" | "CONDITIONAL_FREE";
7591
+ deliveryType: "PAID" | "FREE" | "CONDITIONAL_FREE";
7873
7592
  deliveryFee: number;
7874
7593
  conditionalFreeAmount: number | null;
7875
7594
  shippingAddressId: string | null;
@@ -7908,13 +7627,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
7908
7627
  update: (productId: string, body: ProductReplaceRequestInput) => Promise<{
7909
7628
  productId: string;
7910
7629
  name: string;
7911
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7630
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7912
7631
  salePrice: number;
7913
7632
  discountedPrice: number | null;
7914
7633
  stockQuantity: number;
7915
7634
  categoryId: string | null;
7916
7635
  hasOptions: boolean;
7917
7636
  updatedAt: string;
7637
+ sample: boolean;
7918
7638
  optionGroups: {
7919
7639
  groupId: string;
7920
7640
  name: string;
@@ -7961,11 +7681,11 @@ export declare function createStoreClient(options: StoreClientOptions): {
7961
7681
  usable: boolean;
7962
7682
  sortOrder: number;
7963
7683
  }[];
7964
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7684
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7965
7685
  fulfillment: UnknownFulfillment | {
7966
7686
  type: "SHIPPING";
7967
7687
  shipping: {
7968
- deliveryType: "FREE" | "PAID" | "CONDITIONAL_FREE";
7688
+ deliveryType: "PAID" | "FREE" | "CONDITIONAL_FREE";
7969
7689
  deliveryFee: number;
7970
7690
  conditionalFreeAmount: number | null;
7971
7691
  shippingAddressId: string | null;
@@ -8061,7 +7781,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8061
7781
  usable: boolean;
8062
7782
  sortOrder: number;
8063
7783
  }[];
8064
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7784
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8065
7785
  }>;
8066
7786
  /**
8067
7787
  * 옵션 모델 전체 교체 — variants는 valueNames로 축 값을 지목한다.
@@ -8114,7 +7834,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8114
7834
  usable: boolean;
8115
7835
  sortOrder: number;
8116
7836
  }[];
8117
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7837
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8118
7838
  }>;
8119
7839
  /** 재고 변경 — stockQuantity(절대값) 또는 adjustment(증감) 하나만 전달한다 */
8120
7840
  updateVariantStock: (productId: string, variantId: string, body: VariantStockRequest) => Promise<{
@@ -8152,7 +7872,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8152
7872
  contents: {
8153
7873
  optionSetId: string;
8154
7874
  name: string;
8155
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7875
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8156
7876
  groups: {
8157
7877
  name: string;
8158
7878
  kind: string;
@@ -8176,7 +7896,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8176
7896
  get: (optionSetId: string) => Promise<{
8177
7897
  optionSetId: string;
8178
7898
  name: string;
8179
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7899
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8180
7900
  groups: {
8181
7901
  name: string;
8182
7902
  kind: string;
@@ -8200,7 +7920,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8200
7920
  create: (body: SavedOptionSetRequestInput) => Promise<{
8201
7921
  optionSetId: string;
8202
7922
  name: string;
8203
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7923
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8204
7924
  groups: {
8205
7925
  name: string;
8206
7926
  kind: string;
@@ -8224,7 +7944,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8224
7944
  update: (optionSetId: string, body: SavedOptionSetRequestInput) => Promise<{
8225
7945
  optionSetId: string;
8226
7946
  name: string;
8227
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7947
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8228
7948
  groups: {
8229
7949
  name: string;
8230
7950
  kind: string;
@@ -8250,7 +7970,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8250
7970
  optionSet: {
8251
7971
  optionSetId: string;
8252
7972
  name: string;
8253
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7973
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8254
7974
  groups: {
8255
7975
  name: string;
8256
7976
  kind: string;
@@ -8289,7 +8009,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8289
8009
  visible: boolean;
8290
8010
  showPc: boolean;
8291
8011
  showMobile: boolean;
8292
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8012
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8293
8013
  metaTitle: string | null;
8294
8014
  metaDescription: string | null;
8295
8015
  metaKeywords: string | null;
@@ -8309,7 +8029,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8309
8029
  visible: boolean;
8310
8030
  showPc: boolean;
8311
8031
  showMobile: boolean;
8312
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8032
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8313
8033
  metaTitle: string | null;
8314
8034
  metaDescription: string | null;
8315
8035
  metaKeywords: string | null;
@@ -8328,7 +8048,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8328
8048
  visible: boolean;
8329
8049
  showPc: boolean;
8330
8050
  showMobile: boolean;
8331
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8051
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8332
8052
  metaTitle: string | null;
8333
8053
  metaDescription: string | null;
8334
8054
  metaKeywords: string | null;
@@ -8348,7 +8068,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8348
8068
  visible: boolean;
8349
8069
  showPc: boolean;
8350
8070
  showMobile: boolean;
8351
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8071
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8352
8072
  metaTitle: string | null;
8353
8073
  metaDescription: string | null;
8354
8074
  metaKeywords: string | null;
@@ -8367,7 +8087,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8367
8087
  visible: boolean;
8368
8088
  showPc: boolean;
8369
8089
  showMobile: boolean;
8370
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8090
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8371
8091
  metaTitle: string | null;
8372
8092
  metaDescription: string | null;
8373
8093
  metaKeywords: string | null;
@@ -8396,7 +8116,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8396
8116
  visible: boolean;
8397
8117
  showPc: boolean;
8398
8118
  showMobile: boolean;
8399
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8119
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8400
8120
  metaTitle: string | null;
8401
8121
  metaDescription: string | null;
8402
8122
  metaKeywords: string | null;
@@ -8415,7 +8135,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8415
8135
  visible: boolean;
8416
8136
  showPc: boolean;
8417
8137
  showMobile: boolean;
8418
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8138
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8419
8139
  metaTitle: string | null;
8420
8140
  metaDescription: string | null;
8421
8141
  metaKeywords: string | null;
@@ -8675,7 +8395,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8675
8395
  }>;
8676
8396
  dispatch: (orderItemId: string, body: DispatchRequest, idempotencyKey?: string) => Promise<{
8677
8397
  orderItemId: string;
8678
- deliveryMethod: "COURIER" | "DIRECT" | "QUICK" | "NOTHING";
8398
+ deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
8679
8399
  carrierCode: string | null;
8680
8400
  carrierName: string | null;
8681
8401
  trackingNumber: string | null;
@@ -8835,7 +8555,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8835
8555
  }>;
8836
8556
  getDelivery: (orderItemId: string) => Promise<{
8837
8557
  orderItemId: string;
8838
- deliveryMethod: "COURIER" | "DIRECT" | "QUICK" | "NOTHING";
8558
+ deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
8839
8559
  carrierCode: string | null;
8840
8560
  carrierName: string | null;
8841
8561
  trackingNumber: string | null;
@@ -8872,8 +8592,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
8872
8592
  totalPages: number;
8873
8593
  contents: {
8874
8594
  claimId: string;
8875
- type: "RETURN" | "EXCHANGE" | "CANCEL";
8876
- status: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN";
8595
+ type: "CANCEL" | "RETURN" | "EXCHANGE";
8596
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
8877
8597
  orderId: string;
8878
8598
  orderItemId: string;
8879
8599
  productName: string;
@@ -8910,8 +8630,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
8910
8630
  }>;
8911
8631
  get: (claimId: string) => Promise<{
8912
8632
  claimId: string;
8913
- type: "RETURN" | "EXCHANGE" | "CANCEL";
8914
- status: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN";
8633
+ type: "CANCEL" | "RETURN" | "EXCHANGE";
8634
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
8915
8635
  orderId: string;
8916
8636
  orderItemId: string;
8917
8637
  productName: string;
@@ -8945,7 +8665,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8945
8665
  address2: string | null;
8946
8666
  } | null;
8947
8667
  histories?: {
8948
- status: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN";
8668
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
8949
8669
  actor: "SYSTEM" | "BUYER" | "SELLER";
8950
8670
  occurredAt: string;
8951
8671
  }[] | undefined;
@@ -8976,8 +8696,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
8976
8696
  /** 교환 완료 — 재배송 중인 교환을 셀러가 명시적으로 끝낸다 */
8977
8697
  completeExchange: (claimId: string) => Promise<{
8978
8698
  claimId: string;
8979
- type: "RETURN" | "EXCHANGE" | "CANCEL";
8980
- status: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN";
8699
+ type: "CANCEL" | "RETURN" | "EXCHANGE";
8700
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
8981
8701
  orderId: string;
8982
8702
  orderItemId: string;
8983
8703
  productName: string;
@@ -9027,7 +8747,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9027
8747
  productId: string;
9028
8748
  productName: string;
9029
8749
  orderItemId: string | null;
9030
- category: "ETC" | "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE";
8750
+ category: "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC";
9031
8751
  content: string;
9032
8752
  secret: boolean;
9033
8753
  writerMaskedName: string;
@@ -9045,7 +8765,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9045
8765
  productId: string;
9046
8766
  productName: string;
9047
8767
  orderItemId: string | null;
9048
- category: "ETC" | "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE";
8768
+ category: "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC";
9049
8769
  content: string;
9050
8770
  secret: boolean;
9051
8771
  writerMaskedName: string;
@@ -9678,7 +9398,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9678
9398
  contents: {
9679
9399
  inquiryId: string;
9680
9400
  memberMaskedName: string;
9681
- category: "ETC" | "DELIVERY" | "RETURN" | "EXCHANGE" | "PAYMENT";
9401
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
9682
9402
  title: string;
9683
9403
  content: string;
9684
9404
  orderItemId: string | null;
@@ -9694,7 +9414,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9694
9414
  get: (inquiryId: string) => Promise<{
9695
9415
  inquiryId: string;
9696
9416
  memberMaskedName: string;
9697
- category: "ETC" | "DELIVERY" | "RETURN" | "EXCHANGE" | "PAYMENT";
9417
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
9698
9418
  title: string;
9699
9419
  content: string;
9700
9420
  orderItemId: string | null;
@@ -9878,9 +9598,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
9878
9598
  }>;
9879
9599
  /** `GET /v1/analytics/sources` — 채널·소스·캠페인·기기별 세션과 구매 */
9880
9600
  sources: (params: AnalyticsSourcesParams) => Promise<{
9881
- groupBy: "CHANNEL" | "SOURCE" | "CAMPAIGN" | "DEVICE";
9601
+ groupBy: "CAMPAIGN" | "CHANNEL" | "SOURCE" | "DEVICE";
9882
9602
  rows: {
9883
- channel: "PAID" | "DIRECT" | "CAMPAIGN" | "UNKNOWN" | "ORGANIC_SEARCH" | "SOCIAL" | "EMAIL" | "REFERRAL" | null;
9603
+ channel: "DIRECT" | "ORGANIC_SEARCH" | "SOCIAL" | "PAID" | "EMAIL" | "CAMPAIGN" | "REFERRAL" | "UNKNOWN" | null;
9884
9604
  source: string | null;
9885
9605
  medium: string | null;
9886
9606
  campaign: string | null;
@@ -9985,7 +9705,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9985
9705
  checkout: (params: AnalyticsRangeParams) => Promise<{
9986
9706
  sessions: number;
9987
9707
  outcomes: {
9988
- outcome: "OTHER" | "COMPLETED" | "NOT_OPENED" | "USER_CANCELED" | "DECLINED" | "PREPARE_FAILURE" | "IN_PROGRESS";
9708
+ outcome: "COMPLETED" | "NOT_OPENED" | "USER_CANCELED" | "DECLINED" | "PREPARE_FAILURE" | "OTHER" | "IN_PROGRESS";
9989
9709
  sessions: number;
9990
9710
  }[];
9991
9711
  from: string;
@@ -10015,7 +9735,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10015
9735
  orderId: string | null;
10016
9736
  orderName: string;
10017
9737
  customerName: string;
10018
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9738
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
10019
9739
  amount: number;
10020
9740
  refundedAmount: number;
10021
9741
  provider: "tosspayments" | "portone" | null;
@@ -10039,7 +9759,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10039
9759
  orderId: string | null;
10040
9760
  orderName: string;
10041
9761
  customerName: string;
10042
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9762
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
10043
9763
  amount: number;
10044
9764
  refundedAmount: number;
10045
9765
  provider: "tosspayments" | "portone" | null;
@@ -10108,7 +9828,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10108
9828
  /**
10109
9829
  * 결제(PG) 설정 — **콘솔 OWNER 전용**. ADMIN·STAFF·PAT·M2M·3rd-party 앱 토큰은 스코프가 있어도
10110
9830
  * 403 `INSUFFICIENT_ROLE`이다(조회 포함). OWNER 여부는 요청 시점의 스토어 멤버십으로 다시 확인하므로
10111
- * 양도·강등 직후의 옛 storeToken도 403이다(토큰을 재발급받는다). 비밀 값(시크릿 키·API Secret·웹훅 시크릿)은 요청으로만 보내고
9831
+ * 양도·강등 직후에도 바로 403이다. 비밀 값(시크릿 키·API Secret·웹훅 시크릿)은 요청으로만 보내고
10112
9832
  * 응답에는 `secrets[].masked`(앞 4자리 마스킹)만 나온다.
10113
9833
  */
10114
9834
  paymentSettings: {
@@ -10138,7 +9858,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10138
9858
  masked: string | null;
10139
9859
  }[];
10140
9860
  lastVerification: {
10141
- result: "SUCCESS" | "FAILED";
9861
+ result: "FAILED" | "SUCCESS";
10142
9862
  message: string | null;
10143
9863
  checkedAt: string;
10144
9864
  } | null;
@@ -10163,7 +9883,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10163
9883
  masked: string | null;
10164
9884
  }[];
10165
9885
  lastVerification: {
10166
- result: "SUCCESS" | "FAILED";
9886
+ result: "FAILED" | "SUCCESS";
10167
9887
  message: string | null;
10168
9888
  checkedAt: string;
10169
9889
  } | null;
@@ -10187,7 +9907,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10187
9907
  masked: string | null;
10188
9908
  }[];
10189
9909
  lastVerification: {
10190
- result: "SUCCESS" | "FAILED";
9910
+ result: "FAILED" | "SUCCESS";
10191
9911
  message: string | null;
10192
9912
  checkedAt: string;
10193
9913
  } | null;
@@ -10239,7 +9959,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10239
9959
  masked: string | null;
10240
9960
  }[];
10241
9961
  lastVerification: {
10242
- result: "SUCCESS" | "FAILED";
9962
+ result: "FAILED" | "SUCCESS";
10243
9963
  message: string | null;
10244
9964
  checkedAt: string;
10245
9965
  } | null;
@@ -10264,7 +9984,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10264
9984
  masked: string | null;
10265
9985
  }[];
10266
9986
  lastVerification: {
10267
- result: "SUCCESS" | "FAILED";
9987
+ result: "FAILED" | "SUCCESS";
10268
9988
  message: string | null;
10269
9989
  checkedAt: string;
10270
9990
  } | null;
@@ -10288,7 +10008,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10288
10008
  masked: string | null;
10289
10009
  }[];
10290
10010
  lastVerification: {
10291
- result: "SUCCESS" | "FAILED";
10011
+ result: "FAILED" | "SUCCESS";
10292
10012
  message: string | null;
10293
10013
  checkedAt: string;
10294
10014
  } | null;
@@ -10345,7 +10065,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10345
10065
  masked: string | null;
10346
10066
  }[];
10347
10067
  lastVerification: {
10348
- result: "SUCCESS" | "FAILED";
10068
+ result: "FAILED" | "SUCCESS";
10349
10069
  message: string | null;
10350
10070
  checkedAt: string;
10351
10071
  } | null;
@@ -10370,7 +10090,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10370
10090
  masked: string | null;
10371
10091
  }[];
10372
10092
  lastVerification: {
10373
- result: "SUCCESS" | "FAILED";
10093
+ result: "FAILED" | "SUCCESS";
10374
10094
  message: string | null;
10375
10095
  checkedAt: string;
10376
10096
  } | null;
@@ -10394,7 +10114,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10394
10114
  masked: string | null;
10395
10115
  }[];
10396
10116
  lastVerification: {
10397
- result: "SUCCESS" | "FAILED";
10117
+ result: "FAILED" | "SUCCESS";
10398
10118
  message: string | null;
10399
10119
  checkedAt: string;
10400
10120
  } | null;
@@ -10441,7 +10161,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10441
10161
  masked: string | null;
10442
10162
  }[];
10443
10163
  lastVerification: {
10444
- result: "SUCCESS" | "FAILED";
10164
+ result: "FAILED" | "SUCCESS";
10445
10165
  message: string | null;
10446
10166
  checkedAt: string;
10447
10167
  } | null;
@@ -10466,7 +10186,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10466
10186
  masked: string | null;
10467
10187
  }[];
10468
10188
  lastVerification: {
10469
- result: "SUCCESS" | "FAILED";
10189
+ result: "FAILED" | "SUCCESS";
10470
10190
  message: string | null;
10471
10191
  checkedAt: string;
10472
10192
  } | null;
@@ -10490,7 +10210,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10490
10210
  masked: string | null;
10491
10211
  }[];
10492
10212
  lastVerification: {
10493
- result: "SUCCESS" | "FAILED";
10213
+ result: "FAILED" | "SUCCESS";
10494
10214
  message: string | null;
10495
10215
  checkedAt: string;
10496
10216
  } | null;
@@ -10547,7 +10267,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10547
10267
  masked: string | null;
10548
10268
  }[];
10549
10269
  lastVerification: {
10550
- result: "SUCCESS" | "FAILED";
10270
+ result: "FAILED" | "SUCCESS";
10551
10271
  message: string | null;
10552
10272
  checkedAt: string;
10553
10273
  } | null;
@@ -10572,7 +10292,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10572
10292
  masked: string | null;
10573
10293
  }[];
10574
10294
  lastVerification: {
10575
- result: "SUCCESS" | "FAILED";
10295
+ result: "FAILED" | "SUCCESS";
10576
10296
  message: string | null;
10577
10297
  checkedAt: string;
10578
10298
  } | null;
@@ -10596,7 +10316,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10596
10316
  masked: string | null;
10597
10317
  }[];
10598
10318
  lastVerification: {
10599
- result: "SUCCESS" | "FAILED";
10319
+ result: "FAILED" | "SUCCESS";
10600
10320
  message: string | null;
10601
10321
  checkedAt: string;
10602
10322
  } | null;
@@ -10643,7 +10363,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10643
10363
  masked: string | null;
10644
10364
  }[];
10645
10365
  lastVerification: {
10646
- result: "SUCCESS" | "FAILED";
10366
+ result: "FAILED" | "SUCCESS";
10647
10367
  message: string | null;
10648
10368
  checkedAt: string;
10649
10369
  } | null;
@@ -10668,7 +10388,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10668
10388
  masked: string | null;
10669
10389
  }[];
10670
10390
  lastVerification: {
10671
- result: "SUCCESS" | "FAILED";
10391
+ result: "FAILED" | "SUCCESS";
10672
10392
  message: string | null;
10673
10393
  checkedAt: string;
10674
10394
  } | null;
@@ -10692,7 +10412,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10692
10412
  masked: string | null;
10693
10413
  }[];
10694
10414
  lastVerification: {
10695
- result: "SUCCESS" | "FAILED";
10415
+ result: "FAILED" | "SUCCESS";
10696
10416
  message: string | null;
10697
10417
  checkedAt: string;
10698
10418
  } | null;
@@ -10748,7 +10468,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10748
10468
  masked: string | null;
10749
10469
  }[];
10750
10470
  lastVerification: {
10751
- result: "SUCCESS" | "FAILED";
10471
+ result: "FAILED" | "SUCCESS";
10752
10472
  message: string | null;
10753
10473
  checkedAt: string;
10754
10474
  } | null;
@@ -10773,7 +10493,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10773
10493
  masked: string | null;
10774
10494
  }[];
10775
10495
  lastVerification: {
10776
- result: "SUCCESS" | "FAILED";
10496
+ result: "FAILED" | "SUCCESS";
10777
10497
  message: string | null;
10778
10498
  checkedAt: string;
10779
10499
  } | null;
@@ -10797,7 +10517,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10797
10517
  masked: string | null;
10798
10518
  }[];
10799
10519
  lastVerification: {
10800
- result: "SUCCESS" | "FAILED";
10520
+ result: "FAILED" | "SUCCESS";
10801
10521
  message: string | null;
10802
10522
  checkedAt: string;
10803
10523
  } | null;
@@ -10825,7 +10545,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10825
10545
  verify: (provider: PgProvider, body?: VerifyPaymentProviderRequest) => Promise<{
10826
10546
  provider: "tosspayments" | "portone";
10827
10547
  environment: "TEST" | "LIVE";
10828
- result: "SUCCESS" | "FAILED";
10548
+ result: "FAILED" | "SUCCESS";
10829
10549
  message: string | null;
10830
10550
  checkedAt: string;
10831
10551
  }>;
@@ -10891,7 +10611,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10891
10611
  eventId: string;
10892
10612
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
10893
10613
  url: string;
10894
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
10614
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10895
10615
  responseStatusCode: number | null;
10896
10616
  responseTimeMs: number | null;
10897
10617
  responseBodyExcerpt: string | null;
@@ -10918,7 +10638,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10918
10638
  eventId: string;
10919
10639
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
10920
10640
  url: string;
10921
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
10641
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10922
10642
  responseStatusCode: number | null;
10923
10643
  responseTimeMs: number | null;
10924
10644
  responseBodyExcerpt: string | null;
@@ -10953,7 +10673,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10953
10673
  eventId: string;
10954
10674
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
10955
10675
  url: string;
10956
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
10676
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10957
10677
  responseStatusCode: number | null;
10958
10678
  responseTimeMs: number | null;
10959
10679
  responseBodyExcerpt: string | null;
@@ -11049,7 +10769,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11049
10769
  method: string | null;
11050
10770
  path: string | null;
11051
10771
  statusCode: number | null;
11052
- outcome: "FAILED" | "SUCCEEDED" | "PENDING_APPROVAL" | "DENIED" | "DRY_RUN" | null;
10772
+ outcome: "SUCCEEDED" | "FAILED" | "PENDING_APPROVAL" | "DENIED" | "DRY_RUN" | null;
11053
10773
  errorCode: string | null;
11054
10774
  traceId: string | null;
11055
10775
  idempotencyKey: string | null;
@@ -11067,7 +10787,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11067
10787
  list: (params?: ApprovalListOptions) => Promise<{
11068
10788
  items: {
11069
10789
  approvalId: string;
11070
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10790
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11071
10791
  operationId: string;
11072
10792
  method: string;
11073
10793
  path: string;
@@ -11117,7 +10837,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11117
10837
  }>;
11118
10838
  get: (approvalId: string) => Promise<{
11119
10839
  approvalId: string;
11120
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10840
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11121
10841
  operationId: string;
11122
10842
  method: string;
11123
10843
  path: string;
@@ -11169,7 +10889,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11169
10889
  */
11170
10890
  approve: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11171
10891
  approvalId: string;
11172
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10892
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11173
10893
  operationId: string;
11174
10894
  method: string;
11175
10895
  path: string;
@@ -11217,7 +10937,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11217
10937
  }>;
11218
10938
  reject: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11219
10939
  approvalId: string;
11220
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10940
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11221
10941
  operationId: string;
11222
10942
  method: string;
11223
10943
  path: string;
@@ -11314,7 +11034,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11314
11034
  sellerAddresses: {
11315
11035
  list: (type?: AddressType) => Promise<{
11316
11036
  addressId: string;
11317
- type: "SHIPPING" | "RETURN";
11037
+ type: "RETURN" | "SHIPPING";
11318
11038
  name: string;
11319
11039
  isDefault: boolean;
11320
11040
  contactName: string;
@@ -11344,6 +11064,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
11344
11064
  thumbnailUrl: string | null;
11345
11065
  version: string;
11346
11066
  isDefault: boolean;
11067
+ tags: string[];
11068
+ supportsCheckout: boolean;
11069
+ previewUrl: string | null;
11347
11070
  }[]>;
11348
11071
  /** `GET /v1/storefront/site` — 스위치 상태와 현재 사이트(없으면 `site: null`) */
11349
11072
  get: () => Promise<{
@@ -11382,7 +11105,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11382
11105
  createdVia?: string | null | undefined;
11383
11106
  } | null;
11384
11107
  provisioning: {
11385
- status: "PENDING" | "FAILED" | "SYNCED";
11108
+ status: "FAILED" | "PENDING" | "SYNCED";
11386
11109
  lastErrorCode: string | null;
11387
11110
  syncedAt: string | null;
11388
11111
  };
@@ -11440,7 +11163,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11440
11163
  createdVia?: string | null | undefined;
11441
11164
  } | null;
11442
11165
  provisioning: {
11443
- status: "PENDING" | "FAILED" | "SYNCED";
11166
+ status: "FAILED" | "PENDING" | "SYNCED";
11444
11167
  lastErrorCode: string | null;
11445
11168
  syncedAt: string | null;
11446
11169
  };
@@ -11458,13 +11181,13 @@ export declare function createStoreClient(options: StoreClientOptions): {
11458
11181
  /** `GET /v1/storefront/site/deployment` — 배포 진행(단계·기록). 만든 뒤 반영이 끝날 때까지 폴링한다 */
11459
11182
  getDeployment: () => Promise<{
11460
11183
  siteId: string;
11461
- status: "FAILED" | "SUCCEEDED" | "IN_PROGRESS";
11184
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11462
11185
  url: string;
11463
11186
  startedAt: string;
11464
11187
  finishedAt: string | null;
11465
11188
  steps: {
11466
11189
  key: "SITE" | "UPLOAD" | "PUBLISH";
11467
- status: "PENDING" | "FAILED" | "RUNNING" | "DONE";
11190
+ status: "FAILED" | "PENDING" | "RUNNING" | "DONE";
11468
11191
  finishedAt: string | null;
11469
11192
  }[];
11470
11193
  log: {
@@ -11480,13 +11203,13 @@ export declare function createStoreClient(options: StoreClientOptions): {
11480
11203
  /** `POST /v1/storefront/site/deployment/retry` (202) — 밀린 반영을 곧바로 다시 시도한다. 이미 반영됐으면 그대로다 */
11481
11204
  retryDeployment: () => Promise<{
11482
11205
  siteId: string;
11483
- status: "FAILED" | "SUCCEEDED" | "IN_PROGRESS";
11206
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11484
11207
  url: string;
11485
11208
  startedAt: string;
11486
11209
  finishedAt: string | null;
11487
11210
  steps: {
11488
11211
  key: "SITE" | "UPLOAD" | "PUBLISH";
11489
- status: "PENDING" | "FAILED" | "RUNNING" | "DONE";
11212
+ status: "FAILED" | "PENDING" | "RUNNING" | "DONE";
11490
11213
  finishedAt: string | null;
11491
11214
  }[];
11492
11215
  log: {
@@ -11536,7 +11259,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11536
11259
  createdVia?: string | null | undefined;
11537
11260
  } | null;
11538
11261
  provisioning: {
11539
- status: "PENDING" | "FAILED" | "SYNCED";
11262
+ status: "FAILED" | "PENDING" | "SYNCED";
11540
11263
  lastErrorCode: string | null;
11541
11264
  syncedAt: string | null;
11542
11265
  };
@@ -11600,7 +11323,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11600
11323
  createdVia?: string | null | undefined;
11601
11324
  } | null;
11602
11325
  provisioning: {
11603
- status: "PENDING" | "FAILED" | "SYNCED";
11326
+ status: "FAILED" | "PENDING" | "SYNCED";
11604
11327
  lastErrorCode: string | null;
11605
11328
  syncedAt: string | null;
11606
11329
  };
@@ -11648,7 +11371,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11648
11371
  createdVia?: string | null | undefined;
11649
11372
  } | null;
11650
11373
  provisioning: {
11651
- status: "PENDING" | "FAILED" | "SYNCED";
11374
+ status: "FAILED" | "PENDING" | "SYNCED";
11652
11375
  lastErrorCode: string | null;
11653
11376
  syncedAt: string | null;
11654
11377
  };
@@ -11696,7 +11419,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11696
11419
  createdVia?: string | null | undefined;
11697
11420
  } | null;
11698
11421
  provisioning: {
11699
- status: "PENDING" | "FAILED" | "SYNCED";
11422
+ status: "FAILED" | "PENDING" | "SYNCED";
11700
11423
  lastErrorCode: string | null;
11701
11424
  syncedAt: string | null;
11702
11425
  };
@@ -11744,7 +11467,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11744
11467
  createdVia?: string | null | undefined;
11745
11468
  } | null;
11746
11469
  provisioning: {
11747
- status: "PENDING" | "FAILED" | "SYNCED";
11470
+ status: "FAILED" | "PENDING" | "SYNCED";
11748
11471
  lastErrorCode: string | null;
11749
11472
  syncedAt: string | null;
11750
11473
  };
@@ -11784,7 +11507,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11784
11507
  value: string;
11785
11508
  purpose: "ROUTING" | "OWNERSHIP";
11786
11509
  }[];
11787
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11510
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11788
11511
  failureCode: string | null;
11789
11512
  verifiedAt: string | null;
11790
11513
  activatedAt: string | null;
@@ -11808,7 +11531,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11808
11531
  value: string;
11809
11532
  purpose: "ROUTING" | "OWNERSHIP";
11810
11533
  }[];
11811
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11534
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11812
11535
  failureCode: string | null;
11813
11536
  verifiedAt: string | null;
11814
11537
  activatedAt: string | null;
@@ -11828,7 +11551,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11828
11551
  value: string;
11829
11552
  purpose: "ROUTING" | "OWNERSHIP";
11830
11553
  }[];
11831
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11554
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11832
11555
  failureCode: string | null;
11833
11556
  verifiedAt: string | null;
11834
11557
  activatedAt: string | null;
@@ -11852,7 +11575,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11852
11575
  value: string;
11853
11576
  purpose: "ROUTING" | "OWNERSHIP";
11854
11577
  }[];
11855
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11578
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11856
11579
  failureCode: string | null;
11857
11580
  verifiedAt: string | null;
11858
11581
  activatedAt: string | null;
@@ -11895,7 +11618,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11895
11618
  createdVia?: string | null | undefined;
11896
11619
  } | null;
11897
11620
  provisioning: {
11898
- status: "PENDING" | "FAILED" | "SYNCED";
11621
+ status: "FAILED" | "PENDING" | "SYNCED";
11899
11622
  lastErrorCode: string | null;
11900
11623
  syncedAt: string | null;
11901
11624
  };
@@ -12055,7 +11778,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12055
11778
  runCheck: (body: RunStorefrontCheckRequest) => Promise<{
12056
11779
  checkId: string;
12057
11780
  check: string;
12058
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
11781
+ status: "UNKNOWN" | "FAILED" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
12059
11782
  exitCode: number | null;
12060
11783
  durationMs: number | null;
12061
11784
  outputTail: string | null;
@@ -12069,7 +11792,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12069
11792
  getCheck: (checkId: string) => Promise<{
12070
11793
  checkId: string;
12071
11794
  check: string;
12072
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
11795
+ status: "UNKNOWN" | "FAILED" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
12073
11796
  exitCode: number | null;
12074
11797
  durationMs: number | null;
12075
11798
  outputTail: string | null;
@@ -12136,7 +11859,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12136
11859
  buildId: string;
12137
11860
  versionId: string;
12138
11861
  versionNumber: number;
12139
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
11862
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12140
11863
  failureStage: string | null;
12141
11864
  errorCode: string | null;
12142
11865
  logTail: string | null;
@@ -12217,7 +11940,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12217
11940
  buildId: string;
12218
11941
  versionId: string;
12219
11942
  versionNumber: number;
12220
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
11943
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12221
11944
  failureStage: string | null;
12222
11945
  errorCode: string | null;
12223
11946
  logTail: string | null;
@@ -12295,7 +12018,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12295
12018
  buildId: string;
12296
12019
  versionId: string;
12297
12020
  versionNumber: number;
12298
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12021
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12299
12022
  failureStage: string | null;
12300
12023
  errorCode: string | null;
12301
12024
  logTail: string | null;
@@ -12430,6 +12153,116 @@ export declare function createStoreClient(options: StoreClientOptions): {
12430
12153
  }[];
12431
12154
  }>;
12432
12155
  };
12156
+ subscription: {
12157
+ /**
12158
+ * `GET /v1/store/subscription` — 스코프 `store:r`. 현재 요금제·상태·사용량 기간·한도·이번 기간 사용량.
12159
+ * 결제 수단·청구 금액은 싣지 않는다. 요금제 변경은 셀러 콘솔에서만 한다
12160
+ */
12161
+ get: () => Promise<{
12162
+ plan: {
12163
+ code: string;
12164
+ name: string;
12165
+ };
12166
+ status: "ACTIVE" | "CANCELED" | "PAST_DUE" | "INCOMPLETE";
12167
+ interval: "MONTH" | null;
12168
+ cancelAtPeriodEnd: boolean;
12169
+ period: {
12170
+ start: string;
12171
+ end: string;
12172
+ };
12173
+ limits: {
12174
+ liveOrdersMonthly: number | null;
12175
+ seatsIncluded: number | null;
12176
+ aiActionsMonthly: number | null;
12177
+ aiReadsMonthly: number | null;
12178
+ customDomains: number | null;
12179
+ webhooks: number | null;
12180
+ socialProviders: number | null;
12181
+ emailsMonthly: number | null;
12182
+ storefrontRequestsMonthly: number | null;
12183
+ apiLogRetentionDays: number | null;
12184
+ auditLogRetentionDays: number | null;
12185
+ storefrontPreviewHoursMonthly: number | null;
12186
+ storefrontBuildMinutesMonthly: number | null;
12187
+ adminApiRequestsMonthly: number | null;
12188
+ };
12189
+ features: {
12190
+ adminApi: boolean;
12191
+ analytics: boolean;
12192
+ storeClone: boolean;
12193
+ removeBadge: boolean;
12194
+ };
12195
+ usage: {
12196
+ liveOrders: number;
12197
+ aiActions: number;
12198
+ aiReads: number;
12199
+ storefrontRequests: number;
12200
+ adminApiRequests: number;
12201
+ emails: number;
12202
+ storefrontPreviewMinutes: number;
12203
+ storefrontBuildMinutes: number;
12204
+ seats: number;
12205
+ customDomains: number;
12206
+ webhooks: number;
12207
+ };
12208
+ aiActions: {
12209
+ limit: number | null;
12210
+ used: number;
12211
+ resetsAt: string;
12212
+ };
12213
+ aiReads: {
12214
+ limit: number | null;
12215
+ used: number;
12216
+ resetsAt: string;
12217
+ };
12218
+ salesFeePercent: 0;
12219
+ }>;
12220
+ };
12221
+ plans: {
12222
+ /**
12223
+ * `GET /v1/public/plans` — 인증 없음. 공개 요금제의 지금 버전(가격·기능 키 값). 값은 서버가 관리하고 언제든 바뀔 수 있어
12224
+ * 코드에 요금제 수치를 두지 말고 이 값을 읽는다
12225
+ */
12226
+ listPublic: () => Promise<{
12227
+ vatPercent: number;
12228
+ plans: {
12229
+ code: string;
12230
+ name: string;
12231
+ version: number;
12232
+ sort: number;
12233
+ purchasable: boolean;
12234
+ prices: {
12235
+ currency: "KRW";
12236
+ monthly: number | null;
12237
+ startingAt: boolean;
12238
+ vatIncluded: {
12239
+ monthly: number | null;
12240
+ };
12241
+ };
12242
+ entitlements: {
12243
+ "features.admin_api": boolean;
12244
+ "features.analytics": boolean;
12245
+ "limits.ai_reads_monthly": number | null;
12246
+ "limits.ai_actions_monthly": number | null;
12247
+ "limits.custom_domains": number | null;
12248
+ "limits.webhooks": number | null;
12249
+ "limits.storefront_preview_hours_monthly": number | null;
12250
+ "limits.storefront_build_minutes_monthly": number | null;
12251
+ "limits.storefront_requests_monthly": number | null;
12252
+ "limits.admin_api_requests_monthly": number | null;
12253
+ "rate_limit.admin_api": number | null;
12254
+ "storefront.cpu_ms": number;
12255
+ "storefront.subrequests": number;
12256
+ "storefront.rate_limit_per_minute": number;
12257
+ "seats.included": number | null;
12258
+ "retention.analytics_days": number;
12259
+ "retention.api_logs_days": number | null;
12260
+ "retention.audit_days": number | null;
12261
+ "support.tier": string;
12262
+ };
12263
+ }[];
12264
+ }>;
12265
+ };
12433
12266
  store: {
12434
12267
  get: () => Promise<{
12435
12268
  storeId: string;
@@ -12513,7 +12346,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12513
12346
  userId: string;
12514
12347
  name: string;
12515
12348
  email: string;
12516
- role: "ADMIN" | "STAFF" | "OWNER";
12349
+ role: "OWNER" | "ADMIN" | "STAFF";
12517
12350
  joinedAt: string;
12518
12351
  lastActiveAt: string | null;
12519
12352
  }[]>;
@@ -12582,9 +12415,10 @@ type StoreClient = ReturnType<typeof createStoreClient>;
12582
12415
  //#region src/oauth.d.ts
12583
12416
  /**
12584
12417
  * OAuth 2.1 브라우저 플로우 헬퍼 (authorization_code + PKCE).
12418
+ * 발급자는 Sayren 계정(accounts)이다 — 엔드포인트 주소는 호출부가 준다.
12585
12419
  * Web Crypto만 사용 — 브라우저/Node 모두에서 동작하며 **시크릿을 다루지 않는다**.
12586
12420
  */
12587
- /** RFC 6749 §5.1 토큰 응답 (+ RFC 8693 확장 멤버 허용) */
12421
+ /** RFC 6749 §5.1 토큰 응답 */
12588
12422
  export declare const oauthTokenResponseSchema: z.ZodObject<{
12589
12423
  access_token: z.ZodString;
12590
12424
  token_type: z.ZodLiteral<"Bearer">;
@@ -12599,44 +12433,59 @@ export declare function createPkcePair(): Promise<{
12599
12433
  challenge: string;
12600
12434
  }>;
12601
12435
  interface AuthorizeUrlOptions {
12602
- /** 예: https://api.sayren.app/v1 (베이스 URL — /oauth2/authorize가 덧붙는다) */
12603
- baseUrl: string;
12436
+ /** authorize 엔드포인트 전체 주소(예: `https://accounts.sayren.app/api/auth/oauth2/authorize`) */
12437
+ authorizeUrl: string;
12604
12438
  clientId: string;
12605
12439
  redirectUri: string;
12606
12440
  state: string;
12607
12441
  codeChallenge: string;
12608
- /** 생략 시 서버 기본(stores:read). refresh가 필요하면 offline_access 포함 */
12442
+ /** 생략 시 발급자 기본. refresh가 필요하면 offline_access 포함 */
12609
12443
  scope?: string;
12444
+ /** RFC 8707 리소스 지시자 — 주면 JWT access token(`aud` = 리소스)을 받는다 */
12445
+ resource?: string;
12446
+ /** OIDC `prompt` — `login`(재인증)·`create`(가입)·`consent`(동의 다시 받기) */
12447
+ prompt?: "login" | "create" | "consent";
12610
12448
  }
12611
12449
  /** authorize 엔드포인트 URL 구성 — 브라우저는 이 URL로 이동(top-level navigation) */
12612
12450
  export declare function buildAuthorizeUrl(options: AuthorizeUrlOptions): string;
12613
- /** 콜백에서 받은 code를 userToken으로 교환 (PKCE verifier 동반) */
12451
+ /** 콜백에서 받은 code를 액세스 토큰으로 교환 (PKCE verifier 동반) */
12614
12452
  export declare function exchangeAuthorizationCode(options: {
12615
- baseUrl: string;
12453
+ /** 토큰 엔드포인트 전체 주소 */
12454
+ tokenUrl: string;
12616
12455
  clientId: string;
12617
12456
  redirectUri: string;
12618
12457
  code: string;
12619
12458
  codeVerifier: string;
12459
+ /** RFC 8707 리소스 지시자 */
12460
+ resource?: string;
12620
12461
  fetch?: typeof globalThis.fetch;
12621
12462
  }): Promise<OAuthTokenResponse>;
12622
12463
  /** refresh grant (rotation — 응답의 새 refresh_token으로 반드시 교체 저장할 것) */
12623
12464
  export declare function refreshUserToken(options: {
12624
- baseUrl: string;
12465
+ /** 토큰 엔드포인트 전체 주소 */
12466
+ tokenUrl: string;
12625
12467
  clientId: string;
12626
12468
  refreshToken: string;
12469
+ /** RFC 8707 리소스 지시자 */
12470
+ resource?: string;
12627
12471
  fetch?: typeof globalThis.fetch;
12628
12472
  }): Promise<OAuthTokenResponse>;
12629
- /** userToken → storeToken 교환 (RFC 8693 token-exchange grant) */
12630
- export declare function exchangeStoreTokenViaOAuth(options: {
12631
- baseUrl: string;
12632
- clientId: string;
12633
- userToken: string;
12634
- storeId: string;
12635
- fetch?: typeof globalThis.fetch;
12636
- }): Promise<OAuthTokenResponse & {
12637
- storeId?: string;
12638
- role?: string;
12639
- }>;
12473
+ //#endregion
12474
+ //#region src/schemas/customer-delegation.d.ts
12475
+ export declare const customerDelegationRequestSchema: z.ZodObject<{
12476
+ uid: z.ZodOptional<z.ZodString>;
12477
+ email: z.ZodOptional<z.ZodEmail>;
12478
+ name: z.ZodOptional<z.ZodString>;
12479
+ authenticatedAt: z.ZodOptional<z.ZodISODateTime>;
12480
+ }, z.core.$strip>;
12481
+ export type CustomerDelegationRequest = z.infer<typeof customerDelegationRequestSchema>;
12482
+ export declare const customerDelegationSchema: z.ZodObject<{
12483
+ accessToken: z.ZodString;
12484
+ tokenType: z.ZodLiteral<"Bearer">;
12485
+ expiresIn: z.ZodNumber;
12486
+ memberId: z.ZodString;
12487
+ }, z.core.$strip>;
12488
+ export type CustomerDelegation = z.infer<typeof customerDelegationSchema>;
12640
12489
  //#endregion
12641
12490
  //#region src/schemas/promotion.d.ts
12642
12491
  /** 쿠폰 종류 */
@@ -13081,13 +12930,13 @@ export declare const STORE_SCOPE_RESOURCES: {
13081
12930
  export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
13082
12931
  export declare const storeScopeResourceSchema: z.ZodEnum<{
13083
12932
  category: "category";
12933
+ analytics: "analytics";
13084
12934
  product: "product";
13085
12935
  order: "order";
13086
12936
  claim: "claim";
13087
12937
  inquiry: "inquiry";
13088
12938
  review: "review";
13089
12939
  settlement: "settlement";
13090
- analytics: "analytics";
13091
12940
  webhook: "webhook";
13092
12941
  store: "store";
13093
12942
  member: "member";
@@ -13100,8 +12949,7 @@ export declare const storeScopeResourceSchema: z.ZodEnum<{
13100
12949
  export declare function isStoreScope(scope: string): boolean;
13101
12950
  /**
13102
12951
  * 역할별 자동 부여 스코프 (auth-spec §7).
13103
- * storeToken(사람)의 스코프는 이 표로 결정된다. PAT·M2M 클라이언트에는 역할이 없고
13104
- * 발급 시 지정한 스코프만 갖는다(발급자 보유 스코프 이내).
12952
+ * 계정 토큰으로 스토어를 호출할 때의 스코프는 그 스토어에서의 역할로 이 표에서 결정된다.
13105
12953
  */
13106
12954
  export declare const STORE_ROLE_SCOPES: {
13107
12955
  readonly OWNER: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "settlement:r", "analytics:r", "webhook:rw", "store:rw", "member:rw", "customer:rw", "audit:r", "promotion:rw", "storefront:rw"];
@@ -13314,6 +13162,312 @@ export interface DeliveryQuoteInput {
13314
13162
  */
13315
13163
  export declare function quoteDelivery(input: DeliveryQuoteInput): DeliveryQuote;
13316
13164
  //#endregion
13165
+ //#region src/schemas/subscription.d.ts
13166
+ /**
13167
+ * 요금제·구독 — `GET /v1/store/subscription`(스코프 `store:r`). 구독 단위는 스토어다.
13168
+ * 결제 수단·청구 금액은 싣지 않는다. 요금제 변경은 셀러 콘솔에서만 한다.
13169
+ */
13170
+ /** 요금제 코드 — 이름(`plan.name`)이 바뀌어도 코드는 바뀌지 않는다. 값은 추가만 한다 */
13171
+ export declare const planCodeSchema: z.ZodEnum<{
13172
+ FREE: "FREE";
13173
+ BETA: "BETA";
13174
+ BASIC: "BASIC";
13175
+ PRO: "PRO";
13176
+ BUSINESS: "BUSINESS";
13177
+ ENTERPRISE: "ENTERPRISE";
13178
+ PREMIUM: "PREMIUM";
13179
+ }>;
13180
+ export type PlanCode = z.infer<typeof planCodeSchema>;
13181
+ /**
13182
+ * 응답의 요금제 코드 — 아는 코드(`PlanCode`)거나 이 SDK가 모르는 새 코드(문자열)다. 요금제 코드는 추가될 수 있어 응답 파싱을 깨지 않게
13183
+ * 넓게 받는다(옛 SDK는 새 코드를 모르면 파싱에 실패했다, #44 리뷰 M3). 요청에는 `planCodeSchema`를 쓴다
13184
+ */
13185
+ export declare const responsePlanCodeSchema: z.ZodUnion<readonly [z.ZodEnum<{
13186
+ FREE: "FREE";
13187
+ BETA: "BETA";
13188
+ BASIC: "BASIC";
13189
+ PRO: "PRO";
13190
+ BUSINESS: "BUSINESS";
13191
+ ENTERPRISE: "ENTERPRISE";
13192
+ PREMIUM: "PREMIUM";
13193
+ }>, z.ZodString]>;
13194
+ export type ResponsePlanCode = PlanCode | (string & {});
13195
+ export declare const subscriptionStatusSchema: z.ZodEnum<{
13196
+ ACTIVE: "ACTIVE";
13197
+ CANCELED: "CANCELED";
13198
+ PAST_DUE: "PAST_DUE";
13199
+ INCOMPLETE: "INCOMPLETE";
13200
+ }>;
13201
+ export type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>;
13202
+ export declare const subscriptionLimitsSchema: z.ZodObject<{
13203
+ liveOrdersMonthly: z.ZodNullable<z.ZodNumber>;
13204
+ seatsIncluded: z.ZodNullable<z.ZodNumber>;
13205
+ aiActionsMonthly: z.ZodNullable<z.ZodNumber>;
13206
+ aiReadsMonthly: z.ZodNullable<z.ZodNumber>;
13207
+ customDomains: z.ZodNullable<z.ZodNumber>;
13208
+ webhooks: z.ZodNullable<z.ZodNumber>;
13209
+ socialProviders: z.ZodNullable<z.ZodNumber>;
13210
+ emailsMonthly: z.ZodNullable<z.ZodNumber>;
13211
+ storefrontRequestsMonthly: z.ZodNullable<z.ZodNumber>;
13212
+ apiLogRetentionDays: z.ZodNullable<z.ZodNumber>;
13213
+ auditLogRetentionDays: z.ZodNullable<z.ZodNumber>;
13214
+ storefrontPreviewHoursMonthly: z.ZodNullable<z.ZodNumber>;
13215
+ storefrontBuildMinutesMonthly: z.ZodNullable<z.ZodNumber>;
13216
+ adminApiRequestsMonthly: z.ZodNullable<z.ZodNumber>;
13217
+ }, z.core.$strip>;
13218
+ export type SubscriptionLimits = z.infer<typeof subscriptionLimitsSchema>;
13219
+ export declare const subscriptionUsageSchema: z.ZodObject<{
13220
+ liveOrders: z.ZodNumber;
13221
+ aiActions: z.ZodNumber;
13222
+ aiReads: z.ZodNumber;
13223
+ storefrontRequests: z.ZodNumber;
13224
+ adminApiRequests: z.ZodNumber;
13225
+ emails: z.ZodNumber;
13226
+ storefrontPreviewMinutes: z.ZodNumber;
13227
+ storefrontBuildMinutes: z.ZodNumber;
13228
+ seats: z.ZodNumber;
13229
+ customDomains: z.ZodNumber;
13230
+ webhooks: z.ZodNumber;
13231
+ }, z.core.$strip>;
13232
+ export type SubscriptionUsage = z.infer<typeof subscriptionUsageSchema>;
13233
+ export declare const storeSubscriptionSchema: z.ZodObject<{
13234
+ plan: z.ZodObject<{
13235
+ code: z.ZodUnion<readonly [z.ZodEnum<{
13236
+ FREE: "FREE";
13237
+ BETA: "BETA";
13238
+ BASIC: "BASIC";
13239
+ PRO: "PRO";
13240
+ BUSINESS: "BUSINESS";
13241
+ ENTERPRISE: "ENTERPRISE";
13242
+ PREMIUM: "PREMIUM";
13243
+ }>, z.ZodString]>;
13244
+ name: z.ZodString;
13245
+ }, z.core.$strip>;
13246
+ status: z.ZodEnum<{
13247
+ ACTIVE: "ACTIVE";
13248
+ CANCELED: "CANCELED";
13249
+ PAST_DUE: "PAST_DUE";
13250
+ INCOMPLETE: "INCOMPLETE";
13251
+ }>;
13252
+ interval: z.ZodNullable<z.ZodEnum<{
13253
+ MONTH: "MONTH";
13254
+ }>>;
13255
+ cancelAtPeriodEnd: z.ZodBoolean;
13256
+ period: z.ZodObject<{
13257
+ start: z.ZodString;
13258
+ end: z.ZodString;
13259
+ }, z.core.$strip>;
13260
+ limits: z.ZodObject<{
13261
+ liveOrdersMonthly: z.ZodNullable<z.ZodNumber>;
13262
+ seatsIncluded: z.ZodNullable<z.ZodNumber>;
13263
+ aiActionsMonthly: z.ZodNullable<z.ZodNumber>;
13264
+ aiReadsMonthly: z.ZodNullable<z.ZodNumber>;
13265
+ customDomains: z.ZodNullable<z.ZodNumber>;
13266
+ webhooks: z.ZodNullable<z.ZodNumber>;
13267
+ socialProviders: z.ZodNullable<z.ZodNumber>;
13268
+ emailsMonthly: z.ZodNullable<z.ZodNumber>;
13269
+ storefrontRequestsMonthly: z.ZodNullable<z.ZodNumber>;
13270
+ apiLogRetentionDays: z.ZodNullable<z.ZodNumber>;
13271
+ auditLogRetentionDays: z.ZodNullable<z.ZodNumber>;
13272
+ storefrontPreviewHoursMonthly: z.ZodNullable<z.ZodNumber>;
13273
+ storefrontBuildMinutesMonthly: z.ZodNullable<z.ZodNumber>;
13274
+ adminApiRequestsMonthly: z.ZodNullable<z.ZodNumber>;
13275
+ }, z.core.$strip>;
13276
+ features: z.ZodObject<{
13277
+ adminApi: z.ZodBoolean;
13278
+ analytics: z.ZodBoolean;
13279
+ storeClone: z.ZodBoolean;
13280
+ removeBadge: z.ZodBoolean;
13281
+ }, z.core.$strip>;
13282
+ usage: z.ZodObject<{
13283
+ liveOrders: z.ZodNumber;
13284
+ aiActions: z.ZodNumber;
13285
+ aiReads: z.ZodNumber;
13286
+ storefrontRequests: z.ZodNumber;
13287
+ adminApiRequests: z.ZodNumber;
13288
+ emails: z.ZodNumber;
13289
+ storefrontPreviewMinutes: z.ZodNumber;
13290
+ storefrontBuildMinutes: z.ZodNumber;
13291
+ seats: z.ZodNumber;
13292
+ customDomains: z.ZodNumber;
13293
+ webhooks: z.ZodNumber;
13294
+ }, z.core.$strip>;
13295
+ aiActions: z.ZodObject<{
13296
+ limit: z.ZodNullable<z.ZodNumber>;
13297
+ used: z.ZodNumber;
13298
+ resetsAt: z.ZodString;
13299
+ }, z.core.$strip>;
13300
+ aiReads: z.ZodObject<{
13301
+ limit: z.ZodNullable<z.ZodNumber>;
13302
+ used: z.ZodNumber;
13303
+ resetsAt: z.ZodString;
13304
+ }, z.core.$strip>;
13305
+ salesFeePercent: z.ZodLiteral<0>;
13306
+ }, z.core.$strip>;
13307
+ export type StoreSubscription = z.infer<typeof storeSubscriptionSchema>;
13308
+ /**
13309
+ * 요금제 한도 오류의 `error.details` — 기존 오류 코드(`STORE_LIMIT_EXCEEDED`·`STOREFRONT_DOMAIN_LIMIT`·`WEBHOOK_LIMIT_EXCEEDED` 등)와
13310
+ * 요금제 오류(`PLAN_LIMIT_EXCEEDED`·`PLAN_AI_ACTIONS_EXCEEDED`·`PLAN_AI_READS_EXCEEDED`·`PLAN_FEATURE_REQUIRED`·`PLAN_API_QUOTA_EXCEEDED`)가 같은 형식을 싣는다.
13311
+ * 모든 필드가 선택이다(기존 코드는 요금제 판정 전 필드만 실을 수 있다).
13312
+ */
13313
+ export declare const planErrorDetailsSchema: z.ZodObject<{
13314
+ feature: z.ZodOptional<z.ZodString>;
13315
+ limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
13316
+ used: z.ZodOptional<z.ZodNumber>;
13317
+ plan: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
13318
+ FREE: "FREE";
13319
+ BETA: "BETA";
13320
+ BASIC: "BASIC";
13321
+ PRO: "PRO";
13322
+ BUSINESS: "BUSINESS";
13323
+ ENTERPRISE: "ENTERPRISE";
13324
+ PREMIUM: "PREMIUM";
13325
+ }>, z.ZodString]>>;
13326
+ resetsAt: z.ZodOptional<z.ZodString>;
13327
+ upgradeUrl: z.ZodOptional<z.ZodString>;
13328
+ reason: z.ZodOptional<z.ZodString>;
13329
+ }, z.core.$loose>;
13330
+ export type PlanErrorDetails = z.infer<typeof planErrorDetailsSchema>;
13331
+ /**
13332
+ * 요금제 기능 키 값 — 요금제 비교표·콘솔 요금제 화면이 쓴다. 키는 서버 판정의 기능 키와 같다(추가만 한다). 상위 요금제는 하위 요금제
13333
+ * 기능을 모두 포함한다
13334
+ */
13335
+ export declare const planEntitlementsSchema: z.ZodObject<{
13336
+ "features.admin_api": z.ZodBoolean;
13337
+ "features.analytics": z.ZodBoolean;
13338
+ "limits.ai_reads_monthly": z.ZodNullable<z.ZodNumber>;
13339
+ "limits.ai_actions_monthly": z.ZodNullable<z.ZodNumber>;
13340
+ "limits.custom_domains": z.ZodNullable<z.ZodNumber>;
13341
+ "limits.webhooks": z.ZodNullable<z.ZodNumber>;
13342
+ "limits.storefront_preview_hours_monthly": z.ZodNullable<z.ZodNumber>;
13343
+ "limits.storefront_build_minutes_monthly": z.ZodNullable<z.ZodNumber>;
13344
+ "limits.storefront_requests_monthly": z.ZodNullable<z.ZodNumber>;
13345
+ "limits.admin_api_requests_monthly": z.ZodNullable<z.ZodNumber>;
13346
+ "rate_limit.admin_api": z.ZodNullable<z.ZodNumber>;
13347
+ "storefront.cpu_ms": z.ZodNumber;
13348
+ "storefront.subrequests": z.ZodNumber;
13349
+ "storefront.rate_limit_per_minute": z.ZodNumber;
13350
+ "seats.included": z.ZodNullable<z.ZodNumber>;
13351
+ "retention.analytics_days": z.ZodNumber;
13352
+ "retention.api_logs_days": z.ZodNullable<z.ZodNumber>;
13353
+ "retention.audit_days": z.ZodNullable<z.ZodNumber>;
13354
+ "support.tier": z.ZodUnion<readonly [z.ZodEnum<{
13355
+ EMAIL: "EMAIL";
13356
+ COMMUNITY: "COMMUNITY";
13357
+ EMAIL_PRIORITY: "EMAIL_PRIORITY";
13358
+ DEDICATED: "DEDICATED";
13359
+ SLA: "SLA";
13360
+ }>, z.ZodString]>;
13361
+ }, z.core.$strip>;
13362
+ export type PlanEntitlementValues = z.infer<typeof planEntitlementsSchema>;
13363
+ /** 공개 요금제 한 줄 — `GET /v1/public/plans` */
13364
+ export declare const publicPlanSchema: z.ZodObject<{
13365
+ code: z.ZodUnion<readonly [z.ZodEnum<{
13366
+ FREE: "FREE";
13367
+ BETA: "BETA";
13368
+ BASIC: "BASIC";
13369
+ PRO: "PRO";
13370
+ BUSINESS: "BUSINESS";
13371
+ ENTERPRISE: "ENTERPRISE";
13372
+ PREMIUM: "PREMIUM";
13373
+ }>, z.ZodString]>;
13374
+ name: z.ZodString;
13375
+ version: z.ZodNumber;
13376
+ sort: z.ZodNumber;
13377
+ purchasable: z.ZodBoolean;
13378
+ prices: z.ZodObject<{
13379
+ currency: z.ZodLiteral<"KRW">;
13380
+ monthly: z.ZodNullable<z.ZodNumber>;
13381
+ startingAt: z.ZodBoolean;
13382
+ vatIncluded: z.ZodObject<{
13383
+ monthly: z.ZodNullable<z.ZodNumber>;
13384
+ }, z.core.$strip>;
13385
+ }, z.core.$strip>;
13386
+ entitlements: z.ZodObject<{
13387
+ "features.admin_api": z.ZodBoolean;
13388
+ "features.analytics": z.ZodBoolean;
13389
+ "limits.ai_reads_monthly": z.ZodNullable<z.ZodNumber>;
13390
+ "limits.ai_actions_monthly": z.ZodNullable<z.ZodNumber>;
13391
+ "limits.custom_domains": z.ZodNullable<z.ZodNumber>;
13392
+ "limits.webhooks": z.ZodNullable<z.ZodNumber>;
13393
+ "limits.storefront_preview_hours_monthly": z.ZodNullable<z.ZodNumber>;
13394
+ "limits.storefront_build_minutes_monthly": z.ZodNullable<z.ZodNumber>;
13395
+ "limits.storefront_requests_monthly": z.ZodNullable<z.ZodNumber>;
13396
+ "limits.admin_api_requests_monthly": z.ZodNullable<z.ZodNumber>;
13397
+ "rate_limit.admin_api": z.ZodNullable<z.ZodNumber>;
13398
+ "storefront.cpu_ms": z.ZodNumber;
13399
+ "storefront.subrequests": z.ZodNumber;
13400
+ "storefront.rate_limit_per_minute": z.ZodNumber;
13401
+ "seats.included": z.ZodNullable<z.ZodNumber>;
13402
+ "retention.analytics_days": z.ZodNumber;
13403
+ "retention.api_logs_days": z.ZodNullable<z.ZodNumber>;
13404
+ "retention.audit_days": z.ZodNullable<z.ZodNumber>;
13405
+ "support.tier": z.ZodUnion<readonly [z.ZodEnum<{
13406
+ EMAIL: "EMAIL";
13407
+ COMMUNITY: "COMMUNITY";
13408
+ EMAIL_PRIORITY: "EMAIL_PRIORITY";
13409
+ DEDICATED: "DEDICATED";
13410
+ SLA: "SLA";
13411
+ }>, z.ZodString]>;
13412
+ }, z.core.$strip>;
13413
+ }, z.core.$strip>;
13414
+ export type PublicPlan = z.infer<typeof publicPlanSchema>;
13415
+ /** 요금제 비교표 — `GET /v1/public/plans`(인증 없음, 캐시 가능). 값은 서버가 관리하고 언제든 바뀔 수 있다 */
13416
+ export declare const publicPlansSchema: z.ZodObject<{
13417
+ vatPercent: z.ZodNumber;
13418
+ plans: z.ZodArray<z.ZodObject<{
13419
+ code: z.ZodUnion<readonly [z.ZodEnum<{
13420
+ FREE: "FREE";
13421
+ BETA: "BETA";
13422
+ BASIC: "BASIC";
13423
+ PRO: "PRO";
13424
+ BUSINESS: "BUSINESS";
13425
+ ENTERPRISE: "ENTERPRISE";
13426
+ PREMIUM: "PREMIUM";
13427
+ }>, z.ZodString]>;
13428
+ name: z.ZodString;
13429
+ version: z.ZodNumber;
13430
+ sort: z.ZodNumber;
13431
+ purchasable: z.ZodBoolean;
13432
+ prices: z.ZodObject<{
13433
+ currency: z.ZodLiteral<"KRW">;
13434
+ monthly: z.ZodNullable<z.ZodNumber>;
13435
+ startingAt: z.ZodBoolean;
13436
+ vatIncluded: z.ZodObject<{
13437
+ monthly: z.ZodNullable<z.ZodNumber>;
13438
+ }, z.core.$strip>;
13439
+ }, z.core.$strip>;
13440
+ entitlements: z.ZodObject<{
13441
+ "features.admin_api": z.ZodBoolean;
13442
+ "features.analytics": z.ZodBoolean;
13443
+ "limits.ai_reads_monthly": z.ZodNullable<z.ZodNumber>;
13444
+ "limits.ai_actions_monthly": z.ZodNullable<z.ZodNumber>;
13445
+ "limits.custom_domains": z.ZodNullable<z.ZodNumber>;
13446
+ "limits.webhooks": z.ZodNullable<z.ZodNumber>;
13447
+ "limits.storefront_preview_hours_monthly": z.ZodNullable<z.ZodNumber>;
13448
+ "limits.storefront_build_minutes_monthly": z.ZodNullable<z.ZodNumber>;
13449
+ "limits.storefront_requests_monthly": z.ZodNullable<z.ZodNumber>;
13450
+ "limits.admin_api_requests_monthly": z.ZodNullable<z.ZodNumber>;
13451
+ "rate_limit.admin_api": z.ZodNullable<z.ZodNumber>;
13452
+ "storefront.cpu_ms": z.ZodNumber;
13453
+ "storefront.subrequests": z.ZodNumber;
13454
+ "storefront.rate_limit_per_minute": z.ZodNumber;
13455
+ "seats.included": z.ZodNullable<z.ZodNumber>;
13456
+ "retention.analytics_days": z.ZodNumber;
13457
+ "retention.api_logs_days": z.ZodNullable<z.ZodNumber>;
13458
+ "retention.audit_days": z.ZodNullable<z.ZodNumber>;
13459
+ "support.tier": z.ZodUnion<readonly [z.ZodEnum<{
13460
+ EMAIL: "EMAIL";
13461
+ COMMUNITY: "COMMUNITY";
13462
+ EMAIL_PRIORITY: "EMAIL_PRIORITY";
13463
+ DEDICATED: "DEDICATED";
13464
+ SLA: "SLA";
13465
+ }>, z.ZodString]>;
13466
+ }, z.core.$strip>;
13467
+ }, z.core.$strip>>;
13468
+ }, z.core.$strip>;
13469
+ export type PublicPlans = z.infer<typeof publicPlansSchema>;
13470
+ //#endregion
13317
13471
  //#region src/schemas/telemetry.d.ts
13318
13472
  /**
13319
13473
  * MCP 도구 호출 계측 (`POST /v1/telemetry/mcp`, 이슈 #34).
@@ -13491,11 +13645,12 @@ export declare const claimWebhookEventDataSchema: z.ZodObject<{
13491
13645
  orderId: z.ZodString;
13492
13646
  orderItemId: z.ZodString;
13493
13647
  claimType: z.ZodEnum<{
13648
+ CANCEL: "CANCEL";
13494
13649
  RETURN: "RETURN";
13495
13650
  EXCHANGE: "EXCHANGE";
13496
- CANCEL: "CANCEL";
13497
13651
  }>;
13498
13652
  status: z.ZodEnum<{
13653
+ COMPLETED: "COMPLETED";
13499
13654
  REJECTED: "REJECTED";
13500
13655
  REQUESTED: "REQUESTED";
13501
13656
  HELD: "HELD";
@@ -13503,7 +13658,6 @@ export declare const claimWebhookEventDataSchema: z.ZodObject<{
13503
13658
  COLLECTED: "COLLECTED";
13504
13659
  REDELIVERING: "REDELIVERING";
13505
13660
  APPROVED: "APPROVED";
13506
- COMPLETED: "COMPLETED";
13507
13661
  WITHDRAWN: "WITHDRAWN";
13508
13662
  }>;
13509
13663
  quantity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -13681,11 +13835,12 @@ export declare const claimWebhookEventSchema: z.ZodObject<{
13681
13835
  orderId: z.ZodString;
13682
13836
  orderItemId: z.ZodString;
13683
13837
  claimType: z.ZodEnum<{
13838
+ CANCEL: "CANCEL";
13684
13839
  RETURN: "RETURN";
13685
13840
  EXCHANGE: "EXCHANGE";
13686
- CANCEL: "CANCEL";
13687
13841
  }>;
13688
13842
  status: z.ZodEnum<{
13843
+ COMPLETED: "COMPLETED";
13689
13844
  REJECTED: "REJECTED";
13690
13845
  REQUESTED: "REQUESTED";
13691
13846
  HELD: "HELD";
@@ -13693,7 +13848,6 @@ export declare const claimWebhookEventSchema: z.ZodObject<{
13693
13848
  COLLECTED: "COLLECTED";
13694
13849
  REDELIVERING: "REDELIVERING";
13695
13850
  APPROVED: "APPROVED";
13696
- COMPLETED: "COMPLETED";
13697
13851
  WITHDRAWN: "WITHDRAWN";
13698
13852
  }>;
13699
13853
  quantity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -13891,11 +14045,12 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
13891
14045
  orderId: z.ZodString;
13892
14046
  orderItemId: z.ZodString;
13893
14047
  claimType: z.ZodEnum<{
14048
+ CANCEL: "CANCEL";
13894
14049
  RETURN: "RETURN";
13895
14050
  EXCHANGE: "EXCHANGE";
13896
- CANCEL: "CANCEL";
13897
14051
  }>;
13898
14052
  status: z.ZodEnum<{
14053
+ COMPLETED: "COMPLETED";
13899
14054
  REJECTED: "REJECTED";
13900
14055
  REQUESTED: "REQUESTED";
13901
14056
  HELD: "HELD";
@@ -13903,7 +14058,6 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
13903
14058
  COLLECTED: "COLLECTED";
13904
14059
  REDELIVERING: "REDELIVERING";
13905
14060
  APPROVED: "APPROVED";
13906
- COMPLETED: "COMPLETED";
13907
14061
  WITHDRAWN: "WITHDRAWN";
13908
14062
  }>;
13909
14063
  quantity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -13960,4 +14114,4 @@ export type WebhookEventOf<T extends WebhookEventType> = WebhookEvent extends (i
13960
14114
  type: T;
13961
14115
  } : never : never : never;
13962
14116
  //#endregion
13963
- export { type AuthorizeOptions, type OAuthTokenResponse, type Query, type SessionStorage, type StoreClient, type StoreClientOptions, type StoreSession, type StoreSessionOptions, type TokenSource, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_HEADERS, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT };
14117
+ export { type AuthorizeOptions, type OAuthTokenResponse, type Query, type SessionStorage, type StoreAuthServer, type StoreClient, type StoreClientOptions, type StoreSession, type StoreSessionOptions, type TokenSource, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_HEADERS, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT };