@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.
Files changed (120) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/CLAUDE.md +43 -24
  3. package/README.md +54 -22
  4. package/dist/bin/bolta.js +29 -30
  5. package/dist/bin/bolta.js.map +1 -1
  6. package/dist/src/client/bolta-client.d.ts +26 -19
  7. package/dist/src/client/bolta-client.d.ts.map +1 -1
  8. package/dist/src/client/bolta-client.js +71 -48
  9. package/dist/src/client/bolta-client.js.map +1 -1
  10. package/dist/src/commands/cash-receipt/cancel.d.ts +5 -0
  11. package/dist/src/commands/cash-receipt/cancel.d.ts.map +1 -0
  12. package/dist/src/commands/cash-receipt/cancel.js +27 -0
  13. package/dist/src/commands/cash-receipt/cancel.js.map +1 -0
  14. package/dist/src/commands/cash-receipt/index.d.ts +3 -0
  15. package/dist/src/commands/cash-receipt/index.d.ts.map +1 -0
  16. package/dist/src/commands/cash-receipt/index.js +63 -0
  17. package/dist/src/commands/cash-receipt/index.js.map +1 -0
  18. package/dist/src/commands/cash-receipt/issue.d.ts +8 -0
  19. package/dist/src/commands/cash-receipt/issue.d.ts.map +1 -0
  20. package/dist/src/commands/cash-receipt/issue.js +29 -0
  21. package/dist/src/commands/cash-receipt/issue.js.map +1 -0
  22. package/dist/src/commands/cash-receipt/status.d.ts +5 -0
  23. package/dist/src/commands/cash-receipt/status.d.ts.map +1 -0
  24. package/dist/src/commands/cash-receipt/status.js +17 -0
  25. package/dist/src/commands/cash-receipt/status.js.map +1 -0
  26. package/dist/src/commands/certificate/index.d.ts.map +1 -1
  27. package/dist/src/commands/certificate/index.js +19 -42
  28. package/dist/src/commands/certificate/index.js.map +1 -1
  29. package/dist/src/commands/config/index.d.ts.map +1 -1
  30. package/dist/src/commands/config/index.js +17 -54
  31. package/dist/src/commands/config/index.js.map +1 -1
  32. package/dist/src/commands/examples/index.d.ts.map +1 -1
  33. package/dist/src/commands/examples/index.js +73 -9
  34. package/dist/src/commands/examples/index.js.map +1 -1
  35. package/dist/src/commands/guide/index.d.ts.map +1 -1
  36. package/dist/src/commands/guide/index.js +71 -27
  37. package/dist/src/commands/guide/index.js.map +1 -1
  38. package/dist/src/commands/invoice/amend.d.ts.map +1 -1
  39. package/dist/src/commands/invoice/amend.js +9 -30
  40. package/dist/src/commands/invoice/amend.js.map +1 -1
  41. package/dist/src/commands/invoice/get.d.ts.map +1 -1
  42. package/dist/src/commands/invoice/get.js +2 -7
  43. package/dist/src/commands/invoice/get.js.map +1 -1
  44. package/dist/src/commands/invoice/index.js +1 -1
  45. package/dist/src/commands/invoice/issue-request.d.ts.map +1 -1
  46. package/dist/src/commands/invoice/issue-request.js +3 -15
  47. package/dist/src/commands/invoice/issue-request.js.map +1 -1
  48. package/dist/src/commands/invoice/issue.d.ts.map +1 -1
  49. package/dist/src/commands/invoice/issue.js +3 -15
  50. package/dist/src/commands/invoice/issue.js.map +1 -1
  51. package/dist/src/commands/invoice/status.d.ts.map +1 -1
  52. package/dist/src/commands/invoice/status.js +2 -7
  53. package/dist/src/commands/invoice/status.js.map +1 -1
  54. package/dist/src/commands/issuer/create.d.ts +4 -0
  55. package/dist/src/commands/issuer/create.d.ts.map +1 -0
  56. package/dist/src/commands/issuer/create.js +24 -0
  57. package/dist/src/commands/issuer/create.js.map +1 -0
  58. package/dist/src/commands/issuer/get.d.ts +3 -0
  59. package/dist/src/commands/issuer/get.d.ts.map +1 -0
  60. package/dist/src/commands/issuer/get.js +14 -0
  61. package/dist/src/commands/issuer/get.js.map +1 -0
  62. package/dist/src/commands/issuer/index.d.ts +3 -0
  63. package/dist/src/commands/issuer/index.d.ts.map +1 -0
  64. package/dist/src/commands/issuer/index.js +31 -0
  65. package/dist/src/commands/issuer/index.js.map +1 -0
  66. package/dist/src/commands/schema/index.d.ts.map +1 -1
  67. package/dist/src/commands/schema/index.js +4 -4
  68. package/dist/src/commands/schema/index.js.map +1 -1
  69. package/dist/src/commands/supplier/legacy.d.ts +3 -0
  70. package/dist/src/commands/supplier/legacy.d.ts.map +1 -0
  71. package/dist/src/commands/supplier/legacy.js +75 -0
  72. package/dist/src/commands/supplier/legacy.js.map +1 -0
  73. package/dist/src/config/config-manager.d.ts +7 -9
  74. package/dist/src/config/config-manager.d.ts.map +1 -1
  75. package/dist/src/config/config-manager.js +28 -48
  76. package/dist/src/config/config-manager.js.map +1 -1
  77. package/dist/src/types/api.d.ts +86 -7
  78. package/dist/src/types/api.d.ts.map +1 -1
  79. package/dist/src/utils/client.d.ts +10 -7
  80. package/dist/src/utils/client.d.ts.map +1 -1
  81. package/dist/src/utils/client.js +26 -10
  82. package/dist/src/utils/client.js.map +1 -1
  83. package/dist/src/utils/errors.d.ts +2 -2
  84. package/dist/src/utils/errors.d.ts.map +1 -1
  85. package/dist/src/utils/errors.js +4 -4
  86. package/dist/src/utils/errors.js.map +1 -1
  87. package/dist/src/utils/legacy-issuer.d.ts +28 -0
  88. package/dist/src/utils/legacy-issuer.d.ts.map +1 -0
  89. package/dist/src/utils/legacy-issuer.js +45 -0
  90. package/dist/src/utils/legacy-issuer.js.map +1 -0
  91. package/dist/src/utils/output.d.ts +7 -3
  92. package/dist/src/utils/output.d.ts.map +1 -1
  93. package/dist/src/utils/output.js +14 -4
  94. package/dist/src/utils/output.js.map +1 -1
  95. package/dist/src/validators/parse.d.ts +3 -0
  96. package/dist/src/validators/parse.d.ts.map +1 -0
  97. package/dist/src/validators/parse.js +15 -0
  98. package/dist/src/validators/parse.js.map +1 -0
  99. package/dist/src/validators/schemas.d.ts +182 -1
  100. package/dist/src/validators/schemas.d.ts.map +1 -1
  101. package/dist/src/validators/schemas.js +230 -7
  102. package/dist/src/validators/schemas.js.map +1 -1
  103. package/llms.txt +47 -34
  104. package/package.json +4 -2
  105. package/dist/src/commands/supplier/create.d.ts +0 -4
  106. package/dist/src/commands/supplier/create.d.ts.map +0 -1
  107. package/dist/src/commands/supplier/create.js +0 -40
  108. package/dist/src/commands/supplier/create.js.map +0 -1
  109. package/dist/src/commands/supplier/get.d.ts +0 -3
  110. package/dist/src/commands/supplier/get.d.ts.map +0 -1
  111. package/dist/src/commands/supplier/get.js +0 -19
  112. package/dist/src/commands/supplier/get.js.map +0 -1
  113. package/dist/src/commands/supplier/index.d.ts +0 -3
  114. package/dist/src/commands/supplier/index.d.ts.map +0 -1
  115. package/dist/src/commands/supplier/index.js +0 -56
  116. package/dist/src/commands/supplier/index.js.map +0 -1
  117. package/dist/src/commands/supplier/legacy-customer.d.ts +0 -5
  118. package/dist/src/commands/supplier/legacy-customer.d.ts.map +0 -1
  119. package/dist/src/commands/supplier/legacy-customer.js +0 -56
  120. package/dist/src/commands/supplier/legacy-customer.js.map +0 -1
@@ -1,27 +1,28 @@
1
- import { loadConfig, saveConfig, resolveApiKey, resolveBaseUrl, maskApiKey, resolveSupplierKeyWithSource, supplierKeySourceLabel, } from '../../config/config-manager.js';
2
- import { outputSuccess, outputError, deprecationWarning, warning } from '../../utils/output.js';
1
+ import { loadConfig, saveConfig, resolveApiKey, resolveBaseUrl, maskApiKey, } from '../../config/config-manager.js';
2
+ import { outputSuccess, outputError, legacyIssuerWarning } from '../../utils/output.js';
3
3
  import { BoltaClient } from '../../client/bolta-client.js';
4
4
  import { BoltaError, BoltaApiError } from '../../utils/errors.js';
5
- /** config set 시 supplierKey 값이 의심스러우면 stderr로 경고한다(하드 차단 아님). */
6
- function warnIfSuspiciousSupplierKey(value) {
5
+ function replaceLegacyIssuerKey(config, key, value) {
6
+ delete config.supplierKey;
7
+ delete config.customerKey;
7
8
  if (!value)
8
9
  return;
9
- if (/\s/.test(value)) {
10
- warning('supplierKey에 공백이 포함되어 있습니다. 복사 과정에서 섞이지 않았는지 확인하세요.');
10
+ legacyIssuerWarning(`'config set ${key}'`);
11
+ if (key === 'supplier-key') {
12
+ config.supplierKey = value;
11
13
  }
12
- if (!value.startsWith('SupplierKey_') && !value.startsWith('CustomerKey_')) {
13
- warning("supplierKey는 보통 'SupplierKey_'로 시작합니다. 올바른 값인지 확인하세요.");
14
+ else {
15
+ config.customerKey = value;
14
16
  }
15
17
  }
16
18
  export function registerConfigCommands(program) {
17
19
  const config = program.command('config').description('CLI 설정 관리');
18
20
  config
19
21
  .command('set <key> <value>')
20
- .description('설정값 저장 (api-key, supplier-key, base-url, update-check)')
22
+ .description('설정값 저장 (api-key, base-url, update-check)')
21
23
  .addHelpText('after', `
22
24
  Examples:
23
25
  bolta config set api-key test_your_key_here
24
- bolta config set supplier-key SupplierKey_abc123
25
26
  bolta config set base-url https://xapi.bolta.io/v1
26
27
  bolta config set update-check false`)
27
28
  .action(async (key, value) => {
@@ -34,16 +35,9 @@ Examples:
34
35
  current.apiKey = trimmedValue;
35
36
  break;
36
37
  case 'supplier-key':
37
- warnIfSuspiciousSupplierKey(trimmedValue);
38
- current.supplierKey = trimmedValue;
39
- // 구 필드가 남아있으면 정리
40
- delete current.customerKey;
41
- break;
42
38
  case 'customer-key':
43
- deprecationWarning("config의 'customer-key'는 'supplier-key'로 변경되었습니다.");
44
- warnIfSuspiciousSupplierKey(trimmedValue);
45
- current.supplierKey = trimmedValue;
46
- delete current.customerKey;
39
+ // 레거시 이름은 하나의 설정이다. 마지막으로 입력한 이름과 값만 보존한다.
40
+ replaceLegacyIssuerKey(current, key, trimmedValue);
47
41
  break;
48
42
  case 'base-url':
49
43
  current.baseUrl = trimmedValue;
@@ -55,7 +49,7 @@ Examples:
55
49
  current.updateCheck = value === 'true';
56
50
  break;
57
51
  default:
58
- throw new BoltaError(`알 수 없는 설정 키: ${key}`, 'CONFIG_ERROR', 'api-key, supplier-key, base-url, update-check 중 하나를 사용하세요.');
52
+ throw new BoltaError(`알 수 없는 설정 키: ${key}`, 'CONFIG_ERROR', 'api-key, base-url, update-check 중 하나를 사용하세요.');
59
53
  }
60
54
  saveConfig(current);
61
55
  outputSuccess({ key, message: '설정이 저장되었습니다.' });
@@ -70,17 +64,14 @@ Examples:
70
64
  .action(() => {
71
65
  try {
72
66
  const apiKey = resolveApiKey();
73
- const supplier = resolveSupplierKeyWithSource();
74
67
  const baseUrl = resolveBaseUrl();
75
68
  const savedConfig = loadConfig();
76
69
  outputSuccess({
77
70
  apiKey: apiKey ? maskApiKey(apiKey) : '(미설정)',
78
- supplierKey: supplier.value ? maskApiKey(supplier.value) : '(미설정)',
79
71
  baseUrl,
80
72
  updateCheck: savedConfig.updateCheck !== false,
81
73
  source: {
82
74
  apiKey: apiKey ? (process.env.BOLTA_API_KEY ? 'env' : 'config') : 'none',
83
- supplierKey: supplierKeySourceLabel(supplier.source),
84
75
  },
85
76
  });
86
77
  }
@@ -98,11 +89,11 @@ Examples:
98
89
  throw new BoltaError('API 키가 설정되지 않았습니다.', 'AUTH_ERROR', "BOLTA_API_KEY 환경변수를 설정하거나 'bolta config set api-key <key>'를 실행하세요.");
99
90
  }
100
91
  const client = new BoltaClient({ apiKey, baseUrl: resolveBaseUrl() });
101
- // 1) apiKey 인증 점검: 더미 supplierKey를 조회한다.
102
- // 서버는 존재하지 않는 supplierKey에 404 또는 403(유효하지 않은 supplierKey)을 반환하므로,
92
+ // API 인증 점검: 존재하지 않는 발급자를 조회한다.
93
+ // 서버는 404 또는 403을 반환하므로,
103
94
  // 인증 실패를 뜻하는 401은 AUTH_ERROR로, 403/404는 "인증됨"으로 판정한다.
104
95
  try {
105
- await client.getSupplier('__auth_probe__');
96
+ await client.getIssuer('__auth_probe__');
106
97
  }
107
98
  catch (err) {
108
99
  if (err instanceof BoltaApiError && err.statusCode === 401) {
@@ -113,37 +104,9 @@ Examples:
113
104
  throw err;
114
105
  }
115
106
  }
116
- // 2) supplierKey가 설정돼 있으면 이 API 키로 유효한지 실제 조회한다.
117
- const supplier = resolveSupplierKeyWithSource();
118
- let supplierKeyResult;
119
- if (!supplier.value) {
120
- supplierKeyResult = { configured: false };
121
- }
122
- else {
123
- const source = supplierKeySourceLabel(supplier.source);
124
- try {
125
- await client.getSupplier(supplier.value);
126
- supplierKeyResult = { configured: true, source, valid: true, message: 'supplierKey가 유효합니다.' };
127
- }
128
- catch (err) {
129
- if (err instanceof BoltaApiError && (err.statusCode === 403 || err.statusCode === 404)) {
130
- supplierKeyResult = {
131
- configured: true,
132
- source,
133
- valid: false,
134
- message: '이 API 키로는 존재하지 않거나 사용할 수 없는 supplierKey입니다. supplierKey는 test_/live_ 및 API 키마다 다릅니다. ' +
135
- '환경변수 BOLTA_SUPPLIER_KEY/BOLTA_CUSTOMER_KEY가 config를 덮고 있지 않은지 확인하세요.',
136
- };
137
- }
138
- else {
139
- throw err;
140
- }
141
- }
142
- }
143
107
  outputSuccess({
144
108
  authenticated: true,
145
109
  message: 'API 인증이 정상입니다.',
146
- supplierKey: supplierKeyResult,
147
110
  });
148
111
  }
149
112
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/examples/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiLpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/examples/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoPpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuD9D"}
@@ -1,4 +1,4 @@
1
- import { outputSuccess, outputError, resolveDeprecatedName } from '../../utils/output.js';
1
+ import { outputSuccess, outputError, resolveLegacyIssuerName, LEGACY_ISSUER_CREATE_ALIASES, } from '../../utils/output.js';
2
2
  import { BoltaError } from '../../utils/errors.js';
3
3
  function today() {
4
4
  return new Date().toISOString().slice(0, 10);
@@ -7,8 +7,8 @@ function buildExamples() {
7
7
  const d = today();
8
8
  const [year, month] = d.split('-');
9
9
  return {
10
- 'supplier-create': {
11
- description: '공급자 생성',
10
+ 'issuer-create': {
11
+ description: '발급자 등록',
12
12
  data: {
13
13
  identificationNumber: '1234567890',
14
14
  organizationName: '주식회사 테스트',
@@ -30,7 +30,7 @@ function buildExamples() {
30
30
  businessType: '서비스업',
31
31
  businessItem: '소프트웨어 개발',
32
32
  manager: {
33
- email: 'supplier@example.com',
33
+ email: 'seller@example.com',
34
34
  name: '김매니저',
35
35
  telephone: '010-1234-5678',
36
36
  },
@@ -80,7 +80,7 @@ function buildExamples() {
80
80
  businessType: '서비스업',
81
81
  businessItem: '소프트웨어 개발',
82
82
  manager: {
83
- email: 'supplier@example.com',
83
+ email: 'seller@example.com',
84
84
  name: '김매니저',
85
85
  telephone: null,
86
86
  },
@@ -126,7 +126,7 @@ function buildExamples() {
126
126
  identificationNumber: '1234567890',
127
127
  organizationName: '공급자 주식회사',
128
128
  representativeName: '김공급',
129
- manager: { email: 'supplier@example.com' },
129
+ manager: { email: 'seller@example.com' },
130
130
  },
131
131
  supplied: {
132
132
  identificationNumber: '0987654321',
@@ -144,6 +144,68 @@ function buildExamples() {
144
144
  ],
145
145
  },
146
146
  },
147
+ 'cash-receipt-issue': {
148
+ description: '현금영수증 발행 (휴대폰번호)',
149
+ data: {
150
+ itemName: '서비스 이용료',
151
+ issuer: {
152
+ businessRegistrationNumber: '5648102684',
153
+ organizationName: '(주) 볼타코퍼레이션',
154
+ representativeName: '이문혁',
155
+ telephone: '02-1234-5678',
156
+ },
157
+ recipient: {
158
+ type: 'PHONE',
159
+ value: '010-1234-5678',
160
+ },
161
+ amount: {
162
+ supplyAmount: 100,
163
+ vatAmount: 10,
164
+ taxFreeAmount: 0,
165
+ },
166
+ },
167
+ },
168
+ 'cash-receipt-issue-business': {
169
+ description: '현금영수증 발행 (사업자 지출증빙)',
170
+ data: {
171
+ itemName: '서비스 이용료',
172
+ issuer: {
173
+ businessRegistrationNumber: '5648102684',
174
+ organizationName: '(주) 볼타코퍼레이션',
175
+ representativeName: '이문혁',
176
+ telephone: '02-1234-5678',
177
+ },
178
+ recipient: {
179
+ type: 'BUSINESS_REGISTRATION_NUMBER',
180
+ value: '1234567891',
181
+ },
182
+ amount: {
183
+ supplyAmount: 100000,
184
+ vatAmount: 10000,
185
+ taxFreeAmount: 0,
186
+ },
187
+ },
188
+ },
189
+ 'cash-receipt-issue-self': {
190
+ description: '현금영수증 발행 (자진발급)',
191
+ data: {
192
+ itemName: '서비스 이용료',
193
+ issuer: {
194
+ businessRegistrationNumber: '5648102684',
195
+ organizationName: '(주) 볼타코퍼레이션',
196
+ representativeName: '이문혁',
197
+ telephone: '02-1234-5678',
198
+ },
199
+ recipient: {
200
+ type: 'SELF',
201
+ },
202
+ amount: {
203
+ supplyAmount: 100,
204
+ vatAmount: 10,
205
+ taxFreeAmount: 0,
206
+ },
207
+ },
208
+ },
147
209
  'amend-termination': {
148
210
  description: '수정발행: 계약 해제',
149
211
  data: {
@@ -177,10 +239,13 @@ export function registerExamplesCommand(program) {
177
239
  .description('샘플 JSON 데이터 출력 (AI 에이전트용)')
178
240
  .addHelpText('after', `
179
241
  Available examples:
180
- supplier-create 공급자 생성
242
+ issuer-create 발급자 등록
181
243
  invoice-issue 세금계산서 정발행
182
244
  invoice-issue-foreign-supplied 외국인등록번호 공급받는자 세금계산서 정발행
183
245
  invoice-issue-request 세금계산서 역발행 요청
246
+ cash-receipt-issue 현금영수증 발행 (휴대폰번호)
247
+ cash-receipt-issue-business 현금영수증 발행 (사업자 지출증빙)
248
+ cash-receipt-issue-self 현금영수증 발행 (자진발급)
184
249
  amend-termination 수정발행: 계약 해제
185
250
  amend-change-supply-cost 수정발행: 공급가액 변동
186
251
  amend-double-issuance 수정발행: 착오에 의한 이중발급
@@ -200,8 +265,7 @@ Examples:
200
265
  outputSuccess({ availableExamples: list });
201
266
  return;
202
267
  }
203
- // 하위호환: 예제명 'customer-create' → 'supplier-create'
204
- commandName = resolveDeprecatedName(commandName, { 'customer-create': 'supplier-create' }, '예제');
268
+ commandName = resolveLegacyIssuerName(commandName, LEGACY_ISSUER_CREATE_ALIASES, '예제');
205
269
  const example = examples[commandName];
206
270
  if (!example) {
207
271
  const available = Object.keys(examples).join(', ');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/examples/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,SAAS,KAAK;IACZ,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;IAClB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO;QACP,iBAAiB,EAAE;YACjB,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE;gBACJ,oBAAoB,EAAE,YAAY;gBAClC,gBAAgB,EAAE,UAAU;gBAC5B,kBAAkB,EAAE,KAAK;gBACzB,iBAAiB,EAAE,MAAM;aAC1B;SACF;QACD,eAAe,EAAE;YACf,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,oBAAoB,EAAE,YAAY;oBAClC,gBAAgB,EAAE,UAAU;oBAC5B,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,oBAAoB;oBAC7B,YAAY,EAAE,MAAM;oBACpB,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE;wBACP,KAAK,EAAE,sBAAsB;wBAC7B,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,eAAe;qBAC3B;iBACF;gBACD,QAAQ,EAAE;oBACR,oBAAoB,EAAE,YAAY;oBAClC,gBAAgB,EAAE,YAAY;oBAC9B,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,oBAAoB;oBAC7B,YAAY,EAAE,KAAK;oBACnB,YAAY,EAAE,MAAM;oBACpB,QAAQ,EAAE;wBACR;4BACE,KAAK,EAAE,mBAAmB;4BAC1B,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,eAAe;yBAC3B;qBACF;iBACF;gBACD,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,aAAa;wBACnB,UAAU,EAAE,OAAO;wBACnB,GAAG,EAAE,MAAM;wBACX,QAAQ,EAAE,CAAC;wBACX,SAAS,EAAE,OAAO;wBAClB,aAAa,EAAE,UAAU;wBACzB,WAAW,EAAE,UAAU;qBACxB;iBACF;gBACD,WAAW,EAAE,GAAG,IAAI,KAAK,KAAK,YAAY;aAC3C;SACF;QACD,gCAAgC,EAAE;YAChC,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,oBAAoB,EAAE,YAAY;oBAClC,iBAAiB,EAAE,IAAI;oBACvB,gBAAgB,EAAE,UAAU;oBAC5B,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,MAAM;oBACpB,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE;wBACP,KAAK,EAAE,sBAAsB;wBAC7B,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,IAAI;qBAChB;iBACF;gBACD,QAAQ,EAAE;oBACR,oBAAoB,EAAE,eAAe;oBACrC,iBAAiB,EAAE,IAAI;oBACvB,gBAAgB,EAAE,WAAW;oBAC7B,kBAAkB,EAAE,OAAO;oBAC3B,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,IAAI;oBAClB,YAAY,EAAE,IAAI;oBAClB,QAAQ,EAAE;wBACR;4BACE,KAAK,EAAE,mBAAmB;4BAC1B,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,IAAI;yBAChB;qBACF;iBACF;gBACD,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,aAAa;wBACnB,UAAU,EAAE,OAAO;wBACnB,GAAG,EAAE,MAAM;wBACX,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,IAAI;wBACf,aAAa,EAAE,IAAI;wBACnB,WAAW,EAAE,iBAAiB;qBAC/B;iBACF;gBACD,WAAW,EAAE,IAAI;aAClB;SACF;QACD,uBAAuB,EAAE;YACvB,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,oBAAoB,EAAE,YAAY;oBAClC,gBAAgB,EAAE,UAAU;oBAC5B,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE;iBAC3C;gBACD,QAAQ,EAAE;oBACR,oBAAoB,EAAE,YAAY;oBAClC,gBAAgB,EAAE,YAAY;oBAC9B,kBAAkB,EAAE,KAAK;oBACzB,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;iBAC3C;gBACD,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE,MAAM;wBAClB,GAAG,EAAE,KAAK;qBACX;iBACF;aACF;SACF;QACD,mBAAmB,EAAE;YACnB,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC;aACR;SACF;QACD,0BAA0B,EAAE;YAC1B,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,qBAAqB;wBAC3B,UAAU,EAAE,CAAC,MAAM;wBACnB,GAAG,EAAE,CAAC,KAAK;qBACZ;iBACF;aACF;SACF;QACD,uBAAuB,EAAE;YACvB,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,EAAE;SACT;KACA,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,2BAA2B,CAAC;SACxC,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;sDAY4B,CAAC;SAClD,MAAM,CAAC,CAAC,WAAoB,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;YAEjC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,8BAA8B;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,EAAE,CAAC,WAAW;iBAC5B,CAAC,CAAC,CAAC;gBACJ,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,oDAAoD;YACpD,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;YAEjG,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,IAAI,UAAU,CAClB,IAAI,WAAW,kBAAkB,EACjC,aAAa,EACb,cAAc,SAAS,EAAE,CAC1B,CAAC;YACJ,CAAC;YAED,aAAa,CAAC;gBACZ,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/examples/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/guide/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iBAAS,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAiEtD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoD3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/guide/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iBAAS,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA6GtD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwD3D"}
@@ -1,21 +1,22 @@
1
- import { outputSuccess, outputError, resolveDeprecatedName } from '../../utils/output.js';
1
+ import { outputSuccess, outputError, resolveLegacyIssuerName } from '../../utils/output.js';
2
2
  import { BoltaError } from '../../utils/errors.js';
3
3
  function buildGuideTopics() {
4
4
  return {
5
- 'supplier-key': {
6
- title: 'Supplier Key 이해하기',
7
- summary: 'supplierKey는 세금계산서를 발행하는 공급자 본인을 식별하는 키입니다.',
5
+ issuer: {
6
+ title: '발급자 이해하기',
7
+ summary: '발급자는 세금계산서나 현금영수증 발행에 사용하는 인증서의 소유자입니다.',
8
8
  details: {
9
- 정의: 'Bolta 플랫폼에서 공급자(세금계산서 발행자)를 식별하는 고유 ',
10
- 형식: 'SupplierKey_ 접두사 문자열 (예: SupplierKey_bf8paz)',
11
- 획득방법: '공급자의 사업자 정보로 bolta supplier create 호출 → 응답의 supplierKey 필드',
12
- 사용방법: 'BOLTA_SUPPLIER_KEY 환경변수, --supplier-key 플래그, 또는 bolta config set supplier-key',
13
- API키와의관계: 'API 키(test_/live_) 단위로 독립 관리. 테스트와 라이브 환경의 supplierKey는 서로 다른 값이며 상호 호환되지 않음',
9
+ 등록방법: '발급할 사업자 정보로 bolta issuer create 호출 → 응답의 issuerId 저장',
10
+ 관리방법: 'issuerId는 발급자 조회와 인증서 등록·조회·해제에만 사용',
11
+ 발행방법: 'API 키로 인증하고 요청 본문의 사업자등록번호로 발급자를 선택',
12
+ 발행주체판별: {
13
+ 일반정발행과역발행: 'supplier.identificationNumber',
14
+ 현금영수증: 'issuer.businessRegistrationNumber',
15
+ },
14
16
  주의사항: [
15
- 'Supplier-Key공급자(발행자) 본인의 키입니다',
16
- '세금계산서를 받는 거래처(공급받는자)의 정보는 Supplier-Key 헤더가 아니라 요청 본문의 supplied 필드에 포함합니다',
17
- 'Supplier-Key에 공급받는자의 키를 잘못 전달하지 않도록 주의하세요',
18
- 'test_ 키로 생성한 supplierKey는 live_ 환경에서 사용할 수 없습니다',
17
+ 'issuerId발행 요청 본문에 넣지 않습니다',
18
+ '일반 정발행과 역발행에서는 supplier.identificationNumber를 정확히 입력하세요',
19
+ '현금영수증에서는 issuer.businessRegistrationNumber를 정확히 입력하세요',
19
20
  ],
20
21
  },
21
22
  },
@@ -39,12 +40,55 @@ function buildGuideTopics() {
39
40
  steps: [
40
41
  { 순서: 1, 명령어: 'bolta config set api-key <key>', 설명: 'API 키 설정 (test_ 또는 live_ 접두사)' },
41
42
  { 순서: 2, 명령어: 'bolta config test', 설명: 'API 연결 테스트' },
42
- { 순서: 3, 명령어: 'bolta supplier create --data \'{"identificationNumber":"...", ...}\'', 설명: '공급자 사업자 정보로 공급자 등록 → supplierKey 획득' },
43
- { 순서: 4, 명령어: 'bolta config set supplier-key <supplierKey>', 설명: '획득한 supplierKey 설정' },
44
- { 순서: 5, 명령어: 'bolta certificate url <supplierKey>', 설명: '공동인증서 등록 URL 조회 (정발행 시 필요)' },
45
- { 순서: 6, 설명: '포인트 충전 (라이브 사용 시). https://developers.bolta.io 개발자센터에서 충전' },
46
- { 순서: 7, 명령어: 'bolta invoice issue --data \'<세금계산서 JSON>\'', 설명: '세금계산서 정발행' },
47
- { 순서: 8, 명령어: 'bolta invoice get <issuanceKey>', 설명: '발행 결과 확인 (국세청 승인번호 포함)' },
43
+ { 순서: 3, 명령어: 'bolta issuer create --data \'{"identificationNumber":"...", ...}\'', 설명: '발급자 등록 → issuerId 획득' },
44
+ { 순서: 4, 명령어: 'bolta certificate url <issuerId>', 설명: '공동인증서 등록 URL 조회 (정발행 시 필요)' },
45
+ { 순서: 5, 설명: '포인트 충전 (라이브 사용 시). https://developers.bolta.io 개발자센터에서 충전' },
46
+ { 순서: 6, 명령어: 'bolta invoice issue --data \'<세금계산서 JSON>\'', 설명: '세금계산서 정발행' },
47
+ { 순서: 7, 명령어: 'bolta invoice get <issuanceKey>', 설명: '발행 결과 확인 (국세청 승인번호 포함)' },
48
+ ],
49
+ },
50
+ },
51
+ 'cash-receipt': {
52
+ title: '현금영수증 발행 워크플로우',
53
+ summary: '현금영수증 발행, 상태 조회, 전액 취소 순서를 안내합니다.',
54
+ details: {
55
+ 사전준비: [
56
+ 'API 키를 설정하세요',
57
+ '현금영수증 발급자를 등록하고 인증서를 등록하세요',
58
+ 'issuer.businessRegistrationNumber에는 등록한 발급자의 사업자등록번호를 입력하세요',
59
+ ],
60
+ steps: [
61
+ {
62
+ 순서: 1,
63
+ 명령어: "bolta cash-receipt issue --reference-id <id> --data '<현금영수증 JSON>'",
64
+ 설명: '현금영수증 발행 요청',
65
+ },
66
+ {
67
+ 순서: 2,
68
+ 명령어: 'bolta cash-receipt status --reference-id <id>',
69
+ 설명: '발행 처리 상태 확인',
70
+ },
71
+ {
72
+ 순서: 3,
73
+ 명령어: 'bolta cash-receipt cancel <issuanceKey> --reference-id <새 id>',
74
+ 설명: '발행 완료 건 전액 취소',
75
+ },
76
+ {
77
+ 순서: 4,
78
+ 명령어: 'bolta cash-receipt status --reference-id <새 id>',
79
+ 설명: '취소 처리 상태 확인',
80
+ },
81
+ ],
82
+ 상태: {
83
+ 처리중: ['PENDING', 'REQUEST_SUCCESS'],
84
+ 성공: ['ISSUED', 'CANCELED'],
85
+ 외부취소: ['EXTERNALLY_CANCELED'],
86
+ 실패: ['REQUEST_FAILURE', 'ISSUE_FAILED', 'CANCEL_FAILED'],
87
+ },
88
+ 주의사항: [
89
+ '202 Accepted는 요청 접수만 뜻하며 발행 또는 취소 성공을 보장하지 않습니다',
90
+ '취소 요청에는 발행 요청과 다른 reference-id를 사용하세요',
91
+ '부분 취소는 지원하지 않습니다',
48
92
  ],
49
93
  },
50
94
  },
@@ -54,11 +98,11 @@ function buildGuideTopics() {
54
98
  details: {
55
99
  용어: [
56
100
  { 용어: 'apiKey', 설명: 'Bolta API 인증 키. test_(샌드박스) 또는 live_(프로덕션) 접두사' },
57
- { 용어: 'supplierKey', 설명: '공급자(세금계산서 발행자)를 식별하는 Bolta 플랫폼 고유 키. SupplierKey_ 접두사' },
58
- { 용어: 'issuanceKey', 설명: '세금계산서 발행 후 반환되는 고유 식별자. 조회/수정 시 사용' },
101
+ { 용어: 'issuerId', 설명: '등록한 발급자를 식별하는 값. 발급자 조회와 인증서 관리에 사용' },
102
+ { 용어: 'issuanceKey', 설명: '세금계산서나 현금영수증 요청 후 반환되는 고유 식별자. 조회·수정·취소 시 사용' },
59
103
  { 용어: 'identificationNumber', 설명: '사업자등록번호 (10자리). 세금계산서의 공급자/공급받는자 식별에 사용' },
60
- { 용어: 'supplier (공급자)', 설명: '세금계산서를 발행하는 측. supplierKey와 공동인증서가 필요' },
61
- { 용어: 'supplied (공급받는자)', 설명: '세금계산서를 받는 거래처. 별도 supplierKey 불필요, invoice JSON의 supplied 필드에 정보 입력' },
104
+ { 용어: 'supplier (공급자)', 설명: '세금계산서에서 재화나 용역을 공급하는 측. invoice JSON의 supplier 필드' },
105
+ { 용어: 'supplied (공급받는자)', 설명: '세금계산서를 받는 거래처. invoice JSON의 supplied 필드' },
62
106
  { 용어: 'purpose', 설명: 'CLAIM(청구용) 또는 RECEIPT(영수용)' },
63
107
  { 용어: 'ntsTransactionId', 설명: '국세청 승인번호. 발행 완료 후 부여됨' },
64
108
  ],
@@ -73,14 +117,15 @@ export function registerGuideCommand(program) {
73
117
  .description('주요 개념 및 사용법 안내')
74
118
  .addHelpText('after', `
75
119
  Available topics:
76
- supplier-key Supplier Key 이해하기
120
+ issuer 발급자 이해하기
77
121
  payment 요금 안내 및 포인트 충전
78
122
  workflow 전자세금계산서 발행 워크플로우
123
+ cash-receipt 현금영수증 발행 워크플로우
79
124
  glossary 용어 정리
80
125
 
81
126
  Examples:
82
127
  bolta guide # 사용 가능한 토픽 목록
83
- bolta guide supplier-key # Supplier Key 개념 안내
128
+ bolta guide issuer # 발급자 개념 안내
84
129
  bolta guide payment # 요금 및 포인트 충전 안내`)
85
130
  .action((topicName) => {
86
131
  try {
@@ -94,8 +139,7 @@ Examples:
94
139
  outputSuccess({ availableTopics: list });
95
140
  return;
96
141
  }
97
- // 하위호환: 토픽명 'customer-key' 'supplier-key'
98
- topicName = resolveDeprecatedName(topicName, { 'customer-key': 'supplier-key' }, 'guide 토픽');
142
+ topicName = resolveLegacyIssuerName(topicName, { 'supplier-key': 'issuer', 'customer-key': 'issuer' }, 'guide 토픽');
99
143
  const topic = topics[topicName];
100
144
  if (!topic) {
101
145
  const available = Object.keys(topics).join(', ');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/guide/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/guide/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"amend.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/amend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoI5D"}
1
+ {"version":3,"file":"amend.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/amend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+G5D"}
@@ -2,8 +2,7 @@ import { createClient } from '../../utils/client.js';
2
2
  import { resolveInput } from '../../utils/input.js';
3
3
  import { outputSuccess, outputError, verbose } from '../../utils/output.js';
4
4
  import { amendTerminationSchema, amendChangeSupplyCostSchema } from '../../validators/schemas.js';
5
- import { BoltaValidationError } from '../../utils/errors.js';
6
- import { ZodError } from 'zod';
5
+ import { parseOrThrow } from '../../validators/parse.js';
7
6
  export function registerAmendCommands(invoice) {
8
7
  const amend = invoice.command('amend').description('세금계산서 수정 발행');
9
8
  amend
@@ -19,17 +18,7 @@ Example:
19
18
  .action(async (issuanceKey, options, command) => {
20
19
  try {
21
20
  const globalOpts = command.optsWithGlobals();
22
- let validated;
23
- try {
24
- validated = amendTerminationSchema.parse({ date: options.date });
25
- }
26
- catch (err) {
27
- if (err instanceof ZodError) {
28
- const details = Object.fromEntries(err.errors.map((e) => [e.path.join('.'), e.message]));
29
- throw new BoltaValidationError('입력 데이터가 유효하지 않습니다.', details);
30
- }
31
- throw err;
32
- }
21
+ const validated = parseOrThrow(amendTerminationSchema, { date: options.date });
33
22
  if (globalOpts.dryRun) {
34
23
  outputSuccess({
35
24
  dryRun: true,
@@ -39,8 +28,8 @@ Example:
39
28
  return;
40
29
  }
41
30
  verbose('수정발행 (계약 해제) 요청', { issuanceKey });
42
- const { client, supplierKey } = createClient(globalOpts);
43
- const result = await client.amendTermination(issuanceKey, validated, supplierKey);
31
+ const client = createClient(globalOpts);
32
+ const result = await client.amendTermination(issuanceKey, validated);
44
33
  outputSuccess(result);
45
34
  }
46
35
  catch (err) {
@@ -72,17 +61,7 @@ Example:
72
61
  try {
73
62
  const globalOpts = command.optsWithGlobals();
74
63
  const raw = await resolveInput(options);
75
- let validated;
76
- try {
77
- validated = amendChangeSupplyCostSchema.parse(raw);
78
- }
79
- catch (err) {
80
- if (err instanceof ZodError) {
81
- const details = Object.fromEntries(err.errors.map((e) => [e.path.join('.'), e.message]));
82
- throw new BoltaValidationError('입력 데이터가 유효하지 않습니다.', details);
83
- }
84
- throw err;
85
- }
64
+ const validated = parseOrThrow(amendChangeSupplyCostSchema, raw);
86
65
  if (globalOpts.dryRun) {
87
66
  outputSuccess({
88
67
  dryRun: true,
@@ -92,8 +71,8 @@ Example:
92
71
  return;
93
72
  }
94
73
  verbose('수정발행 (공급가액 변동) 요청', { issuanceKey });
95
- const { client, supplierKey } = createClient(globalOpts);
96
- const result = await client.amendChangeSupplyCost(issuanceKey, validated, supplierKey);
74
+ const client = createClient(globalOpts);
75
+ const result = await client.amendChangeSupplyCost(issuanceKey, validated);
97
76
  outputSuccess(result);
98
77
  }
99
78
  catch (err) {
@@ -121,8 +100,8 @@ Example:
121
100
  return;
122
101
  }
123
102
  verbose('수정발행 (착오에 의한 이중발급) 요청', { issuanceKey });
124
- const { client, supplierKey } = createClient(globalOpts);
125
- const result = await client.amendDoubleIssuance(issuanceKey, supplierKey);
103
+ const client = createClient(globalOpts);
104
+ const result = await client.amendDoubleIssuance(issuanceKey);
126
105
  outputSuccess(result);
127
106
  }
128
107
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"amend.js","sourceRoot":"","sources":["../../../../src/commands/invoice/amend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amend.js","sourceRoot":"","sources":["../../../../src/commands/invoice/amend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7H"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7H"}