@sayren/store-sdk 0.53.0 → 0.55.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.mjs CHANGED
@@ -4264,6 +4264,31 @@ const infoSectionLocalizationRequestSchema = z$1.strictObject({
4264
4264
  body: z$1.string().nullable().optional(),
4265
4265
  bodyJson: z$1.string().nullable().optional()
4266
4266
  });
4267
+ const MAX_NOTICE_TEMPLATE_NAME = 100;
4268
+ /**
4269
+ * 고시 템플릿 (이슈 #250) — 자주 쓰는 고시(품목군 + 칸 값)를 이름 붙여 둔다. **적용은 복사다** — 상품의 `notice`에 같은 값을 실어 저장할 뿐
4270
+ * 상품과 연결하지 않는다. 템플릿을 고치거나 지워도 적용한 상품의 고시는 바뀌지 않는다. 이름은 상점 안에서 대소문자·앞뒤 공백을 무시하고 유일하다.
4271
+ */
4272
+ const noticeTemplateSchema = z$1.object({
4273
+ templateId: z$1.string(),
4274
+ name: z$1.string(),
4275
+ schemaId: z$1.string().describe("품목군 코드"),
4276
+ version: z$1.number().int().describe("품목군 버전"),
4277
+ values: z$1.record(z$1.string(), z$1.string()).describe("칸 키 → 값. 비운 칸은 없다"),
4278
+ createdAt: z$1.string(),
4279
+ updatedAt: z$1.string()
4280
+ });
4281
+ /**
4282
+ * `POST /v1/notice-templates`·`PUT /v1/notice-templates/{templateId}` 본문 — 통째로 바꾼다. 칸 값 규칙은 상품 `notice`와 같다
4283
+ * (법정 문구 칸 400 `INVALID_NOTICE_FIELD`, 없는 품목군 400 `INVALID_INFO_CODE`, 길이 초과 400 `NOTICE_VALUE_TOO_LONG`).
4284
+ * 같은 이름이 있으면 409 `NOTICE_TEMPLATE_NAME_TAKEN`
4285
+ */
4286
+ const noticeTemplateRequestSchema = strictRequest(z$1.object({
4287
+ name: z$1.string().trim().min(1).max(100),
4288
+ schemaId: productNoticeRequestSchema.shape.schemaId,
4289
+ version: productNoticeRequestSchema.shape.version,
4290
+ values: productNoticeRequestSchema.shape.values
4291
+ }));
4267
4292
  //#endregion
4268
4293
  //#region src/schemas/stay.ts
4269
4294
  /**
@@ -7936,7 +7961,8 @@ function anyConditionHolds(rules, catalog, ctx) {
7936
7961
  *
7937
7962
  * 쿠폰은 세 트리를 갖는다.
7938
7963
  * - `eligibility`(사용 조건): 구매자·주문서·시각. 그룹 중첩 3단까지
7939
- * - `targetRules`(할인 대상): 줄 단위. `{ include, exclude }` 고정 형태 — 포함은 하나라도 맞으면 대상(비면 전 상품), 제외는 하나라도 맞으면 빠지고 포함보다 우선
7964
+ * - `targetTree`(할인 대상, 이슈 #263): 줄 단위. `{ include, exclude }` 각각 조건 그룹(3단) — 포함이 참이면 대상(비면 전 상품), 제외가 참이면 빠지고 포함보다 우선(비면 제외 없음).
7965
+ * 옛 칸 `targetRules`(평평한 「하나라도」 목록)는 `couponTargetTreeFromRules`로 같은 트리가 되고, 응답의 `targetRules`는 트리에서 만든 가장 가까운 값이다
7940
7966
  * - `audience`(발급 대상): 누가 받을 수 있는가. 구매자 사실 값만
7941
7967
  *
7942
7968
  * 기간·한도·혜택·`memberOnly`·중복 정책은 트리 밖 칸이다. 옛 칸(`conditions`·`target`)은 프리셋 변환(`couponRulesFromLegacy`)으로 같은 트리가 된다 —
@@ -8229,6 +8255,11 @@ const COUPON_TARGET_RULES_ALL = {
8229
8255
  include: [],
8230
8256
  exclude: []
8231
8257
  };
8258
+ /** 할인 대상 트리(이슈 #263) — 포함·제외 각각 조건 그룹(3단, 규칙 50개). 다른 자리와 같은 그룹 형식이다 */
8259
+ const couponTargetTreeSchema = z$1.strictObject({
8260
+ include: conditionGroupSchema.describe("포함 그룹 — 참인 줄이 대상. 비면 전 상품"),
8261
+ exclude: conditionGroupSchema.describe("제외 그룹 — 참인 줄은 대상에서 빠진다. 포함보다 우선한다. 비면 제외 없음")
8262
+ });
8232
8263
  const EMPTY_CONDITION_GROUP = {
8233
8264
  combinator: "and",
8234
8265
  rules: []
@@ -8261,6 +8292,63 @@ function canonicalizeCouponTargetRules(rules) {
8261
8292
  exclude: rules.exclude.map(canonicalizeConditionRule)
8262
8293
  };
8263
8294
  }
8295
+ /**
8296
+ * 규칙 1개 이하 그룹은 결합어와 무관하다 — `or`로 고정해 옛 쿠폰의 `{or,[r]}`와 화면이 보낸 `{and,[r]}`를 같은 값으로 본다.
8297
+ * 규칙 없는 하위 그룹은 뺀다 — 빈 그룹은 참으로 평가되므로 남기면 포함 「하나 이상」은 전 상품, 제외는 모든 상품을 뺀다(화면 `treeOf`와 같은 뜻)
8298
+ */
8299
+ function canonicalTargetGroup(group) {
8300
+ const rules = group.rules.flatMap((node) => {
8301
+ if (!isConditionGroup(node)) return [canonicalizeConditionRule(node)];
8302
+ const child = canonicalTargetGroup(node);
8303
+ return child.rules.length > 0 ? [child] : [];
8304
+ });
8305
+ return {
8306
+ combinator: rules.length <= 1 ? "or" : group.combinator,
8307
+ rules
8308
+ };
8309
+ }
8310
+ /** 할인 대상 트리의 정규형 — 저장·잠금 비교·승인 비교·스냅샷이 같은 함수다 */
8311
+ function canonicalizeCouponTargetTree(tree) {
8312
+ return {
8313
+ include: canonicalTargetGroup(tree.include),
8314
+ exclude: canonicalTargetGroup(tree.exclude)
8315
+ };
8316
+ }
8317
+ /** 옛 평평한 목록 → 트리. 「하나라도」가 그대로 `or` 그룹이다(같은 줄 판정) */
8318
+ function couponTargetTreeFromRules(rules) {
8319
+ return {
8320
+ include: {
8321
+ combinator: "or",
8322
+ rules: rules.include
8323
+ },
8324
+ exclude: {
8325
+ combinator: "or",
8326
+ rules: rules.exclude
8327
+ }
8328
+ };
8329
+ }
8330
+ /** 그룹이 평평한 「하나라도」 목록으로 같은 뜻인가 — 하위 그룹이 없고 `or`이거나 규칙이 1개 이하 */
8331
+ function flatRulesOf(group) {
8332
+ if (group.rules.some(isConditionGroup)) return null;
8333
+ if (group.combinator === "and" && group.rules.length > 1) return null;
8334
+ return group.rules;
8335
+ }
8336
+ /**
8337
+ * 트리 → 옛 평평한 목록. 같은 뜻으로 옮길 수 없으면(`모두`에 규칙 2개 이상, 하위 그룹) `rulesOnly: true`이고 목록은
8338
+ * 그룹 최상위 규칙을 평평하게 모은 가장 가까운 값이다
8339
+ */
8340
+ function couponTargetRulesFromTree(tree) {
8341
+ const include = flatRulesOf(tree.include);
8342
+ const exclude = flatRulesOf(tree.exclude);
8343
+ const top = (group) => group.rules.filter((node) => !isConditionGroup(node));
8344
+ return {
8345
+ targetRules: {
8346
+ include: include ?? top(tree.include),
8347
+ exclude: exclude ?? top(tree.exclude)
8348
+ },
8349
+ rulesOnly: include === null || exclude === null
8350
+ };
8351
+ }
8264
8352
  function canonicalizeCouponStacking(stacking) {
8265
8353
  return {
8266
8354
  combinesWith: {
@@ -8272,6 +8360,10 @@ function canonicalizeCouponStacking(stacking) {
8272
8360
  perOrderLimit: stacking.perOrderLimit
8273
8361
  };
8274
8362
  }
8363
+ /** 묶음의 할인 대상 트리 — 트리가 없으면 옛 목록에서 만든다(읽기 한 경로) */
8364
+ function couponTargetTreeOf(trees) {
8365
+ return trees.targetTree ?? couponTargetTreeFromRules(trees.targetRules);
8366
+ }
8275
8367
  const inRule = (field, ids) => ids.length ? [{
8276
8368
  field,
8277
8369
  operator: "in",
@@ -8316,6 +8408,7 @@ function couponRulesFromLegacy(conditions, target) {
8316
8408
  const isMinOrderRule = (node) => !isConditionGroup(node) && node.field === "cart.targetSubtotal" && node.operator === ">=" && typeof node.value === "number";
8317
8409
  const isFirstOrderRule = (node) => !isConditionGroup(node) && node.field === "customer.paidOrderCount" && node.operator === "=" && node.value === 0;
8318
8410
  const isInstantExcludeRule = (rule) => rule.field === "line.hasInstantDiscount" && rule.operator === "=" && rule.value === true;
8411
+ const instantExcluded = (exclude) => (exclude.combinator === "or" || exclude.rules.length <= 1) && exclude.rules.some((node) => !isConditionGroup(node) && isInstantExcludeRule(node));
8319
8412
  const isIdRule = (rule) => (rule.field === "line.productId" || rule.field === "line.categoryId") && rule.operator === "in";
8320
8413
  /**
8321
8414
  * 트리를 옛 칸으로 — 옛 응답 필드(`conditions`·`target`)를 채우고 롤링 중 옛 코드가 읽게 한다.
@@ -8326,14 +8419,16 @@ function legacyFromCouponRules(trees, memberOnly) {
8326
8419
  const minRule = nodes.find(isMinOrderRule);
8327
8420
  const firstRule = nodes.find(isFirstOrderRule);
8328
8421
  const ids = (rules, field) => [...new Set(rules.filter((r) => r.field === field && r.operator === "in" && Array.isArray(r.value)).flatMap((r) => r.value))].sort();
8329
- const { include, exclude } = trees.targetRules;
8330
- const rulesOnly = nodes.filter((n) => n === minRule || n === firstRule).length !== trees.eligibility.rules.length || nodes.filter(isMinOrderRule).length > 1 || include.some((r) => !isIdRule(r)) || exclude.some((r) => !isIdRule(r) && !isInstantExcludeRule(r));
8422
+ const flat = couponTargetRulesFromTree(couponTargetTreeOf(trees));
8423
+ const { include, exclude } = flat.targetRules;
8424
+ const mappedEligibility = nodes.filter((n) => n === minRule || n === firstRule).length;
8425
+ const rulesOnly = flat.rulesOnly || mappedEligibility !== trees.eligibility.rules.length || nodes.filter(isMinOrderRule).length > 1 || include.some((r) => !isIdRule(r)) || exclude.some((r) => !isIdRule(r) && !isInstantExcludeRule(r));
8331
8426
  return {
8332
8427
  conditions: {
8333
8428
  minOrderAmount: minRule ? minRule.value : 0,
8334
8429
  firstOrderOnly: Boolean(firstRule),
8335
8430
  memberOnly,
8336
- stackWithInstantDiscount: !exclude.some(isInstantExcludeRule)
8431
+ stackWithInstantDiscount: !instantExcluded(couponTargetTreeOf(trees).exclude)
8337
8432
  },
8338
8433
  target: {
8339
8434
  includeProductIds: ids(include, "line.productId"),
@@ -8344,11 +8439,17 @@ function legacyFromCouponRules(trees, memberOnly) {
8344
8439
  rulesOnly
8345
8440
  };
8346
8441
  }
8347
- /** 줄이 대상인가 — 제외가 포함보다 우선, 포함이 비면 전 상품 */
8442
+ /**
8443
+ * 줄이 대상인가(트리) — 제외가 포함보다 우선, 포함이 비면 전 상품, 제외가 비면 제외 없음(빈 그룹 참 규칙을 쓰지 않는다).
8444
+ * 계산(`quotePricing`·최대 조합·대상 상품 판정)은 모두 이 함수를 지난다
8445
+ */
8446
+ function couponTargetTreeMatches(tree, line) {
8447
+ if (tree.exclude.rules.length > 0 && evaluateConditionNode(tree.exclude, COUPON_LINE_CONDITIONS, line)) return false;
8448
+ return evaluateConditionNode(tree.include, COUPON_LINE_CONDITIONS, line);
8449
+ }
8450
+ /** 줄이 대상인가(옛 평평한 목록) — 트리로 바꿔 같은 판정 함수를 지난다 */
8348
8451
  function couponLineMatches(rules, line) {
8349
- if (anyConditionHolds(rules.exclude, COUPON_LINE_CONDITIONS, line)) return false;
8350
- if (rules.include.length === 0) return true;
8351
- return anyConditionHolds(rules.include, COUPON_LINE_CONDITIONS, line);
8452
+ return couponTargetTreeMatches(couponTargetTreeFromRules(rules), line);
8352
8453
  }
8353
8454
  const usesCart = (node) => [...isConditionGroup(node) ? conditionFields(node) : [node.field]].some((f) => f.startsWith("cart."));
8354
8455
  /**
@@ -8450,7 +8551,8 @@ function couponRuleIssues(input) {
8450
8551
  });
8451
8552
  push(["audience"], conditionIssues(input.audience, COUPON_ORDER_CONDITIONS, { allowed: allowedIn("audience") }));
8452
8553
  }
8453
- if (input.targetRules) for (const key of ["include", "exclude"]) push(["targetRules", key], conditionIssues({
8554
+ if (input.targetTree) for (const key of ["include", "exclude"]) push(["targetTree", key], conditionIssues(input.targetTree[key], COUPON_LINE_CONDITIONS, { allowed: allowedIn("target") }));
8555
+ else if (input.targetRules) for (const key of ["include", "exclude"]) push(["targetRules", key], conditionIssues({
8454
8556
  combinator: "or",
8455
8557
  rules: input.targetRules[key]
8456
8558
  }, COUPON_LINE_CONDITIONS, { allowed: allowedIn("target") }));
@@ -8499,10 +8601,17 @@ function couponRuleIssues(input) {
8499
8601
  }
8500
8602
  /** 정규형 트리 묶음 */
8501
8603
  function canonicalizeCouponTrees(trees) {
8502
- return {
8503
- eligibility: canonicalizeConditionGroup(trees.eligibility),
8604
+ const eligibility = canonicalizeConditionGroup(trees.eligibility);
8605
+ if (!trees.targetTree) return {
8606
+ eligibility,
8504
8607
  targetRules: canonicalizeCouponTargetRules(trees.targetRules)
8505
8608
  };
8609
+ const targetTree = canonicalizeCouponTargetTree(trees.targetTree);
8610
+ return {
8611
+ eligibility,
8612
+ targetRules: canonicalizeCouponTargetRules(couponTargetRulesFromTree(targetTree).targetRules),
8613
+ targetTree
8614
+ };
8506
8615
  }
8507
8616
  const WEEKDAY_LABELS = {
8508
8617
  MON: "월",
@@ -8590,6 +8699,17 @@ function describeCouponTargetRules(rules, formatMoney) {
8590
8699
  return `${include} (${rules.exclude.map((r) => describeCouponRule(r, formatMoney)).join(", ")} 제외)`;
8591
8700
  }
8592
8701
  /**
8702
+ * 할인 대상 문구(트리) — 「상품 1개 그리고 판매가 30,000원 이상 (즉시할인 상품 제외)」. 포함이 비면 「전 상품」.
8703
+ * 「하나라도」만 쓴 옛 쿠폰은 `describeCouponTargetRules`와 같은 문구다
8704
+ */
8705
+ function describeCouponTargetTree(tree, formatMoney) {
8706
+ const flat = couponTargetRulesFromTree(tree);
8707
+ if (!flat.rulesOnly) return describeCouponTargetRules(flat.targetRules, formatMoney);
8708
+ const include = tree.include.rules.length ? describeCouponGroup(tree.include, formatMoney) : "전 상품";
8709
+ if (tree.exclude.rules.length === 0) return include;
8710
+ return `${include} (${describeCouponGroup(tree.exclude, formatMoney)} 제외)`;
8711
+ }
8712
+ /**
8593
8713
  * 스토어프론트 `requirements` — 최상위 `and`면 노드마다 한 줄(그룹은 문구 한 줄), 최상위 `or`면 트리 전체를 한 줄로.
8594
8714
  * `minOrderAmount`(옛 필드)와 같은 원천에서 나온다.
8595
8715
  */
@@ -8826,15 +8946,18 @@ const couponRuleSchema = z$1.object({
8826
8946
  endsAt: z$1.iso.datetime({ offset: true }).nullable().describe("사용 종료 시각(ISO 8601, 시간대 포함, 이 시각부터 못 쓴다). null이면 제한이 없다"),
8827
8947
  eligibility: conditionGroupSchema.optional().describe("사용 조건 트리(이슈 #222). 없으면 `conditions`에서 만든다. 있으면 이것이 원천이고 `conditions`는 가장 가까운 옛 값이다"),
8828
8948
  targetRules: couponTargetRulesSchema.optional().describe("할인 대상 규칙(이슈 #222). 없으면 `target`·`conditions.stackWithInstantDiscount`에서 만든다"),
8949
+ targetTree: couponTargetTreeSchema.optional().describe("할인 대상 트리(이슈 #263). 없으면 `targetRules`(없으면 옛 칸)에서 만든다. 있으면 이것이 원천이고 `targetRules`는 가장 가까운 옛 값이다"),
8829
8950
  stacking: couponStackingSchema.optional().describe("중복 사용 정책(이슈 #222). 없으면 종류별 한 장·서로 결합·적립금과 함께"),
8830
8951
  reward: couponRewardSchema.optional()
8831
8952
  });
8832
- /** 규칙의 트리 — 트리 칸이 없으면 옛 칸에서 만든다(계산은 늘 이 한 경로) */
8953
+ /** 규칙의 트리 — 트리 칸이 없으면 옛 칸에서 만든다(계산은 늘 이 한 경로). 할인 대상은 늘 트리(`targetTree`)까지 채운다 */
8833
8954
  function couponTreesOf(rule) {
8834
8955
  const legacy = couponRulesFromLegacy(rule.conditions, rule.target);
8956
+ const targetRules = rule.targetTree ? couponTargetRulesFromTree(rule.targetTree).targetRules : rule.targetRules ?? legacy.targetRules;
8835
8957
  return {
8836
8958
  eligibility: rule.eligibility ?? legacy.eligibility,
8837
- targetRules: rule.targetRules ?? legacy.targetRules
8959
+ targetRules,
8960
+ targetTree: rule.targetTree ?? couponTargetTreeFromRules(targetRules)
8838
8961
  };
8839
8962
  }
8840
8963
  function couponStackingOf(rule) {
@@ -8909,11 +9032,11 @@ function allocateByWeight(total, weights) {
8909
9032
  }
8910
9033
  /** 카테고리 경로(`/a/b/c/`)가 그 카테고리 또는 하위를 가리키는가 */
8911
9034
  /**
8912
- * 줄이 쿠폰 대상인가 — 제외가 포함보다 우선하고, 포함이 비면 전 상품이다. 트리(`targetRules`)가 없으면 옛 칸에서 만든 트리로 본다.
9035
+ * 줄이 쿠폰 대상인가 — 제외가 포함보다 우선하고, 포함이 비면 전 상품이다. 트리(`targetTree`, 없으면 `targetRules`)가 없으면 옛 칸에서 만든 트리로 본다.
8913
9036
  * `quantity`를 생략하면 1로 본다(단가 조건은 금액 ÷ 수량).
8914
9037
  */
8915
9038
  function isCouponTargetLine(rule, line) {
8916
- return couponLineMatches(couponTreesOf(rule).targetRules, couponLineContextOf({
9039
+ return couponTargetTreeMatches(couponTreesOf(rule).targetTree, couponLineContextOf({
8917
9040
  ...line,
8918
9041
  quantity: line.quantity ?? 1
8919
9042
  }));
@@ -8998,7 +9121,7 @@ function quotePricing(input) {
8998
9121
  const early = evaluateCouponEligibility(trees.eligibility, { facts }, "beforeLines");
8999
9122
  if (early) return early;
9000
9123
  const pinned = coupon.eligibleLineIds ? new Set(coupon.eligibleLineIds) : null;
9001
- const eligible = lines.filter((entry) => pinned ? pinned.has(entry.line.lineId) : couponLineMatches(trees.targetRules, couponLineContextOf(entry.line)));
9124
+ const eligible = lines.filter((entry) => pinned ? pinned.has(entry.line.lineId) : couponTargetTreeMatches(trees.targetTree, couponLineContextOf(entry.line)));
9002
9125
  result.eligibleLineIds = eligible.map((entry) => entry.line.lineId);
9003
9126
  if (eligible.length === 0) return "NO_ELIGIBLE_ITEMS";
9004
9127
  const cart = {
@@ -9548,7 +9671,8 @@ const descriptions = {
9548
9671
  perMemberIssueLimit: "1인 발급 수 한도(셀러 지급·다운로드). 생략하면 1인 1장. 회원가입 쿠폰은 1장 고정이라 1만 받는다",
9549
9672
  perMemberUseLimit: "1인 사용 수 한도(코드 입력형). 생략하면 무제한. 비회원에게 여는 쿠폰은 둘 수 없다",
9550
9673
  eligibility: "사용 조건 트리(이슈 #222) — `{ combinator: and|or, rules: [{ field, operator, value } | 그룹] }`, 그룹 3단·규칙 50개까지. 주면 `conditions`의 최소 주문 금액·첫 구매를 쓰지 않는다(`conditions`에는 `memberOnly`만 둔다). 필드 목록은 `COUPON_CONDITION_FIELDS`",
9551
- targetRules: "할인 대상 규칙(이슈 #222) — `include`(하나라도 맞으면 대상, 비면 전 상품)·`exclude`(하나라도 맞으면 제외, 포함보다 우선). 주면 `target`과 `conditions.stackWithInstantDiscount`를 쓰지 않는다(즉시할인 제외는 `line.hasInstantDiscount` 규칙)",
9674
+ targetRules: "할인 대상 규칙(이슈 #222) — `include`(하나라도 맞으면 대상, 비면 전 상품)·`exclude`(하나라도 맞으면 제외, 포함보다 우선). 주면 `target`과 `conditions.stackWithInstantDiscount`를 쓰지 않는다(즉시할인 제외는 `line.hasInstantDiscount` 규칙). 포함·제외를 「모두」나 묶음으로 걸려면 `targetTree`를 쓴다",
9675
+ targetTree: "할인 대상 트리(이슈 #263) — `include`·`exclude` 각각 사용 조건과 같은 그룹 `{ combinator: and|or, rules }`(3단·규칙 50개, 줄 필드만). 포함 그룹이 참인 줄이 대상(비면 전 상품), 제외 그룹이 참인 줄은 빠진다(포함보다 우선, 비면 제외 없음). 주면 `targetRules`·`target`·`conditions.stackWithInstantDiscount`를 함께 주지 않는다",
9552
9676
  audience: "발급 대상 트리(이슈 #222) — 셀러 지급·받기·회원가입 지급에서 누가 받을 수 있는가. 구매자 조건만. 코드 입력형에는 두지 않는다",
9553
9677
  stacking: "중복 사용 정책(이슈 #222). 생략하면 종류별 한 장·서로 결합·적립금과 함께. 결합은 양쪽 쿠폰이 모두 허용해야 성립한다",
9554
9678
  reward: "확장 혜택(구간 할인 `TIERED`·N+1 `BUY_X_GET_Y`·적립금 지급 `POINT`). 주면 `benefit`을 생략하고, 응답의 `benefit`은 가장 가까운 값이다. N+1은 상품 쿠폰만, 적립금 지급은 회원 전용 주문 쿠폰만이다. 수정에서 null이면 확장 혜택을 지운다(`benefit`이 필요하다)",
@@ -9560,6 +9684,7 @@ const descriptions = {
9560
9684
  const ruleFields = {
9561
9685
  eligibility: couponConditionTreeSchema.optional().describe(descriptions.eligibility),
9562
9686
  targetRules: couponTargetRulesSchema.optional().describe(descriptions.targetRules),
9687
+ targetTree: couponTargetTreeSchema.optional().describe(descriptions.targetTree),
9563
9688
  audience: couponConditionTreeSchema.optional().describe(descriptions.audience),
9564
9689
  stacking: couponStackingSchema.optional().describe(descriptions.stacking),
9565
9690
  reward: couponRewardSchema.nullable().optional().describe(descriptions.reward)
@@ -9582,6 +9707,10 @@ function couponRequestRuleIssues(body) {
9582
9707
  path: ["target"],
9583
9708
  message: "할인 대상 규칙을 주면 대상 상품·즉시할인 제외는 규칙으로 둡니다"
9584
9709
  });
9710
+ if (body.targetTree && (body.targetRules || body.target || body.conditions?.stackWithInstantDiscount !== void 0)) issues.push({
9711
+ path: ["targetTree"],
9712
+ message: "할인 대상 트리를 주면 할인 대상 규칙·대상 상품·즉시할인 제외는 트리로 둡니다"
9713
+ });
9585
9714
  const legacy = couponRulesFromLegacy(conditions, {
9586
9715
  includeProductIds: body.target?.includeProductIds ?? [],
9587
9716
  includeCategoryIds: body.target?.includeCategoryIds ?? [],
@@ -9594,6 +9723,7 @@ function couponRequestRuleIssues(body) {
9594
9723
  perMemberUseLimit: body.perMemberUseLimit ?? null,
9595
9724
  eligibility: body.eligibility ?? legacy.eligibility,
9596
9725
  targetRules: body.targetRules ?? legacy.targetRules,
9726
+ ...body.targetTree ? { targetTree: body.targetTree } : {},
9597
9727
  ...body.audience ? { audience: body.audience } : {}
9598
9728
  }));
9599
9729
  if (!body.reward && body.benefit === void 0) issues.push({
@@ -9748,7 +9878,8 @@ const couponSchema = z$1.object({
9748
9878
  usedCount: z$1.number().int().describe("사용 수 — 전량 취소로 복원되면 줄어든다"),
9749
9879
  currency: z$1.string().optional().default("KRW").describe("쿠폰 통화(이슈 #130). 금액 필드는 이 통화의 최소 단위다. 옛 서버 응답은 KRW로 읽는다"),
9750
9880
  eligibility: couponConditionTreeSchema.optional().describe("사용 조건 트리(이슈 #222). 옛 쿠폰은 `conditions`에서 만든 트리다. 서버는 항상 싣는다"),
9751
- targetRules: couponTargetRulesSchema.optional().describe("할인 대상 규칙(이슈 #222). 옛 쿠폰은 `target`에서 만든 규칙이다. 서버는 항상 싣는다"),
9881
+ targetRules: couponTargetRulesSchema.optional().describe("할인 대상 규칙(이슈 #222). 옛 쿠폰은 `target`에서 만든 규칙이다. `targetTree`가 「하나라도」 목록으로 나타나지 않으면 가장 가까운 값이고 `rulesOnly`가 true다. 서버는 항상 싣는다"),
9882
+ targetTree: couponTargetTreeSchema.optional().describe("할인 대상 트리(이슈 #263). 할인 대상의 원천이다. 옛 쿠폰은 `targetRules`에서 만든 트리(「하나 이상」 그룹)다. 서버는 항상 싣는다"),
9752
9883
  audience: couponConditionTreeSchema.optional().describe("발급 대상 트리(이슈 #222). 없으면 빈 트리(모두 대상). 서버는 항상 싣는다"),
9753
9884
  stacking: couponStackingSchema.optional().default(COUPON_STACKING_DEFAULTS).describe("중복 사용 정책(이슈 #222). 서버는 항상 싣는다"),
9754
9885
  reward: couponRewardSchema.nullable().optional().default(null).describe("확장 혜택. 없으면 null이고 `benefit`이 혜택이다. 서버는 항상 싣는다"),
@@ -10121,6 +10252,11 @@ const customerWithdrawalBlockedDetailsSchema = z$1.object({
10121
10252
  openClaims: z$1.number().int(),
10122
10253
  pendingPayments: z$1.number().int()
10123
10254
  });
10255
+ /**
10256
+ * `PATCH /v1/customers/{id}` 본문(이슈 #267) — 셀러가 구매자 생일을 바꾼다. 구매자는 생일을 한 번만 입력하므로 바꾸는 쪽은 셀러다.
10257
+ * 준 클레임만 바뀌고 `null`은 지운다
10258
+ */
10259
+ const updateCustomerRequestSchema = strictRequest(z$1.object({ userinfo: customerUserinfoInputSchema.pick({ birthdate: true }).describe("바꿀 OIDC 클레임 — 지금은 `birthdate`만 받는다") }));
10124
10260
  //#endregion
10125
10261
  //#region src/schemas/inventory.ts
10126
10262
  /**
@@ -11955,6 +12091,17 @@ function createStoreClient(options) {
11955
12091
  }
11956
12092
  },
11957
12093
  /**
12094
+ * 고시 템플릿(이슈 #250) — 자주 쓰는 고시(품목군 + 칸 값). 적용은 복사다 — 상품 `notice`에 같은 값을 실어 저장하고, 템플릿을 고쳐도
12095
+ * 적용한 상품은 바뀌지 않는다. 권한은 상품과 같다(`product:r`·`product:rw`)
12096
+ */
12097
+ noticeTemplates: {
12098
+ list: () => storeHttp.request("GET", "/notice-templates", z$1.array(noticeTemplateSchema)),
12099
+ get: (templateId) => storeHttp.request("GET", path`/notice-templates/${templateId}`, noticeTemplateSchema),
12100
+ create: (body) => storeHttp.request("POST", "/notice-templates", noticeTemplateSchema, { body: noticeTemplateRequestSchema.parse(body) }),
12101
+ update: (templateId, body) => storeHttp.request("PUT", path`/notice-templates/${templateId}`, noticeTemplateSchema, { body: noticeTemplateRequestSchema.parse(body) }),
12102
+ remove: (templateId) => storeHttp.requestVoid("DELETE", path`/notice-templates/${templateId}`)
12103
+ },
12104
+ /**
11958
12105
  * 컬렉션 (이슈 #83) — 상품을 어디에 보여 줄지 정하는 묶음(다대다). 권한은 카테고리와 같다(`category:r`·`category:rw`).
11959
12106
  * 쓰기마다 `revision`이 오른다. 수정 본문에 읽은 `revision`을 주면 그 사이 다른 수정이 있을 때 409 `COLLECTION_CHANGED`다.
11960
12107
  */
@@ -12262,6 +12409,8 @@ listHistory: (params) => storeHttp.request("GET", "/points/history", pageSchema(
12262
12409
  }),
12263
12410
  list: (params) => storeHttp.request("GET", "/customers", pageSchema(customerSummarySchema), { query: params }),
12264
12411
  get: (customerId) => storeHttp.request("GET", path`/customers/${customerId}`, customerDetailSchema),
12412
+ /** 구매자 정보 수정 (이슈 #267) — 생일(`userinfo.birthdate`). `customer:rw` */
12413
+ update: (customerId, body) => storeHttp.request("PATCH", path`/customers/${customerId}`, customerDetailSchema, { body: updateCustomerRequestSchema.parse(body) }),
12265
12414
  orders: (customerId, params) => storeHttp.request("GET", path`/customers/${customerId}/orders`, pageSchema(customerOrderSchema), { query: params }),
12266
12415
  /** 동의 이력 — 최근 순. 가입·재동의·마케팅 변경이 한 줄씩 남는다 */
12267
12416
  consents: (customerId, params) => storeHttp.request("GET", path`/customers/${customerId}/consents`, pageSchema(customerConsentSchema), { query: params }),
@@ -13363,4 +13512,4 @@ function createStoreSession(options) {
13363
13512
  };
13364
13513
  }
13365
13514
  //#endregion
13366
- export { 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_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_SHOWCASE_SLUG_PREFIX, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_BLOB_BATCH_MAX, 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, TEMPLATE_STORE_LOCKED_BUSINESS_FIELDS, 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, 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, canonicalizeCouponTrees, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeStorefrontTemplateRequestSchema, 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, couponTargetRulesSchema, couponTargetSchema, couponTierOf, couponTimeFactsAt, couponTodayAt, couponTreesOf, couponVoucherCodesSchema, couponVoucherInputSchema, couponsCombinable, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createOrderRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, 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, 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, isShowcaseStorefrontSlug, 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, 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, quoteDelivery, quotePricing, rankBestSelling, recomputeOrderCoupons, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, 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, 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, storeTemplateSchema, 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, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourceBlobsResultSchema, storefrontSourceModeSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSuspensionSchema, storefrontTemplateSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, updateStoreTemplateRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourceBlobsRequestSchema, 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 };
13515
+ export { 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_SHOWCASE_SLUG_PREFIX, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_BLOB_BATCH_MAX, 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, TEMPLATE_STORE_LOCKED_BUSINESS_FIELDS, 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, 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, changeStorefrontTemplateRequestSchema, 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, 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, isShowcaseStorefrontSlug, 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, quoteDelivery, quotePricing, rankBestSelling, recomputeOrderCoupons, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, 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, 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, storeTemplateSchema, 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, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourceBlobsResultSchema, storefrontSourceModeSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSuspensionSchema, storefrontTemplateSchema, 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, updateStoreTemplateRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourceBlobsRequestSchema, 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.53.0",
3
+ "version": "0.55.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
package/src/client.ts CHANGED
@@ -190,6 +190,8 @@ import {
190
190
  type customerListQuerySchema,
191
191
  customerOrderSchema,
192
192
  customerSummarySchema,
193
+ type UpdateCustomerRequest,
194
+ updateCustomerRequestSchema,
193
195
  type WithdrawCustomerRequest,
194
196
  withdrawCustomerRequestSchema,
195
197
  } from "./schemas/customer";
@@ -361,6 +363,9 @@ import {
361
363
  infoSectionLocalizationSchema,
362
364
  infoSectionRequestSchema,
363
365
  infoSectionSchema,
366
+ type NoticeTemplateRequestInput,
367
+ noticeTemplateRequestSchema,
368
+ noticeTemplateSchema,
364
369
  platformCodeSchema,
365
370
  } from "./schemas/product-info";
366
371
  import {
@@ -861,6 +866,26 @@ export function createStoreClient(options: StoreClientOptions) {
861
866
  },
862
867
  },
863
868
 
869
+ /**
870
+ * 고시 템플릿(이슈 #250) — 자주 쓰는 고시(품목군 + 칸 값). 적용은 복사다 — 상품 `notice`에 같은 값을 실어 저장하고, 템플릿을 고쳐도
871
+ * 적용한 상품은 바뀌지 않는다. 권한은 상품과 같다(`product:r`·`product:rw`)
872
+ */
873
+ noticeTemplates: {
874
+ list: () => storeHttp.request("GET", "/notice-templates", z.array(noticeTemplateSchema)),
875
+ get: (templateId: string) =>
876
+ storeHttp.request("GET", path`/notice-templates/${templateId}`, noticeTemplateSchema),
877
+ create: (body: NoticeTemplateRequestInput) =>
878
+ storeHttp.request("POST", "/notice-templates", noticeTemplateSchema, {
879
+ body: noticeTemplateRequestSchema.parse(body),
880
+ }),
881
+ update: (templateId: string, body: NoticeTemplateRequestInput) =>
882
+ storeHttp.request("PUT", path`/notice-templates/${templateId}`, noticeTemplateSchema, {
883
+ body: noticeTemplateRequestSchema.parse(body),
884
+ }),
885
+ remove: (templateId: string) =>
886
+ storeHttp.requestVoid("DELETE", path`/notice-templates/${templateId}`),
887
+ },
888
+
864
889
  /**
865
890
  * 컬렉션 (이슈 #83) — 상품을 어디에 보여 줄지 정하는 묶음(다대다). 권한은 카테고리와 같다(`category:r`·`category:rw`).
866
891
  * 쓰기마다 `revision`이 오른다. 수정 본문에 읽은 `revision`을 주면 그 사이 다른 수정이 있을 때 409 `COLLECTION_CHANGED`다.
@@ -1496,6 +1521,11 @@ export function createStoreClient(options: StoreClientOptions) {
1496
1521
  }),
1497
1522
  get: (customerId: string) =>
1498
1523
  storeHttp.request("GET", path`/customers/${customerId}`, customerDetailSchema),
1524
+ /** 구매자 정보 수정 (이슈 #267) — 생일(`userinfo.birthdate`). `customer:rw` */
1525
+ update: (customerId: string, body: UpdateCustomerRequest) =>
1526
+ storeHttp.request("PATCH", path`/customers/${customerId}`, customerDetailSchema, {
1527
+ body: updateCustomerRequestSchema.parse(body),
1528
+ }),
1499
1529
  orders: (customerId: string, params?: PageParams) =>
1500
1530
  storeHttp.request(
1501
1531
  "GET",