@bolta-io/cli 0.0.18 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/CLAUDE.md +43 -24
- package/README.md +54 -22
- package/dist/bin/bolta.js +29 -30
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +26 -19
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +71 -48
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/cash-receipt/cancel.d.ts +5 -0
- package/dist/src/commands/cash-receipt/cancel.d.ts.map +1 -0
- package/dist/src/commands/cash-receipt/cancel.js +27 -0
- package/dist/src/commands/cash-receipt/cancel.js.map +1 -0
- package/dist/src/commands/cash-receipt/index.d.ts +3 -0
- package/dist/src/commands/cash-receipt/index.d.ts.map +1 -0
- package/dist/src/commands/cash-receipt/index.js +63 -0
- package/dist/src/commands/cash-receipt/index.js.map +1 -0
- package/dist/src/commands/cash-receipt/issue.d.ts +8 -0
- package/dist/src/commands/cash-receipt/issue.d.ts.map +1 -0
- package/dist/src/commands/cash-receipt/issue.js +29 -0
- package/dist/src/commands/cash-receipt/issue.js.map +1 -0
- package/dist/src/commands/cash-receipt/status.d.ts +5 -0
- package/dist/src/commands/cash-receipt/status.d.ts.map +1 -0
- package/dist/src/commands/cash-receipt/status.js +17 -0
- package/dist/src/commands/cash-receipt/status.js.map +1 -0
- package/dist/src/commands/certificate/index.d.ts.map +1 -1
- package/dist/src/commands/certificate/index.js +19 -42
- package/dist/src/commands/certificate/index.js.map +1 -1
- package/dist/src/commands/config/index.d.ts.map +1 -1
- package/dist/src/commands/config/index.js +17 -54
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/examples/index.d.ts.map +1 -1
- package/dist/src/commands/examples/index.js +73 -9
- package/dist/src/commands/examples/index.js.map +1 -1
- package/dist/src/commands/guide/index.d.ts.map +1 -1
- package/dist/src/commands/guide/index.js +71 -27
- package/dist/src/commands/guide/index.js.map +1 -1
- package/dist/src/commands/invoice/amend.d.ts.map +1 -1
- package/dist/src/commands/invoice/amend.js +9 -30
- package/dist/src/commands/invoice/amend.js.map +1 -1
- package/dist/src/commands/invoice/get.d.ts.map +1 -1
- package/dist/src/commands/invoice/get.js +2 -7
- package/dist/src/commands/invoice/get.js.map +1 -1
- package/dist/src/commands/invoice/index.js +1 -1
- package/dist/src/commands/invoice/issue-request.d.ts.map +1 -1
- package/dist/src/commands/invoice/issue-request.js +3 -15
- package/dist/src/commands/invoice/issue-request.js.map +1 -1
- package/dist/src/commands/invoice/issue.d.ts.map +1 -1
- package/dist/src/commands/invoice/issue.js +3 -15
- package/dist/src/commands/invoice/issue.js.map +1 -1
- package/dist/src/commands/invoice/status.d.ts.map +1 -1
- package/dist/src/commands/invoice/status.js +2 -7
- package/dist/src/commands/invoice/status.js.map +1 -1
- package/dist/src/commands/issuer/create.d.ts +4 -0
- package/dist/src/commands/issuer/create.d.ts.map +1 -0
- package/dist/src/commands/issuer/create.js +24 -0
- package/dist/src/commands/issuer/create.js.map +1 -0
- package/dist/src/commands/issuer/get.d.ts +3 -0
- package/dist/src/commands/issuer/get.d.ts.map +1 -0
- package/dist/src/commands/issuer/get.js +14 -0
- package/dist/src/commands/issuer/get.js.map +1 -0
- package/dist/src/commands/issuer/index.d.ts +3 -0
- package/dist/src/commands/issuer/index.d.ts.map +1 -0
- package/dist/src/commands/issuer/index.js +31 -0
- package/dist/src/commands/issuer/index.js.map +1 -0
- package/dist/src/commands/schema/index.d.ts.map +1 -1
- package/dist/src/commands/schema/index.js +4 -4
- package/dist/src/commands/schema/index.js.map +1 -1
- package/dist/src/commands/supplier/legacy.d.ts +3 -0
- package/dist/src/commands/supplier/legacy.d.ts.map +1 -0
- package/dist/src/commands/supplier/legacy.js +75 -0
- package/dist/src/commands/supplier/legacy.js.map +1 -0
- package/dist/src/config/config-manager.d.ts +7 -9
- package/dist/src/config/config-manager.d.ts.map +1 -1
- package/dist/src/config/config-manager.js +28 -48
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/types/api.d.ts +86 -7
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/utils/client.d.ts +10 -7
- package/dist/src/utils/client.d.ts.map +1 -1
- package/dist/src/utils/client.js +26 -10
- package/dist/src/utils/client.js.map +1 -1
- package/dist/src/utils/errors.d.ts +2 -2
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/dist/src/utils/errors.js +4 -4
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/legacy-issuer.d.ts +28 -0
- package/dist/src/utils/legacy-issuer.d.ts.map +1 -0
- package/dist/src/utils/legacy-issuer.js +45 -0
- package/dist/src/utils/legacy-issuer.js.map +1 -0
- package/dist/src/utils/output.d.ts +7 -3
- package/dist/src/utils/output.d.ts.map +1 -1
- package/dist/src/utils/output.js +14 -4
- package/dist/src/utils/output.js.map +1 -1
- package/dist/src/validators/parse.d.ts +3 -0
- package/dist/src/validators/parse.d.ts.map +1 -0
- package/dist/src/validators/parse.js +15 -0
- package/dist/src/validators/parse.js.map +1 -0
- package/dist/src/validators/schemas.d.ts +182 -1
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +230 -7
- package/dist/src/validators/schemas.js.map +1 -1
- package/llms.txt +47 -34
- package/package.json +4 -2
- package/dist/src/commands/supplier/create.d.ts +0 -4
- package/dist/src/commands/supplier/create.d.ts.map +0 -1
- package/dist/src/commands/supplier/create.js +0 -40
- package/dist/src/commands/supplier/create.js.map +0 -1
- package/dist/src/commands/supplier/get.d.ts +0 -3
- package/dist/src/commands/supplier/get.d.ts.map +0 -1
- package/dist/src/commands/supplier/get.js +0 -19
- package/dist/src/commands/supplier/get.js.map +0 -1
- package/dist/src/commands/supplier/index.d.ts +0 -3
- package/dist/src/commands/supplier/index.d.ts.map +0 -1
- package/dist/src/commands/supplier/index.js +0 -56
- package/dist/src/commands/supplier/index.js.map +0 -1
- package/dist/src/commands/supplier/legacy-customer.d.ts +0 -5
- package/dist/src/commands/supplier/legacy-customer.d.ts.map +0 -1
- package/dist/src/commands/supplier/legacy-customer.js +0 -56
- package/dist/src/commands/supplier/legacy-customer.js.map +0 -1
package/dist/src/types/api.d.ts
CHANGED
|
@@ -65,6 +65,52 @@ export interface StatusResponse {
|
|
|
65
65
|
clientReferenceId: string;
|
|
66
66
|
message: string;
|
|
67
67
|
}
|
|
68
|
+
export interface CashReceiptIssuer {
|
|
69
|
+
businessRegistrationNumber: string;
|
|
70
|
+
organizationName: string;
|
|
71
|
+
representativeName: string;
|
|
72
|
+
telephone: string;
|
|
73
|
+
}
|
|
74
|
+
export type CashReceiptRecipient = {
|
|
75
|
+
type: 'SELF';
|
|
76
|
+
value?: '' | null;
|
|
77
|
+
} | {
|
|
78
|
+
type: 'PHONE';
|
|
79
|
+
value: string;
|
|
80
|
+
} | {
|
|
81
|
+
type: 'BUSINESS_REGISTRATION_NUMBER';
|
|
82
|
+
value: string;
|
|
83
|
+
};
|
|
84
|
+
export interface CashReceiptAmount {
|
|
85
|
+
supplyAmount: number;
|
|
86
|
+
vatAmount: number;
|
|
87
|
+
taxFreeAmount?: number | null;
|
|
88
|
+
}
|
|
89
|
+
export interface CreateCashReceiptRequest {
|
|
90
|
+
itemName: string;
|
|
91
|
+
issuer: CashReceiptIssuer;
|
|
92
|
+
recipient: CashReceiptRecipient;
|
|
93
|
+
amount: CashReceiptAmount;
|
|
94
|
+
}
|
|
95
|
+
export interface CashReceiptCancellationResponse {
|
|
96
|
+
issuanceKey: string;
|
|
97
|
+
originalIssuanceKey: string;
|
|
98
|
+
}
|
|
99
|
+
export type CashReceiptRequestType = 'ISSUE' | 'CANCELLATION';
|
|
100
|
+
export type CashReceiptStatus = 'PENDING' | 'REQUEST_SUCCESS' | 'REQUEST_FAILURE' | 'ISSUED' | 'ISSUE_FAILED' | 'CANCELED' | 'CANCEL_FAILED' | 'EXTERNALLY_CANCELED';
|
|
101
|
+
export interface CashReceiptStatusResponse {
|
|
102
|
+
clientReferenceId: string;
|
|
103
|
+
issuanceKey: string;
|
|
104
|
+
type: CashReceiptRequestType;
|
|
105
|
+
status: CashReceiptStatus;
|
|
106
|
+
originalIssuanceKey?: string | null;
|
|
107
|
+
cashReceiptApprovalNumber?: string | null;
|
|
108
|
+
failure?: {
|
|
109
|
+
code: string;
|
|
110
|
+
message: string;
|
|
111
|
+
} | null;
|
|
112
|
+
message: string;
|
|
113
|
+
}
|
|
68
114
|
export interface AmendTerminationRequest {
|
|
69
115
|
date: string;
|
|
70
116
|
}
|
|
@@ -73,16 +119,34 @@ export interface AmendChangeSupplyCostRequest {
|
|
|
73
119
|
taxType: TaxInvoiceTaxType;
|
|
74
120
|
items: TaxInvoiceItem[];
|
|
75
121
|
}
|
|
76
|
-
export interface
|
|
122
|
+
export interface CreateIssuerRequest {
|
|
77
123
|
identificationNumber: string;
|
|
78
124
|
organizationName: string;
|
|
79
125
|
representativeName: string;
|
|
80
126
|
taxRegistrationId?: string | null;
|
|
81
127
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
128
|
+
export interface IssuerResponse {
|
|
129
|
+
issuerId: string;
|
|
130
|
+
identificationNumber: string;
|
|
131
|
+
organizationName: string;
|
|
132
|
+
representativeName: string;
|
|
133
|
+
taxRegistrationId: string | null;
|
|
134
|
+
certificate: {
|
|
135
|
+
issuedAt: string;
|
|
136
|
+
expiresAt: string;
|
|
137
|
+
} | null;
|
|
138
|
+
}
|
|
139
|
+
/** @deprecated 숨김 `supplier` CLI 호환용입니다. */
|
|
140
|
+
export type CreateSupplierRequest = CreateIssuerRequest;
|
|
141
|
+
/**
|
|
142
|
+
* @deprecated 숨김 `supplier` CLI 호환용입니다.
|
|
143
|
+
*
|
|
144
|
+
* 레거시 `/suppliers` 응답은 런타임 검증 없이 그대로 통과시키므로,
|
|
145
|
+
* 형제 타입인 LegacyCustomerResponse와 같은 수준으로 느슨하게 둔다.
|
|
146
|
+
*/
|
|
147
|
+
export interface LegacySupplierResponse {
|
|
85
148
|
supplierKey: string;
|
|
149
|
+
issuerId?: string;
|
|
86
150
|
identificationNumber: string;
|
|
87
151
|
organizationName: string;
|
|
88
152
|
representativeName: string;
|
|
@@ -92,9 +156,12 @@ export interface SupplierResponse {
|
|
|
92
156
|
expiresAt: string;
|
|
93
157
|
};
|
|
94
158
|
}
|
|
95
|
-
/** @deprecated
|
|
159
|
+
/** @deprecated 숨김 `customer` CLI 호환용입니다. */
|
|
160
|
+
export type CreateCustomerRequest = CreateIssuerRequest;
|
|
161
|
+
/** @deprecated 숨김 `customer` CLI 호환용입니다. */
|
|
96
162
|
export interface LegacyCustomerResponse {
|
|
97
163
|
customerKey: string;
|
|
164
|
+
issuerId?: string;
|
|
98
165
|
identificationNumber: string;
|
|
99
166
|
organizationName: string;
|
|
100
167
|
representativeName: string;
|
|
@@ -107,6 +174,16 @@ export interface LegacyCustomerResponse {
|
|
|
107
174
|
export interface CertificateUrlResponse {
|
|
108
175
|
url: string;
|
|
109
176
|
}
|
|
177
|
+
export interface CertificateRegistrationHistory {
|
|
178
|
+
identifier: string;
|
|
179
|
+
issuerId: string;
|
|
180
|
+
occurredAt: string;
|
|
181
|
+
code: string;
|
|
182
|
+
message: string;
|
|
183
|
+
}
|
|
184
|
+
export interface CertificateStatusResponse {
|
|
185
|
+
latestHistory: CertificateRegistrationHistory | null;
|
|
186
|
+
}
|
|
110
187
|
export interface ApiErrorResponse {
|
|
111
188
|
code: string;
|
|
112
189
|
message: string;
|
|
@@ -127,8 +204,9 @@ export interface CliErrorResponse {
|
|
|
127
204
|
export type CliResponse<T = unknown> = CliSuccessResponse<T> | CliErrorResponse;
|
|
128
205
|
export interface BoltaConfig {
|
|
129
206
|
apiKey?: string;
|
|
207
|
+
/** @deprecated 2026-12-31까지 레거시 Supplier-Key 헤더 호환용으로만 유지 */
|
|
130
208
|
supplierKey?: string;
|
|
131
|
-
/** @deprecated
|
|
209
|
+
/** @deprecated 2026-12-31까지 레거시 Customer-Key 설정 호환용으로만 유지 */
|
|
132
210
|
customerKey?: string;
|
|
133
211
|
baseUrl?: string;
|
|
134
212
|
timeout?: number;
|
|
@@ -142,8 +220,9 @@ export interface GlobalOptions {
|
|
|
142
220
|
human?: boolean;
|
|
143
221
|
verbose?: boolean;
|
|
144
222
|
apiKey?: string;
|
|
223
|
+
/** @deprecated 숨김 레거시 옵션 */
|
|
145
224
|
supplierKey?: string;
|
|
146
|
-
/** @deprecated
|
|
225
|
+
/** @deprecated 숨김 레거시 옵션 */
|
|
147
226
|
customerKey?: string;
|
|
148
227
|
dryRun?: boolean;
|
|
149
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,16 @@ interface GlobalOptions {
|
|
|
5
5
|
customerKey?: string;
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* API 키만으로 클라이언트를 만든다. 레거시 Supplier-Key 헤더는 절대 싣지 않는다.
|
|
9
|
+
*
|
|
10
|
+
* issuer·certificate와 조회 명령처럼 레거시 발급자 헤더가 필요 없는 경로에 사용한다.
|
|
11
|
+
* 남아 있는 구 config(supplier-key)가 이런 요청에 섞여 들어가지 않도록 분리한다.
|
|
11
12
|
*/
|
|
12
|
-
export declare function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
export declare function createApiKeyClient(globalOpts: Pick<GlobalOptions, 'apiKey'>): BoltaClient;
|
|
14
|
+
/**
|
|
15
|
+
* 글로벌 옵션(및 env/config)에서 API 키와 선택형 레거시 발급자 헤더를 해석한다.
|
|
16
|
+
* 신규 계약에서는 API 키만 필요하며, 구 설정이 있을 때만 Supplier-Key를 보낸다.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createClient(globalOpts: GlobalOptions): BoltaClient;
|
|
16
19
|
export {};
|
|
17
20
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,WAAW,CAEzF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,WAAW,CAWnE"}
|
package/dist/src/utils/client.js
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
|
-
import { resolveApiKey,
|
|
1
|
+
import { resolveApiKey, resolveLegacyIssuerKeyWithSource, resolveBaseUrl } from '../config/config-manager.js';
|
|
2
2
|
import { BoltaClient } from '../client/bolta-client.js';
|
|
3
3
|
import { BoltaAuthError } from './errors.js';
|
|
4
|
-
|
|
5
|
-
* 글로벌 옵션(및 env/config)으로부터 인증을 해석해 BoltaClient를 만든다.
|
|
6
|
-
* 발행/수정 커맨드에서 반복되던 apiKey 확인 + supplierKey 해석 + 클라이언트 생성을 한곳으로 모은다.
|
|
7
|
-
* 커맨드가 요청 시 supplierKey 값을 함께 넘겨야 하므로 client와 함께 반환한다.
|
|
8
|
-
*/
|
|
9
|
-
export function createClient(globalOpts) {
|
|
4
|
+
function resolveApiKeyClientConfig(globalOpts) {
|
|
10
5
|
const apiKey = resolveApiKey(globalOpts.apiKey);
|
|
11
6
|
if (!apiKey)
|
|
12
7
|
throw new BoltaAuthError('API 키가 설정되지 않았습니다.');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
return { apiKey, baseUrl: resolveBaseUrl() };
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* API 키만으로 클라이언트를 만든다. 레거시 Supplier-Key 헤더는 절대 싣지 않는다.
|
|
12
|
+
*
|
|
13
|
+
* issuer·certificate와 조회 명령처럼 레거시 발급자 헤더가 필요 없는 경로에 사용한다.
|
|
14
|
+
* 남아 있는 구 config(supplier-key)가 이런 요청에 섞여 들어가지 않도록 분리한다.
|
|
15
|
+
*/
|
|
16
|
+
export function createApiKeyClient(globalOpts) {
|
|
17
|
+
return new BoltaClient(resolveApiKeyClientConfig(globalOpts));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 글로벌 옵션(및 env/config)에서 API 키와 선택형 레거시 발급자 헤더를 해석한다.
|
|
21
|
+
* 신규 계약에서는 API 키만 필요하며, 구 설정이 있을 때만 Supplier-Key를 보낸다.
|
|
22
|
+
*/
|
|
23
|
+
export function createClient(globalOpts) {
|
|
24
|
+
const clientConfig = resolveApiKeyClientConfig(globalOpts);
|
|
25
|
+
const resolved = resolveLegacyIssuerKeyWithSource(globalOpts.supplierKey, globalOpts.customerKey);
|
|
26
|
+
return new BoltaClient({
|
|
27
|
+
...clientConfig,
|
|
28
|
+
legacyIssuer: resolved.value && resolved.source !== 'none'
|
|
29
|
+
? { key: resolved.value, source: resolved.source }
|
|
30
|
+
: undefined,
|
|
31
|
+
});
|
|
16
32
|
}
|
|
17
33
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gCAAgC,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQ7C,SAAS,yBAAyB,CAChC,UAAyC;IAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAE5D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAyC;IAC1E,OAAO,IAAI,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,UAAyB;IACpD,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,gCAAgC,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAElG,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,YAAY;QACf,YAAY,EACV,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;YAC1C,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;YAClD,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -12,10 +12,10 @@ export declare class BoltaValidationError extends BoltaError {
|
|
|
12
12
|
constructor(message: string, details?: Record<string, unknown>);
|
|
13
13
|
}
|
|
14
14
|
export declare class BoltaAuthError extends BoltaError {
|
|
15
|
-
constructor(message: string);
|
|
15
|
+
constructor(message: string, suggestion?: string);
|
|
16
16
|
}
|
|
17
17
|
export declare class BoltaInputError extends BoltaError {
|
|
18
|
-
constructor(message: string);
|
|
18
|
+
constructor(message: string, suggestion?: string);
|
|
19
19
|
}
|
|
20
20
|
export declare class BoltaNetworkError extends BoltaError {
|
|
21
21
|
constructor(message: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;IAG1B,IAAI,EAAE,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHxC,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C;AAED,qBAAa,aAAc,SAAQ,UAAU;IAIlC,UAAU,EAAE,MAAM;gBAFzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACL,UAAU,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAKpC;AAED,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAI/D;AAED,qBAAa,cAAe,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;IAG1B,IAAI,EAAE,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHxC,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C;AAED,qBAAa,aAAc,SAAQ,UAAU;IAIlC,UAAU,EAAE,MAAM;gBAFzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACL,UAAU,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAKpC;AAED,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAI/D;AAED,qBAAa,cAAe,SAAQ,UAAU;gBAE1C,OAAO,EAAE,MAAM,EACf,UAAU,SAA0E;CASvF;AAED,qBAAa,eAAgB,SAAQ,UAAU;gBAE3C,OAAO,EAAE,MAAM,EACf,UAAU,SAAwD;CAKrE;AAED,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAIjD"}
|
package/dist/src/utils/errors.js
CHANGED
|
@@ -25,14 +25,14 @@ export class BoltaValidationError extends BoltaError {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
export class BoltaAuthError extends BoltaError {
|
|
28
|
-
constructor(message) {
|
|
29
|
-
super(message, 'AUTH_ERROR',
|
|
28
|
+
constructor(message, suggestion = "BOLTA_API_KEY 환경변수를 설정하거나 'bolta config set api-key <key>' 명령을 실행하세요.") {
|
|
29
|
+
super(message, 'AUTH_ERROR', suggestion);
|
|
30
30
|
this.name = 'BoltaAuthError';
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
export class BoltaInputError extends BoltaError {
|
|
34
|
-
constructor(message) {
|
|
35
|
-
super(message, 'INPUT_ERROR',
|
|
34
|
+
constructor(message, suggestion = '--data, --file, --stdin 중 하나를 사용하여 JSON 데이터를 전달하세요.') {
|
|
35
|
+
super(message, 'INPUT_ERROR', suggestion);
|
|
36
36
|
this.name = 'BoltaInputError';
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAG1B;IACA;IACA;IAJT,YACE,OAAe,EACR,IAAY,EACZ,UAAmB,EACnB,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,UAAU;IAIlC;IAHT,YACE,OAAe,EACf,IAAY,EACL,UAAkB,EACzB,UAAmB,EACnB,OAAiC;QAEjC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAJnC,eAAU,GAAV,UAAU,CAAQ;QAKzB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAClD,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,yDAAyD,EAAE,OAAO,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAG1B;IACA;IACA;IAJT,YACE,OAAe,EACR,IAAY,EACZ,UAAmB,EACnB,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,UAAU;IAIlC;IAHT,YACE,OAAe,EACf,IAAY,EACL,UAAkB,EACzB,UAAmB,EACnB,OAAiC;QAEjC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAJnC,eAAU,GAAV,UAAU,CAAQ;QAKzB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAClD,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,yDAAyD,EAAE,OAAO,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C,YACE,OAAe,EACf,UAAU,GAAG,uEAAuE;QAEpF,KAAK,CACH,OAAO,EACP,YAAY,EACZ,UAAU,CACX,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YACE,OAAe,EACf,UAAU,GAAG,qDAAqD;QAElE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,6DAA6D,CAAC,CAAC;QAC/F,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,OAAe,EAAE,UAAmB;QAC9C,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,IAAI,kCAAkC,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2026-12-31까지 유지하는 레거시 발급자 키(Supplier-Key 헤더)의 출처 정보.
|
|
3
|
+
*
|
|
4
|
+
* 설정 해석(config-manager)과 HTTP 클라이언트(bolta-client) 양쪽에서 쓰이므로
|
|
5
|
+
* 어느 쪽에도 의존하지 않는 중립 모듈에 둔다.
|
|
6
|
+
*/
|
|
7
|
+
export type LegacyIssuerKeySource = 'supplier-flag' | 'customer-flag' | 'supplier-env' | 'supplier-config' | 'customer-env' | 'customer-config' | 'none';
|
|
8
|
+
/** 실제로 값이 있을 때의 출처. `'none'`은 값이 없다는 뜻이므로 제외한다. */
|
|
9
|
+
export type ResolvedLegacyIssuerKeySource = Exclude<LegacyIssuerKeySource, 'none'>;
|
|
10
|
+
/**
|
|
11
|
+
* 레거시 키와 그 출처는 항상 함께 존재한다.
|
|
12
|
+
* 둘을 한 객체로 묶어 "키는 있는데 출처는 모름" 상태를 타입으로 막는다.
|
|
13
|
+
*/
|
|
14
|
+
export interface LegacyIssuerHeader {
|
|
15
|
+
key: string;
|
|
16
|
+
source: ResolvedLegacyIssuerKeySource;
|
|
17
|
+
}
|
|
18
|
+
export interface LegacyIssuerKeySourceDescription {
|
|
19
|
+
/** 값이 어디서 왔는지 (경고·에러 문구에 그대로 노출) */
|
|
20
|
+
origin: string;
|
|
21
|
+
/** 이 소스를 끄는 방법 */
|
|
22
|
+
removal: string;
|
|
23
|
+
/** 같은 문자열의 issuerId로 발급자 등록 상태를 확인하는 명령 */
|
|
24
|
+
verifyCommand: string;
|
|
25
|
+
}
|
|
26
|
+
/** 레거시 발급자 키의 출처와 해제 방법을 사용자 안내용으로 설명한다. */
|
|
27
|
+
export declare function describeLegacyIssuerKeySource(source: ResolvedLegacyIssuerKeySource): LegacyIssuerKeySourceDescription;
|
|
28
|
+
//# sourceMappingURL=legacy-issuer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-issuer.d.ts","sourceRoot":"","sources":["../../../src/utils/legacy-issuer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,MAAM,CAAC;AAEX,mDAAmD;AACnD,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED,MAAM,WAAW,gCAAgC;IAC/C,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;CACvB;AAsCD,4CAA4C;AAC5C,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,6BAA6B,GACpC,gCAAgC,CAElC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2026-12-31까지 유지하는 레거시 발급자 키(Supplier-Key 헤더)의 출처 정보.
|
|
3
|
+
*
|
|
4
|
+
* 설정 해석(config-manager)과 HTTP 클라이언트(bolta-client) 양쪽에서 쓰이므로
|
|
5
|
+
* 어느 쪽에도 의존하지 않는 중립 모듈에 둔다.
|
|
6
|
+
*/
|
|
7
|
+
const SUPPLIER_VERIFY_COMMAND = 'bolta issuer get <supplierKey>';
|
|
8
|
+
const CUSTOMER_VERIFY_COMMAND = 'bolta issuer get <customerKey>';
|
|
9
|
+
const DESCRIPTIONS = {
|
|
10
|
+
'supplier-flag': {
|
|
11
|
+
origin: "'--supplier-key' 플래그",
|
|
12
|
+
removal: "명령에서 '--supplier-key'를 빼세요",
|
|
13
|
+
verifyCommand: SUPPLIER_VERIFY_COMMAND,
|
|
14
|
+
},
|
|
15
|
+
'customer-flag': {
|
|
16
|
+
origin: "'--customer-key' 플래그",
|
|
17
|
+
removal: "명령에서 '--customer-key'를 빼세요",
|
|
18
|
+
verifyCommand: CUSTOMER_VERIFY_COMMAND,
|
|
19
|
+
},
|
|
20
|
+
'supplier-env': {
|
|
21
|
+
origin: "'BOLTA_SUPPLIER_KEY' 환경변수",
|
|
22
|
+
removal: 'unset BOLTA_SUPPLIER_KEY',
|
|
23
|
+
verifyCommand: SUPPLIER_VERIFY_COMMAND,
|
|
24
|
+
},
|
|
25
|
+
'supplier-config': {
|
|
26
|
+
origin: "config의 'supplier-key'",
|
|
27
|
+
removal: 'bolta config set supplier-key ""',
|
|
28
|
+
verifyCommand: SUPPLIER_VERIFY_COMMAND,
|
|
29
|
+
},
|
|
30
|
+
'customer-env': {
|
|
31
|
+
origin: "'BOLTA_CUSTOMER_KEY' 환경변수",
|
|
32
|
+
removal: 'unset BOLTA_CUSTOMER_KEY',
|
|
33
|
+
verifyCommand: CUSTOMER_VERIFY_COMMAND,
|
|
34
|
+
},
|
|
35
|
+
'customer-config': {
|
|
36
|
+
origin: "config의 'customer-key'",
|
|
37
|
+
removal: 'bolta config set customer-key ""',
|
|
38
|
+
verifyCommand: CUSTOMER_VERIFY_COMMAND,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
/** 레거시 발급자 키의 출처와 해제 방법을 사용자 안내용으로 설명한다. */
|
|
42
|
+
export function describeLegacyIssuerKeySource(source) {
|
|
43
|
+
return DESCRIPTIONS[source];
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=legacy-issuer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-issuer.js","sourceRoot":"","sources":["../../../src/utils/legacy-issuer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACjE,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AAEjE,MAAM,YAAY,GAA4E;IAC5F,eAAe,EAAE;QACf,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,4BAA4B;QACrC,aAAa,EAAE,uBAAuB;KACvC;IACD,eAAe,EAAE;QACf,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,4BAA4B;QACrC,aAAa,EAAE,uBAAuB;KACvC;IACD,cAAc,EAAE;QACd,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,0BAA0B;QACnC,aAAa,EAAE,uBAAuB;KACvC;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,wBAAwB;QAChC,OAAO,EAAE,kCAAkC;QAC3C,aAAa,EAAE,uBAAuB;KACvC;IACD,cAAc,EAAE;QACd,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,0BAA0B;QACnC,aAAa,EAAE,uBAAuB;KACvC;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,wBAAwB;QAChC,OAAO,EAAE,kCAAkC;QAC3C,aAAa,EAAE,uBAAuB;KACvC;CACF,CAAC;AAEF,4CAA4C;AAC5C,MAAM,UAAU,6BAA6B,CAC3C,MAAqC;IAErC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare function outputSuccess<T>(data: T): void;
|
|
2
2
|
export declare function outputError(error: unknown): never;
|
|
3
3
|
/**
|
|
4
|
-
* 비밀값(
|
|
4
|
+
* 비밀값(API 키, 레거시 발급자 식별자 등)을 로그·에러에 안전하게 노출하기 위해 마스킹한다.
|
|
5
5
|
* 값을 식별할 수 있도록 앞 prefix자와 뒤 suffix자는 남긴다.
|
|
6
6
|
*/
|
|
7
7
|
export declare function maskSecret(value: string, prefix?: number, suffix?: number): string;
|
|
@@ -10,13 +10,17 @@ export declare function verbose(message: string, data?: Record<string, unknown>)
|
|
|
10
10
|
* 경고를 stderr로 출력한다. JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
|
|
11
11
|
*/
|
|
12
12
|
export declare function warning(message: string): void;
|
|
13
|
+
export declare const LEGACY_ISSUER_SUNSET_DATE = "2026-12-31";
|
|
14
|
+
export declare const ISSUER_MIGRATION_GUIDE_URL = "https://developers.bolta.io/docs/api-introduction/migration-supplier-to-issuer";
|
|
13
15
|
/**
|
|
14
16
|
* Deprecation 경고를 stderr로 1회만 출력한다.
|
|
15
17
|
*/
|
|
16
18
|
export declare function deprecationWarning(message: string): void;
|
|
19
|
+
export declare function legacyIssuerWarning(feature: string): void;
|
|
20
|
+
/** `schema`/`examples`가 공유하는 구 이름 매핑. 한쪽만 바뀌어 어긋나지 않도록 한곳에 둔다. */
|
|
21
|
+
export declare const LEGACY_ISSUER_CREATE_ALIASES: Record<string, string>;
|
|
17
22
|
/**
|
|
18
23
|
* 구 이름(alias)을 신규 이름으로 매핑한다. 매핑되면 deprecation 경고를 출력한다.
|
|
19
|
-
* schema/examples/guide의 customer-* → supplier-* 하위호환 처리에 공통 사용한다.
|
|
20
24
|
*/
|
|
21
|
-
export declare function
|
|
25
|
+
export declare function resolveLegacyIssuerName(input: string, aliases: Record<string, string>, label: string): string;
|
|
22
26
|
//# sourceMappingURL=output.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAG9C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAyBjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,CAGxE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAG9C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAyBjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,CAGxE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAID,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,0BAA0B,mFAC2C,CAAC;AAEnF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED,kEAAkE;AAClE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,MAAM,CAOR"}
|
package/dist/src/utils/output.js
CHANGED
|
@@ -29,7 +29,7 @@ export function outputError(error) {
|
|
|
29
29
|
process.exit(1);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* 비밀값(
|
|
32
|
+
* 비밀값(API 키, 레거시 발급자 식별자 등)을 로그·에러에 안전하게 노출하기 위해 마스킹한다.
|
|
33
33
|
* 값을 식별할 수 있도록 앞 prefix자와 뒤 suffix자는 남긴다.
|
|
34
34
|
*/
|
|
35
35
|
export function maskSecret(value, prefix = 6, suffix = 4) {
|
|
@@ -50,6 +50,8 @@ export function warning(message) {
|
|
|
50
50
|
console.error(`[bolta] ⚠ ${message}`);
|
|
51
51
|
}
|
|
52
52
|
const shownDeprecations = new Set();
|
|
53
|
+
export const LEGACY_ISSUER_SUNSET_DATE = '2026-12-31';
|
|
54
|
+
export const ISSUER_MIGRATION_GUIDE_URL = 'https://developers.bolta.io/docs/api-introduction/migration-supplier-to-issuer';
|
|
53
55
|
/**
|
|
54
56
|
* Deprecation 경고를 stderr로 1회만 출력한다.
|
|
55
57
|
*/
|
|
@@ -59,14 +61,22 @@ export function deprecationWarning(message) {
|
|
|
59
61
|
shownDeprecations.add(message);
|
|
60
62
|
warning(`deprecated: ${message}`);
|
|
61
63
|
}
|
|
64
|
+
export function legacyIssuerWarning(feature) {
|
|
65
|
+
deprecationWarning(`${feature} 사용은 ${LEGACY_ISSUER_SUNSET_DATE}에 종료됩니다. ` +
|
|
66
|
+
`API 키와 'bolta issuer'를 사용하는 신규 방식으로 전환하세요. ${ISSUER_MIGRATION_GUIDE_URL}`);
|
|
67
|
+
}
|
|
68
|
+
/** `schema`/`examples`가 공유하는 구 이름 매핑. 한쪽만 바뀌어 어긋나지 않도록 한곳에 둔다. */
|
|
69
|
+
export const LEGACY_ISSUER_CREATE_ALIASES = {
|
|
70
|
+
'supplier-create': 'issuer-create',
|
|
71
|
+
'customer-create': 'issuer-create',
|
|
72
|
+
};
|
|
62
73
|
/**
|
|
63
74
|
* 구 이름(alias)을 신규 이름으로 매핑한다. 매핑되면 deprecation 경고를 출력한다.
|
|
64
|
-
* schema/examples/guide의 customer-* → supplier-* 하위호환 처리에 공통 사용한다.
|
|
65
75
|
*/
|
|
66
|
-
export function
|
|
76
|
+
export function resolveLegacyIssuerName(input, aliases, label) {
|
|
67
77
|
const mapped = aliases[input];
|
|
68
78
|
if (mapped) {
|
|
69
|
-
|
|
79
|
+
legacyIssuerWarning(`${label} '${input}'`);
|
|
70
80
|
return mapped;
|
|
71
81
|
}
|
|
72
82
|
return input;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAI,IAAO;IACtC,MAAM,QAAQ,GAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAgB;YAC5B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;SACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAgB;QAC5B,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE;KACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,GAAG,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,IAA8B;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;QACxF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAC3C,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;AACpC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/validators/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AAG7C,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAYrE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ZodError } from 'zod';
|
|
2
|
+
import { BoltaValidationError } from '../utils/errors.js';
|
|
3
|
+
export function parseOrThrow(schema, input) {
|
|
4
|
+
try {
|
|
5
|
+
return schema.parse(input);
|
|
6
|
+
}
|
|
7
|
+
catch (err) {
|
|
8
|
+
if (err instanceof ZodError) {
|
|
9
|
+
const details = Object.fromEntries(err.errors.map((error) => [error.path.join('.') || 'input', error.message]));
|
|
10
|
+
throw new BoltaValidationError('입력 데이터가 유효하지 않습니다.', details);
|
|
11
|
+
}
|
|
12
|
+
throw err;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/validators/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,KAAK,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,YAAY,CAAI,MAAkB,EAAE,KAAc;IAChE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAC5E,CAAC;YACF,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|