@sayren/store-sdk 0.49.0 → 0.51.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
@@ -7650,6 +7650,30 @@ const claimFlowEditSessionRequestSchema = strictRequest(z$1.object({ takeover: z
7650
7650
  function isConditionGroup(node) {
7651
7651
  return typeof node === "object" && node !== null && "combinator" in node;
7652
7652
  }
7653
+ const BIRTHDATE_TEXT = /^(\d{4})-(\d{2})-(\d{2})$/;
7654
+ /**
7655
+ * 생일(`YYYY-MM-DD`, 연도를 모르면 `0000-MM-DD`)과 판정 날짜(쓰는 쪽 달력의 연·월·일)로 사실 값을 만든다. 읽지 못하면 undefined
7656
+ */
7657
+ function birthdateFactOf(birthdate, today) {
7658
+ const match = birthdate ? BIRTHDATE_TEXT.exec(birthdate) : null;
7659
+ if (!match) return void 0;
7660
+ const [year, month, day] = [
7661
+ Number(match[1]),
7662
+ Number(match[2]),
7663
+ Number(match[3])
7664
+ ];
7665
+ if (month < 1 || month > 12 || day < 1 || day > 31) return void 0;
7666
+ const fact = {
7667
+ month,
7668
+ isCurrentMonth: month === today.month
7669
+ };
7670
+ if (year > 0) {
7671
+ const beforeBirthday = today.month < month || today.month === month && today.day < day;
7672
+ const age = today.year - year - (beforeBirthday ? 1 : 0);
7673
+ if (age >= 0) fact.age = age;
7674
+ }
7675
+ return fact;
7676
+ }
7653
7677
  const CONDITION_OPERATORS_BY_TYPE = {
7654
7678
  integer: [
7655
7679
  "=",
@@ -7660,8 +7684,17 @@ const CONDITION_OPERATORS_BY_TYPE = {
7660
7684
  boolean: ["="],
7661
7685
  idSet: ["in"],
7662
7686
  enumSet: ["in"],
7663
- timeRange: ["between"]
7687
+ timeRange: ["between"],
7688
+ birthdate: [
7689
+ "ageBetween",
7690
+ "age>=",
7691
+ "age<=",
7692
+ "birthMonthIn",
7693
+ "birthMonthIsCurrent"
7694
+ ]
7664
7695
  };
7696
+ /** 나이 값 범위 */
7697
+ const AGE_MAX = 150;
7665
7698
  function conditionCatalog(fields) {
7666
7699
  return new Map(fields.map((field) => [field.name, field]));
7667
7700
  }
@@ -7712,6 +7745,19 @@ function valueValid(def, operator, value, limits) {
7712
7745
  case "idSet":
7713
7746
  case "enumSet": return Array.isArray(value) && value.length > 0 && value.length <= limits.maxSetSize && value.every((v) => typeof v === "string" && v.length > 0 && v.length <= 200) && (def.type === "idSet" || value.every((v) => def.options?.includes(v)));
7714
7747
  case "timeRange": return Array.isArray(value) && value.length === 2 && value.every((v) => typeof v === "string" && TIME_PATTERN.test(v)) && value[0] !== value[1];
7748
+ case "birthdate": {
7749
+ const age = {
7750
+ min: 0,
7751
+ max: AGE_MAX
7752
+ };
7753
+ if (operator === "ageBetween") return Array.isArray(value) && value.length === 2 && isInteger(value[0], age) && isInteger(value[1], age) && value[0] <= value[1];
7754
+ if (operator === "age>=" || operator === "age<=") return isInteger(value, age);
7755
+ if (operator === "birthMonthIn") return Array.isArray(value) && value.length > 0 && value.length <= 12 && value.every((v) => isInteger(v, {
7756
+ min: 1,
7757
+ max: 12
7758
+ }));
7759
+ return operator === "birthMonthIsCurrent" && value === true;
7760
+ }
7715
7761
  }
7716
7762
  }
7717
7763
  /**
@@ -7788,7 +7834,7 @@ function canonicalizeConditionGroup(group) {
7788
7834
  };
7789
7835
  }
7790
7836
  function canonicalizeConditionRule(rule) {
7791
- const value = rule.operator === "in" && Array.isArray(rule.value) ? [...new Set(rule.value)].sort() : rule.value;
7837
+ const value = rule.operator === "in" && Array.isArray(rule.value) ? [...new Set(rule.value)].sort() : rule.operator === "birthMonthIn" && Array.isArray(rule.value) ? [...new Set(rule.value)].sort((a, b) => a - b) : rule.value;
7792
7838
  return {
7793
7839
  field: rule.field,
7794
7840
  operator: rule.operator,
@@ -7842,6 +7888,20 @@ function ruleHolds(rule, catalog, ctx) {
7842
7888
  if (at === null || from === null || to === null) return false;
7843
7889
  return from < to ? at >= from && at < to : at >= from || at < to;
7844
7890
  }
7891
+ case "birthdate": {
7892
+ if (typeof fact !== "object") return false;
7893
+ const birth = fact;
7894
+ const age = birth.age;
7895
+ if (operator === "ageBetween" && Array.isArray(value)) {
7896
+ const [from, to] = value;
7897
+ return typeof age === "number" && typeof from === "number" && typeof to === "number" && age >= from && age <= to;
7898
+ }
7899
+ if (operator === "age>=") return typeof age === "number" && typeof value === "number" && age >= value;
7900
+ if (operator === "age<=") return typeof age === "number" && typeof value === "number" && age <= value;
7901
+ if (operator === "birthMonthIn") return Array.isArray(value) && value.includes(birth.month);
7902
+ if (operator === "birthMonthIsCurrent") return value === true && birth.isCurrentMonth === true;
7903
+ return false;
7904
+ }
7845
7905
  }
7846
7906
  }
7847
7907
  /** 노드 하나를 평가한다. 빈 그룹은 참(조건 없음)이다 */
@@ -7892,6 +7952,31 @@ const COUPON_WEEKDAYS = [
7892
7952
  ];
7893
7953
  /** 쿠폰 조건의 시각 기준 — 상점 시간대 칸이 없어 flow-spec 달력과 같은 Asia/Seoul로 고정한다 */
7894
7954
  const COUPON_TIME_ZONE = "Asia/Seoul";
7955
+ /** BCP 47 정규형(`ko-kr` → `ko-KR`) — 사실 값과 규칙 값이 같은 표기여야 목록 비교가 맞는다. 읽지 못하면 undefined */
7956
+ function canonicalLocale(tag) {
7957
+ if (!tag) return void 0;
7958
+ try {
7959
+ return Intl.getCanonicalLocales(tag)[0];
7960
+ } catch {
7961
+ return;
7962
+ }
7963
+ }
7964
+ /** 클레임 원본 → 사실 값. `now`는 판정 시각(생일 달·만 나이는 한국 날짜) */
7965
+ function couponClaimFactsOf(claims, now) {
7966
+ const facts = {};
7967
+ if (claims.gender) facts.gender = claims.gender;
7968
+ const birth = birthdateFactOf(claims.birthdate, couponTodayAt(now));
7969
+ if (birth) facts.birthdate = birth;
7970
+ if (typeof claims.email_verified === "boolean") facts.email_verified = claims.email_verified;
7971
+ if (typeof claims.phone_number_verified === "boolean") facts.phone_number_verified = claims.phone_number_verified;
7972
+ const locale = canonicalLocale(claims.locale);
7973
+ if (locale) {
7974
+ const primary = locale.split("-")[0] ?? locale;
7975
+ facts.locale = [.../* @__PURE__ */ new Set([locale, primary])];
7976
+ }
7977
+ if (claims.addressCountry) facts.addressCountry = claims.addressCountry.toUpperCase();
7978
+ return facts;
7979
+ }
7895
7980
  const couponFactsSchema = z$1.object({
7896
7981
  customer: z$1.object({
7897
7982
  daysSinceJoined: z$1.number().int().optional(),
@@ -7920,6 +8005,21 @@ const WEEKDAY_OF = {
7920
8005
  Sat: "SAT",
7921
8006
  Sun: "SUN"
7922
8007
  };
8008
+ const SEOUL_DATE = new Intl.DateTimeFormat("en-CA", {
8009
+ timeZone: COUPON_TIME_ZONE,
8010
+ year: "numeric",
8011
+ month: "2-digit",
8012
+ day: "2-digit"
8013
+ });
8014
+ /** 판정 시각의 한국 날짜 */
8015
+ function couponTodayAt(now) {
8016
+ const parts = Object.fromEntries(SEOUL_DATE.formatToParts(now).map((p) => [p.type, p.value]));
8017
+ return {
8018
+ year: Number(parts.year),
8019
+ month: Number(parts.month),
8020
+ day: Number(parts.day)
8021
+ };
8022
+ }
7923
8023
  /** 판정 시각의 요일·시각(Asia/Seoul) */
7924
8024
  function couponTimeFactsAt(now) {
7925
8025
  const parts = Object.fromEntries(SEOUL.formatToParts(now).map((p) => [p.type, p.value]));
@@ -7981,6 +8081,43 @@ const ORDER_FIELDS = [
7981
8081
  max: DAY_MAX,
7982
8082
  resolve: (ctx) => ctx.facts.customer?.daysSinceLastOrder
7983
8083
  },
8084
+ {
8085
+ name: "claims.gender",
8086
+ type: "enumSet",
8087
+ slots: ["audience", "eligibility"],
8088
+ options: ["female", "male"],
8089
+ resolve: (ctx) => ctx.facts.customer?.claims?.gender
8090
+ },
8091
+ {
8092
+ name: "claims.birthdate",
8093
+ type: "birthdate",
8094
+ slots: ["audience", "eligibility"],
8095
+ resolve: (ctx) => ctx.facts.customer?.claims?.birthdate
8096
+ },
8097
+ {
8098
+ name: "claims.email_verified",
8099
+ type: "boolean",
8100
+ slots: ["audience", "eligibility"],
8101
+ resolve: (ctx) => ctx.facts.customer?.claims?.email_verified
8102
+ },
8103
+ {
8104
+ name: "claims.phone_number_verified",
8105
+ type: "boolean",
8106
+ slots: ["audience", "eligibility"],
8107
+ resolve: (ctx) => ctx.facts.customer?.claims?.phone_number_verified
8108
+ },
8109
+ {
8110
+ name: "claims.locale",
8111
+ type: "idSet",
8112
+ slots: ["audience", "eligibility"],
8113
+ resolve: (ctx) => ctx.facts.customer?.claims?.locale
8114
+ },
8115
+ {
8116
+ name: "claims.address.country",
8117
+ type: "idSet",
8118
+ slots: ["audience", "eligibility"],
8119
+ resolve: (ctx) => ctx.facts.customer?.claims?.addressCountry
8120
+ },
7984
8121
  {
7985
8122
  name: "cart.subtotal",
7986
8123
  type: "integer",
@@ -8232,6 +8369,7 @@ function evaluateCouponEligibility(eligibility, ctx, phase) {
8232
8369
  function assumeCouponFactRules(group, facts) {
8233
8370
  const known = (field) => {
8234
8371
  if (field.startsWith("customer.")) return facts.customer?.[field.slice(9)] !== void 0;
8372
+ if (field.startsWith("claims.")) return facts.customer?.claims !== void 0;
8235
8373
  if (field.startsWith("time.")) return facts.time !== void 0;
8236
8374
  return true;
8237
8375
  };
@@ -8255,7 +8393,10 @@ function couponAudienceMatches(audience, facts) {
8255
8393
  /** 트리들에 나온 구매자 사실 값 이름(`daysSinceJoined` 등) — 서버가 필요한 값만 읽는다 */
8256
8394
  function couponCustomerFactNames(...groups) {
8257
8395
  const names = /* @__PURE__ */ new Set();
8258
- for (const group of groups) for (const field of conditionFields(group)) if (field.startsWith("customer.")) names.add(field.slice(9));
8396
+ for (const group of groups) for (const field of conditionFields(group)) {
8397
+ if (field.startsWith("customer.")) names.add(field.slice(9));
8398
+ if (field.startsWith("claims.")) names.add("claims");
8399
+ }
8259
8400
  return names;
8260
8401
  }
8261
8402
  /** 사실 값 중 트리가 쓰는 것만 남긴다 — 스냅샷에 굳히는 값 */
@@ -8263,6 +8404,7 @@ function pickCouponFacts(facts, eligibility) {
8263
8404
  const fields = conditionFields(eligibility);
8264
8405
  const customer = {};
8265
8406
  for (const name of couponCustomerFactNames(eligibility)) {
8407
+ if (name === "claims") continue;
8266
8408
  const value = facts.customer?.[name];
8267
8409
  if (value !== void 0) customer[name] = value;
8268
8410
  }
@@ -8320,6 +8462,33 @@ function couponRuleIssues(input) {
8320
8462
  path: ["perMemberUseLimit"],
8321
8463
  message: "결제 완료 주문 수 조건이 있는 코드 입력형 쿠폰은 1인 사용 한도가 필요합니다"
8322
8464
  });
8465
+ for (const slot of ["eligibility", "audience"]) {
8466
+ const walk = (group, path) => {
8467
+ for (const [index, node] of group.rules.entries()) {
8468
+ const at = [
8469
+ ...path,
8470
+ "rules",
8471
+ index
8472
+ ];
8473
+ if (isConditionGroup(node)) {
8474
+ walk(node, at);
8475
+ continue;
8476
+ }
8477
+ if (!Array.isArray(node.value)) continue;
8478
+ const values = node.value;
8479
+ if (node.field === "claims.address.country" && !values.every((v) => typeof v === "string" && /^[A-Z]{2}$/.test(v))) issues.push({
8480
+ path: [...at, "value"],
8481
+ message: "국가는 대문자 두 자 코드(예: KR)입니다"
8482
+ });
8483
+ if (node.field === "claims.locale" && !values.every((v) => typeof v === "string" && canonicalLocale(v) === v)) issues.push({
8484
+ path: [...at, "value"],
8485
+ message: "언어 태그는 정규 표기(예: ko, ko-KR)입니다"
8486
+ });
8487
+ }
8488
+ };
8489
+ const group = input[slot];
8490
+ if (group) walk(group, [slot]);
8491
+ }
8323
8492
  if (input.issueMethod === "SIGNUP" && couponCustomerFactNames(input.audience ?? EMPTY_CONDITION_GROUP).has("daysSinceJoined")) issues.push({
8324
8493
  path: ["audience"],
8325
8494
  message: "회원가입 쿠폰의 발급 대상에는 가입 경과 일수를 둘 수 없습니다"
@@ -8351,6 +8520,10 @@ const FIELD_LABELS = {
8351
8520
  "cart.targetQuantity": "대상 상품",
8352
8521
  "line.unitPrice": "판매가"
8353
8522
  };
8523
+ const GENDER_LABELS = {
8524
+ female: "여성",
8525
+ male: "남성"
8526
+ };
8354
8527
  const number = new Intl.NumberFormat("ko-KR");
8355
8528
  function amountText(field, value, formatMoney) {
8356
8529
  const n = typeof value === "number" ? value : Number(value);
@@ -8375,6 +8548,12 @@ function describeCouponRule(rule, formatMoney = (n) => `${number.format(n)}원`)
8375
8548
  const [from, to] = rule.value;
8376
8549
  return `${from}~${to}`;
8377
8550
  }
8551
+ case "claims.gender": return rule.value.map((g) => GENDER_LABELS[g] ?? g).join("·");
8552
+ case "claims.email_verified": return rule.value ? "이메일 확인 회원" : "이메일 미확인 회원";
8553
+ case "claims.phone_number_verified": return rule.value ? "휴대폰 확인 회원" : "휴대폰 미확인 회원";
8554
+ case "claims.locale": return `언어 ${rule.value.join("·")}`;
8555
+ case "claims.address.country": return `국가 ${rule.value.join("·")}`;
8556
+ case "claims.birthdate": return describeBirthdateRule(rule);
8378
8557
  }
8379
8558
  const text = (v) => amountText(rule.field, v, formatMoney);
8380
8559
  if (rule.operator === "between") {
@@ -8385,6 +8564,19 @@ function describeCouponRule(rule, formatMoney = (n) => `${number.format(n)}원`)
8385
8564
  if (rule.field === "customer.paidOrderCount" && rule.operator === "=") return `${label} ${text(rule.value)}`;
8386
8565
  return `${label} ${text(rule.value)}${suffix}`;
8387
8566
  }
8567
+ function describeBirthdateRule(rule) {
8568
+ switch (rule.operator) {
8569
+ case "ageBetween": {
8570
+ const [from, to] = rule.value;
8571
+ return `만 ${from}~${to}세`;
8572
+ }
8573
+ case "age>=": return `만 ${rule.value}세 이상`;
8574
+ case "age<=": return `만 ${rule.value}세 이하`;
8575
+ case "birthMonthIn": return `생일 ${rule.value.join("·")}월`;
8576
+ case "birthMonthIsCurrent": return "생일 달";
8577
+ default: return "생일";
8578
+ }
8579
+ }
8388
8580
  function describeCouponGroup(group, formatMoney) {
8389
8581
  const joint = group.combinator === "and" ? " 그리고 " : " 또는 ";
8390
8582
  return group.rules.map((node) => isConditionGroup(node) ? `(${describeCouponGroup(node, formatMoney)})` : describeCouponRule(node, formatMoney)).join(joint);
@@ -9133,15 +9325,26 @@ const couponStatusSchema = z$1.enum([
9133
9325
  "ENDED"
9134
9326
  ]).describe("쿠폰 상태. `ACTIVE`=사용 중, `PAUSED`=중지(재개 가능), `ENDED`=종료(되돌릴 수 없음)");
9135
9327
  /**
9136
- * 발급 방식 — 코드 입력·셀러 지급·다운로드(구매자가 받기)·회원가입 자동 지급(이슈 #110).
9328
+ * 발급 방식 — 코드 입력·셀러 지급·다운로드(구매자가 받기)·회원가입 자동 지급(이슈 #110)·흐름 지급(이슈 #264).
9137
9329
  * 응답(`couponSchema.issueMethod`)은 값이 늘 수 있어 문자열로 받는다. 이 enum은 요청 검증용이다.
9138
9330
  */
9139
9331
  const couponIssueMethodSchema = z$1.enum([
9140
9332
  "CODE",
9141
9333
  "MANUAL",
9142
9334
  "DOWNLOAD",
9143
- "SIGNUP"
9144
- ]).describe("발급 방식. `CODE`=구매자가 주문서에 코드를 입력한다, `MANUAL`=셀러가 회원을 골라 지급한다, `DOWNLOAD`=구매자가 스토어프론트에서 받는다, `SIGNUP`=회원가입 때 자동으로 지급한다");
9335
+ "SIGNUP",
9336
+ "FLOW",
9337
+ "VOUCHER"
9338
+ ]).describe("발급 방식. `CODE`=구매자가 주문서에 코드를 입력한다, `MANUAL`=셀러가 회원을 골라 지급한다, `DOWNLOAD`=구매자가 스토어프론트에서 받는다, `SIGNUP`=회원가입 때 자동으로 지급한다, `FLOW`=주문 흐름의 쿠폰 지급 단계가 그 주문의 구매자에게 지급한다, `VOUCHER`=셀러가 1회용 쿠폰 번호를 만들어 나눠 주고 구매자가 번호를 등록하면 지급한다");
9339
+ /** 쿠폰 번호 접두어 — 영문·숫자 2~10자, 대문자로 저장한다. 상점 안에서 유일하다 */
9340
+ const VOUCHER_PREFIX_PATTERN = /^[A-Za-z0-9]{2,10}$/;
9341
+ /** 쿠폰 번호 한 쿠폰의 최대 개수 */
9342
+ const VOUCHER_COUNT_MAX = 1e5;
9343
+ /** 쿠폰 번호 설정(`VOUCHER`, 이슈 #264) — 만든 뒤에는 바꿀 수 없다 */
9344
+ const couponVoucherInputSchema = z$1.strictObject({
9345
+ prefix: z$1.string().regex(VOUCHER_PREFIX_PATTERN).describe("번호 앞부분(영문·숫자 2~10자)"),
9346
+ count: z$1.number().int().min(1).max(VOUCHER_COUNT_MAX).describe("만들 번호 수(1~100,000)")
9347
+ }).describe("쿠폰 번호 설정 — 1회용 번호 `count`개를 만든다. 번호는 `GET /v1/coupons/{couponId}/voucher-codes`로 받는다");
9145
9348
  /** 코드 형식 — 영문·숫자·`-`·`_` 6~30자. 대소문자를 구분하지 않고 서버가 대문자로 저장한다 */
9146
9349
  const COUPON_CODE_PATTERN = /^[A-Za-z0-9_-]{6,30}$/;
9147
9350
  /** 코드 정규화 — 대문자, 앞뒤 공백 제거. 입력·저장·조회가 같은 함수를 쓴다 */
@@ -9158,6 +9361,7 @@ const descriptions = {
9158
9361
  validDaysAfterIssue: "발급 후 유효 일수 — 발급형(`MANUAL`·`DOWNLOAD`·`SIGNUP`) 쿠폰만. 쿠폰 종료일과 둘 중 먼저 끝나는 쪽이 적용된다",
9159
9362
  totalIssueLimit: "총 발급 수 한도. 생략하면 무제한. 다운로드·회원가입 쿠폰은 한도에 닿으면 더 발급하지 않는다",
9160
9363
  totalUseLimit: "총 사용 수 한도. 결제 중인 예약도 센다. 생략하면 무제한",
9364
+ dailyIssueLimit: "하루 발급 수 한도(이슈 #222) — 한국 시간 0시 기준 하루마다 이 장수까지 발급한다(받기·회원가입·셀러 지급). 생략하면 없다. 코드 입력형에는 두지 않는다",
9161
9365
  perMemberIssueLimit: "1인 발급 수 한도(셀러 지급·다운로드). 생략하면 1인 1장. 회원가입 쿠폰은 1장 고정이라 1만 받는다",
9162
9366
  perMemberUseLimit: "1인 사용 수 한도(코드 입력형). 생략하면 무제한. 비회원에게 여는 쿠폰은 둘 수 없다",
9163
9367
  eligibility: "사용 조건 트리(이슈 #222) — `{ combinator: and|or, rules: [{ field, operator, value } | 그룹] }`, 그룹 3단·규칙 50개까지. 주면 `conditions`의 최소 주문 금액·첫 구매를 쓰지 않는다(`conditions`에는 `memberOnly`만 둔다). 필드 목록은 `COUPON_CONDITION_FIELDS`",
@@ -9211,6 +9415,10 @@ function couponRequestRuleIssues(body) {
9211
9415
  path: ["stacking", "perOrderLimit"],
9212
9416
  message: "한 주문에 두 장 이상은 상품 쿠폰만 쓸 수 있습니다"
9213
9417
  });
9418
+ if (body.issueMethod === "CODE" && body.dailyIssueLimit != null) issues.push({
9419
+ path: ["dailyIssueLimit"],
9420
+ message: "하루 발급 한도는 발급형(셀러 지급·받기·회원가입) 쿠폰에만 둡니다"
9421
+ });
9214
9422
  if (body.issueMethod !== "DOWNLOAD" && (body.issueStartsAt != null || body.issueEndsAt != null || body.visibleFrom != null)) issues.push({
9215
9423
  path: ["issueStartsAt"],
9216
9424
  message: "받기 기간·노출 시작은 받기 쿠폰에만 둡니다"
@@ -9254,10 +9462,12 @@ const createCouponRequestSchema = strictRequest(z$1.strictObject({
9254
9462
  target: couponTargetInputSchema.optional().describe("대상 상품·카테고리. 생략하면 전 상품"),
9255
9463
  issueMethod: couponIssueMethodSchema,
9256
9464
  code: z$1.string().regex(COUPON_CODE_PATTERN).optional().describe(descriptions.code),
9465
+ voucher: couponVoucherInputSchema.optional(),
9257
9466
  startsAt: couponTimeField(descriptions.startsAt),
9258
9467
  endsAt: couponTimeField(descriptions.endsAt),
9259
9468
  validDaysAfterIssue: z$1.number().int().min(1).max(3650).nullable().optional().describe(descriptions.validDaysAfterIssue),
9260
9469
  totalIssueLimit: limitField(descriptions.totalIssueLimit),
9470
+ dailyIssueLimit: limitField(descriptions.dailyIssueLimit),
9261
9471
  totalUseLimit: limitField(descriptions.totalUseLimit),
9262
9472
  perMemberIssueLimit: limitField(descriptions.perMemberIssueLimit),
9263
9473
  perMemberUseLimit: limitField(descriptions.perMemberUseLimit),
@@ -9273,6 +9483,8 @@ const createCouponRequestSchema = strictRequest(z$1.strictObject({
9273
9483
  message
9274
9484
  });
9275
9485
  if (body.issueMethod === "CODE" && !body.code) issue("code", "코드 입력형 쿠폰은 코드가 필요합니다");
9486
+ if (body.issueMethod === "VOUCHER" && !body.voucher) issue("voucher", "쿠폰 번호 쿠폰은 번호 설정이 필요합니다");
9487
+ if (body.issueMethod !== "VOUCHER" && body.voucher) issue("voucher", "번호 설정은 쿠폰 번호 쿠폰에만 둡니다");
9276
9488
  if (body.issueMethod !== "CODE" && body.code) issue("code", "코드는 코드 입력형 쿠폰에만 둡니다");
9277
9489
  if (body.issueMethod === "CODE" && body.validDaysAfterIssue != null) issue("validDaysAfterIssue", "발급 후 유효 일수는 셀러 지급 쿠폰에만 둡니다");
9278
9490
  if (body.issueMethod === "CODE" && body.perMemberIssueLimit != null) issue("perMemberIssueLimit", "1인 발급 수 한도는 발급형 쿠폰에만 둡니다");
@@ -9301,6 +9513,7 @@ const updateCouponRequestSchema = strictRequest(z$1.strictObject({
9301
9513
  endsAt: couponTimeField(descriptions.endsAt),
9302
9514
  validDaysAfterIssue: z$1.number().int().min(1).max(3650).nullable().optional(),
9303
9515
  totalIssueLimit: limitField(descriptions.totalIssueLimit),
9516
+ dailyIssueLimit: limitField(descriptions.dailyIssueLimit),
9304
9517
  totalUseLimit: limitField(descriptions.totalUseLimit),
9305
9518
  perMemberIssueLimit: limitField(descriptions.perMemberIssueLimit),
9306
9519
  perMemberUseLimit: limitField(descriptions.perMemberUseLimit),
@@ -9318,15 +9531,20 @@ const couponSchema = z$1.object({
9318
9531
  benefit: couponBenefitSchema,
9319
9532
  conditions: couponConditionsSchema,
9320
9533
  target: couponTargetSchema,
9321
- issueMethod: z$1.string().describe("발급 방식. 현재 값은 `CODE`·`MANUAL`·`DOWNLOAD`(구매자가 받기)·`SIGNUP`(회원가입 자동 지급)이고 값이 추가될 수 있어 문자열로 받는다"),
9534
+ issueMethod: z$1.string().describe("발급 방식. 현재 값은 `CODE`·`MANUAL`·`DOWNLOAD`(구매자가 받기)·`SIGNUP`(회원가입 자동 지급)·`FLOW`(주문 흐름 지급)·`VOUCHER`(쿠폰 번호)이고 값이 추가될 수 있어 문자열로 받는다"),
9322
9535
  code: z$1.string().nullable().describe("쿠폰 코드(대문자). 코드 입력형이 아니면 null"),
9323
9536
  startsAt: z$1.string().nullable(),
9324
9537
  endsAt: z$1.string().nullable(),
9325
9538
  validDaysAfterIssue: z$1.number().int().nullable(),
9326
9539
  totalIssueLimit: z$1.number().int().nullable(),
9540
+ dailyIssueLimit: z$1.number().int().nullable().optional().default(null).describe("하루 발급 수 한도(한국 시간 0시 기준). 없으면 null. 서버는 항상 싣는다"),
9327
9541
  totalUseLimit: z$1.number().int().nullable(),
9328
9542
  perMemberIssueLimit: z$1.number().int().nullable(),
9329
9543
  perMemberUseLimit: z$1.number().int().nullable(),
9544
+ voucher: z$1.object({
9545
+ prefix: z$1.string(),
9546
+ count: z$1.number().int()
9547
+ }).nullable().optional().default(null).describe("쿠폰 번호 설정(`VOUCHER`만, 이슈 #264). 다른 발급 방식은 null. 서버는 항상 싣는다"),
9330
9548
  issuedCount: z$1.number().int().describe("발급 수 — 회수한 발급도 센다. 총 발급 한도(`totalIssueLimit`)가 이 값과 비교된다"),
9331
9549
  reservedCount: z$1.number().int().describe("결제 중인 예약 수 — 결제가 끝나거나 만료되면 풀린다"),
9332
9550
  usedCount: z$1.number().int().describe("사용 수 — 전량 취소로 복원되면 줄어든다"),
@@ -9360,7 +9578,7 @@ const couponIssueSchema = z$1.object({
9360
9578
  couponId: z$1.string(),
9361
9579
  customerId: z$1.string(),
9362
9580
  customerName: z$1.string().nullable().describe("구매자 이름. 탈퇴한 구매자는 null"),
9363
- source: z$1.string().optional().describe("발급 경로(이슈 #110). 현재 값은 `MANUAL`(셀러 지급)·`DOWNLOAD`(구매자가 받음)·`SIGNUP`(회원가입 자동 지급)이고 값이 추가될 수 있다. 서버는 항상 싣는다"),
9581
+ source: z$1.string().optional().describe("발급 경로(이슈 #110). 현재 값은 `MANUAL`(셀러 지급)·`DOWNLOAD`(구매자가 받음)·`SIGNUP`(회원가입 자동 지급)·`FLOW`(주문 흐름 지급)·`VOUCHER`(쿠폰 번호 등록)이고 값이 추가될 수 있다. 서버는 항상 싣는다"),
9364
9582
  status: couponIssueStatusSchema,
9365
9583
  validFrom: z$1.string(),
9366
9584
  validUntil: z$1.string().nullable(),
@@ -9377,6 +9595,28 @@ const couponIssueListQuerySchema = z$1.object({
9377
9595
  ]).optional(),
9378
9596
  ...pageQueryShape()
9379
9597
  });
9598
+ /** `GET /v1/coupons/{couponId}/voucher-codes` — 쿠폰 번호 전체(순번 순). 상점 플랫폼이 CSV로 내려받는다 */
9599
+ const couponVoucherCodesSchema = z$1.object({
9600
+ prefix: z$1.string(),
9601
+ count: z$1.number().int(),
9602
+ codes: z$1.array(z$1.string()).describe("번호 — 순번 1부터. 등록에 쓴 번호도 싣는다")
9603
+ }).describe("쿠폰 번호 목록");
9604
+ /**
9605
+ * 발급 대상 전원 지급(이슈 #264) — `POST /v1/coupons/{couponId}/distributions`(202)가 만들고 서버가 뒤에서 처리한다. 셀러 지급(`MANUAL`) 쿠폰을
9606
+ * 발급 대상 조건에 맞는 회원 모두에게 준다(셀러 지급과 같은 한도 판정). 쿠폰마다 진행 중 작업은 하나다
9607
+ */
9608
+ const couponDistributionSchema = z$1.object({
9609
+ distributionId: z$1.string(),
9610
+ couponId: z$1.string(),
9611
+ status: z$1.string().describe("작업 상태. 현재 값은 `QUEUED`(대기)·`RUNNING`(지급 중)·`COMPLETED`(끝남)·`FAILED`(실패)이고 값이 추가될 수 있다"),
9612
+ processedCount: z$1.number().int().describe("지금까지 살펴본 회원 수"),
9613
+ issuedCount: z$1.number().int().describe("이 작업이 지급한 장수"),
9614
+ skippedCount: z$1.number().int().describe("건너뛴 회원 수 — 발급 대상이 아니거나 1인 발급 한도에 닿은 회원"),
9615
+ stopCode: z$1.string().nullable().describe("일찍 끝난 사유. `COUPON_EXHAUSTED`(총 발급 한도)·`COUPON_DAILY_EXHAUSTED`(하루 발급 한도)·`COUPON_NOT_ACTIVE`(중지·종료)·`COUPON_EXPIRED`(사용 기간 끝) 등. 끝까지 돌았으면 null"),
9616
+ createdAt: z$1.string(),
9617
+ startedAt: z$1.string().nullable(),
9618
+ finishedAt: z$1.string().nullable()
9619
+ }).describe("발급 대상 전원 지급 작업");
9380
9620
  /** `POST /v1/coupons/{couponId}/issues` — 셀러 지급. 한 번에 1,000명까지 */
9381
9621
  const issueCouponRequestSchema = z$1.strictObject({ customerIds: z$1.array(z$1.string().min(1)).min(1).max(1e3).refine((ids) => new Set(ids).size === ids.length, "같은 구매자를 두 번 넣었습니다").describe("지급할 구매자 id(1~1,000명, 중복 불가)") });
9382
9622
  const issueCouponResultSchema = z$1.object({
@@ -9431,6 +9671,88 @@ const customerCouponSchema = couponIssueSchema.extend({
9431
9671
  benefit: couponBenefitSchema
9432
9672
  });
9433
9673
  //#endregion
9674
+ //#region src/schemas/userinfo.ts
9675
+ /**
9676
+ * 구매자 정보의 OIDC userinfo 표준 클레임(OpenID Connect Core 1.0 5.1, 이슈 #264). 이름은 표준 그대로 snake_case다.
9677
+ * 값이 없는 클레임은 응답에서 빠진다. 같은 형식이 스토어프론트 API(storefront-sdk `userinfoSchema`)에도 있다.
9678
+ */
9679
+ /** 생일 — `YYYY-MM-DD`, 연도를 모르면 `0000-MM-DD`(표준 형식) */
9680
+ const CUSTOMER_BIRTHDATE_PATTERN = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
9681
+ const customerUserinfoAddressSchema = z$1.object({
9682
+ formatted: z$1.string().optional(),
9683
+ street_address: z$1.string().optional(),
9684
+ locality: z$1.string().optional(),
9685
+ region: z$1.string().optional(),
9686
+ postal_code: z$1.string().optional(),
9687
+ country: z$1.string().optional().describe("ISO 3166-1 alpha-2")
9688
+ });
9689
+ const customerUserinfoSchema = z$1.object({
9690
+ sub: z$1.string().describe("구매자 id(상점 안에서 유일)"),
9691
+ name: z$1.string().optional(),
9692
+ given_name: z$1.string().optional(),
9693
+ family_name: z$1.string().optional(),
9694
+ middle_name: z$1.string().optional(),
9695
+ nickname: z$1.string().optional(),
9696
+ preferred_username: z$1.string().optional(),
9697
+ profile: z$1.string().optional(),
9698
+ picture: z$1.string().optional(),
9699
+ website: z$1.string().optional(),
9700
+ email: z$1.string().optional(),
9701
+ email_verified: z$1.boolean().optional().describe("이메일 확인 여부 — 인증된 소셜 가입·셀러 위임만 true다. 비밀번호 가입은 false"),
9702
+ gender: z$1.string().optional().describe("표준 값은 `female`·`male`이고 다른 값도 온다"),
9703
+ birthdate: z$1.string().optional().describe("`YYYY-MM-DD`, 연도를 모르면 `0000-MM-DD`"),
9704
+ zoneinfo: z$1.string().optional().describe("IANA 시간대(예: `Asia/Seoul`)"),
9705
+ locale: z$1.string().optional().describe("BCP 47 언어 태그(예: `ko-KR`)"),
9706
+ phone_number: z$1.string().optional().describe("E.164(예: `+821012345678`)"),
9707
+ phone_number_verified: z$1.boolean().optional(),
9708
+ address: customerUserinfoAddressSchema.optional().describe("기본 배송지에서 만든다"),
9709
+ updated_at: z$1.number().int().optional().describe("프로필을 바꾼 시각(epoch 초)")
9710
+ }).describe("OIDC userinfo 표준 클레임(이슈 #264)");
9711
+ const text = (max) => z$1.string().trim().min(1).max(max).nullable().optional();
9712
+ const httpsUrl = z$1.url({ protocol: /^https$/ }).max(2048).nullable().optional().describe("https 주소");
9713
+ /** 시간대·언어 태그 검사 — 런타임(Intl)이 아는 값만 받는다 */
9714
+ const zoneinfo = z$1.string().max(64).refine((value) => {
9715
+ try {
9716
+ new Intl.DateTimeFormat("en", { timeZone: value });
9717
+ return true;
9718
+ } catch {
9719
+ return false;
9720
+ }
9721
+ }, "IANA 시간대가 아닙니다").nullable().optional();
9722
+ const locale = z$1.string().max(35).refine((value) => {
9723
+ try {
9724
+ return Intl.getCanonicalLocales(value).length === 1;
9725
+ } catch {
9726
+ return false;
9727
+ }
9728
+ }, "BCP 47 언어 태그가 아닙니다").nullable().optional();
9729
+ const birthdate = z$1.string().regex(CUSTOMER_BIRTHDATE_PATTERN, "생일은 YYYY-MM-DD(연도를 모르면 0000-MM-DD)입니다").refine((value) => {
9730
+ const [y, m, d] = value.split("-").map(Number);
9731
+ const day = new Date(Date.UTC(y === 0 ? 2e3 : y, m - 1, d));
9732
+ return day.getUTCMonth() === m - 1 && day.getUTCDate() === d;
9733
+ }, "없는 날짜입니다").nullable().optional();
9734
+ /**
9735
+ * 셀러가 위임으로 바꿀 수 있는 클레임 — 준 클레임만 바뀌고 null은 지운다. `sub`·`email`·`phone_number`·`updated_at`·`address`는 받지 않는다. 확인 여부(`*_verified`)는 셀러가 확인한 값을 받는다
9736
+ * (이메일·휴대폰은 각자의 칸, 주소는 배송지가 원천이다)
9737
+ */
9738
+ const customerUserinfoInputSchema = z$1.strictObject({
9739
+ /** 셀러가 확인한 값 그대로 받는다 — 셀러 서비스가 인증한 회원이다 */
9740
+ email_verified: z$1.boolean().optional(),
9741
+ phone_number_verified: z$1.boolean().optional(),
9742
+ given_name: text(50),
9743
+ family_name: text(50),
9744
+ middle_name: text(50),
9745
+ nickname: text(50),
9746
+ preferred_username: text(50),
9747
+ profile: httpsUrl,
9748
+ picture: httpsUrl,
9749
+ website: httpsUrl,
9750
+ gender: text(30),
9751
+ birthdate,
9752
+ zoneinfo,
9753
+ locale
9754
+ }).describe("바꿀 OIDC 클레임 — 준 것만 바뀌고 null은 지운다");
9755
+ //#endregion
9434
9756
  //#region src/schemas/customer.ts
9435
9757
  /** 구매자 목록 정렬 */
9436
9758
  const customerSortSchema = z$1.enum([
@@ -9558,6 +9880,7 @@ const customerDetailSchema = z$1.object({
9558
9880
  })).describe("로그인 방법 — 이메일·비밀번호(`password`)와 연결된 소셜 계정"),
9559
9881
  consents: customerConsentsSchema.describe("약관·개인정보·마케팅 동의의 현재 상태. 이력은 `GET /v1/customers/{customerId}/consents`"),
9560
9882
  addresses: z$1.array(customerAddressSchema),
9883
+ userinfo: customerUserinfoSchema.optional().describe("OIDC userinfo 표준 클레임(이슈 #264, 주소는 기본 배송지). 서버는 항상 싣는다"),
9561
9884
  stats: customerStatsSchema.extend({
9562
9885
  canceledOrReturnedCount: z$1.number().int().describe("취소된 주문 상품 + 완료된 반품 수"),
9563
9886
  reviewCount: z$1.number().int(),
@@ -11774,6 +12097,13 @@ listHistory: (params) => storeHttp.request("GET", "/points/history", pageSchema(
11774
12097
  body: issueCouponRequestSchema.parse(body),
11775
12098
  headers: idempotency(idempotencyKey)
11776
12099
  }),
12100
+ /** 쿠폰 번호 전체(`VOUCHER`, #264) — 순번 순 */
12101
+ voucherCodes: (couponId) => storeHttp.request("GET", path`/coupons/${couponId}/voucher-codes`, couponVoucherCodesSchema),
12102
+ /** 발급 대상 전원 지급(#264) — 202로 작업을 만든다. 진행은 `distributions`·`distribution`으로 본다 */
12103
+ distribute: (couponId) => storeHttp.request("POST", path`/coupons/${couponId}/distributions`, couponDistributionSchema),
12104
+ /** 전원 지급 작업 목록(최근 20건, 최신순) */
12105
+ distributions: (couponId) => storeHttp.request("GET", path`/coupons/${couponId}/distributions`, z$1.array(couponDistributionSchema)),
12106
+ distribution: (couponId, distributionId) => storeHttp.request("GET", path`/coupons/${couponId}/distributions/${distributionId}`, couponDistributionSchema),
11777
12107
  issues: (couponId, params) => storeHttp.request("GET", path`/coupons/${couponId}/issues`, pageSchema(couponIssueSchema), { query: params }),
11778
12108
  redemptions: (couponId, params) => storeHttp.request("GET", path`/coupons/${couponId}/redemptions`, pageSchema(couponRedemptionSchema), { query: params }),
11779
12109
  stats: (couponId) => storeHttp.request("GET", path`/coupons/${couponId}/stats`, couponStatsSchema),
@@ -12613,7 +12943,8 @@ const customerDelegationRequestSchema = strictRequest(z$1.object({
12613
12943
  uid: z$1.string().regex(/^[A-Za-z0-9._:@|-]{1,128}$/).optional().describe("셀러 자체 인증의 사용자 id(1~128자, 영문·숫자·`._:@|-`). 처음 보는 id면 구매자를 만든다"),
12614
12944
  email: z$1.email().max(254).optional().describe("uid가 없으면 이메일로 지목한다. uid와 함께 주면 처음 만들 때의 이메일이다"),
12615
12945
  name: z$1.string().max(50).optional().describe("처음 만들 때의 이름"),
12616
- authenticatedAt: z$1.iso.datetime({ offset: true }).optional().describe("사용자가 셀러 서비스에서 실제로 로그인한 시각(uid 위임만). 주면 구매자 토큰의 인증 시각이 된다")
12946
+ authenticatedAt: z$1.iso.datetime({ offset: true }).optional().describe("사용자가 셀러 서비스에서 실제로 로그인한 시각(uid 위임만). 주면 구매자 토큰의 인증 시각이 된다"),
12947
+ userinfo: customerUserinfoInputSchema.optional().describe("OIDC 클레임(이슈 #264) — 위임할 때마다 준 클레임만 바뀌고 null은 지운다. `email_verified`를 생략하면 위임으로 만든 구매자의 이메일은 확인된 것으로 본다")
12617
12948
  }).refine((value) => Boolean(value.uid || value.email), {
12618
12949
  message: "uid 또는 email이 필요합니다",
12619
12950
  path: ["uid"]
@@ -12843,4 +13174,4 @@ function createStoreSession(options) {
12843
13174
  };
12844
13175
  }
12845
13176
  //#endregion
12846
- 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_STACKING_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, COUPON_TARGET_RULES_ALL, COUPON_TIME_ZONE, COUPON_WEEKDAYS, CURRENCIES, CURRENCY_CODES, 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, 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, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, 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, couponBenefitSchema, couponConditionTreeSchema, couponConditionsInputSchema, couponConditionsSchema, couponCustomerFactNames, couponDiscountOf, couponFactsSchema, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponLineContextOf, couponLineMatches, couponListQuerySchema, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRequestRuleIssues, couponRequirementsOf, couponRuleIssues, couponRuleSchema, couponRulesFromLegacy, couponSchema, couponStackingOf, couponStackingSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetRulesSchema, couponTargetSchema, couponTimeFactsAt, couponTreesOf, 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, 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, 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 };
13177
+ 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_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, couponBenefitSchema, couponClaimFactsOf, couponConditionTreeSchema, couponConditionsInputSchema, couponConditionsSchema, couponCustomerFactNames, couponDiscountOf, couponDistributionSchema, couponFactsSchema, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponLineContextOf, couponLineMatches, couponListQuerySchema, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRequestRuleIssues, couponRequirementsOf, couponRuleIssues, couponRuleSchema, couponRulesFromLegacy, couponSchema, couponStackingOf, couponStackingSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetRulesSchema, couponTargetSchema, 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, 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 };