@sayren/store-sdk 0.42.0 → 0.43.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.
Files changed (53) hide show
  1. package/dist/index.d.mts +10 -10
  2. package/dist/index.mjs +5 -5
  3. package/dist/server.mjs +1 -1
  4. package/dist/{webhook-headers-D0E3wPpS.mjs → webhook-headers-CTez3xDY.mjs} +1 -1
  5. package/package.json +1 -1
  6. package/src/client.ts +1 -1
  7. package/src/http.ts +1 -1
  8. package/src/oauth.ts +1 -1
  9. package/src/schemas/ai.ts +1 -1
  10. package/src/schemas/analytics.ts +1 -1
  11. package/src/schemas/api-log.ts +1 -1
  12. package/src/schemas/app-manifest.ts +1 -1
  13. package/src/schemas/apps.ts +1 -1
  14. package/src/schemas/audit.ts +1 -1
  15. package/src/schemas/auth.ts +1 -1
  16. package/src/schemas/category.ts +1 -1
  17. package/src/schemas/claim.ts +1 -1
  18. package/src/schemas/collection.ts +1 -1
  19. package/src/schemas/commerce-flow.ts +1 -1
  20. package/src/schemas/commerce-number.ts +1 -1
  21. package/src/schemas/common.ts +1 -1
  22. package/src/schemas/coupon.ts +1 -1
  23. package/src/schemas/currency-prices.ts +1 -1
  24. package/src/schemas/currency.ts +1 -1
  25. package/src/schemas/customer-delegation.ts +1 -1
  26. package/src/schemas/customer.ts +1 -1
  27. package/src/schemas/fulfillment.ts +1 -1
  28. package/src/schemas/inventory.ts +1 -1
  29. package/src/schemas/locale.ts +1 -1
  30. package/src/schemas/login.ts +1 -1
  31. package/src/schemas/market.ts +1 -1
  32. package/src/schemas/misc.ts +1 -1
  33. package/src/schemas/order.ts +1 -1
  34. package/src/schemas/payment.ts +1 -1
  35. package/src/schemas/plans.ts +1 -1
  36. package/src/schemas/points.ts +1 -1
  37. package/src/schemas/product-info.ts +1 -1
  38. package/src/schemas/product-localization.ts +1 -1
  39. package/src/schemas/product.ts +1 -1
  40. package/src/schemas/promotion.ts +1 -1
  41. package/src/schemas/refund-policy.ts +1 -1
  42. package/src/schemas/saved-option-set.ts +1 -1
  43. package/src/schemas/scope.ts +1 -1
  44. package/src/schemas/shipping-policy.ts +1 -1
  45. package/src/schemas/starter.ts +1 -1
  46. package/src/schemas/stay.ts +1 -1
  47. package/src/schemas/store.ts +9 -4
  48. package/src/schemas/storefront-hosting.ts +1 -1
  49. package/src/schemas/strict.ts +1 -1
  50. package/src/schemas/subscription.ts +1 -1
  51. package/src/schemas/telemetry.ts +1 -1
  52. package/src/schemas/upload.ts +1 -1
  53. package/src/schemas/webhook-event.ts +1 -1
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as WEBHOOK_HEADERS, i as WEBHOOK_EVENT_TYPE_HEADER, n as WEBHOOK_DELIVERY_ID_HEADER, o as WEBHOOK_SIGNATURE_HEADER, r as WEBHOOK_EVENT_ID_HEADER, s as WEBHOOK_USER_AGENT, t as WEBHOOK_DEFAULT_TOLERANCE_SEC } from "./webhook-headers-D6QmPdEJ.mjs";
2
- import { z } from "zod";
2
+ import * as z from "zod";
3
3
  //#region src/schemas/audit.d.ts
4
4
  /**
5
5
  * 감사 로그와 승인 요청 — `/v1/audit-logs`, `/v1/approval-requests` (이슈 #36).
@@ -13103,9 +13103,9 @@ export type ProductPatchRequest = z.infer<typeof productPatchRequestSchema>;
13103
13103
  export declare const productSortSchema: z.ZodEnum<{
13104
13104
  "createdAt.desc": "createdAt.desc";
13105
13105
  "createdAt.asc": "createdAt.asc";
13106
- "updatedAt.desc": "updatedAt.desc";
13107
13106
  "salePrice.asc": "salePrice.asc";
13108
13107
  "salePrice.desc": "salePrice.desc";
13108
+ "updatedAt.desc": "updatedAt.desc";
13109
13109
  }>;
13110
13110
  export type ProductSort = z.infer<typeof productSortSchema>;
13111
13111
  export interface ProductListParams extends PageParams {
@@ -13134,9 +13134,9 @@ export declare const productListQuerySchema: z.ZodObject<{
13134
13134
  sort: z.ZodOptional<z.ZodEnum<{
13135
13135
  "createdAt.desc": "createdAt.desc";
13136
13136
  "createdAt.asc": "createdAt.asc";
13137
- "updatedAt.desc": "updatedAt.desc";
13138
13137
  "salePrice.asc": "salePrice.asc";
13139
13138
  "salePrice.desc": "salePrice.desc";
13139
+ "updatedAt.desc": "updatedAt.desc";
13140
13140
  }>>;
13141
13141
  }, z.core.$strip>;
13142
13142
  export declare const discountRequestSchema: z.ZodObject<{
@@ -13970,7 +13970,7 @@ export declare const storeSchema: z.ZodObject<{
13970
13970
  storeId: z.ZodString;
13971
13971
  name: z.ZodString;
13972
13972
  storeCode: z.ZodString;
13973
- storefrontUrl: z.ZodURL;
13973
+ storefrontUrl: z.ZodNullable<z.ZodURL>;
13974
13974
  status: z.ZodEnum<{
13975
13975
  SUSPENDED: "SUSPENDED";
13976
13976
  CLOSED: "CLOSED";
@@ -24933,7 +24933,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
24933
24933
  storeId: string;
24934
24934
  name: string;
24935
24935
  storeCode: string;
24936
- storefrontUrl: string;
24936
+ storefrontUrl: string | null;
24937
24937
  status: "SUSPENDED" | "CLOSED" | "ACTIVE";
24938
24938
  logoUrl: string | null;
24939
24939
  businessNumber: string | null;
@@ -24991,7 +24991,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
24991
24991
  storeId: string;
24992
24992
  name: string;
24993
24993
  storeCode: string;
24994
- storefrontUrl: string;
24994
+ storefrontUrl: string | null;
24995
24995
  status: "SUSPENDED" | "CLOSED" | "ACTIVE";
24996
24996
  logoUrl: string | null;
24997
24997
  businessNumber: string | null;
@@ -26640,10 +26640,10 @@ export declare const storeIndustrySchema: z.ZodEnum<{
26640
26640
  export type StoreIndustry = z.infer<typeof storeIndustrySchema>;
26641
26641
  /** 상품 자료 — 인터뷰의 「상품 자료」 답. 상품 등록 단계의 방법을 고른다 */
26642
26642
  export declare const brandBriefProductSourceSchema: z.ZodEnum<{
26643
+ NONE: "NONE";
26643
26644
  SPREADSHEET: "SPREADSHEET";
26644
26645
  EXISTING_STORE: "EXISTING_STORE";
26645
26646
  PHOTOS: "PHOTOS";
26646
- NONE: "NONE";
26647
26647
  }>;
26648
26648
  export type BrandBriefProductSource = z.infer<typeof brandBriefProductSourceSchema>;
26649
26649
  export declare const BRAND_BRIEF_MAX_REFERENCES = 5;
@@ -26668,10 +26668,10 @@ export declare const brandBriefSchema: z.ZodObject<{
26668
26668
  summary: z.ZodString;
26669
26669
  }, z.core.$strip>>;
26670
26670
  productSource: z.ZodNullable<z.ZodEnum<{
26671
+ NONE: "NONE";
26671
26672
  SPREADSHEET: "SPREADSHEET";
26672
26673
  EXISTING_STORE: "EXISTING_STORE";
26673
26674
  PHOTOS: "PHOTOS";
26674
- NONE: "NONE";
26675
26675
  }>>;
26676
26676
  notes: z.ZodNullable<z.ZodString>;
26677
26677
  }, z.core.$strip>;
@@ -26691,10 +26691,10 @@ export declare const putBrandBriefRequestSchema: z.ZodObject<{
26691
26691
  summary: z.ZodString;
26692
26692
  }, z.core.$strip>>>;
26693
26693
  productSource: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
26694
+ NONE: "NONE";
26694
26695
  SPREADSHEET: "SPREADSHEET";
26695
26696
  EXISTING_STORE: "EXISTING_STORE";
26696
26697
  PHOTOS: "PHOTOS";
26697
- NONE: "NONE";
26698
26698
  }>>>;
26699
26699
  notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
26700
26700
  }, z.core.$strip>;
@@ -26715,10 +26715,10 @@ export declare const brandBriefViewSchema: z.ZodObject<{
26715
26715
  summary: z.ZodString;
26716
26716
  }, z.core.$strip>>;
26717
26717
  productSource: z.ZodNullable<z.ZodEnum<{
26718
+ NONE: "NONE";
26718
26719
  SPREADSHEET: "SPREADSHEET";
26719
26720
  EXISTING_STORE: "EXISTING_STORE";
26720
26721
  PHOTOS: "PHOTOS";
26721
- NONE: "NONE";
26722
26722
  }>>;
26723
26723
  notes: z.ZodNullable<z.ZodString>;
26724
26724
  }, z.core.$strip>>;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { A as auditLogPageSchema, C as approvalPageSchema, D as auditActorTypeSchema, E as auditActorSchema, F as strictRequest, M as auditLogSourceSchema, N as writeDryRunResultSchema, O as auditLogListQuerySchema, P as writePreviewSchema, S as approvalListQuerySchema, T as approvalStatusSchema, _ as resolveToken, a as WEBHOOK_HEADERS, b as agentPolicyDecisionSchema, c as APPROVAL_ALREADY_DECIDED_CODE, d as ApprovalPendingError, f as SAYREN_API_BASE_URL, g as path, h as createHttp, i as WEBHOOK_EVENT_TYPE_HEADER, j as auditLogSchema, k as auditLogOutcomeSchema, l as APPROVAL_REQUIRED_CODE, m as buildQuery, n as WEBHOOK_DELIVERY_ID_HEADER, o as WEBHOOK_SIGNATURE_HEADER, p as SAYREN_API_ORIGIN, r as WEBHOOK_EVENT_ID_HEADER, s as WEBHOOK_USER_AGENT, t as WEBHOOK_DEFAULT_TOLERANCE_SEC, u as ApiError, v as toApiError, w as approvalRequestSchema, x as approvalDecisionRequestSchema, y as unwrapData } from "./webhook-headers-D0E3wPpS.mjs";
2
- import { z } from "zod";
1
+ import { A as auditLogPageSchema, C as approvalPageSchema, D as auditActorTypeSchema, E as auditActorSchema, F as strictRequest, M as auditLogSourceSchema, N as writeDryRunResultSchema, O as auditLogListQuerySchema, P as writePreviewSchema, S as approvalListQuerySchema, T as approvalStatusSchema, _ as resolveToken, a as WEBHOOK_HEADERS, b as agentPolicyDecisionSchema, c as APPROVAL_ALREADY_DECIDED_CODE, d as ApprovalPendingError, f as SAYREN_API_BASE_URL, g as path, h as createHttp, i as WEBHOOK_EVENT_TYPE_HEADER, j as auditLogSchema, k as auditLogOutcomeSchema, l as APPROVAL_REQUIRED_CODE, m as buildQuery, n as WEBHOOK_DELIVERY_ID_HEADER, o as WEBHOOK_SIGNATURE_HEADER, p as SAYREN_API_ORIGIN, r as WEBHOOK_EVENT_ID_HEADER, s as WEBHOOK_USER_AGENT, t as WEBHOOK_DEFAULT_TOLERANCE_SEC, u as ApiError, v as toApiError, w as approvalRequestSchema, x as approvalDecisionRequestSchema, y as unwrapData } from "./webhook-headers-CTez3xDY.mjs";
2
+ import * as z from "zod";
3
3
  //#region src/schemas/auth.ts
4
4
  const storeRoleSchema = z.enum([
5
5
  "OWNER",
@@ -1370,7 +1370,7 @@ const updateStoreRequestSchema = strictRequest(z.object({
1370
1370
  analyticsAllowedOrigins: z.array(analyticsOriginSchema).max(20).optional().describe("@deprecated `storefrontOrigins`를 쓴다(같은 목록). 방문 분석 수집을 받을 스토어프론트 오리진(최대 20개). 비우면 모든 오리진에서 받는다. 넣으면 목록에 없는 오리진의 수집 요청은 403 `ORIGIN_NOT_ALLOWED`이고, 페이지 URL이 목록 밖인 이벤트는 버린다"),
1371
1371
  storefrontOrigins: z.array(analyticsOriginSchema).max(20).optional().describe("스토어프론트 도메인(최대 20개) — 소셜 로그인 뒤 돌아갈 주소와 방문 분석 수집을 함께 제한한다. `analyticsAllowedOrigins`와 같은 목록이다(둘 다 주면 이 값이 이긴다)"),
1372
1372
  guestCheckoutEnabled: z.boolean().optional().describe("비회원 주문 허용. false(회원만)면 로그인하지 않은 구매자의 주문서 생성·결제 요청이 403 `GUEST_CHECKOUT_DISABLED`다. 장바구니 담기와 이미 받은 비회원 주문의 조회·취소는 막지 않는다"),
1373
- testOrderReviewsAllowed: z.boolean().optional().describe("테스트 결제(샌드박스) 주문의 리뷰 허용. 기본 false — 돈을 내지 않은 주문으로 구매 인증 리뷰가 쌓이지 않게 막는다"),
1373
+ testOrderReviewsAllowed: z.boolean().optional().describe("@deprecated 효과 없음. 테스트 결제 주문도 실주문과 같이 리뷰를 쓸 수 있다. 호환을 위해 받기만 한다"),
1374
1374
  autoDeliverDays: z.number().int().min(0).max(30).optional().describe(autoDeliverDaysDescription),
1375
1375
  autoConfirmDays: z.number().int().min(0).max(30).optional().describe(autoConfirmDaysDescription),
1376
1376
  refundPolicy: refundPolicyPatchSchema.optional().describe("상점 기본 환불 정책 — 준 항목만 바꾼다. 상품별 정책(`products.refundPolicy`)이 없는 상품에 적용된다"),
@@ -1385,7 +1385,7 @@ const storeSchema = z.object({
1385
1385
  storeId: z.string(),
1386
1386
  name: z.string(),
1387
1387
  storeCode: z.string(),
1388
- storefrontUrl: z.url(),
1388
+ storefrontUrl: z.url().nullable().describe("스토어프론트 호스팅 사이트의 대표 주소. 사이트가 없으면 null"),
1389
1389
  status: z.enum([
1390
1390
  "ACTIVE",
1391
1391
  "SUSPENDED",
@@ -1398,7 +1398,7 @@ const storeSchema = z.object({
1398
1398
  analyticsAllowedOrigins: z.array(z.string()).describe("방문 분석 수집을 받는 스토어프론트 오리진. 비어 있으면 모든 오리진에서 받는다"),
1399
1399
  storefrontOrigins: z.array(z.string()).describe("스토어프론트 도메인 — 소셜 로그인 리디렉트와 방문 분석 수집이 함께 쓴다(`analyticsAllowedOrigins`와 같은 값)"),
1400
1400
  guestCheckoutEnabled: z.boolean().describe("비회원 주문 허용. false면 회원만 주문할 수 있다"),
1401
- testOrderReviewsAllowed: z.boolean().optional().default(false).describe("테스트 결제(샌드박스) 주문의 리뷰 허용. 서버는 항상 싣는다"),
1401
+ testOrderReviewsAllowed: z.boolean().optional().default(false).describe("@deprecated 효과 없음. 테스트 결제 주문도 실주문과 같이 리뷰를 쓸 수 있다. 호환을 위해 저장한 값을 싣는다"),
1402
1402
  autoDeliverDays: z.number().int().describe(autoDeliverDaysDescription),
1403
1403
  autoConfirmDays: z.number().int().describe(autoConfirmDaysDescription),
1404
1404
  refundPolicy: refundPolicySchema.describe("상점 기본 환불 정책. 상점이 정하지 않은 항목은 플랫폼 기본값으로 채워 항상 전부 싣는다"),
package/dist/server.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { a as WEBHOOK_HEADERS, i as WEBHOOK_EVENT_TYPE_HEADER, n as WEBHOOK_DELIVERY_ID_HEADER, o as WEBHOOK_SIGNATURE_HEADER, r as WEBHOOK_EVENT_ID_HEADER, s as WEBHOOK_USER_AGENT, t as WEBHOOK_DEFAULT_TOLERANCE_SEC } from "./webhook-headers-D0E3wPpS.mjs";
1
+ import { a as WEBHOOK_HEADERS, i as WEBHOOK_EVENT_TYPE_HEADER, n as WEBHOOK_DELIVERY_ID_HEADER, o as WEBHOOK_SIGNATURE_HEADER, r as WEBHOOK_EVENT_ID_HEADER, s as WEBHOOK_USER_AGENT, t as WEBHOOK_DEFAULT_TOLERANCE_SEC } from "./webhook-headers-CTez3xDY.mjs";
2
2
  //#region src/member-delegation.ts
3
3
  /** 위임 실패 — `error`는 api 오류 코드(엔벨로프 `error.code`, 없으면 `http_{status}`) */
4
4
  var MemberDelegationError = class extends Error {
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  //#region src/schemas/strict.ts
3
3
  /**
4
4
  * 관리 API 요청 본문을 모르는 키까지 거르는 스키마로 바꾼다(이슈 #193, 2026-10-24). `z.object`는 모르는 키를 조용히 버려서
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/store-sdk",
3
- "version": "0.42.0",
3
+ "version": "0.43.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
package/src/client.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import {
3
3
  ApiError,
4
4
  createHttp,
package/src/http.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type ApprovalRequest, type ApprovalStatus, approvalRequestSchema } from "./schemas/audit";
3
3
 
4
4
  /** 표준 엔벨로프의 $.error 상세 */
package/src/oauth.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { base64UrlFromBytes } from "./base64";
3
3
  import { unwrapData } from "./http";
4
4
 
package/src/schemas/ai.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { storefrontSlugSchema } from "./storefront-hosting";
3
3
  import { strictRequest } from "./strict";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * 방문 분석 조회 (관리 API `/v1/analytics/*`, 스코프 `analytics:r`).
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * API 로그 — `/v1/api-logs`. 상점이 해석된 관리 API(`/v1/**`) 요청을 7일간 보관한다.
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { isStoreScope, STORE_SCOPE_RESOURCES, type StoreScopeResource } from "./scope";
3
3
  import { describeScope } from "./scope-descriptions";
4
4
  import {
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import {
3
3
  APP_ICON_CONTENT_TYPES,
4
4
  APP_README_MAX_BYTES,
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  export const storeRoleSchema = z.enum(["OWNER", "ADMIN", "STAFF"]);
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  export const categoryProductSortSchema = z.enum([
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { commerceNumberField } from "./commerce-number";
3
3
  import { type PageParams, pageQueryShape } from "./common";
4
4
  import { strictRequest } from "./strict";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type PageParams, pageQueryShape, pageSchema } from "./common";
3
3
  import { productImageUrlSchema } from "./product";
4
4
  import { strictRequest } from "./strict";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { claimStatusSchema } from "./claim";
3
3
  import { orderItemStatusSchema } from "./common";
4
4
  import { strictRequest } from "./strict";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * 국내 쇼핑몰 번호 체계(이슈 #107) — 공개 ID(`ord_…` 등)와 따로 싣는 숫자 번호의 표기·필드.
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  export const pageInfoSchema = z.object({
4
4
  page: z.number().int(),
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { pageQueryShape } from "./common";
3
3
  import { currencyCodeSchema } from "./currency";
4
4
  import {
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { BASE_CURRENCY, currencyCodeSchema, isSaleUnitPrice } from "./currency";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * 통화표와 금액 변환(이슈 #130). 숫자만 다룬다 — 사람이 읽는 문자열(「1,000원」·「$10.99」)은 각 앱의 `formatMoney`가 만든다.
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { orderItemStatusSchema, pageQueryShape } from "./common";
3
3
  import { strictRequest } from "./strict";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { shippingCurrencyPricesSchema, storedShippingCurrencyPriceSchema } from "./currency-prices";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * 언어 코드 (이슈 #134) — BCP 47의 언어[-문자][-지역]까지 받는다(`ko`·`en`·`en-US`·`zh-Hant-TW`).
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /** 소셜 로그인 공급자 */
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { currencyCodeSchema } from "./currency";
3
3
  import { localeCodeSchema } from "./locale";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type PageParams, pageQueryShape } from "./common";
3
3
  import { strictRequest } from "./strict";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { commerceNumberField } from "./commerce-number";
3
3
  import { changeTypeSchema, orderItemStatusSchema, type PageParams, pageSchema } from "./common";
4
4
  import { orderItemFulfillmentSnapshotResponseSchema } from "./fulfillment";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type PageParams, pageSchema } from "./common";
3
3
  import { strictRequest } from "./strict";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { responsePlanCodeSchema } from "./subscription";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { MAX_PRODUCT_IMAGES, productImageUrlSchema } from "./product";
3
3
  import { MAX_NOTICE_VALUE_LENGTH } from "./product-info";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type PageParams, pageQueryShape } from "./common";
3
3
  import { BASE_CURRENCY, CURRENCIES } from "./currency";
4
4
  import {
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { CURRENCIES, KRW_MONEY_RULES, type MoneyRules } from "./currency";
3
3
  import { proratedRefundBase } from "./refund-policy";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { BASE_CURRENCY, currencyCodeSchema } from "./currency";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type PageParams, pageQueryShape } from "./common";
3
3
  import {
4
4
  customInputRequestSchema,
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import type { StoreRole } from "./auth";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { BASE_CURRENCY, currencyCodeSchema } from "./currency";
3
3
  import { type DeliveryType, type FulfillmentType, requiresShipping } from "./fulfillment";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { storeRoleSchema } from "./auth";
3
3
  import { localeCodeSchema } from "./locale";
4
4
  import { refundPolicyPatchSchema, refundPolicySchema } from "./refund-policy";
@@ -267,7 +267,7 @@ export const updateStoreRequestSchema = strictRequest(
267
267
  .boolean()
268
268
  .optional()
269
269
  .describe(
270
- "테스트 결제(샌드박스) 주문의 리뷰 허용. 기본 false — 돈을 내지 않은 주문으로 구매 인증 리뷰가 쌓이지 않게 막는다",
270
+ "@deprecated 효과 없음. 테스트 결제 주문도 실주문과 같이 리뷰를 쓸 수 있다. 호환을 위해 받기만 한다",
271
271
  ),
272
272
  autoDeliverDays: z
273
273
  .number()
@@ -326,7 +326,10 @@ export const storeSchema = z.object({
326
326
  storeId: z.string(),
327
327
  name: z.string(),
328
328
  storeCode: z.string(),
329
- storefrontUrl: z.url(),
329
+ storefrontUrl: z
330
+ .url()
331
+ .nullable()
332
+ .describe("스토어프론트 호스팅 사이트의 대표 주소. 사이트가 없으면 null"),
330
333
  status: z.enum(["ACTIVE", "SUSPENDED", "CLOSED"]),
331
334
  logoUrl: z.url().nullable(),
332
335
  businessNumber: z.string().nullable().describe("사업자등록번호(숫자 10자리). 없으면 null"),
@@ -345,7 +348,9 @@ export const storeSchema = z.object({
345
348
  .boolean()
346
349
  .optional()
347
350
  .default(false)
348
- .describe("테스트 결제(샌드박스) 주문의 리뷰 허용. 서버는 항상 싣는다"),
351
+ .describe(
352
+ "@deprecated 효과 없음. 테스트 결제 주문도 실주문과 같이 리뷰를 쓸 수 있다. 호환을 위해 저장한 값을 싣는다",
353
+ ),
349
354
  autoDeliverDays: z.number().int().describe(autoDeliverDaysDescription),
350
355
  autoConfirmDays: z.number().int().describe(autoConfirmDaysDescription),
351
356
  refundPolicy: refundPolicySchema.describe(
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { RESERVED_STORE_CODES } from "./store";
3
3
  import { strictRequest } from "./strict";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * 관리 API 요청 본문을 모르는 키까지 거르는 스키마로 바꾼다(이슈 #193, 2026-10-24). `z.object`는 모르는 키를 조용히 버려서
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * 요금제·구독 — `GET /v1/store/subscription`(스코프 `store:r`). 구독 단위는 상점이다.
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
 
3
3
  /**
4
4
  * MCP 도구 호출 계측 (`POST /v1/telemetry/mcp`, 이슈 #34).
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { strictRequest } from "./strict";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { claimStatusSchema, claimTypeSchema } from "./claim";
3
3
  import { orderItemStatusSchema } from "./common";
4
4
  import { orderItemFulfillmentSnapshotResponseSchema } from "./fulfillment";