@bolta-io/cli 0.1.1 → 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 (109) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/CLAUDE.md +16 -22
  3. package/README.md +13 -19
  4. package/dist/bin/bolta.js +14 -29
  5. package/dist/bin/bolta.js.map +1 -1
  6. package/dist/src/client/bolta-client.d.ts +19 -21
  7. package/dist/src/client/bolta-client.d.ts.map +1 -1
  8. package/dist/src/client/bolta-client.js +47 -50
  9. package/dist/src/client/bolta-client.js.map +1 -1
  10. package/dist/src/commands/cash-receipt/cancel.js +3 -3
  11. package/dist/src/commands/cash-receipt/cancel.js.map +1 -1
  12. package/dist/src/commands/cash-receipt/issue.js +3 -3
  13. package/dist/src/commands/cash-receipt/issue.js.map +1 -1
  14. package/dist/src/commands/cash-receipt/status.d.ts.map +1 -1
  15. package/dist/src/commands/cash-receipt/status.js +3 -8
  16. package/dist/src/commands/cash-receipt/status.js.map +1 -1
  17. package/dist/src/commands/certificate/index.d.ts.map +1 -1
  18. package/dist/src/commands/certificate/index.js +19 -42
  19. package/dist/src/commands/certificate/index.js.map +1 -1
  20. package/dist/src/commands/config/index.d.ts.map +1 -1
  21. package/dist/src/commands/config/index.js +17 -54
  22. package/dist/src/commands/config/index.js.map +1 -1
  23. package/dist/src/commands/examples/index.d.ts.map +1 -1
  24. package/dist/src/commands/examples/index.js +8 -9
  25. package/dist/src/commands/examples/index.js.map +1 -1
  26. package/dist/src/commands/guide/index.d.ts.map +1 -1
  27. package/dist/src/commands/guide/index.js +28 -30
  28. package/dist/src/commands/guide/index.js.map +1 -1
  29. package/dist/src/commands/invoice/amend.d.ts.map +1 -1
  30. package/dist/src/commands/invoice/amend.js +9 -30
  31. package/dist/src/commands/invoice/amend.js.map +1 -1
  32. package/dist/src/commands/invoice/get.d.ts.map +1 -1
  33. package/dist/src/commands/invoice/get.js +2 -7
  34. package/dist/src/commands/invoice/get.js.map +1 -1
  35. package/dist/src/commands/invoice/index.js +1 -1
  36. package/dist/src/commands/invoice/issue-request.d.ts.map +1 -1
  37. package/dist/src/commands/invoice/issue-request.js +3 -15
  38. package/dist/src/commands/invoice/issue-request.js.map +1 -1
  39. package/dist/src/commands/invoice/issue.d.ts.map +1 -1
  40. package/dist/src/commands/invoice/issue.js +3 -15
  41. package/dist/src/commands/invoice/issue.js.map +1 -1
  42. package/dist/src/commands/invoice/status.d.ts.map +1 -1
  43. package/dist/src/commands/invoice/status.js +2 -7
  44. package/dist/src/commands/invoice/status.js.map +1 -1
  45. package/dist/src/commands/issuer/create.d.ts +4 -0
  46. package/dist/src/commands/issuer/create.d.ts.map +1 -0
  47. package/dist/src/commands/issuer/create.js +24 -0
  48. package/dist/src/commands/issuer/create.js.map +1 -0
  49. package/dist/src/commands/issuer/get.d.ts +3 -0
  50. package/dist/src/commands/issuer/get.d.ts.map +1 -0
  51. package/dist/src/commands/issuer/get.js +14 -0
  52. package/dist/src/commands/issuer/get.js.map +1 -0
  53. package/dist/src/commands/issuer/index.d.ts +3 -0
  54. package/dist/src/commands/issuer/index.d.ts.map +1 -0
  55. package/dist/src/commands/issuer/index.js +31 -0
  56. package/dist/src/commands/issuer/index.js.map +1 -0
  57. package/dist/src/commands/schema/index.d.ts.map +1 -1
  58. package/dist/src/commands/schema/index.js +3 -4
  59. package/dist/src/commands/schema/index.js.map +1 -1
  60. package/dist/src/commands/supplier/legacy.d.ts +3 -0
  61. package/dist/src/commands/supplier/legacy.d.ts.map +1 -0
  62. package/dist/src/commands/supplier/legacy.js +75 -0
  63. package/dist/src/commands/supplier/legacy.js.map +1 -0
  64. package/dist/src/config/config-manager.d.ts +7 -9
  65. package/dist/src/config/config-manager.d.ts.map +1 -1
  66. package/dist/src/config/config-manager.js +28 -48
  67. package/dist/src/config/config-manager.js.map +1 -1
  68. package/dist/src/types/api.d.ts +40 -7
  69. package/dist/src/types/api.d.ts.map +1 -1
  70. package/dist/src/utils/client.d.ts +10 -15
  71. package/dist/src/utils/client.d.ts.map +1 -1
  72. package/dist/src/utils/client.js +26 -8
  73. package/dist/src/utils/client.js.map +1 -1
  74. package/dist/src/utils/legacy-issuer.d.ts +28 -0
  75. package/dist/src/utils/legacy-issuer.d.ts.map +1 -0
  76. package/dist/src/utils/legacy-issuer.js +45 -0
  77. package/dist/src/utils/legacy-issuer.js.map +1 -0
  78. package/dist/src/utils/output.d.ts +7 -3
  79. package/dist/src/utils/output.d.ts.map +1 -1
  80. package/dist/src/utils/output.js +14 -4
  81. package/dist/src/utils/output.js.map +1 -1
  82. package/dist/src/{commands/cash-receipt/validation.d.ts → validators/parse.d.ts} +1 -1
  83. package/dist/src/validators/parse.d.ts.map +1 -0
  84. package/dist/src/{commands/cash-receipt/validation.js → validators/parse.js} +2 -2
  85. package/dist/src/validators/parse.js.map +1 -0
  86. package/dist/src/validators/schemas.d.ts +1 -1
  87. package/dist/src/validators/schemas.d.ts.map +1 -1
  88. package/dist/src/validators/schemas.js +21 -11
  89. package/dist/src/validators/schemas.js.map +1 -1
  90. package/llms.txt +26 -33
  91. package/package.json +1 -1
  92. package/dist/src/commands/cash-receipt/validation.d.ts.map +0 -1
  93. package/dist/src/commands/cash-receipt/validation.js.map +0 -1
  94. package/dist/src/commands/supplier/create.d.ts +0 -4
  95. package/dist/src/commands/supplier/create.d.ts.map +0 -1
  96. package/dist/src/commands/supplier/create.js +0 -40
  97. package/dist/src/commands/supplier/create.js.map +0 -1
  98. package/dist/src/commands/supplier/get.d.ts +0 -3
  99. package/dist/src/commands/supplier/get.d.ts.map +0 -1
  100. package/dist/src/commands/supplier/get.js +0 -19
  101. package/dist/src/commands/supplier/get.js.map +0 -1
  102. package/dist/src/commands/supplier/index.d.ts +0 -3
  103. package/dist/src/commands/supplier/index.d.ts.map +0 -1
  104. package/dist/src/commands/supplier/index.js +0 -56
  105. package/dist/src/commands/supplier/index.js.map +0 -1
  106. package/dist/src/commands/supplier/legacy-customer.d.ts +0 -5
  107. package/dist/src/commands/supplier/legacy-customer.d.ts.map +0 -1
  108. package/dist/src/commands/supplier/legacy-customer.js +0 -56
  109. package/dist/src/commands/supplier/legacy-customer.js.map +0 -1
@@ -1,22 +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 헤더가 아니라 요청 본문의 recipient 필드에 포함합니다',
18
- 'Supplier-Key에 공급받는자의 키를 잘못 전달하지 않도록 주의하세요',
19
- 'test_ 키로 생성한 supplierKey는 live_ 환경에서 사용할 수 없습니다',
17
+ 'issuerId발행 요청 본문에 넣지 않습니다',
18
+ '일반 정발행과 역발행에서는 supplier.identificationNumber를 정확히 입력하세요',
19
+ '현금영수증에서는 issuer.businessRegistrationNumber를 정확히 입력하세요',
20
20
  ],
21
21
  },
22
22
  },
@@ -40,12 +40,11 @@ function buildGuideTopics() {
40
40
  steps: [
41
41
  { 순서: 1, 명령어: 'bolta config set api-key <key>', 설명: 'API 키 설정 (test_ 또는 live_ 접두사)' },
42
42
  { 순서: 2, 명령어: 'bolta config test', 설명: 'API 연결 테스트' },
43
- { 순서: 3, 명령어: 'bolta supplier create --data \'{"identificationNumber":"...", ...}\'', 설명: '공급자 사업자 정보로 공급자 등록 → supplierKey 획득' },
44
- { 순서: 4, 명령어: 'bolta config set supplier-key <supplierKey>', 설명: '획득한 supplierKey 설정' },
45
- { 순서: 5, 명령어: 'bolta certificate url <supplierKey>', 설명: '공동인증서 등록 URL 조회 (정발행 시 필요)' },
46
- { 순서: 6, 설명: '포인트 충전 (라이브 사용 시). https://developers.bolta.io 개발자센터에서 충전' },
47
- { 순서: 7, 명령어: 'bolta invoice issue --data \'<세금계산서 JSON>\'', 설명: '세금계산서 정발행' },
48
- { 순서: 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>', 설명: '발행 결과 확인 (국세청 승인번호 포함)' },
49
48
  ],
50
49
  },
51
50
  },
@@ -54,9 +53,9 @@ function buildGuideTopics() {
54
53
  summary: '현금영수증 발행, 상태 조회, 전액 취소 순서를 안내합니다.',
55
54
  details: {
56
55
  사전준비: [
57
- 'API 키와 supplierKey를 설정하세요',
58
- '현금영수증을 발행할 공급자의 인증서를 먼저 등록하세요',
59
- 'issuer.businessRegistrationNumber supplierKey에 연결된 사업자등록번호와 같아야 합니다',
56
+ 'API 키를 설정하세요',
57
+ '현금영수증 발급자를 등록하고 인증서를 등록하세요',
58
+ 'issuer.businessRegistrationNumber에는 등록한 발급자의 사업자등록번호를 입력하세요',
60
59
  ],
61
60
  steps: [
62
61
  {
@@ -99,11 +98,11 @@ function buildGuideTopics() {
99
98
  details: {
100
99
  용어: [
101
100
  { 용어: 'apiKey', 설명: 'Bolta API 인증 키. test_(샌드박스) 또는 live_(프로덕션) 접두사' },
102
- { 용어: 'supplierKey', 설명: '공급자(세금계산서 발행자)를 식별하는 Bolta 플랫폼 고유 키. SupplierKey_ 접두사' },
101
+ { 용어: 'issuerId', 설명: '등록한 발급자를 식별하는 값. 발급자 조회와 인증서 관리에 사용' },
103
102
  { 용어: 'issuanceKey', 설명: '세금계산서나 현금영수증 요청 후 반환되는 고유 식별자. 조회·수정·취소 시 사용' },
104
103
  { 용어: 'identificationNumber', 설명: '사업자등록번호 (10자리). 세금계산서의 공급자/공급받는자 식별에 사용' },
105
- { 용어: 'supplier (공급자)', 설명: '세금계산서를 발행하는 측. supplierKey와 공동인증서가 필요' },
106
- { 용어: 'supplied (공급받는자)', 설명: '세금계산서를 받는 거래처. 별도 supplierKey 불필요, invoice JSON의 supplied 필드에 정보 입력' },
104
+ { 용어: 'supplier (공급자)', 설명: '세금계산서에서 재화나 용역을 공급하는 측. invoice JSON의 supplier 필드' },
105
+ { 용어: 'supplied (공급받는자)', 설명: '세금계산서를 받는 거래처. invoice JSON의 supplied 필드' },
107
106
  { 용어: 'purpose', 설명: 'CLAIM(청구용) 또는 RECEIPT(영수용)' },
108
107
  { 용어: 'ntsTransactionId', 설명: '국세청 승인번호. 발행 완료 후 부여됨' },
109
108
  ],
@@ -118,7 +117,7 @@ export function registerGuideCommand(program) {
118
117
  .description('주요 개념 및 사용법 안내')
119
118
  .addHelpText('after', `
120
119
  Available topics:
121
- supplier-key Supplier Key 이해하기
120
+ issuer 발급자 이해하기
122
121
  payment 요금 안내 및 포인트 충전
123
122
  workflow 전자세금계산서 발행 워크플로우
124
123
  cash-receipt 현금영수증 발행 워크플로우
@@ -126,7 +125,7 @@ Available topics:
126
125
 
127
126
  Examples:
128
127
  bolta guide # 사용 가능한 토픽 목록
129
- bolta guide supplier-key # Supplier Key 개념 안내
128
+ bolta guide issuer # 발급자 개념 안내
130
129
  bolta guide payment # 요금 및 포인트 충전 안내`)
131
130
  .action((topicName) => {
132
131
  try {
@@ -140,8 +139,7 @@ Examples:
140
139
  outputSuccess({ availableTopics: list });
141
140
  return;
142
141
  }
143
- // 하위호환: 토픽명 'customer-key' 'supplier-key'
144
- topicName = resolveDeprecatedName(topicName, { 'customer-key': 'supplier-key' }, 'guide 토픽');
142
+ topicName = resolveLegacyIssuerName(topicName, { 'supplier-key': 'issuer', 'customer-key': 'issuer' }, 'guide 토픽');
145
143
  const topic = topics[topicName];
146
144
  if (!topic) {
147
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"}
@@ -1,14 +1,9 @@
1
- import { resolveApiKey, resolveBaseUrl } from '../../config/config-manager.js';
2
- import { BoltaClient } from '../../client/bolta-client.js';
1
+ import { createApiKeyClient } from '../../utils/client.js';
3
2
  import { outputSuccess, outputError } from '../../utils/output.js';
4
- import { BoltaAuthError } from '../../utils/errors.js';
5
3
  export async function getInvoiceAction(issuanceKey, options, command) {
6
4
  try {
7
5
  const globalOpts = command.optsWithGlobals();
8
- const apiKey = resolveApiKey(globalOpts.apiKey);
9
- if (!apiKey)
10
- throw new BoltaAuthError('API 키가 설정되지 않았습니다.');
11
- const client = new BoltaClient({ apiKey, baseUrl: resolveBaseUrl() });
6
+ const client = createApiKeyClient(globalOpts);
12
7
  const result = await client.getTaxInvoice(issuanceKey);
13
8
  outputSuccess(result);
14
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/invoice/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,OAAgC,EAAE,OAAgB;IAC5G,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvD,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/invoice/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,OAAgC,EAAE,OAAgB;IAC5G,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvD,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -27,7 +27,7 @@ Example:
27
27
  "identificationNumber": "1234567890",
28
28
  "organizationName": "공급자 주식회사",
29
29
  "representativeName": "김공급",
30
- "manager": { "email": "supplier@example.com" }
30
+ "manager": { "email": "seller@example.com" }
31
31
  },
32
32
  "supplied": {
33
33
  "identificationNumber": "0987654321",
@@ -1 +1 @@
1
- {"version":3,"file":"issue-request.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/issue-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"issue-request.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/issue-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -2,31 +2,19 @@ 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 { createTaxInvoiceIssueRequestSchema } 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 async function issueRequestAction(options, command) {
8
7
  try {
9
8
  const globalOpts = command.optsWithGlobals();
10
9
  const raw = await resolveInput(options);
11
- let validated;
12
- try {
13
- validated = createTaxInvoiceIssueRequestSchema.parse(raw);
14
- }
15
- catch (err) {
16
- if (err instanceof ZodError) {
17
- const details = Object.fromEntries(err.errors.map((e) => [e.path.join('.'), e.message]));
18
- throw new BoltaValidationError('입력 데이터가 유효하지 않습니다.', details);
19
- }
20
- throw err;
21
- }
10
+ const validated = parseOrThrow(createTaxInvoiceIssueRequestSchema, raw);
22
11
  if (globalOpts.dryRun) {
23
12
  outputSuccess({ dryRun: true, requestBody: validated, endpoint: 'POST /v1/taxInvoices/issueRequest' });
24
13
  return;
25
14
  }
26
15
  verbose('세금계산서 역발행 요청');
27
- const { client, supplierKey } = createClient(globalOpts);
16
+ const client = createClient(globalOpts);
28
17
  const result = await client.issueRequestTaxInvoice(validated, {
29
- supplierKey,
30
18
  referenceId: options.referenceId,
31
19
  });
32
20
  outputSuccess(result);
@@ -1 +1 @@
1
- {"version":3,"file":"issue-request.js","sourceRoot":"","sources":["../../../../src/commands/invoice/issue-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG/B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAoD,EACpD,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACH,SAAS,GAAG,kCAAkC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,SAAS,EAAE;YAC5D,WAAW;YACX,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"issue-request.js","sourceRoot":"","sources":["../../../../src/commands/invoice/issue-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAoD,EACpD,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QAExE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,SAAS,EAAE;YAC5D,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,OAAO,EAAE,gBAAgB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,OAAO,EAAE,gBAAgB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -2,31 +2,19 @@ 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 { createTaxInvoiceSchema } 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 async function issueAction(options, command) {
8
7
  try {
9
8
  const globalOpts = command.optsWithGlobals();
10
9
  const raw = await resolveInput(options);
11
- let validated;
12
- try {
13
- validated = createTaxInvoiceSchema.parse(raw);
14
- }
15
- catch (err) {
16
- if (err instanceof ZodError) {
17
- const details = Object.fromEntries(err.errors.map((e) => [e.path.join('.'), e.message]));
18
- throw new BoltaValidationError('입력 데이터가 유효하지 않습니다.', details);
19
- }
20
- throw err;
21
- }
10
+ const validated = parseOrThrow(createTaxInvoiceSchema, raw);
22
11
  if (globalOpts.dryRun) {
23
12
  outputSuccess({ dryRun: true, requestBody: validated, endpoint: 'POST /v1/taxInvoices/issue' });
24
13
  return;
25
14
  }
26
15
  verbose('세금계산서 정발행 요청');
27
- const { client, supplierKey } = createClient(globalOpts);
16
+ const client = createClient(globalOpts);
28
17
  const result = await client.issueTaxInvoice(validated, {
29
- supplierKey,
30
18
  referenceId: options.referenceId,
31
19
  });
32
20
  outputSuccess(result);
@@ -1 +1 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/commands/invoice/issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG/B,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoD,EACpD,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACH,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE;YACrD,WAAW;YACX,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/commands/invoice/issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoD,EACpD,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAE5D,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE;YACrD,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpG"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/commands/invoice/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CASpG"}
@@ -1,14 +1,9 @@
1
- import { resolveApiKey, resolveBaseUrl } from '../../config/config-manager.js';
2
- import { BoltaClient } from '../../client/bolta-client.js';
1
+ import { createApiKeyClient } from '../../utils/client.js';
3
2
  import { outputSuccess, outputError } from '../../utils/output.js';
4
- import { BoltaAuthError } from '../../utils/errors.js';
5
3
  export async function statusAction(options, command) {
6
4
  try {
7
5
  const globalOpts = command.optsWithGlobals();
8
- const apiKey = resolveApiKey(globalOpts.apiKey);
9
- if (!apiKey)
10
- throw new BoltaAuthError('API 키가 설정되지 않았습니다.');
11
- const client = new BoltaClient({ apiKey, baseUrl: resolveBaseUrl() });
6
+ const client = createApiKeyClient(globalOpts);
12
7
  const result = await client.getTaxInvoiceStatus(options.referenceId);
13
8
  outputSuccess(result);
14
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/invoice/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgC,EAAE,OAAgB;IACnF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/invoice/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgC,EAAE,OAAgB;IACnF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ import type { DataInputOptions } from '../../types/api.js';
3
+ export declare function createIssuerAction(options: DataInputOptions, command: Command): Promise<void>;
4
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/commands/issuer/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBnG"}
@@ -0,0 +1,24 @@
1
+ import { createApiKeyClient } from '../../utils/client.js';
2
+ import { resolveInput } from '../../utils/input.js';
3
+ import { outputSuccess, outputError, verbose } from '../../utils/output.js';
4
+ import { createIssuerSchema } from '../../validators/schemas.js';
5
+ import { parseOrThrow } from '../../validators/parse.js';
6
+ export async function createIssuerAction(options, command) {
7
+ try {
8
+ const globalOpts = command.optsWithGlobals();
9
+ const client = createApiKeyClient(globalOpts);
10
+ const raw = await resolveInput(options);
11
+ const validated = parseOrThrow(createIssuerSchema, raw);
12
+ if (globalOpts.dryRun) {
13
+ outputSuccess({ dryRun: true, requestBody: validated, endpoint: 'POST /v1/issuers' });
14
+ return;
15
+ }
16
+ verbose('발급자 등록 요청', { identificationNumber: validated.identificationNumber });
17
+ const result = await client.createIssuer(validated);
18
+ outputSuccess(result);
19
+ }
20
+ catch (err) {
21
+ outputError(err);
22
+ }
23
+ }
24
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/issuer/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAyB,EAAE,OAAgB;IAClF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAExD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACpD,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function getIssuerAction(issuerId: string, options: Record<string, unknown>, command: Command): Promise<void>;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/issuer/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzH"}
@@ -0,0 +1,14 @@
1
+ import { createApiKeyClient } from '../../utils/client.js';
2
+ import { outputSuccess, outputError } from '../../utils/output.js';
3
+ export async function getIssuerAction(issuerId, options, command) {
4
+ try {
5
+ const globalOpts = command.optsWithGlobals();
6
+ const client = createApiKeyClient(globalOpts);
7
+ const result = await client.getIssuer(issuerId);
8
+ outputSuccess(result);
9
+ }
10
+ catch (err) {
11
+ outputError(err);
12
+ }
13
+ }
14
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/issuer/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAgC,EAAE,OAAgB;IACxG,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerIssuerCommands(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/issuer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B7D"}
@@ -0,0 +1,31 @@
1
+ import { createIssuerAction } from './create.js';
2
+ import { getIssuerAction } from './get.js';
3
+ export function registerIssuerCommands(program) {
4
+ const issuer = program
5
+ .command('issuer')
6
+ .description('발급자 관리');
7
+ issuer
8
+ .command('create')
9
+ .description('발급자 등록 (POST /v1/issuers)')
10
+ .option('--data <json>', '인라인 JSON 데이터')
11
+ .option('--file <path>', 'JSON 파일 경로')
12
+ .option('--stdin', '표준 입력에서 읽기')
13
+ .addHelpText('after', `
14
+ Example:
15
+ bolta issuer create --data '{
16
+ "identificationNumber": "1234567890",
17
+ "organizationName": "주식회사 테스트",
18
+ "representativeName": "홍길동"
19
+ }'
20
+
21
+ bolta issuer create --file issuer.json`)
22
+ .action(createIssuerAction);
23
+ issuer
24
+ .command('get <issuerId>')
25
+ .description('발급자 조회 (GET /v1/issuers/{issuerId})')
26
+ .addHelpText('after', `
27
+ Example:
28
+ bolta issuer get issuer_bf8paz`)
29
+ .action(getIssuerAction);
30
+ }
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/issuer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEzB,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2BAA2B,CAAC;SACxC,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;;;;;;;;yCAQe,CAAC;SACrC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9B,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,qCAAqC,CAAC;SAClD,WAAW,CAAC,OAAO,EAAE;;iCAEO,CAAC;SAC7B,MAAM,CAAC,eAAe,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6C5D"}
@@ -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 { jsonSchemas } from '../../validators/schemas.js';
3
3
  import { BoltaError } from '../../utils/errors.js';
4
4
  export function registerSchemaCommand(program) {
@@ -7,7 +7,7 @@ export function registerSchemaCommand(program) {
7
7
  .description('입력 JSON 스키마 출력 (AI 에이전트용)')
8
8
  .addHelpText('after', `
9
9
  Available schemas:
10
- supplier-create 공급자 생성
10
+ issuer-create 발급자 등록
11
11
  invoice-issue 세금계산서 정발행
12
12
  invoice-issue-request 세금계산서 역발행 요청
13
13
  cash-receipt-issue 현금영수증 발행
@@ -28,8 +28,7 @@ Examples:
28
28
  outputSuccess({ availableSchemas: list });
29
29
  return;
30
30
  }
31
- // 하위호환: 스키마명 'customer-create' → 'supplier-create'
32
- commandName = resolveDeprecatedName(commandName, { 'customer-create': 'supplier-create' }, '스키마');
31
+ commandName = resolveLegacyIssuerName(commandName, LEGACY_ISSUER_CREATE_ALIASES, '스키마');
33
32
  const schema = jsonSchemas[commandName];
34
33
  if (!schema) {
35
34
  const available = Object.keys(jsonSchemas).join(', ');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/schema/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,2BAA2B,CAAC;SACxC,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;qDAY2B,CAAC;SACjD,MAAM,CAAC,CAAC,WAAoB,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnD,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,gBAAgB,IAAI,EAAE;iBACpC,CAAC,CAAC,CAAC;gBACJ,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,qDAAqD;YACrD,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,KAAK,CAAC,CAAC;YAElG,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,IAAI,UAAU,CAClB,IAAI,WAAW,mBAAmB,EAClC,aAAa,EACb,eAAe,SAAS,EAAE,CAC3B,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,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/schema/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,2BAA2B,CAAC;SACxC,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;qDAY2B,CAAC;SACjD,MAAM,CAAC,CAAC,WAAoB,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnD,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,gBAAgB,IAAI,EAAE;iBACpC,CAAC,CAAC,CAAC;gBACJ,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAExF,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,IAAI,UAAU,CAClB,IAAI,WAAW,mBAAmB,EAClC,aAAa,EACb,eAAe,SAAS,EAAE,CAC3B,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerLegacyIssuerCommands(program: Command): void;
3
+ //# sourceMappingURL=legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../../src/commands/supplier/legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8EpC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBnE"}