@sayren/store-sdk 0.30.11 → 0.30.13
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 +628 -5
- package/dist/index.mjs +321 -9
- package/package.json +1 -1
- package/src/client.ts +32 -2
- package/src/schemas/app-manifest.ts +276 -4
- package/src/schemas/apps.ts +160 -1
package/dist/index.d.mts
CHANGED
|
@@ -2272,6 +2272,83 @@ export declare const APP_SECRET_NAME_PATTERN: RegExp;
|
|
|
2272
2272
|
export declare const APP_SECRETS_MAX = 20;
|
|
2273
2273
|
export declare const APP_EVENTS_MAX = 50;
|
|
2274
2274
|
export declare const APP_NETWORK_HOSTS_MAX = 20;
|
|
2275
|
+
export declare const APP_PUBLIC_HTTP_MAX = 20;
|
|
2276
|
+
export declare const APP_SCHEDULES_MAX = 10;
|
|
2277
|
+
/** HTTP 핸들러 키 — `"<메서드> <경로>"`(`@sayren/app` `defineApp({ http })`와 같은 형식) */
|
|
2278
|
+
export declare const APP_HTTP_KEY_PATTERN: RegExp;
|
|
2279
|
+
/** 예약 작업 이름 — 설정 키와 같은 형식 */
|
|
2280
|
+
export declare const APP_SCHEDULE_NAME_PATTERN: RegExp;
|
|
2281
|
+
/** 예약 작업 간격 → 분 */
|
|
2282
|
+
export declare const APP_SCHEDULE_INTERVALS: {
|
|
2283
|
+
readonly "15m": 15;
|
|
2284
|
+
readonly "30m": 30;
|
|
2285
|
+
readonly "1h": 60;
|
|
2286
|
+
readonly "3h": 180;
|
|
2287
|
+
readonly "6h": 360;
|
|
2288
|
+
readonly "12h": 720;
|
|
2289
|
+
readonly "1d": 1440;
|
|
2290
|
+
};
|
|
2291
|
+
export type AppScheduleInterval = keyof typeof APP_SCHEDULE_INTERVALS;
|
|
2292
|
+
/** 흐름 알림 이름 — 흐름 알림 채널 `app.<handle>.<이름>`의 마지막 마디(소문자·숫자·하이픈) */
|
|
2293
|
+
export declare const APP_FLOW_NOTIFICATION_PATTERN: RegExp;
|
|
2294
|
+
/** 흐름 사건 이름 — 사건 키 `app.<handle>.<이름>`의 마지막 마디 */
|
|
2295
|
+
export declare const APP_FLOW_EVENT_PATTERN: RegExp;
|
|
2296
|
+
export declare const APP_FLOW_ITEMS_MAX = 20;
|
|
2297
|
+
/** 흐름 알림 매개변수 — 셀러가 편집기에서 식으로 값을 연결한다 */
|
|
2298
|
+
export declare const appFlowParamSchema: z.ZodObject<{
|
|
2299
|
+
type: z.ZodEnum<{
|
|
2300
|
+
string: "string";
|
|
2301
|
+
number: "number";
|
|
2302
|
+
boolean: "boolean";
|
|
2303
|
+
}>;
|
|
2304
|
+
label: z.ZodString;
|
|
2305
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2306
|
+
}, z.core.$strict>;
|
|
2307
|
+
export type AppFlowParam = z.infer<typeof appFlowParamSchema>;
|
|
2308
|
+
export declare const appFlowNotificationSchema: z.ZodObject<{
|
|
2309
|
+
label: z.ZodString;
|
|
2310
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2311
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2312
|
+
type: z.ZodEnum<{
|
|
2313
|
+
string: "string";
|
|
2314
|
+
number: "number";
|
|
2315
|
+
boolean: "boolean";
|
|
2316
|
+
}>;
|
|
2317
|
+
label: z.ZodString;
|
|
2318
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2319
|
+
}, z.core.$strict>>>;
|
|
2320
|
+
}, z.core.$strict>;
|
|
2321
|
+
export type AppFlowNotification = z.infer<typeof appFlowNotificationSchema>;
|
|
2322
|
+
export declare const appFlowEventSchema: z.ZodObject<{
|
|
2323
|
+
label: z.ZodString;
|
|
2324
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2325
|
+
}, z.core.$strict>;
|
|
2326
|
+
export type AppFlowEvent = z.infer<typeof appFlowEventSchema>;
|
|
2327
|
+
/** 에이전트 도구 이름 — 소문자·숫자·하이픈 */
|
|
2328
|
+
export declare const APP_TOOL_NAME_PATTERN: RegExp;
|
|
2329
|
+
export declare const appToolInputSchema: z.ZodObject<{
|
|
2330
|
+
type: z.ZodEnum<{
|
|
2331
|
+
string: "string";
|
|
2332
|
+
number: "number";
|
|
2333
|
+
boolean: "boolean";
|
|
2334
|
+
}>;
|
|
2335
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2336
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2337
|
+
}, z.core.$strict>;
|
|
2338
|
+
export type AppToolInput = z.infer<typeof appToolInputSchema>;
|
|
2339
|
+
export declare const appToolSchema: z.ZodObject<{
|
|
2340
|
+
description: z.ZodString;
|
|
2341
|
+
input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2342
|
+
type: z.ZodEnum<{
|
|
2343
|
+
string: "string";
|
|
2344
|
+
number: "number";
|
|
2345
|
+
boolean: "boolean";
|
|
2346
|
+
}>;
|
|
2347
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2348
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2349
|
+
}, z.core.$strict>>>;
|
|
2350
|
+
}, z.core.$strict>;
|
|
2351
|
+
export type AppTool = z.infer<typeof appToolSchema>;
|
|
2275
2352
|
/** 앱 목록에 보이는 아이콘·README(#22 앱 목록 시안) — 앱 폴더의 파일을 `sayren app deploy`가 버전과 함께 올린다 */
|
|
2276
2353
|
export declare const APP_ICON_MAX_BYTES: number;
|
|
2277
2354
|
export declare const APP_ICON_MIN_PX = 512;
|
|
@@ -2288,7 +2365,27 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
2288
2365
|
supportEmail: z.ZodOptional<z.ZodEmail>;
|
|
2289
2366
|
icon: z.ZodOptional<z.ZodString>;
|
|
2290
2367
|
readme: z.ZodOptional<z.ZodString>;
|
|
2291
|
-
runtime: z.ZodDefault<z.
|
|
2368
|
+
runtime: z.ZodDefault<z.ZodEnum<{
|
|
2369
|
+
code: "code";
|
|
2370
|
+
external: "external";
|
|
2371
|
+
}>>;
|
|
2372
|
+
external: z.ZodOptional<z.ZodObject<{
|
|
2373
|
+
url: z.ZodURL;
|
|
2374
|
+
}, z.core.$strict>>;
|
|
2375
|
+
mcp: z.ZodOptional<z.ZodObject<{
|
|
2376
|
+
tools: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2377
|
+
description: z.ZodString;
|
|
2378
|
+
input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2379
|
+
type: z.ZodEnum<{
|
|
2380
|
+
string: "string";
|
|
2381
|
+
number: "number";
|
|
2382
|
+
boolean: "boolean";
|
|
2383
|
+
}>;
|
|
2384
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2385
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2386
|
+
}, z.core.$strict>>>;
|
|
2387
|
+
}, z.core.$strict>>>;
|
|
2388
|
+
}, z.core.$strict>>;
|
|
2292
2389
|
scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
2293
2390
|
network: z.ZodDefault<z.ZodObject<{
|
|
2294
2391
|
hosts: z.ZodArray<z.ZodString>;
|
|
@@ -2323,6 +2420,39 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
2323
2420
|
entry: z.ZodString;
|
|
2324
2421
|
}, z.core.$strict>;
|
|
2325
2422
|
}, z.core.$strict>>;
|
|
2423
|
+
http: z.ZodOptional<z.ZodObject<{
|
|
2424
|
+
public: z.ZodArray<z.ZodString>;
|
|
2425
|
+
}, z.core.$strict>>;
|
|
2426
|
+
schedules: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2427
|
+
every: z.ZodEnum<{
|
|
2428
|
+
"15m": "15m";
|
|
2429
|
+
"30m": "30m";
|
|
2430
|
+
"1h": "1h";
|
|
2431
|
+
"3h": "3h";
|
|
2432
|
+
"6h": "6h";
|
|
2433
|
+
"12h": "12h";
|
|
2434
|
+
"1d": "1d";
|
|
2435
|
+
}>;
|
|
2436
|
+
}, z.core.$strict>>>;
|
|
2437
|
+
flow: z.ZodOptional<z.ZodObject<{
|
|
2438
|
+
notifications: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2439
|
+
label: z.ZodString;
|
|
2440
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2441
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2442
|
+
type: z.ZodEnum<{
|
|
2443
|
+
string: "string";
|
|
2444
|
+
number: "number";
|
|
2445
|
+
boolean: "boolean";
|
|
2446
|
+
}>;
|
|
2447
|
+
label: z.ZodString;
|
|
2448
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
2449
|
+
}, z.core.$strict>>>;
|
|
2450
|
+
}, z.core.$strict>>>;
|
|
2451
|
+
events: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2452
|
+
label: z.ZodString;
|
|
2453
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2454
|
+
}, z.core.$strict>>>;
|
|
2455
|
+
}, z.core.$strict>>;
|
|
2326
2456
|
settings: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2327
2457
|
type: z.ZodEnum<{
|
|
2328
2458
|
string: "string";
|
|
@@ -2352,7 +2482,7 @@ export declare const APP_UI_MAX_BYTES: number;
|
|
|
2352
2482
|
export declare const APP_UI_MAX_FILES = 2000;
|
|
2353
2483
|
export interface AppManifestProblem {
|
|
2354
2484
|
path: string;
|
|
2355
|
-
code: "EVENT_SCOPE_MISSING" | "SELECT_OPTIONS_REQUIRED" | "SECRET_FIELD_TYPE" | "DEFAULT_TYPE_MISMATCH" | "DUPLICATE";
|
|
2485
|
+
code: "EVENT_SCOPE_MISSING" | "SELECT_OPTIONS_REQUIRED" | "SECRET_FIELD_TYPE" | "DEFAULT_TYPE_MISMATCH" | "DUPLICATE" | "EXTERNAL_URL_REQUIRED" | "EXTERNAL_NETWORK_HOSTS" | "EXTERNAL_URL_INVALID";
|
|
2356
2486
|
message: string;
|
|
2357
2487
|
}
|
|
2358
2488
|
/** 스키마가 보지 못하는 필드 사이 규칙 — 빌드 `VERIFY`·CLI `app verify`가 같은 결과를 낸다. 비어 있으면 통과 */
|
|
@@ -2365,6 +2495,17 @@ export interface AppCapabilities {
|
|
|
2365
2495
|
events: AppEventType[];
|
|
2366
2496
|
networkHosts: string[];
|
|
2367
2497
|
adminPage: boolean;
|
|
2498
|
+
/** 공개 HTTP 핸들러 키(`"GET /track/:id"`). 옛 버전 행에는 없다 — 읽을 때 `?? []` */
|
|
2499
|
+
publicHttp?: string[];
|
|
2500
|
+
/** 예약 작업 이름 → 간격. 옛 버전 행에는 없다 — 읽을 때 `?? {}` */
|
|
2501
|
+
schedules?: Record<string, AppScheduleInterval>;
|
|
2502
|
+
/** 흐름 알림(이름 → 표시 이름·매개변수)·흐름 사건(이름 → 표시 이름). 옛 버전 행에는 없다 — 읽을 때 `?? {}` */
|
|
2503
|
+
flowNotifications?: Record<string, AppFlowNotification>;
|
|
2504
|
+
flowEvents?: Record<string, AppFlowEvent>;
|
|
2505
|
+
/** 외부 런타임의 호출 호스트(동의 화면). 코드 앱·옛 버전 행은 없다 */
|
|
2506
|
+
externalHost?: string | null;
|
|
2507
|
+
/** 에이전트 도구. 옛 버전 행에는 없다 — 읽을 때 `?? {}` */
|
|
2508
|
+
tools?: Record<string, AppTool>;
|
|
2368
2509
|
/** 필수 설정 키 — 하나라도 비어 있으면 이벤트 함수를 부르지 않는다 */
|
|
2369
2510
|
requiredSettings: string[];
|
|
2370
2511
|
secretSettings: string[];
|
|
@@ -2375,7 +2516,7 @@ export declare function appCapabilitiesOf(manifest: AppManifest): AppCapabilitie
|
|
|
2375
2516
|
* 동의 문단은 accounts 설치 화면·상점 플랫폼 앱 상세·유저 문서가 같은 문장을 쓴다.
|
|
2376
2517
|
*/
|
|
2377
2518
|
export interface AppCapabilityDefinition {
|
|
2378
|
-
key: "scopes" | "network" | "events" | "ui";
|
|
2519
|
+
key: "scopes" | "network" | "events" | "ui" | "publicHttp" | "schedules" | "runtime" | "tools";
|
|
2379
2520
|
/** 동의 화면의 문단 제목 */
|
|
2380
2521
|
title: string;
|
|
2381
2522
|
/** 동의 화면에 보일 줄 — 없으면 문단을 그리지 않는다 */
|
|
@@ -2384,6 +2525,37 @@ export interface AppCapabilityDefinition {
|
|
|
2384
2525
|
widens(previous: AppCapabilities, next: AppCapabilities): boolean;
|
|
2385
2526
|
}
|
|
2386
2527
|
export declare const APP_CAPABILITIES: readonly AppCapabilityDefinition[];
|
|
2528
|
+
/** 요청(메서드·경로)이 HTTP 핸들러 키에 맞는가 — `:이름`은 경로 한 마디에 맞는다(`@sayren/app`의 핸들러 고르기와 같은 규칙) */
|
|
2529
|
+
export declare function appHttpKeyMatches(key: string, method: string, path: string): boolean;
|
|
2530
|
+
/** 응답용 예약 작업 목록(이름순) — 옛 버전 행(`schedules` 없음)은 빈 목록 */
|
|
2531
|
+
export declare function appScheduleListOf(capabilities: Pick<AppCapabilities, "schedules">): Array<{
|
|
2532
|
+
name: string;
|
|
2533
|
+
every: AppScheduleInterval;
|
|
2534
|
+
}>;
|
|
2535
|
+
/** 응답용 흐름 알림·사건 목록(이름순) — 옛 버전 행은 빈 목록 */
|
|
2536
|
+
export declare function appFlowSummaryOf(capabilities: Pick<AppCapabilities, "flowNotifications" | "flowEvents">): {
|
|
2537
|
+
flowNotifications: Array<{
|
|
2538
|
+
name: string;
|
|
2539
|
+
label: string;
|
|
2540
|
+
params: Array<{
|
|
2541
|
+
name: string;
|
|
2542
|
+
type: AppFlowParam["type"];
|
|
2543
|
+
label: string;
|
|
2544
|
+
required: boolean;
|
|
2545
|
+
}>;
|
|
2546
|
+
}>;
|
|
2547
|
+
flowEvents: Array<{
|
|
2548
|
+
name: string;
|
|
2549
|
+
label: string;
|
|
2550
|
+
}>;
|
|
2551
|
+
};
|
|
2552
|
+
/** 응답용 도구 목록(이름순) — 옛 버전 행은 빈 목록 */
|
|
2553
|
+
export declare function appToolListOf(capabilities: Pick<AppCapabilities, "tools">): Array<{
|
|
2554
|
+
name: string;
|
|
2555
|
+
description: string;
|
|
2556
|
+
}>;
|
|
2557
|
+
/** 예약 간격의 표시 이름 — 동의 화면·상점 플랫폼이 같이 쓴다 */
|
|
2558
|
+
export declare function appScheduleIntervalLabel(every: AppScheduleInterval): string;
|
|
2387
2559
|
/** 재동의가 필요한 capability 키 — 비어 있으면 release가 모든 설치에 곧바로 반영된다 */
|
|
2388
2560
|
export declare function appManifestWidens(previous: AppCapabilities, next: AppCapabilities): AppCapabilityDefinition["key"][];
|
|
2389
2561
|
//#endregion
|
|
@@ -2418,6 +2590,13 @@ export declare const appInstallationStatusSchema: z.ZodEnum<{
|
|
|
2418
2590
|
}>;
|
|
2419
2591
|
export type AppInstallationStatus = z.infer<typeof appInstallationStatusSchema>;
|
|
2420
2592
|
/** 설치 앱의 앱 정보 — 상점이 보는 범위만(개발자 비밀 값·소스·빌드는 없다) */
|
|
2593
|
+
/** 상점이 보는 앱 공개 범위 — 개발 중(개발자 조직) · 이 상점 전용 · 공개 */
|
|
2594
|
+
export declare const appVisibilitySchema: z.ZodEnum<{
|
|
2595
|
+
PUBLIC: "PUBLIC";
|
|
2596
|
+
DEVELOPMENT: "DEVELOPMENT";
|
|
2597
|
+
PRIVATE: "PRIVATE";
|
|
2598
|
+
}>;
|
|
2599
|
+
export type AppVisibility = z.infer<typeof appVisibilitySchema>;
|
|
2421
2600
|
export declare const appInstallationAppSchema: z.ZodObject<{
|
|
2422
2601
|
appId: z.ZodString;
|
|
2423
2602
|
handle: z.ZodString;
|
|
@@ -2471,6 +2650,41 @@ export declare const appInstallationSettingsUpdateSchema: z.ZodObject<{
|
|
|
2471
2650
|
values: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
|
|
2472
2651
|
}, z.core.$strip>;
|
|
2473
2652
|
export type AppInstallationSettingsUpdate = z.infer<typeof appInstallationSettingsUpdateSchema>;
|
|
2653
|
+
/** 예약 작업 한 줄 — 매니페스트 `schedules`의 이름과 간격 */
|
|
2654
|
+
export declare const appScheduleSummarySchema: z.ZodObject<{
|
|
2655
|
+
name: z.ZodString;
|
|
2656
|
+
every: z.ZodEnum<{
|
|
2657
|
+
"15m": "15m";
|
|
2658
|
+
"30m": "30m";
|
|
2659
|
+
"1h": "1h";
|
|
2660
|
+
"3h": "3h";
|
|
2661
|
+
"6h": "6h";
|
|
2662
|
+
"12h": "12h";
|
|
2663
|
+
"1d": "1d";
|
|
2664
|
+
}>;
|
|
2665
|
+
}, z.core.$strip>;
|
|
2666
|
+
export type AppScheduleSummary = z.infer<typeof appScheduleSummarySchema>;
|
|
2667
|
+
/** 흐름 알림·사건(매뉴얼 「주문 흐름에서 앱 쓰기」) — 흐름 편집기가 알림 채널·매개변수와 사건 이름을 고른다 */
|
|
2668
|
+
export declare const appFlowNotificationSummarySchema: z.ZodObject<{
|
|
2669
|
+
name: z.ZodString;
|
|
2670
|
+
label: z.ZodString;
|
|
2671
|
+
params: z.ZodArray<z.ZodObject<{
|
|
2672
|
+
name: z.ZodString;
|
|
2673
|
+
type: z.ZodEnum<{
|
|
2674
|
+
string: "string";
|
|
2675
|
+
number: "number";
|
|
2676
|
+
boolean: "boolean";
|
|
2677
|
+
}>;
|
|
2678
|
+
label: z.ZodString;
|
|
2679
|
+
required: z.ZodBoolean;
|
|
2680
|
+
}, z.core.$strip>>;
|
|
2681
|
+
}, z.core.$strip>;
|
|
2682
|
+
export type AppFlowNotificationSummary = z.infer<typeof appFlowNotificationSummarySchema>;
|
|
2683
|
+
export declare const appFlowEventSummarySchema: z.ZodObject<{
|
|
2684
|
+
name: z.ZodString;
|
|
2685
|
+
label: z.ZodString;
|
|
2686
|
+
}, z.core.$strip>;
|
|
2687
|
+
export type AppFlowEventSummary = z.infer<typeof appFlowEventSummarySchema>;
|
|
2474
2688
|
export declare const appInstallationSchema: z.ZodObject<{
|
|
2475
2689
|
installationId: z.ZodString;
|
|
2476
2690
|
storeId: z.ZodString;
|
|
@@ -2533,6 +2747,24 @@ export declare const appInstallationSchema: z.ZodObject<{
|
|
|
2533
2747
|
"APP.STORE_REDACT": "APP.STORE_REDACT";
|
|
2534
2748
|
"APP.CUSTOMER_REDACT": "APP.CUSTOMER_REDACT";
|
|
2535
2749
|
}>>;
|
|
2750
|
+
publicHttp: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
2751
|
+
schedules: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2752
|
+
name: z.ZodString;
|
|
2753
|
+
every: z.ZodEnum<{
|
|
2754
|
+
"15m": "15m";
|
|
2755
|
+
"30m": "30m";
|
|
2756
|
+
"1h": "1h";
|
|
2757
|
+
"3h": "3h";
|
|
2758
|
+
"6h": "6h";
|
|
2759
|
+
"12h": "12h";
|
|
2760
|
+
"1d": "1d";
|
|
2761
|
+
}>;
|
|
2762
|
+
}, z.core.$strip>>>;
|
|
2763
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2764
|
+
name: z.ZodString;
|
|
2765
|
+
description: z.ZodString;
|
|
2766
|
+
}, z.core.$strip>>>;
|
|
2767
|
+
externalHost: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2536
2768
|
}, z.core.$strip>>>;
|
|
2537
2769
|
grantedScopes: z.ZodArray<z.ZodString>;
|
|
2538
2770
|
grantedNetworkHosts: z.ZodArray<z.ZodString>;
|
|
@@ -2562,6 +2794,42 @@ export declare const appInstallationSchema: z.ZodObject<{
|
|
|
2562
2794
|
"APP.CUSTOMER_REDACT": "APP.CUSTOMER_REDACT";
|
|
2563
2795
|
}>>;
|
|
2564
2796
|
adminPage: z.ZodBoolean;
|
|
2797
|
+
publicHttp: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
2798
|
+
schedules: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2799
|
+
name: z.ZodString;
|
|
2800
|
+
every: z.ZodEnum<{
|
|
2801
|
+
"15m": "15m";
|
|
2802
|
+
"30m": "30m";
|
|
2803
|
+
"1h": "1h";
|
|
2804
|
+
"3h": "3h";
|
|
2805
|
+
"6h": "6h";
|
|
2806
|
+
"12h": "12h";
|
|
2807
|
+
"1d": "1d";
|
|
2808
|
+
}>;
|
|
2809
|
+
}, z.core.$strip>>>;
|
|
2810
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2811
|
+
name: z.ZodString;
|
|
2812
|
+
description: z.ZodString;
|
|
2813
|
+
}, z.core.$strip>>>;
|
|
2814
|
+
externalHost: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2815
|
+
flowNotifications: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2816
|
+
name: z.ZodString;
|
|
2817
|
+
label: z.ZodString;
|
|
2818
|
+
params: z.ZodArray<z.ZodObject<{
|
|
2819
|
+
name: z.ZodString;
|
|
2820
|
+
type: z.ZodEnum<{
|
|
2821
|
+
string: "string";
|
|
2822
|
+
number: "number";
|
|
2823
|
+
boolean: "boolean";
|
|
2824
|
+
}>;
|
|
2825
|
+
label: z.ZodString;
|
|
2826
|
+
required: z.ZodBoolean;
|
|
2827
|
+
}, z.core.$strip>>;
|
|
2828
|
+
}, z.core.$strip>>>;
|
|
2829
|
+
flowEvents: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2830
|
+
name: z.ZodString;
|
|
2831
|
+
label: z.ZodString;
|
|
2832
|
+
}, z.core.$strip>>>;
|
|
2565
2833
|
settings: z.ZodObject<{
|
|
2566
2834
|
fields: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2567
2835
|
type: z.ZodEnum<{
|
|
@@ -2683,6 +2951,11 @@ export declare const storeAppSchema: z.ZodObject<{
|
|
|
2683
2951
|
developerName: z.ZodString;
|
|
2684
2952
|
versionNumber: z.ZodNumber;
|
|
2685
2953
|
installationId: z.ZodNullable<z.ZodString>;
|
|
2954
|
+
visibility: z.ZodDefault<z.ZodEnum<{
|
|
2955
|
+
PUBLIC: "PUBLIC";
|
|
2956
|
+
DEVELOPMENT: "DEVELOPMENT";
|
|
2957
|
+
PRIVATE: "PRIVATE";
|
|
2958
|
+
}>>;
|
|
2686
2959
|
}, z.core.$strip>;
|
|
2687
2960
|
export type StoreApp = z.infer<typeof storeAppSchema>;
|
|
2688
2961
|
/** `GET /v1/apps/catalog/{appId}` — 앱 상세·설치 화면 */
|
|
@@ -2695,6 +2968,11 @@ export declare const storeAppDetailSchema: z.ZodObject<{
|
|
|
2695
2968
|
developerName: z.ZodString;
|
|
2696
2969
|
versionNumber: z.ZodNumber;
|
|
2697
2970
|
installationId: z.ZodNullable<z.ZodString>;
|
|
2971
|
+
visibility: z.ZodDefault<z.ZodEnum<{
|
|
2972
|
+
PUBLIC: "PUBLIC";
|
|
2973
|
+
DEVELOPMENT: "DEVELOPMENT";
|
|
2974
|
+
PRIVATE: "PRIVATE";
|
|
2975
|
+
}>>;
|
|
2698
2976
|
readme: z.ZodNullable<z.ZodString>;
|
|
2699
2977
|
supportEmail: z.ZodNullable<z.ZodString>;
|
|
2700
2978
|
scopes: z.ZodArray<z.ZodString>;
|
|
@@ -2724,6 +3002,24 @@ export declare const storeAppDetailSchema: z.ZodObject<{
|
|
|
2724
3002
|
"APP.CUSTOMER_REDACT": "APP.CUSTOMER_REDACT";
|
|
2725
3003
|
}>>;
|
|
2726
3004
|
networkHosts: z.ZodArray<z.ZodString>;
|
|
3005
|
+
publicHttp: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
3006
|
+
schedules: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
3007
|
+
name: z.ZodString;
|
|
3008
|
+
every: z.ZodEnum<{
|
|
3009
|
+
"15m": "15m";
|
|
3010
|
+
"30m": "30m";
|
|
3011
|
+
"1h": "1h";
|
|
3012
|
+
"3h": "3h";
|
|
3013
|
+
"6h": "6h";
|
|
3014
|
+
"12h": "12h";
|
|
3015
|
+
"1d": "1d";
|
|
3016
|
+
}>;
|
|
3017
|
+
}, z.core.$strip>>>;
|
|
3018
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
3019
|
+
name: z.ZodString;
|
|
3020
|
+
description: z.ZodString;
|
|
3021
|
+
}, z.core.$strip>>>;
|
|
3022
|
+
externalHost: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2727
3023
|
settings: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2728
3024
|
type: z.ZodEnum<{
|
|
2729
3025
|
string: "string";
|
|
@@ -2762,6 +3058,58 @@ export declare const appInstallationSelfSchema: z.ZodObject<{
|
|
|
2762
3058
|
installedAt: z.ZodString;
|
|
2763
3059
|
}, z.core.$strip>;
|
|
2764
3060
|
export type AppInstallationSelf = z.infer<typeof appInstallationSelfSchema>;
|
|
3061
|
+
/** 에이전트 도구(매뉴얼 「에이전트 도구」) — `GET /v1/apps/tools` 한 줄 */
|
|
3062
|
+
export declare const appToolSummarySchema: z.ZodObject<{
|
|
3063
|
+
installationId: z.ZodString;
|
|
3064
|
+
app: z.ZodObject<{
|
|
3065
|
+
appId: z.ZodString;
|
|
3066
|
+
handle: z.ZodString;
|
|
3067
|
+
name: z.ZodString;
|
|
3068
|
+
}, z.core.$strip>;
|
|
3069
|
+
name: z.ZodString;
|
|
3070
|
+
description: z.ZodString;
|
|
3071
|
+
input: z.ZodArray<z.ZodObject<{
|
|
3072
|
+
name: z.ZodString;
|
|
3073
|
+
type: z.ZodEnum<{
|
|
3074
|
+
string: "string";
|
|
3075
|
+
number: "number";
|
|
3076
|
+
boolean: "boolean";
|
|
3077
|
+
}>;
|
|
3078
|
+
description: z.ZodNullable<z.ZodString>;
|
|
3079
|
+
required: z.ZodBoolean;
|
|
3080
|
+
}, z.core.$strip>>;
|
|
3081
|
+
}, z.core.$strip>;
|
|
3082
|
+
export type AppToolSummary = z.infer<typeof appToolSummarySchema>;
|
|
3083
|
+
export declare const appToolCallSchema: z.ZodObject<{
|
|
3084
|
+
input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3085
|
+
}, z.core.$strip>;
|
|
3086
|
+
export type AppToolCall = z.input<typeof appToolCallSchema>;
|
|
3087
|
+
export declare const appToolResultSchema: z.ZodObject<{
|
|
3088
|
+
result: z.ZodUnknown;
|
|
3089
|
+
}, z.core.$strip>;
|
|
3090
|
+
export type AppToolResult = z.infer<typeof appToolResultSchema>;
|
|
3091
|
+
/** 설치 저장소(`ctx.storage`, 매뉴얼 「앱 코드 › 저장소」) — 설치 토큰 전용 */
|
|
3092
|
+
export declare const APP_STORAGE_KEY_PATTERN: RegExp;
|
|
3093
|
+
export declare const APP_STORAGE_MAX_KEYS = 1000;
|
|
3094
|
+
/** 설치당 전체 크기(키 + JSON 값, UTF-8 바이트) */
|
|
3095
|
+
export declare const APP_STORAGE_MAX_BYTES: number;
|
|
3096
|
+
export declare const appStorageEntrySchema: z.ZodObject<{
|
|
3097
|
+
key: z.ZodString;
|
|
3098
|
+
value: z.ZodUnknown;
|
|
3099
|
+
updatedAt: z.ZodString;
|
|
3100
|
+
}, z.core.$strip>;
|
|
3101
|
+
export type AppStorageEntry = z.infer<typeof appStorageEntrySchema>;
|
|
3102
|
+
export declare const appStorageKeysSchema: z.ZodObject<{
|
|
3103
|
+
keys: z.ZodArray<z.ZodString>;
|
|
3104
|
+
}, z.core.$strip>;
|
|
3105
|
+
export type AppStorageKeys = z.infer<typeof appStorageKeysSchema>;
|
|
3106
|
+
export declare const appStoragePutSchema: z.ZodObject<{
|
|
3107
|
+
value: z.ZodUnknown & z.ZodType<{} | null, unknown, z.core.$ZodTypeInternals<{} | null, unknown>>;
|
|
3108
|
+
}, z.core.$strip>;
|
|
3109
|
+
export type AppStoragePut = z.infer<typeof appStoragePutSchema>;
|
|
3110
|
+
export declare const appStorageListQuerySchema: z.ZodObject<{
|
|
3111
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
3112
|
+
}, z.core.$strip>;
|
|
2765
3113
|
export declare const developerOrgSchema: z.ZodObject<{
|
|
2766
3114
|
orgId: z.ZodString;
|
|
2767
3115
|
name: z.ZodString;
|
|
@@ -2830,6 +3178,8 @@ export declare const appVersionSchema: z.ZodObject<{
|
|
|
2830
3178
|
events: z.ZodArray<z.ZodString>;
|
|
2831
3179
|
networkHosts: z.ZodArray<z.ZodString>;
|
|
2832
3180
|
adminPage: z.ZodBoolean;
|
|
3181
|
+
publicHttp: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3182
|
+
schedules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2833
3183
|
requiredSettings: z.ZodArray<z.ZodString>;
|
|
2834
3184
|
secretSettings: z.ZodArray<z.ZodString>;
|
|
2835
3185
|
}, z.core.$strip>;
|
|
@@ -2867,6 +3217,26 @@ export declare const appVersionSchema: z.ZodObject<{
|
|
|
2867
3217
|
createdAt: z.ZodString;
|
|
2868
3218
|
}, z.core.$strip>;
|
|
2869
3219
|
export type AppVersion = z.infer<typeof appVersionSchema>;
|
|
3220
|
+
/** 앱 공개 심사(#22, 매뉴얼 「앱 공개 범위」) — 개발자가 신청하고 운영자가 승인·반려한다 */
|
|
3221
|
+
export declare const appListingReviewStatusSchema: z.ZodEnum<{
|
|
3222
|
+
PENDING: "PENDING";
|
|
3223
|
+
REJECTED: "REJECTED";
|
|
3224
|
+
APPROVED: "APPROVED";
|
|
3225
|
+
}>;
|
|
3226
|
+
export type AppListingReviewStatus = z.infer<typeof appListingReviewStatusSchema>;
|
|
3227
|
+
export declare const appListingReviewSchema: z.ZodObject<{
|
|
3228
|
+
reviewId: z.ZodString;
|
|
3229
|
+
status: z.ZodEnum<{
|
|
3230
|
+
PENDING: "PENDING";
|
|
3231
|
+
REJECTED: "REJECTED";
|
|
3232
|
+
APPROVED: "APPROVED";
|
|
3233
|
+
}>;
|
|
3234
|
+
versionNumber: z.ZodNumber;
|
|
3235
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
3236
|
+
requestedAt: z.ZodString;
|
|
3237
|
+
reviewedAt: z.ZodNullable<z.ZodString>;
|
|
3238
|
+
}, z.core.$strip>;
|
|
3239
|
+
export type AppListingReview = z.infer<typeof appListingReviewSchema>;
|
|
2870
3240
|
export declare const developerAppSchema: z.ZodObject<{
|
|
2871
3241
|
appId: z.ZodString;
|
|
2872
3242
|
orgId: z.ZodString;
|
|
@@ -2891,6 +3261,19 @@ export declare const developerAppSchema: z.ZodObject<{
|
|
|
2891
3261
|
}>;
|
|
2892
3262
|
suspendedReason: z.ZodNullable<z.ZodString>;
|
|
2893
3263
|
currentVersionNumber: z.ZodNullable<z.ZodNumber>;
|
|
3264
|
+
privateStoreId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
3265
|
+
listingReview: z.ZodDefault<z.ZodNullable<z.ZodObject<{
|
|
3266
|
+
reviewId: z.ZodString;
|
|
3267
|
+
status: z.ZodEnum<{
|
|
3268
|
+
PENDING: "PENDING";
|
|
3269
|
+
REJECTED: "REJECTED";
|
|
3270
|
+
APPROVED: "APPROVED";
|
|
3271
|
+
}>;
|
|
3272
|
+
versionNumber: z.ZodNumber;
|
|
3273
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
3274
|
+
requestedAt: z.ZodString;
|
|
3275
|
+
reviewedAt: z.ZodNullable<z.ZodString>;
|
|
3276
|
+
}, z.core.$strip>>>;
|
|
2894
3277
|
installations: z.ZodObject<{
|
|
2895
3278
|
active: z.ZodNumber;
|
|
2896
3279
|
pendingReconsent: z.ZodNumber;
|
|
@@ -2903,6 +3286,7 @@ export declare const developerAppCreateSchema: z.ZodObject<{
|
|
|
2903
3286
|
handle: z.ZodString;
|
|
2904
3287
|
name: z.ZodString;
|
|
2905
3288
|
description: z.ZodOptional<z.ZodString>;
|
|
3289
|
+
privateStoreId: z.ZodOptional<z.ZodString>;
|
|
2906
3290
|
}, z.core.$strip>;
|
|
2907
3291
|
export type DeveloperAppCreate = z.infer<typeof developerAppCreateSchema>;
|
|
2908
3292
|
/** `PUT /platform/v1/developer/apps/{appId}/versions` — CLI `app deploy`가 올리는 번들 */
|
|
@@ -2945,6 +3329,8 @@ export declare const appReleaseResultSchema: z.ZodObject<{
|
|
|
2945
3329
|
events: z.ZodArray<z.ZodString>;
|
|
2946
3330
|
networkHosts: z.ZodArray<z.ZodString>;
|
|
2947
3331
|
adminPage: z.ZodBoolean;
|
|
3332
|
+
publicHttp: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3333
|
+
schedules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2948
3334
|
requiredSettings: z.ZodArray<z.ZodString>;
|
|
2949
3335
|
secretSettings: z.ZodArray<z.ZodString>;
|
|
2950
3336
|
}, z.core.$strip>;
|
|
@@ -3002,6 +3388,17 @@ export declare const devStoreSchema: z.ZodObject<{
|
|
|
3002
3388
|
createdAt: z.ZodString;
|
|
3003
3389
|
}, z.core.$strip>;
|
|
3004
3390
|
export type DevStore = z.infer<typeof devStoreSchema>;
|
|
3391
|
+
/** `GET /platform/v1/developer/stores` — 비공개 앱을 묶을 수 있는 상점(내가 소유자·관리자, 운영 중) */
|
|
3392
|
+
export declare const developerStoreSchema: z.ZodObject<{
|
|
3393
|
+
storeId: z.ZodString;
|
|
3394
|
+
name: z.ZodString;
|
|
3395
|
+
role: z.ZodEnum<{
|
|
3396
|
+
ADMIN: "ADMIN";
|
|
3397
|
+
OWNER: "OWNER";
|
|
3398
|
+
}>;
|
|
3399
|
+
development: z.ZodBoolean;
|
|
3400
|
+
}, z.core.$strip>;
|
|
3401
|
+
export type DeveloperStore = z.infer<typeof developerStoreSchema>;
|
|
3005
3402
|
/** 개발자가 보는 설치 한 줄 */
|
|
3006
3403
|
export declare const developerInstallationSchema: z.ZodObject<{
|
|
3007
3404
|
installationId: z.ZodString;
|
|
@@ -3034,8 +3431,10 @@ export declare const appInvocationSchema: z.ZodObject<{
|
|
|
3034
3431
|
versionNumber: z.ZodNullable<z.ZodNumber>;
|
|
3035
3432
|
kind: z.ZodEnum<{
|
|
3036
3433
|
event: "event";
|
|
3434
|
+
flow: "flow";
|
|
3037
3435
|
http: "http";
|
|
3038
3436
|
schedule: "schedule";
|
|
3437
|
+
tool: "tool";
|
|
3039
3438
|
}>;
|
|
3040
3439
|
eventType: z.ZodNullable<z.ZodString>;
|
|
3041
3440
|
outcome: z.ZodEnum<{
|
|
@@ -13292,9 +13691,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
13292
13691
|
}>;
|
|
13293
13692
|
/**
|
|
13294
13693
|
* `POST /order-items/{id}/events/{key}` — 현장 단말·연동의 상점 사건(`custom.<이름>`)을 플로우에 넣는다(#115).
|
|
13295
|
-
*
|
|
13694
|
+
* 앱 사건(`app.<handle>.<이름>`, #22)은 그 앱의 설치 토큰으로만 보낸다(`ctx.api`).
|
|
13695
|
+
* 에러: 400 `FLOW_EVENT_KEY_INVALID`, 403 `FLOW_EVENT_APP_FORBIDDEN`, 409 `FLOW_EVENT_NOT_ACCEPTED`
|
|
13296
13696
|
*/
|
|
13297
|
-
emitEvent: (orderItemId: string, key: `custom.${string}`, input?: Record<string, unknown>, idempotencyKey?: string) => Promise<{
|
|
13697
|
+
emitEvent: (orderItemId: string, key: `custom.${string}` | `app.${string}`, input?: Record<string, unknown>, idempotencyKey?: string) => Promise<{
|
|
13298
13698
|
status: "COMPLETED";
|
|
13299
13699
|
flowState: {
|
|
13300
13700
|
key: string;
|
|
@@ -15896,6 +16296,28 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
15896
16296
|
}>;
|
|
15897
16297
|
};
|
|
15898
16298
|
/** 설치 앱(#22, 매뉴얼 「앱 설치와 관리 › 관리 API」) — 설치·설정·제거·세션은 상점 플랫폼 OWNER·ADMIN만 */
|
|
16299
|
+
/** 에이전트 도구(#22 「에이전트 도구」) — 설치된 앱이 제공하는 도구 목록·실행. 실행은 OWNER·ADMIN */
|
|
16300
|
+
appTools: {
|
|
16301
|
+
list: () => Promise<{
|
|
16302
|
+
installationId: string;
|
|
16303
|
+
app: {
|
|
16304
|
+
appId: string;
|
|
16305
|
+
handle: string;
|
|
16306
|
+
name: string;
|
|
16307
|
+
};
|
|
16308
|
+
name: string;
|
|
16309
|
+
description: string;
|
|
16310
|
+
input: {
|
|
16311
|
+
name: string;
|
|
16312
|
+
type: "string" | "number" | "boolean";
|
|
16313
|
+
description: string | null;
|
|
16314
|
+
required: boolean;
|
|
16315
|
+
}[];
|
|
16316
|
+
}[]>;
|
|
16317
|
+
call: (installationId: string, name: string, input?: Record<string, unknown>) => Promise<{
|
|
16318
|
+
result: unknown;
|
|
16319
|
+
}>;
|
|
16320
|
+
};
|
|
15899
16321
|
apps: {
|
|
15900
16322
|
/** 이 상점에 설치할 수 있는 앱 — 앱 목록·상세(아이콘·README·Scope·Hook·설정 필드) */
|
|
15901
16323
|
catalog: {
|
|
@@ -15908,6 +16330,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
15908
16330
|
developerName: string;
|
|
15909
16331
|
versionNumber: number;
|
|
15910
16332
|
installationId: string | null;
|
|
16333
|
+
visibility: "PUBLIC" | "DEVELOPMENT" | "PRIVATE";
|
|
15911
16334
|
}[]>;
|
|
15912
16335
|
get: (appId: string) => Promise<{
|
|
15913
16336
|
appId: string;
|
|
@@ -15918,11 +16341,22 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
15918
16341
|
developerName: string;
|
|
15919
16342
|
versionNumber: number;
|
|
15920
16343
|
installationId: string | null;
|
|
16344
|
+
visibility: "PUBLIC" | "DEVELOPMENT" | "PRIVATE";
|
|
15921
16345
|
readme: string | null;
|
|
15922
16346
|
supportEmail: string | null;
|
|
15923
16347
|
scopes: string[];
|
|
15924
16348
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
15925
16349
|
networkHosts: string[];
|
|
16350
|
+
publicHttp: string[];
|
|
16351
|
+
schedules: {
|
|
16352
|
+
name: string;
|
|
16353
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16354
|
+
}[];
|
|
16355
|
+
tools: {
|
|
16356
|
+
name: string;
|
|
16357
|
+
description: string;
|
|
16358
|
+
}[];
|
|
16359
|
+
externalHost: string | null;
|
|
15926
16360
|
settings: Record<string, {
|
|
15927
16361
|
type: "string" | "number" | "boolean" | "select";
|
|
15928
16362
|
label: string;
|
|
@@ -15967,6 +16401,30 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
15967
16401
|
grantedNetworkHosts: string[];
|
|
15968
16402
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
15969
16403
|
adminPage: boolean;
|
|
16404
|
+
publicHttp: string[];
|
|
16405
|
+
schedules: {
|
|
16406
|
+
name: string;
|
|
16407
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16408
|
+
}[];
|
|
16409
|
+
tools: {
|
|
16410
|
+
name: string;
|
|
16411
|
+
description: string;
|
|
16412
|
+
}[];
|
|
16413
|
+
externalHost: string | null;
|
|
16414
|
+
flowNotifications: {
|
|
16415
|
+
name: string;
|
|
16416
|
+
label: string;
|
|
16417
|
+
params: {
|
|
16418
|
+
name: string;
|
|
16419
|
+
type: "string" | "number" | "boolean";
|
|
16420
|
+
label: string;
|
|
16421
|
+
required: boolean;
|
|
16422
|
+
}[];
|
|
16423
|
+
}[];
|
|
16424
|
+
flowEvents: {
|
|
16425
|
+
name: string;
|
|
16426
|
+
label: string;
|
|
16427
|
+
}[];
|
|
15970
16428
|
settings: {
|
|
15971
16429
|
fields: Record<string, {
|
|
15972
16430
|
type: "string" | "number" | "boolean" | "select";
|
|
@@ -15996,6 +16454,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
15996
16454
|
scopes: string[];
|
|
15997
16455
|
networkHosts: string[];
|
|
15998
16456
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16457
|
+
publicHttp: string[];
|
|
16458
|
+
schedules: {
|
|
16459
|
+
name: string;
|
|
16460
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16461
|
+
}[];
|
|
16462
|
+
tools: {
|
|
16463
|
+
name: string;
|
|
16464
|
+
description: string;
|
|
16465
|
+
}[];
|
|
16466
|
+
externalHost: string | null;
|
|
15999
16467
|
} | null | undefined;
|
|
16000
16468
|
}>;
|
|
16001
16469
|
list: () => Promise<{
|
|
@@ -16020,6 +16488,30 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16020
16488
|
grantedNetworkHosts: string[];
|
|
16021
16489
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16022
16490
|
adminPage: boolean;
|
|
16491
|
+
publicHttp: string[];
|
|
16492
|
+
schedules: {
|
|
16493
|
+
name: string;
|
|
16494
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16495
|
+
}[];
|
|
16496
|
+
tools: {
|
|
16497
|
+
name: string;
|
|
16498
|
+
description: string;
|
|
16499
|
+
}[];
|
|
16500
|
+
externalHost: string | null;
|
|
16501
|
+
flowNotifications: {
|
|
16502
|
+
name: string;
|
|
16503
|
+
label: string;
|
|
16504
|
+
params: {
|
|
16505
|
+
name: string;
|
|
16506
|
+
type: "string" | "number" | "boolean";
|
|
16507
|
+
label: string;
|
|
16508
|
+
required: boolean;
|
|
16509
|
+
}[];
|
|
16510
|
+
}[];
|
|
16511
|
+
flowEvents: {
|
|
16512
|
+
name: string;
|
|
16513
|
+
label: string;
|
|
16514
|
+
}[];
|
|
16023
16515
|
settings: {
|
|
16024
16516
|
fields: Record<string, {
|
|
16025
16517
|
type: "string" | "number" | "boolean" | "select";
|
|
@@ -16049,6 +16541,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16049
16541
|
scopes: string[];
|
|
16050
16542
|
networkHosts: string[];
|
|
16051
16543
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16544
|
+
publicHttp: string[];
|
|
16545
|
+
schedules: {
|
|
16546
|
+
name: string;
|
|
16547
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16548
|
+
}[];
|
|
16549
|
+
tools: {
|
|
16550
|
+
name: string;
|
|
16551
|
+
description: string;
|
|
16552
|
+
}[];
|
|
16553
|
+
externalHost: string | null;
|
|
16052
16554
|
} | null | undefined;
|
|
16053
16555
|
}[]>;
|
|
16054
16556
|
get: (installationId: string) => Promise<{
|
|
@@ -16073,6 +16575,30 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16073
16575
|
grantedNetworkHosts: string[];
|
|
16074
16576
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16075
16577
|
adminPage: boolean;
|
|
16578
|
+
publicHttp: string[];
|
|
16579
|
+
schedules: {
|
|
16580
|
+
name: string;
|
|
16581
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16582
|
+
}[];
|
|
16583
|
+
tools: {
|
|
16584
|
+
name: string;
|
|
16585
|
+
description: string;
|
|
16586
|
+
}[];
|
|
16587
|
+
externalHost: string | null;
|
|
16588
|
+
flowNotifications: {
|
|
16589
|
+
name: string;
|
|
16590
|
+
label: string;
|
|
16591
|
+
params: {
|
|
16592
|
+
name: string;
|
|
16593
|
+
type: "string" | "number" | "boolean";
|
|
16594
|
+
label: string;
|
|
16595
|
+
required: boolean;
|
|
16596
|
+
}[];
|
|
16597
|
+
}[];
|
|
16598
|
+
flowEvents: {
|
|
16599
|
+
name: string;
|
|
16600
|
+
label: string;
|
|
16601
|
+
}[];
|
|
16076
16602
|
settings: {
|
|
16077
16603
|
fields: Record<string, {
|
|
16078
16604
|
type: "string" | "number" | "boolean" | "select";
|
|
@@ -16102,6 +16628,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16102
16628
|
scopes: string[];
|
|
16103
16629
|
networkHosts: string[];
|
|
16104
16630
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16631
|
+
publicHttp: string[];
|
|
16632
|
+
schedules: {
|
|
16633
|
+
name: string;
|
|
16634
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16635
|
+
}[];
|
|
16636
|
+
tools: {
|
|
16637
|
+
name: string;
|
|
16638
|
+
description: string;
|
|
16639
|
+
}[];
|
|
16640
|
+
externalHost: string | null;
|
|
16105
16641
|
} | null | undefined;
|
|
16106
16642
|
}>;
|
|
16107
16643
|
/** 비밀 필드를 생략하면 현재 값을 유지한다. null은 비운다 */
|
|
@@ -16127,6 +16663,30 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16127
16663
|
grantedNetworkHosts: string[];
|
|
16128
16664
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16129
16665
|
adminPage: boolean;
|
|
16666
|
+
publicHttp: string[];
|
|
16667
|
+
schedules: {
|
|
16668
|
+
name: string;
|
|
16669
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16670
|
+
}[];
|
|
16671
|
+
tools: {
|
|
16672
|
+
name: string;
|
|
16673
|
+
description: string;
|
|
16674
|
+
}[];
|
|
16675
|
+
externalHost: string | null;
|
|
16676
|
+
flowNotifications: {
|
|
16677
|
+
name: string;
|
|
16678
|
+
label: string;
|
|
16679
|
+
params: {
|
|
16680
|
+
name: string;
|
|
16681
|
+
type: "string" | "number" | "boolean";
|
|
16682
|
+
label: string;
|
|
16683
|
+
required: boolean;
|
|
16684
|
+
}[];
|
|
16685
|
+
}[];
|
|
16686
|
+
flowEvents: {
|
|
16687
|
+
name: string;
|
|
16688
|
+
label: string;
|
|
16689
|
+
}[];
|
|
16130
16690
|
settings: {
|
|
16131
16691
|
fields: Record<string, {
|
|
16132
16692
|
type: "string" | "number" | "boolean" | "select";
|
|
@@ -16156,6 +16716,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16156
16716
|
scopes: string[];
|
|
16157
16717
|
networkHosts: string[];
|
|
16158
16718
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16719
|
+
publicHttp: string[];
|
|
16720
|
+
schedules: {
|
|
16721
|
+
name: string;
|
|
16722
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16723
|
+
}[];
|
|
16724
|
+
tools: {
|
|
16725
|
+
name: string;
|
|
16726
|
+
description: string;
|
|
16727
|
+
}[];
|
|
16728
|
+
externalHost: string | null;
|
|
16159
16729
|
} | null | undefined;
|
|
16160
16730
|
}>;
|
|
16161
16731
|
remove: (installationId: string) => Promise<void>;
|
|
@@ -16196,6 +16766,30 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16196
16766
|
grantedNetworkHosts: string[];
|
|
16197
16767
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16198
16768
|
adminPage: boolean;
|
|
16769
|
+
publicHttp: string[];
|
|
16770
|
+
schedules: {
|
|
16771
|
+
name: string;
|
|
16772
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16773
|
+
}[];
|
|
16774
|
+
tools: {
|
|
16775
|
+
name: string;
|
|
16776
|
+
description: string;
|
|
16777
|
+
}[];
|
|
16778
|
+
externalHost: string | null;
|
|
16779
|
+
flowNotifications: {
|
|
16780
|
+
name: string;
|
|
16781
|
+
label: string;
|
|
16782
|
+
params: {
|
|
16783
|
+
name: string;
|
|
16784
|
+
type: "string" | "number" | "boolean";
|
|
16785
|
+
label: string;
|
|
16786
|
+
required: boolean;
|
|
16787
|
+
}[];
|
|
16788
|
+
}[];
|
|
16789
|
+
flowEvents: {
|
|
16790
|
+
name: string;
|
|
16791
|
+
label: string;
|
|
16792
|
+
}[];
|
|
16199
16793
|
settings: {
|
|
16200
16794
|
fields: Record<string, {
|
|
16201
16795
|
type: "string" | "number" | "boolean" | "select";
|
|
@@ -16225,6 +16819,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16225
16819
|
scopes: string[];
|
|
16226
16820
|
networkHosts: string[];
|
|
16227
16821
|
events: ("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" | "APP.INSTALLED" | "APP.UNINSTALLED" | "APP.SETTINGS_UPDATED" | "APP.SCOPES_UPDATED" | "APP.STORE_REDACT" | "APP.CUSTOMER_REDACT")[];
|
|
16822
|
+
publicHttp: string[];
|
|
16823
|
+
schedules: {
|
|
16824
|
+
name: string;
|
|
16825
|
+
every: "15m" | "30m" | "1h" | "3h" | "6h" | "12h" | "1d";
|
|
16826
|
+
}[];
|
|
16827
|
+
tools: {
|
|
16828
|
+
name: string;
|
|
16829
|
+
description: string;
|
|
16830
|
+
}[];
|
|
16831
|
+
externalHost: string | null;
|
|
16228
16832
|
} | null | undefined;
|
|
16229
16833
|
}>;
|
|
16230
16834
|
/** 앱 화면 iframe에 넘길 세션 토큰(5분) */
|
|
@@ -16246,6 +16850,25 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
16246
16850
|
grantedScopes: string[];
|
|
16247
16851
|
installedAt: string;
|
|
16248
16852
|
}>;
|
|
16853
|
+
/** 설치 저장소(`ctx.storage`) — 없는 키는 404 `APP_STORAGE_KEY_NOT_FOUND`, 한도 초과는 409 `APP_STORAGE_LIMIT` */
|
|
16854
|
+
storage: {
|
|
16855
|
+
list: (params?: {
|
|
16856
|
+
prefix?: string;
|
|
16857
|
+
}) => Promise<{
|
|
16858
|
+
keys: string[];
|
|
16859
|
+
}>;
|
|
16860
|
+
get: (key: string) => Promise<{
|
|
16861
|
+
key: string;
|
|
16862
|
+
value: unknown;
|
|
16863
|
+
updatedAt: string;
|
|
16864
|
+
}>;
|
|
16865
|
+
set: (key: string, value: unknown) => Promise<{
|
|
16866
|
+
key: string;
|
|
16867
|
+
value: unknown;
|
|
16868
|
+
updatedAt: string;
|
|
16869
|
+
}>;
|
|
16870
|
+
delete: (key: string) => Promise<void>;
|
|
16871
|
+
};
|
|
16249
16872
|
};
|
|
16250
16873
|
webhooks: {
|
|
16251
16874
|
list: () => Promise<{
|