@sayren/store-sdk 0.62.0 → 0.64.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
@@ -166,9 +166,9 @@ export declare const auditLogPageSchema: z$1.ZodObject<{
166
166
  }, z$1.core.$strip>;
167
167
  export type AuditLogPage = z$1.infer<typeof auditLogPageSchema>;
168
168
  export declare const agentPolicyDecisionSchema: z$1.ZodEnum<{
169
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
170
169
  DENIED: "DENIED";
171
170
  ALLOW: "ALLOW";
171
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
172
172
  }>;
173
173
  export type AgentPolicyDecision = z$1.infer<typeof agentPolicyDecisionSchema>;
174
174
  export declare const writePreviewSchema: z$1.ZodObject<{
@@ -192,9 +192,9 @@ export type WritePreview = z$1.infer<typeof writePreviewSchema>;
192
192
  export declare const writeDryRunResultSchema: z$1.ZodObject<{
193
193
  dryRun: z$1.ZodLiteral<true>;
194
194
  decision: z$1.ZodEnum<{
195
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
196
195
  DENIED: "DENIED";
197
196
  ALLOW: "ALLOW";
197
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
198
198
  }>;
199
199
  reason: z$1.ZodNullable<z$1.ZodString>;
200
200
  preview: z$1.ZodObject<{
@@ -502,8 +502,8 @@ export type AiRun = z$1.infer<typeof aiRunSchema>;
502
502
  export declare const aiActivitySchema: z$1.ZodEnum<{
503
503
  check: "check";
504
504
  code: "code";
505
- status: "status";
506
505
  version: "version";
506
+ status: "status";
507
507
  shipping: "shipping";
508
508
  product: "product";
509
509
  category: "category";
@@ -757,8 +757,8 @@ export declare const aiMessagePartSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObje
757
757
  activity: z$1.ZodOptional<z$1.ZodEnum<{
758
758
  check: "check";
759
759
  code: "code";
760
- status: "status";
761
760
  version: "version";
761
+ status: "status";
762
762
  shipping: "shipping";
763
763
  product: "product";
764
764
  category: "category";
@@ -913,8 +913,8 @@ export declare const aiMessageSchema: z$1.ZodObject<{
913
913
  activity: z$1.ZodOptional<z$1.ZodEnum<{
914
914
  check: "check";
915
915
  code: "code";
916
- status: "status";
917
916
  version: "version";
917
+ status: "status";
918
918
  shipping: "shipping";
919
919
  product: "product";
920
920
  category: "category";
@@ -1102,8 +1102,8 @@ export declare const aiConversationSchema: z$1.ZodObject<{
1102
1102
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1103
1103
  check: "check";
1104
1104
  code: "code";
1105
- status: "status";
1106
1105
  version: "version";
1106
+ status: "status";
1107
1107
  shipping: "shipping";
1108
1108
  product: "product";
1109
1109
  category: "category";
@@ -1606,8 +1606,8 @@ export declare const aiStreamEventSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObje
1606
1606
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1607
1607
  check: "check";
1608
1608
  code: "code";
1609
- status: "status";
1610
1609
  version: "version";
1610
+ status: "status";
1611
1611
  shipping: "shipping";
1612
1612
  product: "product";
1613
1613
  category: "category";
@@ -1734,8 +1734,8 @@ export declare const aiStreamEventSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObje
1734
1734
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1735
1735
  check: "check";
1736
1736
  code: "code";
1737
- status: "status";
1738
1737
  version: "version";
1738
+ status: "status";
1739
1739
  shipping: "shipping";
1740
1740
  product: "product";
1741
1741
  category: "category";
@@ -1962,8 +1962,8 @@ export declare const aiStreamRecordSchema: z$1.ZodObject<{
1962
1962
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1963
1963
  check: "check";
1964
1964
  code: "code";
1965
- status: "status";
1966
1965
  version: "version";
1966
+ status: "status";
1967
1967
  shipping: "shipping";
1968
1968
  product: "product";
1969
1969
  category: "category";
@@ -2090,8 +2090,8 @@ export declare const aiStreamRecordSchema: z$1.ZodObject<{
2090
2090
  activity: z$1.ZodOptional<z$1.ZodEnum<{
2091
2091
  check: "check";
2092
2092
  code: "code";
2093
- status: "status";
2094
2093
  version: "version";
2094
+ status: "status";
2095
2095
  shipping: "shipping";
2096
2096
  product: "product";
2097
2097
  category: "category";
@@ -4264,7 +4264,7 @@ export declare const APP_RESERVED_HANDLES: ReadonlySet<string>;
4264
4264
  export declare const appHandleSchema: z$1.ZodString;
4265
4265
  /**
4266
4266
  * 설치 앱에 열지 않는 스코프 — 구성원(초대로 권한 상승), 상점 설정 전반(`storefrontOrigins`로 소셜 로그인 code 가로채기), 스토어 웹훅
4267
- * (앱 구독으로 대체, 제거 뒤에도 남는 문제), 스토어프론트 편집·발행, 감사 로그. 커스텀 연동은 계정 액세스 토큰(#71)이 맡는다
4267
+ * (앱 구독으로 대체, 제거 뒤에도 남는 문제), 스토어프론트 편집·발행, 감사 로그, 구매자 개인정보 원문(#217). 커스텀 연동은 계정 액세스 토큰(#71)이 맡는다
4268
4268
  */
4269
4269
  export declare const NON_INSTALLABLE_SCOPES: ReadonlySet<string>;
4270
4270
  /** 앱이 요청할 수 있는 스코프 — 카탈로그 전체에서 위를 뺀 것 */
@@ -4475,8 +4475,8 @@ export declare const appManifestSchema: z$1.ZodObject<{
4475
4475
  icon: z$1.ZodOptional<z$1.ZodString>;
4476
4476
  readme: z$1.ZodOptional<z$1.ZodString>;
4477
4477
  runtime: z$1.ZodDefault<z$1.ZodEnum<{
4478
- code: "code";
4479
4478
  external: "external";
4479
+ code: "code";
4480
4480
  }>>;
4481
4481
  external: z$1.ZodOptional<z$1.ZodObject<{
4482
4482
  url: z$1.ZodURL;
@@ -9010,6 +9010,82 @@ export declare const customerSummarySchema: z$1.ZodObject<{
9010
9010
  lastOrderedAt: z$1.ZodNullable<z$1.ZodString>;
9011
9011
  }, z$1.core.$strip>;
9012
9012
  export type CustomerSummary = z$1.infer<typeof customerSummarySchema>;
9013
+ /** 내보내기에서 고를 수 있는 필드 */
9014
+ export declare const customerExportFieldSchema: z$1.ZodEnum<{
9015
+ name: "name";
9016
+ email: "email";
9017
+ gender: "gender";
9018
+ birthdate: "birthdate";
9019
+ phone: "phone";
9020
+ joinedAt: "joinedAt";
9021
+ orderCount: "orderCount";
9022
+ totalPaid: "totalPaid";
9023
+ lastOrderedAt: "lastOrderedAt";
9024
+ point: "point";
9025
+ marketingAgreed: "marketingAgreed";
9026
+ marketingUpdatedAt: "marketingUpdatedAt";
9027
+ defaultAddress: "defaultAddress";
9028
+ }>;
9029
+ export type CustomerExportField = z$1.infer<typeof customerExportFieldSchema>;
9030
+ export declare const CUSTOMER_EXPORT_MAX_SIZE = 500;
9031
+ /** `GET /v1/customers/export` 쿼리 — 목록과 같은 조건 + 내보낼 필드 */
9032
+ export declare const customerExportQuerySchema: z$1.ZodObject<{
9033
+ q: z$1.ZodOptional<z$1.ZodString>;
9034
+ joinedFrom: z$1.ZodOptional<z$1.ZodString>;
9035
+ joinedTo: z$1.ZodOptional<z$1.ZodString>;
9036
+ marketing: z$1.ZodOptional<z$1.ZodEnum<{
9037
+ agreed: "agreed";
9038
+ declined: "declined";
9039
+ }>>;
9040
+ sort: z$1.ZodOptional<z$1.ZodEnum<{
9041
+ joined_desc: "joined_desc";
9042
+ joined_asc: "joined_asc";
9043
+ total_paid_desc: "total_paid_desc";
9044
+ order_count_desc: "order_count_desc";
9045
+ last_ordered_desc: "last_ordered_desc";
9046
+ }>>;
9047
+ page: z$1.ZodOptional<z$1.ZodString>;
9048
+ size: z$1.ZodOptional<z$1.ZodString>;
9049
+ fields: z$1.ZodString;
9050
+ }, z$1.core.$strip>;
9051
+ /** 내보내기 기본 배송지 — 휴대폰은 `phone`과 같은 규칙으로 가린다 */
9052
+ export declare const customerExportAddressSchema: z$1.ZodObject<{
9053
+ receiverName: z$1.ZodString;
9054
+ phone: z$1.ZodNullable<z$1.ZodString>;
9055
+ zipCode: z$1.ZodString;
9056
+ address1: z$1.ZodString;
9057
+ address2: z$1.ZodNullable<z$1.ZodString>;
9058
+ countryCode: z$1.ZodString;
9059
+ city: z$1.ZodNullable<z$1.ZodString>;
9060
+ region: z$1.ZodNullable<z$1.ZodString>;
9061
+ }, z$1.core.$strip>;
9062
+ /** 내보내기 한 줄 — 고른 필드만 싣는다 */
9063
+ export declare const customerExportRowSchema: z$1.ZodObject<{
9064
+ customerId: z$1.ZodString;
9065
+ name: z$1.ZodOptional<z$1.ZodString>;
9066
+ email: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
9067
+ phone: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
9068
+ joinedAt: z$1.ZodOptional<z$1.ZodString>;
9069
+ orderCount: z$1.ZodOptional<z$1.ZodNumber>;
9070
+ totalPaid: z$1.ZodOptional<z$1.ZodNumber>;
9071
+ lastOrderedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
9072
+ point: z$1.ZodOptional<z$1.ZodNumber>;
9073
+ marketingAgreed: z$1.ZodOptional<z$1.ZodBoolean>;
9074
+ marketingUpdatedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
9075
+ birthdate: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
9076
+ gender: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
9077
+ defaultAddress: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
9078
+ receiverName: z$1.ZodString;
9079
+ phone: z$1.ZodNullable<z$1.ZodString>;
9080
+ zipCode: z$1.ZodString;
9081
+ address1: z$1.ZodString;
9082
+ address2: z$1.ZodNullable<z$1.ZodString>;
9083
+ countryCode: z$1.ZodString;
9084
+ city: z$1.ZodNullable<z$1.ZodString>;
9085
+ region: z$1.ZodNullable<z$1.ZodString>;
9086
+ }, z$1.core.$strip>>>;
9087
+ }, z$1.core.$strip>;
9088
+ export type CustomerExportRow = z$1.infer<typeof customerExportRowSchema>;
9013
9089
  export declare const customerAddressSchema: z$1.ZodObject<{
9014
9090
  addressId: z$1.ZodString;
9015
9091
  alias: z$1.ZodString;
@@ -9142,7 +9218,10 @@ export declare const customerConsentListQuerySchema: z$1.ZodObject<{
9142
9218
  MARKETING: "MARKETING";
9143
9219
  }>>;
9144
9220
  }, z$1.core.$strip>;
9145
- /** 구매자 상세 — 휴대폰 전체를 보여 준다 */
9221
+ /**
9222
+ * 구매자 상세 — 휴대폰(구매자·배송지)은 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가린 번호(`010-****-1234`)다(#217).
9223
+ * 가린 경우 `userinfo.phone_number`는 싣지 않는다
9224
+ */
9146
9225
  export declare const customerDetailSchema: z$1.ZodObject<{
9147
9226
  customerId: z$1.ZodString;
9148
9227
  name: z$1.ZodString;
@@ -9525,6 +9604,101 @@ export declare const claimRedeliveryRequestSchema: z$1.ZodObject<{
9525
9604
  inventoryLocationId: z$1.ZodOptional<z$1.ZodString>;
9526
9605
  }, z$1.core.$strip>;
9527
9606
  export type ClaimRedeliveryRequest = z$1.infer<typeof claimRedeliveryRequestSchema>;
9607
+ /**
9608
+ * 재고 부족 판정 방식 — `TOTAL` 조합의 모든 위치 가용 재고 합계로 판정 · `PER_LOCATION` (조합, 위치)마다 판정.
9609
+ * 위치가 하나인 상점은 결과가 같다
9610
+ */
9611
+ export declare const lowStockScopeSchema: z$1.ZodEnum<{
9612
+ TOTAL: "TOTAL";
9613
+ PER_LOCATION: "PER_LOCATION";
9614
+ }>;
9615
+ export type LowStockScope = z$1.infer<typeof lowStockScopeSchema>;
9616
+ export declare const lowStockSettingsSchema: z$1.ZodObject<{
9617
+ defaultThreshold: z$1.ZodNullable<z$1.ZodNumber>;
9618
+ scope: z$1.ZodEnum<{
9619
+ TOTAL: "TOTAL";
9620
+ PER_LOCATION: "PER_LOCATION";
9621
+ }>;
9622
+ }, z$1.core.$strip>;
9623
+ export type LowStockSettings = z$1.infer<typeof lowStockSettingsSchema>;
9624
+ export declare const lowStockSettingsRequestSchema: z$1.ZodObject<{
9625
+ defaultThreshold: z$1.ZodNullable<z$1.ZodNumber>;
9626
+ scope: z$1.ZodEnum<{
9627
+ TOTAL: "TOTAL";
9628
+ PER_LOCATION: "PER_LOCATION";
9629
+ }>;
9630
+ }, z$1.core.$strict>;
9631
+ export type LowStockSettingsRequest = z$1.infer<typeof lowStockSettingsRequestSchema>;
9632
+ export declare const lowStockVariantThresholdSchema: z$1.ZodObject<{
9633
+ productId: z$1.ZodString;
9634
+ variantId: z$1.ZodString;
9635
+ threshold: z$1.ZodNumber;
9636
+ }, z$1.core.$strip>;
9637
+ export type LowStockVariantThreshold = z$1.infer<typeof lowStockVariantThresholdSchema>;
9638
+ export declare const lowStockThresholdListQuerySchema: z$1.ZodObject<{
9639
+ productId: z$1.ZodOptional<z$1.ZodString>;
9640
+ cursor: z$1.ZodOptional<z$1.ZodString>;
9641
+ limit: z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>;
9642
+ }, z$1.core.$strip>;
9643
+ export type LowStockThresholdListQuery = z$1.infer<typeof lowStockThresholdListQuerySchema>;
9644
+ export declare const lowStockThresholdPageSchema: z$1.ZodObject<{
9645
+ contents: z$1.ZodArray<z$1.ZodObject<{
9646
+ productId: z$1.ZodString;
9647
+ variantId: z$1.ZodString;
9648
+ threshold: z$1.ZodNumber;
9649
+ }, z$1.core.$strip>>;
9650
+ nextCursor: z$1.ZodNullable<z$1.ZodString>;
9651
+ }, z$1.core.$strip>;
9652
+ export type LowStockThresholdPage = z$1.infer<typeof lowStockThresholdPageSchema>;
9653
+ export declare const lowStockThresholdsRequestSchema: z$1.ZodObject<{
9654
+ lines: z$1.ZodArray<z$1.ZodObject<{
9655
+ variantId: z$1.ZodString;
9656
+ threshold: z$1.ZodNullable<z$1.ZodNumber>;
9657
+ }, z$1.core.$strict>>;
9658
+ }, z$1.core.$strict>;
9659
+ export type LowStockThresholdsRequest = z$1.infer<typeof lowStockThresholdsRequestSchema>;
9660
+ export declare const lowStockThresholdsResultSchema: z$1.ZodArray<z$1.ZodObject<{
9661
+ productId: z$1.ZodString;
9662
+ variantId: z$1.ZodString;
9663
+ threshold: z$1.ZodNullable<z$1.ZodNumber>;
9664
+ }, z$1.core.$strip>>;
9665
+ export type LowStockThresholdsResult = z$1.infer<typeof lowStockThresholdsResultSchema>;
9666
+ export declare const lowStockItemSchema: z$1.ZodObject<{
9667
+ productId: z$1.ZodString;
9668
+ variantId: z$1.ZodString;
9669
+ inventoryLocationId: z$1.ZodNullable<z$1.ZodString>;
9670
+ available: z$1.ZodNumber;
9671
+ threshold: z$1.ZodNumber;
9672
+ thresholdSource: z$1.ZodEnum<{
9673
+ STORE: "STORE";
9674
+ VARIANT: "VARIANT";
9675
+ }>;
9676
+ }, z$1.core.$strip>;
9677
+ export type LowStockItem = z$1.infer<typeof lowStockItemSchema>;
9678
+ export declare const lowStockListQuerySchema: z$1.ZodObject<{
9679
+ cursor: z$1.ZodOptional<z$1.ZodString>;
9680
+ limit: z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>;
9681
+ }, z$1.core.$strip>;
9682
+ export type LowStockListQuery = z$1.infer<typeof lowStockListQuerySchema>;
9683
+ export declare const lowStockPageSchema: z$1.ZodObject<{
9684
+ scope: z$1.ZodEnum<{
9685
+ TOTAL: "TOTAL";
9686
+ PER_LOCATION: "PER_LOCATION";
9687
+ }>;
9688
+ contents: z$1.ZodArray<z$1.ZodObject<{
9689
+ productId: z$1.ZodString;
9690
+ variantId: z$1.ZodString;
9691
+ inventoryLocationId: z$1.ZodNullable<z$1.ZodString>;
9692
+ available: z$1.ZodNumber;
9693
+ threshold: z$1.ZodNumber;
9694
+ thresholdSource: z$1.ZodEnum<{
9695
+ STORE: "STORE";
9696
+ VARIANT: "VARIANT";
9697
+ }>;
9698
+ }, z$1.core.$strip>>;
9699
+ nextCursor: z$1.ZodNullable<z$1.ZodString>;
9700
+ }, z$1.core.$strip>;
9701
+ export type LowStockPage = z$1.infer<typeof lowStockPageSchema>;
9528
9702
  //#endregion
9529
9703
  //#region src/schemas/login.d.ts
9530
9704
  /** 소셜 로그인 공급자 */
@@ -13575,13 +13749,13 @@ export declare const discountSchema: z$1.ZodObject<{
13575
13749
  export type Discount = z$1.infer<typeof discountSchema>;
13576
13750
  export declare const productSchema: z$1.ZodObject<{
13577
13751
  name: z$1.ZodString;
13752
+ salePrice: z$1.ZodNumber;
13578
13753
  status: z$1.ZodEnum<{
13579
13754
  SALE: "SALE";
13580
13755
  SUSPENDED: "SUSPENDED";
13581
13756
  OUT_OF_STOCK: "OUT_OF_STOCK";
13582
13757
  CLOSED: "CLOSED";
13583
13758
  }>;
13584
- salePrice: z$1.ZodNumber;
13585
13759
  stockQuantity: z$1.ZodNumber;
13586
13760
  categoryId: z$1.ZodNullable<z$1.ZodString>;
13587
13761
  productId: z$1.ZodString;
@@ -14632,11 +14806,11 @@ export declare const productPatchRequestSchema: z$1.ZodObject<{
14632
14806
  }, z$1.core.$strict>;
14633
14807
  export type ProductPatchRequest = z$1.infer<typeof productPatchRequestSchema>;
14634
14808
  export declare const productSortSchema: z$1.ZodEnum<{
14809
+ "updatedAt.desc": "updatedAt.desc";
14635
14810
  "createdAt.desc": "createdAt.desc";
14636
14811
  "createdAt.asc": "createdAt.asc";
14637
14812
  "salePrice.asc": "salePrice.asc";
14638
14813
  "salePrice.desc": "salePrice.desc";
14639
- "updatedAt.desc": "updatedAt.desc";
14640
14814
  }>;
14641
14815
  export type ProductSort = z$1.infer<typeof productSortSchema>;
14642
14816
  export interface ProductListParams extends PageParams {
@@ -14663,11 +14837,11 @@ export declare const productListQuerySchema: z$1.ZodObject<{
14663
14837
  sellerCode: z$1.ZodOptional<z$1.ZodString>;
14664
14838
  productNo: z$1.ZodOptional<z$1.ZodString>;
14665
14839
  sort: z$1.ZodOptional<z$1.ZodEnum<{
14840
+ "updatedAt.desc": "updatedAt.desc";
14666
14841
  "createdAt.desc": "createdAt.desc";
14667
14842
  "createdAt.asc": "createdAt.asc";
14668
14843
  "salePrice.asc": "salePrice.asc";
14669
14844
  "salePrice.desc": "salePrice.desc";
14670
- "updatedAt.desc": "updatedAt.desc";
14671
14845
  }>>;
14672
14846
  }, z$1.core.$strip>;
14673
14847
  export declare const discountRequestSchema: z$1.ZodObject<{
@@ -18594,8 +18768,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
18594
18768
  }>;
18595
18769
  get: (productId: string) => Promise<{
18596
18770
  name: string;
18597
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18598
18771
  salePrice: number;
18772
+ status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18599
18773
  stockQuantity: number;
18600
18774
  categoryId: string | null;
18601
18775
  productId: string;
@@ -18743,8 +18917,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
18743
18917
  }>;
18744
18918
  create: (body: ProductCreateRequestInput, idempotencyKey?: string) => Promise<{
18745
18919
  name: string;
18746
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18747
18920
  salePrice: number;
18921
+ status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18748
18922
  stockQuantity: number;
18749
18923
  categoryId: string | null;
18750
18924
  productId: string;
@@ -18892,8 +19066,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
18892
19066
  }>;
18893
19067
  update: (productId: string, body: ProductReplaceRequestInput) => Promise<{
18894
19068
  name: string;
18895
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18896
19069
  salePrice: number;
19070
+ status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18897
19071
  stockQuantity: number;
18898
19072
  categoryId: string | null;
18899
19073
  productId: string;
@@ -19223,8 +19397,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
19223
19397
  /** 상품 상세 묶음 조회(id·상품번호 합 100개) — 상점 플랫폼 전용. 이 상점에 없는 값은 빠진다 */
19224
19398
  lookup: (body: ProductLookupRequest) => Promise<{
19225
19399
  name: string;
19226
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
19227
19400
  salePrice: number;
19401
+ status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
19228
19402
  stockQuantity: number;
19229
19403
  categoryId: string | null;
19230
19404
  productId: string;
@@ -22409,6 +22583,43 @@ export declare function createStoreClient(options: StoreClientOptions): {
22409
22583
  lastOrderedAt: string | null;
22410
22584
  }[];
22411
22585
  }>;
22586
+ /**
22587
+ * `GET /v1/customers/export` (이슈 #217) — 목록과 같은 조건으로 고른 필드만 페이지마다 준다(기본 100, 최대 500).
22588
+ * 휴대폰은 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가린 번호다. `customer:r`
22589
+ */
22590
+ export: (params: PageParams & Omit<z$1.input<typeof customerListQuerySchema>, "page" | "size"> & {
22591
+ fields: readonly CustomerExportField[];
22592
+ }) => Promise<{
22593
+ page: number;
22594
+ size: number;
22595
+ totalElements: number;
22596
+ totalPages: number;
22597
+ contents: {
22598
+ customerId: string;
22599
+ name?: string | undefined;
22600
+ email?: string | null | undefined;
22601
+ phone?: string | null | undefined;
22602
+ joinedAt?: string | undefined;
22603
+ orderCount?: number | undefined;
22604
+ totalPaid?: number | undefined;
22605
+ lastOrderedAt?: string | null | undefined;
22606
+ point?: number | undefined;
22607
+ marketingAgreed?: boolean | undefined;
22608
+ marketingUpdatedAt?: string | null | undefined;
22609
+ birthdate?: string | null | undefined;
22610
+ gender?: string | null | undefined;
22611
+ defaultAddress?: {
22612
+ receiverName: string;
22613
+ phone: string | null;
22614
+ zipCode: string;
22615
+ address1: string;
22616
+ address2: string | null;
22617
+ countryCode: string;
22618
+ city: string | null;
22619
+ region: string | null;
22620
+ } | null | undefined;
22621
+ }[];
22622
+ }>;
22412
22623
  get: (customerId: string) => Promise<{
22413
22624
  customerId: string;
22414
22625
  name: string;
@@ -26752,6 +26963,48 @@ export declare function createStoreClient(options: StoreClientOptions): {
26752
26963
  }[];
26753
26964
  createdAt: string;
26754
26965
  }>;
26966
+ /**
26967
+ * 재고 부족 (이슈 #212) — 가용 재고가 임계값 이하인 조합. 임계값은 상점 기본값 + 조합별 덮어쓰기이고 판정 방식(위치 합계·위치별)은
26968
+ * 설정이 정한다. 조회는 `inventory:r`, 설정은 `inventory:rw`다
26969
+ */
26970
+ lowStock: {
26971
+ /** 커서 페이지네이션 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
26972
+ list: (params?: LowStockListQuery) => Promise<{
26973
+ scope: "TOTAL" | "PER_LOCATION";
26974
+ contents: {
26975
+ productId: string;
26976
+ variantId: string;
26977
+ inventoryLocationId: string | null;
26978
+ available: number;
26979
+ threshold: number;
26980
+ thresholdSource: "STORE" | "VARIANT";
26981
+ }[];
26982
+ nextCursor: string | null;
26983
+ }>;
26984
+ settings: () => Promise<{
26985
+ defaultThreshold: number | null;
26986
+ scope: "TOTAL" | "PER_LOCATION";
26987
+ }>;
26988
+ updateSettings: (body: LowStockSettingsRequest) => Promise<{
26989
+ defaultThreshold: number | null;
26990
+ scope: "TOTAL" | "PER_LOCATION";
26991
+ }>;
26992
+ /** 조합별 임계값 목록 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
26993
+ thresholds: (params?: LowStockThresholdListQuery) => Promise<{
26994
+ contents: {
26995
+ productId: string;
26996
+ variantId: string;
26997
+ threshold: number;
26998
+ }[];
26999
+ nextCursor: string | null;
27000
+ }>;
27001
+ /** 조합별 임계값 설정·해제(`threshold: null`) — 응답은 요청한 조합마다 저장한 값이다 */
27002
+ setThresholds: (body: LowStockThresholdsRequest) => Promise<{
27003
+ productId: string;
27004
+ variantId: string;
27005
+ threshold: number | null;
27006
+ }[]>;
27007
+ };
26755
27008
  };
26756
27009
  /** 판매 권역(이슈 #130) — 국가·통화·도메인. 쓰기는 다중 통화가 켜진 상점에서만 된다 */
26757
27010
  markets: {
@@ -27025,7 +27278,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27025
27278
  label: string;
27026
27279
  status: "error" | "unknown" | "ok";
27027
27280
  summary: string | null;
27028
- activity?: "check" | "code" | "status" | "version" | "shipping" | "product" | "category" | "brief" | "files" | "preview" | "template" | "site" | "info" | "upload" | "design" | "verify" | undefined;
27281
+ activity?: "check" | "code" | "version" | "status" | "shipping" | "product" | "category" | "brief" | "files" | "preview" | "template" | "site" | "info" | "upload" | "design" | "verify" | undefined;
27029
27282
  target?: string | undefined;
27030
27283
  changes?: {
27031
27284
  path: string;
@@ -30374,6 +30627,7 @@ export declare const STORE_SCOPE_RESOURCES: {
30374
30627
  readonly storefront: readonly ["r", "rw"];
30375
30628
  readonly flow: readonly ["r", "rw"];
30376
30629
  readonly inventory: readonly ["r", "rw"];
30630
+ readonly privacy: readonly ["r"];
30377
30631
  };
30378
30632
  export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
30379
30633
  export declare const storeScopeResourceSchema: z$1.ZodEnum<{
@@ -30381,9 +30635,9 @@ export declare const storeScopeResourceSchema: z$1.ZodEnum<{
30381
30635
  category: "category";
30382
30636
  order: "order";
30383
30637
  flow: "flow";
30638
+ privacy: "privacy";
30384
30639
  analytics: "analytics";
30385
30640
  storefront: "storefront";
30386
- customer: "customer";
30387
30641
  claim: "claim";
30388
30642
  inquiry: "inquiry";
30389
30643
  review: "review";
@@ -30391,6 +30645,7 @@ export declare const storeScopeResourceSchema: z$1.ZodEnum<{
30391
30645
  webhook: "webhook";
30392
30646
  store: "store";
30393
30647
  member: "member";
30648
+ customer: "customer";
30394
30649
  audit: "audit";
30395
30650
  promotion: "promotion";
30396
30651
  inventory: "inventory";
@@ -30402,8 +30657,8 @@ export declare function isStoreScope(scope: string): boolean;
30402
30657
  * 계정 토큰으로 상점을 호출할 때의 스코프는 그 상점에서의 역할로 이 표에서 결정된다.
30403
30658
  */
30404
30659
  export declare const STORE_ROLE_SCOPES: {
30405
- 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", "flow:rw", "inventory:rw"];
30406
- readonly ADMIN: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "analytics:r", "webhook:rw", "store:rw", "member:rw", "customer:rw", "audit:r", "promotion:rw", "storefront:rw", "flow:rw", "inventory:rw"];
30660
+ 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", "flow:rw", "inventory:rw", "privacy:r"];
30661
+ readonly ADMIN: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "analytics:r", "webhook:rw", "store:rw", "member:rw", "customer:rw", "audit:r", "promotion:rw", "storefront:rw", "flow:rw", "inventory:rw", "privacy:r"];
30407
30662
  readonly STAFF: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "customer:r", "promotion:r", "flow:r", "inventory:rw"];
30408
30663
  };
30409
30664
  //#endregion
package/dist/index.mjs CHANGED
@@ -3522,7 +3522,8 @@ const STORE_SCOPE_RESOURCES = {
3522
3522
  promotion: ["r", "rw"],
3523
3523
  storefront: ["r", "rw"],
3524
3524
  flow: ["r", "rw"],
3525
- inventory: ["r", "rw"]
3525
+ inventory: ["r", "rw"],
3526
+ privacy: ["r"]
3526
3527
  };
3527
3528
  const storeScopeResourceSchema = z$1.enum(Object.keys(STORE_SCOPE_RESOURCES)).describe("스코프 리소스");
3528
3529
  /** 카탈로그상 존재하는 스코프 문자열인가 (예: `settlement:rw`는 false) */
@@ -3553,7 +3554,8 @@ const STORE_ROLE_SCOPES = {
3553
3554
  "promotion:rw",
3554
3555
  "storefront:rw",
3555
3556
  "flow:rw",
3556
- "inventory:rw"
3557
+ "inventory:rw",
3558
+ "privacy:r"
3557
3559
  ],
3558
3560
  ADMIN: [
3559
3561
  "product:rw",
@@ -3571,7 +3573,8 @@ const STORE_ROLE_SCOPES = {
3571
3573
  "promotion:rw",
3572
3574
  "storefront:rw",
3573
3575
  "flow:rw",
3574
- "inventory:rw"
3576
+ "inventory:rw",
3577
+ "privacy:r"
3575
3578
  ],
3576
3579
  STAFF: [
3577
3580
  "product:rw",
@@ -3660,6 +3663,10 @@ const SCOPE_DESCRIPTIONS = {
3660
3663
  inventory: {
3661
3664
  r: "위치별 재고와 재고 변동 내역을 읽습니다",
3662
3665
  rw: "재고를 조정·실사하고 위치 사이에서 이동합니다"
3666
+ },
3667
+ privacy: {
3668
+ r: "구매자 개인정보(휴대폰 전체 번호)를 내보냅니다",
3669
+ rw: "구매자 개인정보(휴대폰 전체 번호)를 내보냅니다"
3663
3670
  }
3664
3671
  };
3665
3672
  /** `{resource}:{r|rw}` → 문장. 카탈로그에 없는 스코프는 null */
@@ -5264,7 +5271,7 @@ const APP_RESERVED_HANDLES = /* @__PURE__ */ new Set([
5264
5271
  const appHandleSchema = z$1.string().regex(APP_HANDLE_PATTERN, "앱 handle은 소문자·숫자·하이픈 3~40자입니다").refine((value) => !APP_RESERVED_HANDLES.has(value) && !value.endsWith("-preview"), { message: "쓸 수 없는 handle입니다" });
5265
5272
  /**
5266
5273
  * 설치 앱에 열지 않는 스코프 — 구성원(초대로 권한 상승), 상점 설정 전반(`storefrontOrigins`로 소셜 로그인 code 가로채기), 스토어 웹훅
5267
- * (앱 구독으로 대체, 제거 뒤에도 남는 문제), 스토어프론트 편집·발행, 감사 로그. 커스텀 연동은 계정 액세스 토큰(#71)이 맡는다
5274
+ * (앱 구독으로 대체, 제거 뒤에도 남는 문제), 스토어프론트 편집·발행, 감사 로그, 구매자 개인정보 원문(#217). 커스텀 연동은 계정 액세스 토큰(#71)이 맡는다
5268
5275
  */
5269
5276
  const NON_INSTALLABLE_SCOPES = /* @__PURE__ */ new Set([
5270
5277
  "member:r",
@@ -5274,7 +5281,8 @@ const NON_INSTALLABLE_SCOPES = /* @__PURE__ */ new Set([
5274
5281
  "webhook:rw",
5275
5282
  "storefront:r",
5276
5283
  "storefront:rw",
5277
- "audit:r"
5284
+ "audit:r",
5285
+ "privacy:r"
5278
5286
  ]);
5279
5287
  /** 앱이 요청할 수 있는 스코프 — 카탈로그 전체에서 위를 뺀 것 */
5280
5288
  const INSTALLABLE_SCOPES = Object.entries(STORE_SCOPE_RESOURCES).flatMap(([resource, accesses]) => accesses.map((access) => `${resource}:${access}`)).filter((scope) => !NON_INSTALLABLE_SCOPES.has(scope));
@@ -10129,6 +10137,59 @@ const customerSummarySchema = z$1.object({
10129
10137
  point: z$1.number().int(),
10130
10138
  marketingAgreed: z$1.boolean()
10131
10139
  }).extend(customerStatsSchema.shape);
10140
+ /** 내보내기에서 고를 수 있는 필드 */
10141
+ const customerExportFieldSchema = z$1.enum([
10142
+ "name",
10143
+ "email",
10144
+ "phone",
10145
+ "joinedAt",
10146
+ "orderCount",
10147
+ "totalPaid",
10148
+ "lastOrderedAt",
10149
+ "point",
10150
+ "marketingAgreed",
10151
+ "marketingUpdatedAt",
10152
+ "birthdate",
10153
+ "gender",
10154
+ "defaultAddress"
10155
+ ]).describe("내보낼 필드. `marketingUpdatedAt`은 마케팅 수신 동의·철회가 마지막으로 바뀐 시각, `defaultAddress`는 기본 배송지다");
10156
+ const CUSTOMER_EXPORT_MAX_SIZE = 500;
10157
+ /** `GET /v1/customers/export` 쿼리 — 목록과 같은 조건 + 내보낼 필드 */
10158
+ const customerExportQuerySchema = customerListQuerySchema.extend({
10159
+ fields: z$1.string().describe("내보낼 필드(쉼표로 구분, 하나 이상). `customerExportFieldSchema`의 값이다. 모르는 값은 400이다"),
10160
+ ...pageQueryShape({
10161
+ defaultSize: 100,
10162
+ maxSize: 500
10163
+ })
10164
+ });
10165
+ /** 내보내기 기본 배송지 — 휴대폰은 `phone`과 같은 규칙으로 가린다 */
10166
+ const customerExportAddressSchema = z$1.object({
10167
+ receiverName: z$1.string(),
10168
+ phone: z$1.string().nullable(),
10169
+ zipCode: z$1.string(),
10170
+ address1: z$1.string(),
10171
+ address2: z$1.string().nullable(),
10172
+ countryCode: z$1.string(),
10173
+ city: z$1.string().nullable(),
10174
+ region: z$1.string().nullable()
10175
+ });
10176
+ /** 내보내기 한 줄 — 고른 필드만 싣는다 */
10177
+ const customerExportRowSchema = z$1.object({
10178
+ customerId: z$1.string(),
10179
+ name: z$1.string().optional(),
10180
+ email: z$1.string().nullable().optional(),
10181
+ phone: z$1.string().nullable().optional().describe("휴대폰. 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가운데를 가린 번호(`010-****-1234`)"),
10182
+ joinedAt: z$1.string().optional(),
10183
+ orderCount: z$1.number().int().optional(),
10184
+ totalPaid: z$1.number().int().optional().describe("구매 금액(원) — 목록과 같은 기준"),
10185
+ lastOrderedAt: z$1.string().nullable().optional(),
10186
+ point: z$1.number().int().optional(),
10187
+ marketingAgreed: z$1.boolean().optional(),
10188
+ marketingUpdatedAt: z$1.string().nullable().optional(),
10189
+ birthdate: z$1.string().nullable().optional(),
10190
+ gender: z$1.string().nullable().optional(),
10191
+ defaultAddress: customerExportAddressSchema.nullable().optional()
10192
+ });
10132
10193
  const customerAddressSchema = z$1.object({
10133
10194
  addressId: z$1.string(),
10134
10195
  alias: z$1.string(),
@@ -10200,12 +10261,15 @@ const customerConsentListQuerySchema = z$1.object({
10200
10261
  kind: consentKindSchema.optional().describe("동의 종류 필터. 생략하면 전체"),
10201
10262
  ...pageQueryShape()
10202
10263
  });
10203
- /** 구매자 상세 — 휴대폰 전체를 보여 준다 */
10264
+ /**
10265
+ * 구매자 상세 — 휴대폰(구매자·배송지)은 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가린 번호(`010-****-1234`)다(#217).
10266
+ * 가린 경우 `userinfo.phone_number`는 싣지 않는다
10267
+ */
10204
10268
  const customerDetailSchema = z$1.object({
10205
10269
  customerId: z$1.string(),
10206
10270
  name: z$1.string(),
10207
10271
  email: z$1.string().nullable(),
10208
- phone: z$1.string().nullable(),
10272
+ phone: z$1.string().nullable().describe("휴대폰. `privacy:r`이 있으면 전체 번호, 없으면 가운데를 가린 번호"),
10209
10273
  joinedAt: z$1.string(),
10210
10274
  point: z$1.number().int(),
10211
10275
  marketingAgreed: z$1.boolean(),
@@ -10411,6 +10475,60 @@ const claimRedeliveryRequestSchema = strictRequest(z$1.object({
10411
10475
  trackingNumber: z$1.string().min(1),
10412
10476
  inventoryLocationId: z$1.string().min(1).optional().describe("교환품을 보낼 재고 위치. 생략하면 그 상품의 기준 위치")
10413
10477
  }));
10478
+ /**
10479
+ * 재고 부족 판정 방식 — `TOTAL` 조합의 모든 위치 가용 재고 합계로 판정 · `PER_LOCATION` (조합, 위치)마다 판정.
10480
+ * 위치가 하나인 상점은 결과가 같다
10481
+ */
10482
+ const lowStockScopeSchema = z$1.enum(["TOTAL", "PER_LOCATION"]).describe("재고 부족 판정 방식 — `TOTAL` 위치 합계 · `PER_LOCATION` 위치별 각각");
10483
+ const lowStockThresholdSchema = z$1.number().int().min(0).max(1e6);
10484
+ const lowStockSettingsSchema = z$1.object({
10485
+ defaultThreshold: z$1.number().int().nullable().describe("상점 기본 임계값 — 가용 재고가 이 값 이하인 조합이 재고 부족이다. null이면 조합별 임계값이 있는 조합만 판정한다"),
10486
+ scope: lowStockScopeSchema
10487
+ });
10488
+ const lowStockSettingsRequestSchema = z$1.strictObject({
10489
+ defaultThreshold: lowStockThresholdSchema.nullable(),
10490
+ scope: lowStockScopeSchema
10491
+ });
10492
+ const lowStockVariantThresholdSchema = z$1.object({
10493
+ productId: z$1.string(),
10494
+ variantId: z$1.string(),
10495
+ threshold: z$1.number().int().describe("이 조합의 임계값(상점 기본 임계값을 덮어쓴다)")
10496
+ });
10497
+ const lowStockThresholdListQuerySchema = z$1.object({
10498
+ productId: z$1.string().optional(),
10499
+ cursor: z$1.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
10500
+ limit: z$1.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)")
10501
+ });
10502
+ const lowStockThresholdPageSchema = z$1.object({
10503
+ contents: z$1.array(lowStockVariantThresholdSchema),
10504
+ nextCursor: z$1.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null")
10505
+ });
10506
+ const lowStockThresholdsRequestSchema = z$1.strictObject({ lines: z$1.array(z$1.strictObject({
10507
+ variantId: z$1.string().min(1),
10508
+ threshold: lowStockThresholdSchema.nullable().describe("이 조합의 임계값. null이면 조합별 임계값을 지우고 상점 기본 임계값을 따른다")
10509
+ })).min(1).max(200) });
10510
+ const lowStockThresholdsResultSchema = z$1.array(z$1.object({
10511
+ productId: z$1.string(),
10512
+ variantId: z$1.string(),
10513
+ threshold: z$1.number().int().nullable().describe("저장한 조합별 임계값. null이면 상점 기본 임계값을 따른다")
10514
+ }));
10515
+ const lowStockItemSchema = z$1.object({
10516
+ productId: z$1.string(),
10517
+ variantId: z$1.string(),
10518
+ inventoryLocationId: z$1.string().nullable().describe("판정한 위치 — 판정 방식이 `TOTAL`이면 null(모든 위치 합계)"),
10519
+ available: z$1.number().int().describe("판정한 가용 재고(`TOTAL`이면 모든 위치 합계)"),
10520
+ threshold: z$1.number().int().describe("적용한 임계값"),
10521
+ thresholdSource: z$1.enum(["VARIANT", "STORE"]).describe("임계값 출처 — 조합별 임계값 `VARIANT` · 상점 기본 임계값 `STORE`")
10522
+ });
10523
+ const lowStockListQuerySchema = z$1.object({
10524
+ cursor: z$1.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
10525
+ limit: z$1.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)")
10526
+ });
10527
+ const lowStockPageSchema = z$1.object({
10528
+ scope: lowStockScopeSchema.describe("이 목록을 판정한 방식"),
10529
+ contents: z$1.array(lowStockItemSchema),
10530
+ nextCursor: z$1.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null")
10531
+ });
10414
10532
  //#endregion
10415
10533
  //#region src/schemas/login.ts
10416
10534
  /** 소셜 로그인 공급자 */
@@ -12435,6 +12553,14 @@ listHistory: (params) => storeHttp.request("GET", "/points/history", pageSchema(
12435
12553
  headers: idempotency(idempotencyKey)
12436
12554
  }),
12437
12555
  list: (params) => storeHttp.request("GET", "/customers", pageSchema(customerSummarySchema), { query: params }),
12556
+ /**
12557
+ * `GET /v1/customers/export` (이슈 #217) — 목록과 같은 조건으로 고른 필드만 페이지마다 준다(기본 100, 최대 500).
12558
+ * 휴대폰은 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가린 번호다. `customer:r`
12559
+ */
12560
+ export: (params) => storeHttp.request("GET", "/customers/export", pageSchema(customerExportRowSchema), { query: {
12561
+ ...params,
12562
+ fields: params.fields.join(",")
12563
+ } }),
12438
12564
  get: (customerId) => storeHttp.request("GET", path`/customers/${customerId}`, customerDetailSchema),
12439
12565
  /** 구매자 정보 수정 (이슈 #267) — 생일(`userinfo.birthdate`). `customer:rw` */
12440
12566
  update: (customerId, body) => storeHttp.request("PATCH", path`/customers/${customerId}`, customerDetailSchema, { body: updateCustomerRequestSchema.parse(body) }),
@@ -12782,7 +12908,21 @@ list: (params) => storeHttp.request("GET", "/audit-logs", auditLogPageSchema, {
12782
12908
  transfer: (body, idempotencyKey) => storeHttp.request("POST", "/inventory/transfers", inventoryOperationResultSchema, {
12783
12909
  body: inventoryTransferRequestSchema.parse(body),
12784
12910
  headers: idempotency(idempotencyKey)
12785
- })
12911
+ }),
12912
+ /**
12913
+ * 재고 부족 (이슈 #212) — 가용 재고가 임계값 이하인 조합. 임계값은 상점 기본값 + 조합별 덮어쓰기이고 판정 방식(위치 합계·위치별)은
12914
+ * 설정이 정한다. 조회는 `inventory:r`, 설정은 `inventory:rw`다
12915
+ */
12916
+ lowStock: {
12917
+ /** 커서 페이지네이션 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
12918
+ list: (params) => storeHttp.request("GET", "/inventory/low-stock", lowStockPageSchema, { query: params }),
12919
+ settings: () => storeHttp.request("GET", "/inventory/low-stock-settings", lowStockSettingsSchema),
12920
+ updateSettings: (body) => storeHttp.request("PUT", "/inventory/low-stock-settings", lowStockSettingsSchema, { body: lowStockSettingsRequestSchema.parse(body) }),
12921
+ /** 조합별 임계값 목록 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
12922
+ thresholds: (params) => storeHttp.request("GET", "/inventory/low-stock-thresholds", lowStockThresholdPageSchema, { query: params }),
12923
+ /** 조합별 임계값 설정·해제(`threshold: null`) — 응답은 요청한 조합마다 저장한 값이다 */
12924
+ setThresholds: (body) => storeHttp.request("PUT", "/inventory/low-stock-thresholds", lowStockThresholdsResultSchema, { body: lowStockThresholdsRequestSchema.parse(body) })
12925
+ }
12786
12926
  },
12787
12927
  /** 판매 권역(이슈 #130) — 국가·통화·도메인. 쓰기는 다중 통화가 켜진 상점에서만 된다 */
12788
12928
  markets: {
@@ -13543,4 +13683,4 @@ function createStoreSession(options) {
13543
13683
  };
13544
13684
  }
13545
13685
  //#endregion
13546
- export { AI_AGENTS, AI_AGENT_NOTES_DIR, AI_AGENT_PHASES, AI_DESIGN_BOARDS_MAX, AI_DESIGN_BOARD_FILE_PATTERN, AI_DESIGN_BOARD_KINDS, AI_DESIGN_CANVAS_PATH, AI_DESIGN_CONFIRM_APPROVE, AI_DESIGN_DIR, AI_DESIGN_GUIDE_PATH, AI_DESIGN_VIEWPORTS, AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, AI_RUN_RESUME_CHOICE, AI_SETUP_CONFIRM_APPROVE, AI_SITEMAP_PATH, AI_TODOS_MAX, AI_TODO_STATUSES, AI_TOOL_CHANGE_LINE_MAX, AI_TOOL_CHANGE_RANGES_MAX, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BASE_CURRENCY, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, CERTIFICATION_STATUSES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, CONDITION_OPERATORS_BY_TYPE, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_CONDITION_FIELDS, COUPON_LINE_CONDITIONS, COUPON_ORDER_CONDITIONS, COUPON_REWARD_KINDS, COUPON_REWARD_TIER_MAX, COUPON_STACKING_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, COUPON_TARGET_RULES_ALL, COUPON_TIME_ZONE, COUPON_WEEKDAYS, CURRENCIES, CURRENCY_CODES, CUSTOMER_BIRTHDATE_PATTERN, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, DEDICATED_EASY_PAY_PROVIDER, DEFAULT_CONDITION_LIMITS, DEFAULT_STORE_LOCALE, EMPTY_CONDITION_GROUP, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, InvalidPriceUnitError, KAKAOPAY_TEST_CID, KNOWN_WEBHOOK_EVENT_TYPES, KRW_MONEY_RULES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_CERTIFICATION_ITEMS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_INFO_SECTION_TITLE, MAX_INVENTORY_OPERATION_LINES, MAX_NOTICE_TEMPLATE_NAME, MAX_NOTICE_VALUE_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_PRODUCT_IMPORT_ITEMS, MAX_PRODUCT_IMPORT_ITEMS_PER_REQUEST, MAX_PRODUCT_INFO_SECTIONS, MAX_PRODUCT_LOOKUP, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, PAYPAL_CURRENCIES, PLATFORM_CODE_SETS, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SAYREN_API_BASE_URL, SAYREN_API_ORIGIN, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SITE_VAR_KEY_PATTERN, STOREFRONT_SITE_VAR_LIMIT, STOREFRONT_SITE_VAR_MAX_BYTES, STOREFRONT_SITE_VAR_RESERVED_NAMES, STOREFRONT_SITE_VAR_RESERVED_PREFIX, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_PACK_MAX_BYTES, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, STORE_SHOP_TYPES, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, VOUCHER_COUNT_MAX, VOUCHER_PREFIX_PATTERN, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, additionalCurrencyPriceSchema, additionalCurrencyPricesSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiActivitySchema, aiAgentPhaseSchema, aiAgentSchema, aiAttachmentSchema, aiChoiceOptionSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiDesignBoardSchema, aiDesignCanvasSchema, aiDesignConfirmBoardSchema, aiDesignSelectionSchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiSetupConfirmItemSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, aiTodoSchema, aiToolChangeSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, anyConditionHolds, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, applyFlowOperationsRequestSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, assertSaleUnit, assumeCouponFactRules, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestCouponSelection, bestSellingRuleOf, birthdateFactOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, canonicalLocale, canonicalizeConditionGroup, canonicalizeConditionRule, canonicalizeCouponStacking, canonicalizeCouponTargetRules, canonicalizeCouponTargetTree, canonicalizeCouponTrees, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeTypeSchema, claimCollectCompleteRequestSchema, claimDetailSchema, claimFlowEditSessionRequestSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimRedeliveryRequestSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionLocalizationRequestSchema, collectionLocalizationSchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, conditionCatalog, conditionFields, conditionGroupSchema, conditionIssues, conditionRuleSchema, conditionValueSchema, connectStorefrontGitRequestSchema, consentActionSchema, consentKindSchema, consentSourceSchema, couponAudienceMatches, couponBenefitOfReward, couponBenefitSchema, couponClaimFactsOf, couponConditionTreeSchema, couponConditionsInputSchema, couponConditionsSchema, couponCustomerFactNames, couponDiscountOf, couponDistributionSchema, couponFactsSchema, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponLineContextOf, couponLineMatches, couponListQuerySchema, couponPointRewardOf, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRequestRuleIssues, couponRequirementsOf, couponRewardSchema, couponRuleDiscountOf, couponRuleIssues, couponRuleSchema, couponRulesFromLegacy, couponSchema, couponStackingOf, couponStackingSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetRulesFromTree, couponTargetRulesSchema, couponTargetSchema, couponTargetTreeFromRules, couponTargetTreeMatches, couponTargetTreeOf, couponTargetTreeSchema, couponTierOf, couponTimeFactsAt, couponTodayAt, couponTreesOf, couponVoucherCodesSchema, couponVoucherInputSchema, couponsCombinable, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createOrderRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontSourceUploadsRequestSchema, createStorefrontVersionRequestSchema, createdOrderSchema, currencyCodeSchema, currencyRefundFeesSchema, currencyShippingPolicySchema, currencySpecOf, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerUserinfoAddressSchema, customerUserinfoInputSchema, customerUserinfoSchema, customerWithdrawalBlockedDetailsSchema, daysBetween, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeCouponGroup, describeCouponRule, describeCouponTargetRules, describeCouponTargetTree, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, directOrderShippingAddressSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, evaluateCondition, evaluateConditionNode, evaluateCouponEligibility, eventTypeSchema, exchangeAuthorizationCode, floorToSaleUnit, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowAuthoringGuideSchema, flowDraftEdgesSchema, flowDraftNodeSchema, flowDraftNodesSchema, flowDraftOperationSchema, flowEditSessionViewSchema, flowFieldValueSchema, flowInputFieldSchema, flowIssueSchema, flowNodeIdSchema, flowNodeTypeDetailSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowOperationsResultSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fromDecimalString, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, infoFieldSourceSchema, infoSchemaFieldSchema, infoSchemaSchema, infoSectionLocalizationRequestSchema, infoSectionLocalizationSchema, infoSectionRequestSchema, infoSectionSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryAdjustmentLineSchema, inventoryAdjustmentReasonSchema, inventoryAdjustmentRequestSchema, inventoryChangedWebhookEventDataSchema, inventoryChangedWebhookEventSchema, inventoryLevelListQuerySchema, inventoryLevelPageSchema, inventoryLevelSchema, inventoryLocationRequestSchema, inventoryLocationSchema, inventoryModeSchema, inventoryMovementKindSchema, inventoryMovementListQuerySchema, inventoryMovementPageSchema, inventoryMovementSchema, inventoryOperationResultSchema, inventoryTransferRequestSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isAiAgentNotesPath, isAiChoiceAnswer, isAiDesignPath, isAiWorkspaceDocPath, isConditionGroup, isCouponTargetLine, isCurrencyCode, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isSaleUnitPrice, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, kakaoPayCredentialsInputSchema, legacyFromCouponRules, linkStorefrontGitInstallationRequestSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, localeCodeSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, marketSchema, maskedSecretSchema, matchesCollectionRules, maxWeightAssignment, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, minPaymentOf, minorToMajor, moneyRulesOf, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, naverPayCredentialsInputSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeLocale, normalizeStorefrontHostname, normalizeStorefrontPath, noticeTemplateRequestSchema, noticeTemplateSchema, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderPaymentAddedWebhookEventDataSchema, orderPaymentAddedWebhookEventSchema, orderPaymentRequestedWebhookEventDataSchema, orderPaymentRequestedWebhookEventSchema, orderPaymentSchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, payPalCredentialsInputSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, paymentStatusProviderSchema, paymentStatusSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderResponseSchema, pgProviderSchema, pgVerificationResultSchema, pickCouponFacts, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, platformCodeSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCertificationsRequestSchema, productCertificationsSchema, productCreateRequestSchema, productCurrencyPriceSchema, productCurrencyPricesSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productImportErrorSchema, productImportItemSchema, productImportItemsRequestSchema, productImportSchema, productImportStatusSchema, productListQuerySchema, productLocalizationNeedsTranslation, productLocalizationRequestSchema, productLocalizationSchema, productLookupRequestSchema, productNoticeRequestSchema, productNoticeSchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, putStorefrontSiteVarRequestSchema, quoteDelivery, quotePricing, rankBestSelling, recomputeOrderCoupons, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolveStorefrontDeployProduction, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportCurrencySchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetLocalizationRequestSchema, savedOptionSetLocalizationSchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCheckoutLineSchema, sellerCheckoutPageSchema, sellerCheckoutSchema, sellerCustomerInquirySchema, sendAiMessageRequestSchema, sendAiMessageResponseSchema, setCalendarRequestSchema, setPlatformTestKeysRequestSchema, setStorefrontAutoPublishRequestSchema, setStorefrontDeployApprovalRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingCurrencyPriceSchema, shippingCurrencyPricesSchema, shippingOrderItemListQuerySchema, shippingOrderItemPageSchema, shippingOrderItemSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeDraftPreviewSchema, storeDraftSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSetupBriefSchema, storeShopTypeSchema, storeSubscriptionSchema, storedAdditionalCurrencyPriceSchema, storedProductCurrencyPriceSchema, storedShippingCurrencyPriceSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDevLogsSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditFailureSchema, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontGitConnectStateSchema, storefrontGitMergeRequestSchema, storefrontGitMergeSchema, storefrontGitRepositorySchema, storefrontGitStatusSchema, storefrontHostingSchema, storefrontInitialSourceSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSiteVarKeyProblem, storefrontSiteVarSchema, storefrontSiteVarsSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourcePackSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSourceUploadsSchema, storefrontSuspensionSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateCustomerRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourcePackRequestSchema, uploadTicketSchema, upsertKakaoPayProviderRequestSchema, upsertNaverPayProviderRequestSchema, upsertPayPalProviderRequestSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
13686
+ export { AI_AGENTS, AI_AGENT_NOTES_DIR, AI_AGENT_PHASES, AI_DESIGN_BOARDS_MAX, AI_DESIGN_BOARD_FILE_PATTERN, AI_DESIGN_BOARD_KINDS, AI_DESIGN_CANVAS_PATH, AI_DESIGN_CONFIRM_APPROVE, AI_DESIGN_DIR, AI_DESIGN_GUIDE_PATH, AI_DESIGN_VIEWPORTS, AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, AI_RUN_RESUME_CHOICE, AI_SETUP_CONFIRM_APPROVE, AI_SITEMAP_PATH, AI_TODOS_MAX, AI_TODO_STATUSES, AI_TOOL_CHANGE_LINE_MAX, AI_TOOL_CHANGE_RANGES_MAX, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BASE_CURRENCY, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, CERTIFICATION_STATUSES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, CONDITION_OPERATORS_BY_TYPE, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_CONDITION_FIELDS, COUPON_LINE_CONDITIONS, COUPON_ORDER_CONDITIONS, COUPON_REWARD_KINDS, COUPON_REWARD_TIER_MAX, COUPON_STACKING_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, COUPON_TARGET_RULES_ALL, COUPON_TIME_ZONE, COUPON_WEEKDAYS, CURRENCIES, CURRENCY_CODES, CUSTOMER_BIRTHDATE_PATTERN, CUSTOMER_EXPORT_MAX_SIZE, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, DEDICATED_EASY_PAY_PROVIDER, DEFAULT_CONDITION_LIMITS, DEFAULT_STORE_LOCALE, EMPTY_CONDITION_GROUP, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, InvalidPriceUnitError, KAKAOPAY_TEST_CID, KNOWN_WEBHOOK_EVENT_TYPES, KRW_MONEY_RULES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_CERTIFICATION_ITEMS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_INFO_SECTION_TITLE, MAX_INVENTORY_OPERATION_LINES, MAX_NOTICE_TEMPLATE_NAME, MAX_NOTICE_VALUE_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_PRODUCT_IMPORT_ITEMS, MAX_PRODUCT_IMPORT_ITEMS_PER_REQUEST, MAX_PRODUCT_INFO_SECTIONS, MAX_PRODUCT_LOOKUP, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, PAYPAL_CURRENCIES, PLATFORM_CODE_SETS, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SAYREN_API_BASE_URL, SAYREN_API_ORIGIN, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SITE_VAR_KEY_PATTERN, STOREFRONT_SITE_VAR_LIMIT, STOREFRONT_SITE_VAR_MAX_BYTES, STOREFRONT_SITE_VAR_RESERVED_NAMES, STOREFRONT_SITE_VAR_RESERVED_PREFIX, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_PACK_MAX_BYTES, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, STORE_SHOP_TYPES, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, VOUCHER_COUNT_MAX, VOUCHER_PREFIX_PATTERN, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, additionalCurrencyPriceSchema, additionalCurrencyPricesSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiActivitySchema, aiAgentPhaseSchema, aiAgentSchema, aiAttachmentSchema, aiChoiceOptionSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiDesignBoardSchema, aiDesignCanvasSchema, aiDesignConfirmBoardSchema, aiDesignSelectionSchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiSetupConfirmItemSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, aiTodoSchema, aiToolChangeSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, anyConditionHolds, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, applyFlowOperationsRequestSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, assertSaleUnit, assumeCouponFactRules, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestCouponSelection, bestSellingRuleOf, birthdateFactOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, canonicalLocale, canonicalizeConditionGroup, canonicalizeConditionRule, canonicalizeCouponStacking, canonicalizeCouponTargetRules, canonicalizeCouponTargetTree, canonicalizeCouponTrees, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeTypeSchema, claimCollectCompleteRequestSchema, claimDetailSchema, claimFlowEditSessionRequestSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimRedeliveryRequestSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionLocalizationRequestSchema, collectionLocalizationSchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, conditionCatalog, conditionFields, conditionGroupSchema, conditionIssues, conditionRuleSchema, conditionValueSchema, connectStorefrontGitRequestSchema, consentActionSchema, consentKindSchema, consentSourceSchema, couponAudienceMatches, couponBenefitOfReward, couponBenefitSchema, couponClaimFactsOf, couponConditionTreeSchema, couponConditionsInputSchema, couponConditionsSchema, couponCustomerFactNames, couponDiscountOf, couponDistributionSchema, couponFactsSchema, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponLineContextOf, couponLineMatches, couponListQuerySchema, couponPointRewardOf, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRequestRuleIssues, couponRequirementsOf, couponRewardSchema, couponRuleDiscountOf, couponRuleIssues, couponRuleSchema, couponRulesFromLegacy, couponSchema, couponStackingOf, couponStackingSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetRulesFromTree, couponTargetRulesSchema, couponTargetSchema, couponTargetTreeFromRules, couponTargetTreeMatches, couponTargetTreeOf, couponTargetTreeSchema, couponTierOf, couponTimeFactsAt, couponTodayAt, couponTreesOf, couponVoucherCodesSchema, couponVoucherInputSchema, couponsCombinable, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createOrderRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontSourceUploadsRequestSchema, createStorefrontVersionRequestSchema, createdOrderSchema, currencyCodeSchema, currencyRefundFeesSchema, currencyShippingPolicySchema, currencySpecOf, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerExportAddressSchema, customerExportFieldSchema, customerExportQuerySchema, customerExportRowSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerUserinfoAddressSchema, customerUserinfoInputSchema, customerUserinfoSchema, customerWithdrawalBlockedDetailsSchema, daysBetween, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeCouponGroup, describeCouponRule, describeCouponTargetRules, describeCouponTargetTree, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, directOrderShippingAddressSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, evaluateCondition, evaluateConditionNode, evaluateCouponEligibility, eventTypeSchema, exchangeAuthorizationCode, floorToSaleUnit, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowAuthoringGuideSchema, flowDraftEdgesSchema, flowDraftNodeSchema, flowDraftNodesSchema, flowDraftOperationSchema, flowEditSessionViewSchema, flowFieldValueSchema, flowInputFieldSchema, flowIssueSchema, flowNodeIdSchema, flowNodeTypeDetailSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowOperationsResultSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fromDecimalString, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, infoFieldSourceSchema, infoSchemaFieldSchema, infoSchemaSchema, infoSectionLocalizationRequestSchema, infoSectionLocalizationSchema, infoSectionRequestSchema, infoSectionSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryAdjustmentLineSchema, inventoryAdjustmentReasonSchema, inventoryAdjustmentRequestSchema, inventoryChangedWebhookEventDataSchema, inventoryChangedWebhookEventSchema, inventoryLevelListQuerySchema, inventoryLevelPageSchema, inventoryLevelSchema, inventoryLocationRequestSchema, inventoryLocationSchema, inventoryModeSchema, inventoryMovementKindSchema, inventoryMovementListQuerySchema, inventoryMovementPageSchema, inventoryMovementSchema, inventoryOperationResultSchema, inventoryTransferRequestSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isAiAgentNotesPath, isAiChoiceAnswer, isAiDesignPath, isAiWorkspaceDocPath, isConditionGroup, isCouponTargetLine, isCurrencyCode, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isSaleUnitPrice, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, kakaoPayCredentialsInputSchema, legacyFromCouponRules, linkStorefrontGitInstallationRequestSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, localeCodeSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, lowStockItemSchema, lowStockListQuerySchema, lowStockPageSchema, lowStockScopeSchema, lowStockSettingsRequestSchema, lowStockSettingsSchema, lowStockThresholdListQuerySchema, lowStockThresholdPageSchema, lowStockThresholdsRequestSchema, lowStockThresholdsResultSchema, lowStockVariantThresholdSchema, marketSchema, maskedSecretSchema, matchesCollectionRules, maxWeightAssignment, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, minPaymentOf, minorToMajor, moneyRulesOf, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, naverPayCredentialsInputSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeLocale, normalizeStorefrontHostname, normalizeStorefrontPath, noticeTemplateRequestSchema, noticeTemplateSchema, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderPaymentAddedWebhookEventDataSchema, orderPaymentAddedWebhookEventSchema, orderPaymentRequestedWebhookEventDataSchema, orderPaymentRequestedWebhookEventSchema, orderPaymentSchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, payPalCredentialsInputSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, paymentStatusProviderSchema, paymentStatusSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderResponseSchema, pgProviderSchema, pgVerificationResultSchema, pickCouponFacts, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, platformCodeSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCertificationsRequestSchema, productCertificationsSchema, productCreateRequestSchema, productCurrencyPriceSchema, productCurrencyPricesSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productImportErrorSchema, productImportItemSchema, productImportItemsRequestSchema, productImportSchema, productImportStatusSchema, productListQuerySchema, productLocalizationNeedsTranslation, productLocalizationRequestSchema, productLocalizationSchema, productLookupRequestSchema, productNoticeRequestSchema, productNoticeSchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, putStorefrontSiteVarRequestSchema, quoteDelivery, quotePricing, rankBestSelling, recomputeOrderCoupons, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolveStorefrontDeployProduction, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportCurrencySchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetLocalizationRequestSchema, savedOptionSetLocalizationSchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCheckoutLineSchema, sellerCheckoutPageSchema, sellerCheckoutSchema, sellerCustomerInquirySchema, sendAiMessageRequestSchema, sendAiMessageResponseSchema, setCalendarRequestSchema, setPlatformTestKeysRequestSchema, setStorefrontAutoPublishRequestSchema, setStorefrontDeployApprovalRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingCurrencyPriceSchema, shippingCurrencyPricesSchema, shippingOrderItemListQuerySchema, shippingOrderItemPageSchema, shippingOrderItemSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeDraftPreviewSchema, storeDraftSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSetupBriefSchema, storeShopTypeSchema, storeSubscriptionSchema, storedAdditionalCurrencyPriceSchema, storedProductCurrencyPriceSchema, storedShippingCurrencyPriceSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDevLogsSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditFailureSchema, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontGitConnectStateSchema, storefrontGitMergeRequestSchema, storefrontGitMergeSchema, storefrontGitRepositorySchema, storefrontGitStatusSchema, storefrontHostingSchema, storefrontInitialSourceSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSiteVarKeyProblem, storefrontSiteVarSchema, storefrontSiteVarsSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourcePackSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSourceUploadsSchema, storefrontSuspensionSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateCustomerRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourcePackRequestSchema, uploadTicketSchema, upsertKakaoPayProviderRequestSchema, upsertNaverPayProviderRequestSchema, upsertPayPalProviderRequestSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/store-sdk",
3
- "version": "0.62.0",
3
+ "version": "0.64.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
package/src/client.ts CHANGED
@@ -185,8 +185,10 @@ import {
185
185
  } from "./schemas/coupon";
186
186
  import {
187
187
  type ConsentKind,
188
+ type CustomerExportField,
188
189
  customerConsentSchema,
189
190
  customerDetailSchema,
191
+ customerExportRowSchema,
190
192
  type customerListQuerySchema,
191
193
  customerOrderSchema,
192
194
  customerSummarySchema,
@@ -215,6 +217,16 @@ import {
215
217
  inventoryMovementPageSchema,
216
218
  inventoryOperationResultSchema,
217
219
  inventoryTransferRequestSchema,
220
+ type LowStockListQuery,
221
+ type LowStockSettingsRequest,
222
+ type LowStockThresholdListQuery,
223
+ type LowStockThresholdsRequest,
224
+ lowStockPageSchema,
225
+ lowStockSettingsRequestSchema,
226
+ lowStockSettingsSchema,
227
+ lowStockThresholdPageSchema,
228
+ lowStockThresholdsRequestSchema,
229
+ lowStockThresholdsResultSchema,
218
230
  } from "./schemas/inventory";
219
231
  import {
220
232
  type LoginProvider,
@@ -1531,6 +1543,19 @@ export function createStoreClient(options: StoreClientOptions) {
1531
1543
  storeHttp.request("GET", "/customers", pageSchema(customerSummarySchema), {
1532
1544
  query: params as Query,
1533
1545
  }),
1546
+ /**
1547
+ * `GET /v1/customers/export` (이슈 #217) — 목록과 같은 조건으로 고른 필드만 페이지마다 준다(기본 100, 최대 500).
1548
+ * 휴대폰은 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가린 번호다. `customer:r`
1549
+ */
1550
+ export: (
1551
+ params: PageParams &
1552
+ Omit<z.input<typeof customerListQuerySchema>, "page" | "size"> & {
1553
+ fields: readonly CustomerExportField[];
1554
+ },
1555
+ ) =>
1556
+ storeHttp.request("GET", "/customers/export", pageSchema(customerExportRowSchema), {
1557
+ query: { ...params, fields: params.fields.join(",") } as Query,
1558
+ }),
1534
1559
  get: (customerId: string) =>
1535
1560
  storeHttp.request("GET", path`/customers/${customerId}`, customerDetailSchema),
1536
1561
  /** 구매자 정보 수정 (이슈 #267) — 생일(`userinfo.birthdate`). `customer:rw` */
@@ -2214,6 +2239,36 @@ export function createStoreClient(options: StoreClientOptions) {
2214
2239
  body: inventoryTransferRequestSchema.parse(body),
2215
2240
  headers: idempotency(idempotencyKey),
2216
2241
  }),
2242
+ /**
2243
+ * 재고 부족 (이슈 #212) — 가용 재고가 임계값 이하인 조합. 임계값은 상점 기본값 + 조합별 덮어쓰기이고 판정 방식(위치 합계·위치별)은
2244
+ * 설정이 정한다. 조회는 `inventory:r`, 설정은 `inventory:rw`다
2245
+ */
2246
+ lowStock: {
2247
+ /** 커서 페이지네이션 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
2248
+ list: (params?: LowStockListQuery) =>
2249
+ storeHttp.request("GET", "/inventory/low-stock", lowStockPageSchema, { query: params }),
2250
+ settings: () =>
2251
+ storeHttp.request("GET", "/inventory/low-stock-settings", lowStockSettingsSchema),
2252
+ updateSettings: (body: LowStockSettingsRequest) =>
2253
+ storeHttp.request("PUT", "/inventory/low-stock-settings", lowStockSettingsSchema, {
2254
+ body: lowStockSettingsRequestSchema.parse(body),
2255
+ }),
2256
+ /** 조합별 임계값 목록 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
2257
+ thresholds: (params?: LowStockThresholdListQuery) =>
2258
+ storeHttp.request("GET", "/inventory/low-stock-thresholds", lowStockThresholdPageSchema, {
2259
+ query: params,
2260
+ }),
2261
+ /** 조합별 임계값 설정·해제(`threshold: null`) — 응답은 요청한 조합마다 저장한 값이다 */
2262
+ setThresholds: (body: LowStockThresholdsRequest) =>
2263
+ storeHttp.request(
2264
+ "PUT",
2265
+ "/inventory/low-stock-thresholds",
2266
+ lowStockThresholdsResultSchema,
2267
+ {
2268
+ body: lowStockThresholdsRequestSchema.parse(body),
2269
+ },
2270
+ ),
2271
+ },
2217
2272
  },
2218
2273
 
2219
2274
  /** 판매 권역(이슈 #130) — 국가·통화·도메인. 쓰기는 다중 통화가 켜진 상점에서만 된다 */
@@ -45,7 +45,7 @@ export const appHandleSchema = z
45
45
 
46
46
  /**
47
47
  * 설치 앱에 열지 않는 스코프 — 구성원(초대로 권한 상승), 상점 설정 전반(`storefrontOrigins`로 소셜 로그인 code 가로채기), 스토어 웹훅
48
- * (앱 구독으로 대체, 제거 뒤에도 남는 문제), 스토어프론트 편집·발행, 감사 로그. 커스텀 연동은 계정 액세스 토큰(#71)이 맡는다
48
+ * (앱 구독으로 대체, 제거 뒤에도 남는 문제), 스토어프론트 편집·발행, 감사 로그, 구매자 개인정보 원문(#217). 커스텀 연동은 계정 액세스 토큰(#71)이 맡는다
49
49
  */
50
50
  export const NON_INSTALLABLE_SCOPES: ReadonlySet<string> = new Set([
51
51
  "member:r",
@@ -56,6 +56,7 @@ export const NON_INSTALLABLE_SCOPES: ReadonlySet<string> = new Set([
56
56
  "storefront:r",
57
57
  "storefront:rw",
58
58
  "audit:r",
59
+ "privacy:r",
59
60
  ]);
60
61
 
61
62
  /** 앱이 요청할 수 있는 스코프 — 카탈로그 전체에서 위를 뺀 것 */
@@ -54,6 +54,79 @@ export const customerSummarySchema = z
54
54
  .extend(customerStatsSchema.shape);
55
55
  export type CustomerSummary = z.infer<typeof customerSummarySchema>;
56
56
 
57
+ // ── 내보내기 (이슈 #217) ────────────────────────────────────
58
+
59
+ /** 내보내기에서 고를 수 있는 필드 */
60
+ export const customerExportFieldSchema = z
61
+ .enum([
62
+ "name",
63
+ "email",
64
+ "phone",
65
+ "joinedAt",
66
+ "orderCount",
67
+ "totalPaid",
68
+ "lastOrderedAt",
69
+ "point",
70
+ "marketingAgreed",
71
+ "marketingUpdatedAt",
72
+ "birthdate",
73
+ "gender",
74
+ "defaultAddress",
75
+ ])
76
+ .describe(
77
+ "내보낼 필드. `marketingUpdatedAt`은 마케팅 수신 동의·철회가 마지막으로 바뀐 시각, `defaultAddress`는 기본 배송지다",
78
+ );
79
+ export type CustomerExportField = z.infer<typeof customerExportFieldSchema>;
80
+
81
+ export const CUSTOMER_EXPORT_MAX_SIZE = 500;
82
+
83
+ /** `GET /v1/customers/export` 쿼리 — 목록과 같은 조건 + 내보낼 필드 */
84
+ export const customerExportQuerySchema = customerListQuerySchema.extend({
85
+ fields: z
86
+ .string()
87
+ .describe(
88
+ "내보낼 필드(쉼표로 구분, 하나 이상). `customerExportFieldSchema`의 값이다. 모르는 값은 400이다",
89
+ ),
90
+ ...pageQueryShape({ defaultSize: 100, maxSize: CUSTOMER_EXPORT_MAX_SIZE }),
91
+ });
92
+
93
+ /** 내보내기 기본 배송지 — 휴대폰은 `phone`과 같은 규칙으로 가린다 */
94
+ export const customerExportAddressSchema = z.object({
95
+ receiverName: z.string(),
96
+ phone: z.string().nullable(),
97
+ zipCode: z.string(),
98
+ address1: z.string(),
99
+ address2: z.string().nullable(),
100
+ countryCode: z.string(),
101
+ city: z.string().nullable(),
102
+ region: z.string().nullable(),
103
+ });
104
+
105
+ /** 내보내기 한 줄 — 고른 필드만 싣는다 */
106
+ export const customerExportRowSchema = z.object({
107
+ customerId: z.string(),
108
+ name: z.string().optional(),
109
+ email: z.string().nullable().optional(),
110
+ phone: z
111
+ .string()
112
+ .nullable()
113
+ .optional()
114
+ .describe(
115
+ "휴대폰. 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가운데를 가린 번호(`010-****-1234`)",
116
+ ),
117
+ joinedAt: z.string().optional(),
118
+ orderCount: z.number().int().optional(),
119
+ totalPaid: z.number().int().optional().describe("구매 금액(원) — 목록과 같은 기준"),
120
+ lastOrderedAt: z.string().nullable().optional(),
121
+ point: z.number().int().optional(),
122
+ marketingAgreed: z.boolean().optional(),
123
+ marketingUpdatedAt: z.string().nullable().optional(),
124
+ birthdate: z.string().nullable().optional(),
125
+ gender: z.string().nullable().optional(),
126
+ defaultAddress: customerExportAddressSchema.nullable().optional(),
127
+ });
128
+ export type CustomerExportRow = z.infer<typeof customerExportRowSchema>;
129
+
57
130
  export const customerAddressSchema = z.object({
58
131
  addressId: z.string(),
59
132
  alias: z.string(),
@@ -148,12 +221,18 @@ export const customerConsentListQuerySchema = z.object({
148
221
  ...pageQueryShape(),
149
222
  });
150
223
 
151
- /** 구매자 상세 — 휴대폰 전체를 보여 준다 */
224
+ /**
225
+ * 구매자 상세 — 휴대폰(구매자·배송지)은 스코프 `privacy:r`이 있으면 전체 번호, 없으면 가린 번호(`010-****-1234`)다(#217).
226
+ * 가린 경우 `userinfo.phone_number`는 싣지 않는다
227
+ */
152
228
  export const customerDetailSchema = z.object({
153
229
  customerId: z.string(),
154
230
  name: z.string(),
155
231
  email: z.string().nullable(),
156
- phone: z.string().nullable(),
232
+ phone: z
233
+ .string()
234
+ .nullable()
235
+ .describe("휴대폰. `privacy:r`이 있으면 전체 번호, 없으면 가운데를 가린 번호"),
157
236
  joinedAt: z.string(),
158
237
  point: z.number().int(),
159
238
  marketingAgreed: z.boolean(),
@@ -233,3 +233,110 @@ export const claimRedeliveryRequestSchema = strictRequest(
233
233
  }),
234
234
  );
235
235
  export type ClaimRedeliveryRequest = z.infer<typeof claimRedeliveryRequestSchema>;
236
+
237
+ // ─── 재고 부족 (이슈 #212) ───────────────────────────────
238
+
239
+ /**
240
+ * 재고 부족 판정 방식 — `TOTAL` 조합의 모든 위치 가용 재고 합계로 판정 · `PER_LOCATION` (조합, 위치)마다 판정.
241
+ * 위치가 하나인 상점은 결과가 같다
242
+ */
243
+ export const lowStockScopeSchema = z
244
+ .enum(["TOTAL", "PER_LOCATION"])
245
+ .describe("재고 부족 판정 방식 — `TOTAL` 위치 합계 · `PER_LOCATION` 위치별 각각");
246
+ export type LowStockScope = z.infer<typeof lowStockScopeSchema>;
247
+
248
+ const lowStockThresholdSchema = z.number().int().min(0).max(1_000_000);
249
+
250
+ export const lowStockSettingsSchema = z.object({
251
+ defaultThreshold: z
252
+ .number()
253
+ .int()
254
+ .nullable()
255
+ .describe(
256
+ "상점 기본 임계값 — 가용 재고가 이 값 이하인 조합이 재고 부족이다. null이면 조합별 임계값이 있는 조합만 판정한다",
257
+ ),
258
+ scope: lowStockScopeSchema,
259
+ });
260
+ export type LowStockSettings = z.infer<typeof lowStockSettingsSchema>;
261
+
262
+ export const lowStockSettingsRequestSchema = z.strictObject({
263
+ defaultThreshold: lowStockThresholdSchema.nullable(),
264
+ scope: lowStockScopeSchema,
265
+ });
266
+ export type LowStockSettingsRequest = z.infer<typeof lowStockSettingsRequestSchema>;
267
+
268
+ export const lowStockVariantThresholdSchema = z.object({
269
+ productId: z.string(),
270
+ variantId: z.string(),
271
+ threshold: z.number().int().describe("이 조합의 임계값(상점 기본 임계값을 덮어쓴다)"),
272
+ });
273
+ export type LowStockVariantThreshold = z.infer<typeof lowStockVariantThresholdSchema>;
274
+
275
+ export const lowStockThresholdListQuerySchema = z.object({
276
+ productId: z.string().optional(),
277
+ cursor: z.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
278
+ limit: z.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)"),
279
+ });
280
+ export type LowStockThresholdListQuery = z.infer<typeof lowStockThresholdListQuerySchema>;
281
+
282
+ export const lowStockThresholdPageSchema = z.object({
283
+ contents: z.array(lowStockVariantThresholdSchema),
284
+ nextCursor: z.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null"),
285
+ });
286
+ export type LowStockThresholdPage = z.infer<typeof lowStockThresholdPageSchema>;
287
+
288
+ export const lowStockThresholdsRequestSchema = z.strictObject({
289
+ lines: z
290
+ .array(
291
+ z.strictObject({
292
+ variantId: z.string().min(1),
293
+ threshold: lowStockThresholdSchema
294
+ .nullable()
295
+ .describe("이 조합의 임계값. null이면 조합별 임계값을 지우고 상점 기본 임계값을 따른다"),
296
+ }),
297
+ )
298
+ .min(1)
299
+ .max(MAX_INVENTORY_OPERATION_LINES),
300
+ });
301
+ export type LowStockThresholdsRequest = z.infer<typeof lowStockThresholdsRequestSchema>;
302
+
303
+ export const lowStockThresholdsResultSchema = z.array(
304
+ z.object({
305
+ productId: z.string(),
306
+ variantId: z.string(),
307
+ threshold: z
308
+ .number()
309
+ .int()
310
+ .nullable()
311
+ .describe("저장한 조합별 임계값. null이면 상점 기본 임계값을 따른다"),
312
+ }),
313
+ );
314
+ export type LowStockThresholdsResult = z.infer<typeof lowStockThresholdsResultSchema>;
315
+
316
+ export const lowStockItemSchema = z.object({
317
+ productId: z.string(),
318
+ variantId: z.string(),
319
+ inventoryLocationId: z
320
+ .string()
321
+ .nullable()
322
+ .describe("판정한 위치 — 판정 방식이 `TOTAL`이면 null(모든 위치 합계)"),
323
+ available: z.number().int().describe("판정한 가용 재고(`TOTAL`이면 모든 위치 합계)"),
324
+ threshold: z.number().int().describe("적용한 임계값"),
325
+ thresholdSource: z
326
+ .enum(["VARIANT", "STORE"])
327
+ .describe("임계값 출처 — 조합별 임계값 `VARIANT` · 상점 기본 임계값 `STORE`"),
328
+ });
329
+ export type LowStockItem = z.infer<typeof lowStockItemSchema>;
330
+
331
+ export const lowStockListQuerySchema = z.object({
332
+ cursor: z.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
333
+ limit: z.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)"),
334
+ });
335
+ export type LowStockListQuery = z.infer<typeof lowStockListQuerySchema>;
336
+
337
+ export const lowStockPageSchema = z.object({
338
+ scope: lowStockScopeSchema.describe("이 목록을 판정한 방식"),
339
+ contents: z.array(lowStockItemSchema),
340
+ nextCursor: z.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null"),
341
+ });
342
+ export type LowStockPage = z.infer<typeof lowStockPageSchema>;
@@ -25,6 +25,10 @@ export const SCOPE_DESCRIPTIONS: Record<StoreScopeResource, { r: string; rw: str
25
25
  r: "위치별 재고와 재고 변동 내역을 읽습니다",
26
26
  rw: "재고를 조정·실사하고 위치 사이에서 이동합니다",
27
27
  },
28
+ privacy: {
29
+ r: "구매자 개인정보(휴대폰 전체 번호)를 내보냅니다",
30
+ rw: "구매자 개인정보(휴대폰 전체 번호)를 내보냅니다",
31
+ },
28
32
  };
29
33
 
30
34
  /** `{resource}:{r|rw}` → 문장. 카탈로그에 없는 스코프는 null */
@@ -35,6 +35,8 @@ export const STORE_SCOPE_RESOURCES = {
35
35
  flow: ["r", "rw"],
36
36
  // 위치별 재고·재고 조정·이동·변동 내역(이슈 #132) — 기존 재고 표면(조합 재고 수정, 상품·옵션의 `stockQuantity`)은 product 스코프다
37
37
  inventory: ["r", "rw"],
38
+ // 구매자 개인정보 원문(이슈 #217) — 내보내기의 휴대폰 전체 번호. 없으면 가린 번호다. 쓰기 API가 없어 `r`만 존재한다
39
+ privacy: ["r"],
38
40
  } as const satisfies Record<string, readonly ScopeAccess[]>;
39
41
 
40
42
  export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
@@ -74,6 +76,7 @@ export const STORE_ROLE_SCOPES = {
74
76
  "storefront:rw",
75
77
  "flow:rw",
76
78
  "inventory:rw",
79
+ "privacy:r",
77
80
  ],
78
81
  ADMIN: [
79
82
  "product:rw",
@@ -92,6 +95,7 @@ export const STORE_ROLE_SCOPES = {
92
95
  "storefront:rw",
93
96
  "flow:rw",
94
97
  "inventory:rw",
98
+ "privacy:r",
95
99
  ],
96
100
  STAFF: [
97
101
  "product:rw",