@sayren/store-sdk 0.30.12 → 0.30.14
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 +1524 -211
- package/dist/index.mjs +546 -9
- package/package.json +1 -1
- package/src/client.ts +74 -2
- package/src/index.ts +1 -0
- package/src/schemas/ai.ts +376 -0
- package/src/schemas/app-manifest.ts +177 -5
- package/src/schemas/apps.ts +70 -2
- package/src/schemas/upload.ts +12 -1
package/dist/index.mjs
CHANGED
|
@@ -332,6 +332,335 @@ function createHttp(options) {
|
|
|
332
332
|
};
|
|
333
333
|
}
|
|
334
334
|
//#endregion
|
|
335
|
+
//#region src/schemas/ai.ts
|
|
336
|
+
/**
|
|
337
|
+
* 상점 플랫폼 AI 채팅(이슈 #124) — 대화·메시지·실행과 실행 이벤트 스트림의 계약.
|
|
338
|
+
*
|
|
339
|
+
* 상점 플랫폼 전용이다(`@ConsoleOnly`, 공개 OpenAPI 문서 제외). 메시지를 보내면 api가 실행(run)을 만들어 202로 `streamId`를 돌려주고,
|
|
340
|
+
* 응답은 별도 중계(`streamUrl`, SSE)로 받는다. 실행은 브라우저와 무관하게 서버에서 끝까지 돈다 — 다시 열면 진행 중 실행의 스트림에
|
|
341
|
+
* 처음부터 다시 붙거나(보관 1시간) 확정된 메시지를 읽는다.
|
|
342
|
+
*/
|
|
343
|
+
/** 첨부 하나 — 업로드(`POST /v1/uploads`, 목적 `ai-attachment`)가 돌려준 공개 주소 */
|
|
344
|
+
const aiAttachmentSchema = z.object({
|
|
345
|
+
url: z.string().url().max(2048),
|
|
346
|
+
name: z.string().trim().min(1).max(200),
|
|
347
|
+
mediaType: z.string().trim().min(1).max(100).describe("image/* 또는 application/pdf")
|
|
348
|
+
});
|
|
349
|
+
const AI_MESSAGE_MAX_CHARS = 8e3;
|
|
350
|
+
const AI_MESSAGE_MAX_ATTACHMENTS = 5;
|
|
351
|
+
/**
|
|
352
|
+
* 편집 미리보기에서 고른 요소(#65) — 미리보기 안 선택 스크립트가 만든 값이라 사이트 코드가 꾸밀 수 있다. api는 모델에 넘길 때 데이터로
|
|
353
|
+
* 감싼다. `source`는 그 컴포넌트를 **사용한** 위치다(작업 트리 상대 경로). React 개발 정보가 없으면 null이다
|
|
354
|
+
*/
|
|
355
|
+
const aiPreviewSelectionSchema = z.object({
|
|
356
|
+
component: z.string().max(120).nullable(),
|
|
357
|
+
source: z.object({
|
|
358
|
+
path: z.string().max(300),
|
|
359
|
+
line: z.number().int().positive().max(1e6),
|
|
360
|
+
column: z.number().int().positive().max(1e5).optional()
|
|
361
|
+
}).nullable(),
|
|
362
|
+
tag: z.string().max(40),
|
|
363
|
+
text: z.string().max(200),
|
|
364
|
+
pagePath: z.string().max(500)
|
|
365
|
+
});
|
|
366
|
+
/** 실행 상태 — 끝난 상태는 `DONE`·`FAILED`·`CANCELLED`다 */
|
|
367
|
+
const aiRunStatusSchema = z.enum([
|
|
368
|
+
"QUEUED",
|
|
369
|
+
"RUNNING",
|
|
370
|
+
"CANCEL_REQUESTED",
|
|
371
|
+
"DONE",
|
|
372
|
+
"FAILED",
|
|
373
|
+
"CANCELLED"
|
|
374
|
+
]);
|
|
375
|
+
const AI_RUN_ACTIVE_STATUSES = [
|
|
376
|
+
"QUEUED",
|
|
377
|
+
"RUNNING",
|
|
378
|
+
"CANCEL_REQUESTED"
|
|
379
|
+
];
|
|
380
|
+
/** 진행 중 실행의 스트림 접속 정보. `streamToken`은 이 스트림 하나만 읽는 단기 자격(Bearer)이다 */
|
|
381
|
+
const aiStreamAccessSchema = z.object({
|
|
382
|
+
streamId: z.string(),
|
|
383
|
+
streamUrl: z.string().url(),
|
|
384
|
+
streamToken: z.string()
|
|
385
|
+
});
|
|
386
|
+
const aiRunSchema = z.object({
|
|
387
|
+
id: z.string().describe("실행 id = streamId"),
|
|
388
|
+
status: aiRunStatusSchema,
|
|
389
|
+
errorCode: z.string().nullable(),
|
|
390
|
+
createdAt: z.string(),
|
|
391
|
+
finishedAt: z.string().nullable()
|
|
392
|
+
});
|
|
393
|
+
/**
|
|
394
|
+
* 화면에 그리는 메시지 조각. 모델 원문(tool_use 블록 등)은 api가 보관하고 화면에는 이 형태만 준다.
|
|
395
|
+
* - `text`: 글
|
|
396
|
+
* - `tool`: 도구 호출 한 번(이름은 사람이 읽는 라벨, 결과 요약·링크)
|
|
397
|
+
* - `choices`: 선택지 버튼(가장 최근 것만 누를 수 있다)
|
|
398
|
+
* - `attachment`: 사용자가 올린 첨부
|
|
399
|
+
* - `approval`: 승인 대기로 남은 쓰기
|
|
400
|
+
*/
|
|
401
|
+
const aiMessagePartSchema = z.discriminatedUnion("type", [
|
|
402
|
+
z.object({
|
|
403
|
+
type: z.literal("text"),
|
|
404
|
+
text: z.string()
|
|
405
|
+
}),
|
|
406
|
+
z.object({
|
|
407
|
+
type: z.literal("tool"),
|
|
408
|
+
toolCallId: z.string(),
|
|
409
|
+
name: z.string(),
|
|
410
|
+
label: z.string(),
|
|
411
|
+
status: z.enum([
|
|
412
|
+
"ok",
|
|
413
|
+
"error",
|
|
414
|
+
"unknown"
|
|
415
|
+
]),
|
|
416
|
+
summary: z.string().nullable()
|
|
417
|
+
}),
|
|
418
|
+
z.object({
|
|
419
|
+
type: z.literal("choices"),
|
|
420
|
+
question: z.string(),
|
|
421
|
+
options: z.array(z.object({
|
|
422
|
+
label: z.string(),
|
|
423
|
+
value: z.string()
|
|
424
|
+
})).min(1).max(6)
|
|
425
|
+
}),
|
|
426
|
+
z.object({
|
|
427
|
+
type: z.literal("attachment"),
|
|
428
|
+
attachment: aiAttachmentSchema
|
|
429
|
+
}),
|
|
430
|
+
z.object({
|
|
431
|
+
type: z.literal("approval"),
|
|
432
|
+
approvalId: z.string(),
|
|
433
|
+
title: z.string()
|
|
434
|
+
}),
|
|
435
|
+
z.object({
|
|
436
|
+
type: z.literal("selection"),
|
|
437
|
+
selection: aiPreviewSelectionSchema
|
|
438
|
+
})
|
|
439
|
+
]);
|
|
440
|
+
const aiMessageSchema = z.object({
|
|
441
|
+
id: z.string(),
|
|
442
|
+
role: z.enum(["user", "assistant"]),
|
|
443
|
+
parts: z.array(aiMessagePartSchema),
|
|
444
|
+
runId: z.string().nullable(),
|
|
445
|
+
createdAt: z.string()
|
|
446
|
+
});
|
|
447
|
+
const aiConversationSummarySchema = z.object({
|
|
448
|
+
id: z.string(),
|
|
449
|
+
title: z.string().nullable(),
|
|
450
|
+
createdAt: z.string(),
|
|
451
|
+
updatedAt: z.string()
|
|
452
|
+
});
|
|
453
|
+
const aiConversationSchema = aiConversationSummarySchema.extend({
|
|
454
|
+
messages: z.array(aiMessageSchema),
|
|
455
|
+
/** 진행 중 실행(없으면 null) — 스트림에 다시 붙을 때 쓴다 */
|
|
456
|
+
activeRun: aiRunSchema.extend({ stream: aiStreamAccessSchema }).nullable(),
|
|
457
|
+
/** 마지막 실행(진행 중이 아니면 결과 표시용) */
|
|
458
|
+
lastRun: aiRunSchema.nullable()
|
|
459
|
+
});
|
|
460
|
+
const createAiConversationRequestSchema = z.object({
|
|
461
|
+
/** 웹사이트에서 남긴 초안(#124 M2) — 연결한 사용자만 쓴다. 주면 첫 메시지로 실행을 시작한다 */
|
|
462
|
+
draftId: z.string().max(64).optional() });
|
|
463
|
+
const createAiConversationResponseSchema = z.object({
|
|
464
|
+
conversation: aiConversationSummarySchema,
|
|
465
|
+
/** `draftId`로 시작했으면 첫 실행 */
|
|
466
|
+
run: aiStreamAccessSchema.nullable()
|
|
467
|
+
});
|
|
468
|
+
const sendAiMessageRequestSchema = z.object({
|
|
469
|
+
text: z.string().trim().max(AI_MESSAGE_MAX_CHARS),
|
|
470
|
+
attachments: z.array(aiAttachmentSchema).max(5).default([]),
|
|
471
|
+
/** 선택지 버튼으로 보낸 답이면 그 값(화면 표시는 `text`) */
|
|
472
|
+
choice: z.string().max(200).optional(),
|
|
473
|
+
/** 편집 미리보기에서 고른 요소(#65) — 모델은 이 요소를 기준으로 고친다 */
|
|
474
|
+
selection: aiPreviewSelectionSchema.optional()
|
|
475
|
+
}).refine((body) => body.text.length > 0 || body.attachments.length > 0, { message: "내용이나 첨부가 있어야 합니다" });
|
|
476
|
+
const sendAiMessageResponseSchema = aiStreamAccessSchema.extend({ messageId: z.string() });
|
|
477
|
+
/**
|
|
478
|
+
* AI가 바꾸는 화면 영역 — 쓰기 도구가 시작되면 이벤트에 싣고, 패널이 그 화면으로 옮겨 반영된 데이터를 다시 읽는다(셀러가 AI가 하는 일을 같이 본다).
|
|
479
|
+
* 경로는 상점 플랫폼이 정한다(영역 → 라우트). `id`가 있으면 상세 화면이다
|
|
480
|
+
*/
|
|
481
|
+
const aiFocusAreaSchema = z.enum([
|
|
482
|
+
"products",
|
|
483
|
+
"categories",
|
|
484
|
+
"collections",
|
|
485
|
+
"option_sets",
|
|
486
|
+
"coupons",
|
|
487
|
+
"points",
|
|
488
|
+
"orders",
|
|
489
|
+
"claims",
|
|
490
|
+
"customers",
|
|
491
|
+
"inquiries",
|
|
492
|
+
"customer_inquiries",
|
|
493
|
+
"store_settings",
|
|
494
|
+
"shipping",
|
|
495
|
+
"addresses",
|
|
496
|
+
"payments",
|
|
497
|
+
"login",
|
|
498
|
+
"members",
|
|
499
|
+
"order_flows",
|
|
500
|
+
"webhooks",
|
|
501
|
+
"storefront"
|
|
502
|
+
]);
|
|
503
|
+
const aiFocusSchema = z.object({
|
|
504
|
+
area: aiFocusAreaSchema,
|
|
505
|
+
id: z.string().optional()
|
|
506
|
+
});
|
|
507
|
+
/** 변경 기록 보관 기간 — 지나면 내용을 비우고 되돌릴 수 없다(410 `AI_RUN_CHANGES_EXPIRED`) */
|
|
508
|
+
const AI_RUN_FILE_CHANGES_RETENTION_DAYS = 7;
|
|
509
|
+
/**
|
|
510
|
+
* 실행 하나의 변경 상태
|
|
511
|
+
* - `APPLIED`: 되돌릴 수 있다(진행 중 실행이 없을 때)
|
|
512
|
+
* - `INCOMPLETE`: 결과를 모르는 쓰기·이전 내용이 너무 큰 경로가 있다(되돌릴 수 없다)
|
|
513
|
+
* - `REVERTING`·`REVERTED`·`REVERT_UNKNOWN`(되돌리기 결과를 모름 — 다시 하지 않는다)·`EXPIRED`
|
|
514
|
+
*/
|
|
515
|
+
const aiRunChangesStatusSchema = z.enum([
|
|
516
|
+
"APPLIED",
|
|
517
|
+
"INCOMPLETE",
|
|
518
|
+
"REVERTING",
|
|
519
|
+
"REVERTED",
|
|
520
|
+
"REVERT_UNKNOWN",
|
|
521
|
+
"EXPIRED"
|
|
522
|
+
]);
|
|
523
|
+
const aiFileChangeKindSchema = z.enum([
|
|
524
|
+
"created",
|
|
525
|
+
"modified",
|
|
526
|
+
"deleted"
|
|
527
|
+
]);
|
|
528
|
+
const aiRunChangesSchema = z.object({
|
|
529
|
+
runId: z.string(),
|
|
530
|
+
status: aiRunChangesStatusSchema,
|
|
531
|
+
files: z.array(z.object({
|
|
532
|
+
path: z.string(),
|
|
533
|
+
change: aiFileChangeKindSchema.describe("결과를 모르는 경로는 `modified`로 보인다")
|
|
534
|
+
}))
|
|
535
|
+
});
|
|
536
|
+
/** `GET /v1/ai/conversations/{id}/file-changes` — 대화의 실행별 변경(실행 만든 순) */
|
|
537
|
+
const aiConversationFileChangesSchema = z.object({ runs: z.array(aiRunChangesSchema) });
|
|
538
|
+
/** `GET /v1/ai/runs/{runId}/file-changes` — 변경 보기. 텍스트가 아닌 파일·보관이 끝난 내용은 null이다(diff는 화면이 계산한다) */
|
|
539
|
+
const aiRunFileDiffSchema = aiRunChangesSchema.extend({ files: z.array(z.object({
|
|
540
|
+
path: z.string(),
|
|
541
|
+
change: aiFileChangeKindSchema,
|
|
542
|
+
before: z.string().nullable(),
|
|
543
|
+
after: z.string().nullable(),
|
|
544
|
+
binary: z.boolean()
|
|
545
|
+
})) });
|
|
546
|
+
/**
|
|
547
|
+
* `POST /v1/ai/runs/{runId}/revert` — 실행이 바꾼 경로를 그 전 내용으로 한 번에 돌린다. 오류: 409 `AI_RUN_IN_PROGRESS`(대화에 진행 중 실행),
|
|
548
|
+
* 409 `AI_RUN_REVERT_CONFLICT`(`details.conflicts` — 그 뒤 바뀐 경로·결과를 모르는 쓰기), 409 `AI_RUN_ALREADY_REVERTED`,
|
|
549
|
+
* 410 `AI_RUN_CHANGES_EXPIRED`, 404 `AI_RUN_CHANGES_NOT_FOUND`, 502 `AI_RUN_REVERT_UNKNOWN`(결과를 모름 — 다시 하지 않는다)
|
|
550
|
+
*/
|
|
551
|
+
const aiRunRevertResultSchema = z.object({
|
|
552
|
+
runId: z.string(),
|
|
553
|
+
status: z.literal("REVERTED"),
|
|
554
|
+
paths: z.array(z.string())
|
|
555
|
+
});
|
|
556
|
+
/** 409 `AI_RUN_REVERT_CONFLICT`의 `error.details` */
|
|
557
|
+
const aiRunRevertConflictDetailsSchema = z.object({ conflicts: z.array(z.object({
|
|
558
|
+
path: z.string(),
|
|
559
|
+
reason: z.enum(["CHANGED", "UNKNOWN"])
|
|
560
|
+
})) });
|
|
561
|
+
const aiStreamEventSchema = z.discriminatedUnion("type", [
|
|
562
|
+
z.object({
|
|
563
|
+
type: z.literal("delta"),
|
|
564
|
+
messageId: z.string(),
|
|
565
|
+
text: z.string()
|
|
566
|
+
}),
|
|
567
|
+
z.object({
|
|
568
|
+
type: z.literal("tool_start"),
|
|
569
|
+
messageId: z.string(),
|
|
570
|
+
toolCallId: z.string(),
|
|
571
|
+
name: z.string(),
|
|
572
|
+
label: z.string(),
|
|
573
|
+
/** 쓰기 도구가 바꾸는 화면(읽기 도구는 없다) */
|
|
574
|
+
focus: aiFocusSchema.optional()
|
|
575
|
+
}),
|
|
576
|
+
z.object({
|
|
577
|
+
type: z.literal("tool_result"),
|
|
578
|
+
messageId: z.string(),
|
|
579
|
+
toolCallId: z.string(),
|
|
580
|
+
status: z.enum([
|
|
581
|
+
"ok",
|
|
582
|
+
"error",
|
|
583
|
+
"unknown"
|
|
584
|
+
]),
|
|
585
|
+
summary: z.string().nullable()
|
|
586
|
+
}),
|
|
587
|
+
z.object({
|
|
588
|
+
type: z.literal("choices"),
|
|
589
|
+
messageId: z.string(),
|
|
590
|
+
question: z.string(),
|
|
591
|
+
options: z.array(z.object({
|
|
592
|
+
label: z.string(),
|
|
593
|
+
value: z.string()
|
|
594
|
+
}))
|
|
595
|
+
}),
|
|
596
|
+
z.object({
|
|
597
|
+
type: z.literal("approval"),
|
|
598
|
+
messageId: z.string(),
|
|
599
|
+
approvalId: z.string(),
|
|
600
|
+
title: z.string()
|
|
601
|
+
}),
|
|
602
|
+
z.object({
|
|
603
|
+
type: z.literal("message"),
|
|
604
|
+
message: aiMessageSchema
|
|
605
|
+
}),
|
|
606
|
+
z.object({
|
|
607
|
+
type: z.literal("error"),
|
|
608
|
+
code: z.string(),
|
|
609
|
+
message: z.string()
|
|
610
|
+
}),
|
|
611
|
+
z.object({
|
|
612
|
+
type: z.literal("done"),
|
|
613
|
+
status: aiRunStatusSchema
|
|
614
|
+
})
|
|
615
|
+
]);
|
|
616
|
+
/** 중계에 쌓이는 이벤트 한 건 — 실행기 → 중계 `POST /internal/streams/{id}/events` */
|
|
617
|
+
const aiStreamRecordSchema = z.object({
|
|
618
|
+
seq: z.number().int().positive(),
|
|
619
|
+
event: aiStreamEventSchema
|
|
620
|
+
});
|
|
621
|
+
const STORE_DRAFT_MAX_ATTACHMENTS = 5;
|
|
622
|
+
/** 초안 첨부 하나의 최대 크기(바이트) */
|
|
623
|
+
const STORE_DRAFT_ATTACHMENT_MAX_BYTES = 10485760;
|
|
624
|
+
/** 연결하지 않은 초안을 지우기까지 */
|
|
625
|
+
const STORE_DRAFT_RETENTION_DAYS = 7;
|
|
626
|
+
const createStoreDraftRequestSchema = z.object({
|
|
627
|
+
text: z.string().trim().min(1).max(AI_MESSAGE_MAX_CHARS),
|
|
628
|
+
attachments: z.array(z.object({
|
|
629
|
+
filename: z.string().trim().min(1).max(200),
|
|
630
|
+
size: z.number().int().positive().max(STORE_DRAFT_ATTACHMENT_MAX_BYTES)
|
|
631
|
+
})).max(5).default([])
|
|
632
|
+
});
|
|
633
|
+
const createStoreDraftResponseSchema = z.object({
|
|
634
|
+
draftId: z.string(),
|
|
635
|
+
/** 첨부마다 브라우저가 파일을 그대로 PUT할 자리(요청 순서와 같다) */
|
|
636
|
+
uploads: z.array(z.object({
|
|
637
|
+
uploadUrl: z.string().url(),
|
|
638
|
+
url: z.string().url()
|
|
639
|
+
})),
|
|
640
|
+
/** 다음 화면 — 상점 플랫폼 `/start?draft=…` */
|
|
641
|
+
continueUrl: z.string().url()
|
|
642
|
+
});
|
|
643
|
+
const storeDraftSchema = z.object({
|
|
644
|
+
id: z.string(),
|
|
645
|
+
text: z.string(),
|
|
646
|
+
attachments: z.array(aiAttachmentSchema),
|
|
647
|
+
createdAt: z.string(),
|
|
648
|
+
/** 이 초안으로 시작한 상점(없으면 null) */
|
|
649
|
+
storeId: z.string().nullable()
|
|
650
|
+
});
|
|
651
|
+
/** 로그인 전 초안 미리보기(`GET /v1/public/store-drafts/{id}`) — 로그인 화면이 「저장한 설명」을 보인다. 첨부는 이름만 */
|
|
652
|
+
const storeDraftPreviewSchema = z.object({
|
|
653
|
+
id: z.string(),
|
|
654
|
+
text: z.string(),
|
|
655
|
+
attachments: z.array(z.object({
|
|
656
|
+
name: z.string(),
|
|
657
|
+
mediaType: z.string()
|
|
658
|
+
})),
|
|
659
|
+
expiresAt: z.string(),
|
|
660
|
+
/** 이미 상점에서 쓴 초안이면 true(다시 시작할 수 없다) */
|
|
661
|
+
used: z.boolean()
|
|
662
|
+
});
|
|
663
|
+
//#endregion
|
|
335
664
|
//#region src/schemas/analytics.ts
|
|
336
665
|
/**
|
|
337
666
|
* 방문 분석 조회 (관리 API `/v1/analytics/*`, 스코프 `analytics:r`).
|
|
@@ -1721,11 +2050,13 @@ const setCalendarRequestSchema = z.object({
|
|
|
1721
2050
|
* - `product-image`: 상품 목록·상세의 상품 이미지. 목록 썸네일로 쓰이므로 정지 이미지만 받는다.
|
|
1722
2051
|
* - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
|
|
1723
2052
|
* - `flow-attachment`: 주문 흐름 행동의 첨부(시안 등, 이슈 #115). 구매자에게 보이므로 정지 이미지와 PDF만 받는다.
|
|
2053
|
+
* - `ai-attachment`: 상점 플랫폼 AI 채팅에 붙이는 자료(이슈 #124). 모델이 읽는 정지 이미지와 PDF만 받는다.
|
|
1724
2054
|
*/
|
|
1725
2055
|
const uploadPurposeSchema = z.enum([
|
|
1726
2056
|
"product-image",
|
|
1727
2057
|
"description",
|
|
1728
|
-
"flow-attachment"
|
|
2058
|
+
"flow-attachment",
|
|
2059
|
+
"ai-attachment"
|
|
1729
2060
|
]);
|
|
1730
2061
|
const MB = 1048576;
|
|
1731
2062
|
/**
|
|
@@ -1772,6 +2103,17 @@ const UPLOAD_PURPOSE_LIMITS = {
|
|
|
1772
2103
|
"pdf"
|
|
1773
2104
|
],
|
|
1774
2105
|
maxBytes: 20 * MB
|
|
2106
|
+
},
|
|
2107
|
+
"ai-attachment": {
|
|
2108
|
+
extensions: [
|
|
2109
|
+
"jpg",
|
|
2110
|
+
"jpeg",
|
|
2111
|
+
"png",
|
|
2112
|
+
"webp",
|
|
2113
|
+
"gif",
|
|
2114
|
+
"pdf"
|
|
2115
|
+
],
|
|
2116
|
+
maxBytes: 10 * MB
|
|
1775
2117
|
}
|
|
1776
2118
|
};
|
|
1777
2119
|
/** 파일명의 소문자 확장자. 확장자가 없으면 `""` */
|
|
@@ -2479,7 +2821,7 @@ function parseWebhookEvent(body) {
|
|
|
2479
2821
|
//#endregion
|
|
2480
2822
|
//#region src/schemas/app-manifest.ts
|
|
2481
2823
|
/**
|
|
2482
|
-
* 서드파티 앱 매니페스트 `
|
|
2824
|
+
* 서드파티 앱 매니페스트 `manifest.json` (이슈 #22) — CLI(`sayren app`)·api(빌드 `VERIFY`·버전 판정·동의 화면 자료)·런타임이
|
|
2483
2825
|
* 같은 원천을 쓴다. 매니페스트는 정적 JSON이고 빌드 없이 읽는다.
|
|
2484
2826
|
*
|
|
2485
2827
|
* 기능 하나는 **capability** 하나다(`APP_CAPABILITIES`). capability는 매니페스트 조각·동의 문단·넓어짐 판정(재동의 조건)을 한 곳에 둔다.
|
|
@@ -2658,6 +3000,45 @@ const APP_SCHEDULE_INTERVALS = {
|
|
|
2658
3000
|
"12h": 720,
|
|
2659
3001
|
"1d": 1440
|
|
2660
3002
|
};
|
|
3003
|
+
/** 흐름 알림 이름 — 흐름 알림 채널 `app.<handle>.<이름>`의 마지막 마디(소문자·숫자·하이픈) */
|
|
3004
|
+
const APP_FLOW_NOTIFICATION_PATTERN = /^[a-z][a-z0-9-]{0,39}$/;
|
|
3005
|
+
/** 흐름 사건 이름 — 사건 키 `app.<handle>.<이름>`의 마지막 마디 */
|
|
3006
|
+
const APP_FLOW_EVENT_PATTERN = /^[A-Z][A-Z0-9_]{0,39}$/;
|
|
3007
|
+
const APP_FLOW_ITEMS_MAX = 20;
|
|
3008
|
+
/** 흐름 알림 매개변수 — 셀러가 편집기에서 식으로 값을 연결한다 */
|
|
3009
|
+
const appFlowParamSchema = z.strictObject({
|
|
3010
|
+
type: z.enum([
|
|
3011
|
+
"string",
|
|
3012
|
+
"number",
|
|
3013
|
+
"boolean"
|
|
3014
|
+
]),
|
|
3015
|
+
label: z.string().trim().min(1).max(60),
|
|
3016
|
+
required: z.boolean().optional()
|
|
3017
|
+
});
|
|
3018
|
+
const appFlowNotificationSchema = z.strictObject({
|
|
3019
|
+
label: z.string().trim().min(1).max(60),
|
|
3020
|
+
description: z.string().trim().max(200).optional(),
|
|
3021
|
+
params: z.record(z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,39}$/), appFlowParamSchema).refine((params) => Object.keys(params).length <= 20, { message: `매개변수는 20개까지입니다` }).default({})
|
|
3022
|
+
});
|
|
3023
|
+
const appFlowEventSchema = z.strictObject({
|
|
3024
|
+
label: z.string().trim().min(1).max(60),
|
|
3025
|
+
description: z.string().trim().max(200).optional()
|
|
3026
|
+
});
|
|
3027
|
+
/** 에이전트 도구 이름 — 소문자·숫자·하이픈 */
|
|
3028
|
+
const APP_TOOL_NAME_PATTERN = /^[a-z][a-z0-9-]{0,39}$/;
|
|
3029
|
+
const appToolInputSchema = z.strictObject({
|
|
3030
|
+
type: z.enum([
|
|
3031
|
+
"string",
|
|
3032
|
+
"number",
|
|
3033
|
+
"boolean"
|
|
3034
|
+
]),
|
|
3035
|
+
description: z.string().trim().max(200).optional(),
|
|
3036
|
+
required: z.boolean().optional()
|
|
3037
|
+
});
|
|
3038
|
+
const appToolSchema = z.strictObject({
|
|
3039
|
+
description: z.string().trim().min(1).max(500),
|
|
3040
|
+
input: z.record(z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]{0,39}$/), appToolInputSchema).refine((input) => Object.keys(input).length <= 20, { message: `입력은 20개까지입니다` }).default({})
|
|
3041
|
+
});
|
|
2661
3042
|
const APP_SCHEDULE_INTERVAL_KEYS = Object.keys(APP_SCHEDULE_INTERVALS);
|
|
2662
3043
|
/** 앱 목록에 보이는 아이콘·README(#22 앱 목록 시안) — 앱 폴더의 파일을 `sayren app deploy`가 버전과 함께 올린다 */
|
|
2663
3044
|
const APP_ICON_MAX_BYTES = 262144;
|
|
@@ -2701,8 +3082,12 @@ const appManifestSchema = z.strictObject({
|
|
|
2701
3082
|
icon: z.string().regex(APP_FOLDER_FILE).refine((path) => /\.(png|svg)$/i.test(path), { message: "아이콘은 .png 또는 .svg 파일입니다" }).optional(),
|
|
2702
3083
|
/** 앱 상세에 보일 README(마크다운, 64KB 이하). 적지 않으면 앱 폴더의 README.md를 쓴다 */
|
|
2703
3084
|
readme: z.string().regex(APP_FOLDER_FILE).refine((path) => /\.md$/i.test(path), { message: "README는 .md 파일입니다" }).optional(),
|
|
2704
|
-
/** 실행 위치 —
|
|
2705
|
-
runtime: z.
|
|
3085
|
+
/** 실행 위치 — `code`(sayren이 실행) 또는 `external`(개발자 서버, 매뉴얼 「개발자 서버에서 실행」) */
|
|
3086
|
+
runtime: z.enum(["code", "external"]).default("code"),
|
|
3087
|
+
/** `runtime: external`의 호출 주소 */
|
|
3088
|
+
external: z.strictObject({ url: z.url().startsWith("https://") }).optional(),
|
|
3089
|
+
/** AI 에이전트 도구(매뉴얼 「에이전트 도구」) */
|
|
3090
|
+
mcp: z.strictObject({ tools: z.record(z.string().regex(APP_TOOL_NAME_PATTERN), appToolSchema).refine((tools) => Object.keys(tools).length <= 20, { message: `도구는 20개까지입니다` }).default({}) }).optional(),
|
|
2706
3091
|
/** 설치 때 전체 동의하는 스코프 */
|
|
2707
3092
|
scopes: z.array(appScopeSchema).max(32).default([]),
|
|
2708
3093
|
network: z.strictObject({ hosts: z.array(appNetworkHostSchema).max(20) }).default({ hosts: [] }),
|
|
@@ -2715,6 +3100,11 @@ adminPage: z.strictObject({ entry: z.string().regex(/^ui\/[A-Za-z0-9._/-]+\.html
|
|
|
2715
3100
|
http: z.strictObject({ public: z.array(z.string().regex(APP_HTTP_KEY_PATTERN)).max(20) }).optional(),
|
|
2716
3101
|
/** 예약 작업 — 이름마다 실행 간격 */
|
|
2717
3102
|
schedules: z.record(z.string().regex(APP_SCHEDULE_NAME_PATTERN), z.strictObject({ every: z.enum(APP_SCHEDULE_INTERVAL_KEYS) })).refine((schedules) => Object.keys(schedules).length <= 10, { message: `예약 작업은 10개까지입니다` }).default({}),
|
|
3103
|
+
/** 주문 흐름 연동(매뉴얼 「주문 흐름에서 앱 쓰기」) — 흐름 알림(흐름 → 앱)과 흐름 사건(앱 → 흐름) */
|
|
3104
|
+
flow: z.strictObject({
|
|
3105
|
+
notifications: z.record(z.string().regex(APP_FLOW_NOTIFICATION_PATTERN), appFlowNotificationSchema).refine((items) => Object.keys(items).length <= 20, { message: `흐름 알림은 20개까지입니다` }).default({}),
|
|
3106
|
+
events: z.record(z.string().regex(APP_FLOW_EVENT_PATTERN), appFlowEventSchema).refine((items) => Object.keys(items).length <= 20, { message: `흐름 사건은 20개까지입니다` }).default({})
|
|
3107
|
+
}).optional(),
|
|
2718
3108
|
settings: z.record(z.string().regex(APP_SETTING_KEY_PATTERN), appSettingFieldSchema).refine((fields) => Object.keys(fields).length <= 30, { message: `설정 필드는 30개까지입니다` }).default({}),
|
|
2719
3109
|
/** 개발자 비밀 값 이름 — 값은 CLI(`sayren app secret put`)로 따로 넣는다 */
|
|
2720
3110
|
secrets: z.array(z.string().regex(APP_SECRET_NAME_PATTERN)).max(20).default([])
|
|
@@ -2749,6 +3139,25 @@ function appManifestProblems(manifest) {
|
|
|
2749
3139
|
unique(manifest.network.hosts, "network.hosts", "호스트");
|
|
2750
3140
|
unique(manifest.secrets, "secrets", "비밀 값 이름");
|
|
2751
3141
|
unique(manifest.http?.public ?? [], "http.public", "공개 HTTP 핸들러");
|
|
3142
|
+
if (manifest.runtime === "external" !== Boolean(manifest.external)) problems.push({
|
|
3143
|
+
path: "external",
|
|
3144
|
+
code: "EXTERNAL_URL_REQUIRED",
|
|
3145
|
+
message: "runtime이 external이면 external.url이 필요하고, code면 external을 적지 않습니다"
|
|
3146
|
+
});
|
|
3147
|
+
if (manifest.runtime === "external" && manifest.network.hosts.length > 0) problems.push({
|
|
3148
|
+
path: "network.hosts",
|
|
3149
|
+
code: "EXTERNAL_NETWORK_HOSTS",
|
|
3150
|
+
message: "외부 런타임 앱은 network.hosts를 적지 않습니다"
|
|
3151
|
+
});
|
|
3152
|
+
if (manifest.external) {
|
|
3153
|
+
const host = new URL(manifest.external.url).hostname;
|
|
3154
|
+
const hostProblem = appNetworkHostProblem(host);
|
|
3155
|
+
if (hostProblem) problems.push({
|
|
3156
|
+
path: "external.url",
|
|
3157
|
+
code: "EXTERNAL_URL_INVALID",
|
|
3158
|
+
message: hostProblem
|
|
3159
|
+
});
|
|
3160
|
+
}
|
|
2752
3161
|
for (const event of manifest.events) if (!scopesCoverEvent(manifest.scopes, event)) problems.push({
|
|
2753
3162
|
path: `events.${event}`,
|
|
2754
3163
|
code: "EVENT_SCOPE_MISSING",
|
|
@@ -2785,6 +3194,10 @@ function appCapabilitiesOf(manifest) {
|
|
|
2785
3194
|
networkHosts: sorted(manifest.network.hosts),
|
|
2786
3195
|
adminPage: Boolean(manifest.ui?.adminPage),
|
|
2787
3196
|
publicHttp: sorted(manifest.http?.public ?? []),
|
|
3197
|
+
flowNotifications: manifest.flow?.notifications ?? {},
|
|
3198
|
+
flowEvents: manifest.flow?.events ?? {},
|
|
3199
|
+
externalHost: manifest.external ? new URL(manifest.external.url).hostname : null,
|
|
3200
|
+
tools: manifest.mcp?.tools ?? {},
|
|
2788
3201
|
schedules: Object.fromEntries(Object.entries(manifest.schedules).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([name, schedule]) => [name, schedule.every])),
|
|
2789
3202
|
requiredSettings: Object.entries(manifest.settings).filter(([, field]) => field.required).map(([key]) => key).sort(),
|
|
2790
3203
|
secretSettings: Object.entries(manifest.settings).filter(([, field]) => field.secret).map(([key]) => key).sort()
|
|
@@ -2838,6 +3251,18 @@ const APP_CAPABILITIES = [
|
|
|
2838
3251
|
const previous = p.schedules ?? {};
|
|
2839
3252
|
return Object.entries(n.schedules ?? {}).some(([name, every]) => !previous[name] || APP_SCHEDULE_INTERVALS[every] < APP_SCHEDULE_INTERVALS[previous[name]]);
|
|
2840
3253
|
}
|
|
3254
|
+
},
|
|
3255
|
+
{
|
|
3256
|
+
key: "runtime",
|
|
3257
|
+
title: "이 앱이 실행되는 곳",
|
|
3258
|
+
describe: (c) => c.externalHost ? [`개발자 서버 ${c.externalHost}`] : [],
|
|
3259
|
+
widens: (p, n) => Boolean(n.externalHost) && n.externalHost !== p.externalHost
|
|
3260
|
+
},
|
|
3261
|
+
{
|
|
3262
|
+
key: "tools",
|
|
3263
|
+
title: "AI 에이전트 도구",
|
|
3264
|
+
describe: (c) => Object.entries(c.tools ?? {}).map(([name, tool]) => `${name} · ${tool.description}`),
|
|
3265
|
+
widens: (p, n) => grew(Object.keys(p.tools ?? {}), Object.keys(n.tools ?? {}))
|
|
2841
3266
|
}
|
|
2842
3267
|
];
|
|
2843
3268
|
/** 요청(메서드·경로)이 HTTP 핸들러 키에 맞는가 — `:이름`은 경로 한 마디에 맞는다(`@sayren/app`의 핸들러 고르기와 같은 규칙) */
|
|
@@ -2856,6 +3281,33 @@ function appScheduleListOf(capabilities) {
|
|
|
2856
3281
|
every
|
|
2857
3282
|
}));
|
|
2858
3283
|
}
|
|
3284
|
+
/** 응답용 흐름 알림·사건 목록(이름순) — 옛 버전 행은 빈 목록 */
|
|
3285
|
+
function appFlowSummaryOf(capabilities) {
|
|
3286
|
+
const byName = (entries) => entries.sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
3287
|
+
return {
|
|
3288
|
+
flowNotifications: byName(Object.entries(capabilities.flowNotifications ?? {})).map(([name, notice]) => ({
|
|
3289
|
+
name,
|
|
3290
|
+
label: notice.label,
|
|
3291
|
+
params: byName(Object.entries(notice.params ?? {})).map(([param, field]) => ({
|
|
3292
|
+
name: param,
|
|
3293
|
+
type: field.type,
|
|
3294
|
+
label: field.label,
|
|
3295
|
+
required: field.required ?? false
|
|
3296
|
+
}))
|
|
3297
|
+
})),
|
|
3298
|
+
flowEvents: byName(Object.entries(capabilities.flowEvents ?? {})).map(([name, event]) => ({
|
|
3299
|
+
name,
|
|
3300
|
+
label: event.label
|
|
3301
|
+
}))
|
|
3302
|
+
};
|
|
3303
|
+
}
|
|
3304
|
+
/** 응답용 도구 목록(이름순) — 옛 버전 행은 빈 목록 */
|
|
3305
|
+
function appToolListOf(capabilities) {
|
|
3306
|
+
return Object.entries(capabilities.tools ?? {}).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([name, tool]) => ({
|
|
3307
|
+
name,
|
|
3308
|
+
description: tool.description
|
|
3309
|
+
}));
|
|
3310
|
+
}
|
|
2859
3311
|
/** 예약 간격의 표시 이름 — 동의 화면·상점 플랫폼이 같이 쓴다 */
|
|
2860
3312
|
function appScheduleIntervalLabel(every) {
|
|
2861
3313
|
const minutes = APP_SCHEDULE_INTERVALS[every];
|
|
@@ -3241,7 +3693,31 @@ const appScheduleSummarySchema = z.object({
|
|
|
3241
3693
|
])
|
|
3242
3694
|
});
|
|
3243
3695
|
const publicHttpField = z.array(z.string()).default([]).describe("외부에서 부를 수 있는 HTTP 핸들러(`GET /track/:id`)");
|
|
3696
|
+
/** 흐름 알림·사건(매뉴얼 「주문 흐름에서 앱 쓰기」) — 흐름 편집기가 알림 채널·매개변수와 사건 이름을 고른다 */
|
|
3697
|
+
const appFlowNotificationSummarySchema = z.object({
|
|
3698
|
+
name: z.string(),
|
|
3699
|
+
label: z.string(),
|
|
3700
|
+
params: z.array(z.object({
|
|
3701
|
+
name: z.string(),
|
|
3702
|
+
type: z.enum([
|
|
3703
|
+
"string",
|
|
3704
|
+
"number",
|
|
3705
|
+
"boolean"
|
|
3706
|
+
]),
|
|
3707
|
+
label: z.string(),
|
|
3708
|
+
required: z.boolean()
|
|
3709
|
+
}))
|
|
3710
|
+
});
|
|
3711
|
+
const appFlowEventSummarySchema = z.object({
|
|
3712
|
+
name: z.string(),
|
|
3713
|
+
label: z.string()
|
|
3714
|
+
});
|
|
3244
3715
|
const schedulesField = z.array(appScheduleSummarySchema).default([]).describe("주기적으로 실행되는 작업");
|
|
3716
|
+
const toolsField = z.array(z.object({
|
|
3717
|
+
name: z.string(),
|
|
3718
|
+
description: z.string()
|
|
3719
|
+
})).default([]).describe("AI 에이전트 도구");
|
|
3720
|
+
const externalHostField = z.string().nullable().default(null).describe("개발자 서버에서 실행하는 앱의 호출 호스트. sayren이 실행하면 null");
|
|
3245
3721
|
const appInstallationSchema = z.object({
|
|
3246
3722
|
installationId: z.string(),
|
|
3247
3723
|
storeId: z.string(),
|
|
@@ -3255,7 +3731,9 @@ const appInstallationSchema = z.object({
|
|
|
3255
3731
|
networkHosts: z.array(z.string()),
|
|
3256
3732
|
events: z.array(appEventTypeSchema),
|
|
3257
3733
|
publicHttp: publicHttpField,
|
|
3258
|
-
schedules: schedulesField
|
|
3734
|
+
schedules: schedulesField,
|
|
3735
|
+
tools: toolsField,
|
|
3736
|
+
externalHost: externalHostField
|
|
3259
3737
|
}).nullable().optional().describe("재동의가 필요한 새 버전이 요청하는 권한·외부 호스트·이벤트(전체). 없으면 null"),
|
|
3260
3738
|
grantedScopes: z.array(z.string()).describe("동의한 스코프"),
|
|
3261
3739
|
grantedNetworkHosts: z.array(z.string()).describe("동의한 외부 호출 호스트"),
|
|
@@ -3263,6 +3741,10 @@ const appInstallationSchema = z.object({
|
|
|
3263
3741
|
adminPage: z.boolean().describe("상점 플랫폼 앱 화면이 있는가"),
|
|
3264
3742
|
publicHttp: publicHttpField,
|
|
3265
3743
|
schedules: schedulesField,
|
|
3744
|
+
tools: toolsField,
|
|
3745
|
+
externalHost: externalHostField,
|
|
3746
|
+
flowNotifications: z.array(appFlowNotificationSummarySchema).default([]).describe("주문 흐름에서 이 앱으로 보낼 수 있는 알림"),
|
|
3747
|
+
flowEvents: z.array(appFlowEventSummarySchema).default([]).describe("이 앱이 주문 흐름에 보내는 사건(`app.<handle>.<이름>`)"),
|
|
3266
3748
|
/** 설치 결과의 캐시가 아니라 실행 버전 매니페스트의 요약 */
|
|
3267
3749
|
settings: appInstallationSettingsSchema,
|
|
3268
3750
|
installedBy: z.object({
|
|
@@ -3325,6 +3807,8 @@ const storeAppDetailSchema = storeAppSchema.extend({
|
|
|
3325
3807
|
networkHosts: z.array(z.string()).describe("앱이 데이터를 보내는 외부 호스트"),
|
|
3326
3808
|
publicHttp: publicHttpField,
|
|
3327
3809
|
schedules: schedulesField,
|
|
3810
|
+
tools: toolsField,
|
|
3811
|
+
externalHost: externalHostField,
|
|
3328
3812
|
settings: z.record(z.string(), appSettingFieldSchema).describe("설치 때 채우는 설정 필드"),
|
|
3329
3813
|
updatedAt: z.string().nullable().describe("현재 버전을 release한 시각")
|
|
3330
3814
|
});
|
|
@@ -3344,6 +3828,29 @@ const appInstallationSelfSchema = z.object({
|
|
|
3344
3828
|
grantedScopes: z.array(z.string()),
|
|
3345
3829
|
installedAt: z.string()
|
|
3346
3830
|
});
|
|
3831
|
+
/** 에이전트 도구(매뉴얼 「에이전트 도구」) — `GET /v1/apps/tools` 한 줄 */
|
|
3832
|
+
const appToolSummarySchema = z.object({
|
|
3833
|
+
installationId: z.string(),
|
|
3834
|
+
app: z.object({
|
|
3835
|
+
appId: z.string(),
|
|
3836
|
+
handle: z.string(),
|
|
3837
|
+
name: z.string()
|
|
3838
|
+
}),
|
|
3839
|
+
name: z.string(),
|
|
3840
|
+
description: z.string(),
|
|
3841
|
+
input: z.array(z.object({
|
|
3842
|
+
name: z.string(),
|
|
3843
|
+
type: z.enum([
|
|
3844
|
+
"string",
|
|
3845
|
+
"number",
|
|
3846
|
+
"boolean"
|
|
3847
|
+
]),
|
|
3848
|
+
description: z.string().nullable(),
|
|
3849
|
+
required: z.boolean()
|
|
3850
|
+
}))
|
|
3851
|
+
});
|
|
3852
|
+
const appToolCallSchema = z.object({ input: z.record(z.string(), z.unknown()).default({}) });
|
|
3853
|
+
const appToolResultSchema = z.object({ result: z.unknown().describe("앱 도구가 돌려준 값(JSON)") });
|
|
3347
3854
|
/** 설치 저장소(`ctx.storage`, 매뉴얼 「앱 코드 › 저장소」) — 설치 토큰 전용 */
|
|
3348
3855
|
const APP_STORAGE_KEY_PATTERN = /^[A-Za-z0-9._:-]{1,200}$/;
|
|
3349
3856
|
const APP_STORAGE_MAX_KEYS = 1e3;
|
|
@@ -3470,7 +3977,7 @@ const developerAppCreateSchema = z.object({
|
|
|
3470
3977
|
});
|
|
3471
3978
|
/** `PUT /platform/v1/developer/apps/{appId}/versions` — CLI `app deploy`가 올리는 번들 */
|
|
3472
3979
|
const appArtifactUploadSchema = z.object({
|
|
3473
|
-
manifest: z.unknown().describe("
|
|
3980
|
+
manifest: z.unknown().describe("manifest.json 원문(JSON)"),
|
|
3474
3981
|
packageJson: z.string().max(262144),
|
|
3475
3982
|
lockfile: z.string().max(4194304).nullable(),
|
|
3476
3983
|
/** 서버 번들(ESM 한 파일) base64. gzip 3MB까지 */
|
|
@@ -3548,7 +4055,9 @@ const appInvocationSchema = z.object({
|
|
|
3548
4055
|
kind: z.enum([
|
|
3549
4056
|
"event",
|
|
3550
4057
|
"http",
|
|
3551
|
-
"schedule"
|
|
4058
|
+
"schedule",
|
|
4059
|
+
"flow",
|
|
4060
|
+
"tool"
|
|
3552
4061
|
]),
|
|
3553
4062
|
eventType: z.string().nullable(),
|
|
3554
4063
|
outcome: z.enum([
|
|
@@ -8361,7 +8870,8 @@ function createStoreClient(options) {
|
|
|
8361
8870
|
}),
|
|
8362
8871
|
/**
|
|
8363
8872
|
* `POST /order-items/{id}/events/{key}` — 현장 단말·연동의 상점 사건(`custom.<이름>`)을 플로우에 넣는다(#115).
|
|
8364
|
-
*
|
|
8873
|
+
* 앱 사건(`app.<handle>.<이름>`, #22)은 그 앱의 설치 토큰으로만 보낸다(`ctx.api`).
|
|
8874
|
+
* 에러: 400 `FLOW_EVENT_KEY_INVALID`, 403 `FLOW_EVENT_APP_FORBIDDEN`, 409 `FLOW_EVENT_NOT_ACCEPTED`
|
|
8365
8875
|
*/
|
|
8366
8876
|
emitEvent: (orderItemId, key, input = {}, idempotencyKey) => storeHttp.request("POST", path`/order-items/${orderItemId}/events/${key}`, flowActionResultSchema, {
|
|
8367
8877
|
body: flowActionRequestSchema.parse({ input }),
|
|
@@ -8655,6 +9165,11 @@ get: (params) => storeHttp.request("GET", "/sales-report", salesReportSchema, {
|
|
|
8655
9165
|
verify: (provider, body) => storeHttp.request("POST", path`/store/payment-providers/${pgProviderSchema.parse(provider)}/verify`, paymentProviderVerificationSchema, { body: verifyPaymentProviderRequestSchema.parse(body ?? {}) })
|
|
8656
9166
|
},
|
|
8657
9167
|
/** 설치 앱(#22, 매뉴얼 「앱 설치와 관리 › 관리 API」) — 설치·설정·제거·세션은 상점 플랫폼 OWNER·ADMIN만 */
|
|
9168
|
+
/** 에이전트 도구(#22 「에이전트 도구」) — 설치된 앱이 제공하는 도구 목록·실행. 실행은 OWNER·ADMIN */
|
|
9169
|
+
appTools: {
|
|
9170
|
+
list: () => storeHttp.request("GET", "/apps/tools", z.array(appToolSummarySchema)),
|
|
9171
|
+
call: (installationId, name, input = {}) => storeHttp.request("POST", path`/apps/installations/${installationId}/tools/${name}`, appToolResultSchema, { body: { input } })
|
|
9172
|
+
},
|
|
8658
9173
|
apps: {
|
|
8659
9174
|
/** 이 상점에 설치할 수 있는 앱 — 앱 목록·상세(아이콘·README·Scope·Hook·설정 필드) */
|
|
8660
9175
|
catalog: {
|
|
@@ -8783,6 +9298,28 @@ list: (params) => storeHttp.request("GET", "/audit-logs", auditLogPageSchema, {
|
|
|
8783
9298
|
remove: (locationId) => storeHttp.requestVoid("DELETE", path`/pickup-locations/${locationId}`)
|
|
8784
9299
|
},
|
|
8785
9300
|
/**
|
|
9301
|
+
* 상점 플랫폼 AI 채팅 (이슈 #124) — 상점 플랫폼 전용(공개 문서 제외). 메시지는 202로 `streamId`를 돌려주고
|
|
9302
|
+
* 응답은 `streamUrl`(SSE, Bearer `streamToken`)로 받는다. 실행은 브라우저와 무관하게 서버에서 끝까지 돈다.
|
|
9303
|
+
*/
|
|
9304
|
+
ai: {
|
|
9305
|
+
/** `GET /v1/ai/conversations` — 내 대화 목록(최근 순) */
|
|
9306
|
+
listConversations: () => storeHttp.request("GET", "/ai/conversations", z.array(aiConversationSummarySchema)),
|
|
9307
|
+
/** `POST /v1/ai/conversations` — 새 대화. `draftId`를 주면 그 초안을 첫 메시지로 실행을 시작한다 */
|
|
9308
|
+
createConversation: (body = {}) => storeHttp.request("POST", "/ai/conversations", createAiConversationResponseSchema, { body: createAiConversationRequestSchema.parse(body) }),
|
|
9309
|
+
/** `GET /v1/ai/conversations/{id}` — 메시지와 진행 중 실행 */
|
|
9310
|
+
getConversation: (conversationId) => storeHttp.request("GET", path`/ai/conversations/${conversationId}`, aiConversationSchema),
|
|
9311
|
+
/** `POST /v1/ai/conversations/{id}/messages` (202) — 진행 중 실행이 있으면 409 `AI_RUN_IN_PROGRESS` */
|
|
9312
|
+
sendMessage: (conversationId, body) => storeHttp.request("POST", path`/ai/conversations/${conversationId}/messages`, sendAiMessageResponseSchema, { body: sendAiMessageRequestSchema.parse(body) }),
|
|
9313
|
+
/** `POST /v1/ai/runs/{id}/cancel` (202) — 실행기가 다음 단계 전에 멈춘다 */
|
|
9314
|
+
cancelRun: (runId) => storeHttp.request("POST", path`/ai/runs/${runId}/cancel`, aiRunSchema, { body: {} }),
|
|
9315
|
+
/** `GET /v1/ai/conversations/{id}/file-changes` — 실행별 스토어프론트 작업 트리 변경(#65) */
|
|
9316
|
+
listFileChanges: (conversationId) => storeHttp.request("GET", path`/ai/conversations/${conversationId}/file-changes`, aiConversationFileChangesSchema),
|
|
9317
|
+
/** `GET /v1/ai/runs/{id}/file-changes` — 실행 하나의 변경 내용(이전·이후) */
|
|
9318
|
+
getRunFileDiff: (runId) => storeHttp.request("GET", path`/ai/runs/${runId}/file-changes`, aiRunFileDiffSchema),
|
|
9319
|
+
/** `POST /v1/ai/runs/{id}/revert` — 실행이 바꾼 파일을 한 번에 되돌린다(전부 아니면 전무) */
|
|
9320
|
+
revertRun: (runId) => storeHttp.request("POST", path`/ai/runs/${runId}/revert`, aiRunRevertResultSchema, { body: {} })
|
|
9321
|
+
},
|
|
9322
|
+
/**
|
|
8786
9323
|
* 스토어프론트 호스팅 (이슈 #53) — 조회 `storefront:r`, 쓰기 `storefront:rw`(OWNER·ADMIN).
|
|
8787
9324
|
* 쓰기 응답은 바뀐 사이트다. Cloudflare 반영은 커밋 뒤라 `provisioning.status`가 잠시 `PENDING`일 수 있다.
|
|
8788
9325
|
* 에이전트 토큰의 발행·되돌리기·템플릿 변경·공개 전환·슬러그 변경·끄기는 승인 대기(`ApprovalPendingError`)다.
|
|
@@ -9395,4 +9932,4 @@ function createStoreSession(options) {
|
|
|
9395
9932
|
};
|
|
9396
9933
|
}
|
|
9397
9934
|
//#endregion
|
|
9398
|
-
export { APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, KNOWN_WEBHOOK_EVENT_TYPES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SHOWCASE_SLUG_PREFIX, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_BLOB_BATCH_MAX, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, TEMPLATE_STORE_LOCKED_BUSINESS_FIELDS, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestSellingRuleOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeStorefrontTemplateRequestSchema, changeTypeSchema, claimDetailSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, consentActionSchema, consentKindSchema, consentSourceSchema, couponBenefitSchema, couponConditionsInputSchema, couponConditionsSchema, couponDiscountOf, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponListQuerySchema, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRuleSchema, couponSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createPkcePair, createStoreClient, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontVersionRequestSchema, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerWithdrawalBlockedDetailsSchema, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, eventTypeSchema, exchangeAuthorizationCode, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowFieldValueSchema, flowInputFieldSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryModeSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isCouponTargetLine, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isShowcaseStorefrontSlug, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, maskedSecretSchema, matchesCollectionRules, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeStorefrontHostname, normalizeStorefrontPath, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderSchema, pgVerificationResultSchema, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCreateRequestSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productListQuerySchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, quoteDelivery, quotePricing, rankBestSelling, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCustomerInquirySchema, setCalendarRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSubscriptionSchema, storeTemplateSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontHostingSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourceBlobsResultSchema, storefrontSourceModeSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSuspensionSchema, storefrontTemplateSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, updateStoreTemplateRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourceBlobsRequestSchema, uploadTicketSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
|
|
9935
|
+
export { AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, KNOWN_WEBHOOK_EVENT_TYPES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SHOWCASE_SLUG_PREFIX, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_BLOB_BATCH_MAX, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, TEMPLATE_STORE_LOCKED_BUSINESS_FIELDS, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiAttachmentSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestSellingRuleOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeStorefrontTemplateRequestSchema, changeTypeSchema, claimDetailSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, consentActionSchema, consentKindSchema, consentSourceSchema, couponBenefitSchema, couponConditionsInputSchema, couponConditionsSchema, couponDiscountOf, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponListQuerySchema, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRuleSchema, couponSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetSchema, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createPkcePair, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontVersionRequestSchema, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerWithdrawalBlockedDetailsSchema, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, eventTypeSchema, exchangeAuthorizationCode, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowFieldValueSchema, flowInputFieldSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryModeSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isCouponTargetLine, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isShowcaseStorefrontSlug, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, maskedSecretSchema, matchesCollectionRules, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeStorefrontHostname, normalizeStorefrontPath, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderSchema, pgVerificationResultSchema, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCreateRequestSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productListQuerySchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, quoteDelivery, quotePricing, rankBestSelling, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCustomerInquirySchema, sendAiMessageRequestSchema, sendAiMessageResponseSchema, setCalendarRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeDraftPreviewSchema, storeDraftSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSubscriptionSchema, storeTemplateSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontHostingSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourceBlobsResultSchema, storefrontSourceModeSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSuspensionSchema, storefrontTemplateSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, updateStoreTemplateRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourceBlobsRequestSchema, uploadTicketSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
|