@sayren/store-sdk 0.61.0 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -166,9 +166,9 @@ export declare const auditLogPageSchema: z$1.ZodObject<{
166
166
  }, z$1.core.$strip>;
167
167
  export type AuditLogPage = z$1.infer<typeof auditLogPageSchema>;
168
168
  export declare const agentPolicyDecisionSchema: z$1.ZodEnum<{
169
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
169
170
  DENIED: "DENIED";
170
171
  ALLOW: "ALLOW";
171
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
172
172
  }>;
173
173
  export type AgentPolicyDecision = z$1.infer<typeof agentPolicyDecisionSchema>;
174
174
  export declare const writePreviewSchema: z$1.ZodObject<{
@@ -192,9 +192,9 @@ export type WritePreview = z$1.infer<typeof writePreviewSchema>;
192
192
  export declare const writeDryRunResultSchema: z$1.ZodObject<{
193
193
  dryRun: z$1.ZodLiteral<true>;
194
194
  decision: z$1.ZodEnum<{
195
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
195
196
  DENIED: "DENIED";
196
197
  ALLOW: "ALLOW";
197
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
198
198
  }>;
199
199
  reason: z$1.ZodNullable<z$1.ZodString>;
200
200
  preview: z$1.ZodObject<{
@@ -502,8 +502,8 @@ export type AiRun = z$1.infer<typeof aiRunSchema>;
502
502
  export declare const aiActivitySchema: z$1.ZodEnum<{
503
503
  check: "check";
504
504
  code: "code";
505
- version: "version";
506
505
  status: "status";
506
+ version: "version";
507
507
  shipping: "shipping";
508
508
  product: "product";
509
509
  category: "category";
@@ -757,8 +757,8 @@ export declare const aiMessagePartSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObje
757
757
  activity: z$1.ZodOptional<z$1.ZodEnum<{
758
758
  check: "check";
759
759
  code: "code";
760
- version: "version";
761
760
  status: "status";
761
+ version: "version";
762
762
  shipping: "shipping";
763
763
  product: "product";
764
764
  category: "category";
@@ -913,8 +913,8 @@ export declare const aiMessageSchema: z$1.ZodObject<{
913
913
  activity: z$1.ZodOptional<z$1.ZodEnum<{
914
914
  check: "check";
915
915
  code: "code";
916
- version: "version";
917
916
  status: "status";
917
+ version: "version";
918
918
  shipping: "shipping";
919
919
  product: "product";
920
920
  category: "category";
@@ -1102,8 +1102,8 @@ export declare const aiConversationSchema: z$1.ZodObject<{
1102
1102
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1103
1103
  check: "check";
1104
1104
  code: "code";
1105
- version: "version";
1106
1105
  status: "status";
1106
+ version: "version";
1107
1107
  shipping: "shipping";
1108
1108
  product: "product";
1109
1109
  category: "category";
@@ -1606,8 +1606,8 @@ export declare const aiStreamEventSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObje
1606
1606
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1607
1607
  check: "check";
1608
1608
  code: "code";
1609
- version: "version";
1610
1609
  status: "status";
1610
+ version: "version";
1611
1611
  shipping: "shipping";
1612
1612
  product: "product";
1613
1613
  category: "category";
@@ -1734,8 +1734,8 @@ export declare const aiStreamEventSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObje
1734
1734
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1735
1735
  check: "check";
1736
1736
  code: "code";
1737
- version: "version";
1738
1737
  status: "status";
1738
+ version: "version";
1739
1739
  shipping: "shipping";
1740
1740
  product: "product";
1741
1741
  category: "category";
@@ -1962,8 +1962,8 @@ export declare const aiStreamRecordSchema: z$1.ZodObject<{
1962
1962
  activity: z$1.ZodOptional<z$1.ZodEnum<{
1963
1963
  check: "check";
1964
1964
  code: "code";
1965
- version: "version";
1966
1965
  status: "status";
1966
+ version: "version";
1967
1967
  shipping: "shipping";
1968
1968
  product: "product";
1969
1969
  category: "category";
@@ -2090,8 +2090,8 @@ export declare const aiStreamRecordSchema: z$1.ZodObject<{
2090
2090
  activity: z$1.ZodOptional<z$1.ZodEnum<{
2091
2091
  check: "check";
2092
2092
  code: "code";
2093
- version: "version";
2094
2093
  status: "status";
2094
+ version: "version";
2095
2095
  shipping: "shipping";
2096
2096
  product: "product";
2097
2097
  category: "category";
@@ -4475,8 +4475,8 @@ export declare const appManifestSchema: z$1.ZodObject<{
4475
4475
  icon: z$1.ZodOptional<z$1.ZodString>;
4476
4476
  readme: z$1.ZodOptional<z$1.ZodString>;
4477
4477
  runtime: z$1.ZodDefault<z$1.ZodEnum<{
4478
- external: "external";
4479
4478
  code: "code";
4479
+ external: "external";
4480
4480
  }>>;
4481
4481
  external: z$1.ZodOptional<z$1.ZodObject<{
4482
4482
  url: z$1.ZodURL;
@@ -9525,6 +9525,101 @@ export declare const claimRedeliveryRequestSchema: z$1.ZodObject<{
9525
9525
  inventoryLocationId: z$1.ZodOptional<z$1.ZodString>;
9526
9526
  }, z$1.core.$strip>;
9527
9527
  export type ClaimRedeliveryRequest = z$1.infer<typeof claimRedeliveryRequestSchema>;
9528
+ /**
9529
+ * 재고 부족 판정 방식 — `TOTAL` 조합의 모든 위치 가용 재고 합계로 판정 · `PER_LOCATION` (조합, 위치)마다 판정.
9530
+ * 위치가 하나인 상점은 결과가 같다
9531
+ */
9532
+ export declare const lowStockScopeSchema: z$1.ZodEnum<{
9533
+ TOTAL: "TOTAL";
9534
+ PER_LOCATION: "PER_LOCATION";
9535
+ }>;
9536
+ export type LowStockScope = z$1.infer<typeof lowStockScopeSchema>;
9537
+ export declare const lowStockSettingsSchema: z$1.ZodObject<{
9538
+ defaultThreshold: z$1.ZodNullable<z$1.ZodNumber>;
9539
+ scope: z$1.ZodEnum<{
9540
+ TOTAL: "TOTAL";
9541
+ PER_LOCATION: "PER_LOCATION";
9542
+ }>;
9543
+ }, z$1.core.$strip>;
9544
+ export type LowStockSettings = z$1.infer<typeof lowStockSettingsSchema>;
9545
+ export declare const lowStockSettingsRequestSchema: z$1.ZodObject<{
9546
+ defaultThreshold: z$1.ZodNullable<z$1.ZodNumber>;
9547
+ scope: z$1.ZodEnum<{
9548
+ TOTAL: "TOTAL";
9549
+ PER_LOCATION: "PER_LOCATION";
9550
+ }>;
9551
+ }, z$1.core.$strict>;
9552
+ export type LowStockSettingsRequest = z$1.infer<typeof lowStockSettingsRequestSchema>;
9553
+ export declare const lowStockVariantThresholdSchema: z$1.ZodObject<{
9554
+ productId: z$1.ZodString;
9555
+ variantId: z$1.ZodString;
9556
+ threshold: z$1.ZodNumber;
9557
+ }, z$1.core.$strip>;
9558
+ export type LowStockVariantThreshold = z$1.infer<typeof lowStockVariantThresholdSchema>;
9559
+ export declare const lowStockThresholdListQuerySchema: z$1.ZodObject<{
9560
+ productId: z$1.ZodOptional<z$1.ZodString>;
9561
+ cursor: z$1.ZodOptional<z$1.ZodString>;
9562
+ limit: z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>;
9563
+ }, z$1.core.$strip>;
9564
+ export type LowStockThresholdListQuery = z$1.infer<typeof lowStockThresholdListQuerySchema>;
9565
+ export declare const lowStockThresholdPageSchema: z$1.ZodObject<{
9566
+ contents: z$1.ZodArray<z$1.ZodObject<{
9567
+ productId: z$1.ZodString;
9568
+ variantId: z$1.ZodString;
9569
+ threshold: z$1.ZodNumber;
9570
+ }, z$1.core.$strip>>;
9571
+ nextCursor: z$1.ZodNullable<z$1.ZodString>;
9572
+ }, z$1.core.$strip>;
9573
+ export type LowStockThresholdPage = z$1.infer<typeof lowStockThresholdPageSchema>;
9574
+ export declare const lowStockThresholdsRequestSchema: z$1.ZodObject<{
9575
+ lines: z$1.ZodArray<z$1.ZodObject<{
9576
+ variantId: z$1.ZodString;
9577
+ threshold: z$1.ZodNullable<z$1.ZodNumber>;
9578
+ }, z$1.core.$strict>>;
9579
+ }, z$1.core.$strict>;
9580
+ export type LowStockThresholdsRequest = z$1.infer<typeof lowStockThresholdsRequestSchema>;
9581
+ export declare const lowStockThresholdsResultSchema: z$1.ZodArray<z$1.ZodObject<{
9582
+ productId: z$1.ZodString;
9583
+ variantId: z$1.ZodString;
9584
+ threshold: z$1.ZodNullable<z$1.ZodNumber>;
9585
+ }, z$1.core.$strip>>;
9586
+ export type LowStockThresholdsResult = z$1.infer<typeof lowStockThresholdsResultSchema>;
9587
+ export declare const lowStockItemSchema: z$1.ZodObject<{
9588
+ productId: z$1.ZodString;
9589
+ variantId: z$1.ZodString;
9590
+ inventoryLocationId: z$1.ZodNullable<z$1.ZodString>;
9591
+ available: z$1.ZodNumber;
9592
+ threshold: z$1.ZodNumber;
9593
+ thresholdSource: z$1.ZodEnum<{
9594
+ STORE: "STORE";
9595
+ VARIANT: "VARIANT";
9596
+ }>;
9597
+ }, z$1.core.$strip>;
9598
+ export type LowStockItem = z$1.infer<typeof lowStockItemSchema>;
9599
+ export declare const lowStockListQuerySchema: z$1.ZodObject<{
9600
+ cursor: z$1.ZodOptional<z$1.ZodString>;
9601
+ limit: z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>;
9602
+ }, z$1.core.$strip>;
9603
+ export type LowStockListQuery = z$1.infer<typeof lowStockListQuerySchema>;
9604
+ export declare const lowStockPageSchema: z$1.ZodObject<{
9605
+ scope: z$1.ZodEnum<{
9606
+ TOTAL: "TOTAL";
9607
+ PER_LOCATION: "PER_LOCATION";
9608
+ }>;
9609
+ contents: z$1.ZodArray<z$1.ZodObject<{
9610
+ productId: z$1.ZodString;
9611
+ variantId: z$1.ZodString;
9612
+ inventoryLocationId: z$1.ZodNullable<z$1.ZodString>;
9613
+ available: z$1.ZodNumber;
9614
+ threshold: z$1.ZodNumber;
9615
+ thresholdSource: z$1.ZodEnum<{
9616
+ STORE: "STORE";
9617
+ VARIANT: "VARIANT";
9618
+ }>;
9619
+ }, z$1.core.$strip>>;
9620
+ nextCursor: z$1.ZodNullable<z$1.ZodString>;
9621
+ }, z$1.core.$strip>;
9622
+ export type LowStockPage = z$1.infer<typeof lowStockPageSchema>;
9528
9623
  //#endregion
9529
9624
  //#region src/schemas/login.d.ts
9530
9625
  /** 소셜 로그인 공급자 */
@@ -13575,13 +13670,13 @@ export declare const discountSchema: z$1.ZodObject<{
13575
13670
  export type Discount = z$1.infer<typeof discountSchema>;
13576
13671
  export declare const productSchema: z$1.ZodObject<{
13577
13672
  name: z$1.ZodString;
13578
- salePrice: z$1.ZodNumber;
13579
13673
  status: z$1.ZodEnum<{
13580
13674
  SALE: "SALE";
13581
13675
  SUSPENDED: "SUSPENDED";
13582
13676
  OUT_OF_STOCK: "OUT_OF_STOCK";
13583
13677
  CLOSED: "CLOSED";
13584
13678
  }>;
13679
+ salePrice: z$1.ZodNumber;
13585
13680
  stockQuantity: z$1.ZodNumber;
13586
13681
  categoryId: z$1.ZodNullable<z$1.ZodString>;
13587
13682
  productId: z$1.ZodString;
@@ -14634,9 +14729,9 @@ export type ProductPatchRequest = z$1.infer<typeof productPatchRequestSchema>;
14634
14729
  export declare const productSortSchema: z$1.ZodEnum<{
14635
14730
  "createdAt.desc": "createdAt.desc";
14636
14731
  "createdAt.asc": "createdAt.asc";
14637
- "updatedAt.desc": "updatedAt.desc";
14638
14732
  "salePrice.asc": "salePrice.asc";
14639
14733
  "salePrice.desc": "salePrice.desc";
14734
+ "updatedAt.desc": "updatedAt.desc";
14640
14735
  }>;
14641
14736
  export type ProductSort = z$1.infer<typeof productSortSchema>;
14642
14737
  export interface ProductListParams extends PageParams {
@@ -14665,9 +14760,9 @@ export declare const productListQuerySchema: z$1.ZodObject<{
14665
14760
  sort: z$1.ZodOptional<z$1.ZodEnum<{
14666
14761
  "createdAt.desc": "createdAt.desc";
14667
14762
  "createdAt.asc": "createdAt.asc";
14668
- "updatedAt.desc": "updatedAt.desc";
14669
14763
  "salePrice.asc": "salePrice.asc";
14670
14764
  "salePrice.desc": "salePrice.desc";
14765
+ "updatedAt.desc": "updatedAt.desc";
14671
14766
  }>>;
14672
14767
  }, z$1.core.$strip>;
14673
14768
  export declare const discountRequestSchema: z$1.ZodObject<{
@@ -16943,6 +17038,7 @@ export declare const storefrontSiteSnapshotSchema: z$1.ZodObject<{
16943
17038
  export type StorefrontSiteSnapshot = z$1.infer<typeof storefrontSiteSnapshotSchema>;
16944
17039
  export declare const storefrontSiteSchema: z$1.ZodObject<{
16945
17040
  siteId: z$1.ZodString;
17041
+ autoPublish: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodBoolean>>;
16946
17042
  deployWithoutApproval: z$1.ZodOptional<z$1.ZodBoolean>;
16947
17043
  slug: z$1.ZodString;
16948
17044
  hostname: z$1.ZodString;
@@ -17028,6 +17124,7 @@ export declare const storefrontHostingSchema: z$1.ZodObject<{
17028
17124
  editingEnabled: z$1.ZodBoolean;
17029
17125
  site: z$1.ZodNullable<z$1.ZodObject<{
17030
17126
  siteId: z$1.ZodString;
17127
+ autoPublish: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodBoolean>>;
17031
17128
  deployWithoutApproval: z$1.ZodOptional<z$1.ZodBoolean>;
17032
17129
  slug: z$1.ZodString;
17033
17130
  hostname: z$1.ZodString;
@@ -18276,6 +18373,16 @@ export declare const connectStorefrontGitRequestSchema: z$1.ZodObject<{
18276
18373
  rootDirectory: z$1.ZodOptional<z$1.ZodString>;
18277
18374
  }, z$1.core.$strip>;
18278
18375
  export type ConnectStorefrontGitRequest = z$1.infer<typeof connectStorefrontGitRequestSchema>;
18376
+ /** `PUT /v1/storefront/site/auto-publish` — 배포 뒤 바로 게시(#356). null이면 `sayren.json` `deploy.production`을 따른다 */
18377
+ export declare const setStorefrontAutoPublishRequestSchema: z$1.ZodObject<{
18378
+ autoPublish: z$1.ZodNullable<z$1.ZodBoolean>;
18379
+ }, z$1.core.$strip>;
18380
+ export type SetStorefrontAutoPublishRequest = z$1.infer<typeof setStorefrontAutoPublishRequestSchema>;
18381
+ /**
18382
+ * 배포(CLI `sayren deploy`·Git 운영 브랜치 push)가 만든 버전을 바로 게시하는가(#356) — 사이트 설정(`autoPublish`)이 있으면 그것,
18383
+ * 없으면 소스의 `sayren.json` `deploy.production`, 그것도 없으면 저장만. CLI `--production`은 이 판정과 무관하게 게시한다
18384
+ */
18385
+ export declare function resolveStorefrontDeployProduction(siteSetting: boolean | null | undefined, projectSetting: boolean | null | undefined): boolean;
18279
18386
  /** `PUT /v1/storefront/site/deploy-approval` — 승인 없이 배포(#138) */
18280
18387
  export declare const setStorefrontDeployApprovalRequestSchema: z$1.ZodObject<{
18281
18388
  deployWithoutApproval: z$1.ZodBoolean;
@@ -18582,8 +18689,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
18582
18689
  }>;
18583
18690
  get: (productId: string) => Promise<{
18584
18691
  name: string;
18585
- salePrice: number;
18586
18692
  status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18693
+ salePrice: number;
18587
18694
  stockQuantity: number;
18588
18695
  categoryId: string | null;
18589
18696
  productId: string;
@@ -18731,8 +18838,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
18731
18838
  }>;
18732
18839
  create: (body: ProductCreateRequestInput, idempotencyKey?: string) => Promise<{
18733
18840
  name: string;
18734
- salePrice: number;
18735
18841
  status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18842
+ salePrice: number;
18736
18843
  stockQuantity: number;
18737
18844
  categoryId: string | null;
18738
18845
  productId: string;
@@ -18880,8 +18987,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
18880
18987
  }>;
18881
18988
  update: (productId: string, body: ProductReplaceRequestInput) => Promise<{
18882
18989
  name: string;
18883
- salePrice: number;
18884
18990
  status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
18991
+ salePrice: number;
18885
18992
  stockQuantity: number;
18886
18993
  categoryId: string | null;
18887
18994
  productId: string;
@@ -19211,8 +19318,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
19211
19318
  /** 상품 상세 묶음 조회(id·상품번호 합 100개) — 상점 플랫폼 전용. 이 상점에 없는 값은 빠진다 */
19212
19319
  lookup: (body: ProductLookupRequest) => Promise<{
19213
19320
  name: string;
19214
- salePrice: number;
19215
19321
  status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
19322
+ salePrice: number;
19216
19323
  stockQuantity: number;
19217
19324
  categoryId: string | null;
19218
19325
  productId: string;
@@ -26740,6 +26847,48 @@ export declare function createStoreClient(options: StoreClientOptions): {
26740
26847
  }[];
26741
26848
  createdAt: string;
26742
26849
  }>;
26850
+ /**
26851
+ * 재고 부족 (이슈 #212) — 가용 재고가 임계값 이하인 조합. 임계값은 상점 기본값 + 조합별 덮어쓰기이고 판정 방식(위치 합계·위치별)은
26852
+ * 설정이 정한다. 조회는 `inventory:r`, 설정은 `inventory:rw`다
26853
+ */
26854
+ lowStock: {
26855
+ /** 커서 페이지네이션 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
26856
+ list: (params?: LowStockListQuery) => Promise<{
26857
+ scope: "TOTAL" | "PER_LOCATION";
26858
+ contents: {
26859
+ productId: string;
26860
+ variantId: string;
26861
+ inventoryLocationId: string | null;
26862
+ available: number;
26863
+ threshold: number;
26864
+ thresholdSource: "STORE" | "VARIANT";
26865
+ }[];
26866
+ nextCursor: string | null;
26867
+ }>;
26868
+ settings: () => Promise<{
26869
+ defaultThreshold: number | null;
26870
+ scope: "TOTAL" | "PER_LOCATION";
26871
+ }>;
26872
+ updateSettings: (body: LowStockSettingsRequest) => Promise<{
26873
+ defaultThreshold: number | null;
26874
+ scope: "TOTAL" | "PER_LOCATION";
26875
+ }>;
26876
+ /** 조합별 임계값 목록 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
26877
+ thresholds: (params?: LowStockThresholdListQuery) => Promise<{
26878
+ contents: {
26879
+ productId: string;
26880
+ variantId: string;
26881
+ threshold: number;
26882
+ }[];
26883
+ nextCursor: string | null;
26884
+ }>;
26885
+ /** 조합별 임계값 설정·해제(`threshold: null`) — 응답은 요청한 조합마다 저장한 값이다 */
26886
+ setThresholds: (body: LowStockThresholdsRequest) => Promise<{
26887
+ productId: string;
26888
+ variantId: string;
26889
+ threshold: number | null;
26890
+ }[]>;
26891
+ };
26743
26892
  };
26744
26893
  /** 판매 권역(이슈 #130) — 국가·통화·도메인. 쓰기는 다중 통화가 켜진 상점에서만 된다 */
26745
26894
  markets: {
@@ -27013,7 +27162,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27013
27162
  label: string;
27014
27163
  status: "error" | "unknown" | "ok";
27015
27164
  summary: string | null;
27016
- activity?: "check" | "code" | "version" | "status" | "shipping" | "product" | "category" | "brief" | "files" | "preview" | "template" | "site" | "info" | "upload" | "design" | "verify" | undefined;
27165
+ activity?: "check" | "code" | "status" | "version" | "shipping" | "product" | "category" | "brief" | "files" | "preview" | "template" | "site" | "info" | "upload" | "design" | "verify" | undefined;
27017
27166
  target?: string | undefined;
27018
27167
  changes?: {
27019
27168
  path: string;
@@ -27222,6 +27371,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27222
27371
  slugChangesRemaining: number;
27223
27372
  createdAt: string;
27224
27373
  updatedAt: string;
27374
+ autoPublish?: boolean | null | undefined;
27225
27375
  deployWithoutApproval?: boolean | undefined;
27226
27376
  suspension?: {
27227
27377
  reason: string | null;
@@ -27288,6 +27438,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27288
27438
  slugChangesRemaining: number;
27289
27439
  createdAt: string;
27290
27440
  updatedAt: string;
27441
+ autoPublish?: boolean | null | undefined;
27291
27442
  deployWithoutApproval?: boolean | undefined;
27292
27443
  suspension?: {
27293
27444
  reason: string | null;
@@ -27408,6 +27559,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27408
27559
  slugChangesRemaining: number;
27409
27560
  createdAt: string;
27410
27561
  updatedAt: string;
27562
+ autoPublish?: boolean | null | undefined;
27411
27563
  deployWithoutApproval?: boolean | undefined;
27412
27564
  suspension?: {
27413
27565
  reason: string | null;
@@ -27464,6 +27616,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27464
27616
  slugChangesRemaining: number;
27465
27617
  createdAt: string;
27466
27618
  updatedAt: string;
27619
+ autoPublish?: boolean | null | undefined;
27467
27620
  deployWithoutApproval?: boolean | undefined;
27468
27621
  suspension?: {
27469
27622
  reason: string | null;
@@ -27520,6 +27673,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27520
27673
  slugChangesRemaining: number;
27521
27674
  createdAt: string;
27522
27675
  updatedAt: string;
27676
+ autoPublish?: boolean | null | undefined;
27523
27677
  deployWithoutApproval?: boolean | undefined;
27524
27678
  suspension?: {
27525
27679
  reason: string | null;
@@ -27576,6 +27730,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27576
27730
  slugChangesRemaining: number;
27577
27731
  createdAt: string;
27578
27732
  updatedAt: string;
27733
+ autoPublish?: boolean | null | undefined;
27579
27734
  deployWithoutApproval?: boolean | undefined;
27580
27735
  suspension?: {
27581
27736
  reason: string | null;
@@ -27797,6 +27952,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
27797
27952
  slugChangesRemaining: number;
27798
27953
  createdAt: string;
27799
27954
  updatedAt: string;
27955
+ autoPublish?: boolean | null | undefined;
27800
27956
  deployWithoutApproval?: boolean | undefined;
27801
27957
  suspension?: {
27802
27958
  reason: string | null;
@@ -28367,6 +28523,63 @@ export declare function createStoreClient(options: StoreClientOptions): {
28367
28523
  merged?: boolean | undefined;
28368
28524
  uploadedRef?: string | undefined;
28369
28525
  }>;
28526
+ /** `PUT /v1/storefront/site/auto-publish` — 배포 뒤 바로 게시(상점 플랫폼 OWNER·ADMIN 전용, #356) */
28527
+ setAutoPublish: (body: SetStorefrontAutoPublishRequest) => Promise<{
28528
+ siteId: string;
28529
+ slug: string;
28530
+ hostname: string;
28531
+ url: string;
28532
+ domains: {
28533
+ hostname: string;
28534
+ kind: "PLATFORM" | "CUSTOM";
28535
+ status: "ACTIVE" | "HELD";
28536
+ isPrimary: boolean;
28537
+ holdUntil: string | null;
28538
+ }[];
28539
+ status: "SUSPENDED" | "CLOSED" | "ACTIVE";
28540
+ visibility: "COMING_SOON" | "PUBLIC";
28541
+ publishedVersion: {
28542
+ versionId: string;
28543
+ number: number;
28544
+ status: "FAILED" | "BUILDING" | "READY";
28545
+ published: boolean;
28546
+ publishedAt: string | null;
28547
+ message: string | null;
28548
+ source: "TEMPLATE" | "EDIT";
28549
+ buildId: string | null;
28550
+ createdByType: string;
28551
+ createdAt: string;
28552
+ createdVia?: string | null | undefined;
28553
+ gitRef?: string | null | undefined;
28554
+ commitSha?: string | null | undefined;
28555
+ excludedPaths?: string[] | null | undefined;
28556
+ mainChanged?: boolean | undefined;
28557
+ buildCanceled?: boolean | undefined;
28558
+ previewable?: boolean | undefined;
28559
+ } | null;
28560
+ provisioning: {
28561
+ status: "PENDING" | "FAILED" | "SYNCED";
28562
+ lastErrorCode: string | null;
28563
+ syncedAt: string | null;
28564
+ };
28565
+ editPreview: {
28566
+ hostname: string | null;
28567
+ };
28568
+ slugChangesRemaining: number;
28569
+ createdAt: string;
28570
+ updatedAt: string;
28571
+ autoPublish?: boolean | null | undefined;
28572
+ deployWithoutApproval?: boolean | undefined;
28573
+ suspension?: {
28574
+ reason: string | null;
28575
+ suspendedAt: string | null;
28576
+ } | null | undefined;
28577
+ snapshot?: {
28578
+ url: string;
28579
+ versionId: string | null;
28580
+ capturedAt: string | null;
28581
+ } | null | undefined;
28582
+ }>;
28370
28583
  /** `PUT /v1/storefront/site/deploy-approval` — 승인 없이 배포(상점 플랫폼 OWNER·ADMIN 전용) */
28371
28584
  setDeployApproval: (body: SetStorefrontDeployApprovalRequest) => Promise<{
28372
28585
  siteId: string;
@@ -28412,6 +28625,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
28412
28625
  slugChangesRemaining: number;
28413
28626
  createdAt: string;
28414
28627
  updatedAt: string;
28628
+ autoPublish?: boolean | null | undefined;
28415
28629
  deployWithoutApproval?: boolean | undefined;
28416
28630
  suspension?: {
28417
28631
  reason: string | null;
package/dist/index.mjs CHANGED
@@ -1692,6 +1692,7 @@ const storefrontSiteSnapshotSchema = z$1.object({
1692
1692
  });
1693
1693
  const storefrontSiteSchema = z$1.object({
1694
1694
  siteId: z$1.string(),
1695
+ autoPublish: z$1.boolean().nullable().optional().describe("배포 뒤 바로 게시 — CLI `sayren deploy`·Git 운영 브랜치 push가 만든 버전을 곧바로 게시한다. null이면 소스의 `sayren.json` `deploy.production`, 그것도 없으면 저장만. 상점 플랫폼에서 OWNER·ADMIN만 바꾼다"),
1695
1696
  deployWithoutApproval: z$1.boolean().optional().describe("승인 없이 배포 — 켜져 있으면 AI 에이전트의 발행·되돌리기가 승인 없이 실행된다. 상점 플랫폼에서 OWNER·ADMIN만 바꾼다"),
1696
1697
  slug: z$1.string().describe("주소 슬러그"),
1697
1698
  hostname: z$1.string().describe("대표 호스트 이름"),
@@ -2561,6 +2562,15 @@ const connectStorefrontGitRequestSchema = strictRequest(z$1.object({
2561
2562
  productionBranch: z$1.string().min(1).max(200).regex(/^[A-Za-z0-9._-]+(\/[A-Za-z0-9._-]+)*$/).optional().describe("운영 배포 브랜치(생략하면 저장소 기본 브랜치)"),
2562
2563
  rootDirectory: z$1.string().max(200).regex(/^$|^[A-Za-z0-9._-]+(\/[A-Za-z0-9._-]+)*$/).refine((v) => !v.split("/").some((seg) => seg === "." || seg === ".."), "상대 경로만").optional().describe("저장소 안 사이트 루트(생략하면 저장소 루트)")
2563
2564
  }));
2565
+ /** `PUT /v1/storefront/site/auto-publish` — 배포 뒤 바로 게시(#356). null이면 `sayren.json` `deploy.production`을 따른다 */
2566
+ const setStorefrontAutoPublishRequestSchema = strictRequest(z$1.object({ autoPublish: z$1.boolean().nullable() }));
2567
+ /**
2568
+ * 배포(CLI `sayren deploy`·Git 운영 브랜치 push)가 만든 버전을 바로 게시하는가(#356) — 사이트 설정(`autoPublish`)이 있으면 그것,
2569
+ * 없으면 소스의 `sayren.json` `deploy.production`, 그것도 없으면 저장만. CLI `--production`은 이 판정과 무관하게 게시한다
2570
+ */
2571
+ function resolveStorefrontDeployProduction(siteSetting, projectSetting) {
2572
+ return siteSetting ?? projectSetting ?? false;
2573
+ }
2564
2574
  /** `PUT /v1/storefront/site/deploy-approval` — 승인 없이 배포(#138) */
2565
2575
  const setStorefrontDeployApprovalRequestSchema = strictRequest(z$1.object({ deployWithoutApproval: z$1.boolean() }));
2566
2576
  //#endregion
@@ -10401,6 +10411,60 @@ const claimRedeliveryRequestSchema = strictRequest(z$1.object({
10401
10411
  trackingNumber: z$1.string().min(1),
10402
10412
  inventoryLocationId: z$1.string().min(1).optional().describe("교환품을 보낼 재고 위치. 생략하면 그 상품의 기준 위치")
10403
10413
  }));
10414
+ /**
10415
+ * 재고 부족 판정 방식 — `TOTAL` 조합의 모든 위치 가용 재고 합계로 판정 · `PER_LOCATION` (조합, 위치)마다 판정.
10416
+ * 위치가 하나인 상점은 결과가 같다
10417
+ */
10418
+ const lowStockScopeSchema = z$1.enum(["TOTAL", "PER_LOCATION"]).describe("재고 부족 판정 방식 — `TOTAL` 위치 합계 · `PER_LOCATION` 위치별 각각");
10419
+ const lowStockThresholdSchema = z$1.number().int().min(0).max(1e6);
10420
+ const lowStockSettingsSchema = z$1.object({
10421
+ defaultThreshold: z$1.number().int().nullable().describe("상점 기본 임계값 — 가용 재고가 이 값 이하인 조합이 재고 부족이다. null이면 조합별 임계값이 있는 조합만 판정한다"),
10422
+ scope: lowStockScopeSchema
10423
+ });
10424
+ const lowStockSettingsRequestSchema = z$1.strictObject({
10425
+ defaultThreshold: lowStockThresholdSchema.nullable(),
10426
+ scope: lowStockScopeSchema
10427
+ });
10428
+ const lowStockVariantThresholdSchema = z$1.object({
10429
+ productId: z$1.string(),
10430
+ variantId: z$1.string(),
10431
+ threshold: z$1.number().int().describe("이 조합의 임계값(상점 기본 임계값을 덮어쓴다)")
10432
+ });
10433
+ const lowStockThresholdListQuerySchema = z$1.object({
10434
+ productId: z$1.string().optional(),
10435
+ cursor: z$1.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
10436
+ limit: z$1.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)")
10437
+ });
10438
+ const lowStockThresholdPageSchema = z$1.object({
10439
+ contents: z$1.array(lowStockVariantThresholdSchema),
10440
+ nextCursor: z$1.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null")
10441
+ });
10442
+ const lowStockThresholdsRequestSchema = z$1.strictObject({ lines: z$1.array(z$1.strictObject({
10443
+ variantId: z$1.string().min(1),
10444
+ threshold: lowStockThresholdSchema.nullable().describe("이 조합의 임계값. null이면 조합별 임계값을 지우고 상점 기본 임계값을 따른다")
10445
+ })).min(1).max(200) });
10446
+ const lowStockThresholdsResultSchema = z$1.array(z$1.object({
10447
+ productId: z$1.string(),
10448
+ variantId: z$1.string(),
10449
+ threshold: z$1.number().int().nullable().describe("저장한 조합별 임계값. null이면 상점 기본 임계값을 따른다")
10450
+ }));
10451
+ const lowStockItemSchema = z$1.object({
10452
+ productId: z$1.string(),
10453
+ variantId: z$1.string(),
10454
+ inventoryLocationId: z$1.string().nullable().describe("판정한 위치 — 판정 방식이 `TOTAL`이면 null(모든 위치 합계)"),
10455
+ available: z$1.number().int().describe("판정한 가용 재고(`TOTAL`이면 모든 위치 합계)"),
10456
+ threshold: z$1.number().int().describe("적용한 임계값"),
10457
+ thresholdSource: z$1.enum(["VARIANT", "STORE"]).describe("임계값 출처 — 조합별 임계값 `VARIANT` · 상점 기본 임계값 `STORE`")
10458
+ });
10459
+ const lowStockListQuerySchema = z$1.object({
10460
+ cursor: z$1.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
10461
+ limit: z$1.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)")
10462
+ });
10463
+ const lowStockPageSchema = z$1.object({
10464
+ scope: lowStockScopeSchema.describe("이 목록을 판정한 방식"),
10465
+ contents: z$1.array(lowStockItemSchema),
10466
+ nextCursor: z$1.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null")
10467
+ });
10404
10468
  //#endregion
10405
10469
  //#region src/schemas/login.ts
10406
10470
  /** 소셜 로그인 공급자 */
@@ -12772,7 +12836,21 @@ list: (params) => storeHttp.request("GET", "/audit-logs", auditLogPageSchema, {
12772
12836
  transfer: (body, idempotencyKey) => storeHttp.request("POST", "/inventory/transfers", inventoryOperationResultSchema, {
12773
12837
  body: inventoryTransferRequestSchema.parse(body),
12774
12838
  headers: idempotency(idempotencyKey)
12775
- })
12839
+ }),
12840
+ /**
12841
+ * 재고 부족 (이슈 #212) — 가용 재고가 임계값 이하인 조합. 임계값은 상점 기본값 + 조합별 덮어쓰기이고 판정 방식(위치 합계·위치별)은
12842
+ * 설정이 정한다. 조회는 `inventory:r`, 설정은 `inventory:rw`다
12843
+ */
12844
+ lowStock: {
12845
+ /** 커서 페이지네이션 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
12846
+ list: (params) => storeHttp.request("GET", "/inventory/low-stock", lowStockPageSchema, { query: params }),
12847
+ settings: () => storeHttp.request("GET", "/inventory/low-stock-settings", lowStockSettingsSchema),
12848
+ updateSettings: (body) => storeHttp.request("PUT", "/inventory/low-stock-settings", lowStockSettingsSchema, { body: lowStockSettingsRequestSchema.parse(body) }),
12849
+ /** 조합별 임계값 목록 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
12850
+ thresholds: (params) => storeHttp.request("GET", "/inventory/low-stock-thresholds", lowStockThresholdPageSchema, { query: params }),
12851
+ /** 조합별 임계값 설정·해제(`threshold: null`) — 응답은 요청한 조합마다 저장한 값이다 */
12852
+ setThresholds: (body) => storeHttp.request("PUT", "/inventory/low-stock-thresholds", lowStockThresholdsResultSchema, { body: lowStockThresholdsRequestSchema.parse(body) })
12853
+ }
12776
12854
  },
12777
12855
  /** 판매 권역(이슈 #130) — 국가·통화·도메인. 쓰기는 다중 통화가 켜진 상점에서만 된다 */
12778
12856
  markets: {
@@ -12944,6 +13022,8 @@ list: (params) => storeHttp.request("GET", "/audit-logs", auditLogPageSchema, {
12944
13022
  * `SOURCE_BLOBS_MISSING`(`details.hashes`를 올리고 다시)
12945
13023
  */
12946
13024
  replaceSource: (body) => storeHttp.request("PUT", "/storefront/site/source", storefrontSourceReplacedSchema, { body: replaceStorefrontSourceRequestSchema.parse(body) }),
13025
+ /** `PUT /v1/storefront/site/auto-publish` — 배포 뒤 바로 게시(상점 플랫폼 OWNER·ADMIN 전용, #356) */
13026
+ setAutoPublish: (body) => storeHttp.request("PUT", "/storefront/site/auto-publish", storefrontSiteSchema, { body: setStorefrontAutoPublishRequestSchema.parse(body) }),
12947
13027
  /** `PUT /v1/storefront/site/deploy-approval` — 승인 없이 배포(상점 플랫폼 OWNER·ADMIN 전용) */
12948
13028
  setDeployApproval: (body) => storeHttp.request("PUT", "/storefront/site/deploy-approval", storefrontSiteSchema, { body: setStorefrontDeployApprovalRequestSchema.parse(body) }),
12949
13029
  /** `GET /v1/storefront/site/git` — Git 원천(발행 소스를 둔 저장소)과 상태(#138) */
@@ -13531,4 +13611,4 @@ function createStoreSession(options) {
13531
13611
  };
13532
13612
  }
13533
13613
  //#endregion
13534
- export { AI_AGENTS, AI_AGENT_NOTES_DIR, AI_AGENT_PHASES, AI_DESIGN_BOARDS_MAX, AI_DESIGN_BOARD_FILE_PATTERN, AI_DESIGN_BOARD_KINDS, AI_DESIGN_CANVAS_PATH, AI_DESIGN_CONFIRM_APPROVE, AI_DESIGN_DIR, AI_DESIGN_GUIDE_PATH, AI_DESIGN_VIEWPORTS, AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, AI_RUN_RESUME_CHOICE, AI_SETUP_CONFIRM_APPROVE, AI_SITEMAP_PATH, AI_TODOS_MAX, AI_TODO_STATUSES, AI_TOOL_CHANGE_LINE_MAX, AI_TOOL_CHANGE_RANGES_MAX, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BASE_CURRENCY, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, CERTIFICATION_STATUSES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, CONDITION_OPERATORS_BY_TYPE, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_CONDITION_FIELDS, COUPON_LINE_CONDITIONS, COUPON_ORDER_CONDITIONS, COUPON_REWARD_KINDS, COUPON_REWARD_TIER_MAX, COUPON_STACKING_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, COUPON_TARGET_RULES_ALL, COUPON_TIME_ZONE, COUPON_WEEKDAYS, CURRENCIES, CURRENCY_CODES, CUSTOMER_BIRTHDATE_PATTERN, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, DEDICATED_EASY_PAY_PROVIDER, DEFAULT_CONDITION_LIMITS, DEFAULT_STORE_LOCALE, EMPTY_CONDITION_GROUP, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, InvalidPriceUnitError, KAKAOPAY_TEST_CID, KNOWN_WEBHOOK_EVENT_TYPES, KRW_MONEY_RULES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_CERTIFICATION_ITEMS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_INFO_SECTION_TITLE, MAX_INVENTORY_OPERATION_LINES, MAX_NOTICE_TEMPLATE_NAME, MAX_NOTICE_VALUE_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_PRODUCT_IMPORT_ITEMS, MAX_PRODUCT_IMPORT_ITEMS_PER_REQUEST, MAX_PRODUCT_INFO_SECTIONS, MAX_PRODUCT_LOOKUP, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, PAYPAL_CURRENCIES, PLATFORM_CODE_SETS, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SAYREN_API_BASE_URL, SAYREN_API_ORIGIN, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SITE_VAR_KEY_PATTERN, STOREFRONT_SITE_VAR_LIMIT, STOREFRONT_SITE_VAR_MAX_BYTES, STOREFRONT_SITE_VAR_RESERVED_NAMES, STOREFRONT_SITE_VAR_RESERVED_PREFIX, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_PACK_MAX_BYTES, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, STORE_SHOP_TYPES, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, VOUCHER_COUNT_MAX, VOUCHER_PREFIX_PATTERN, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, additionalCurrencyPriceSchema, additionalCurrencyPricesSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiActivitySchema, aiAgentPhaseSchema, aiAgentSchema, aiAttachmentSchema, aiChoiceOptionSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiDesignBoardSchema, aiDesignCanvasSchema, aiDesignConfirmBoardSchema, aiDesignSelectionSchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiSetupConfirmItemSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, aiTodoSchema, aiToolChangeSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, anyConditionHolds, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, applyFlowOperationsRequestSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, assertSaleUnit, assumeCouponFactRules, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestCouponSelection, bestSellingRuleOf, birthdateFactOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, canonicalLocale, canonicalizeConditionGroup, canonicalizeConditionRule, canonicalizeCouponStacking, canonicalizeCouponTargetRules, canonicalizeCouponTargetTree, canonicalizeCouponTrees, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeTypeSchema, claimCollectCompleteRequestSchema, claimDetailSchema, claimFlowEditSessionRequestSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimRedeliveryRequestSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionLocalizationRequestSchema, collectionLocalizationSchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, conditionCatalog, conditionFields, conditionGroupSchema, conditionIssues, conditionRuleSchema, conditionValueSchema, connectStorefrontGitRequestSchema, consentActionSchema, consentKindSchema, consentSourceSchema, couponAudienceMatches, couponBenefitOfReward, couponBenefitSchema, couponClaimFactsOf, couponConditionTreeSchema, couponConditionsInputSchema, couponConditionsSchema, couponCustomerFactNames, couponDiscountOf, couponDistributionSchema, couponFactsSchema, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponLineContextOf, couponLineMatches, couponListQuerySchema, couponPointRewardOf, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRequestRuleIssues, couponRequirementsOf, couponRewardSchema, couponRuleDiscountOf, couponRuleIssues, couponRuleSchema, couponRulesFromLegacy, couponSchema, couponStackingOf, couponStackingSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetRulesFromTree, couponTargetRulesSchema, couponTargetSchema, couponTargetTreeFromRules, couponTargetTreeMatches, couponTargetTreeOf, couponTargetTreeSchema, couponTierOf, couponTimeFactsAt, couponTodayAt, couponTreesOf, couponVoucherCodesSchema, couponVoucherInputSchema, couponsCombinable, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createOrderRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontSourceUploadsRequestSchema, createStorefrontVersionRequestSchema, createdOrderSchema, currencyCodeSchema, currencyRefundFeesSchema, currencyShippingPolicySchema, currencySpecOf, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerUserinfoAddressSchema, customerUserinfoInputSchema, customerUserinfoSchema, customerWithdrawalBlockedDetailsSchema, daysBetween, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeCouponGroup, describeCouponRule, describeCouponTargetRules, describeCouponTargetTree, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, directOrderShippingAddressSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, evaluateCondition, evaluateConditionNode, evaluateCouponEligibility, eventTypeSchema, exchangeAuthorizationCode, floorToSaleUnit, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowAuthoringGuideSchema, flowDraftEdgesSchema, flowDraftNodeSchema, flowDraftNodesSchema, flowDraftOperationSchema, flowEditSessionViewSchema, flowFieldValueSchema, flowInputFieldSchema, flowIssueSchema, flowNodeIdSchema, flowNodeTypeDetailSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowOperationsResultSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fromDecimalString, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, infoFieldSourceSchema, infoSchemaFieldSchema, infoSchemaSchema, infoSectionLocalizationRequestSchema, infoSectionLocalizationSchema, infoSectionRequestSchema, infoSectionSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryAdjustmentLineSchema, inventoryAdjustmentReasonSchema, inventoryAdjustmentRequestSchema, inventoryChangedWebhookEventDataSchema, inventoryChangedWebhookEventSchema, inventoryLevelListQuerySchema, inventoryLevelPageSchema, inventoryLevelSchema, inventoryLocationRequestSchema, inventoryLocationSchema, inventoryModeSchema, inventoryMovementKindSchema, inventoryMovementListQuerySchema, inventoryMovementPageSchema, inventoryMovementSchema, inventoryOperationResultSchema, inventoryTransferRequestSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isAiAgentNotesPath, isAiChoiceAnswer, isAiDesignPath, isAiWorkspaceDocPath, isConditionGroup, isCouponTargetLine, isCurrencyCode, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isSaleUnitPrice, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, kakaoPayCredentialsInputSchema, legacyFromCouponRules, linkStorefrontGitInstallationRequestSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, localeCodeSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, marketSchema, maskedSecretSchema, matchesCollectionRules, maxWeightAssignment, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, minPaymentOf, minorToMajor, moneyRulesOf, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, naverPayCredentialsInputSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeLocale, normalizeStorefrontHostname, normalizeStorefrontPath, noticeTemplateRequestSchema, noticeTemplateSchema, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderPaymentAddedWebhookEventDataSchema, orderPaymentAddedWebhookEventSchema, orderPaymentRequestedWebhookEventDataSchema, orderPaymentRequestedWebhookEventSchema, orderPaymentSchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, payPalCredentialsInputSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, paymentStatusProviderSchema, paymentStatusSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderResponseSchema, pgProviderSchema, pgVerificationResultSchema, pickCouponFacts, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, platformCodeSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCertificationsRequestSchema, productCertificationsSchema, productCreateRequestSchema, productCurrencyPriceSchema, productCurrencyPricesSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productImportErrorSchema, productImportItemSchema, productImportItemsRequestSchema, productImportSchema, productImportStatusSchema, productListQuerySchema, productLocalizationNeedsTranslation, productLocalizationRequestSchema, productLocalizationSchema, productLookupRequestSchema, productNoticeRequestSchema, productNoticeSchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, putStorefrontSiteVarRequestSchema, quoteDelivery, quotePricing, rankBestSelling, recomputeOrderCoupons, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, 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, storedAdditionalCurrencyPriceSchema, storedProductCurrencyPriceSchema, storedShippingCurrencyPriceSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDevLogsSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditFailureSchema, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontGitConnectStateSchema, storefrontGitMergeRequestSchema, storefrontGitMergeSchema, storefrontGitRepositorySchema, storefrontGitStatusSchema, storefrontHostingSchema, storefrontInitialSourceSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSiteVarKeyProblem, storefrontSiteVarSchema, storefrontSiteVarsSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourcePackSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSourceUploadsSchema, storefrontSuspensionSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateCustomerRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourcePackRequestSchema, uploadTicketSchema, upsertKakaoPayProviderRequestSchema, upsertNaverPayProviderRequestSchema, upsertPayPalProviderRequestSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
13614
+ export { AI_AGENTS, AI_AGENT_NOTES_DIR, AI_AGENT_PHASES, AI_DESIGN_BOARDS_MAX, AI_DESIGN_BOARD_FILE_PATTERN, AI_DESIGN_BOARD_KINDS, AI_DESIGN_CANVAS_PATH, AI_DESIGN_CONFIRM_APPROVE, AI_DESIGN_DIR, AI_DESIGN_GUIDE_PATH, AI_DESIGN_VIEWPORTS, AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, AI_RUN_RESUME_CHOICE, AI_SETUP_CONFIRM_APPROVE, AI_SITEMAP_PATH, AI_TODOS_MAX, AI_TODO_STATUSES, AI_TOOL_CHANGE_LINE_MAX, AI_TOOL_CHANGE_RANGES_MAX, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BASE_CURRENCY, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, CERTIFICATION_STATUSES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, CONDITION_OPERATORS_BY_TYPE, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_CONDITION_FIELDS, COUPON_LINE_CONDITIONS, COUPON_ORDER_CONDITIONS, COUPON_REWARD_KINDS, COUPON_REWARD_TIER_MAX, COUPON_STACKING_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, COUPON_TARGET_RULES_ALL, COUPON_TIME_ZONE, COUPON_WEEKDAYS, CURRENCIES, CURRENCY_CODES, CUSTOMER_BIRTHDATE_PATTERN, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, DEDICATED_EASY_PAY_PROVIDER, DEFAULT_CONDITION_LIMITS, DEFAULT_STORE_LOCALE, EMPTY_CONDITION_GROUP, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, InvalidPriceUnitError, KAKAOPAY_TEST_CID, KNOWN_WEBHOOK_EVENT_TYPES, KRW_MONEY_RULES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_CERTIFICATION_ITEMS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_INFO_SECTION_TITLE, MAX_INVENTORY_OPERATION_LINES, MAX_NOTICE_TEMPLATE_NAME, MAX_NOTICE_VALUE_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_PRODUCT_IMPORT_ITEMS, MAX_PRODUCT_IMPORT_ITEMS_PER_REQUEST, MAX_PRODUCT_INFO_SECTIONS, MAX_PRODUCT_LOOKUP, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, PAYPAL_CURRENCIES, PLATFORM_CODE_SETS, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SAYREN_API_BASE_URL, SAYREN_API_ORIGIN, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SITE_VAR_KEY_PATTERN, STOREFRONT_SITE_VAR_LIMIT, STOREFRONT_SITE_VAR_MAX_BYTES, STOREFRONT_SITE_VAR_RESERVED_NAMES, STOREFRONT_SITE_VAR_RESERVED_PREFIX, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_PACK_MAX_BYTES, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, STORE_SHOP_TYPES, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, VOUCHER_COUNT_MAX, VOUCHER_PREFIX_PATTERN, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, additionalCurrencyPriceSchema, additionalCurrencyPricesSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiActivitySchema, aiAgentPhaseSchema, aiAgentSchema, aiAttachmentSchema, aiChoiceOptionSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiDesignBoardSchema, aiDesignCanvasSchema, aiDesignConfirmBoardSchema, aiDesignSelectionSchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiSetupConfirmItemSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, aiTodoSchema, aiToolChangeSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, anyConditionHolds, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, applyFlowOperationsRequestSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, assertSaleUnit, assumeCouponFactRules, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestCouponSelection, bestSellingRuleOf, birthdateFactOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, canonicalLocale, canonicalizeConditionGroup, canonicalizeConditionRule, canonicalizeCouponStacking, canonicalizeCouponTargetRules, canonicalizeCouponTargetTree, canonicalizeCouponTrees, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeTypeSchema, claimCollectCompleteRequestSchema, claimDetailSchema, claimFlowEditSessionRequestSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimRedeliveryRequestSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionLocalizationRequestSchema, collectionLocalizationSchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, conditionCatalog, conditionFields, conditionGroupSchema, conditionIssues, conditionRuleSchema, conditionValueSchema, connectStorefrontGitRequestSchema, consentActionSchema, consentKindSchema, consentSourceSchema, couponAudienceMatches, couponBenefitOfReward, couponBenefitSchema, couponClaimFactsOf, couponConditionTreeSchema, couponConditionsInputSchema, couponConditionsSchema, couponCustomerFactNames, couponDiscountOf, couponDistributionSchema, couponFactsSchema, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponLineContextOf, couponLineMatches, couponListQuerySchema, couponPointRewardOf, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRequestRuleIssues, couponRequirementsOf, couponRewardSchema, couponRuleDiscountOf, couponRuleIssues, couponRuleSchema, couponRulesFromLegacy, couponSchema, couponStackingOf, couponStackingSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetRulesFromTree, couponTargetRulesSchema, couponTargetSchema, couponTargetTreeFromRules, couponTargetTreeMatches, couponTargetTreeOf, couponTargetTreeSchema, couponTierOf, couponTimeFactsAt, couponTodayAt, couponTreesOf, couponVoucherCodesSchema, couponVoucherInputSchema, couponsCombinable, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createOrderRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontSourceUploadsRequestSchema, createStorefrontVersionRequestSchema, createdOrderSchema, currencyCodeSchema, currencyRefundFeesSchema, currencyShippingPolicySchema, currencySpecOf, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerUserinfoAddressSchema, customerUserinfoInputSchema, customerUserinfoSchema, customerWithdrawalBlockedDetailsSchema, daysBetween, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeCouponGroup, describeCouponRule, describeCouponTargetRules, describeCouponTargetTree, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, directOrderShippingAddressSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, evaluateCondition, evaluateConditionNode, evaluateCouponEligibility, eventTypeSchema, exchangeAuthorizationCode, floorToSaleUnit, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowAuthoringGuideSchema, flowDraftEdgesSchema, flowDraftNodeSchema, flowDraftNodesSchema, flowDraftOperationSchema, flowEditSessionViewSchema, flowFieldValueSchema, flowInputFieldSchema, flowIssueSchema, flowNodeIdSchema, flowNodeTypeDetailSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowOperationsResultSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fromDecimalString, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, infoFieldSourceSchema, infoSchemaFieldSchema, infoSchemaSchema, infoSectionLocalizationRequestSchema, infoSectionLocalizationSchema, infoSectionRequestSchema, infoSectionSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryAdjustmentLineSchema, inventoryAdjustmentReasonSchema, inventoryAdjustmentRequestSchema, inventoryChangedWebhookEventDataSchema, inventoryChangedWebhookEventSchema, inventoryLevelListQuerySchema, inventoryLevelPageSchema, inventoryLevelSchema, inventoryLocationRequestSchema, inventoryLocationSchema, inventoryModeSchema, inventoryMovementKindSchema, inventoryMovementListQuerySchema, inventoryMovementPageSchema, inventoryMovementSchema, inventoryOperationResultSchema, inventoryTransferRequestSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isAiAgentNotesPath, isAiChoiceAnswer, isAiDesignPath, isAiWorkspaceDocPath, isConditionGroup, isCouponTargetLine, isCurrencyCode, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isSaleUnitPrice, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, kakaoPayCredentialsInputSchema, legacyFromCouponRules, linkStorefrontGitInstallationRequestSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, localeCodeSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, lowStockItemSchema, lowStockListQuerySchema, lowStockPageSchema, lowStockScopeSchema, lowStockSettingsRequestSchema, lowStockSettingsSchema, lowStockThresholdListQuerySchema, lowStockThresholdPageSchema, lowStockThresholdsRequestSchema, lowStockThresholdsResultSchema, lowStockVariantThresholdSchema, marketSchema, maskedSecretSchema, matchesCollectionRules, maxWeightAssignment, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, minPaymentOf, minorToMajor, moneyRulesOf, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, naverPayCredentialsInputSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeLocale, normalizeStorefrontHostname, normalizeStorefrontPath, noticeTemplateRequestSchema, noticeTemplateSchema, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderPaymentAddedWebhookEventDataSchema, orderPaymentAddedWebhookEventSchema, orderPaymentRequestedWebhookEventDataSchema, orderPaymentRequestedWebhookEventSchema, orderPaymentSchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, payPalCredentialsInputSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, paymentStatusProviderSchema, paymentStatusSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderResponseSchema, pgProviderSchema, pgVerificationResultSchema, pickCouponFacts, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, platformCodeSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCertificationsRequestSchema, productCertificationsSchema, productCreateRequestSchema, productCurrencyPriceSchema, productCurrencyPricesSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productImportErrorSchema, productImportItemSchema, productImportItemsRequestSchema, productImportSchema, productImportStatusSchema, productListQuerySchema, productLocalizationNeedsTranslation, productLocalizationRequestSchema, productLocalizationSchema, productLookupRequestSchema, productNoticeRequestSchema, productNoticeSchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, putStorefrontSiteVarRequestSchema, quoteDelivery, quotePricing, rankBestSelling, recomputeOrderCoupons, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolveStorefrontDeployProduction, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportCurrencySchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetLocalizationRequestSchema, savedOptionSetLocalizationSchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCheckoutLineSchema, sellerCheckoutPageSchema, sellerCheckoutSchema, sellerCustomerInquirySchema, sendAiMessageRequestSchema, sendAiMessageResponseSchema, setCalendarRequestSchema, setPlatformTestKeysRequestSchema, setStorefrontAutoPublishRequestSchema, setStorefrontDeployApprovalRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingCurrencyPriceSchema, shippingCurrencyPricesSchema, shippingOrderItemListQuerySchema, shippingOrderItemPageSchema, shippingOrderItemSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeDraftPreviewSchema, storeDraftSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSetupBriefSchema, storeShopTypeSchema, storeSubscriptionSchema, storedAdditionalCurrencyPriceSchema, storedProductCurrencyPriceSchema, storedShippingCurrencyPriceSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDevLogsSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditFailureSchema, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontGitConnectStateSchema, storefrontGitMergeRequestSchema, storefrontGitMergeSchema, storefrontGitRepositorySchema, storefrontGitStatusSchema, storefrontHostingSchema, storefrontInitialSourceSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSiteVarKeyProblem, storefrontSiteVarSchema, storefrontSiteVarsSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourcePackSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSourceUploadsSchema, storefrontSuspensionSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateCustomerRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourcePackRequestSchema, uploadTicketSchema, upsertKakaoPayProviderRequestSchema, upsertNaverPayProviderRequestSchema, upsertPayPalProviderRequestSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/store-sdk",
3
- "version": "0.61.0",
3
+ "version": "0.63.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
package/src/client.ts CHANGED
@@ -215,6 +215,16 @@ import {
215
215
  inventoryMovementPageSchema,
216
216
  inventoryOperationResultSchema,
217
217
  inventoryTransferRequestSchema,
218
+ type LowStockListQuery,
219
+ type LowStockSettingsRequest,
220
+ type LowStockThresholdListQuery,
221
+ type LowStockThresholdsRequest,
222
+ lowStockPageSchema,
223
+ lowStockSettingsRequestSchema,
224
+ lowStockSettingsSchema,
225
+ lowStockThresholdPageSchema,
226
+ lowStockThresholdsRequestSchema,
227
+ lowStockThresholdsResultSchema,
218
228
  } from "./schemas/inventory";
219
229
  import {
220
230
  type LoginProvider,
@@ -446,9 +456,11 @@ import {
446
456
  rollbackStorefrontRequestSchema,
447
457
  runStorefrontCheckRequestSchema,
448
458
  type SearchStorefrontFilesRequest,
459
+ type SetStorefrontAutoPublishRequest,
449
460
  type SetStorefrontDeployApprovalRequest,
450
461
  type SetStorefrontVisibilityRequest,
451
462
  searchStorefrontFilesRequestSchema,
463
+ setStorefrontAutoPublishRequestSchema,
452
464
  setStorefrontDeployApprovalRequestSchema,
453
465
  setStorefrontVisibilityRequestSchema,
454
466
  storefrontBuildSchema,
@@ -2212,6 +2224,36 @@ export function createStoreClient(options: StoreClientOptions) {
2212
2224
  body: inventoryTransferRequestSchema.parse(body),
2213
2225
  headers: idempotency(idempotencyKey),
2214
2226
  }),
2227
+ /**
2228
+ * 재고 부족 (이슈 #212) — 가용 재고가 임계값 이하인 조합. 임계값은 상점 기본값 + 조합별 덮어쓰기이고 판정 방식(위치 합계·위치별)은
2229
+ * 설정이 정한다. 조회는 `inventory:r`, 설정은 `inventory:rw`다
2230
+ */
2231
+ lowStock: {
2232
+ /** 커서 페이지네이션 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
2233
+ list: (params?: LowStockListQuery) =>
2234
+ storeHttp.request("GET", "/inventory/low-stock", lowStockPageSchema, { query: params }),
2235
+ settings: () =>
2236
+ storeHttp.request("GET", "/inventory/low-stock-settings", lowStockSettingsSchema),
2237
+ updateSettings: (body: LowStockSettingsRequest) =>
2238
+ storeHttp.request("PUT", "/inventory/low-stock-settings", lowStockSettingsSchema, {
2239
+ body: lowStockSettingsRequestSchema.parse(body),
2240
+ }),
2241
+ /** 조합별 임계값 목록 — 다음 페이지는 응답의 `nextCursor`를 `cursor`로 넘긴다 */
2242
+ thresholds: (params?: LowStockThresholdListQuery) =>
2243
+ storeHttp.request("GET", "/inventory/low-stock-thresholds", lowStockThresholdPageSchema, {
2244
+ query: params,
2245
+ }),
2246
+ /** 조합별 임계값 설정·해제(`threshold: null`) — 응답은 요청한 조합마다 저장한 값이다 */
2247
+ setThresholds: (body: LowStockThresholdsRequest) =>
2248
+ storeHttp.request(
2249
+ "PUT",
2250
+ "/inventory/low-stock-thresholds",
2251
+ lowStockThresholdsResultSchema,
2252
+ {
2253
+ body: lowStockThresholdsRequestSchema.parse(body),
2254
+ },
2255
+ ),
2256
+ },
2215
2257
  },
2216
2258
 
2217
2259
  /** 판매 권역(이슈 #130) — 국가·통화·도메인. 쓰기는 다중 통화가 켜진 상점에서만 된다 */
@@ -2561,6 +2603,11 @@ export function createStoreClient(options: StoreClientOptions) {
2561
2603
  storeHttp.request("PUT", "/storefront/site/source", storefrontSourceReplacedSchema, {
2562
2604
  body: replaceStorefrontSourceRequestSchema.parse(body),
2563
2605
  }),
2606
+ /** `PUT /v1/storefront/site/auto-publish` — 배포 뒤 바로 게시(상점 플랫폼 OWNER·ADMIN 전용, #356) */
2607
+ setAutoPublish: (body: SetStorefrontAutoPublishRequest) =>
2608
+ storeHttp.request("PUT", "/storefront/site/auto-publish", storefrontSiteSchema, {
2609
+ body: setStorefrontAutoPublishRequestSchema.parse(body),
2610
+ }),
2564
2611
  /** `PUT /v1/storefront/site/deploy-approval` — 승인 없이 배포(상점 플랫폼 OWNER·ADMIN 전용) */
2565
2612
  setDeployApproval: (body: SetStorefrontDeployApprovalRequest) =>
2566
2613
  storeHttp.request("PUT", "/storefront/site/deploy-approval", storefrontSiteSchema, {
@@ -233,3 +233,110 @@ export const claimRedeliveryRequestSchema = strictRequest(
233
233
  }),
234
234
  );
235
235
  export type ClaimRedeliveryRequest = z.infer<typeof claimRedeliveryRequestSchema>;
236
+
237
+ // ─── 재고 부족 (이슈 #212) ───────────────────────────────
238
+
239
+ /**
240
+ * 재고 부족 판정 방식 — `TOTAL` 조합의 모든 위치 가용 재고 합계로 판정 · `PER_LOCATION` (조합, 위치)마다 판정.
241
+ * 위치가 하나인 상점은 결과가 같다
242
+ */
243
+ export const lowStockScopeSchema = z
244
+ .enum(["TOTAL", "PER_LOCATION"])
245
+ .describe("재고 부족 판정 방식 — `TOTAL` 위치 합계 · `PER_LOCATION` 위치별 각각");
246
+ export type LowStockScope = z.infer<typeof lowStockScopeSchema>;
247
+
248
+ const lowStockThresholdSchema = z.number().int().min(0).max(1_000_000);
249
+
250
+ export const lowStockSettingsSchema = z.object({
251
+ defaultThreshold: z
252
+ .number()
253
+ .int()
254
+ .nullable()
255
+ .describe(
256
+ "상점 기본 임계값 — 가용 재고가 이 값 이하인 조합이 재고 부족이다. null이면 조합별 임계값이 있는 조합만 판정한다",
257
+ ),
258
+ scope: lowStockScopeSchema,
259
+ });
260
+ export type LowStockSettings = z.infer<typeof lowStockSettingsSchema>;
261
+
262
+ export const lowStockSettingsRequestSchema = z.strictObject({
263
+ defaultThreshold: lowStockThresholdSchema.nullable(),
264
+ scope: lowStockScopeSchema,
265
+ });
266
+ export type LowStockSettingsRequest = z.infer<typeof lowStockSettingsRequestSchema>;
267
+
268
+ export const lowStockVariantThresholdSchema = z.object({
269
+ productId: z.string(),
270
+ variantId: z.string(),
271
+ threshold: z.number().int().describe("이 조합의 임계값(상점 기본 임계값을 덮어쓴다)"),
272
+ });
273
+ export type LowStockVariantThreshold = z.infer<typeof lowStockVariantThresholdSchema>;
274
+
275
+ export const lowStockThresholdListQuerySchema = z.object({
276
+ productId: z.string().optional(),
277
+ cursor: z.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
278
+ limit: z.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)"),
279
+ });
280
+ export type LowStockThresholdListQuery = z.infer<typeof lowStockThresholdListQuerySchema>;
281
+
282
+ export const lowStockThresholdPageSchema = z.object({
283
+ contents: z.array(lowStockVariantThresholdSchema),
284
+ nextCursor: z.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null"),
285
+ });
286
+ export type LowStockThresholdPage = z.infer<typeof lowStockThresholdPageSchema>;
287
+
288
+ export const lowStockThresholdsRequestSchema = z.strictObject({
289
+ lines: z
290
+ .array(
291
+ z.strictObject({
292
+ variantId: z.string().min(1),
293
+ threshold: lowStockThresholdSchema
294
+ .nullable()
295
+ .describe("이 조합의 임계값. null이면 조합별 임계값을 지우고 상점 기본 임계값을 따른다"),
296
+ }),
297
+ )
298
+ .min(1)
299
+ .max(MAX_INVENTORY_OPERATION_LINES),
300
+ });
301
+ export type LowStockThresholdsRequest = z.infer<typeof lowStockThresholdsRequestSchema>;
302
+
303
+ export const lowStockThresholdsResultSchema = z.array(
304
+ z.object({
305
+ productId: z.string(),
306
+ variantId: z.string(),
307
+ threshold: z
308
+ .number()
309
+ .int()
310
+ .nullable()
311
+ .describe("저장한 조합별 임계값. null이면 상점 기본 임계값을 따른다"),
312
+ }),
313
+ );
314
+ export type LowStockThresholdsResult = z.infer<typeof lowStockThresholdsResultSchema>;
315
+
316
+ export const lowStockItemSchema = z.object({
317
+ productId: z.string(),
318
+ variantId: z.string(),
319
+ inventoryLocationId: z
320
+ .string()
321
+ .nullable()
322
+ .describe("판정한 위치 — 판정 방식이 `TOTAL`이면 null(모든 위치 합계)"),
323
+ available: z.number().int().describe("판정한 가용 재고(`TOTAL`이면 모든 위치 합계)"),
324
+ threshold: z.number().int().describe("적용한 임계값"),
325
+ thresholdSource: z
326
+ .enum(["VARIANT", "STORE"])
327
+ .describe("임계값 출처 — 조합별 임계값 `VARIANT` · 상점 기본 임계값 `STORE`"),
328
+ });
329
+ export type LowStockItem = z.infer<typeof lowStockItemSchema>;
330
+
331
+ export const lowStockListQuerySchema = z.object({
332
+ cursor: z.string().optional().describe("이전 응답의 `nextCursor`. 생략하면 처음부터"),
333
+ limit: z.coerce.number().int().min(1).max(200).optional().describe("한 쪽 크기(기본 100)"),
334
+ });
335
+ export type LowStockListQuery = z.infer<typeof lowStockListQuerySchema>;
336
+
337
+ export const lowStockPageSchema = z.object({
338
+ scope: lowStockScopeSchema.describe("이 목록을 판정한 방식"),
339
+ contents: z.array(lowStockItemSchema),
340
+ nextCursor: z.string().nullable().describe("다음 페이지 커서. 마지막 페이지면 null"),
341
+ });
342
+ export type LowStockPage = z.infer<typeof lowStockPageSchema>;
@@ -290,6 +290,13 @@ export type StorefrontSiteSnapshot = z.infer<typeof storefrontSiteSnapshotSchema
290
290
 
291
291
  export const storefrontSiteSchema = z.object({
292
292
  siteId: z.string(),
293
+ autoPublish: z
294
+ .boolean()
295
+ .nullable()
296
+ .optional()
297
+ .describe(
298
+ "배포 뒤 바로 게시 — CLI `sayren deploy`·Git 운영 브랜치 push가 만든 버전을 곧바로 게시한다. null이면 소스의 `sayren.json` `deploy.production`, 그것도 없으면 저장만. 상점 플랫폼에서 OWNER·ADMIN만 바꾼다",
299
+ ),
293
300
  deployWithoutApproval: z
294
301
  .boolean()
295
302
  .optional()
@@ -1784,6 +1791,25 @@ export const connectStorefrontGitRequestSchema = strictRequest(
1784
1791
  );
1785
1792
  export type ConnectStorefrontGitRequest = z.infer<typeof connectStorefrontGitRequestSchema>;
1786
1793
 
1794
+ /** `PUT /v1/storefront/site/auto-publish` — 배포 뒤 바로 게시(#356). null이면 `sayren.json` `deploy.production`을 따른다 */
1795
+ export const setStorefrontAutoPublishRequestSchema = strictRequest(
1796
+ z.object({
1797
+ autoPublish: z.boolean().nullable(),
1798
+ }),
1799
+ );
1800
+ export type SetStorefrontAutoPublishRequest = z.infer<typeof setStorefrontAutoPublishRequestSchema>;
1801
+
1802
+ /**
1803
+ * 배포(CLI `sayren deploy`·Git 운영 브랜치 push)가 만든 버전을 바로 게시하는가(#356) — 사이트 설정(`autoPublish`)이 있으면 그것,
1804
+ * 없으면 소스의 `sayren.json` `deploy.production`, 그것도 없으면 저장만. CLI `--production`은 이 판정과 무관하게 게시한다
1805
+ */
1806
+ export function resolveStorefrontDeployProduction(
1807
+ siteSetting: boolean | null | undefined,
1808
+ projectSetting: boolean | null | undefined,
1809
+ ): boolean {
1810
+ return siteSetting ?? projectSetting ?? false;
1811
+ }
1812
+
1787
1813
  /** `PUT /v1/storefront/site/deploy-approval` — 승인 없이 배포(#138) */
1788
1814
  export const setStorefrontDeployApprovalRequestSchema = strictRequest(
1789
1815
  z.object({