@sayren/store-sdk 0.30.13 → 0.30.15

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
@@ -215,25 +215,25 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
215
215
  }, z.core.$strip>;
216
216
  export type WriteDryRunResult = z.infer<typeof writeDryRunResultSchema>;
217
217
  export declare const approvalStatusSchema: z.ZodEnum<{
218
- PENDING: "PENDING";
219
218
  FAILED: "FAILED";
219
+ EXPIRED: "EXPIRED";
220
+ UNKNOWN: "UNKNOWN";
221
+ PENDING: "PENDING";
220
222
  SUCCEEDED: "SUCCEEDED";
221
223
  EXECUTING: "EXECUTING";
222
- UNKNOWN: "UNKNOWN";
223
224
  REJECTED: "REJECTED";
224
- EXPIRED: "EXPIRED";
225
225
  }>;
226
226
  export type ApprovalStatus = z.infer<typeof approvalStatusSchema>;
227
227
  export declare const approvalRequestSchema: z.ZodObject<{
228
228
  approvalId: z.ZodString;
229
229
  status: z.ZodEnum<{
230
- PENDING: "PENDING";
231
230
  FAILED: "FAILED";
231
+ EXPIRED: "EXPIRED";
232
+ UNKNOWN: "UNKNOWN";
233
+ PENDING: "PENDING";
232
234
  SUCCEEDED: "SUCCEEDED";
233
235
  EXECUTING: "EXECUTING";
234
- UNKNOWN: "UNKNOWN";
235
236
  REJECTED: "REJECTED";
236
- EXPIRED: "EXPIRED";
237
237
  }>;
238
238
  operationId: z.ZodString;
239
239
  operationName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -291,13 +291,13 @@ export declare const approvalRequestSchema: z.ZodObject<{
291
291
  export type ApprovalRequest = z.infer<typeof approvalRequestSchema>;
292
292
  export declare const approvalListQuerySchema: z.ZodObject<{
293
293
  status: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodEnum<{
294
- PENDING: "PENDING";
295
294
  FAILED: "FAILED";
295
+ EXPIRED: "EXPIRED";
296
+ UNKNOWN: "UNKNOWN";
297
+ PENDING: "PENDING";
296
298
  SUCCEEDED: "SUCCEEDED";
297
299
  EXECUTING: "EXECUTING";
298
- UNKNOWN: "UNKNOWN";
299
300
  REJECTED: "REJECTED";
300
- EXPIRED: "EXPIRED";
301
301
  }>>>>;
302
302
  cursor: z.ZodOptional<z.ZodString>;
303
303
  limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
@@ -310,13 +310,13 @@ export declare const approvalPageSchema: z.ZodObject<{
310
310
  items: z.ZodArray<z.ZodObject<{
311
311
  approvalId: z.ZodString;
312
312
  status: z.ZodEnum<{
313
- PENDING: "PENDING";
314
313
  FAILED: "FAILED";
314
+ EXPIRED: "EXPIRED";
315
+ UNKNOWN: "UNKNOWN";
316
+ PENDING: "PENDING";
315
317
  SUCCEEDED: "SUCCEEDED";
316
318
  EXECUTING: "EXECUTING";
317
- UNKNOWN: "UNKNOWN";
318
319
  REJECTED: "REJECTED";
319
- EXPIRED: "EXPIRED";
320
320
  }>;
321
321
  operationId: z.ZodString;
322
322
  operationName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -371,59 +371,862 @@ export declare const approvalPageSchema: z.ZodObject<{
371
371
  }, z.core.$strip>>;
372
372
  approvalUrl: z.ZodNullable<z.ZodString>;
373
373
  }, z.core.$strip>>;
374
- nextCursor: z.ZodNullable<z.ZodString>;
374
+ nextCursor: z.ZodNullable<z.ZodString>;
375
+ }, z.core.$strip>;
376
+ export type ApprovalPage = z.infer<typeof approvalPageSchema>;
377
+ export declare const approvalDecisionRequestSchema: z.ZodObject<{
378
+ note: z.ZodOptional<z.ZodString>;
379
+ }, z.core.$strip>;
380
+ export type ApprovalDecisionRequest = z.infer<typeof approvalDecisionRequestSchema>;
381
+ //#endregion
382
+ //#region src/http.d.ts
383
+ export declare class ApiError extends Error {
384
+ readonly status: number;
385
+ readonly code: string;
386
+ readonly traceId?: string | undefined;
387
+ readonly body?: unknown | undefined;
388
+ /** 엔벨로프 `$.error.details` — 에러 코드별 보조 데이터. 없으면 undefined */
389
+ readonly details?: Record<string, unknown> | undefined;
390
+ /** 엔벨로프 `$.error.docs` — 이 에러 코드를 설명하는 문서 URL. 매핑이 없으면 undefined */
391
+ readonly docs?: string | undefined;
392
+ constructor(status: number, code: string, message: string, traceId?: string | undefined, body?: unknown | undefined,
393
+ /** 엔벨로프 `$.error.details` — 에러 코드별 보조 데이터. 없으면 undefined */
394
+ details?: Record<string, unknown> | undefined,
395
+ /** 엔벨로프 `$.error.docs` — 이 에러 코드를 설명하는 문서 URL. 매핑이 없으면 undefined */
396
+ docs?: string | undefined);
397
+ }
398
+ /** 에이전트 쓰기가 승인 대기로 보류됐다(202) */
399
+ export declare const APPROVAL_REQUIRED_CODE = "APPROVAL_REQUIRED";
400
+ /** 같은 멱등키의 승인 요청이 이미 끝났다(200) — 결과는 승인 요청의 `status`·`result`다 */
401
+ export declare const APPROVAL_ALREADY_DECIDED_CODE = "APPROVAL_ALREADY_DECIDED";
402
+ /**
403
+ * 쓰기 요청이 실행되지 않고 승인 흐름에 걸렸다 (이슈 #36). 응답 `data`가 요청한 리소스가 아니라 승인 요청이라
404
+ * 성공 값으로 돌려주지 않는다 — 돌려주면 호출부가 승인 요청을 상품·주문으로 읽는다.
405
+ *
406
+ * - `code = APPROVAL_REQUIRED`(202): 에이전트의 고위험 쓰기가 보류됐다. 아직 아무것도 바뀌지 않았다.
407
+ * 셀러가 상점 플랫폼(`approval.approvalUrl`)에서 승인하면 서버가 원 요청을 실행한다. 같은 요청을 다시 보내지 말고
408
+ * `approvalRequests.get(approvalId)`로 결과를 확인한다.
409
+ * - `code = APPROVAL_ALREADY_DECIDED`(200): 같은 멱등키로 보낸 요청의 승인이 이미 끝났다. `status`가
410
+ * `SUCCEEDED`·`FAILED`·`UNKNOWN`이면 실행 결과(`approval.result`)를 보고, `REJECTED`·`EXPIRED`면 새 멱등키로 다시 요청한다.
411
+ */
412
+ export declare class ApprovalPendingError extends Error {
413
+ readonly code: typeof APPROVAL_REQUIRED_CODE | typeof APPROVAL_ALREADY_DECIDED_CODE;
414
+ /** HTTP 상태 코드 (202·200) */
415
+ readonly httpStatus: number;
416
+ readonly approval: ApprovalRequest;
417
+ readonly approvalId: string;
418
+ /** 승인 요청 상태 */
419
+ readonly status: ApprovalStatus;
420
+ constructor(code: typeof APPROVAL_REQUIRED_CODE | typeof APPROVAL_ALREADY_DECIDED_CODE,
421
+ /** HTTP 상태 코드 (202·200) */
422
+ httpStatus: number, approval: ApprovalRequest, message: string);
423
+ }
424
+ type TokenSource = string | null | undefined | (() => string | null | undefined);
425
+ type Query = Record<string, string | number | boolean | undefined>;
426
+ export declare function buildQuery(query?: Query): string;
427
+ //#endregion
428
+ //#region src/schemas/ai.d.ts
429
+ /**
430
+ * 상점 플랫폼 AI 채팅(이슈 #124) — 대화·메시지·실행과 실행 이벤트 스트림의 계약.
431
+ *
432
+ * 상점 플랫폼 전용이다(`@ConsoleOnly`, 공개 OpenAPI 문서 제외). 메시지를 보내면 api가 실행(run)을 만들어 202로 `streamId`를 돌려주고,
433
+ * 응답은 별도 중계(`streamUrl`, SSE)로 받는다. 실행은 브라우저와 무관하게 서버에서 끝까지 돈다 — 다시 열면 진행 중 실행의 스트림에
434
+ * 처음부터 다시 붙거나(보관 1시간) 확정된 메시지를 읽는다.
435
+ */
436
+ /** 첨부 하나 — 업로드(`POST /v1/uploads`, 목적 `ai-attachment`)가 돌려준 공개 주소 */
437
+ export declare const aiAttachmentSchema: z.ZodObject<{
438
+ url: z.ZodString;
439
+ name: z.ZodString;
440
+ mediaType: z.ZodString;
441
+ }, z.core.$strip>;
442
+ export type AiAttachment = z.infer<typeof aiAttachmentSchema>;
443
+ export declare const AI_MESSAGE_MAX_CHARS = 8000;
444
+ export declare const AI_MESSAGE_MAX_ATTACHMENTS = 5;
445
+ /**
446
+ * 편집 미리보기에서 고른 요소(#65) — 미리보기 안 선택 스크립트가 만든 값이라 사이트 코드가 꾸밀 수 있다. api는 모델에 넘길 때 데이터로
447
+ * 감싼다. `source`는 그 컴포넌트를 **사용한** 위치다(작업 트리 상대 경로). React 개발 정보가 없으면 null이다
448
+ */
449
+ export declare const aiPreviewSelectionSchema: z.ZodObject<{
450
+ component: z.ZodNullable<z.ZodString>;
451
+ source: z.ZodNullable<z.ZodObject<{
452
+ path: z.ZodString;
453
+ line: z.ZodNumber;
454
+ column: z.ZodOptional<z.ZodNumber>;
455
+ }, z.core.$strip>>;
456
+ tag: z.ZodString;
457
+ text: z.ZodString;
458
+ pagePath: z.ZodString;
459
+ }, z.core.$strip>;
460
+ export type AiPreviewSelection = z.infer<typeof aiPreviewSelectionSchema>;
461
+ /** 실행 상태 — 끝난 상태는 `DONE`·`FAILED`·`CANCELLED`다 */
462
+ export declare const aiRunStatusSchema: z.ZodEnum<{
463
+ QUEUED: "QUEUED";
464
+ RUNNING: "RUNNING";
465
+ CANCEL_REQUESTED: "CANCEL_REQUESTED";
466
+ DONE: "DONE";
467
+ FAILED: "FAILED";
468
+ CANCELLED: "CANCELLED";
469
+ }>;
470
+ export type AiRunStatus = z.infer<typeof aiRunStatusSchema>;
471
+ export declare const AI_RUN_ACTIVE_STATUSES: readonly AiRunStatus[];
472
+ /** 진행 중 실행의 스트림 접속 정보. `streamToken`은 이 스트림 하나만 읽는 단기 자격(Bearer)이다 */
473
+ export declare const aiStreamAccessSchema: z.ZodObject<{
474
+ streamId: z.ZodString;
475
+ streamUrl: z.ZodString;
476
+ streamToken: z.ZodString;
477
+ }, z.core.$strip>;
478
+ export type AiStreamAccess = z.infer<typeof aiStreamAccessSchema>;
479
+ export declare const aiRunSchema: z.ZodObject<{
480
+ id: z.ZodString;
481
+ status: z.ZodEnum<{
482
+ QUEUED: "QUEUED";
483
+ RUNNING: "RUNNING";
484
+ CANCEL_REQUESTED: "CANCEL_REQUESTED";
485
+ DONE: "DONE";
486
+ FAILED: "FAILED";
487
+ CANCELLED: "CANCELLED";
488
+ }>;
489
+ errorCode: z.ZodNullable<z.ZodString>;
490
+ createdAt: z.ZodString;
491
+ finishedAt: z.ZodNullable<z.ZodString>;
492
+ }, z.core.$strip>;
493
+ export type AiRun = z.infer<typeof aiRunSchema>;
494
+ /**
495
+ * 화면에 그리는 메시지 조각. 모델 원문(tool_use 블록 등)은 api가 보관하고 화면에는 이 형태만 준다.
496
+ * - `text`: 글
497
+ * - `tool`: 도구 호출 한 번(이름은 사람이 읽는 라벨, 결과 요약·링크)
498
+ * - `choices`: 선택지 버튼(가장 최근 것만 누를 수 있다)
499
+ * - `attachment`: 사용자가 올린 첨부
500
+ * - `approval`: 승인 대기로 남은 쓰기
501
+ */
502
+ export declare const aiMessagePartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
503
+ type: z.ZodLiteral<"text">;
504
+ text: z.ZodString;
505
+ }, z.core.$strip>, z.ZodObject<{
506
+ type: z.ZodLiteral<"tool">;
507
+ toolCallId: z.ZodString;
508
+ name: z.ZodString;
509
+ label: z.ZodString;
510
+ status: z.ZodEnum<{
511
+ error: "error";
512
+ unknown: "unknown";
513
+ ok: "ok";
514
+ }>;
515
+ summary: z.ZodNullable<z.ZodString>;
516
+ }, z.core.$strip>, z.ZodObject<{
517
+ type: z.ZodLiteral<"choices">;
518
+ question: z.ZodString;
519
+ options: z.ZodArray<z.ZodObject<{
520
+ label: z.ZodString;
521
+ value: z.ZodString;
522
+ }, z.core.$strip>>;
523
+ }, z.core.$strip>, z.ZodObject<{
524
+ type: z.ZodLiteral<"attachment">;
525
+ attachment: z.ZodObject<{
526
+ url: z.ZodString;
527
+ name: z.ZodString;
528
+ mediaType: z.ZodString;
529
+ }, z.core.$strip>;
530
+ }, z.core.$strip>, z.ZodObject<{
531
+ type: z.ZodLiteral<"approval">;
532
+ approvalId: z.ZodString;
533
+ title: z.ZodString;
534
+ }, z.core.$strip>, z.ZodObject<{
535
+ type: z.ZodLiteral<"selection">;
536
+ selection: z.ZodObject<{
537
+ component: z.ZodNullable<z.ZodString>;
538
+ source: z.ZodNullable<z.ZodObject<{
539
+ path: z.ZodString;
540
+ line: z.ZodNumber;
541
+ column: z.ZodOptional<z.ZodNumber>;
542
+ }, z.core.$strip>>;
543
+ tag: z.ZodString;
544
+ text: z.ZodString;
545
+ pagePath: z.ZodString;
546
+ }, z.core.$strip>;
547
+ }, z.core.$strip>], "type">;
548
+ export type AiMessagePart = z.infer<typeof aiMessagePartSchema>;
549
+ export declare const aiMessageSchema: z.ZodObject<{
550
+ id: z.ZodString;
551
+ role: z.ZodEnum<{
552
+ user: "user";
553
+ assistant: "assistant";
554
+ }>;
555
+ parts: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
556
+ type: z.ZodLiteral<"text">;
557
+ text: z.ZodString;
558
+ }, z.core.$strip>, z.ZodObject<{
559
+ type: z.ZodLiteral<"tool">;
560
+ toolCallId: z.ZodString;
561
+ name: z.ZodString;
562
+ label: z.ZodString;
563
+ status: z.ZodEnum<{
564
+ error: "error";
565
+ unknown: "unknown";
566
+ ok: "ok";
567
+ }>;
568
+ summary: z.ZodNullable<z.ZodString>;
569
+ }, z.core.$strip>, z.ZodObject<{
570
+ type: z.ZodLiteral<"choices">;
571
+ question: z.ZodString;
572
+ options: z.ZodArray<z.ZodObject<{
573
+ label: z.ZodString;
574
+ value: z.ZodString;
575
+ }, z.core.$strip>>;
576
+ }, z.core.$strip>, z.ZodObject<{
577
+ type: z.ZodLiteral<"attachment">;
578
+ attachment: z.ZodObject<{
579
+ url: z.ZodString;
580
+ name: z.ZodString;
581
+ mediaType: z.ZodString;
582
+ }, z.core.$strip>;
583
+ }, z.core.$strip>, z.ZodObject<{
584
+ type: z.ZodLiteral<"approval">;
585
+ approvalId: z.ZodString;
586
+ title: z.ZodString;
587
+ }, z.core.$strip>, z.ZodObject<{
588
+ type: z.ZodLiteral<"selection">;
589
+ selection: z.ZodObject<{
590
+ component: z.ZodNullable<z.ZodString>;
591
+ source: z.ZodNullable<z.ZodObject<{
592
+ path: z.ZodString;
593
+ line: z.ZodNumber;
594
+ column: z.ZodOptional<z.ZodNumber>;
595
+ }, z.core.$strip>>;
596
+ tag: z.ZodString;
597
+ text: z.ZodString;
598
+ pagePath: z.ZodString;
599
+ }, z.core.$strip>;
600
+ }, z.core.$strip>], "type">>;
601
+ runId: z.ZodNullable<z.ZodString>;
602
+ createdAt: z.ZodString;
603
+ }, z.core.$strip>;
604
+ export type AiMessage = z.infer<typeof aiMessageSchema>;
605
+ export declare const aiConversationSummarySchema: z.ZodObject<{
606
+ id: z.ZodString;
607
+ title: z.ZodNullable<z.ZodString>;
608
+ createdAt: z.ZodString;
609
+ updatedAt: z.ZodString;
610
+ }, z.core.$strip>;
611
+ export type AiConversationSummary = z.infer<typeof aiConversationSummarySchema>;
612
+ export declare const aiConversationSchema: z.ZodObject<{
613
+ id: z.ZodString;
614
+ title: z.ZodNullable<z.ZodString>;
615
+ createdAt: z.ZodString;
616
+ updatedAt: z.ZodString;
617
+ messages: z.ZodArray<z.ZodObject<{
618
+ id: z.ZodString;
619
+ role: z.ZodEnum<{
620
+ user: "user";
621
+ assistant: "assistant";
622
+ }>;
623
+ parts: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
624
+ type: z.ZodLiteral<"text">;
625
+ text: z.ZodString;
626
+ }, z.core.$strip>, z.ZodObject<{
627
+ type: z.ZodLiteral<"tool">;
628
+ toolCallId: z.ZodString;
629
+ name: z.ZodString;
630
+ label: z.ZodString;
631
+ status: z.ZodEnum<{
632
+ error: "error";
633
+ unknown: "unknown";
634
+ ok: "ok";
635
+ }>;
636
+ summary: z.ZodNullable<z.ZodString>;
637
+ }, z.core.$strip>, z.ZodObject<{
638
+ type: z.ZodLiteral<"choices">;
639
+ question: z.ZodString;
640
+ options: z.ZodArray<z.ZodObject<{
641
+ label: z.ZodString;
642
+ value: z.ZodString;
643
+ }, z.core.$strip>>;
644
+ }, z.core.$strip>, z.ZodObject<{
645
+ type: z.ZodLiteral<"attachment">;
646
+ attachment: z.ZodObject<{
647
+ url: z.ZodString;
648
+ name: z.ZodString;
649
+ mediaType: z.ZodString;
650
+ }, z.core.$strip>;
651
+ }, z.core.$strip>, z.ZodObject<{
652
+ type: z.ZodLiteral<"approval">;
653
+ approvalId: z.ZodString;
654
+ title: z.ZodString;
655
+ }, z.core.$strip>, z.ZodObject<{
656
+ type: z.ZodLiteral<"selection">;
657
+ selection: z.ZodObject<{
658
+ component: z.ZodNullable<z.ZodString>;
659
+ source: z.ZodNullable<z.ZodObject<{
660
+ path: z.ZodString;
661
+ line: z.ZodNumber;
662
+ column: z.ZodOptional<z.ZodNumber>;
663
+ }, z.core.$strip>>;
664
+ tag: z.ZodString;
665
+ text: z.ZodString;
666
+ pagePath: z.ZodString;
667
+ }, z.core.$strip>;
668
+ }, z.core.$strip>], "type">>;
669
+ runId: z.ZodNullable<z.ZodString>;
670
+ createdAt: z.ZodString;
671
+ }, z.core.$strip>>;
672
+ activeRun: z.ZodNullable<z.ZodObject<{
673
+ id: z.ZodString;
674
+ status: z.ZodEnum<{
675
+ QUEUED: "QUEUED";
676
+ RUNNING: "RUNNING";
677
+ CANCEL_REQUESTED: "CANCEL_REQUESTED";
678
+ DONE: "DONE";
679
+ FAILED: "FAILED";
680
+ CANCELLED: "CANCELLED";
681
+ }>;
682
+ errorCode: z.ZodNullable<z.ZodString>;
683
+ createdAt: z.ZodString;
684
+ finishedAt: z.ZodNullable<z.ZodString>;
685
+ stream: z.ZodObject<{
686
+ streamId: z.ZodString;
687
+ streamUrl: z.ZodString;
688
+ streamToken: z.ZodString;
689
+ }, z.core.$strip>;
690
+ }, z.core.$strip>>;
691
+ lastRun: z.ZodNullable<z.ZodObject<{
692
+ id: z.ZodString;
693
+ status: z.ZodEnum<{
694
+ QUEUED: "QUEUED";
695
+ RUNNING: "RUNNING";
696
+ CANCEL_REQUESTED: "CANCEL_REQUESTED";
697
+ DONE: "DONE";
698
+ FAILED: "FAILED";
699
+ CANCELLED: "CANCELLED";
700
+ }>;
701
+ errorCode: z.ZodNullable<z.ZodString>;
702
+ createdAt: z.ZodString;
703
+ finishedAt: z.ZodNullable<z.ZodString>;
704
+ }, z.core.$strip>>;
705
+ }, z.core.$strip>;
706
+ export type AiConversation = z.infer<typeof aiConversationSchema>;
707
+ export declare const createAiConversationRequestSchema: z.ZodObject<{
708
+ draftId: z.ZodOptional<z.ZodString>;
709
+ }, z.core.$strip>;
710
+ export type CreateAiConversationRequest = z.infer<typeof createAiConversationRequestSchema>;
711
+ export declare const createAiConversationResponseSchema: z.ZodObject<{
712
+ conversation: z.ZodObject<{
713
+ id: z.ZodString;
714
+ title: z.ZodNullable<z.ZodString>;
715
+ createdAt: z.ZodString;
716
+ updatedAt: z.ZodString;
717
+ }, z.core.$strip>;
718
+ run: z.ZodNullable<z.ZodObject<{
719
+ streamId: z.ZodString;
720
+ streamUrl: z.ZodString;
721
+ streamToken: z.ZodString;
722
+ }, z.core.$strip>>;
723
+ }, z.core.$strip>;
724
+ export type CreateAiConversationResponse = z.infer<typeof createAiConversationResponseSchema>;
725
+ export declare const sendAiMessageRequestSchema: z.ZodObject<{
726
+ text: z.ZodString;
727
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
728
+ url: z.ZodString;
729
+ name: z.ZodString;
730
+ mediaType: z.ZodString;
731
+ }, z.core.$strip>>>;
732
+ choice: z.ZodOptional<z.ZodString>;
733
+ selection: z.ZodOptional<z.ZodObject<{
734
+ component: z.ZodNullable<z.ZodString>;
735
+ source: z.ZodNullable<z.ZodObject<{
736
+ path: z.ZodString;
737
+ line: z.ZodNumber;
738
+ column: z.ZodOptional<z.ZodNumber>;
739
+ }, z.core.$strip>>;
740
+ tag: z.ZodString;
741
+ text: z.ZodString;
742
+ pagePath: z.ZodString;
743
+ }, z.core.$strip>>;
744
+ }, z.core.$strip>;
745
+ export type SendAiMessageRequest = z.input<typeof sendAiMessageRequestSchema>;
746
+ export declare const sendAiMessageResponseSchema: z.ZodObject<{
747
+ streamId: z.ZodString;
748
+ streamUrl: z.ZodString;
749
+ streamToken: z.ZodString;
750
+ messageId: z.ZodString;
751
+ }, z.core.$strip>;
752
+ export type SendAiMessageResponse = z.infer<typeof sendAiMessageResponseSchema>;
753
+ /**
754
+ * AI가 바꾸는 화면 영역 — 쓰기 도구가 시작되면 이벤트에 싣고, 패널이 그 화면으로 옮겨 반영된 데이터를 다시 읽는다(셀러가 AI가 하는 일을 같이 본다).
755
+ * 경로는 상점 플랫폼이 정한다(영역 → 라우트). `id`가 있으면 상세 화면이다
756
+ */
757
+ export declare const aiFocusAreaSchema: z.ZodEnum<{
758
+ products: "products";
759
+ categories: "categories";
760
+ collections: "collections";
761
+ option_sets: "option_sets";
762
+ coupons: "coupons";
763
+ points: "points";
764
+ orders: "orders";
765
+ claims: "claims";
766
+ customers: "customers";
767
+ inquiries: "inquiries";
768
+ customer_inquiries: "customer_inquiries";
769
+ store_settings: "store_settings";
770
+ shipping: "shipping";
771
+ addresses: "addresses";
772
+ payments: "payments";
773
+ login: "login";
774
+ members: "members";
775
+ order_flows: "order_flows";
776
+ webhooks: "webhooks";
777
+ storefront: "storefront";
778
+ }>;
779
+ export type AiFocusArea = z.infer<typeof aiFocusAreaSchema>;
780
+ export declare const aiFocusSchema: z.ZodObject<{
781
+ area: z.ZodEnum<{
782
+ products: "products";
783
+ categories: "categories";
784
+ collections: "collections";
785
+ option_sets: "option_sets";
786
+ coupons: "coupons";
787
+ points: "points";
788
+ orders: "orders";
789
+ claims: "claims";
790
+ customers: "customers";
791
+ inquiries: "inquiries";
792
+ customer_inquiries: "customer_inquiries";
793
+ store_settings: "store_settings";
794
+ shipping: "shipping";
795
+ addresses: "addresses";
796
+ payments: "payments";
797
+ login: "login";
798
+ members: "members";
799
+ order_flows: "order_flows";
800
+ webhooks: "webhooks";
801
+ storefront: "storefront";
802
+ }>;
803
+ id: z.ZodOptional<z.ZodString>;
804
+ }, z.core.$strip>;
805
+ export type AiFocus = z.infer<typeof aiFocusSchema>;
806
+ /** 변경 기록 보관 기간 — 지나면 내용을 비우고 되돌릴 수 없다(410 `AI_RUN_CHANGES_EXPIRED`) */
807
+ export declare const AI_RUN_FILE_CHANGES_RETENTION_DAYS = 7;
808
+ /**
809
+ * 실행 하나의 변경 상태
810
+ * - `APPLIED`: 되돌릴 수 있다(진행 중 실행이 없을 때)
811
+ * - `INCOMPLETE`: 결과를 모르는 쓰기·이전 내용이 너무 큰 경로가 있다(되돌릴 수 없다)
812
+ * - `REVERTING`·`REVERTED`·`REVERT_UNKNOWN`(되돌리기 결과를 모름 — 다시 하지 않는다)·`EXPIRED`
813
+ */
814
+ export declare const aiRunChangesStatusSchema: z.ZodEnum<{
815
+ APPLIED: "APPLIED";
816
+ INCOMPLETE: "INCOMPLETE";
817
+ REVERTING: "REVERTING";
818
+ REVERTED: "REVERTED";
819
+ REVERT_UNKNOWN: "REVERT_UNKNOWN";
820
+ EXPIRED: "EXPIRED";
821
+ }>;
822
+ export type AiRunChangesStatus = z.infer<typeof aiRunChangesStatusSchema>;
823
+ export declare const aiFileChangeKindSchema: z.ZodEnum<{
824
+ created: "created";
825
+ modified: "modified";
826
+ deleted: "deleted";
827
+ }>;
828
+ export type AiFileChangeKind = z.infer<typeof aiFileChangeKindSchema>;
829
+ export declare const aiRunChangesSchema: z.ZodObject<{
830
+ runId: z.ZodString;
831
+ status: z.ZodEnum<{
832
+ APPLIED: "APPLIED";
833
+ INCOMPLETE: "INCOMPLETE";
834
+ REVERTING: "REVERTING";
835
+ REVERTED: "REVERTED";
836
+ REVERT_UNKNOWN: "REVERT_UNKNOWN";
837
+ EXPIRED: "EXPIRED";
838
+ }>;
839
+ files: z.ZodArray<z.ZodObject<{
840
+ path: z.ZodString;
841
+ change: z.ZodEnum<{
842
+ created: "created";
843
+ modified: "modified";
844
+ deleted: "deleted";
845
+ }>;
846
+ }, z.core.$strip>>;
847
+ }, z.core.$strip>;
848
+ export type AiRunChanges = z.infer<typeof aiRunChangesSchema>;
849
+ /** `GET /v1/ai/conversations/{id}/file-changes` — 대화의 실행별 변경(실행 만든 순) */
850
+ export declare const aiConversationFileChangesSchema: z.ZodObject<{
851
+ runs: z.ZodArray<z.ZodObject<{
852
+ runId: z.ZodString;
853
+ status: z.ZodEnum<{
854
+ APPLIED: "APPLIED";
855
+ INCOMPLETE: "INCOMPLETE";
856
+ REVERTING: "REVERTING";
857
+ REVERTED: "REVERTED";
858
+ REVERT_UNKNOWN: "REVERT_UNKNOWN";
859
+ EXPIRED: "EXPIRED";
860
+ }>;
861
+ files: z.ZodArray<z.ZodObject<{
862
+ path: z.ZodString;
863
+ change: z.ZodEnum<{
864
+ created: "created";
865
+ modified: "modified";
866
+ deleted: "deleted";
867
+ }>;
868
+ }, z.core.$strip>>;
869
+ }, z.core.$strip>>;
870
+ }, z.core.$strip>;
871
+ export type AiConversationFileChanges = z.infer<typeof aiConversationFileChangesSchema>;
872
+ /** `GET /v1/ai/runs/{runId}/file-changes` — 변경 보기. 텍스트가 아닌 파일·보관이 끝난 내용은 null이다(diff는 화면이 계산한다) */
873
+ export declare const aiRunFileDiffSchema: z.ZodObject<{
874
+ runId: z.ZodString;
875
+ status: z.ZodEnum<{
876
+ APPLIED: "APPLIED";
877
+ INCOMPLETE: "INCOMPLETE";
878
+ REVERTING: "REVERTING";
879
+ REVERTED: "REVERTED";
880
+ REVERT_UNKNOWN: "REVERT_UNKNOWN";
881
+ EXPIRED: "EXPIRED";
882
+ }>;
883
+ files: z.ZodArray<z.ZodObject<{
884
+ path: z.ZodString;
885
+ change: z.ZodEnum<{
886
+ created: "created";
887
+ modified: "modified";
888
+ deleted: "deleted";
889
+ }>;
890
+ before: z.ZodNullable<z.ZodString>;
891
+ after: z.ZodNullable<z.ZodString>;
892
+ binary: z.ZodBoolean;
893
+ }, z.core.$strip>>;
894
+ }, z.core.$strip>;
895
+ export type AiRunFileDiff = z.infer<typeof aiRunFileDiffSchema>;
896
+ /**
897
+ * `POST /v1/ai/runs/{runId}/revert` — 실행이 바꾼 경로를 그 전 내용으로 한 번에 돌린다. 오류: 409 `AI_RUN_IN_PROGRESS`(대화에 진행 중 실행),
898
+ * 409 `AI_RUN_REVERT_CONFLICT`(`details.conflicts` — 그 뒤 바뀐 경로·결과를 모르는 쓰기), 409 `AI_RUN_ALREADY_REVERTED`,
899
+ * 410 `AI_RUN_CHANGES_EXPIRED`, 404 `AI_RUN_CHANGES_NOT_FOUND`, 502 `AI_RUN_REVERT_UNKNOWN`(결과를 모름 — 다시 하지 않는다)
900
+ */
901
+ export declare const aiRunRevertResultSchema: z.ZodObject<{
902
+ runId: z.ZodString;
903
+ status: z.ZodLiteral<"REVERTED">;
904
+ paths: z.ZodArray<z.ZodString>;
905
+ }, z.core.$strip>;
906
+ export type AiRunRevertResult = z.infer<typeof aiRunRevertResultSchema>;
907
+ /** 409 `AI_RUN_REVERT_CONFLICT`의 `error.details` */
908
+ export declare const aiRunRevertConflictDetailsSchema: z.ZodObject<{
909
+ conflicts: z.ZodArray<z.ZodObject<{
910
+ path: z.ZodString;
911
+ reason: z.ZodEnum<{
912
+ CHANGED: "CHANGED";
913
+ UNKNOWN: "UNKNOWN";
914
+ }>;
915
+ }, z.core.$strip>>;
916
+ }, z.core.$strip>;
917
+ export type AiRunRevertConflictDetails = z.infer<typeof aiRunRevertConflictDetailsSchema>;
918
+ export declare const aiStreamEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
919
+ type: z.ZodLiteral<"delta">;
920
+ messageId: z.ZodString;
921
+ text: z.ZodString;
922
+ }, z.core.$strip>, z.ZodObject<{
923
+ type: z.ZodLiteral<"tool_start">;
924
+ messageId: z.ZodString;
925
+ toolCallId: z.ZodString;
926
+ name: z.ZodString;
927
+ label: z.ZodString;
928
+ focus: z.ZodOptional<z.ZodObject<{
929
+ area: z.ZodEnum<{
930
+ products: "products";
931
+ categories: "categories";
932
+ collections: "collections";
933
+ option_sets: "option_sets";
934
+ coupons: "coupons";
935
+ points: "points";
936
+ orders: "orders";
937
+ claims: "claims";
938
+ customers: "customers";
939
+ inquiries: "inquiries";
940
+ customer_inquiries: "customer_inquiries";
941
+ store_settings: "store_settings";
942
+ shipping: "shipping";
943
+ addresses: "addresses";
944
+ payments: "payments";
945
+ login: "login";
946
+ members: "members";
947
+ order_flows: "order_flows";
948
+ webhooks: "webhooks";
949
+ storefront: "storefront";
950
+ }>;
951
+ id: z.ZodOptional<z.ZodString>;
952
+ }, z.core.$strip>>;
953
+ }, z.core.$strip>, z.ZodObject<{
954
+ type: z.ZodLiteral<"tool_result">;
955
+ messageId: z.ZodString;
956
+ toolCallId: z.ZodString;
957
+ status: z.ZodEnum<{
958
+ error: "error";
959
+ unknown: "unknown";
960
+ ok: "ok";
961
+ }>;
962
+ summary: z.ZodNullable<z.ZodString>;
963
+ }, z.core.$strip>, z.ZodObject<{
964
+ type: z.ZodLiteral<"choices">;
965
+ messageId: z.ZodString;
966
+ question: z.ZodString;
967
+ options: z.ZodArray<z.ZodObject<{
968
+ label: z.ZodString;
969
+ value: z.ZodString;
970
+ }, z.core.$strip>>;
971
+ }, z.core.$strip>, z.ZodObject<{
972
+ type: z.ZodLiteral<"approval">;
973
+ messageId: z.ZodString;
974
+ approvalId: z.ZodString;
975
+ title: z.ZodString;
976
+ }, z.core.$strip>, z.ZodObject<{
977
+ type: z.ZodLiteral<"message">;
978
+ message: z.ZodObject<{
979
+ id: z.ZodString;
980
+ role: z.ZodEnum<{
981
+ user: "user";
982
+ assistant: "assistant";
983
+ }>;
984
+ parts: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
985
+ type: z.ZodLiteral<"text">;
986
+ text: z.ZodString;
987
+ }, z.core.$strip>, z.ZodObject<{
988
+ type: z.ZodLiteral<"tool">;
989
+ toolCallId: z.ZodString;
990
+ name: z.ZodString;
991
+ label: z.ZodString;
992
+ status: z.ZodEnum<{
993
+ error: "error";
994
+ unknown: "unknown";
995
+ ok: "ok";
996
+ }>;
997
+ summary: z.ZodNullable<z.ZodString>;
998
+ }, z.core.$strip>, z.ZodObject<{
999
+ type: z.ZodLiteral<"choices">;
1000
+ question: z.ZodString;
1001
+ options: z.ZodArray<z.ZodObject<{
1002
+ label: z.ZodString;
1003
+ value: z.ZodString;
1004
+ }, z.core.$strip>>;
1005
+ }, z.core.$strip>, z.ZodObject<{
1006
+ type: z.ZodLiteral<"attachment">;
1007
+ attachment: z.ZodObject<{
1008
+ url: z.ZodString;
1009
+ name: z.ZodString;
1010
+ mediaType: z.ZodString;
1011
+ }, z.core.$strip>;
1012
+ }, z.core.$strip>, z.ZodObject<{
1013
+ type: z.ZodLiteral<"approval">;
1014
+ approvalId: z.ZodString;
1015
+ title: z.ZodString;
1016
+ }, z.core.$strip>, z.ZodObject<{
1017
+ type: z.ZodLiteral<"selection">;
1018
+ selection: z.ZodObject<{
1019
+ component: z.ZodNullable<z.ZodString>;
1020
+ source: z.ZodNullable<z.ZodObject<{
1021
+ path: z.ZodString;
1022
+ line: z.ZodNumber;
1023
+ column: z.ZodOptional<z.ZodNumber>;
1024
+ }, z.core.$strip>>;
1025
+ tag: z.ZodString;
1026
+ text: z.ZodString;
1027
+ pagePath: z.ZodString;
1028
+ }, z.core.$strip>;
1029
+ }, z.core.$strip>], "type">>;
1030
+ runId: z.ZodNullable<z.ZodString>;
1031
+ createdAt: z.ZodString;
1032
+ }, z.core.$strip>;
1033
+ }, z.core.$strip>, z.ZodObject<{
1034
+ type: z.ZodLiteral<"error">;
1035
+ code: z.ZodString;
1036
+ message: z.ZodString;
1037
+ }, z.core.$strip>, z.ZodObject<{
1038
+ type: z.ZodLiteral<"done">;
1039
+ status: z.ZodEnum<{
1040
+ QUEUED: "QUEUED";
1041
+ RUNNING: "RUNNING";
1042
+ CANCEL_REQUESTED: "CANCEL_REQUESTED";
1043
+ DONE: "DONE";
1044
+ FAILED: "FAILED";
1045
+ CANCELLED: "CANCELLED";
1046
+ }>;
1047
+ }, z.core.$strip>], "type">;
1048
+ export type AiStreamEvent = z.infer<typeof aiStreamEventSchema>;
1049
+ /** 중계에 쌓이는 이벤트 한 건 — 실행기 → 중계 `POST /internal/streams/{id}/events` */
1050
+ export declare const aiStreamRecordSchema: z.ZodObject<{
1051
+ seq: z.ZodNumber;
1052
+ event: z.ZodDiscriminatedUnion<[z.ZodObject<{
1053
+ type: z.ZodLiteral<"delta">;
1054
+ messageId: z.ZodString;
1055
+ text: z.ZodString;
1056
+ }, z.core.$strip>, z.ZodObject<{
1057
+ type: z.ZodLiteral<"tool_start">;
1058
+ messageId: z.ZodString;
1059
+ toolCallId: z.ZodString;
1060
+ name: z.ZodString;
1061
+ label: z.ZodString;
1062
+ focus: z.ZodOptional<z.ZodObject<{
1063
+ area: z.ZodEnum<{
1064
+ products: "products";
1065
+ categories: "categories";
1066
+ collections: "collections";
1067
+ option_sets: "option_sets";
1068
+ coupons: "coupons";
1069
+ points: "points";
1070
+ orders: "orders";
1071
+ claims: "claims";
1072
+ customers: "customers";
1073
+ inquiries: "inquiries";
1074
+ customer_inquiries: "customer_inquiries";
1075
+ store_settings: "store_settings";
1076
+ shipping: "shipping";
1077
+ addresses: "addresses";
1078
+ payments: "payments";
1079
+ login: "login";
1080
+ members: "members";
1081
+ order_flows: "order_flows";
1082
+ webhooks: "webhooks";
1083
+ storefront: "storefront";
1084
+ }>;
1085
+ id: z.ZodOptional<z.ZodString>;
1086
+ }, z.core.$strip>>;
1087
+ }, z.core.$strip>, z.ZodObject<{
1088
+ type: z.ZodLiteral<"tool_result">;
1089
+ messageId: z.ZodString;
1090
+ toolCallId: z.ZodString;
1091
+ status: z.ZodEnum<{
1092
+ error: "error";
1093
+ unknown: "unknown";
1094
+ ok: "ok";
1095
+ }>;
1096
+ summary: z.ZodNullable<z.ZodString>;
1097
+ }, z.core.$strip>, z.ZodObject<{
1098
+ type: z.ZodLiteral<"choices">;
1099
+ messageId: z.ZodString;
1100
+ question: z.ZodString;
1101
+ options: z.ZodArray<z.ZodObject<{
1102
+ label: z.ZodString;
1103
+ value: z.ZodString;
1104
+ }, z.core.$strip>>;
1105
+ }, z.core.$strip>, z.ZodObject<{
1106
+ type: z.ZodLiteral<"approval">;
1107
+ messageId: z.ZodString;
1108
+ approvalId: z.ZodString;
1109
+ title: z.ZodString;
1110
+ }, z.core.$strip>, z.ZodObject<{
1111
+ type: z.ZodLiteral<"message">;
1112
+ message: z.ZodObject<{
1113
+ id: z.ZodString;
1114
+ role: z.ZodEnum<{
1115
+ user: "user";
1116
+ assistant: "assistant";
1117
+ }>;
1118
+ parts: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1119
+ type: z.ZodLiteral<"text">;
1120
+ text: z.ZodString;
1121
+ }, z.core.$strip>, z.ZodObject<{
1122
+ type: z.ZodLiteral<"tool">;
1123
+ toolCallId: z.ZodString;
1124
+ name: z.ZodString;
1125
+ label: z.ZodString;
1126
+ status: z.ZodEnum<{
1127
+ error: "error";
1128
+ unknown: "unknown";
1129
+ ok: "ok";
1130
+ }>;
1131
+ summary: z.ZodNullable<z.ZodString>;
1132
+ }, z.core.$strip>, z.ZodObject<{
1133
+ type: z.ZodLiteral<"choices">;
1134
+ question: z.ZodString;
1135
+ options: z.ZodArray<z.ZodObject<{
1136
+ label: z.ZodString;
1137
+ value: z.ZodString;
1138
+ }, z.core.$strip>>;
1139
+ }, z.core.$strip>, z.ZodObject<{
1140
+ type: z.ZodLiteral<"attachment">;
1141
+ attachment: z.ZodObject<{
1142
+ url: z.ZodString;
1143
+ name: z.ZodString;
1144
+ mediaType: z.ZodString;
1145
+ }, z.core.$strip>;
1146
+ }, z.core.$strip>, z.ZodObject<{
1147
+ type: z.ZodLiteral<"approval">;
1148
+ approvalId: z.ZodString;
1149
+ title: z.ZodString;
1150
+ }, z.core.$strip>, z.ZodObject<{
1151
+ type: z.ZodLiteral<"selection">;
1152
+ selection: z.ZodObject<{
1153
+ component: z.ZodNullable<z.ZodString>;
1154
+ source: z.ZodNullable<z.ZodObject<{
1155
+ path: z.ZodString;
1156
+ line: z.ZodNumber;
1157
+ column: z.ZodOptional<z.ZodNumber>;
1158
+ }, z.core.$strip>>;
1159
+ tag: z.ZodString;
1160
+ text: z.ZodString;
1161
+ pagePath: z.ZodString;
1162
+ }, z.core.$strip>;
1163
+ }, z.core.$strip>], "type">>;
1164
+ runId: z.ZodNullable<z.ZodString>;
1165
+ createdAt: z.ZodString;
1166
+ }, z.core.$strip>;
1167
+ }, z.core.$strip>, z.ZodObject<{
1168
+ type: z.ZodLiteral<"error">;
1169
+ code: z.ZodString;
1170
+ message: z.ZodString;
1171
+ }, z.core.$strip>, z.ZodObject<{
1172
+ type: z.ZodLiteral<"done">;
1173
+ status: z.ZodEnum<{
1174
+ QUEUED: "QUEUED";
1175
+ RUNNING: "RUNNING";
1176
+ CANCEL_REQUESTED: "CANCEL_REQUESTED";
1177
+ DONE: "DONE";
1178
+ FAILED: "FAILED";
1179
+ CANCELLED: "CANCELLED";
1180
+ }>;
1181
+ }, z.core.$strip>], "type">;
1182
+ }, z.core.$strip>;
1183
+ export type AiStreamRecord = z.infer<typeof aiStreamRecordSchema>;
1184
+ export declare const STORE_DRAFT_MAX_ATTACHMENTS = 5;
1185
+ /** 초안 첨부 하나의 최대 크기(바이트) */
1186
+ export declare const STORE_DRAFT_ATTACHMENT_MAX_BYTES: number;
1187
+ /** 연결하지 않은 초안을 지우기까지 */
1188
+ export declare const STORE_DRAFT_RETENTION_DAYS = 7;
1189
+ export declare const createStoreDraftRequestSchema: z.ZodObject<{
1190
+ text: z.ZodString;
1191
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
1192
+ filename: z.ZodString;
1193
+ size: z.ZodNumber;
1194
+ }, z.core.$strip>>>;
1195
+ }, z.core.$strip>;
1196
+ export type CreateStoreDraftRequest = z.input<typeof createStoreDraftRequestSchema>;
1197
+ export declare const createStoreDraftResponseSchema: z.ZodObject<{
1198
+ draftId: z.ZodString;
1199
+ uploads: z.ZodArray<z.ZodObject<{
1200
+ uploadUrl: z.ZodString;
1201
+ url: z.ZodString;
1202
+ }, z.core.$strip>>;
1203
+ continueUrl: z.ZodString;
375
1204
  }, z.core.$strip>;
376
- export type ApprovalPage = z.infer<typeof approvalPageSchema>;
377
- export declare const approvalDecisionRequestSchema: z.ZodObject<{
378
- note: z.ZodOptional<z.ZodString>;
1205
+ export type CreateStoreDraftResponse = z.infer<typeof createStoreDraftResponseSchema>;
1206
+ export declare const storeDraftSchema: z.ZodObject<{
1207
+ id: z.ZodString;
1208
+ text: z.ZodString;
1209
+ attachments: z.ZodArray<z.ZodObject<{
1210
+ url: z.ZodString;
1211
+ name: z.ZodString;
1212
+ mediaType: z.ZodString;
1213
+ }, z.core.$strip>>;
1214
+ createdAt: z.ZodString;
1215
+ storeId: z.ZodNullable<z.ZodString>;
379
1216
  }, z.core.$strip>;
380
- export type ApprovalDecisionRequest = z.infer<typeof approvalDecisionRequestSchema>;
381
- //#endregion
382
- //#region src/http.d.ts
383
- export declare class ApiError extends Error {
384
- readonly status: number;
385
- readonly code: string;
386
- readonly traceId?: string | undefined;
387
- readonly body?: unknown | undefined;
388
- /** 엔벨로프 `$.error.details` — 에러 코드별 보조 데이터. 없으면 undefined */
389
- readonly details?: Record<string, unknown> | undefined;
390
- /** 엔벨로프 `$.error.docs` — 이 에러 코드를 설명하는 문서 URL. 매핑이 없으면 undefined */
391
- readonly docs?: string | undefined;
392
- constructor(status: number, code: string, message: string, traceId?: string | undefined, body?: unknown | undefined,
393
- /** 엔벨로프 `$.error.details` — 에러 코드별 보조 데이터. 없으면 undefined */
394
- details?: Record<string, unknown> | undefined,
395
- /** 엔벨로프 `$.error.docs` — 이 에러 코드를 설명하는 문서 URL. 매핑이 없으면 undefined */
396
- docs?: string | undefined);
397
- }
398
- /** 에이전트 쓰기가 승인 대기로 보류됐다(202) */
399
- export declare const APPROVAL_REQUIRED_CODE = "APPROVAL_REQUIRED";
400
- /** 같은 멱등키의 승인 요청이 이미 끝났다(200) — 결과는 승인 요청의 `status`·`result`다 */
401
- export declare const APPROVAL_ALREADY_DECIDED_CODE = "APPROVAL_ALREADY_DECIDED";
402
- /**
403
- * 쓰기 요청이 실행되지 않고 승인 흐름에 걸렸다 (이슈 #36). 응답 `data`가 요청한 리소스가 아니라 승인 요청이라
404
- * 성공 값으로 돌려주지 않는다 — 돌려주면 호출부가 승인 요청을 상품·주문으로 읽는다.
405
- *
406
- * - `code = APPROVAL_REQUIRED`(202): 에이전트의 고위험 쓰기가 보류됐다. 아직 아무것도 바뀌지 않았다.
407
- * 셀러가 상점 플랫폼(`approval.approvalUrl`)에서 승인하면 서버가 원 요청을 실행한다. 같은 요청을 다시 보내지 말고
408
- * `approvalRequests.get(approvalId)`로 결과를 확인한다.
409
- * - `code = APPROVAL_ALREADY_DECIDED`(200): 같은 멱등키로 보낸 요청의 승인이 이미 끝났다. `status`가
410
- * `SUCCEEDED`·`FAILED`·`UNKNOWN`이면 실행 결과(`approval.result`)를 보고, `REJECTED`·`EXPIRED`면 새 멱등키로 다시 요청한다.
411
- */
412
- export declare class ApprovalPendingError extends Error {
413
- readonly code: typeof APPROVAL_REQUIRED_CODE | typeof APPROVAL_ALREADY_DECIDED_CODE;
414
- /** HTTP 상태 코드 (202·200) */
415
- readonly httpStatus: number;
416
- readonly approval: ApprovalRequest;
417
- readonly approvalId: string;
418
- /** 승인 요청 상태 */
419
- readonly status: ApprovalStatus;
420
- constructor(code: typeof APPROVAL_REQUIRED_CODE | typeof APPROVAL_ALREADY_DECIDED_CODE,
421
- /** HTTP 상태 코드 (202·200) */
422
- httpStatus: number, approval: ApprovalRequest, message: string);
423
- }
424
- type TokenSource = string | null | undefined | (() => string | null | undefined);
425
- type Query = Record<string, string | number | boolean | undefined>;
426
- export declare function buildQuery(query?: Query): string;
1217
+ export type StoreDraft = z.infer<typeof storeDraftSchema>;
1218
+ /** 로그인 전 초안 미리보기(`GET /v1/public/store-drafts/{id}`) — 로그인 화면이 「저장한 설명」을 보인다. 첨부는 이름만 */
1219
+ export declare const storeDraftPreviewSchema: z.ZodObject<{
1220
+ id: z.ZodString;
1221
+ text: z.ZodString;
1222
+ attachments: z.ZodArray<z.ZodObject<{
1223
+ name: z.ZodString;
1224
+ mediaType: z.ZodString;
1225
+ }, z.core.$strip>>;
1226
+ expiresAt: z.ZodString;
1227
+ used: z.ZodBoolean;
1228
+ }, z.core.$strip>;
1229
+ export type StoreDraftPreview = z.infer<typeof storeDraftPreviewSchema>;
427
1230
  //#endregion
428
1231
  //#region src/schemas/analytics.d.ts
429
1232
  export declare const analyticsRangeQuerySchema: z.ZodObject<{
@@ -587,10 +1390,10 @@ export declare const analyticsProductsSchema: z.ZodObject<{
587
1390
  }, z.core.$strip>;
588
1391
  export type AnalyticsProducts = z.infer<typeof analyticsProductsSchema>;
589
1392
  export declare const analyticsChannelSchema: z.ZodEnum<{
1393
+ UNKNOWN: "UNKNOWN";
590
1394
  PAID: "PAID";
591
1395
  DIRECT: "DIRECT";
592
1396
  CAMPAIGN: "CAMPAIGN";
593
- UNKNOWN: "UNKNOWN";
594
1397
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
595
1398
  SOCIAL: "SOCIAL";
596
1399
  EMAIL: "EMAIL";
@@ -621,10 +1424,10 @@ export declare const analyticsSourcesQuerySchema: z.ZodObject<{
621
1424
  export type AnalyticsSourcesParams = z.infer<typeof analyticsSourcesQuerySchema>;
622
1425
  export declare const analyticsSourceRowSchema: z.ZodObject<{
623
1426
  channel: z.ZodNullable<z.ZodEnum<{
1427
+ UNKNOWN: "UNKNOWN";
624
1428
  PAID: "PAID";
625
1429
  DIRECT: "DIRECT";
626
1430
  CAMPAIGN: "CAMPAIGN";
627
- UNKNOWN: "UNKNOWN";
628
1431
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
629
1432
  SOCIAL: "SOCIAL";
630
1433
  EMAIL: "EMAIL";
@@ -657,10 +1460,10 @@ export declare const analyticsSourcesSchema: z.ZodObject<{
657
1460
  }>;
658
1461
  rows: z.ZodArray<z.ZodObject<{
659
1462
  channel: z.ZodNullable<z.ZodEnum<{
1463
+ UNKNOWN: "UNKNOWN";
660
1464
  PAID: "PAID";
661
1465
  DIRECT: "DIRECT";
662
1466
  CAMPAIGN: "CAMPAIGN";
663
- UNKNOWN: "UNKNOWN";
664
1467
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
665
1468
  SOCIAL: "SOCIAL";
666
1469
  EMAIL: "EMAIL";
@@ -2144,7 +2947,7 @@ export declare function parseWebhookEvent(body: unknown): ParsedWebhookEvent;
2144
2947
  //#endregion
2145
2948
  //#region src/schemas/app-manifest.d.ts
2146
2949
  /**
2147
- * 서드파티 앱 매니페스트 `sayren.app.json` (이슈 #22) — CLI(`sayren app`)·api(빌드 `VERIFY`·버전 판정·동의 화면 자료)·런타임이
2950
+ * 서드파티 앱 매니페스트 `manifest.json` (이슈 #22) — CLI(`sayren app`)·api(빌드 `VERIFY`·버전 판정·동의 화면 자료)·런타임이
2148
2951
  * 같은 원천을 쓴다. 매니페스트는 정적 JSON이고 빌드 없이 읽는다.
2149
2952
  *
2150
2953
  * 기능 하나는 **capability** 하나다(`APP_CAPABILITIES`). capability는 매니페스트 조각·동의 문단·넓어짐 판정(재동의 조건)을 한 곳에 둔다.
@@ -2866,10 +3669,10 @@ export declare const appInstallationRunSchema: z.ZodObject<{
2866
3669
  deliveryId: z.ZodString;
2867
3670
  eventType: z.ZodString;
2868
3671
  status: z.ZodEnum<{
3672
+ FAILED: "FAILED";
2869
3673
  PENDING: "PENDING";
2870
3674
  PENDING_RETRY: "PENDING_RETRY";
2871
3675
  SUCCESS: "SUCCESS";
2872
- FAILED: "FAILED";
2873
3676
  }>;
2874
3677
  errorCode: z.ZodNullable<z.ZodEnum<{
2875
3678
  TIMEOUT: "TIMEOUT";
@@ -2896,10 +3699,10 @@ export declare const appInstallationActivitySchema: z.ZodObject<{
2896
3699
  deliveryId: z.ZodString;
2897
3700
  eventType: z.ZodString;
2898
3701
  status: z.ZodEnum<{
3702
+ FAILED: "FAILED";
2899
3703
  PENDING: "PENDING";
2900
3704
  PENDING_RETRY: "PENDING_RETRY";
2901
3705
  SUCCESS: "SUCCESS";
2902
- FAILED: "FAILED";
2903
3706
  }>;
2904
3707
  errorCode: z.ZodNullable<z.ZodEnum<{
2905
3708
  TIMEOUT: "TIMEOUT";
@@ -3140,10 +3943,10 @@ export type AppBuildStage = z.infer<typeof appBuildStageSchema>;
3140
3943
  export declare const appBuildSchema: z.ZodObject<{
3141
3944
  buildId: z.ZodString;
3142
3945
  status: z.ZodEnum<{
3946
+ QUEUED: "QUEUED";
3947
+ RUNNING: "RUNNING";
3143
3948
  FAILED: "FAILED";
3144
3949
  SUCCEEDED: "SUCCEEDED";
3145
- RUNNING: "RUNNING";
3146
- QUEUED: "QUEUED";
3147
3950
  TIMED_OUT: "TIMED_OUT";
3148
3951
  }>;
3149
3952
  stages: z.ZodArray<z.ZodObject<{
@@ -3186,10 +3989,10 @@ export declare const appVersionSchema: z.ZodObject<{
3186
3989
  build: z.ZodNullable<z.ZodObject<{
3187
3990
  buildId: z.ZodString;
3188
3991
  status: z.ZodEnum<{
3992
+ QUEUED: "QUEUED";
3993
+ RUNNING: "RUNNING";
3189
3994
  FAILED: "FAILED";
3190
3995
  SUCCEEDED: "SUCCEEDED";
3191
- RUNNING: "RUNNING";
3192
- QUEUED: "QUEUED";
3193
3996
  TIMED_OUT: "TIMED_OUT";
3194
3997
  }>;
3195
3998
  stages: z.ZodArray<z.ZodObject<{
@@ -3337,10 +4140,10 @@ export declare const appReleaseResultSchema: z.ZodObject<{
3337
4140
  build: z.ZodNullable<z.ZodObject<{
3338
4141
  buildId: z.ZodString;
3339
4142
  status: z.ZodEnum<{
4143
+ QUEUED: "QUEUED";
4144
+ RUNNING: "RUNNING";
3340
4145
  FAILED: "FAILED";
3341
4146
  SUCCEEDED: "SUCCEEDED";
3342
- RUNNING: "RUNNING";
3343
- QUEUED: "QUEUED";
3344
4147
  TIMED_OUT: "TIMED_OUT";
3345
4148
  }>;
3346
4149
  stages: z.ZodArray<z.ZodObject<{
@@ -3430,11 +4233,11 @@ export declare const appInvocationSchema: z.ZodObject<{
3430
4233
  installationId: z.ZodString;
3431
4234
  versionNumber: z.ZodNullable<z.ZodNumber>;
3432
4235
  kind: z.ZodEnum<{
4236
+ tool: "tool";
3433
4237
  event: "event";
3434
4238
  flow: "flow";
3435
4239
  http: "http";
3436
4240
  schedule: "schedule";
3437
- tool: "tool";
3438
4241
  }>;
3439
4242
  eventType: z.ZodNullable<z.ZodString>;
3440
4243
  outcome: z.ZodEnum<{
@@ -6231,10 +7034,10 @@ export declare const webhookSecretRotatedSchema: z.ZodObject<{
6231
7034
  }, z.core.$strip>;
6232
7035
  export type WebhookSecretRotated = z.infer<typeof webhookSecretRotatedSchema>;
6233
7036
  export declare const webhookDeliveryStatusSchema: z.ZodEnum<{
7037
+ FAILED: "FAILED";
6234
7038
  PENDING: "PENDING";
6235
7039
  PENDING_RETRY: "PENDING_RETRY";
6236
7040
  SUCCESS: "SUCCESS";
6237
- FAILED: "FAILED";
6238
7041
  }>;
6239
7042
  export type WebhookDeliveryStatus = z.infer<typeof webhookDeliveryStatusSchema>;
6240
7043
  export declare const webhookDeliveryErrorCodeSchema: z.ZodEnum<{
@@ -6304,10 +7107,10 @@ export declare const webhookDeliverySchema: z.ZodObject<{
6304
7107
  }>;
6305
7108
  url: z.ZodString;
6306
7109
  status: z.ZodEnum<{
7110
+ FAILED: "FAILED";
6307
7111
  PENDING: "PENDING";
6308
7112
  PENDING_RETRY: "PENDING_RETRY";
6309
7113
  SUCCESS: "SUCCESS";
6310
- FAILED: "FAILED";
6311
7114
  }>;
6312
7115
  responseStatusCode: z.ZodNullable<z.ZodNumber>;
6313
7116
  responseTimeMs: z.ZodNullable<z.ZodNumber>;
@@ -6365,10 +7168,10 @@ export declare const webhookDeliveryDetailSchema: z.ZodObject<{
6365
7168
  }>;
6366
7169
  url: z.ZodString;
6367
7170
  status: z.ZodEnum<{
7171
+ FAILED: "FAILED";
6368
7172
  PENDING: "PENDING";
6369
7173
  PENDING_RETRY: "PENDING_RETRY";
6370
7174
  SUCCESS: "SUCCESS";
6371
- FAILED: "FAILED";
6372
7175
  }>;
6373
7176
  responseStatusCode: z.ZodNullable<z.ZodNumber>;
6374
7177
  responseTimeMs: z.ZodNullable<z.ZodNumber>;
@@ -6409,10 +7212,10 @@ export type WebhookDeliveryDetail = z.infer<typeof webhookDeliveryDetailSchema>;
6409
7212
  /** 전송 기록 조회 쿼리 — `GET /webhooks/{id}/deliveries` */
6410
7213
  export declare const webhookDeliveryListQuerySchema: z.ZodObject<{
6411
7214
  status: z.ZodOptional<z.ZodEnum<{
7215
+ FAILED: "FAILED";
6412
7216
  PENDING: "PENDING";
6413
7217
  PENDING_RETRY: "PENDING_RETRY";
6414
7218
  SUCCESS: "SUCCESS";
6415
- FAILED: "FAILED";
6416
7219
  }>>;
6417
7220
  eventType: z.ZodOptional<z.ZodEnum<{
6418
7221
  "ORDER.PAID": "ORDER.PAID";
@@ -7397,8 +8200,8 @@ export declare const pgEnvironmentSchema: z.ZodEnum<{
7397
8200
  }>;
7398
8201
  export type PgEnvironment = z.infer<typeof pgEnvironmentSchema>;
7399
8202
  export declare const pgVerificationResultSchema: z.ZodEnum<{
7400
- SUCCESS: "SUCCESS";
7401
8203
  FAILED: "FAILED";
8204
+ SUCCESS: "SUCCESS";
7402
8205
  }>;
7403
8206
  export type PgVerificationResult = z.infer<typeof pgVerificationResultSchema>;
7404
8207
  /**
@@ -7547,8 +8350,8 @@ export declare const paymentCredentialSetSchema: z.ZodObject<{
7547
8350
  }, z.core.$strip>>;
7548
8351
  lastVerification: z.ZodNullable<z.ZodObject<{
7549
8352
  result: z.ZodEnum<{
7550
- SUCCESS: "SUCCESS";
7551
8353
  FAILED: "FAILED";
8354
+ SUCCESS: "SUCCESS";
7552
8355
  }>;
7553
8356
  message: z.ZodNullable<z.ZodString>;
7554
8357
  checkedAt: z.ZodString;
@@ -7657,8 +8460,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
7657
8460
  }, z.core.$strip>>;
7658
8461
  lastVerification: z.ZodNullable<z.ZodObject<{
7659
8462
  result: z.ZodEnum<{
7660
- SUCCESS: "SUCCESS";
7661
8463
  FAILED: "FAILED";
8464
+ SUCCESS: "SUCCESS";
7662
8465
  }>;
7663
8466
  message: z.ZodNullable<z.ZodString>;
7664
8467
  checkedAt: z.ZodString;
@@ -7694,8 +8497,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
7694
8497
  }, z.core.$strip>>;
7695
8498
  lastVerification: z.ZodNullable<z.ZodObject<{
7696
8499
  result: z.ZodEnum<{
7697
- SUCCESS: "SUCCESS";
7698
8500
  FAILED: "FAILED";
8501
+ SUCCESS: "SUCCESS";
7699
8502
  }>;
7700
8503
  message: z.ZodNullable<z.ZodString>;
7701
8504
  checkedAt: z.ZodString;
@@ -7730,8 +8533,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
7730
8533
  }, z.core.$strip>>;
7731
8534
  lastVerification: z.ZodNullable<z.ZodObject<{
7732
8535
  result: z.ZodEnum<{
7733
- SUCCESS: "SUCCESS";
7734
8536
  FAILED: "FAILED";
8537
+ SUCCESS: "SUCCESS";
7735
8538
  }>;
7736
8539
  message: z.ZodNullable<z.ZodString>;
7737
8540
  checkedAt: z.ZodString;
@@ -7823,8 +8626,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
7823
8626
  }, z.core.$strip>>;
7824
8627
  lastVerification: z.ZodNullable<z.ZodObject<{
7825
8628
  result: z.ZodEnum<{
7826
- SUCCESS: "SUCCESS";
7827
8629
  FAILED: "FAILED";
8630
+ SUCCESS: "SUCCESS";
7828
8631
  }>;
7829
8632
  message: z.ZodNullable<z.ZodString>;
7830
8633
  checkedAt: z.ZodString;
@@ -7860,8 +8663,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
7860
8663
  }, z.core.$strip>>;
7861
8664
  lastVerification: z.ZodNullable<z.ZodObject<{
7862
8665
  result: z.ZodEnum<{
7863
- SUCCESS: "SUCCESS";
7864
8666
  FAILED: "FAILED";
8667
+ SUCCESS: "SUCCESS";
7865
8668
  }>;
7866
8669
  message: z.ZodNullable<z.ZodString>;
7867
8670
  checkedAt: z.ZodString;
@@ -7896,8 +8699,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
7896
8699
  }, z.core.$strip>>;
7897
8700
  lastVerification: z.ZodNullable<z.ZodObject<{
7898
8701
  result: z.ZodEnum<{
7899
- SUCCESS: "SUCCESS";
7900
8702
  FAILED: "FAILED";
8703
+ SUCCESS: "SUCCESS";
7901
8704
  }>;
7902
8705
  message: z.ZodNullable<z.ZodString>;
7903
8706
  checkedAt: z.ZodString;
@@ -7955,8 +8758,8 @@ export declare const paymentProviderVerificationSchema: z.ZodObject<{
7955
8758
  LIVE: "LIVE";
7956
8759
  }>;
7957
8760
  result: z.ZodEnum<{
7958
- SUCCESS: "SUCCESS";
7959
8761
  FAILED: "FAILED";
8762
+ SUCCESS: "SUCCESS";
7960
8763
  }>;
7961
8764
  message: z.ZodNullable<z.ZodString>;
7962
8765
  checkedAt: z.ZodString;
@@ -8086,8 +8889,8 @@ export type SalesReport = z.infer<typeof salesReportSchema>;
8086
8889
  * - `FAILED`: 승인되지 않고 끝났다(거절·준비 장애·구매자 취소·만료)
8087
8890
  */
8088
8891
  export declare const paymentRecordStatusSchema: z.ZodEnum<{
8089
- PENDING: "PENDING";
8090
8892
  FAILED: "FAILED";
8893
+ PENDING: "PENDING";
8091
8894
  APPROVED: "APPROVED";
8092
8895
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
8093
8896
  REFUNDED: "REFUNDED";
@@ -8134,8 +8937,8 @@ export declare const paymentRecordSchema: z.ZodObject<{
8134
8937
  orderName: z.ZodString;
8135
8938
  customerName: z.ZodString;
8136
8939
  status: z.ZodEnum<{
8137
- PENDING: "PENDING";
8138
8940
  FAILED: "FAILED";
8941
+ PENDING: "PENDING";
8139
8942
  APPROVED: "APPROVED";
8140
8943
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
8141
8944
  REFUNDED: "REFUNDED";
@@ -8182,8 +8985,8 @@ export declare const paymentRecordPageSchema: z.ZodObject<{
8182
8985
  orderName: z.ZodString;
8183
8986
  customerName: z.ZodString;
8184
8987
  status: z.ZodEnum<{
8185
- PENDING: "PENDING";
8186
8988
  FAILED: "FAILED";
8989
+ PENDING: "PENDING";
8187
8990
  APPROVED: "APPROVED";
8188
8991
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
8189
8992
  REFUNDED: "REFUNDED";
@@ -8275,8 +9078,8 @@ export declare const paymentRecordDetailSchema: z.ZodObject<{
8275
9078
  orderName: z.ZodString;
8276
9079
  customerName: z.ZodString;
8277
9080
  status: z.ZodEnum<{
8278
- PENDING: "PENDING";
8279
9081
  FAILED: "FAILED";
9082
+ PENDING: "PENDING";
8280
9083
  APPROVED: "APPROVED";
8281
9084
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
8282
9085
  REFUNDED: "REFUNDED";
@@ -8890,8 +9693,8 @@ export declare const customInputRequestSchema: z.ZodObject<{
8890
9693
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8891
9694
  type: z.ZodOptional<z.ZodEnum<{
8892
9695
  number: "number";
8893
- date: "date";
8894
9696
  text: "text";
9697
+ date: "date";
8895
9698
  select: "select";
8896
9699
  datetime: "datetime";
8897
9700
  image: "image";
@@ -9160,8 +9963,8 @@ export declare const optionModelRequestSchema: z.ZodObject<{
9160
9963
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9161
9964
  type: z.ZodOptional<z.ZodEnum<{
9162
9965
  number: "number";
9163
- date: "date";
9164
9966
  text: "text";
9967
+ date: "date";
9165
9968
  select: "select";
9166
9969
  datetime: "datetime";
9167
9970
  image: "image";
@@ -9334,8 +10137,8 @@ export declare const productCreateRequestSchema: z.ZodObject<{
9334
10137
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9335
10138
  type: z.ZodOptional<z.ZodEnum<{
9336
10139
  number: "number";
9337
- date: "date";
9338
10140
  text: "text";
10141
+ date: "date";
9339
10142
  select: "select";
9340
10143
  datetime: "datetime";
9341
10144
  image: "image";
@@ -9448,8 +10251,8 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
9448
10251
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9449
10252
  type: z.ZodOptional<z.ZodEnum<{
9450
10253
  number: "number";
9451
- date: "date";
9452
10254
  text: "text";
10255
+ date: "date";
9453
10256
  select: "select";
9454
10257
  datetime: "datetime";
9455
10258
  image: "image";
@@ -9681,8 +10484,8 @@ export declare const savedCustomInputRequestSchema: z.ZodObject<{
9681
10484
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9682
10485
  type: z.ZodOptional<z.ZodEnum<{
9683
10486
  number: "number";
9684
- date: "date";
9685
10487
  text: "text";
10488
+ date: "date";
9686
10489
  select: "select";
9687
10490
  datetime: "datetime";
9688
10491
  image: "image";
@@ -9721,8 +10524,8 @@ export declare const savedOptionSetRequestSchema: z.ZodObject<{
9721
10524
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9722
10525
  type: z.ZodOptional<z.ZodEnum<{
9723
10526
  number: "number";
9724
- date: "date";
9725
10527
  text: "text";
10528
+ date: "date";
9726
10529
  select: "select";
9727
10530
  datetime: "datetime";
9728
10531
  image: "image";
@@ -10069,8 +10872,8 @@ export declare const invitationSchema: z.ZodObject<{
10069
10872
  STAFF: "STAFF";
10070
10873
  }>;
10071
10874
  status: z.ZodEnum<{
10072
- PENDING: "PENDING";
10073
10875
  EXPIRED: "EXPIRED";
10876
+ PENDING: "PENDING";
10074
10877
  ACCEPTED: "ACCEPTED";
10075
10878
  CANCELED: "CANCELED";
10076
10879
  }>;
@@ -10109,8 +10912,8 @@ export type UpdateMemberRoleRequest = z.infer<typeof updateMemberRoleRequestSche
10109
10912
  /** `GET /v1/store/invitations` 쿼리 — OpenAPI 문서용 형태 */
10110
10913
  export declare const invitationListQuerySchema: z.ZodObject<{
10111
10914
  status: z.ZodOptional<z.ZodEnum<{
10112
- PENDING: "PENDING";
10113
10915
  EXPIRED: "EXPIRED";
10916
+ PENDING: "PENDING";
10114
10917
  ACCEPTED: "ACCEPTED";
10115
10918
  CANCELED: "CANCELED";
10116
10919
  }>>;
@@ -10250,6 +11053,11 @@ export declare function isReservedStorefrontSlug(slug: string): boolean;
10250
11053
  * `test/storefront-hosting-parity.spec.ts`가 둘을 대조한다. 규칙을 바꾸면 두 곳을 같이 고친다.
10251
11054
  */
10252
11055
  export declare function storefrontEditPreviewLabelOf(siteId: string): string;
11056
+ /**
11057
+ * 버전 미리보기 호스트 이름의 라벨 — 올라간 버전 하나를 보는 고유 주소(`sfs_ab12cd34`, 3 → `sfs-ab12cd34-v3-preview`). 편집 미리보기와 같은
11058
+ * `-preview` 공간이라 슬러그가 될 수 없다. 복제본·대조는 `storefrontEditPreviewLabelOf`와 같다.
11059
+ */
11060
+ export declare function storefrontVersionPreviewLabelOf(siteId: string, versionNumber: number): string;
10253
11061
  export declare const storefrontSlugSchema: z.ZodString;
10254
11062
  /** 바꾼 슬러그를 다른 사이트가 가져가지 못하게 막는 기간(일). 보류 동안 옛 주소는 새 주소로 301한다 */
10255
11063
  export declare const STOREFRONT_SLUG_HOLD_DAYS = 90;
@@ -10338,6 +11146,7 @@ export declare const storefrontVersionSchema: z.ZodObject<{
10338
11146
  createdByType: z.ZodString;
10339
11147
  createdVia: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10340
11148
  createdAt: z.ZodString;
11149
+ previewable: z.ZodOptional<z.ZodBoolean>;
10341
11150
  }, z.core.$strip>;
10342
11151
  export type StorefrontVersion = z.infer<typeof storefrontVersionSchema>;
10343
11152
  export declare const storefrontSiteStatusSchema: z.ZodEnum<{
@@ -10375,8 +11184,8 @@ export type StorefrontDomain = z.infer<typeof storefrontDomainSchema>;
10375
11184
  */
10376
11185
  export declare const storefrontProvisioningSchema: z.ZodObject<{
10377
11186
  status: z.ZodEnum<{
10378
- PENDING: "PENDING";
10379
11187
  FAILED: "FAILED";
11188
+ PENDING: "PENDING";
10380
11189
  SYNCED: "SYNCED";
10381
11190
  }>;
10382
11191
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -10460,11 +11269,12 @@ export declare const storefrontSiteSchema: z.ZodObject<{
10460
11269
  createdByType: z.ZodString;
10461
11270
  createdVia: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10462
11271
  createdAt: z.ZodString;
11272
+ previewable: z.ZodOptional<z.ZodBoolean>;
10463
11273
  }, z.core.$strip>>;
10464
11274
  provisioning: z.ZodObject<{
10465
11275
  status: z.ZodEnum<{
10466
- PENDING: "PENDING";
10467
11276
  FAILED: "FAILED";
11277
+ PENDING: "PENDING";
10468
11278
  SYNCED: "SYNCED";
10469
11279
  }>;
10470
11280
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -10545,11 +11355,12 @@ export declare const storefrontHostingSchema: z.ZodObject<{
10545
11355
  createdByType: z.ZodString;
10546
11356
  createdVia: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10547
11357
  createdAt: z.ZodString;
11358
+ previewable: z.ZodOptional<z.ZodBoolean>;
10548
11359
  }, z.core.$strip>>;
10549
11360
  provisioning: z.ZodObject<{
10550
11361
  status: z.ZodEnum<{
10551
- PENDING: "PENDING";
10552
11362
  FAILED: "FAILED";
11363
+ PENDING: "PENDING";
10553
11364
  SYNCED: "SYNCED";
10554
11365
  }>;
10555
11366
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -10596,10 +11407,10 @@ export declare const storefrontDeploymentStepSchema: z.ZodObject<{
10596
11407
  PUBLISH: "PUBLISH";
10597
11408
  }>;
10598
11409
  status: z.ZodEnum<{
10599
- PENDING: "PENDING";
10600
- FAILED: "FAILED";
10601
11410
  RUNNING: "RUNNING";
10602
11411
  DONE: "DONE";
11412
+ FAILED: "FAILED";
11413
+ PENDING: "PENDING";
10603
11414
  }>;
10604
11415
  finishedAt: z.ZodNullable<z.ZodString>;
10605
11416
  }, z.core.$strip>;
@@ -10632,10 +11443,10 @@ export declare const storefrontDeploymentSchema: z.ZodObject<{
10632
11443
  PUBLISH: "PUBLISH";
10633
11444
  }>;
10634
11445
  status: z.ZodEnum<{
10635
- PENDING: "PENDING";
10636
- FAILED: "FAILED";
10637
11446
  RUNNING: "RUNNING";
10638
11447
  DONE: "DONE";
11448
+ FAILED: "FAILED";
11449
+ PENDING: "PENDING";
10639
11450
  }>;
10640
11451
  finishedAt: z.ZodNullable<z.ZodString>;
10641
11452
  }, z.core.$strip>>;
@@ -10706,12 +11517,13 @@ export declare const storefrontSlugAvailabilityQuerySchema: z.ZodObject<{
10706
11517
  slug: z.ZodString;
10707
11518
  }, z.core.$strip>;
10708
11519
  /**
10709
- * 오픈 준비 중 미리보기 링크 — 상점 플랫폼에서 로그인한 OWNER·ADMIN만 받는다(PAT·에이전트 불가). 링크는 5분 안에 한 번 열면
10710
- * 그 브라우저에 12시간짜리 미리보기 쿠키가 생기고 오픈 준비 중인 사이트의 실제 화면을 본다. 링크를 남에게 넘기면 그 사람도
10711
- * 볼 수 있으므로 공유하지 않는다.
11520
+ * 버전 미리보기 링크 — 상점 플랫폼에서 로그인한 OWNER·ADMIN만 받는다(PAT·에이전트 불가). 버전마다 미리보기 전용 주소가 있고
11521
+ * (오픈 준비 중이어도 실제 화면), 링크를 5분 안에 열면 그 브라우저에 그 주소 전용 12시간 쿠키가 생긴다. 사이트 주소는 오픈 전이면
11522
+ * 누구에게나 「오픈 준비 중」이다. 미리보기 주소에 쿠키 없이 들어오면 상점 플랫폼 로그인과 OWNER·ADMIN 확인을 거친다.
10712
11523
  */
10713
11524
  export declare const createStorefrontPreviewLinkRequestSchema: z.ZodObject<{
10714
11525
  path: z.ZodOptional<z.ZodString>;
11526
+ versionId: z.ZodOptional<z.ZodString>;
10715
11527
  }, z.core.$strip>;
10716
11528
  export type CreateStorefrontPreviewLinkRequest = z.infer<typeof createStorefrontPreviewLinkRequestSchema>;
10717
11529
  export declare const storefrontPreviewLinkSchema: z.ZodObject<{
@@ -10754,8 +11566,8 @@ export declare function storefrontCustomHostnameProblem(hostname: string, hostin
10754
11566
  /** 소유 확인 TXT 레코드의 전체 이름 */
10755
11567
  export declare function storefrontDomainTxtNameOf(hostname: string): string;
10756
11568
  export declare const storefrontCustomDomainStatusSchema: z.ZodEnum<{
10757
- ACTIVE: "ACTIVE";
10758
11569
  FAILED: "FAILED";
11570
+ ACTIVE: "ACTIVE";
10759
11571
  PENDING_DNS: "PENDING_DNS";
10760
11572
  PENDING_VALIDATION: "PENDING_VALIDATION";
10761
11573
  }>;
@@ -10781,8 +11593,8 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
10781
11593
  CUSTOM: "CUSTOM";
10782
11594
  }>;
10783
11595
  status: z.ZodEnum<{
10784
- ACTIVE: "ACTIVE";
10785
11596
  FAILED: "FAILED";
11597
+ ACTIVE: "ACTIVE";
10786
11598
  PENDING_DNS: "PENDING_DNS";
10787
11599
  PENDING_VALIDATION: "PENDING_VALIDATION";
10788
11600
  }>;
@@ -10800,9 +11612,9 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
10800
11612
  }>;
10801
11613
  }, z.core.$strip>>;
10802
11614
  certificateStatus: z.ZodNullable<z.ZodEnum<{
11615
+ FAILED: "FAILED";
10803
11616
  ACTIVE: "ACTIVE";
10804
11617
  PENDING: "PENDING";
10805
- FAILED: "FAILED";
10806
11618
  }>>;
10807
11619
  failureCode: z.ZodNullable<z.ZodString>;
10808
11620
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -10824,8 +11636,8 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
10824
11636
  CUSTOM: "CUSTOM";
10825
11637
  }>;
10826
11638
  status: z.ZodEnum<{
10827
- ACTIVE: "ACTIVE";
10828
11639
  FAILED: "FAILED";
11640
+ ACTIVE: "ACTIVE";
10829
11641
  PENDING_DNS: "PENDING_DNS";
10830
11642
  PENDING_VALIDATION: "PENDING_VALIDATION";
10831
11643
  }>;
@@ -10843,9 +11655,9 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
10843
11655
  }>;
10844
11656
  }, z.core.$strip>>;
10845
11657
  certificateStatus: z.ZodNullable<z.ZodEnum<{
11658
+ FAILED: "FAILED";
10846
11659
  ACTIVE: "ACTIVE";
10847
11660
  PENDING: "PENDING";
10848
- FAILED: "FAILED";
10849
11661
  }>>;
10850
11662
  failureCode: z.ZodNullable<z.ZodString>;
10851
11663
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -11079,10 +11891,10 @@ export declare const runStorefrontCheckRequestSchema: z.ZodObject<{
11079
11891
  }, z.core.$strip>;
11080
11892
  export type RunStorefrontCheckRequest = z.infer<typeof runStorefrontCheckRequestSchema>;
11081
11893
  export declare const storefrontCheckStatusSchema: z.ZodEnum<{
11894
+ QUEUED: "QUEUED";
11895
+ RUNNING: "RUNNING";
11082
11896
  FAILED: "FAILED";
11083
11897
  UNKNOWN: "UNKNOWN";
11084
- RUNNING: "RUNNING";
11085
- QUEUED: "QUEUED";
11086
11898
  PASSED: "PASSED";
11087
11899
  TIMED_OUT: "TIMED_OUT";
11088
11900
  }>;
@@ -11093,10 +11905,10 @@ export declare const storefrontCheckSchema: z.ZodObject<{
11093
11905
  checkId: z.ZodString;
11094
11906
  check: z.ZodString;
11095
11907
  status: z.ZodEnum<{
11908
+ QUEUED: "QUEUED";
11909
+ RUNNING: "RUNNING";
11096
11910
  FAILED: "FAILED";
11097
11911
  UNKNOWN: "UNKNOWN";
11098
- RUNNING: "RUNNING";
11099
- QUEUED: "QUEUED";
11100
11912
  PASSED: "PASSED";
11101
11913
  TIMED_OUT: "TIMED_OUT";
11102
11914
  }>;
@@ -11178,10 +11990,10 @@ export declare const storefrontVerifyReportSchema: z.ZodObject<{
11178
11990
  }, z.core.$strip>;
11179
11991
  export type StorefrontVerifyReport = z.infer<typeof storefrontVerifyReportSchema>;
11180
11992
  export declare const storefrontBuildStatusSchema: z.ZodEnum<{
11993
+ QUEUED: "QUEUED";
11994
+ RUNNING: "RUNNING";
11181
11995
  FAILED: "FAILED";
11182
11996
  SUCCEEDED: "SUCCEEDED";
11183
- RUNNING: "RUNNING";
11184
- QUEUED: "QUEUED";
11185
11997
  TIMED_OUT: "TIMED_OUT";
11186
11998
  }>;
11187
11999
  export type StorefrontBuildStatus = z.infer<typeof storefrontBuildStatusSchema>;
@@ -11246,10 +12058,10 @@ export declare const storefrontBuildSchema: z.ZodObject<{
11246
12058
  versionId: z.ZodString;
11247
12059
  versionNumber: z.ZodNumber;
11248
12060
  status: z.ZodEnum<{
12061
+ QUEUED: "QUEUED";
12062
+ RUNNING: "RUNNING";
11249
12063
  FAILED: "FAILED";
11250
12064
  SUCCEEDED: "SUCCEEDED";
11251
- RUNNING: "RUNNING";
11252
- QUEUED: "QUEUED";
11253
12065
  TIMED_OUT: "TIMED_OUT";
11254
12066
  }>;
11255
12067
  failureStage: z.ZodNullable<z.ZodString>;
@@ -11369,16 +12181,17 @@ export declare const storefrontVersionCreatedSchema: z.ZodObject<{
11369
12181
  createdByType: z.ZodString;
11370
12182
  createdVia: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11371
12183
  createdAt: z.ZodString;
12184
+ previewable: z.ZodOptional<z.ZodBoolean>;
11372
12185
  }, z.core.$strip>;
11373
12186
  build: z.ZodObject<{
11374
12187
  buildId: z.ZodString;
11375
12188
  versionId: z.ZodString;
11376
12189
  versionNumber: z.ZodNumber;
11377
12190
  status: z.ZodEnum<{
12191
+ QUEUED: "QUEUED";
12192
+ RUNNING: "RUNNING";
11378
12193
  FAILED: "FAILED";
11379
12194
  SUCCEEDED: "SUCCEEDED";
11380
- RUNNING: "RUNNING";
11381
- QUEUED: "QUEUED";
11382
12195
  TIMED_OUT: "TIMED_OUT";
11383
12196
  }>;
11384
12197
  failureStage: z.ZodNullable<z.ZodString>;
@@ -11472,7 +12285,7 @@ export type StorefrontVersionCreated = z.infer<typeof storefrontVersionCreatedSc
11472
12285
  export declare const createStorefrontEditPreviewLinkRequestSchema: z.ZodObject<{
11473
12286
  path: z.ZodOptional<z.ZodString>;
11474
12287
  }, z.core.$strip>;
11475
- export type CreateStorefrontEditPreviewLinkRequest = CreateStorefrontPreviewLinkRequest;
12288
+ export type CreateStorefrontEditPreviewLinkRequest = z.infer<typeof createStorefrontEditPreviewLinkRequestSchema>;
11476
12289
  /** 압축 파일 조각 하나의 최대 크기(바이트) */
11477
12290
  export declare const STOREFRONT_SOURCE_PART_BYTES: number;
11478
12291
  /** 내용 올리기 한 번의 최대 파일 수 */
@@ -11574,11 +12387,13 @@ export type StorefrontSourceReplaced = z.infer<typeof storefrontSourceReplacedSc
11574
12387
  * - `product-image`: 상품 목록·상세의 상품 이미지. 목록 썸네일로 쓰이므로 정지 이미지만 받는다.
11575
12388
  * - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
11576
12389
  * - `flow-attachment`: 주문 흐름 행동의 첨부(시안 등, 이슈 #115). 구매자에게 보이므로 정지 이미지와 PDF만 받는다.
12390
+ * - `ai-attachment`: 상점 플랫폼 AI 채팅에 붙이는 자료(이슈 #124). 모델이 읽는 정지 이미지와 PDF만 받는다.
11577
12391
  */
11578
12392
  export declare const uploadPurposeSchema: z.ZodEnum<{
11579
12393
  "product-image": "product-image";
11580
12394
  description: "description";
11581
12395
  "flow-attachment": "flow-attachment";
12396
+ "ai-attachment": "ai-attachment";
11582
12397
  }>;
11583
12398
  export type UploadPurpose = z.infer<typeof uploadPurposeSchema>;
11584
12399
  export interface UploadPurposeLimit {
@@ -11619,6 +12434,7 @@ export declare const uploadRequestSchema: z.ZodObject<{
11619
12434
  "product-image": "product-image";
11620
12435
  description: "description";
11621
12436
  "flow-attachment": "flow-attachment";
12437
+ "ai-attachment": "ai-attachment";
11622
12438
  }>>;
11623
12439
  size: z.ZodOptional<z.ZodNumber>;
11624
12440
  }, z.core.$strip>;
@@ -12523,7 +13339,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12523
13339
  value: true;
12524
13340
  } | {
12525
13341
  field: "bestSelling";
12526
- days: 30 | 7 | 90;
13342
+ days: 7 | 30 | 90;
12527
13343
  top: number;
12528
13344
  } | {
12529
13345
  [x: string]: unknown;
@@ -12573,7 +13389,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12573
13389
  value: true;
12574
13390
  } | {
12575
13391
  field: "bestSelling";
12576
- days: 30 | 7 | 90;
13392
+ days: 7 | 30 | 90;
12577
13393
  top: number;
12578
13394
  } | {
12579
13395
  [x: string]: unknown;
@@ -12616,7 +13432,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12616
13432
  value: true;
12617
13433
  } | {
12618
13434
  field: "bestSelling";
12619
- days: 30 | 7 | 90;
13435
+ days: 7 | 30 | 90;
12620
13436
  top: number;
12621
13437
  } | {
12622
13438
  [x: string]: unknown;
@@ -12658,7 +13474,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12658
13474
  value: true;
12659
13475
  } | {
12660
13476
  field: "bestSelling";
12661
- days: 30 | 7 | 90;
13477
+ days: 7 | 30 | 90;
12662
13478
  top: number;
12663
13479
  } | {
12664
13480
  [x: string]: unknown;
@@ -12721,7 +13537,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12721
13537
  value: true;
12722
13538
  } | {
12723
13539
  field: "bestSelling";
12724
- days: 30 | 7 | 90;
13540
+ days: 7 | 30 | 90;
12725
13541
  top: number;
12726
13542
  } | {
12727
13543
  [x: string]: unknown;
@@ -12764,7 +13580,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12764
13580
  value: true;
12765
13581
  } | {
12766
13582
  field: "bestSelling";
12767
- days: 30 | 7 | 90;
13583
+ days: 7 | 30 | 90;
12768
13584
  top: number;
12769
13585
  } | {
12770
13586
  [x: string]: unknown;
@@ -15309,7 +16125,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15309
16125
  sources: (params: AnalyticsSourcesParams) => Promise<{
15310
16126
  groupBy: "CHANNEL" | "SOURCE" | "CAMPAIGN" | "DEVICE";
15311
16127
  rows: {
15312
- channel: "PAID" | "DIRECT" | "CAMPAIGN" | "UNKNOWN" | "ORGANIC_SEARCH" | "SOCIAL" | "EMAIL" | "REFERRAL" | null;
16128
+ channel: "UNKNOWN" | "PAID" | "DIRECT" | "CAMPAIGN" | "ORGANIC_SEARCH" | "SOCIAL" | "EMAIL" | "REFERRAL" | null;
15313
16129
  source: string | null;
15314
16130
  medium: string | null;
15315
16131
  campaign: string | null;
@@ -15444,7 +16260,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15444
16260
  orderId: string | null;
15445
16261
  orderName: string;
15446
16262
  customerName: string;
15447
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
16263
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
15448
16264
  amount: number;
15449
16265
  refundedAmount: number;
15450
16266
  heldRefundAmount: number;
@@ -15470,7 +16286,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15470
16286
  orderId: string | null;
15471
16287
  orderName: string;
15472
16288
  customerName: string;
15473
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
16289
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
15474
16290
  amount: number;
15475
16291
  refundedAmount: number;
15476
16292
  heldRefundAmount: number;
@@ -15585,7 +16401,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15585
16401
  masked: string | null;
15586
16402
  }[];
15587
16403
  lastVerification: {
15588
- result: "SUCCESS" | "FAILED";
16404
+ result: "FAILED" | "SUCCESS";
15589
16405
  message: string | null;
15590
16406
  checkedAt: string;
15591
16407
  } | null;
@@ -15610,7 +16426,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15610
16426
  masked: string | null;
15611
16427
  }[];
15612
16428
  lastVerification: {
15613
- result: "SUCCESS" | "FAILED";
16429
+ result: "FAILED" | "SUCCESS";
15614
16430
  message: string | null;
15615
16431
  checkedAt: string;
15616
16432
  } | null;
@@ -15634,7 +16450,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15634
16450
  masked: string | null;
15635
16451
  }[];
15636
16452
  lastVerification: {
15637
- result: "SUCCESS" | "FAILED";
16453
+ result: "FAILED" | "SUCCESS";
15638
16454
  message: string | null;
15639
16455
  checkedAt: string;
15640
16456
  } | null;
@@ -15695,7 +16511,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15695
16511
  masked: string | null;
15696
16512
  }[];
15697
16513
  lastVerification: {
15698
- result: "SUCCESS" | "FAILED";
16514
+ result: "FAILED" | "SUCCESS";
15699
16515
  message: string | null;
15700
16516
  checkedAt: string;
15701
16517
  } | null;
@@ -15720,7 +16536,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15720
16536
  masked: string | null;
15721
16537
  }[];
15722
16538
  lastVerification: {
15723
- result: "SUCCESS" | "FAILED";
16539
+ result: "FAILED" | "SUCCESS";
15724
16540
  message: string | null;
15725
16541
  checkedAt: string;
15726
16542
  } | null;
@@ -15744,7 +16560,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15744
16560
  masked: string | null;
15745
16561
  }[];
15746
16562
  lastVerification: {
15747
- result: "SUCCESS" | "FAILED";
16563
+ result: "FAILED" | "SUCCESS";
15748
16564
  message: string | null;
15749
16565
  checkedAt: string;
15750
16566
  } | null;
@@ -15810,7 +16626,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15810
16626
  masked: string | null;
15811
16627
  }[];
15812
16628
  lastVerification: {
15813
- result: "SUCCESS" | "FAILED";
16629
+ result: "FAILED" | "SUCCESS";
15814
16630
  message: string | null;
15815
16631
  checkedAt: string;
15816
16632
  } | null;
@@ -15835,7 +16651,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15835
16651
  masked: string | null;
15836
16652
  }[];
15837
16653
  lastVerification: {
15838
- result: "SUCCESS" | "FAILED";
16654
+ result: "FAILED" | "SUCCESS";
15839
16655
  message: string | null;
15840
16656
  checkedAt: string;
15841
16657
  } | null;
@@ -15859,7 +16675,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15859
16675
  masked: string | null;
15860
16676
  }[];
15861
16677
  lastVerification: {
15862
- result: "SUCCESS" | "FAILED";
16678
+ result: "FAILED" | "SUCCESS";
15863
16679
  message: string | null;
15864
16680
  checkedAt: string;
15865
16681
  } | null;
@@ -15906,7 +16722,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15906
16722
  masked: string | null;
15907
16723
  }[];
15908
16724
  lastVerification: {
15909
- result: "SUCCESS" | "FAILED";
16725
+ result: "FAILED" | "SUCCESS";
15910
16726
  message: string | null;
15911
16727
  checkedAt: string;
15912
16728
  } | null;
@@ -15931,7 +16747,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15931
16747
  masked: string | null;
15932
16748
  }[];
15933
16749
  lastVerification: {
15934
- result: "SUCCESS" | "FAILED";
16750
+ result: "FAILED" | "SUCCESS";
15935
16751
  message: string | null;
15936
16752
  checkedAt: string;
15937
16753
  } | null;
@@ -15955,7 +16771,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
15955
16771
  masked: string | null;
15956
16772
  }[];
15957
16773
  lastVerification: {
15958
- result: "SUCCESS" | "FAILED";
16774
+ result: "FAILED" | "SUCCESS";
15959
16775
  message: string | null;
15960
16776
  checkedAt: string;
15961
16777
  } | null;
@@ -16012,7 +16828,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16012
16828
  masked: string | null;
16013
16829
  }[];
16014
16830
  lastVerification: {
16015
- result: "SUCCESS" | "FAILED";
16831
+ result: "FAILED" | "SUCCESS";
16016
16832
  message: string | null;
16017
16833
  checkedAt: string;
16018
16834
  } | null;
@@ -16037,7 +16853,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16037
16853
  masked: string | null;
16038
16854
  }[];
16039
16855
  lastVerification: {
16040
- result: "SUCCESS" | "FAILED";
16856
+ result: "FAILED" | "SUCCESS";
16041
16857
  message: string | null;
16042
16858
  checkedAt: string;
16043
16859
  } | null;
@@ -16061,7 +16877,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16061
16877
  masked: string | null;
16062
16878
  }[];
16063
16879
  lastVerification: {
16064
- result: "SUCCESS" | "FAILED";
16880
+ result: "FAILED" | "SUCCESS";
16065
16881
  message: string | null;
16066
16882
  checkedAt: string;
16067
16883
  } | null;
@@ -16108,7 +16924,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16108
16924
  masked: string | null;
16109
16925
  }[];
16110
16926
  lastVerification: {
16111
- result: "SUCCESS" | "FAILED";
16927
+ result: "FAILED" | "SUCCESS";
16112
16928
  message: string | null;
16113
16929
  checkedAt: string;
16114
16930
  } | null;
@@ -16133,7 +16949,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16133
16949
  masked: string | null;
16134
16950
  }[];
16135
16951
  lastVerification: {
16136
- result: "SUCCESS" | "FAILED";
16952
+ result: "FAILED" | "SUCCESS";
16137
16953
  message: string | null;
16138
16954
  checkedAt: string;
16139
16955
  } | null;
@@ -16157,7 +16973,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16157
16973
  masked: string | null;
16158
16974
  }[];
16159
16975
  lastVerification: {
16160
- result: "SUCCESS" | "FAILED";
16976
+ result: "FAILED" | "SUCCESS";
16161
16977
  message: string | null;
16162
16978
  checkedAt: string;
16163
16979
  } | null;
@@ -16213,7 +17029,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16213
17029
  masked: string | null;
16214
17030
  }[];
16215
17031
  lastVerification: {
16216
- result: "SUCCESS" | "FAILED";
17032
+ result: "FAILED" | "SUCCESS";
16217
17033
  message: string | null;
16218
17034
  checkedAt: string;
16219
17035
  } | null;
@@ -16238,7 +17054,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16238
17054
  masked: string | null;
16239
17055
  }[];
16240
17056
  lastVerification: {
16241
- result: "SUCCESS" | "FAILED";
17057
+ result: "FAILED" | "SUCCESS";
16242
17058
  message: string | null;
16243
17059
  checkedAt: string;
16244
17060
  } | null;
@@ -16262,7 +17078,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16262
17078
  masked: string | null;
16263
17079
  }[];
16264
17080
  lastVerification: {
16265
- result: "SUCCESS" | "FAILED";
17081
+ result: "FAILED" | "SUCCESS";
16266
17082
  message: string | null;
16267
17083
  checkedAt: string;
16268
17084
  } | null;
@@ -16290,7 +17106,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16290
17106
  verify: (provider: PgProvider, body?: VerifyPaymentProviderRequest) => Promise<{
16291
17107
  provider: "tosspayments" | "portone";
16292
17108
  environment: "TEST" | "LIVE";
16293
- result: "SUCCESS" | "FAILED";
17109
+ result: "FAILED" | "SUCCESS";
16294
17110
  message: string | null;
16295
17111
  checkedAt: string;
16296
17112
  }>;
@@ -16734,7 +17550,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16734
17550
  runs: {
16735
17551
  deliveryId: string;
16736
17552
  eventType: string;
16737
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
17553
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
16738
17554
  errorCode: "TIMEOUT" | "CONNECTION_FAILED" | "BLOCKED_ADDRESS" | "NON_2XX" | "WEBHOOK_SUSPENDED" | "APP_ERROR" | "APP_LIMIT_EXCEEDED" | "APP_REJECTED" | "APP_UNCONFIGURED" | "APP_INACTIVE" | "APP_RUNNER_UNAVAILABLE" | null;
16739
17555
  attemptCount: number;
16740
17556
  createdAt: string;
@@ -16931,7 +17747,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16931
17747
  eventId: string;
16932
17748
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION" | "ORDER.FLOW_STATE_CHANGED";
16933
17749
  url: string;
16934
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
17750
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
16935
17751
  responseStatusCode: number | null;
16936
17752
  responseTimeMs: number | null;
16937
17753
  responseBodyExcerpt: string | null;
@@ -16958,7 +17774,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16958
17774
  eventId: string;
16959
17775
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION" | "ORDER.FLOW_STATE_CHANGED";
16960
17776
  url: string;
16961
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
17777
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
16962
17778
  responseStatusCode: number | null;
16963
17779
  responseTimeMs: number | null;
16964
17780
  responseBodyExcerpt: string | null;
@@ -16993,7 +17809,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
16993
17809
  eventId: string;
16994
17810
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION" | "ORDER.FLOW_STATE_CHANGED";
16995
17811
  url: string;
16996
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
17812
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
16997
17813
  responseStatusCode: number | null;
16998
17814
  responseTimeMs: number | null;
16999
17815
  responseBodyExcerpt: string | null;
@@ -17107,7 +17923,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17107
17923
  list: (params?: ApprovalListOptions) => Promise<{
17108
17924
  items: {
17109
17925
  approvalId: string;
17110
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
17926
+ status: "FAILED" | "EXPIRED" | "UNKNOWN" | "PENDING" | "SUCCEEDED" | "EXECUTING" | "REJECTED";
17111
17927
  operationId: string;
17112
17928
  method: string;
17113
17929
  path: string;
@@ -17159,7 +17975,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17159
17975
  }>;
17160
17976
  get: (approvalId: string) => Promise<{
17161
17977
  approvalId: string;
17162
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
17978
+ status: "FAILED" | "EXPIRED" | "UNKNOWN" | "PENDING" | "SUCCEEDED" | "EXECUTING" | "REJECTED";
17163
17979
  operationId: string;
17164
17980
  method: string;
17165
17981
  path: string;
@@ -17213,7 +18029,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17213
18029
  */
17214
18030
  approve: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
17215
18031
  approvalId: string;
17216
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
18032
+ status: "FAILED" | "EXPIRED" | "UNKNOWN" | "PENDING" | "SUCCEEDED" | "EXECUTING" | "REJECTED";
17217
18033
  operationId: string;
17218
18034
  method: string;
17219
18035
  path: string;
@@ -17263,7 +18079,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17263
18079
  }>;
17264
18080
  reject: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
17265
18081
  approvalId: string;
17266
- status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
18082
+ status: "FAILED" | "EXPIRED" | "UNKNOWN" | "PENDING" | "SUCCEEDED" | "EXECUTING" | "REJECTED";
17267
18083
  operationId: string;
17268
18084
  method: string;
17269
18085
  path: string;
@@ -17411,6 +18227,151 @@ export declare function createStoreClient(options: StoreClientOptions): {
17411
18227
  }>;
17412
18228
  remove: (locationId: string) => Promise<void>;
17413
18229
  };
18230
+ /**
18231
+ * 상점 플랫폼 AI 채팅 (이슈 #124) — 상점 플랫폼 전용(공개 문서 제외). 메시지는 202로 `streamId`를 돌려주고
18232
+ * 응답은 `streamUrl`(SSE, Bearer `streamToken`)로 받는다. 실행은 브라우저와 무관하게 서버에서 끝까지 돈다.
18233
+ */
18234
+ ai: {
18235
+ /** `GET /v1/ai/conversations` — 내 대화 목록(최근 순) */
18236
+ listConversations: () => Promise<{
18237
+ id: string;
18238
+ title: string | null;
18239
+ createdAt: string;
18240
+ updatedAt: string;
18241
+ }[]>;
18242
+ /** `POST /v1/ai/conversations` — 새 대화. `draftId`를 주면 그 초안을 첫 메시지로 실행을 시작한다 */
18243
+ createConversation: (body?: CreateAiConversationRequest) => Promise<{
18244
+ conversation: {
18245
+ id: string;
18246
+ title: string | null;
18247
+ createdAt: string;
18248
+ updatedAt: string;
18249
+ };
18250
+ run: {
18251
+ streamId: string;
18252
+ streamUrl: string;
18253
+ streamToken: string;
18254
+ } | null;
18255
+ }>;
18256
+ /** `GET /v1/ai/conversations/{id}` — 메시지와 진행 중 실행 */
18257
+ getConversation: (conversationId: string) => Promise<{
18258
+ id: string;
18259
+ title: string | null;
18260
+ createdAt: string;
18261
+ updatedAt: string;
18262
+ messages: {
18263
+ id: string;
18264
+ role: "user" | "assistant";
18265
+ parts: ({
18266
+ type: "text";
18267
+ text: string;
18268
+ } | {
18269
+ type: "tool";
18270
+ toolCallId: string;
18271
+ name: string;
18272
+ label: string;
18273
+ status: "error" | "unknown" | "ok";
18274
+ summary: string | null;
18275
+ } | {
18276
+ type: "choices";
18277
+ question: string;
18278
+ options: {
18279
+ label: string;
18280
+ value: string;
18281
+ }[];
18282
+ } | {
18283
+ type: "attachment";
18284
+ attachment: {
18285
+ url: string;
18286
+ name: string;
18287
+ mediaType: string;
18288
+ };
18289
+ } | {
18290
+ type: "approval";
18291
+ approvalId: string;
18292
+ title: string;
18293
+ } | {
18294
+ type: "selection";
18295
+ selection: {
18296
+ component: string | null;
18297
+ source: {
18298
+ path: string;
18299
+ line: number;
18300
+ column?: number | undefined;
18301
+ } | null;
18302
+ tag: string;
18303
+ text: string;
18304
+ pagePath: string;
18305
+ };
18306
+ })[];
18307
+ runId: string | null;
18308
+ createdAt: string;
18309
+ }[];
18310
+ activeRun: {
18311
+ id: string;
18312
+ status: "QUEUED" | "RUNNING" | "CANCEL_REQUESTED" | "DONE" | "FAILED" | "CANCELLED";
18313
+ errorCode: string | null;
18314
+ createdAt: string;
18315
+ finishedAt: string | null;
18316
+ stream: {
18317
+ streamId: string;
18318
+ streamUrl: string;
18319
+ streamToken: string;
18320
+ };
18321
+ } | null;
18322
+ lastRun: {
18323
+ id: string;
18324
+ status: "QUEUED" | "RUNNING" | "CANCEL_REQUESTED" | "DONE" | "FAILED" | "CANCELLED";
18325
+ errorCode: string | null;
18326
+ createdAt: string;
18327
+ finishedAt: string | null;
18328
+ } | null;
18329
+ }>;
18330
+ /** `POST /v1/ai/conversations/{id}/messages` (202) — 진행 중 실행이 있으면 409 `AI_RUN_IN_PROGRESS` */
18331
+ sendMessage: (conversationId: string, body: SendAiMessageRequest) => Promise<{
18332
+ streamId: string;
18333
+ streamUrl: string;
18334
+ streamToken: string;
18335
+ messageId: string;
18336
+ }>;
18337
+ /** `POST /v1/ai/runs/{id}/cancel` (202) — 실행기가 다음 단계 전에 멈춘다 */
18338
+ cancelRun: (runId: string) => Promise<{
18339
+ id: string;
18340
+ status: "QUEUED" | "RUNNING" | "CANCEL_REQUESTED" | "DONE" | "FAILED" | "CANCELLED";
18341
+ errorCode: string | null;
18342
+ createdAt: string;
18343
+ finishedAt: string | null;
18344
+ }>;
18345
+ /** `GET /v1/ai/conversations/{id}/file-changes` — 실행별 스토어프론트 작업 트리 변경(#65) */
18346
+ listFileChanges: (conversationId: string) => Promise<{
18347
+ runs: {
18348
+ runId: string;
18349
+ status: "APPLIED" | "INCOMPLETE" | "REVERTING" | "REVERTED" | "REVERT_UNKNOWN" | "EXPIRED";
18350
+ files: {
18351
+ path: string;
18352
+ change: "created" | "modified" | "deleted";
18353
+ }[];
18354
+ }[];
18355
+ }>;
18356
+ /** `GET /v1/ai/runs/{id}/file-changes` — 실행 하나의 변경 내용(이전·이후) */
18357
+ getRunFileDiff: (runId: string) => Promise<{
18358
+ runId: string;
18359
+ status: "APPLIED" | "INCOMPLETE" | "REVERTING" | "REVERTED" | "REVERT_UNKNOWN" | "EXPIRED";
18360
+ files: {
18361
+ path: string;
18362
+ change: "created" | "modified" | "deleted";
18363
+ before: string | null;
18364
+ after: string | null;
18365
+ binary: boolean;
18366
+ }[];
18367
+ }>;
18368
+ /** `POST /v1/ai/runs/{id}/revert` — 실행이 바꾼 파일을 한 번에 되돌린다(전부 아니면 전무) */
18369
+ revertRun: (runId: string) => Promise<{
18370
+ runId: string;
18371
+ status: "REVERTED";
18372
+ paths: string[];
18373
+ }>;
18374
+ };
17414
18375
  /**
17415
18376
  * 스토어프론트 호스팅 (이슈 #53) — 조회 `storefront:r`, 쓰기 `storefront:rw`(OWNER·ADMIN).
17416
18377
  * 쓰기 응답은 바뀐 사이트다. Cloudflare 반영은 커밋 뒤라 `provisioning.status`가 잠시 `PENDING`일 수 있다.
@@ -17484,9 +18445,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17484
18445
  createdByType: string;
17485
18446
  createdAt: string;
17486
18447
  createdVia?: string | null | undefined;
18448
+ previewable?: boolean | undefined;
17487
18449
  } | null;
17488
18450
  provisioning: {
17489
- status: "PENDING" | "FAILED" | "SYNCED";
18451
+ status: "FAILED" | "PENDING" | "SYNCED";
17490
18452
  lastErrorCode: string | null;
17491
18453
  syncedAt: string | null;
17492
18454
  };
@@ -17547,9 +18509,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17547
18509
  createdByType: string;
17548
18510
  createdAt: string;
17549
18511
  createdVia?: string | null | undefined;
18512
+ previewable?: boolean | undefined;
17550
18513
  } | null;
17551
18514
  provisioning: {
17552
- status: "PENDING" | "FAILED" | "SYNCED";
18515
+ status: "FAILED" | "PENDING" | "SYNCED";
17553
18516
  lastErrorCode: string | null;
17554
18517
  syncedAt: string | null;
17555
18518
  };
@@ -17578,7 +18541,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17578
18541
  finishedAt: string | null;
17579
18542
  steps: {
17580
18543
  key: "SITE" | "UPLOAD" | "PUBLISH";
17581
- status: "PENDING" | "FAILED" | "RUNNING" | "DONE";
18544
+ status: "RUNNING" | "DONE" | "FAILED" | "PENDING";
17582
18545
  finishedAt: string | null;
17583
18546
  }[];
17584
18547
  log: {
@@ -17600,7 +18563,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17600
18563
  finishedAt: string | null;
17601
18564
  steps: {
17602
18565
  key: "SITE" | "UPLOAD" | "PUBLISH";
17603
- status: "PENDING" | "FAILED" | "RUNNING" | "DONE";
18566
+ status: "RUNNING" | "DONE" | "FAILED" | "PENDING";
17604
18567
  finishedAt: string | null;
17605
18568
  }[];
17606
18569
  log: {
@@ -17648,9 +18611,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17648
18611
  createdByType: string;
17649
18612
  createdAt: string;
17650
18613
  createdVia?: string | null | undefined;
18614
+ previewable?: boolean | undefined;
17651
18615
  } | null;
17652
18616
  provisioning: {
17653
- status: "PENDING" | "FAILED" | "SYNCED";
18617
+ status: "FAILED" | "PENDING" | "SYNCED";
17654
18618
  lastErrorCode: string | null;
17655
18619
  syncedAt: string | null;
17656
18620
  };
@@ -17685,6 +18649,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17685
18649
  createdByType: string;
17686
18650
  createdAt: string;
17687
18651
  createdVia?: string | null | undefined;
18652
+ previewable?: boolean | undefined;
17688
18653
  }[]>;
17689
18654
  /** `POST /v1/storefront/site/versions/{versionId}/publish` — 그 버전을 발행한다(이미 발행돼 있으면 그대로 200) */
17690
18655
  publish: (versionId: string, body?: PublishStorefrontVersionRequest) => Promise<{
@@ -17717,9 +18682,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17717
18682
  createdByType: string;
17718
18683
  createdAt: string;
17719
18684
  createdVia?: string | null | undefined;
18685
+ previewable?: boolean | undefined;
17720
18686
  } | null;
17721
18687
  provisioning: {
17722
- status: "PENDING" | "FAILED" | "SYNCED";
18688
+ status: "FAILED" | "PENDING" | "SYNCED";
17723
18689
  lastErrorCode: string | null;
17724
18690
  syncedAt: string | null;
17725
18691
  };
@@ -17770,9 +18736,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17770
18736
  createdByType: string;
17771
18737
  createdAt: string;
17772
18738
  createdVia?: string | null | undefined;
18739
+ previewable?: boolean | undefined;
17773
18740
  } | null;
17774
18741
  provisioning: {
17775
- status: "PENDING" | "FAILED" | "SYNCED";
18742
+ status: "FAILED" | "PENDING" | "SYNCED";
17776
18743
  lastErrorCode: string | null;
17777
18744
  syncedAt: string | null;
17778
18745
  };
@@ -17823,9 +18790,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17823
18790
  createdByType: string;
17824
18791
  createdAt: string;
17825
18792
  createdVia?: string | null | undefined;
18793
+ previewable?: boolean | undefined;
17826
18794
  } | null;
17827
18795
  provisioning: {
17828
- status: "PENDING" | "FAILED" | "SYNCED";
18796
+ status: "FAILED" | "PENDING" | "SYNCED";
17829
18797
  lastErrorCode: string | null;
17830
18798
  syncedAt: string | null;
17831
18799
  };
@@ -17876,9 +18844,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
17876
18844
  createdByType: string;
17877
18845
  createdAt: string;
17878
18846
  createdVia?: string | null | undefined;
18847
+ previewable?: boolean | undefined;
17879
18848
  } | null;
17880
18849
  provisioning: {
17881
- status: "PENDING" | "FAILED" | "SYNCED";
18850
+ status: "FAILED" | "PENDING" | "SYNCED";
17882
18851
  lastErrorCode: string | null;
17883
18852
  syncedAt: string | null;
17884
18853
  };
@@ -17899,7 +18868,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17899
18868
  } | null | undefined;
17900
18869
  }>;
17901
18870
  /**
17902
- * `POST /v1/storefront/site/preview-link` — 오픈 준비 중인 사이트를 구성원이 볼 수 있는 5분짜리 링크.
18871
+ * `POST /v1/storefront/site/preview-link` — 버전 미리보기 주소로 여는 5분짜리 링크(기본은 발행 버전, `versionId`로 다른 버전).
17903
18872
  * 상점 플랫폼에서 로그인한 OWNER·ADMIN만 받는다
17904
18873
  */
17905
18874
  createPreviewLink: (body?: CreateStorefrontPreviewLinkRequest) => Promise<{
@@ -17915,7 +18884,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17915
18884
  domainId: string;
17916
18885
  hostname: string;
17917
18886
  kind: "PLATFORM" | "CUSTOM";
17918
- status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
18887
+ status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
17919
18888
  isPrimary: boolean;
17920
18889
  dnsRecords: {
17921
18890
  type: "CNAME" | "TXT";
@@ -17923,7 +18892,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17923
18892
  value: string;
17924
18893
  purpose: "ROUTING" | "OWNERSHIP";
17925
18894
  }[];
17926
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
18895
+ certificateStatus: "FAILED" | "ACTIVE" | "PENDING" | null;
17927
18896
  failureCode: string | null;
17928
18897
  verifiedAt: string | null;
17929
18898
  activatedAt: string | null;
@@ -17939,7 +18908,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17939
18908
  domainId: string;
17940
18909
  hostname: string;
17941
18910
  kind: "PLATFORM" | "CUSTOM";
17942
- status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
18911
+ status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
17943
18912
  isPrimary: boolean;
17944
18913
  dnsRecords: {
17945
18914
  type: "CNAME" | "TXT";
@@ -17947,7 +18916,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17947
18916
  value: string;
17948
18917
  purpose: "ROUTING" | "OWNERSHIP";
17949
18918
  }[];
17950
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
18919
+ certificateStatus: "FAILED" | "ACTIVE" | "PENDING" | null;
17951
18920
  failureCode: string | null;
17952
18921
  verifiedAt: string | null;
17953
18922
  activatedAt: string | null;
@@ -17959,7 +18928,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17959
18928
  domainId: string;
17960
18929
  hostname: string;
17961
18930
  kind: "PLATFORM" | "CUSTOM";
17962
- status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
18931
+ status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
17963
18932
  isPrimary: boolean;
17964
18933
  dnsRecords: {
17965
18934
  type: "CNAME" | "TXT";
@@ -17967,7 +18936,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17967
18936
  value: string;
17968
18937
  purpose: "ROUTING" | "OWNERSHIP";
17969
18938
  }[];
17970
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
18939
+ certificateStatus: "FAILED" | "ACTIVE" | "PENDING" | null;
17971
18940
  failureCode: string | null;
17972
18941
  verifiedAt: string | null;
17973
18942
  activatedAt: string | null;
@@ -17983,7 +18952,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17983
18952
  domainId: string;
17984
18953
  hostname: string;
17985
18954
  kind: "PLATFORM" | "CUSTOM";
17986
- status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
18955
+ status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
17987
18956
  isPrimary: boolean;
17988
18957
  dnsRecords: {
17989
18958
  type: "CNAME" | "TXT";
@@ -17991,7 +18960,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
17991
18960
  value: string;
17992
18961
  purpose: "ROUTING" | "OWNERSHIP";
17993
18962
  }[];
17994
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
18963
+ certificateStatus: "FAILED" | "ACTIVE" | "PENDING" | null;
17995
18964
  failureCode: string | null;
17996
18965
  verifiedAt: string | null;
17997
18966
  activatedAt: string | null;
@@ -18032,9 +19001,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
18032
19001
  createdByType: string;
18033
19002
  createdAt: string;
18034
19003
  createdVia?: string | null | undefined;
19004
+ previewable?: boolean | undefined;
18035
19005
  } | null;
18036
19006
  provisioning: {
18037
- status: "PENDING" | "FAILED" | "SYNCED";
19007
+ status: "FAILED" | "PENDING" | "SYNCED";
18038
19008
  lastErrorCode: string | null;
18039
19009
  syncedAt: string | null;
18040
19010
  };
@@ -18199,7 +19169,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18199
19169
  runCheck: (body: RunStorefrontCheckRequest) => Promise<{
18200
19170
  checkId: string;
18201
19171
  check: string;
18202
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
19172
+ status: "QUEUED" | "RUNNING" | "FAILED" | "UNKNOWN" | "PASSED" | "TIMED_OUT";
18203
19173
  exitCode: number | null;
18204
19174
  durationMs: number | null;
18205
19175
  outputTail: string | null;
@@ -18213,7 +19183,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18213
19183
  getCheck: (checkId: string) => Promise<{
18214
19184
  checkId: string;
18215
19185
  check: string;
18216
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
19186
+ status: "QUEUED" | "RUNNING" | "FAILED" | "UNKNOWN" | "PASSED" | "TIMED_OUT";
18217
19187
  exitCode: number | null;
18218
19188
  durationMs: number | null;
18219
19189
  outputTail: string | null;
@@ -18275,12 +19245,13 @@ export declare function createStoreClient(options: StoreClientOptions): {
18275
19245
  createdByType: string;
18276
19246
  createdAt: string;
18277
19247
  createdVia?: string | null | undefined;
19248
+ previewable?: boolean | undefined;
18278
19249
  };
18279
19250
  build: {
18280
19251
  buildId: string;
18281
19252
  versionId: string;
18282
19253
  versionNumber: number;
18283
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
19254
+ status: "QUEUED" | "RUNNING" | "FAILED" | "SUCCEEDED" | "TIMED_OUT";
18284
19255
  failureStage: string | null;
18285
19256
  errorCode: string | null;
18286
19257
  logTail: string | null;
@@ -18361,7 +19332,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18361
19332
  buildId: string;
18362
19333
  versionId: string;
18363
19334
  versionNumber: number;
18364
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
19335
+ status: "QUEUED" | "RUNNING" | "FAILED" | "SUCCEEDED" | "TIMED_OUT";
18365
19336
  failureStage: string | null;
18366
19337
  errorCode: string | null;
18367
19338
  logTail: string | null;
@@ -18439,7 +19410,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18439
19410
  buildId: string;
18440
19411
  versionId: string;
18441
19412
  versionNumber: number;
18442
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
19413
+ status: "QUEUED" | "RUNNING" | "FAILED" | "SUCCEEDED" | "TIMED_OUT";
18443
19414
  failureStage: string | null;
18444
19415
  errorCode: string | null;
18445
19416
  logTail: string | null;
@@ -18584,7 +19555,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18584
19555
  code: string;
18585
19556
  name: string;
18586
19557
  };
18587
- status: "ACTIVE" | "CANCELED" | "PAST_DUE" | "INCOMPLETE";
19558
+ status: "INCOMPLETE" | "ACTIVE" | "CANCELED" | "PAST_DUE";
18588
19559
  interval: "MONTH" | null;
18589
19560
  cancelAtPeriodEnd: boolean;
18590
19561
  period: {
@@ -18856,7 +19827,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18856
19827
  invitationId: string;
18857
19828
  email: string;
18858
19829
  role: "ADMIN" | "STAFF";
18859
- status: "PENDING" | "EXPIRED" | "ACCEPTED" | "CANCELED";
19830
+ status: "EXPIRED" | "PENDING" | "ACCEPTED" | "CANCELED";
18860
19831
  invitedBy: string;
18861
19832
  expiresAt: string;
18862
19833
  createdAt: string;
@@ -18874,7 +19845,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18874
19845
  invitationId: string;
18875
19846
  email: string;
18876
19847
  role: "ADMIN" | "STAFF";
18877
- status: "PENDING" | "EXPIRED" | "ACCEPTED" | "CANCELED";
19848
+ status: "EXPIRED" | "PENDING" | "ACCEPTED" | "CANCELED";
18878
19849
  invitedBy: string;
18879
19850
  expiresAt: string;
18880
19851
  createdAt: string;
@@ -18889,7 +19860,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
18889
19860
  invitationId: string;
18890
19861
  email: string;
18891
19862
  role: "ADMIN" | "STAFF";
18892
- status: "PENDING" | "EXPIRED" | "ACCEPTED" | "CANCELED";
19863
+ status: "EXPIRED" | "PENDING" | "ACCEPTED" | "CANCELED";
18893
19864
  invitedBy: string;
18894
19865
  expiresAt: string;
18895
19866
  createdAt: string;
@@ -19498,6 +20469,7 @@ export declare const STORE_SCOPE_RESOURCES: {
19498
20469
  };
19499
20470
  export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
19500
20471
  export declare const storeScopeResourceSchema: z.ZodEnum<{
20472
+ storefront: "storefront";
19501
20473
  category: "category";
19502
20474
  flow: "flow";
19503
20475
  analytics: "analytics";
@@ -19513,7 +20485,6 @@ export declare const storeScopeResourceSchema: z.ZodEnum<{
19513
20485
  customer: "customer";
19514
20486
  audit: "audit";
19515
20487
  promotion: "promotion";
19516
- storefront: "storefront";
19517
20488
  }>;
19518
20489
  /** 카탈로그상 존재하는 스코프 문자열인가 (예: `settlement:rw`는 false) */
19519
20490
  export declare function isStoreScope(scope: string): boolean;
@@ -19977,10 +20948,10 @@ export declare const responsePlanCodeSchema: z.ZodUnion<readonly [z.ZodEnum<{
19977
20948
  }>, z.ZodString]>;
19978
20949
  export type ResponsePlanCode = PlanCode | (string & {});
19979
20950
  export declare const subscriptionStatusSchema: z.ZodEnum<{
20951
+ INCOMPLETE: "INCOMPLETE";
19980
20952
  ACTIVE: "ACTIVE";
19981
20953
  CANCELED: "CANCELED";
19982
20954
  PAST_DUE: "PAST_DUE";
19983
- INCOMPLETE: "INCOMPLETE";
19984
20955
  }>;
19985
20956
  export type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>;
19986
20957
  export declare const subscriptionLimitsSchema: z.ZodObject<{
@@ -20028,10 +20999,10 @@ export declare const storeSubscriptionSchema: z.ZodObject<{
20028
20999
  name: z.ZodString;
20029
21000
  }, z.core.$strip>;
20030
21001
  status: z.ZodEnum<{
21002
+ INCOMPLETE: "INCOMPLETE";
20031
21003
  ACTIVE: "ACTIVE";
20032
21004
  CANCELED: "CANCELED";
20033
21005
  PAST_DUE: "PAST_DUE";
20034
- INCOMPLETE: "INCOMPLETE";
20035
21006
  }>;
20036
21007
  interval: z.ZodNullable<z.ZodEnum<{
20037
21008
  MONTH: "MONTH";