@sayren/store-sdk 0.22.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";
@@ -165,8 +165,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
165
165
  }, z.core.$strip>;
166
166
  export type AuditLogPage = z.infer<typeof auditLogPageSchema>;
167
167
  export declare const agentPolicyDecisionSchema: z.ZodEnum<{
168
- DENIED: "DENIED";
169
168
  APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
169
+ DENIED: "DENIED";
170
170
  ALLOW: "ALLOW";
171
171
  }>;
172
172
  export type AgentPolicyDecision = z.infer<typeof agentPolicyDecisionSchema>;
@@ -190,8 +190,8 @@ export type WritePreview = z.infer<typeof writePreviewSchema>;
190
190
  export declare const writeDryRunResultSchema: z.ZodObject<{
191
191
  dryRun: z.ZodLiteral<true>;
192
192
  decision: z.ZodEnum<{
193
- DENIED: "DENIED";
194
193
  APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
194
+ DENIED: "DENIED";
195
195
  ALLOW: "ALLOW";
196
196
  }>;
197
197
  reason: z.ZodNullable<z.ZodString>;
@@ -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<{
4822
- SALE: "SALE";
4823
4617
  SUSPENDED: "SUSPENDED";
4824
- OUT_OF_STOCK: "OUT_OF_STOCK";
4825
4618
  CLOSED: "CLOSED";
4619
+ SALE: "SALE";
4620
+ OUT_OF_STOCK: "OUT_OF_STOCK";
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;
@@ -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>;
@@ -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;
@@ -6003,11 +5800,12 @@ export type SellerAddressRequest = z.infer<typeof sellerAddressRequestSchema>;
6003
5800
  /**
6004
5801
  * 스토어프론트 호스팅 (이슈 #53, M1: 템플릿 발행) — 관리 API `/v1/storefront/**`의 계약이다.
6005
5802
  *
6006
- * 셀러는 템플릿을 골라 사이트를 만들고 `{slug}.{호스팅 도메인}` 주소를 받는다. 발행은 버전 단위이고,
5803
+ * 셀러는 템플릿을 골라 사이트를 만들고 `{slug}.{호스팅 도메인}` 주소를 받는다. 스토어를 만들어도 사이트는 생기지 않고
5804
+ * `POST /v1/storefront/site`가 유일한 생성 경로다. 템플릿은 만들 때만 고르고 바꾸지 않는다. 발행은 버전 단위이고,
6007
5805
  * 되돌리기는 이전 버전을 다시 발행하는 것이다(재빌드 없음). 상태의 원천은 api DB이고 Cloudflare 쪽 반영
6008
5806
  * (라우팅 표·사이트 Worker)은 커밋 뒤 비동기다 — 반영 상태는 `provisioning`으로 본다.
6009
5807
  *
6010
- * 스코프는 조회 `storefront:r`, 쓰기 `storefront:rw`(역할 OWNER·ADMIN)다. 에이전트(MCP)의 발행·되돌리기·템플릿 변경·
5808
+ * 스코프는 조회 `storefront:r`, 쓰기 `storefront:rw`(역할 OWNER·ADMIN)다. 에이전트(MCP)의 발행·되돌리기·
6011
5809
  * 공개 전환·슬러그 변경·호스팅 끄기는 승인(`APPROVAL_REQUIRED`)이다 — 구매자가 보는 화면을 바꾸는 쓰기다.
6012
5810
  *
6013
5811
  * 오류 코드:
@@ -6022,6 +5820,8 @@ export type SellerAddressRequest = z.infer<typeof sellerAddressRequestSchema>;
6022
5820
  * - 409 `STORE_SUSPENDED` — 정지된 스토어에는 사이트를 만들 수 없다
6023
5821
  * - 409 `STOREFRONT_VERSION_NOT_READY` — 빌드가 끝나지 않았거나 실패한 버전은 발행할 수 없다
6024
5822
  * - 409 `STOREFRONT_NO_ROLLBACK_TARGET` — 되돌릴 이전 발행 버전이 없다
5823
+ * - 409 `STOREFRONT_NOT_READY` — 공개 전환: 판매 중인 상품(샘플 제외)이 없다(이슈 #70). 상품을 등록한 뒤 공개한다
5824
+ * - 409 `TEMPLATE_CHANGE_NOT_SUPPORTED` — 템플릿 변경(`POST /v1/storefront/site/template`, 폐기)은 항상 이 오류다
6025
5825
  * - 400 `STOREFRONT_SLUG_CONFIRM_MISMATCH` — 호스팅 끄기 확인 입력이 현재 슬러그와 다르다
6026
5826
  * - 503 `STOREFRONT_PREVIEW_NOT_CONFIGURED` — 미리보기 서명 키가 설정되지 않았다
6027
5827
  *
@@ -6064,6 +5864,12 @@ export declare const RESERVED_STOREFRONT_SLUGS: readonly string[];
6064
5864
  * 1단계 이름이라 슬러그가 이 모양이면 남의 편집 미리보기 주소와 겹칠 수 있어 슬러그로 쓰지 못한다.
6065
5865
  */
6066
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;
6067
5873
  export declare function isReservedStorefrontSlug(slug: string): boolean;
6068
5874
  /**
6069
5875
  * 편집 미리보기 호스트 이름의 라벨 — 사이트 id의 `_`를 `-`로 바꾸고 `-preview`를 붙인다(`sfs_ab12cd34` → `sfs-ab12cd34-preview`).
@@ -6088,6 +5894,9 @@ export declare const storefrontTemplateSchema: z.ZodObject<{
6088
5894
  thumbnailUrl: z.ZodNullable<z.ZodString>;
6089
5895
  version: z.ZodString;
6090
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>>;
6091
5900
  }, z.core.$strip>;
6092
5901
  export type StorefrontTemplate = z.infer<typeof storefrontTemplateSchema>;
6093
5902
  /**
@@ -6160,8 +5969,8 @@ export type StorefrontDomain = z.infer<typeof storefrontDomainSchema>;
6160
5969
  */
6161
5970
  export declare const storefrontProvisioningSchema: z.ZodObject<{
6162
5971
  status: z.ZodEnum<{
6163
- PENDING: "PENDING";
6164
5972
  FAILED: "FAILED";
5973
+ PENDING: "PENDING";
6165
5974
  SYNCED: "SYNCED";
6166
5975
  }>;
6167
5976
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6177,7 +5986,7 @@ export declare const storefrontEditPreviewSchema: z.ZodObject<{
6177
5986
  }, z.core.$strip>;
6178
5987
  export type StorefrontEditPreview = z.infer<typeof storefrontEditPreviewSchema>;
6179
5988
  /**
6180
- * 사이트 정지 — 운영 정책에 따라 플랫폼 운영자가 사이트를 정지한다. 정지 중에는 방문자에게 정지 안내가 보이고 발행·되돌리기·템플릿 변경·
5989
+ * 사이트 정지 — 운영 정책에 따라 플랫폼 운영자가 사이트를 정지한다. 정지 중에는 방문자에게 정지 안내가 보이고 발행·되돌리기·
6181
5990
  * 공개 전환·슬러그 변경·끄기·편집이 409 `STOREFRONT_SITE_NOT_ACTIVE`다. 셀러가 풀 수 없다(고객센터로 문의한다).
6182
5991
  */
6183
5992
  export declare const storefrontSuspensionSchema: z.ZodObject<{
@@ -6241,8 +6050,8 @@ export declare const storefrontSiteSchema: z.ZodObject<{
6241
6050
  }, z.core.$strip>>;
6242
6051
  provisioning: z.ZodObject<{
6243
6052
  status: z.ZodEnum<{
6244
- PENDING: "PENDING";
6245
6053
  FAILED: "FAILED";
6054
+ PENDING: "PENDING";
6246
6055
  SYNCED: "SYNCED";
6247
6056
  }>;
6248
6057
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6321,8 +6130,8 @@ export declare const storefrontHostingSchema: z.ZodObject<{
6321
6130
  }, z.core.$strip>>;
6322
6131
  provisioning: z.ZodObject<{
6323
6132
  status: z.ZodEnum<{
6324
- PENDING: "PENDING";
6325
6133
  FAILED: "FAILED";
6134
+ PENDING: "PENDING";
6326
6135
  SYNCED: "SYNCED";
6327
6136
  }>;
6328
6137
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6352,16 +6161,88 @@ export declare const storefrontSlugAvailabilitySchema: z.ZodObject<{
6352
6161
  }>>;
6353
6162
  }, z.core.$strip>;
6354
6163
  export type StorefrontSlugAvailability = z.infer<typeof storefrontSlugAvailabilitySchema>;
6164
+ /**
6165
+ * 배포 진행 — 사이트의 지금 발행 상태가 공개 주소에 반영되기까지의 단계와 기록이다(콘솔의 스토어프론트 만들기 3단계가 폴링한다).
6166
+ * 만들기(`POST /v1/storefront/site`)는 곧바로 201로 답하고 반영은 그 뒤에 비동기로 하므로, 끝났는지는 이 조회로 본다.
6167
+ * 템플릿 사이트는 미리 빌드한 템플릿 산출물을 올리므로 빌드 단계가 없다. 기록은 사이트 상태에서 만든 요약이다.
6168
+ */
6169
+ export declare const storefrontDeploymentStepSchema: z.ZodObject<{
6170
+ key: z.ZodEnum<{
6171
+ SITE: "SITE";
6172
+ UPLOAD: "UPLOAD";
6173
+ PUBLISH: "PUBLISH";
6174
+ }>;
6175
+ status: z.ZodEnum<{
6176
+ FAILED: "FAILED";
6177
+ PENDING: "PENDING";
6178
+ RUNNING: "RUNNING";
6179
+ DONE: "DONE";
6180
+ }>;
6181
+ finishedAt: z.ZodNullable<z.ZodString>;
6182
+ }, z.core.$strip>;
6183
+ export type StorefrontDeploymentStep = z.infer<typeof storefrontDeploymentStepSchema>;
6184
+ export declare const storefrontDeploymentLogSchema: z.ZodObject<{
6185
+ at: z.ZodNullable<z.ZodString>;
6186
+ level: z.ZodEnum<{
6187
+ INFO: "INFO";
6188
+ WARN: "WARN";
6189
+ ERROR: "ERROR";
6190
+ }>;
6191
+ code: z.ZodString;
6192
+ message: z.ZodString;
6193
+ }, z.core.$strip>;
6194
+ export type StorefrontDeploymentLog = z.infer<typeof storefrontDeploymentLogSchema>;
6195
+ export declare const storefrontDeploymentSchema: z.ZodObject<{
6196
+ siteId: z.ZodString;
6197
+ status: z.ZodEnum<{
6198
+ IN_PROGRESS: "IN_PROGRESS";
6199
+ SUCCEEDED: "SUCCEEDED";
6200
+ FAILED: "FAILED";
6201
+ }>;
6202
+ url: z.ZodString;
6203
+ startedAt: z.ZodString;
6204
+ finishedAt: z.ZodNullable<z.ZodString>;
6205
+ steps: z.ZodArray<z.ZodObject<{
6206
+ key: z.ZodEnum<{
6207
+ SITE: "SITE";
6208
+ UPLOAD: "UPLOAD";
6209
+ PUBLISH: "PUBLISH";
6210
+ }>;
6211
+ status: z.ZodEnum<{
6212
+ FAILED: "FAILED";
6213
+ PENDING: "PENDING";
6214
+ RUNNING: "RUNNING";
6215
+ DONE: "DONE";
6216
+ }>;
6217
+ finishedAt: z.ZodNullable<z.ZodString>;
6218
+ }, z.core.$strip>>;
6219
+ log: z.ZodArray<z.ZodObject<{
6220
+ at: z.ZodNullable<z.ZodString>;
6221
+ level: z.ZodEnum<{
6222
+ INFO: "INFO";
6223
+ WARN: "WARN";
6224
+ ERROR: "ERROR";
6225
+ }>;
6226
+ code: z.ZodString;
6227
+ message: z.ZodString;
6228
+ }, z.core.$strip>>;
6229
+ errorCode: z.ZodNullable<z.ZodString>;
6230
+ attempts: z.ZodNumber;
6231
+ nextAttemptAt: z.ZodNullable<z.ZodString>;
6232
+ }, z.core.$strip>;
6233
+ export type StorefrontDeployment = z.infer<typeof storefrontDeploymentSchema>;
6355
6234
  export declare const createStorefrontSiteRequestSchema: z.ZodObject<{
6356
6235
  templateId: z.ZodString;
6357
6236
  slug: z.ZodOptional<z.ZodString>;
6358
6237
  }, z.core.$strip>;
6359
6238
  export type CreateStorefrontSiteRequest = z.infer<typeof createStorefrontSiteRequestSchema>;
6239
+ /** @deprecated 템플릿 변경은 지원하지 않는다(항상 409 `TEMPLATE_CHANGE_NOT_SUPPORTED`). 호환을 위해 스키마만 남겼다 */
6360
6240
  export declare const changeStorefrontTemplateRequestSchema: z.ZodObject<{
6361
6241
  templateId: z.ZodString;
6362
6242
  publish: z.ZodOptional<z.ZodBoolean>;
6363
6243
  message: z.ZodOptional<z.ZodString>;
6364
6244
  }, z.core.$strip>;
6245
+ /** @deprecated 템플릿 변경은 지원하지 않는다 */
6365
6246
  export type ChangeStorefrontTemplateRequest = z.infer<typeof changeStorefrontTemplateRequestSchema>;
6366
6247
  /**
6367
6248
  * 발행·되돌리기 — 발행은 사이트의 발행 포인터를 바꾸는 조건부 쓰기다. `expectedPublishedVersionId`를 주면
@@ -6496,8 +6377,8 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
6496
6377
  }, z.core.$strip>>;
6497
6378
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6498
6379
  ACTIVE: "ACTIVE";
6499
- PENDING: "PENDING";
6500
6380
  FAILED: "FAILED";
6381
+ PENDING: "PENDING";
6501
6382
  }>>;
6502
6383
  failureCode: z.ZodNullable<z.ZodString>;
6503
6384
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6539,8 +6420,8 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
6539
6420
  }, z.core.$strip>>;
6540
6421
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6541
6422
  ACTIVE: "ACTIVE";
6542
- PENDING: "PENDING";
6543
6423
  FAILED: "FAILED";
6424
+ PENDING: "PENDING";
6544
6425
  }>>;
6545
6426
  failureCode: z.ZodNullable<z.ZodString>;
6546
6427
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6596,16 +6477,16 @@ export declare const storefrontFileEncodingSchema: z.ZodEnum<{
6596
6477
  * 90초). `RUNNING`이면 미리보기와 파일 쓰기가 바로 반영된다(HMR).
6597
6478
  */
6598
6479
  export declare const storefrontEditSessionStatusSchema: z.ZodEnum<{
6599
- STARTING: "STARTING";
6600
6480
  RUNNING: "RUNNING";
6481
+ STARTING: "STARTING";
6601
6482
  }>;
6602
6483
  /** 편집 환경을 띄우는 단계 — 콘솔 진행 표시용이다. 값은 늘어날 수 있다 */
6603
6484
  export declare const STOREFRONT_EDIT_START_STAGES: readonly ["CONTAINER", "RESTORE", "DEV_SERVER"];
6604
6485
  export declare const storefrontEditSessionSchema: z.ZodObject<{
6605
6486
  sessionId: z.ZodString;
6606
6487
  status: z.ZodEnum<{
6607
- STARTING: "STARTING";
6608
6488
  RUNNING: "RUNNING";
6489
+ STARTING: "STARTING";
6609
6490
  }>;
6610
6491
  startStage: z.ZodNullable<z.ZodString>;
6611
6492
  startedAt: z.ZodString;
@@ -6621,8 +6502,8 @@ export declare const storefrontEditingSchema: z.ZodObject<{
6621
6502
  session: z.ZodNullable<z.ZodObject<{
6622
6503
  sessionId: z.ZodString;
6623
6504
  status: z.ZodEnum<{
6624
- STARTING: "STARTING";
6625
6505
  RUNNING: "RUNNING";
6506
+ STARTING: "STARTING";
6626
6507
  }>;
6627
6508
  startStage: z.ZodNullable<z.ZodString>;
6628
6509
  startedAt: z.ZodString;
@@ -6774,8 +6655,8 @@ export declare const runStorefrontCheckRequestSchema: z.ZodObject<{
6774
6655
  }, z.core.$strip>;
6775
6656
  export type RunStorefrontCheckRequest = z.infer<typeof runStorefrontCheckRequestSchema>;
6776
6657
  export declare const storefrontCheckStatusSchema: z.ZodEnum<{
6777
- FAILED: "FAILED";
6778
6658
  UNKNOWN: "UNKNOWN";
6659
+ FAILED: "FAILED";
6779
6660
  RUNNING: "RUNNING";
6780
6661
  QUEUED: "QUEUED";
6781
6662
  PASSED: "PASSED";
@@ -6788,8 +6669,8 @@ export declare const storefrontCheckSchema: z.ZodObject<{
6788
6669
  checkId: z.ZodString;
6789
6670
  check: z.ZodString;
6790
6671
  status: z.ZodEnum<{
6791
- FAILED: "FAILED";
6792
6672
  UNKNOWN: "UNKNOWN";
6673
+ FAILED: "FAILED";
6793
6674
  RUNNING: "RUNNING";
6794
6675
  QUEUED: "QUEUED";
6795
6676
  PASSED: "PASSED";
@@ -6826,7 +6707,7 @@ export declare const storefrontRuleResultSchema: z.ZodObject<{
6826
6707
  }, z.core.$strip>;
6827
6708
  export type StorefrontRuleResult = z.infer<typeof storefrontRuleResultSchema>;
6828
6709
  /**
6829
- * 규칙 검증 보고서 — `@sayren/mcp`의 `verify_storefront`와 같은 모양이다(원천 `apps/mcp/src/verify.ts`). 위반마다
6710
+ * 규칙 검증 보고서 — `@sayren/mcp`의 `verify_storefront`와 같은 모양이다(원천 `packages/mcp/src/verify.ts`). 위반마다
6830
6711
  * 고칠 자리(`file`·`line`)와 방법(`fix`·`example`)을 싣는다. `POST /v1/storefront/site/verify`(편집 환경이 잠들어 있어도
6831
6712
  * 된다)와 빌드의 `verify`가 이 모양이다.
6832
6713
  */
@@ -6873,8 +6754,8 @@ export declare const storefrontVerifyReportSchema: z.ZodObject<{
6873
6754
  }, z.core.$strip>;
6874
6755
  export type StorefrontVerifyReport = z.infer<typeof storefrontVerifyReportSchema>;
6875
6756
  export declare const storefrontBuildStatusSchema: z.ZodEnum<{
6876
- FAILED: "FAILED";
6877
6757
  SUCCEEDED: "SUCCEEDED";
6758
+ FAILED: "FAILED";
6878
6759
  RUNNING: "RUNNING";
6879
6760
  QUEUED: "QUEUED";
6880
6761
  TIMED_OUT: "TIMED_OUT";
@@ -6892,7 +6773,7 @@ export declare const STOREFRONT_BUILD_STAGES: readonly ["DEPENDENCIES", "VERIFY"
6892
6773
  * 의존성 검사 결과 한 줄(#61) — 거절(`DEPENDENCY_REJECTED`의 `details.rejected`)·경고(빌드 `dependencies`, 소스 교체 `dependencyWarnings`)가
6893
6774
  * 같은 모양이다. 대상 패키지와 사유. 셀러가 고칠 수 있게 버전·권고 id·거절 사유를 싣는다.
6894
6775
  * `reason`: `DENYLISTED`(거절 목록) · `ADVISORY`(보안 권고) · `MALWARE`(악성 코드 권고, 패키지 전체) · `INSTALL_SCRIPT`(루트
6895
- * package.json의 설치 훅은 거절, 의존성의 설치 스크립트는 경고) · `UNSUPPORTED_SOURCE`(레지스트리 밖 설치 경로) · `BUNDLED_DEPENDENCIES`(묶여
6776
+ * package.json의 설치 훅·의존성의 설치 스크립트, 경고) · `INSTALL_CONFIG`(설치 방식 필드, 경고) · `UNSUPPORTED_SOURCE`(레지스트리 밖 설치 경로) · `BUNDLED_DEPENDENCIES`(묶여
6896
6777
  * 오는 의존성, 경고) · `INVALID_MANIFEST`(package.json·잠금 파일 형식), 늘어날 수 있다.
6897
6778
  */
6898
6779
  export declare const storefrontDependencyFindingSchema: z.ZodObject<{
@@ -6941,8 +6822,8 @@ export declare const storefrontBuildSchema: z.ZodObject<{
6941
6822
  versionId: z.ZodString;
6942
6823
  versionNumber: z.ZodNumber;
6943
6824
  status: z.ZodEnum<{
6944
- FAILED: "FAILED";
6945
6825
  SUCCEEDED: "SUCCEEDED";
6826
+ FAILED: "FAILED";
6946
6827
  RUNNING: "RUNNING";
6947
6828
  QUEUED: "QUEUED";
6948
6829
  TIMED_OUT: "TIMED_OUT";
@@ -7070,8 +6951,8 @@ export declare const storefrontVersionCreatedSchema: z.ZodObject<{
7070
6951
  versionId: z.ZodString;
7071
6952
  versionNumber: z.ZodNumber;
7072
6953
  status: z.ZodEnum<{
7073
- FAILED: "FAILED";
7074
6954
  SUCCEEDED: "SUCCEEDED";
6955
+ FAILED: "FAILED";
7075
6956
  RUNNING: "RUNNING";
7076
6957
  QUEUED: "QUEUED";
7077
6958
  TIMED_OUT: "TIMED_OUT";
@@ -7270,8 +7151,8 @@ export type StorefrontSourceReplaced = z.infer<typeof storefrontSourceReplacedSc
7270
7151
  * - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
7271
7152
  */
7272
7153
  export declare const uploadPurposeSchema: z.ZodEnum<{
7273
- "product-image": "product-image";
7274
7154
  description: "description";
7155
+ "product-image": "product-image";
7275
7156
  }>;
7276
7157
  export type UploadPurpose = z.infer<typeof uploadPurposeSchema>;
7277
7158
  export interface UploadPurposeLimit {
@@ -7309,8 +7190,8 @@ export declare function uploadRejection(purpose: UploadPurpose, filename: string
7309
7190
  export declare const uploadRequestSchema: z.ZodObject<{
7310
7191
  filename: z.ZodString;
7311
7192
  purpose: z.ZodDefault<z.ZodEnum<{
7312
- "product-image": "product-image";
7313
7193
  description: "description";
7194
+ "product-image": "product-image";
7314
7195
  }>>;
7315
7196
  size: z.ZodOptional<z.ZodNumber>;
7316
7197
  }, z.core.$strip>;
@@ -7321,9 +7202,41 @@ export declare const uploadTicketSchema: z.ZodObject<{
7321
7202
  }, z.core.$strip>;
7322
7203
  export type UploadTicket = z.infer<typeof uploadTicketSchema>;
7323
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
7324
7237
  //#region src/session.d.ts
7325
7238
  /**
7326
- * SDK 세션 매니저 — 콘솔(userToken)의 저장·무음 갱신·회전을 캡슐화한다.
7239
+ * SDK 세션 매니저 — 콘솔(액세스 토큰)의 저장·무음 갱신·회전을 캡슐화한다.
7327
7240
  *
7328
7241
  * 저장 매체(쿠키/localStorage/…)와 그 속성(Max-Age·SameSite·Secure·Path)은 **어댑터(앱) 책임**이다.
7329
7242
  * SDK는 "무엇을 어떤 키로 저장할지"만 알고, "어떻게 저장할지"는 SessionStorage 어댑터에 위임한다.
@@ -7344,9 +7257,21 @@ export declare const STORE_SESSION_KEYS: {
7344
7257
  /** authorize() → handleCallback() 간 1회용 PKCE 블롭({ verifier, state, redirectUri }) 저장 키 */
7345
7258
  readonly pkce: "sayren.store.pkce";
7346
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
+ }
7347
7270
  interface StoreSessionOptions {
7348
- /** 예: https://api.example.com/v1 (/oauth2/token이 덧붙는다) */
7271
+ /** api 주소(예: https://api.example.com/v1) — `userinfo()`의 `GET /me`에 쓴다 */
7349
7272
  baseUrl: string;
7273
+ /** 인가 서버(accounts) 주소들 */
7274
+ authServer: StoreAuthServer;
7350
7275
  /** OAuth public client id (예: avarlabs) */
7351
7276
  clientId: string;
7352
7277
  /** 저장 매체 어댑터 (앱 소유) */
@@ -7356,13 +7281,13 @@ interface StoreSessionOptions {
7356
7281
  interface AuthorizeOptions {
7357
7282
  /** OAuth 콜백 URI (예: https://store.example.com/auth/callback) */
7358
7283
  redirectUri: string;
7359
- /** 생략 시 서버 기본(stores:read). refresh가 필요하면 offline_access 포함 */
7284
+ /** 생략 시 발급자 기본. refresh가 필요하면 offline_access 포함 */
7360
7285
  scope?: string;
7361
- /** "signup"이면 authorize 대신 호스티드 회원가입 화면으로 진입한다 */
7362
- screen?: "authorize" | "signup";
7286
+ /** OIDC `prompt` — `login`(재인증)·`create`(가입)·`consent` */
7287
+ prompt?: "login" | "create" | "consent";
7363
7288
  }
7364
7289
  interface StoreSession {
7365
- /** 현재 userToken (없으면 null) */
7290
+ /** 현재 액세스 토큰 (없으면 null) */
7366
7291
  getToken(): string | null;
7367
7292
  /** 토큰 저장 + 구독자 통지. refresh_token이 있으면 함께 회전 저장한다(없으면 기존 유지) */
7368
7293
  setTokens(tokens: {
@@ -7370,7 +7295,7 @@ interface StoreSession {
7370
7295
  refresh_token?: string;
7371
7296
  }): void;
7372
7297
  /**
7373
- * 무음 세션 갱신 — refresh 토큰으로 새 userToken을 받아 회전 저장한다.
7298
+ * 무음 세션 갱신 — refresh 토큰으로 새 액세스 토큰을 받아 회전 저장한다.
7374
7299
  * - 탭 내부: 동시 다발 호출을 single-flight로 합친다.
7375
7300
  * - 탭 간: navigator.locks(있으면)로 회전을 직렬화하고, 락 진입 시 다른 탭이 이미
7376
7301
  * 회전했으면(세션 토큰 변경) 내 refresh 토큰을 소비하지 않고 true를 반환한다.
@@ -7378,11 +7303,17 @@ interface StoreSession {
7378
7303
  * 회전이 실패(만료·재사용 폐기)하면 세션을 clear하고 false. (401 경로는 onUnauthorized→clear가 별도 처리.)
7379
7304
  */
7380
7305
  refresh(): Promise<boolean>;
7381
- /** 세션/리프레시 키를 지우고 구독자에게 통지한다 */
7306
+ /** 세션/리프레시 키를 지우고 구독자에게 통지한다(서버의 토큰은 그대로다 — 로그아웃은 `logout()`) */
7382
7307
  clear(): void;
7308
+ /**
7309
+ * 로그아웃 — 인가 서버에서 **refresh 토큰(패밀리째)과 access 토큰을 폐기**(`revokeUrl`, RFC 7009)한 뒤 세션을 지운다.
7310
+ * refresh를 폐기하지 않으면 쿠키만 지워도 서버의 refresh 패밀리가 절대 만료까지 살아 있어, 새어 나간 refresh 토큰으로
7311
+ * 계속 새 액세스 토큰을 받을 수 있다. 폐기 요청 실패(네트워크·이미 무효)는 무시하고 세션은 항상 지운다.
7312
+ */
7313
+ logout(): Promise<void>;
7383
7314
  /** 변경 구독(useSyncExternalStore 소비용) — getToken을 스냅샷으로 쓴다. 해지 함수 반환 */
7384
7315
  subscribe(cb: () => void): () => void;
7385
- /** 현재 userToken (getToken()과 동일 — 게터 형태 소비용) */
7316
+ /** 현재 액세스 토큰 (getToken()과 동일 — 게터 형태 소비용) */
7386
7317
  readonly accessToken: string | null;
7387
7318
  /** 현재 저장된 refresh 토큰 (없으면 null) */
7388
7319
  readonly refreshToken: string | null;
@@ -7406,22 +7337,16 @@ export declare function createStoreSession(options: StoreSessionOptions): StoreS
7406
7337
  interface StoreClientOptions {
7407
7338
  /** 예: https://api.example.com/v1 */
7408
7339
  baseUrl: string;
7409
- /** 유저 토큰 (1단계). 인증/스토어 목록 API에 사용 */
7410
- userToken?: TokenSource;
7411
- /** 스토어 토큰 (3단계). 테넌트 리소스 API에 사용 */
7412
- storeToken?: TokenSource;
7413
- /** 테넌트 storeId — storeHttp(테넌트 리소스) 요청에 X-Store-Id로 실린다(userToken 직접 인가). */
7414
- storeId?: TokenSource;
7415
7340
  /**
7416
- * 토큰 주입 모드 — PAT/storeToken급(테넌트 바인딩, role 없음)을 storeHttp Bearer로 싣는다.
7417
- * userToken이 아니다(비인터랙티브 M2M/CLI 경로용). storeToken과 함께 주면 storeToken이 우선한다.
7341
+ * 계정 토큰(accounts가 발급한 JWT — 콘솔 로그인, 개인 액세스 토큰, 연결된 앱의 토큰).
7342
+ * 계정 API(`/me/*`)와 스토어 API 모두에 Bearer로 싣는다. `session`을 주면 생략해도 세션 토큰을 쓴다.
7418
7343
  */
7419
- auth?: {
7420
- apiToken?: string;
7421
- };
7344
+ accessToken?: TokenSource;
7345
+ /** 대상 스토어 id — 스토어 API 요청에 `X-Store-Id`로 싣는다. 계정 API(`/me/*`)에는 싣지 않는다 */
7346
+ storeId?: TokenSource;
7422
7347
  /**
7423
- * SDK 세션 매니저 — 전달하면 userToken(Bearer)·401 refresh·복구불가 시 clear를
7424
- * 이 세션에서 자동 배선한다. 개별 옵션(userToken/refresh/onUnauthorized)을 명시하면 그쪽이 우선한다.
7348
+ * SDK 세션 매니저 — 전달하면 Bearer 토큰·401 refresh·복구 불가 시 clear를
7349
+ * 이 세션에서 자동 배선한다. 개별 옵션(accessToken/refresh/onUnauthorized)을 명시하면 그쪽이 우선한다.
7425
7350
  */
7426
7351
  session?: StoreSession;
7427
7352
  /** 401 시 세션 갱신 시도 — true면 요청을 1회 재시도한다(refresh 토큰 회전) */
@@ -7431,7 +7356,7 @@ interface StoreClientOptions {
7431
7356
  fetch?: typeof globalThis.fetch;
7432
7357
  }
7433
7358
  export declare function createStoreClient(options: StoreClientOptions): {
7434
- /** session의 현재 userToken (session 미배선 시 null — 던지지 않음) */
7359
+ /** session의 현재 액세스 토큰 (session 미배선 시 null — 던지지 않음) */
7435
7360
  readonly accessToken: string | null;
7436
7361
  /** session의 현재 refresh 토큰 (session 미배선 시 null — 던지지 않음) */
7437
7362
  readonly refreshToken: string | null;
@@ -7446,27 +7371,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
7446
7371
  createdAt: string;
7447
7372
  } | null>;
7448
7373
  auth: {
7449
- /**
7450
- * 서버 간 연동(M2M) — client_credentials grant (client_secret_basic).
7451
- * 클라이언트가 스토어에 바인딩되어 있어 **storeToken이 곧바로 발급**된다.
7452
- * ⚠ client_secret은 서버 환경에서만 사용할 것 (브라우저 반입 금지)
7453
- */
7454
- issueStoreTokenByClientCredentials(clientId: string, clientSecret: string, scope?: string): Promise<{
7455
- access_token: string;
7456
- token_type: "Bearer";
7457
- expires_in: number;
7458
- scope: string;
7459
- }>;
7460
- /** 2단계 — 소속 스토어 목록 */
7374
+ /** 소속 스토어 목록 */
7461
7375
  listMyStores: () => Promise<{
7462
7376
  storeId: string;
7463
7377
  storeName: string;
7464
7378
  storeCode: string;
7465
- role: "ADMIN" | "STAFF" | "OWNER";
7379
+ role: "OWNER" | "ADMIN" | "STAFF";
7466
7380
  status: "ACTIVE" | "SUSPENDED" | "CLOSED";
7467
7381
  }[]>;
7468
- /** RFC 7009 — token을 폐기한다 (public client는 client_id만 동반) */
7469
- revoke(token: string, clientId: string): Promise<void>;
7470
7382
  me: () => Promise<{
7471
7383
  userId: string;
7472
7384
  email: string;
@@ -7475,122 +7387,6 @@ export declare function createStoreClient(options: StoreClientOptions): {
7475
7387
  createdAt: string;
7476
7388
  }>;
7477
7389
  };
7478
- /** API 토큰(PAT) 관리 — OWNER/ADMIN 전용. 발급된 토큰은 storeToken처럼 Bearer로 사용 */
7479
- apiTokens: {
7480
- create: (body: ApiTokenCreateRequest) => Promise<{
7481
- tokenId: string;
7482
- name: string;
7483
- prefix: string;
7484
- scopes: string[];
7485
- createdBy: string;
7486
- createdByName: string | null;
7487
- createdByEmail: string | null;
7488
- createdAt: string;
7489
- expiresAt: string | null;
7490
- lastUsedAt: string | null;
7491
- agent: boolean;
7492
- token: string;
7493
- }>;
7494
- list: () => Promise<{
7495
- tokenId: string;
7496
- name: string;
7497
- prefix: string;
7498
- scopes: string[];
7499
- createdBy: string;
7500
- createdByName: string | null;
7501
- createdByEmail: string | null;
7502
- createdAt: string;
7503
- expiresAt: string | null;
7504
- lastUsedAt: string | null;
7505
- agent: boolean;
7506
- }[]>;
7507
- revoke: (tokenId: string) => Promise<void>;
7508
- };
7509
- /**
7510
- * 앱(OAuth 클라이언트) 관리 — OWNER/ADMIN storeToken 전용(PAT·M2M 거부). auth-spec §12, 부록 B-13.
7511
- * 시크릿 평문은 register·rotateSecret 응답에서만 한 번 노출된다(apiTokens.create와 같은 성격).
7512
- */
7513
- apiClients: {
7514
- /**
7515
- * DCR 등록 (RFC 7591) — `POST /v1/oauth2/register`. OAuth 프로토콜 표면이라 응답이 평면 JSON이다.
7516
- * 등록 오류(`invalid_client_metadata`·`invalid_redirect_uri`)는 ApiError(code=error,
7517
- * message=error_description)로, Bearer 인증 오류는 엔벨로프 그대로 ApiError로 던진다.
7518
- */
7519
- register: (body: OAuthClientRegistrationRequest) => Promise<{
7520
- client_id: string;
7521
- client_id_issued_at: number;
7522
- client_name: string;
7523
- token_endpoint_auth_method: "none" | "client_secret_basic";
7524
- redirect_uris: string[];
7525
- grant_types: string[];
7526
- scope: string;
7527
- client_secret?: string | undefined;
7528
- client_secret_expires_at?: number | undefined;
7529
- }>;
7530
- list: (params?: ApiClientListParams) => Promise<{
7531
- clientId: string;
7532
- name: string;
7533
- type: "public" | "confidential";
7534
- status: "ACTIVE" | "REVOKED";
7535
- redirectUris: string[];
7536
- scopes: string[];
7537
- grantTypes: string[];
7538
- secretPrefix: string | null;
7539
- createdBy: string | null;
7540
- createdByName: string | null;
7541
- createdByEmail: string | null;
7542
- createdAt: string;
7543
- revokedAt: string | null;
7544
- }[]>;
7545
- get: (clientId: string) => Promise<{
7546
- clientId: string;
7547
- name: string;
7548
- type: "public" | "confidential";
7549
- status: "ACTIVE" | "REVOKED";
7550
- redirectUris: string[];
7551
- scopes: string[];
7552
- grantTypes: string[];
7553
- secretPrefix: string | null;
7554
- createdBy: string | null;
7555
- createdByName: string | null;
7556
- createdByEmail: string | null;
7557
- createdAt: string;
7558
- revokedAt: string | null;
7559
- }>;
7560
- /** confidential 전용. 기존 시크릿은 즉시 무효(유예 없음) */
7561
- rotateSecret: (clientId: string) => Promise<{
7562
- clientId: string;
7563
- name: string;
7564
- type: "public" | "confidential";
7565
- status: "ACTIVE" | "REVOKED";
7566
- redirectUris: string[];
7567
- scopes: string[];
7568
- grantTypes: string[];
7569
- secretPrefix: string | null;
7570
- createdBy: string | null;
7571
- createdByName: string | null;
7572
- createdByEmail: string | null;
7573
- createdAt: string;
7574
- revokedAt: string | null;
7575
- clientSecret: string;
7576
- }>;
7577
- /** REVOKED로 전환(되돌릴 수 없음). 이미 비활성이면 현재 상태를 그대로 돌려준다 */
7578
- deactivate: (clientId: string) => Promise<{
7579
- clientId: string;
7580
- name: string;
7581
- type: "public" | "confidential";
7582
- status: "ACTIVE" | "REVOKED";
7583
- redirectUris: string[];
7584
- scopes: string[];
7585
- grantTypes: string[];
7586
- secretPrefix: string | null;
7587
- createdBy: string | null;
7588
- createdByName: string | null;
7589
- createdByEmail: string | null;
7590
- createdAt: string;
7591
- revokedAt: string | null;
7592
- }>;
7593
- };
7594
7390
  /**
7595
7391
  * 미디어 업로드 — 자리를 받아(`POST /uploads`) 파일 바이트는 호출자가
7596
7392
  * `uploadUrl`로 직접 PUT한다. 업로드가 끝나면 `url`이 공개 주소가 된다.
@@ -7620,7 +7416,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7620
7416
  contents: {
7621
7417
  productId: string;
7622
7418
  name: string;
7623
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7419
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7624
7420
  salePrice: number;
7625
7421
  discountedPrice: number | null;
7626
7422
  stockQuantity: number;
@@ -7630,19 +7426,21 @@ export declare function createStoreClient(options: StoreClientOptions): {
7630
7426
  type: string;
7631
7427
  };
7632
7428
  updatedAt: string;
7429
+ sample: boolean;
7633
7430
  thumbnailUrl?: string | undefined;
7634
7431
  }[];
7635
7432
  }>;
7636
7433
  get: (productId: string) => Promise<{
7637
7434
  productId: string;
7638
7435
  name: string;
7639
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7436
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7640
7437
  salePrice: number;
7641
7438
  discountedPrice: number | null;
7642
7439
  stockQuantity: number;
7643
7440
  categoryId: string | null;
7644
7441
  hasOptions: boolean;
7645
7442
  updatedAt: string;
7443
+ sample: boolean;
7646
7444
  optionGroups: {
7647
7445
  groupId: string;
7648
7446
  name: string;
@@ -7689,11 +7487,11 @@ export declare function createStoreClient(options: StoreClientOptions): {
7689
7487
  usable: boolean;
7690
7488
  sortOrder: number;
7691
7489
  }[];
7692
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7490
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7693
7491
  fulfillment: UnknownFulfillment | {
7694
7492
  type: "SHIPPING";
7695
7493
  shipping: {
7696
- deliveryType: "FREE" | "PAID" | "CONDITIONAL_FREE";
7494
+ deliveryType: "PAID" | "FREE" | "CONDITIONAL_FREE";
7697
7495
  deliveryFee: number;
7698
7496
  conditionalFreeAmount: number | null;
7699
7497
  shippingAddressId: string | null;
@@ -7732,13 +7530,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
7732
7530
  create: (body: ProductCreateRequestInput, idempotencyKey?: string) => Promise<{
7733
7531
  productId: string;
7734
7532
  name: string;
7735
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7533
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7736
7534
  salePrice: number;
7737
7535
  discountedPrice: number | null;
7738
7536
  stockQuantity: number;
7739
7537
  categoryId: string | null;
7740
7538
  hasOptions: boolean;
7741
7539
  updatedAt: string;
7540
+ sample: boolean;
7742
7541
  optionGroups: {
7743
7542
  groupId: string;
7744
7543
  name: string;
@@ -7785,11 +7584,11 @@ export declare function createStoreClient(options: StoreClientOptions): {
7785
7584
  usable: boolean;
7786
7585
  sortOrder: number;
7787
7586
  }[];
7788
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7587
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7789
7588
  fulfillment: UnknownFulfillment | {
7790
7589
  type: "SHIPPING";
7791
7590
  shipping: {
7792
- deliveryType: "FREE" | "PAID" | "CONDITIONAL_FREE";
7591
+ deliveryType: "PAID" | "FREE" | "CONDITIONAL_FREE";
7793
7592
  deliveryFee: number;
7794
7593
  conditionalFreeAmount: number | null;
7795
7594
  shippingAddressId: string | null;
@@ -7828,13 +7627,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
7828
7627
  update: (productId: string, body: ProductReplaceRequestInput) => Promise<{
7829
7628
  productId: string;
7830
7629
  name: string;
7831
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7630
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7832
7631
  salePrice: number;
7833
7632
  discountedPrice: number | null;
7834
7633
  stockQuantity: number;
7835
7634
  categoryId: string | null;
7836
7635
  hasOptions: boolean;
7837
7636
  updatedAt: string;
7637
+ sample: boolean;
7838
7638
  optionGroups: {
7839
7639
  groupId: string;
7840
7640
  name: string;
@@ -7881,11 +7681,11 @@ export declare function createStoreClient(options: StoreClientOptions): {
7881
7681
  usable: boolean;
7882
7682
  sortOrder: number;
7883
7683
  }[];
7884
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7684
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7885
7685
  fulfillment: UnknownFulfillment | {
7886
7686
  type: "SHIPPING";
7887
7687
  shipping: {
7888
- deliveryType: "FREE" | "PAID" | "CONDITIONAL_FREE";
7688
+ deliveryType: "PAID" | "FREE" | "CONDITIONAL_FREE";
7889
7689
  deliveryFee: number;
7890
7690
  conditionalFreeAmount: number | null;
7891
7691
  shippingAddressId: string | null;
@@ -7981,7 +7781,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7981
7781
  usable: boolean;
7982
7782
  sortOrder: number;
7983
7783
  }[];
7984
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7784
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
7985
7785
  }>;
7986
7786
  /**
7987
7787
  * 옵션 모델 전체 교체 — variants는 valueNames로 축 값을 지목한다.
@@ -8034,7 +7834,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8034
7834
  usable: boolean;
8035
7835
  sortOrder: number;
8036
7836
  }[];
8037
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7837
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8038
7838
  }>;
8039
7839
  /** 재고 변경 — stockQuantity(절대값) 또는 adjustment(증감) 하나만 전달한다 */
8040
7840
  updateVariantStock: (productId: string, variantId: string, body: VariantStockRequest) => Promise<{
@@ -8072,7 +7872,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8072
7872
  contents: {
8073
7873
  optionSetId: string;
8074
7874
  name: string;
8075
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7875
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8076
7876
  groups: {
8077
7877
  name: string;
8078
7878
  kind: string;
@@ -8096,7 +7896,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8096
7896
  get: (optionSetId: string) => Promise<{
8097
7897
  optionSetId: string;
8098
7898
  name: string;
8099
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7899
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8100
7900
  groups: {
8101
7901
  name: string;
8102
7902
  kind: string;
@@ -8120,7 +7920,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8120
7920
  create: (body: SavedOptionSetRequestInput) => Promise<{
8121
7921
  optionSetId: string;
8122
7922
  name: string;
8123
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7923
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8124
7924
  groups: {
8125
7925
  name: string;
8126
7926
  kind: string;
@@ -8144,7 +7944,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8144
7944
  update: (optionSetId: string, body: SavedOptionSetRequestInput) => Promise<{
8145
7945
  optionSetId: string;
8146
7946
  name: string;
8147
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7947
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8148
7948
  groups: {
8149
7949
  name: string;
8150
7950
  kind: string;
@@ -8170,7 +7970,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8170
7970
  optionSet: {
8171
7971
  optionSetId: string;
8172
7972
  name: string;
8173
- optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
7973
+ optionSort: "NAME" | "REGISTERED" | "PRICE_ASC" | "PRICE_DESC";
8174
7974
  groups: {
8175
7975
  name: string;
8176
7976
  kind: string;
@@ -8209,7 +8009,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8209
8009
  visible: boolean;
8210
8010
  showPc: boolean;
8211
8011
  showMobile: boolean;
8212
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8012
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8213
8013
  metaTitle: string | null;
8214
8014
  metaDescription: string | null;
8215
8015
  metaKeywords: string | null;
@@ -8229,7 +8029,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8229
8029
  visible: boolean;
8230
8030
  showPc: boolean;
8231
8031
  showMobile: boolean;
8232
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8032
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8233
8033
  metaTitle: string | null;
8234
8034
  metaDescription: string | null;
8235
8035
  metaKeywords: string | null;
@@ -8248,7 +8048,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8248
8048
  visible: boolean;
8249
8049
  showPc: boolean;
8250
8050
  showMobile: boolean;
8251
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8051
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8252
8052
  metaTitle: string | null;
8253
8053
  metaDescription: string | null;
8254
8054
  metaKeywords: string | null;
@@ -8268,7 +8068,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8268
8068
  visible: boolean;
8269
8069
  showPc: boolean;
8270
8070
  showMobile: boolean;
8271
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8071
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8272
8072
  metaTitle: string | null;
8273
8073
  metaDescription: string | null;
8274
8074
  metaKeywords: string | null;
@@ -8287,7 +8087,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8287
8087
  visible: boolean;
8288
8088
  showPc: boolean;
8289
8089
  showMobile: boolean;
8290
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8090
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8291
8091
  metaTitle: string | null;
8292
8092
  metaDescription: string | null;
8293
8093
  metaKeywords: string | null;
@@ -8316,7 +8116,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8316
8116
  visible: boolean;
8317
8117
  showPc: boolean;
8318
8118
  showMobile: boolean;
8319
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8119
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8320
8120
  metaTitle: string | null;
8321
8121
  metaDescription: string | null;
8322
8122
  metaKeywords: string | null;
@@ -8335,7 +8135,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8335
8135
  visible: boolean;
8336
8136
  showPc: boolean;
8337
8137
  showMobile: boolean;
8338
- productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
8138
+ productSort: "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH" | "NAME";
8339
8139
  metaTitle: string | null;
8340
8140
  metaDescription: string | null;
8341
8141
  metaKeywords: string | null;
@@ -8595,7 +8395,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8595
8395
  }>;
8596
8396
  dispatch: (orderItemId: string, body: DispatchRequest, idempotencyKey?: string) => Promise<{
8597
8397
  orderItemId: string;
8598
- deliveryMethod: "COURIER" | "DIRECT" | "QUICK" | "NOTHING";
8398
+ deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
8599
8399
  carrierCode: string | null;
8600
8400
  carrierName: string | null;
8601
8401
  trackingNumber: string | null;
@@ -8755,7 +8555,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8755
8555
  }>;
8756
8556
  getDelivery: (orderItemId: string) => Promise<{
8757
8557
  orderItemId: string;
8758
- deliveryMethod: "COURIER" | "DIRECT" | "QUICK" | "NOTHING";
8558
+ deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
8759
8559
  carrierCode: string | null;
8760
8560
  carrierName: string | null;
8761
8561
  trackingNumber: string | null;
@@ -8792,8 +8592,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
8792
8592
  totalPages: number;
8793
8593
  contents: {
8794
8594
  claimId: string;
8795
- type: "RETURN" | "EXCHANGE" | "CANCEL";
8796
- 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";
8797
8597
  orderId: string;
8798
8598
  orderItemId: string;
8799
8599
  productName: string;
@@ -8830,8 +8630,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
8830
8630
  }>;
8831
8631
  get: (claimId: string) => Promise<{
8832
8632
  claimId: string;
8833
- type: "RETURN" | "EXCHANGE" | "CANCEL";
8834
- 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";
8835
8635
  orderId: string;
8836
8636
  orderItemId: string;
8837
8637
  productName: string;
@@ -8865,7 +8665,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8865
8665
  address2: string | null;
8866
8666
  } | null;
8867
8667
  histories?: {
8868
- status: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN";
8668
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
8869
8669
  actor: "SYSTEM" | "BUYER" | "SELLER";
8870
8670
  occurredAt: string;
8871
8671
  }[] | undefined;
@@ -8896,8 +8696,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
8896
8696
  /** 교환 완료 — 재배송 중인 교환을 셀러가 명시적으로 끝낸다 */
8897
8697
  completeExchange: (claimId: string) => Promise<{
8898
8698
  claimId: string;
8899
- type: "RETURN" | "EXCHANGE" | "CANCEL";
8900
- 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";
8901
8701
  orderId: string;
8902
8702
  orderItemId: string;
8903
8703
  productName: string;
@@ -8947,7 +8747,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8947
8747
  productId: string;
8948
8748
  productName: string;
8949
8749
  orderItemId: string | null;
8950
- category: "ETC" | "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE";
8750
+ category: "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC";
8951
8751
  content: string;
8952
8752
  secret: boolean;
8953
8753
  writerMaskedName: string;
@@ -8965,7 +8765,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8965
8765
  productId: string;
8966
8766
  productName: string;
8967
8767
  orderItemId: string | null;
8968
- category: "ETC" | "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE";
8768
+ category: "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC";
8969
8769
  content: string;
8970
8770
  secret: boolean;
8971
8771
  writerMaskedName: string;
@@ -9598,7 +9398,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9598
9398
  contents: {
9599
9399
  inquiryId: string;
9600
9400
  memberMaskedName: string;
9601
- category: "ETC" | "DELIVERY" | "RETURN" | "EXCHANGE" | "PAYMENT";
9401
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
9602
9402
  title: string;
9603
9403
  content: string;
9604
9404
  orderItemId: string | null;
@@ -9614,7 +9414,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9614
9414
  get: (inquiryId: string) => Promise<{
9615
9415
  inquiryId: string;
9616
9416
  memberMaskedName: string;
9617
- category: "ETC" | "DELIVERY" | "RETURN" | "EXCHANGE" | "PAYMENT";
9417
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
9618
9418
  title: string;
9619
9419
  content: string;
9620
9420
  orderItemId: string | null;
@@ -9798,9 +9598,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
9798
9598
  }>;
9799
9599
  /** `GET /v1/analytics/sources` — 채널·소스·캠페인·기기별 세션과 구매 */
9800
9600
  sources: (params: AnalyticsSourcesParams) => Promise<{
9801
- groupBy: "CHANNEL" | "SOURCE" | "CAMPAIGN" | "DEVICE";
9601
+ groupBy: "CAMPAIGN" | "CHANNEL" | "SOURCE" | "DEVICE";
9802
9602
  rows: {
9803
- channel: "PAID" | "DIRECT" | "CAMPAIGN" | "UNKNOWN" | "ORGANIC_SEARCH" | "SOCIAL" | "EMAIL" | "REFERRAL" | null;
9603
+ channel: "DIRECT" | "ORGANIC_SEARCH" | "SOCIAL" | "PAID" | "EMAIL" | "CAMPAIGN" | "REFERRAL" | "UNKNOWN" | null;
9804
9604
  source: string | null;
9805
9605
  medium: string | null;
9806
9606
  campaign: string | null;
@@ -9905,7 +9705,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9905
9705
  checkout: (params: AnalyticsRangeParams) => Promise<{
9906
9706
  sessions: number;
9907
9707
  outcomes: {
9908
- 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";
9909
9709
  sessions: number;
9910
9710
  }[];
9911
9711
  from: string;
@@ -9935,7 +9735,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9935
9735
  orderId: string | null;
9936
9736
  orderName: string;
9937
9737
  customerName: string;
9938
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9738
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9939
9739
  amount: number;
9940
9740
  refundedAmount: number;
9941
9741
  provider: "tosspayments" | "portone" | null;
@@ -9959,7 +9759,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9959
9759
  orderId: string | null;
9960
9760
  orderName: string;
9961
9761
  customerName: string;
9962
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9762
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9963
9763
  amount: number;
9964
9764
  refundedAmount: number;
9965
9765
  provider: "tosspayments" | "portone" | null;
@@ -10028,7 +9828,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10028
9828
  /**
10029
9829
  * 결제(PG) 설정 — **콘솔 OWNER 전용**. ADMIN·STAFF·PAT·M2M·3rd-party 앱 토큰은 스코프가 있어도
10030
9830
  * 403 `INSUFFICIENT_ROLE`이다(조회 포함). OWNER 여부는 요청 시점의 스토어 멤버십으로 다시 확인하므로
10031
- * 양도·강등 직후의 옛 storeToken도 403이다(토큰을 재발급받는다). 비밀 값(시크릿 키·API Secret·웹훅 시크릿)은 요청으로만 보내고
9831
+ * 양도·강등 직후에도 바로 403이다. 비밀 값(시크릿 키·API Secret·웹훅 시크릿)은 요청으로만 보내고
10032
9832
  * 응답에는 `secrets[].masked`(앞 4자리 마스킹)만 나온다.
10033
9833
  */
10034
9834
  paymentSettings: {
@@ -10058,7 +9858,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10058
9858
  masked: string | null;
10059
9859
  }[];
10060
9860
  lastVerification: {
10061
- result: "SUCCESS" | "FAILED";
9861
+ result: "FAILED" | "SUCCESS";
10062
9862
  message: string | null;
10063
9863
  checkedAt: string;
10064
9864
  } | null;
@@ -10083,7 +9883,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10083
9883
  masked: string | null;
10084
9884
  }[];
10085
9885
  lastVerification: {
10086
- result: "SUCCESS" | "FAILED";
9886
+ result: "FAILED" | "SUCCESS";
10087
9887
  message: string | null;
10088
9888
  checkedAt: string;
10089
9889
  } | null;
@@ -10107,7 +9907,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10107
9907
  masked: string | null;
10108
9908
  }[];
10109
9909
  lastVerification: {
10110
- result: "SUCCESS" | "FAILED";
9910
+ result: "FAILED" | "SUCCESS";
10111
9911
  message: string | null;
10112
9912
  checkedAt: string;
10113
9913
  } | null;
@@ -10159,7 +9959,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10159
9959
  masked: string | null;
10160
9960
  }[];
10161
9961
  lastVerification: {
10162
- result: "SUCCESS" | "FAILED";
9962
+ result: "FAILED" | "SUCCESS";
10163
9963
  message: string | null;
10164
9964
  checkedAt: string;
10165
9965
  } | null;
@@ -10184,7 +9984,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10184
9984
  masked: string | null;
10185
9985
  }[];
10186
9986
  lastVerification: {
10187
- result: "SUCCESS" | "FAILED";
9987
+ result: "FAILED" | "SUCCESS";
10188
9988
  message: string | null;
10189
9989
  checkedAt: string;
10190
9990
  } | null;
@@ -10208,7 +10008,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10208
10008
  masked: string | null;
10209
10009
  }[];
10210
10010
  lastVerification: {
10211
- result: "SUCCESS" | "FAILED";
10011
+ result: "FAILED" | "SUCCESS";
10212
10012
  message: string | null;
10213
10013
  checkedAt: string;
10214
10014
  } | null;
@@ -10265,7 +10065,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10265
10065
  masked: string | null;
10266
10066
  }[];
10267
10067
  lastVerification: {
10268
- result: "SUCCESS" | "FAILED";
10068
+ result: "FAILED" | "SUCCESS";
10269
10069
  message: string | null;
10270
10070
  checkedAt: string;
10271
10071
  } | null;
@@ -10290,7 +10090,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10290
10090
  masked: string | null;
10291
10091
  }[];
10292
10092
  lastVerification: {
10293
- result: "SUCCESS" | "FAILED";
10093
+ result: "FAILED" | "SUCCESS";
10294
10094
  message: string | null;
10295
10095
  checkedAt: string;
10296
10096
  } | null;
@@ -10314,7 +10114,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10314
10114
  masked: string | null;
10315
10115
  }[];
10316
10116
  lastVerification: {
10317
- result: "SUCCESS" | "FAILED";
10117
+ result: "FAILED" | "SUCCESS";
10318
10118
  message: string | null;
10319
10119
  checkedAt: string;
10320
10120
  } | null;
@@ -10361,7 +10161,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10361
10161
  masked: string | null;
10362
10162
  }[];
10363
10163
  lastVerification: {
10364
- result: "SUCCESS" | "FAILED";
10164
+ result: "FAILED" | "SUCCESS";
10365
10165
  message: string | null;
10366
10166
  checkedAt: string;
10367
10167
  } | null;
@@ -10386,7 +10186,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10386
10186
  masked: string | null;
10387
10187
  }[];
10388
10188
  lastVerification: {
10389
- result: "SUCCESS" | "FAILED";
10189
+ result: "FAILED" | "SUCCESS";
10390
10190
  message: string | null;
10391
10191
  checkedAt: string;
10392
10192
  } | null;
@@ -10410,7 +10210,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10410
10210
  masked: string | null;
10411
10211
  }[];
10412
10212
  lastVerification: {
10413
- result: "SUCCESS" | "FAILED";
10213
+ result: "FAILED" | "SUCCESS";
10414
10214
  message: string | null;
10415
10215
  checkedAt: string;
10416
10216
  } | null;
@@ -10467,7 +10267,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10467
10267
  masked: string | null;
10468
10268
  }[];
10469
10269
  lastVerification: {
10470
- result: "SUCCESS" | "FAILED";
10270
+ result: "FAILED" | "SUCCESS";
10471
10271
  message: string | null;
10472
10272
  checkedAt: string;
10473
10273
  } | null;
@@ -10492,7 +10292,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10492
10292
  masked: string | null;
10493
10293
  }[];
10494
10294
  lastVerification: {
10495
- result: "SUCCESS" | "FAILED";
10295
+ result: "FAILED" | "SUCCESS";
10496
10296
  message: string | null;
10497
10297
  checkedAt: string;
10498
10298
  } | null;
@@ -10516,7 +10316,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10516
10316
  masked: string | null;
10517
10317
  }[];
10518
10318
  lastVerification: {
10519
- result: "SUCCESS" | "FAILED";
10319
+ result: "FAILED" | "SUCCESS";
10520
10320
  message: string | null;
10521
10321
  checkedAt: string;
10522
10322
  } | null;
@@ -10563,7 +10363,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10563
10363
  masked: string | null;
10564
10364
  }[];
10565
10365
  lastVerification: {
10566
- result: "SUCCESS" | "FAILED";
10366
+ result: "FAILED" | "SUCCESS";
10567
10367
  message: string | null;
10568
10368
  checkedAt: string;
10569
10369
  } | null;
@@ -10588,7 +10388,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10588
10388
  masked: string | null;
10589
10389
  }[];
10590
10390
  lastVerification: {
10591
- result: "SUCCESS" | "FAILED";
10391
+ result: "FAILED" | "SUCCESS";
10592
10392
  message: string | null;
10593
10393
  checkedAt: string;
10594
10394
  } | null;
@@ -10612,7 +10412,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10612
10412
  masked: string | null;
10613
10413
  }[];
10614
10414
  lastVerification: {
10615
- result: "SUCCESS" | "FAILED";
10415
+ result: "FAILED" | "SUCCESS";
10616
10416
  message: string | null;
10617
10417
  checkedAt: string;
10618
10418
  } | null;
@@ -10668,7 +10468,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10668
10468
  masked: string | null;
10669
10469
  }[];
10670
10470
  lastVerification: {
10671
- result: "SUCCESS" | "FAILED";
10471
+ result: "FAILED" | "SUCCESS";
10672
10472
  message: string | null;
10673
10473
  checkedAt: string;
10674
10474
  } | null;
@@ -10693,7 +10493,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10693
10493
  masked: string | null;
10694
10494
  }[];
10695
10495
  lastVerification: {
10696
- result: "SUCCESS" | "FAILED";
10496
+ result: "FAILED" | "SUCCESS";
10697
10497
  message: string | null;
10698
10498
  checkedAt: string;
10699
10499
  } | null;
@@ -10717,7 +10517,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10717
10517
  masked: string | null;
10718
10518
  }[];
10719
10519
  lastVerification: {
10720
- result: "SUCCESS" | "FAILED";
10520
+ result: "FAILED" | "SUCCESS";
10721
10521
  message: string | null;
10722
10522
  checkedAt: string;
10723
10523
  } | null;
@@ -10745,7 +10545,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10745
10545
  verify: (provider: PgProvider, body?: VerifyPaymentProviderRequest) => Promise<{
10746
10546
  provider: "tosspayments" | "portone";
10747
10547
  environment: "TEST" | "LIVE";
10748
- result: "SUCCESS" | "FAILED";
10548
+ result: "FAILED" | "SUCCESS";
10749
10549
  message: string | null;
10750
10550
  checkedAt: string;
10751
10551
  }>;
@@ -10811,7 +10611,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10811
10611
  eventId: string;
10812
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";
10813
10613
  url: string;
10814
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
10614
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10815
10615
  responseStatusCode: number | null;
10816
10616
  responseTimeMs: number | null;
10817
10617
  responseBodyExcerpt: string | null;
@@ -10838,7 +10638,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10838
10638
  eventId: string;
10839
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";
10840
10640
  url: string;
10841
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
10641
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10842
10642
  responseStatusCode: number | null;
10843
10643
  responseTimeMs: number | null;
10844
10644
  responseBodyExcerpt: string | null;
@@ -10873,7 +10673,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10873
10673
  eventId: string;
10874
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";
10875
10675
  url: string;
10876
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
10676
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10877
10677
  responseStatusCode: number | null;
10878
10678
  responseTimeMs: number | null;
10879
10679
  responseBodyExcerpt: string | null;
@@ -10969,7 +10769,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10969
10769
  method: string | null;
10970
10770
  path: string | null;
10971
10771
  statusCode: number | null;
10972
- outcome: "FAILED" | "SUCCEEDED" | "PENDING_APPROVAL" | "DENIED" | "DRY_RUN" | null;
10772
+ outcome: "SUCCEEDED" | "FAILED" | "PENDING_APPROVAL" | "DENIED" | "DRY_RUN" | null;
10973
10773
  errorCode: string | null;
10974
10774
  traceId: string | null;
10975
10775
  idempotencyKey: string | null;
@@ -10987,7 +10787,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10987
10787
  list: (params?: ApprovalListOptions) => Promise<{
10988
10788
  items: {
10989
10789
  approvalId: string;
10990
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10790
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
10991
10791
  operationId: string;
10992
10792
  method: string;
10993
10793
  path: string;
@@ -11037,7 +10837,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11037
10837
  }>;
11038
10838
  get: (approvalId: string) => Promise<{
11039
10839
  approvalId: string;
11040
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10840
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11041
10841
  operationId: string;
11042
10842
  method: string;
11043
10843
  path: string;
@@ -11089,7 +10889,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11089
10889
  */
11090
10890
  approve: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11091
10891
  approvalId: string;
11092
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10892
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11093
10893
  operationId: string;
11094
10894
  method: string;
11095
10895
  path: string;
@@ -11137,7 +10937,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11137
10937
  }>;
11138
10938
  reject: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11139
10939
  approvalId: string;
11140
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
10940
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11141
10941
  operationId: string;
11142
10942
  method: string;
11143
10943
  path: string;
@@ -11234,7 +11034,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11234
11034
  sellerAddresses: {
11235
11035
  list: (type?: AddressType) => Promise<{
11236
11036
  addressId: string;
11237
- type: "SHIPPING" | "RETURN";
11037
+ type: "RETURN" | "SHIPPING";
11238
11038
  name: string;
11239
11039
  isDefault: boolean;
11240
11040
  contactName: string;
@@ -11264,6 +11064,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
11264
11064
  thumbnailUrl: string | null;
11265
11065
  version: string;
11266
11066
  isDefault: boolean;
11067
+ tags: string[];
11068
+ supportsCheckout: boolean;
11069
+ previewUrl: string | null;
11267
11070
  }[]>;
11268
11071
  /** `GET /v1/storefront/site` — 스위치 상태와 현재 사이트(없으면 `site: null`) */
11269
11072
  get: () => Promise<{
@@ -11302,7 +11105,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11302
11105
  createdVia?: string | null | undefined;
11303
11106
  } | null;
11304
11107
  provisioning: {
11305
- status: "PENDING" | "FAILED" | "SYNCED";
11108
+ status: "FAILED" | "PENDING" | "SYNCED";
11306
11109
  lastErrorCode: string | null;
11307
11110
  syncedAt: string | null;
11308
11111
  };
@@ -11324,7 +11127,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
11324
11127
  available: boolean;
11325
11128
  reason: "RESERVED" | "INVALID" | "TAKEN" | "CURRENT" | null;
11326
11129
  }>;
11327
- /** `POST /v1/storefront/site` (201) — 템플릿으로 사이트를 만들고 v1을 발행한다. 공개 상태는 오픈 준비 중이다 */
11130
+ /**
11131
+ * `POST /v1/storefront/site` (201) — 템플릿으로 사이트를 만들고 v1을 발행한다. 공개 상태는 오픈 준비 중이다.
11132
+ * 사이트를 만드는 유일한 경로다(스토어를 만들어도 사이트는 생기지 않는다). 템플릿은 여기서만 고른다
11133
+ */
11328
11134
  create: (body: CreateStorefrontSiteRequest) => Promise<{
11329
11135
  siteId: string;
11330
11136
  slug: string;
@@ -11357,7 +11163,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11357
11163
  createdVia?: string | null | undefined;
11358
11164
  } | null;
11359
11165
  provisioning: {
11360
- status: "PENDING" | "FAILED" | "SYNCED";
11166
+ status: "FAILED" | "PENDING" | "SYNCED";
11361
11167
  lastErrorCode: string | null;
11362
11168
  syncedAt: string | null;
11363
11169
  };
@@ -11372,7 +11178,55 @@ export declare function createStoreClient(options: StoreClientOptions): {
11372
11178
  suspendedAt: string | null;
11373
11179
  } | null | undefined;
11374
11180
  }>;
11375
- /** `POST /v1/storefront/site/template` — 템플릿을 바꾼다. 새 버전을 만들고 기본으로 곧바로 발행한다 */
11181
+ /** `GET /v1/storefront/site/deployment` — 배포 진행(단계·기록). 만든 뒤 반영이 끝날 때까지 폴링한다 */
11182
+ getDeployment: () => Promise<{
11183
+ siteId: string;
11184
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11185
+ url: string;
11186
+ startedAt: string;
11187
+ finishedAt: string | null;
11188
+ steps: {
11189
+ key: "SITE" | "UPLOAD" | "PUBLISH";
11190
+ status: "FAILED" | "PENDING" | "RUNNING" | "DONE";
11191
+ finishedAt: string | null;
11192
+ }[];
11193
+ log: {
11194
+ at: string | null;
11195
+ level: "INFO" | "WARN" | "ERROR";
11196
+ code: string;
11197
+ message: string;
11198
+ }[];
11199
+ errorCode: string | null;
11200
+ attempts: number;
11201
+ nextAttemptAt: string | null;
11202
+ }>;
11203
+ /** `POST /v1/storefront/site/deployment/retry` (202) — 밀린 반영을 곧바로 다시 시도한다. 이미 반영됐으면 그대로다 */
11204
+ retryDeployment: () => Promise<{
11205
+ siteId: string;
11206
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11207
+ url: string;
11208
+ startedAt: string;
11209
+ finishedAt: string | null;
11210
+ steps: {
11211
+ key: "SITE" | "UPLOAD" | "PUBLISH";
11212
+ status: "FAILED" | "PENDING" | "RUNNING" | "DONE";
11213
+ finishedAt: string | null;
11214
+ }[];
11215
+ log: {
11216
+ at: string | null;
11217
+ level: "INFO" | "WARN" | "ERROR";
11218
+ code: string;
11219
+ message: string;
11220
+ }[];
11221
+ errorCode: string | null;
11222
+ attempts: number;
11223
+ nextAttemptAt: string | null;
11224
+ }>;
11225
+ /**
11226
+ * `POST /v1/storefront/site/template`
11227
+ * @deprecated 템플릿 변경은 지원하지 않는다. 서버가 항상 409 `TEMPLATE_CHANGE_NOT_SUPPORTED`로 답한다 — 템플릿은
11228
+ * 사이트를 만들 때(`create`)만 고른다. 호환을 위해 메서드만 남겼다
11229
+ */
11376
11230
  changeTemplate: (body: ChangeStorefrontTemplateRequest) => Promise<{
11377
11231
  siteId: string;
11378
11232
  slug: string;
@@ -11405,7 +11259,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11405
11259
  createdVia?: string | null | undefined;
11406
11260
  } | null;
11407
11261
  provisioning: {
11408
- status: "PENDING" | "FAILED" | "SYNCED";
11262
+ status: "FAILED" | "PENDING" | "SYNCED";
11409
11263
  lastErrorCode: string | null;
11410
11264
  syncedAt: string | null;
11411
11265
  };
@@ -11469,7 +11323,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11469
11323
  createdVia?: string | null | undefined;
11470
11324
  } | null;
11471
11325
  provisioning: {
11472
- status: "PENDING" | "FAILED" | "SYNCED";
11326
+ status: "FAILED" | "PENDING" | "SYNCED";
11473
11327
  lastErrorCode: string | null;
11474
11328
  syncedAt: string | null;
11475
11329
  };
@@ -11517,7 +11371,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11517
11371
  createdVia?: string | null | undefined;
11518
11372
  } | null;
11519
11373
  provisioning: {
11520
- status: "PENDING" | "FAILED" | "SYNCED";
11374
+ status: "FAILED" | "PENDING" | "SYNCED";
11521
11375
  lastErrorCode: string | null;
11522
11376
  syncedAt: string | null;
11523
11377
  };
@@ -11565,7 +11419,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11565
11419
  createdVia?: string | null | undefined;
11566
11420
  } | null;
11567
11421
  provisioning: {
11568
- status: "PENDING" | "FAILED" | "SYNCED";
11422
+ status: "FAILED" | "PENDING" | "SYNCED";
11569
11423
  lastErrorCode: string | null;
11570
11424
  syncedAt: string | null;
11571
11425
  };
@@ -11613,7 +11467,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11613
11467
  createdVia?: string | null | undefined;
11614
11468
  } | null;
11615
11469
  provisioning: {
11616
- status: "PENDING" | "FAILED" | "SYNCED";
11470
+ status: "FAILED" | "PENDING" | "SYNCED";
11617
11471
  lastErrorCode: string | null;
11618
11472
  syncedAt: string | null;
11619
11473
  };
@@ -11653,7 +11507,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11653
11507
  value: string;
11654
11508
  purpose: "ROUTING" | "OWNERSHIP";
11655
11509
  }[];
11656
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11510
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11657
11511
  failureCode: string | null;
11658
11512
  verifiedAt: string | null;
11659
11513
  activatedAt: string | null;
@@ -11677,7 +11531,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11677
11531
  value: string;
11678
11532
  purpose: "ROUTING" | "OWNERSHIP";
11679
11533
  }[];
11680
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11534
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11681
11535
  failureCode: string | null;
11682
11536
  verifiedAt: string | null;
11683
11537
  activatedAt: string | null;
@@ -11697,7 +11551,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11697
11551
  value: string;
11698
11552
  purpose: "ROUTING" | "OWNERSHIP";
11699
11553
  }[];
11700
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11554
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11701
11555
  failureCode: string | null;
11702
11556
  verifiedAt: string | null;
11703
11557
  activatedAt: string | null;
@@ -11721,7 +11575,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11721
11575
  value: string;
11722
11576
  purpose: "ROUTING" | "OWNERSHIP";
11723
11577
  }[];
11724
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
11578
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11725
11579
  failureCode: string | null;
11726
11580
  verifiedAt: string | null;
11727
11581
  activatedAt: string | null;
@@ -11764,7 +11618,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11764
11618
  createdVia?: string | null | undefined;
11765
11619
  } | null;
11766
11620
  provisioning: {
11767
- status: "PENDING" | "FAILED" | "SYNCED";
11621
+ status: "FAILED" | "PENDING" | "SYNCED";
11768
11622
  lastErrorCode: string | null;
11769
11623
  syncedAt: string | null;
11770
11624
  };
@@ -11784,7 +11638,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11784
11638
  enabled: boolean;
11785
11639
  session: {
11786
11640
  sessionId: string;
11787
- status: "STARTING" | "RUNNING";
11641
+ status: "RUNNING" | "STARTING";
11788
11642
  startStage: string | null;
11789
11643
  startedAt: string;
11790
11644
  lastEditedAt: string | null;
@@ -11812,7 +11666,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11812
11666
  enabled: boolean;
11813
11667
  session: {
11814
11668
  sessionId: string;
11815
- status: "STARTING" | "RUNNING";
11669
+ status: "RUNNING" | "STARTING";
11816
11670
  startStage: string | null;
11817
11671
  startedAt: string;
11818
11672
  lastEditedAt: string | null;
@@ -11837,7 +11691,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11837
11691
  enabled: boolean;
11838
11692
  session: {
11839
11693
  sessionId: string;
11840
- status: "STARTING" | "RUNNING";
11694
+ status: "RUNNING" | "STARTING";
11841
11695
  startStage: string | null;
11842
11696
  startedAt: string;
11843
11697
  lastEditedAt: string | null;
@@ -11924,7 +11778,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11924
11778
  runCheck: (body: RunStorefrontCheckRequest) => Promise<{
11925
11779
  checkId: string;
11926
11780
  check: string;
11927
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
11781
+ status: "UNKNOWN" | "FAILED" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
11928
11782
  exitCode: number | null;
11929
11783
  durationMs: number | null;
11930
11784
  outputTail: string | null;
@@ -11938,7 +11792,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11938
11792
  getCheck: (checkId: string) => Promise<{
11939
11793
  checkId: string;
11940
11794
  check: string;
11941
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
11795
+ status: "UNKNOWN" | "FAILED" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
11942
11796
  exitCode: number | null;
11943
11797
  durationMs: number | null;
11944
11798
  outputTail: string | null;
@@ -12005,7 +11859,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12005
11859
  buildId: string;
12006
11860
  versionId: string;
12007
11861
  versionNumber: number;
12008
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
11862
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12009
11863
  failureStage: string | null;
12010
11864
  errorCode: string | null;
12011
11865
  logTail: string | null;
@@ -12086,7 +11940,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12086
11940
  buildId: string;
12087
11941
  versionId: string;
12088
11942
  versionNumber: number;
12089
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
11943
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12090
11944
  failureStage: string | null;
12091
11945
  errorCode: string | null;
12092
11946
  logTail: string | null;
@@ -12164,7 +12018,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12164
12018
  buildId: string;
12165
12019
  versionId: string;
12166
12020
  versionNumber: number;
12167
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12021
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12168
12022
  failureStage: string | null;
12169
12023
  errorCode: string | null;
12170
12024
  logTail: string | null;
@@ -12299,6 +12153,116 @@ export declare function createStoreClient(options: StoreClientOptions): {
12299
12153
  }[];
12300
12154
  }>;
12301
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
+ };
12302
12266
  store: {
12303
12267
  get: () => Promise<{
12304
12268
  storeId: string;
@@ -12382,7 +12346,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12382
12346
  userId: string;
12383
12347
  name: string;
12384
12348
  email: string;
12385
- role: "ADMIN" | "STAFF" | "OWNER";
12349
+ role: "OWNER" | "ADMIN" | "STAFF";
12386
12350
  joinedAt: string;
12387
12351
  lastActiveAt: string | null;
12388
12352
  }[]>;
@@ -12451,9 +12415,10 @@ type StoreClient = ReturnType<typeof createStoreClient>;
12451
12415
  //#region src/oauth.d.ts
12452
12416
  /**
12453
12417
  * OAuth 2.1 브라우저 플로우 헬퍼 (authorization_code + PKCE).
12418
+ * 발급자는 Sayren 계정(accounts)이다 — 엔드포인트 주소는 호출부가 준다.
12454
12419
  * Web Crypto만 사용 — 브라우저/Node 모두에서 동작하며 **시크릿을 다루지 않는다**.
12455
12420
  */
12456
- /** RFC 6749 §5.1 토큰 응답 (+ RFC 8693 확장 멤버 허용) */
12421
+ /** RFC 6749 §5.1 토큰 응답 */
12457
12422
  export declare const oauthTokenResponseSchema: z.ZodObject<{
12458
12423
  access_token: z.ZodString;
12459
12424
  token_type: z.ZodLiteral<"Bearer">;
@@ -12468,44 +12433,59 @@ export declare function createPkcePair(): Promise<{
12468
12433
  challenge: string;
12469
12434
  }>;
12470
12435
  interface AuthorizeUrlOptions {
12471
- /** 예: https://api.sayren.app/v1 (베이스 URL — /oauth2/authorize가 덧붙는다) */
12472
- baseUrl: string;
12436
+ /** authorize 엔드포인트 전체 주소(예: `https://accounts.sayren.app/api/auth/oauth2/authorize`) */
12437
+ authorizeUrl: string;
12473
12438
  clientId: string;
12474
12439
  redirectUri: string;
12475
12440
  state: string;
12476
12441
  codeChallenge: string;
12477
- /** 생략 시 서버 기본(stores:read). refresh가 필요하면 offline_access 포함 */
12442
+ /** 생략 시 발급자 기본. refresh가 필요하면 offline_access 포함 */
12478
12443
  scope?: string;
12444
+ /** RFC 8707 리소스 지시자 — 주면 JWT access token(`aud` = 리소스)을 받는다 */
12445
+ resource?: string;
12446
+ /** OIDC `prompt` — `login`(재인증)·`create`(가입)·`consent`(동의 다시 받기) */
12447
+ prompt?: "login" | "create" | "consent";
12479
12448
  }
12480
12449
  /** authorize 엔드포인트 URL 구성 — 브라우저는 이 URL로 이동(top-level navigation) */
12481
12450
  export declare function buildAuthorizeUrl(options: AuthorizeUrlOptions): string;
12482
- /** 콜백에서 받은 code를 userToken으로 교환 (PKCE verifier 동반) */
12451
+ /** 콜백에서 받은 code를 액세스 토큰으로 교환 (PKCE verifier 동반) */
12483
12452
  export declare function exchangeAuthorizationCode(options: {
12484
- baseUrl: string;
12453
+ /** 토큰 엔드포인트 전체 주소 */
12454
+ tokenUrl: string;
12485
12455
  clientId: string;
12486
12456
  redirectUri: string;
12487
12457
  code: string;
12488
12458
  codeVerifier: string;
12459
+ /** RFC 8707 리소스 지시자 */
12460
+ resource?: string;
12489
12461
  fetch?: typeof globalThis.fetch;
12490
12462
  }): Promise<OAuthTokenResponse>;
12491
12463
  /** refresh grant (rotation — 응답의 새 refresh_token으로 반드시 교체 저장할 것) */
12492
12464
  export declare function refreshUserToken(options: {
12493
- baseUrl: string;
12465
+ /** 토큰 엔드포인트 전체 주소 */
12466
+ tokenUrl: string;
12494
12467
  clientId: string;
12495
12468
  refreshToken: string;
12469
+ /** RFC 8707 리소스 지시자 */
12470
+ resource?: string;
12496
12471
  fetch?: typeof globalThis.fetch;
12497
12472
  }): Promise<OAuthTokenResponse>;
12498
- /** userToken → storeToken 교환 (RFC 8693 token-exchange grant) */
12499
- export declare function exchangeStoreTokenViaOAuth(options: {
12500
- baseUrl: string;
12501
- clientId: string;
12502
- userToken: string;
12503
- storeId: string;
12504
- fetch?: typeof globalThis.fetch;
12505
- }): Promise<OAuthTokenResponse & {
12506
- storeId?: string;
12507
- role?: string;
12508
- }>;
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>;
12509
12489
  //#endregion
12510
12490
  //#region src/schemas/promotion.d.ts
12511
12491
  /** 쿠폰 종류 */
@@ -12950,13 +12930,13 @@ export declare const STORE_SCOPE_RESOURCES: {
12950
12930
  export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
12951
12931
  export declare const storeScopeResourceSchema: z.ZodEnum<{
12952
12932
  category: "category";
12933
+ analytics: "analytics";
12953
12934
  product: "product";
12954
12935
  order: "order";
12955
12936
  claim: "claim";
12956
12937
  inquiry: "inquiry";
12957
12938
  review: "review";
12958
12939
  settlement: "settlement";
12959
- analytics: "analytics";
12960
12940
  webhook: "webhook";
12961
12941
  store: "store";
12962
12942
  member: "member";
@@ -12969,8 +12949,7 @@ export declare const storeScopeResourceSchema: z.ZodEnum<{
12969
12949
  export declare function isStoreScope(scope: string): boolean;
12970
12950
  /**
12971
12951
  * 역할별 자동 부여 스코프 (auth-spec §7).
12972
- * storeToken(사람)의 스코프는 이 표로 결정된다. PAT·M2M 클라이언트에는 역할이 없고
12973
- * 발급 시 지정한 스코프만 갖는다(발급자 보유 스코프 이내).
12952
+ * 계정 토큰으로 스토어를 호출할 때의 스코프는 그 스토어에서의 역할로 이 표에서 결정된다.
12974
12953
  */
12975
12954
  export declare const STORE_ROLE_SCOPES: {
12976
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"];
@@ -13183,6 +13162,312 @@ export interface DeliveryQuoteInput {
13183
13162
  */
13184
13163
  export declare function quoteDelivery(input: DeliveryQuoteInput): DeliveryQuote;
13185
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
13186
13471
  //#region src/schemas/telemetry.d.ts
13187
13472
  /**
13188
13473
  * MCP 도구 호출 계측 (`POST /v1/telemetry/mcp`, 이슈 #34).
@@ -13360,11 +13645,12 @@ export declare const claimWebhookEventDataSchema: z.ZodObject<{
13360
13645
  orderId: z.ZodString;
13361
13646
  orderItemId: z.ZodString;
13362
13647
  claimType: z.ZodEnum<{
13648
+ CANCEL: "CANCEL";
13363
13649
  RETURN: "RETURN";
13364
13650
  EXCHANGE: "EXCHANGE";
13365
- CANCEL: "CANCEL";
13366
13651
  }>;
13367
13652
  status: z.ZodEnum<{
13653
+ COMPLETED: "COMPLETED";
13368
13654
  REJECTED: "REJECTED";
13369
13655
  REQUESTED: "REQUESTED";
13370
13656
  HELD: "HELD";
@@ -13372,7 +13658,6 @@ export declare const claimWebhookEventDataSchema: z.ZodObject<{
13372
13658
  COLLECTED: "COLLECTED";
13373
13659
  REDELIVERING: "REDELIVERING";
13374
13660
  APPROVED: "APPROVED";
13375
- COMPLETED: "COMPLETED";
13376
13661
  WITHDRAWN: "WITHDRAWN";
13377
13662
  }>;
13378
13663
  quantity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -13550,11 +13835,12 @@ export declare const claimWebhookEventSchema: z.ZodObject<{
13550
13835
  orderId: z.ZodString;
13551
13836
  orderItemId: z.ZodString;
13552
13837
  claimType: z.ZodEnum<{
13838
+ CANCEL: "CANCEL";
13553
13839
  RETURN: "RETURN";
13554
13840
  EXCHANGE: "EXCHANGE";
13555
- CANCEL: "CANCEL";
13556
13841
  }>;
13557
13842
  status: z.ZodEnum<{
13843
+ COMPLETED: "COMPLETED";
13558
13844
  REJECTED: "REJECTED";
13559
13845
  REQUESTED: "REQUESTED";
13560
13846
  HELD: "HELD";
@@ -13562,7 +13848,6 @@ export declare const claimWebhookEventSchema: z.ZodObject<{
13562
13848
  COLLECTED: "COLLECTED";
13563
13849
  REDELIVERING: "REDELIVERING";
13564
13850
  APPROVED: "APPROVED";
13565
- COMPLETED: "COMPLETED";
13566
13851
  WITHDRAWN: "WITHDRAWN";
13567
13852
  }>;
13568
13853
  quantity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -13760,11 +14045,12 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
13760
14045
  orderId: z.ZodString;
13761
14046
  orderItemId: z.ZodString;
13762
14047
  claimType: z.ZodEnum<{
14048
+ CANCEL: "CANCEL";
13763
14049
  RETURN: "RETURN";
13764
14050
  EXCHANGE: "EXCHANGE";
13765
- CANCEL: "CANCEL";
13766
14051
  }>;
13767
14052
  status: z.ZodEnum<{
14053
+ COMPLETED: "COMPLETED";
13768
14054
  REJECTED: "REJECTED";
13769
14055
  REQUESTED: "REQUESTED";
13770
14056
  HELD: "HELD";
@@ -13772,7 +14058,6 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
13772
14058
  COLLECTED: "COLLECTED";
13773
14059
  REDELIVERING: "REDELIVERING";
13774
14060
  APPROVED: "APPROVED";
13775
- COMPLETED: "COMPLETED";
13776
14061
  WITHDRAWN: "WITHDRAWN";
13777
14062
  }>;
13778
14063
  quantity: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -13829,4 +14114,4 @@ export type WebhookEventOf<T extends WebhookEventType> = WebhookEvent extends (i
13829
14114
  type: T;
13830
14115
  } : never : never : never;
13831
14116
  //#endregion
13832
- 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 };