@bolta-io/cli 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/CLAUDE.md +17 -13
- package/README.md +25 -15
- package/dist/bin/bolta.js +28 -4
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +18 -13
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +43 -22
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/certificate/index.d.ts.map +1 -1
- package/dist/src/commands/certificate/index.js +24 -15
- 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 +32 -11
- 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 +58 -5
- 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 +22 -20
- package/dist/src/commands/guide/index.js.map +1 -1
- package/dist/src/commands/invoice/amend.js +10 -10
- package/dist/src/commands/invoice/amend.js.map +1 -1
- package/dist/src/commands/invoice/index.d.ts.map +1 -1
- package/dist/src/commands/invoice/index.js +8 -1
- package/dist/src/commands/invoice/index.js.map +1 -1
- package/dist/src/commands/invoice/issue-request.js +6 -6
- package/dist/src/commands/invoice/issue-request.js.map +1 -1
- package/dist/src/commands/invoice/issue.js +4 -4
- package/dist/src/commands/invoice/issue.js.map +1 -1
- package/dist/src/commands/schema/index.d.ts.map +1 -1
- package/dist/src/commands/schema/index.js +4 -2
- package/dist/src/commands/schema/index.js.map +1 -1
- package/dist/src/commands/{customer → supplier}/create.d.ts +1 -1
- package/dist/src/commands/{customer → supplier}/create.d.ts.map +1 -1
- package/dist/src/commands/{customer → supplier}/create.js +6 -6
- package/dist/src/commands/{customer → supplier}/create.js.map +1 -1
- package/dist/src/commands/{customer → supplier}/get.d.ts +1 -1
- package/dist/src/commands/{customer → supplier}/get.d.ts.map +1 -1
- package/dist/src/commands/{customer → supplier}/get.js +2 -2
- package/dist/src/commands/{customer → supplier}/get.js.map +1 -1
- package/dist/src/commands/supplier/index.d.ts +3 -0
- package/dist/src/commands/supplier/index.d.ts.map +1 -0
- package/dist/src/commands/supplier/index.js +56 -0
- package/dist/src/commands/supplier/index.js.map +1 -0
- package/dist/src/commands/supplier/legacy-customer.d.ts +5 -0
- package/dist/src/commands/supplier/legacy-customer.d.ts.map +1 -0
- package/dist/src/commands/supplier/legacy-customer.js +56 -0
- package/dist/src/commands/supplier/legacy-customer.js.map +1 -0
- package/dist/src/config/config-manager.d.ts +1 -1
- package/dist/src/config/config-manager.d.ts.map +1 -1
- package/dist/src/config/config-manager.js +23 -2
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/types/api.d.ts +38 -20
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/utils/output.d.ts +10 -0
- package/dist/src/utils/output.d.ts.map +1 -1
- package/dist/src/utils/output.js +23 -0
- package/dist/src/utils/output.js.map +1 -1
- package/dist/src/validators/schemas.d.ts +560 -179
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +156 -53
- package/dist/src/validators/schemas.js.map +1 -1
- package/llms.txt +33 -27
- package/package.json +6 -1
- package/dist/src/commands/customer/index.d.ts +0 -3
- package/dist/src/commands/customer/index.d.ts.map +0 -1
- package/dist/src/commands/customer/index.js +0 -29
- package/dist/src/commands/customer/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AAiGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS/B,CAAC;AAgBH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBjC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7C,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAMH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAOH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AAMH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0I9C,CAAC"}
|
|
@@ -4,17 +4,79 @@ import { z } from 'zod';
|
|
|
4
4
|
// ========================
|
|
5
5
|
export const managerSchema = z.object({
|
|
6
6
|
email: z.string().email('유효한 이메일 형식이 아닙니다'),
|
|
7
|
-
name: z.string().min(1).max(50).optional(),
|
|
8
|
-
telephone: z.string().optional(),
|
|
7
|
+
name: z.string().min(1).max(50).nullable().optional(),
|
|
8
|
+
telephone: z.string().nullable().optional(),
|
|
9
9
|
});
|
|
10
|
-
const
|
|
10
|
+
const NTS_FOREIGN_SUPPLIED_PLACEHOLDER = '9999999999999';
|
|
11
|
+
function normalizeIdentificationNumber(value) {
|
|
12
|
+
return value.replace(/[-\s]/g, '').toUpperCase();
|
|
13
|
+
}
|
|
14
|
+
function isValidDate(year, month, day) {
|
|
15
|
+
const date = new Date(Date.UTC(year, month - 1, day));
|
|
16
|
+
return date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day;
|
|
17
|
+
}
|
|
18
|
+
function isBusinessRegistrationNumber(value) {
|
|
19
|
+
const normalized = normalizeIdentificationNumber(value);
|
|
20
|
+
return /^\d{10}$/.test(normalized);
|
|
21
|
+
}
|
|
22
|
+
function hasValidResidentLikeDate(value, centuryBase) {
|
|
23
|
+
const year = centuryBase + Number(value.slice(0, 2));
|
|
24
|
+
const month = Number(value.slice(2, 4));
|
|
25
|
+
const day = Number(value.slice(4, 6));
|
|
26
|
+
return isValidDate(year, month, day);
|
|
27
|
+
}
|
|
28
|
+
function isResidentRegistrationNumber(value) {
|
|
29
|
+
const normalized = normalizeIdentificationNumber(value);
|
|
30
|
+
if (!/^\d{13}$/.test(normalized) || normalized === NTS_FOREIGN_SUPPLIED_PLACEHOLDER) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const centuryBaseByGenderCode = {
|
|
34
|
+
'1': 1900,
|
|
35
|
+
'2': 1900,
|
|
36
|
+
'3': 2000,
|
|
37
|
+
'4': 2000,
|
|
38
|
+
'9': 1800,
|
|
39
|
+
'0': 1800,
|
|
40
|
+
};
|
|
41
|
+
const centuryBase = centuryBaseByGenderCode[normalized[6]];
|
|
42
|
+
return centuryBase !== undefined && hasValidResidentLikeDate(normalized, centuryBase);
|
|
43
|
+
}
|
|
44
|
+
function isForeignRegistrationNumber(value) {
|
|
45
|
+
const normalized = normalizeIdentificationNumber(value);
|
|
46
|
+
if (!/^\d{13}$/.test(normalized) || normalized === NTS_FOREIGN_SUPPLIED_PLACEHOLDER) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const centuryBaseByGenderCode = {
|
|
50
|
+
'5': 1900,
|
|
51
|
+
'6': 1900,
|
|
52
|
+
'7': 2000,
|
|
53
|
+
'8': 2000,
|
|
54
|
+
};
|
|
55
|
+
const centuryBase = centuryBaseByGenderCode[normalized[6]];
|
|
56
|
+
return centuryBase !== undefined && hasValidResidentLikeDate(normalized, centuryBase);
|
|
57
|
+
}
|
|
58
|
+
function classifySuppliedIdentificationNumber(value) {
|
|
59
|
+
if (isBusinessRegistrationNumber(value))
|
|
60
|
+
return 'BUSINESS_REGISTRATION_NUMBER';
|
|
61
|
+
if (isResidentRegistrationNumber(value))
|
|
62
|
+
return 'RESIDENT_REGISTRATION_NUMBER';
|
|
63
|
+
if (isForeignRegistrationNumber(value))
|
|
64
|
+
return 'FOREIGN_REGISTRATION_NUMBER';
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
const suppliedIdentificationNumberSchema = z
|
|
11
68
|
.string()
|
|
12
|
-
.transform(
|
|
13
|
-
.pipe(z.string().
|
|
69
|
+
.transform(normalizeIdentificationNumber)
|
|
70
|
+
.pipe(z.string().refine((val) => classifySuppliedIdentificationNumber(val) !== null, '공급받는자 식별번호는 사업자등록번호, 주민등록번호 또는 외국인등록번호 형식이어야 합니다'));
|
|
14
71
|
const businessIdentificationNumberSchema = z
|
|
15
72
|
.string()
|
|
16
|
-
.transform(
|
|
73
|
+
.transform(normalizeIdentificationNumber)
|
|
17
74
|
.pipe(z.string().regex(/^\d{10}$/, '사업자등록번호는 10자리 숫자여야 합니다'));
|
|
75
|
+
const nullableOptionalStringSchema = z.string().nullable().optional();
|
|
76
|
+
const taxRegistrationIdSchema = z
|
|
77
|
+
.string()
|
|
78
|
+
.regex(/^\d{4}$/, '종사업장번호는 4자리 숫자여야 합니다')
|
|
79
|
+
.refine((val) => val !== '0000', '종사업장번호는 0000일 수 없습니다');
|
|
18
80
|
// ========================
|
|
19
81
|
// Tax Invoice Schemas
|
|
20
82
|
// ========================
|
|
@@ -22,33 +84,33 @@ export const taxInvoiceSupplierSchema = z.object({
|
|
|
22
84
|
identificationNumber: businessIdentificationNumberSchema,
|
|
23
85
|
organizationName: z.string().min(1, '상호명은 필수입니다'),
|
|
24
86
|
representativeName: z.string().min(1, '대표자명은 필수입니다'),
|
|
25
|
-
address:
|
|
26
|
-
businessType:
|
|
27
|
-
businessItem:
|
|
28
|
-
taxRegistrationId:
|
|
87
|
+
address: nullableOptionalStringSchema,
|
|
88
|
+
businessType: nullableOptionalStringSchema,
|
|
89
|
+
businessItem: nullableOptionalStringSchema,
|
|
90
|
+
taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
|
|
29
91
|
manager: managerSchema,
|
|
30
92
|
});
|
|
31
93
|
export const taxInvoiceSuppliedSchema = z.object({
|
|
32
|
-
identificationNumber:
|
|
94
|
+
identificationNumber: suppliedIdentificationNumberSchema,
|
|
33
95
|
organizationName: z.string().min(1, '상호명은 필수입니다'),
|
|
34
96
|
representativeName: z.string().min(1, '대표자명은 필수입니다'),
|
|
35
|
-
address:
|
|
36
|
-
businessType:
|
|
37
|
-
businessItem:
|
|
38
|
-
taxRegistrationId:
|
|
97
|
+
address: nullableOptionalStringSchema,
|
|
98
|
+
businessType: nullableOptionalStringSchema,
|
|
99
|
+
businessItem: nullableOptionalStringSchema,
|
|
100
|
+
taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
|
|
39
101
|
managers: z.array(managerSchema).min(1, '담당자는 최소 1명 필수입니다').max(2, '담당자는 최대 2명입니다'),
|
|
40
102
|
});
|
|
41
103
|
export const taxInvoiceItemSchema = z.object({
|
|
42
104
|
date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
|
|
43
105
|
name: z.string().min(1, '품목명은 필수입니다').max(80, '품목명은 최대 80자입니다'),
|
|
44
106
|
supplyCost: z.number().int('공급가액은 정수여야 합니다').min(1, '공급가액은 1 이상이어야 합니다'),
|
|
45
|
-
unitPrice: z.number().int().positive().optional(),
|
|
46
|
-
quantity: z.number().int().optional(),
|
|
107
|
+
unitPrice: z.number().int().positive().nullable().optional(),
|
|
108
|
+
quantity: z.number().int().nullable().optional(),
|
|
47
109
|
tax: z.number().int().min(1).nullable().optional(),
|
|
48
|
-
specification:
|
|
49
|
-
description:
|
|
110
|
+
specification: nullableOptionalStringSchema,
|
|
111
|
+
description: nullableOptionalStringSchema,
|
|
50
112
|
});
|
|
51
|
-
|
|
113
|
+
const taxInvoiceBaseSchema = z.object({
|
|
52
114
|
date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
|
|
53
115
|
purpose: z.enum(['CLAIM', 'RECEIPT'], {
|
|
54
116
|
errorMap: () => ({ message: 'purpose는 CLAIM(청구용) 또는 RECEIPT(영수용)이어야 합니다' }),
|
|
@@ -59,20 +121,46 @@ export const createTaxInvoiceSchema = z.object({
|
|
|
59
121
|
.array(taxInvoiceItemSchema)
|
|
60
122
|
.min(1, '품목은 최소 1개 필수입니다')
|
|
61
123
|
.max(5, '품목은 최대 5개까지 가능합니다'),
|
|
62
|
-
description: z.string().max(200, '비고는 최대 200자입니다').optional(),
|
|
124
|
+
description: z.string().max(200, '비고는 최대 200자입니다').nullable().optional(),
|
|
125
|
+
});
|
|
126
|
+
export const createTaxInvoiceSchema = taxInvoiceBaseSchema.superRefine((data, ctx) => {
|
|
127
|
+
const suppliedIdentificationNumberType = classifySuppliedIdentificationNumber(data.supplied.identificationNumber);
|
|
128
|
+
if (suppliedIdentificationNumberType !== null &&
|
|
129
|
+
suppliedIdentificationNumberType !== 'BUSINESS_REGISTRATION_NUMBER' &&
|
|
130
|
+
data.supplied.taxRegistrationId != null) {
|
|
131
|
+
ctx.addIssue({
|
|
132
|
+
code: z.ZodIssueCode.custom,
|
|
133
|
+
path: ['supplied', 'taxRegistrationId'],
|
|
134
|
+
message: '공급받는자 식별번호가 사업자등록번호가 아닌 경우 종사업장번호(taxRegistrationId)는 null이어야 합니다',
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
if (suppliedIdentificationNumberType === 'FOREIGN_REGISTRATION_NUMBER' && data.description != null) {
|
|
138
|
+
ctx.addIssue({
|
|
139
|
+
code: z.ZodIssueCode.custom,
|
|
140
|
+
path: ['description'],
|
|
141
|
+
message: '공급받는자 식별번호가 외국인등록번호인 경우 세금계산서 비고(description)는 null이어야 합니다',
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
export const createTaxInvoiceIssueRequestSchema = taxInvoiceBaseSchema.superRefine((data, ctx) => {
|
|
146
|
+
const suppliedIdentificationNumberType = classifySuppliedIdentificationNumber(data.supplied.identificationNumber);
|
|
147
|
+
if (suppliedIdentificationNumberType !== null &&
|
|
148
|
+
suppliedIdentificationNumberType !== 'BUSINESS_REGISTRATION_NUMBER') {
|
|
149
|
+
ctx.addIssue({
|
|
150
|
+
code: z.ZodIssueCode.custom,
|
|
151
|
+
path: ['supplied', 'identificationNumber'],
|
|
152
|
+
message: '역발행 시 공급받는자 식별번호는 사업자등록번호(10자리)만 허용됩니다',
|
|
153
|
+
});
|
|
154
|
+
}
|
|
63
155
|
});
|
|
64
156
|
// ========================
|
|
65
|
-
//
|
|
157
|
+
// Supplier Schemas
|
|
66
158
|
// ========================
|
|
67
|
-
export const
|
|
159
|
+
export const createSupplierSchema = z.object({
|
|
68
160
|
identificationNumber: businessIdentificationNumberSchema,
|
|
69
161
|
organizationName: z.string().min(1, '상호명은 필수입니다').max(100),
|
|
70
162
|
representativeName: z.string().min(1, '대표자명은 필수입니다').max(50),
|
|
71
|
-
taxRegistrationId:
|
|
72
|
-
.string()
|
|
73
|
-
.regex(/^\d{4}$/, '종사업장번호는 4자리 숫자여야 합니다')
|
|
74
|
-
.refine((val) => val !== '0000', '종사업장번호는 0000일 수 없습니다')
|
|
75
|
-
.optional(),
|
|
163
|
+
taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
|
|
76
164
|
});
|
|
77
165
|
// ========================
|
|
78
166
|
// Amendment Schemas
|
|
@@ -95,18 +183,19 @@ export const amendChangeSupplyCostSchema = z.object({
|
|
|
95
183
|
// JSON Schema Export (for `bolta schema` command)
|
|
96
184
|
// ========================
|
|
97
185
|
export const jsonSchemas = {
|
|
98
|
-
'
|
|
186
|
+
'supplier-create': {
|
|
99
187
|
type: 'object',
|
|
100
188
|
required: ['identificationNumber', 'organizationName', 'representativeName'],
|
|
101
189
|
properties: {
|
|
102
190
|
identificationNumber: { type: 'string', description: '사업자등록번호 (10자리, 하이픈 허용)', example: '1234567890' },
|
|
103
191
|
organizationName: { type: 'string', description: '상호명', example: '주식회사 테스트' },
|
|
104
192
|
representativeName: { type: 'string', description: '대표자명', example: '홍길동' },
|
|
105
|
-
taxRegistrationId: { type: 'string', description: '종사업장번호 (4자리, 선택)', example: '0001' },
|
|
193
|
+
taxRegistrationId: { type: 'string', nullable: true, description: '종사업장번호 (4자리, 선택)', example: '0001' },
|
|
106
194
|
},
|
|
107
195
|
},
|
|
108
196
|
'invoice-issue': {
|
|
109
197
|
type: 'object',
|
|
198
|
+
description: '세금계산서 정발행 스키마. 공급받는자 외국인등록번호는 정발행만 지원하며, 여권번호는 지원하지 않습니다.',
|
|
110
199
|
required: ['date', 'purpose', 'supplier', 'supplied', 'items'],
|
|
111
200
|
properties: {
|
|
112
201
|
date: { type: 'string', format: 'date', description: '작성일자 (YYYY-MM-DD)' },
|
|
@@ -119,17 +208,17 @@ export const jsonSchemas = {
|
|
|
119
208
|
identificationNumber: { type: 'string', description: '사업자등록번호 (10자리)' },
|
|
120
209
|
organizationName: { type: 'string', description: '상호명' },
|
|
121
210
|
representativeName: { type: 'string', description: '대표자명' },
|
|
122
|
-
address: { type: 'string', description: '주소 (선택)' },
|
|
123
|
-
businessType: { type: 'string', description: '업태 (선택)' },
|
|
124
|
-
businessItem: { type: 'string', description: '종목 (선택)' },
|
|
125
|
-
taxRegistrationId: { type: 'string', description: '종사업장번호 (선택)' },
|
|
211
|
+
address: { type: 'string', nullable: true, description: '주소 (선택)' },
|
|
212
|
+
businessType: { type: 'string', nullable: true, description: '업태 (선택)' },
|
|
213
|
+
businessItem: { type: 'string', nullable: true, description: '종목 (선택)' },
|
|
214
|
+
taxRegistrationId: { type: 'string', nullable: true, description: '종사업장번호 (4자리, 선택)' },
|
|
126
215
|
manager: {
|
|
127
216
|
type: 'object',
|
|
128
217
|
required: ['email'],
|
|
129
218
|
properties: {
|
|
130
219
|
email: { type: 'string', description: '담당자 이메일 (필수)' },
|
|
131
|
-
name: { type: 'string', description: '담당자 이름 (선택)' },
|
|
132
|
-
telephone: { type: 'string', description: '담당자 전화번호 (선택)' },
|
|
220
|
+
name: { type: 'string', nullable: true, description: '담당자 이름 (선택)' },
|
|
221
|
+
telephone: { type: 'string', nullable: true, description: '담당자 전화번호 (선택)' },
|
|
133
222
|
},
|
|
134
223
|
},
|
|
135
224
|
},
|
|
@@ -139,13 +228,20 @@ export const jsonSchemas = {
|
|
|
139
228
|
required: ['identificationNumber', 'organizationName', 'representativeName', 'managers'],
|
|
140
229
|
description: '공급받는자 정보',
|
|
141
230
|
properties: {
|
|
142
|
-
identificationNumber: {
|
|
231
|
+
identificationNumber: {
|
|
232
|
+
type: 'string',
|
|
233
|
+
description: '사업자등록번호(10자리), 주민등록번호 규칙 13자리 또는 외국인등록번호 규칙 13자리',
|
|
234
|
+
},
|
|
143
235
|
organizationName: { type: 'string', description: '상호명' },
|
|
144
236
|
representativeName: { type: 'string', description: '대표자명' },
|
|
145
|
-
address: { type: 'string', description: '주소 (선택)' },
|
|
146
|
-
businessType: { type: 'string', description: '업태 (선택)' },
|
|
147
|
-
businessItem: { type: 'string', description: '종목 (선택)' },
|
|
148
|
-
taxRegistrationId: {
|
|
237
|
+
address: { type: 'string', nullable: true, description: '주소 (선택)' },
|
|
238
|
+
businessType: { type: 'string', nullable: true, description: '업태 (선택)' },
|
|
239
|
+
businessItem: { type: 'string', nullable: true, description: '종목 (선택)' },
|
|
240
|
+
taxRegistrationId: {
|
|
241
|
+
type: 'string',
|
|
242
|
+
nullable: true,
|
|
243
|
+
description: '종사업장번호 (사업자등록번호 공급받는자만 선택)',
|
|
244
|
+
},
|
|
149
245
|
managers: {
|
|
150
246
|
type: 'array',
|
|
151
247
|
minItems: 1,
|
|
@@ -155,8 +251,8 @@ export const jsonSchemas = {
|
|
|
155
251
|
required: ['email'],
|
|
156
252
|
properties: {
|
|
157
253
|
email: { type: 'string', description: '담당자 이메일 (필수)' },
|
|
158
|
-
name: { type: 'string', description: '담당자 이름 (선택)' },
|
|
159
|
-
telephone: { type: 'string', description: '담당자 전화번호 (선택)' },
|
|
254
|
+
name: { type: 'string', nullable: true, description: '담당자 이름 (선택)' },
|
|
255
|
+
telephone: { type: 'string', nullable: true, description: '담당자 전화번호 (선택)' },
|
|
160
256
|
},
|
|
161
257
|
},
|
|
162
258
|
},
|
|
@@ -174,15 +270,20 @@ export const jsonSchemas = {
|
|
|
174
270
|
date: { type: 'string', format: 'date', description: '공급일자 (YYYY-MM-DD)' },
|
|
175
271
|
name: { type: 'string', maxLength: 80, description: '품목명' },
|
|
176
272
|
supplyCost: { type: 'integer', minimum: 1, description: '공급가액' },
|
|
177
|
-
unitPrice: { type: 'integer', description: '단가 (선택)' },
|
|
178
|
-
quantity: { type: 'integer', description: '수량 (선택)' },
|
|
273
|
+
unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
|
|
274
|
+
quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
|
|
179
275
|
tax: { type: 'integer', nullable: true, description: '세액 (null이면 면세)' },
|
|
180
|
-
specification: { type: 'string', description: '규격 (선택)' },
|
|
181
|
-
description: { type: 'string', description: '비고 (선택)' },
|
|
276
|
+
specification: { type: 'string', nullable: true, description: '규격 (선택)' },
|
|
277
|
+
description: { type: 'string', nullable: true, description: '품목 비고 (선택)' },
|
|
182
278
|
},
|
|
183
279
|
},
|
|
184
280
|
},
|
|
185
|
-
description: {
|
|
281
|
+
description: {
|
|
282
|
+
type: 'string',
|
|
283
|
+
nullable: true,
|
|
284
|
+
maxLength: 200,
|
|
285
|
+
description: '세금계산서 비고 (선택, 외국인등록번호 공급받는자 정발행 시 null 또는 미입력)',
|
|
286
|
+
},
|
|
186
287
|
},
|
|
187
288
|
},
|
|
188
289
|
'amend-termination': {
|
|
@@ -219,9 +320,11 @@ export const jsonSchemas = {
|
|
|
219
320
|
description: '이 커맨드는 입력 데이터가 필요하지 않습니다. issuanceKey만 경로 파라미터로 전달됩니다.',
|
|
220
321
|
},
|
|
221
322
|
};
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
323
|
+
const invoiceIssueRequestJsonSchema = JSON.parse(JSON.stringify(jsonSchemas['invoice-issue']));
|
|
324
|
+
invoiceIssueRequestJsonSchema.description =
|
|
325
|
+
'세금계산서 역발행 요청 스키마. 공급받는자 식별번호는 사업자등록번호(10자리)만 허용합니다.';
|
|
326
|
+
invoiceIssueRequestJsonSchema.properties.description.description = '세금계산서 비고 (선택)';
|
|
327
|
+
invoiceIssueRequestJsonSchema.properties.supplied.properties.identificationNumber.description =
|
|
328
|
+
'사업자등록번호 (10자리, 역발행은 주민등록번호와 외국인등록번호 미지원)';
|
|
329
|
+
jsonSchemas['invoice-issue-request'] = invoiceIssueRequestJsonSchema;
|
|
227
330
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2BAA2B;AAC3B,iBAAiB;AACjB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAOH,MAAM,gCAAgC,GAAG,eAAe,CAAC;AAEzD,SAAS,6BAA6B,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC;AACzG,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,WAAmB;IAClE,MAAM,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,gCAAgC,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,uBAAuB,GAA2B;QACtD,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV,CAAC;IACF,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,WAAW,KAAK,SAAS,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,gCAAgC,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,uBAAuB,GAA2B;QACtD,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV,CAAC;IACF,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,WAAW,KAAK,SAAS,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,oCAAoC,CAAC,KAAa;IACzD,IAAI,4BAA4B,CAAC,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAC;IAC/E,IAAI,4BAA4B,CAAC,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAC;IAC/E,IAAI,2BAA2B,CAAC,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,kCAAkC,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,SAAS,CAAC,6BAA6B,CAAC;KACxC,IAAI,CACH,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,oCAAoC,CAAC,GAAG,CAAC,KAAK,IAAI,EAC3D,kDAAkD,CACnD,CACF,CAAC;AAEJ,MAAM,kCAAkC,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,SAAS,CAAC,6BAA6B,CAAC;KACxC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAEhE,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEtE,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACxC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAE3D,2BAA2B;AAC3B,sBAAsB;AACtB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,oBAAoB,EAAE,kCAAkC;IACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;IACjD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;IACpD,OAAO,EAAE,4BAA4B;IACrC,YAAY,EAAE,4BAA4B;IAC1C,YAAY,EAAE,4BAA4B;IAC1C,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChE,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,oBAAoB,EAAE,kCAAkC;IACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;IACjD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;IACpD,OAAO,EAAE,4BAA4B;IACrC,YAAY,EAAE,4BAA4B;IAC1C,YAAY,EAAE,4BAA4B;IAC1C,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;CACpF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,aAAa,EAAE,4BAA4B;IAC3C,WAAW,EAAE,4BAA4B;CAC1C,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QACpC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;KAC5E,CAAC;IACF,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;SACzB,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,gCAAgC,GAAG,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAElH,IACE,gCAAgC,KAAK,IAAI;QACzC,gCAAgC,KAAK,8BAA8B;QACnE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,EACvC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;YACvC,OAAO,EAAE,mEAAmE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,gCAAgC,KAAK,6BAA6B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QACnG,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,OAAO,EAAE,4DAA4D;SACtE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC/F,MAAM,gCAAgC,GAAG,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAElH,IACE,gCAAgC,KAAK,IAAI;QACzC,gCAAgC,KAAK,8BAA8B,EACnE,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,sBAAsB,CAAC;YAC1C,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,mBAAmB;AACnB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,oBAAoB,EAAE,kCAAkC;IACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5D,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACjE,CAAC,CAAC;AAEH,2BAA2B;AAC3B,oBAAoB;AACpB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzE,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,yBAAyB,CAAC;SAChC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;SACzB,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC,CAAC;AAEH,2BAA2B;AAC3B,kDAAkD;AAClD,2BAA2B;AAE3B,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;QAC5E,UAAU,EAAE;YACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,YAAY,EAAE;YACtG,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE;YAC7E,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3E,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE;SACxG;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,2DAA2D;QAC7D,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;QAC9D,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE;YAC1E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;YACvG,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,SAAS,CAAC;gBACvF,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;oBACvE,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;oBACxD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACnE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACxE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACxE,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBACtF,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,OAAO,CAAC;wBACnB,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;4BACtD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;4BACpE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;yBAC5E;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,UAAU,CAAC;gBACxF,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE;oBACV,oBAAoB,EAAE;wBACpB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;oBACxD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACnE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACxE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACxE,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,4BAA4B;qBAC1C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,CAAC,OAAO,CAAC;4BACnB,UAAU,EAAE;gCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gCACtD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;gCACpE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;6BAC5E;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,cAAc;gBAC3B,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;oBACxC,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE;wBAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;wBAC3D,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;wBAChE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACrE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE;wBACvE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACzE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE;qBAC3E;iBACF;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,gDAAgD;aAC9D;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE;SAC7E;KACF;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;YACzE,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;oBACxC,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;wBAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;wBAC5C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE;wBACrE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;qBACjD;iBACF;aACF;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,wDAAwD;KACtE;CACF,CAAC;AAEF,MAAM,6BAA6B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAc5F,CAAC;AAEF,6BAA6B,CAAC,WAAW;IACvC,qDAAqD,CAAC;AACxD,6BAA6B,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AACnF,6BAA6B,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW;IAC3F,0CAA0C,CAAC;AAC7C,WAAW,CAAC,uBAAuB,CAAC,GAAG,6BAA6B,CAAC"}
|
package/llms.txt
CHANGED
|
@@ -9,21 +9,23 @@ AI 에이전트(Claude Code 등)가 세금계산서 업무를 자동화할 때
|
|
|
9
9
|
|
|
10
10
|
환경변수로 설정:
|
|
11
11
|
- BOLTA_API_KEY: API 키 (test_ 접두사: 샌드박스, live_ 접두사: 프로덕션)
|
|
12
|
-
-
|
|
12
|
+
- BOLTA_SUPPLIER_KEY: 공급자 키 (세금계산서 발행 시 필요)
|
|
13
13
|
|
|
14
14
|
또는 CLI로 설정:
|
|
15
15
|
- bolta config set api-key <value>
|
|
16
|
-
- bolta config set
|
|
16
|
+
- bolta config set supplier-key <value>
|
|
17
17
|
|
|
18
18
|
## 핵심 개념
|
|
19
19
|
|
|
20
|
-
###
|
|
21
|
-
|
|
22
|
-
- 형식:
|
|
23
|
-
- 획득: 공급자의 사업자 정보로 bolta
|
|
24
|
-
- 설정:
|
|
20
|
+
### Supplier Key
|
|
21
|
+
supplierKey는 세금계산서를 발행하는 공급자 본인을 식별하는 키입니다.
|
|
22
|
+
- 형식: SupplierKey_ 접두사 문자열 (예: SupplierKey_bf8paz)
|
|
23
|
+
- 획득: 공급자의 사업자 정보로 bolta supplier create 호출 → 응답의 supplierKey
|
|
24
|
+
- 설정: BOLTA_SUPPLIER_KEY 환경변수, --supplier-key 플래그, 또는 bolta config set supplier-key
|
|
25
25
|
- API 키(test_/live_) 단위로 독립 관리. 상호 호환 안 됨
|
|
26
|
-
주의:
|
|
26
|
+
주의: Supplier-Key는 공급자(발행자) 본인의 키입니다. 세금계산서를 받는 거래처(공급받는자)의 정보는 Supplier-Key 헤더가 아니라 요청 본문의 supplied 필드에 포함합니다.
|
|
27
|
+
|
|
28
|
+
참고: 구 명칭(customer)은 deprecated이며 당분간 동작합니다. `bolta customer ...`, `--customer-key`, `BOLTA_CUSTOMER_KEY`, `config set customer-key` 사용 시 경고가 출력됩니다.
|
|
27
29
|
|
|
28
30
|
### 요금
|
|
29
31
|
Bolta API는 사전 충전 포인트 차감 방식 유료 서비스입니다.
|
|
@@ -33,45 +35,49 @@ Bolta API는 사전 충전 포인트 차감 방식 유료 서비스입니다.
|
|
|
33
35
|
- 포인트 충전: https://developers.bolta.io 개발자센터
|
|
34
36
|
|
|
35
37
|
### 개념 안내 커맨드
|
|
36
|
-
bolta guide 주요 개념 안내 (
|
|
38
|
+
bolta guide 주요 개념 안내 (supplier-key, payment, workflow, glossary)
|
|
37
39
|
|
|
38
40
|
## Commands
|
|
39
41
|
|
|
40
|
-
###
|
|
42
|
+
### Supplier Management
|
|
41
43
|
|
|
42
|
-
bolta
|
|
43
|
-
|
|
44
|
+
bolta supplier create --data '<json>'
|
|
45
|
+
공급자 생성. 필수: identificationNumber(10자리), organizationName, representativeName
|
|
44
46
|
|
|
45
|
-
bolta
|
|
46
|
-
|
|
47
|
+
bolta supplier get <supplierKey>
|
|
48
|
+
공급자 조회.
|
|
47
49
|
|
|
48
50
|
### Certificate Management
|
|
49
51
|
|
|
50
|
-
bolta certificate url <
|
|
52
|
+
bolta certificate url <supplierKey>
|
|
51
53
|
공동인증서 등록 URL 조회.
|
|
52
54
|
|
|
53
|
-
bolta certificate status <
|
|
55
|
+
bolta certificate status <supplierKey>
|
|
54
56
|
인증서 등록 내역 조회.
|
|
55
57
|
|
|
56
|
-
bolta certificate deregister <
|
|
58
|
+
bolta certificate deregister <supplierKey>
|
|
57
59
|
인증서 등록 해제.
|
|
58
60
|
|
|
61
|
+
deprecated CustomerKey_ 키도 인증서 명령에서 당분간 사용할 수 있습니다.
|
|
62
|
+
|
|
59
63
|
### Tax Invoice
|
|
60
64
|
|
|
61
|
-
bolta invoice issue --data '<json>' [--reference-id <id>] [--
|
|
65
|
+
bolta invoice issue --data '<json>' [--reference-id <id>] [--supplier-key <key>]
|
|
62
66
|
세금계산서 정발행. 필수 필드:
|
|
63
67
|
- date (YYYY-MM-DD)
|
|
64
68
|
- purpose (CLAIM | RECEIPT)
|
|
65
69
|
- supplier: {identificationNumber, organizationName, representativeName, manager: {email}}
|
|
66
70
|
- supplied: {identificationNumber, organizationName, representativeName, managers: [{email}]}
|
|
67
71
|
- items: [{date, name, supplyCost}] (1~5개)
|
|
72
|
+
- supplied.identificationNumber: 사업자등록번호 10자리, 주민등록번호 규칙 13자리, 외국인등록번호 규칙 13자리 허용
|
|
68
73
|
선택 필드:
|
|
69
74
|
- supplier/supplied: address, businessType, businessItem, taxRegistrationId
|
|
70
75
|
- items: unitPrice, quantity, tax (null=면세), specification, description
|
|
71
76
|
- description (최대 200자)
|
|
77
|
+
외국인등록번호 공급받는자는 정발행만 지원. 이 경우 supplied.taxRegistrationId와 최상위 description은 null/미입력이어야 함. 여권번호는 미지원.
|
|
72
78
|
|
|
73
|
-
bolta invoice issue-request --data '<json>' [--reference-id <id>] [--
|
|
74
|
-
세금계산서 역발행 요청.
|
|
79
|
+
bolta invoice issue-request --data '<json>' [--reference-id <id>] [--supplier-key <key>]
|
|
80
|
+
세금계산서 역발행 요청. supplied.identificationNumber는 사업자등록번호 10자리만 허용.
|
|
75
81
|
|
|
76
82
|
bolta invoice get <issuanceKey>
|
|
77
83
|
세금계산서 조회. 국세청 승인번호(ntsTransactionId) 포함.
|
|
@@ -79,16 +85,16 @@ bolta invoice get <issuanceKey>
|
|
|
79
85
|
bolta invoice status --reference-id <id>
|
|
80
86
|
Client-Reference-Id로 세금계산서 상태 조회.
|
|
81
87
|
|
|
82
|
-
bolta invoice amend termination <issuanceKey> --date <YYYY-MM-DD> [--
|
|
88
|
+
bolta invoice amend termination <issuanceKey> --date <YYYY-MM-DD> [--supplier-key <key>]
|
|
83
89
|
수정발행: 계약 해제.
|
|
84
90
|
|
|
85
|
-
bolta invoice amend change-supply-cost <issuanceKey> --data '<json>' [--
|
|
91
|
+
bolta invoice amend change-supply-cost <issuanceKey> --data '<json>' [--supplier-key <key>]
|
|
86
92
|
수정발행: 공급가액 변동. JSON: {date, items: [{date, name, supplyCost, tax?}]}
|
|
87
93
|
|
|
88
94
|
### Configuration
|
|
89
95
|
|
|
90
96
|
bolta config set <key> <value>
|
|
91
|
-
설정 저장. key: api-key,
|
|
97
|
+
설정 저장. key: api-key, supplier-key, base-url
|
|
92
98
|
|
|
93
99
|
bolta config show
|
|
94
100
|
현재 설정 확인.
|
|
@@ -100,7 +106,7 @@ bolta config test
|
|
|
100
106
|
|
|
101
107
|
bolta examples [command]
|
|
102
108
|
샘플 JSON 출력. command 없이 실행하면 목록 표시.
|
|
103
|
-
사용 가능:
|
|
109
|
+
사용 가능: supplier-create, invoice-issue, invoice-issue-foreign-supplied, invoice-issue-request, amend-termination, amend-change-supply-cost
|
|
104
110
|
|
|
105
111
|
bolta schema [command]
|
|
106
112
|
입력 JSON 스키마 출력. command 없이 실행하면 목록 표시.
|
|
@@ -108,7 +114,7 @@ bolta schema [command]
|
|
|
108
114
|
## Global Options
|
|
109
115
|
|
|
110
116
|
--api-key <key> API 키 오버라이드
|
|
111
|
-
--
|
|
117
|
+
--supplier-key <key> Supplier Key 오버라이드
|
|
112
118
|
--verbose 상세 로그 (stderr)
|
|
113
119
|
--dry-run API 호출 없이 요청 데이터만 출력
|
|
114
120
|
|
|
@@ -125,7 +131,7 @@ bolta schema [command]
|
|
|
125
131
|
|
|
126
132
|
## Common Workflow
|
|
127
133
|
|
|
128
|
-
1. bolta
|
|
129
|
-
2. bolta certificate status <
|
|
134
|
+
1. bolta supplier create --data '{"identificationNumber":"1234567890","organizationName":"회사명","representativeName":"대표자"}'
|
|
135
|
+
2. bolta certificate status <supplierKey>
|
|
130
136
|
3. bolta invoice issue --data '<세금계산서 JSON>'
|
|
131
137
|
4. bolta invoice get <issuanceKey>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bolta-io/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Bolta API CLI for Korean electronic tax invoices (전자세금계산서)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/bin",
|
|
11
11
|
"dist/src",
|
|
12
|
+
"CHANGELOG.md",
|
|
12
13
|
"CLAUDE.md",
|
|
13
14
|
"llms.txt",
|
|
14
15
|
"README.md"
|
|
@@ -21,6 +22,9 @@
|
|
|
21
22
|
"test": "vitest run",
|
|
22
23
|
"test:watch": "vitest",
|
|
23
24
|
"lint": "tsc --noEmit",
|
|
25
|
+
"changeset": "changeset",
|
|
26
|
+
"release:version": "changeset version && npm install --package-lock-only --ignore-scripts",
|
|
27
|
+
"release:publish": "npm run build && npm publish --access=public",
|
|
24
28
|
"prepublishOnly": "npm run build"
|
|
25
29
|
},
|
|
26
30
|
"engines": {
|
|
@@ -49,6 +53,7 @@
|
|
|
49
53
|
"zod": "^3.24.0"
|
|
50
54
|
},
|
|
51
55
|
"devDependencies": {
|
|
56
|
+
"@changesets/cli": "^2.31.0",
|
|
52
57
|
"@types/node": "^22.10.0",
|
|
53
58
|
"esbuild": "^0.27.4",
|
|
54
59
|
"tsx": "^4.19.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/customer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B/D"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { createCustomerAction } from './create.js';
|
|
2
|
-
import { getCustomerAction } from './get.js';
|
|
3
|
-
export function registerCustomerCommands(program) {
|
|
4
|
-
const customer = program.command('customer').description('고객(Customer) 관리');
|
|
5
|
-
customer
|
|
6
|
-
.command('create')
|
|
7
|
-
.description('고객 생성 (POST /v1/customers)')
|
|
8
|
-
.option('--data <json>', '인라인 JSON 데이터')
|
|
9
|
-
.option('--file <path>', 'JSON 파일 경로')
|
|
10
|
-
.option('--stdin', '표준 입력에서 읽기')
|
|
11
|
-
.addHelpText('after', `
|
|
12
|
-
Example:
|
|
13
|
-
bolta customer create --data '{
|
|
14
|
-
"identificationNumber": "1234567890",
|
|
15
|
-
"organizationName": "주식회사 테스트",
|
|
16
|
-
"representativeName": "홍길동"
|
|
17
|
-
}'
|
|
18
|
-
|
|
19
|
-
bolta customer create --file customer.json`)
|
|
20
|
-
.action(createCustomerAction);
|
|
21
|
-
customer
|
|
22
|
-
.command('get <customerKey>')
|
|
23
|
-
.description('고객 조회 (GET /v1/customers/{customerKey})')
|
|
24
|
-
.addHelpText('after', `
|
|
25
|
-
Example:
|
|
26
|
-
bolta customer get customer_bf8paz`)
|
|
27
|
-
.action(getCustomerAction);
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/customer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE5E,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;SACvC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC;SACrC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;SAC/B,WAAW,CAAC,OAAO,EAAE;;;;;;;;6CAQmB,CAAC;SACzC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhC,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,yCAAyC,CAAC;SACtD,WAAW,CAAC,OAAO,EAAE;;qCAEW,CAAC;SACjC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC/B,CAAC"}
|