@bolta-io/cli 0.0.15 → 0.0.17

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 (58) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/CLAUDE.md +5 -1
  3. package/README.md +2 -0
  4. package/dist/bin/bolta.js +18 -30
  5. package/dist/bin/bolta.js.map +1 -1
  6. package/dist/src/client/bolta-client.d.ts +3 -0
  7. package/dist/src/client/bolta-client.d.ts.map +1 -1
  8. package/dist/src/client/bolta-client.js +24 -6
  9. package/dist/src/client/bolta-client.js.map +1 -1
  10. package/dist/src/commands/config/index.d.ts.map +1 -1
  11. package/dist/src/commands/config/index.js +73 -33
  12. package/dist/src/commands/config/index.js.map +1 -1
  13. package/dist/src/commands/invoice/amend.d.ts.map +1 -1
  14. package/dist/src/commands/invoice/amend.js +5 -18
  15. package/dist/src/commands/invoice/amend.js.map +1 -1
  16. package/dist/src/commands/invoice/issue-request.d.ts.map +1 -1
  17. package/dist/src/commands/invoice/issue-request.js +3 -8
  18. package/dist/src/commands/invoice/issue-request.js.map +1 -1
  19. package/dist/src/commands/invoice/issue.d.ts.map +1 -1
  20. package/dist/src/commands/invoice/issue.js +3 -8
  21. package/dist/src/commands/invoice/issue.js.map +1 -1
  22. package/dist/src/commands/update/nudge.d.ts +12 -0
  23. package/dist/src/commands/update/nudge.d.ts.map +1 -0
  24. package/dist/src/commands/update/nudge.js +104 -0
  25. package/dist/src/commands/update/nudge.js.map +1 -0
  26. package/dist/src/commands/update/updater.d.ts.map +1 -1
  27. package/dist/src/commands/update/updater.js +15 -28
  28. package/dist/src/commands/update/updater.js.map +1 -1
  29. package/dist/src/config/config-manager.d.ts +13 -0
  30. package/dist/src/config/config-manager.d.ts.map +1 -1
  31. package/dist/src/config/config-manager.js +57 -21
  32. package/dist/src/config/config-manager.js.map +1 -1
  33. package/dist/src/config/update-check-cache.d.ts +12 -0
  34. package/dist/src/config/update-check-cache.d.ts.map +1 -0
  35. package/dist/src/config/update-check-cache.js +45 -0
  36. package/dist/src/config/update-check-cache.js.map +1 -0
  37. package/dist/src/types/api.d.ts +2 -2
  38. package/dist/src/types/api.d.ts.map +1 -1
  39. package/dist/src/utils/client.d.ts +17 -0
  40. package/dist/src/utils/client.d.ts.map +1 -0
  41. package/dist/src/utils/client.js +17 -0
  42. package/dist/src/utils/client.js.map +1 -0
  43. package/dist/src/utils/output.d.ts +10 -2
  44. package/dist/src/utils/output.d.ts.map +1 -1
  45. package/dist/src/utils/output.js +17 -3
  46. package/dist/src/utils/output.js.map +1 -1
  47. package/dist/src/utils/platform.d.ts +1 -0
  48. package/dist/src/utils/platform.d.ts.map +1 -1
  49. package/dist/src/utils/platform.js +36 -9
  50. package/dist/src/utils/platform.js.map +1 -1
  51. package/dist/src/utils/version.d.ts +3 -0
  52. package/dist/src/utils/version.d.ts.map +1 -1
  53. package/dist/src/utils/version.js +24 -0
  54. package/dist/src/utils/version.js.map +1 -1
  55. package/dist/src/validators/schemas.d.ts.map +1 -1
  56. package/dist/src/validators/schemas.js +60 -45
  57. package/dist/src/validators/schemas.js.map +1 -1
  58. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ import { resolveApiKey, resolveSupplierKeyWithSource, resolveBaseUrl } from '../config/config-manager.js';
2
+ import { BoltaClient } from '../client/bolta-client.js';
3
+ import { BoltaAuthError } from './errors.js';
4
+ /**
5
+ * 글로벌 옵션(및 env/config)으로부터 인증을 해석해 BoltaClient를 만든다.
6
+ * 발행/수정 커맨드에서 반복되던 apiKey 확인 + supplierKey 해석 + 클라이언트 생성을 한곳으로 모은다.
7
+ * 커맨드가 요청 시 supplierKey 값을 함께 넘겨야 하므로 client와 함께 반환한다.
8
+ */
9
+ export function createClient(globalOpts) {
10
+ const apiKey = resolveApiKey(globalOpts.apiKey);
11
+ if (!apiKey)
12
+ throw new BoltaAuthError('API 키가 설정되지 않았습니다.');
13
+ const { value: supplierKey, source: supplierKeySource } = resolveSupplierKeyWithSource(globalOpts.supplierKey, globalOpts.customerKey);
14
+ const client = new BoltaClient({ apiKey, baseUrl: resolveBaseUrl(), supplierKey, supplierKeySource });
15
+ return { client, supplierKey };
16
+ }
17
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQ7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,UAAyB;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAE5D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,4BAA4B,CACpF,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,WAAW,CACvB,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtG,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC"}
@@ -1,9 +1,17 @@
1
1
  export declare function outputSuccess<T>(data: T): void;
2
2
  export declare function outputError(error: unknown): never;
3
+ /**
4
+ * 비밀값(apiKey/supplierKey 등)을 로그·에러에 안전하게 노출하기 위해 마스킹한다.
5
+ * 값을 식별할 수 있도록 앞 prefix자와 뒤 suffix자는 남긴다.
6
+ */
7
+ export declare function maskSecret(value: string, prefix?: number, suffix?: number): string;
3
8
  export declare function verbose(message: string, data?: Record<string, unknown>): void;
4
9
  /**
5
- * Deprecation 경고를 stderr로 1회 출력한다.
6
- * JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
10
+ * 경고를 stderr로 출력한다. JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
11
+ */
12
+ export declare function warning(message: string): void;
13
+ /**
14
+ * Deprecation 경고를 stderr로 1회만 출력한다.
7
15
  */
8
16
  export declare function deprecationWarning(message: string): void;
9
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAG9C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAyBjD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK7E;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,MAAM,CAOR"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAG9C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAyBjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,CAGxE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,MAAM,CAOR"}
@@ -28,22 +28,36 @@ export function outputError(error) {
28
28
  console.log(JSON.stringify(response, null, 2));
29
29
  process.exit(1);
30
30
  }
31
+ /**
32
+ * 비밀값(apiKey/supplierKey 등)을 로그·에러에 안전하게 노출하기 위해 마스킹한다.
33
+ * 값을 식별할 수 있도록 앞 prefix자와 뒤 suffix자는 남긴다.
34
+ */
35
+ export function maskSecret(value, prefix = 6, suffix = 4) {
36
+ if (value.length <= prefix + suffix)
37
+ return '***';
38
+ return `${value.slice(0, prefix)}***${value.slice(-suffix)}`;
39
+ }
31
40
  export function verbose(message, data) {
32
41
  if (process.env.BOLTA_VERBOSE === '1') {
33
42
  const line = data ? `[bolta] ${message} ${JSON.stringify(data)}` : `[bolta] ${message}`;
34
43
  console.error(line);
35
44
  }
36
45
  }
46
+ /**
47
+ * 경고를 stderr로 출력한다. JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
48
+ */
49
+ export function warning(message) {
50
+ console.error(`[bolta] ⚠ ${message}`);
51
+ }
37
52
  const shownDeprecations = new Set();
38
53
  /**
39
- * Deprecation 경고를 stderr로 1 출력한다.
40
- * JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
54
+ * Deprecation 경고를 stderr로 1회만 출력한다.
41
55
  */
42
56
  export function deprecationWarning(message) {
43
57
  if (shownDeprecations.has(message))
44
58
  return;
45
59
  shownDeprecations.add(message);
46
- console.error(`[bolta] ⚠ deprecated: ${message}`);
60
+ warning(`deprecated: ${message}`);
47
61
  }
48
62
  /**
49
63
  * 구 이름(alias)을 신규 이름으로 매핑한다. 매핑되면 deprecation 경고를 출력한다.
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAI,IAAO;IACtC,MAAM,QAAQ,GAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAgB;YAC5B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;SACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAgB;QAC5B,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE;KACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,IAA8B;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;QACxF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAC3C,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,OAA+B,EAC/B,KAAa;IAEb,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,EAAE,CAAC;QACX,kBAAkB,CAAC,GAAG,KAAK,KAAK,KAAK,OAAO,MAAM,aAAa,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@ export interface PlatformInfo {
7
7
  }
8
8
  export type InstallMethod = 'sea' | 'homebrew' | 'npm' | 'unknown';
9
9
  export declare function detectPlatform(): PlatformInfo;
10
+ export declare function getUpdateCommand(installMethod: InstallMethod): string;
10
11
  export declare function detectInstallMethod(): InstallMethod;
11
12
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAanE,wBAAgB,cAAc,IAAI,YAAY,CAc7C;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAoCnD"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAanE,wBAAgB,cAAc,IAAI,YAAY,CAc7C;AAGD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAWrE;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CA6BnD"}
@@ -1,3 +1,4 @@
1
+ import { realpathSync } from 'node:fs';
1
2
  import { basename } from 'node:path';
2
3
  const PLATFORM_MAP = {
3
4
  darwin: 'darwin',
@@ -20,21 +21,29 @@ export function detectPlatform() {
20
21
  const archiveName = isWindows ? `bolta-${target}.zip` : `bolta-${target}.tar.gz`;
21
22
  return { platform, arch, target, archiveName, binaryName };
22
23
  }
24
+ // 설치 방식별 업데이트 명령. InstallMethod에서 순수 파생되므로 분류 로직 옆에 둔다.
25
+ export function getUpdateCommand(installMethod) {
26
+ switch (installMethod) {
27
+ case 'homebrew':
28
+ return 'brew upgrade bolta';
29
+ case 'npm':
30
+ return 'npm update -g @bolta-io/cli';
31
+ case 'sea':
32
+ return 'bolta update';
33
+ default:
34
+ return 'npm update -g @bolta-io/cli 또는 brew upgrade bolta';
35
+ }
36
+ }
23
37
  export function detectInstallMethod() {
24
38
  const execPath = process.execPath.toLowerCase();
25
39
  // Homebrew
26
40
  if (execPath.includes('/cellar/') || execPath.includes('/homebrew/')) {
27
41
  return 'homebrew';
28
42
  }
29
- // npm/스크립트 런타임: process.argv[1]이 JS/TS 확장자로 끝나거나 node_modules 포함
30
- const scriptPath = (process.argv[1] || '').toLowerCase();
31
- if (scriptPath.endsWith('.js') ||
32
- scriptPath.endsWith('.mjs') ||
33
- scriptPath.endsWith('.cjs') ||
34
- scriptPath.endsWith('.ts') ||
35
- scriptPath.endsWith('.mts') ||
36
- scriptPath.endsWith('.cts') ||
37
- scriptPath.includes('node_modules')) {
43
+ // npm/스크립트 런타임: 원본 경로로 판정이 때만 npm 전역 bin symlink를 풀어
44
+ // node_modules를 확인한다 (realpathSync는 명령 실행 경로라 지연 호출).
45
+ const scriptPath = process.argv[1] || '';
46
+ if (scriptPath && (isNpmScriptPath(scriptPath) || isNpmScriptPath(resolveRealPath(scriptPath)))) {
38
47
  return 'npm';
39
48
  }
40
49
  const bin = basename(execPath).toLowerCase();
@@ -49,4 +58,22 @@ export function detectInstallMethod() {
49
58
  }
50
59
  return 'unknown';
51
60
  }
61
+ function resolveRealPath(scriptPath) {
62
+ try {
63
+ return realpathSync(scriptPath);
64
+ }
65
+ catch {
66
+ return scriptPath;
67
+ }
68
+ }
69
+ function isNpmScriptPath(scriptPath) {
70
+ const normalized = scriptPath.toLowerCase();
71
+ return (normalized.endsWith('.js') ||
72
+ normalized.endsWith('.mjs') ||
73
+ normalized.endsWith('.cjs') ||
74
+ normalized.endsWith('.ts') ||
75
+ normalized.endsWith('.mts') ||
76
+ normalized.endsWith('.cts') ||
77
+ normalized.includes('node_modules'));
78
+ }
52
79
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAYrC,MAAM,YAAY,GAA2B;IAC3C,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,QAAQ,GAA2B;IACvC,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACzE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC;IAEjF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEhD,WAAW;IACX,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iEAAiE;IACjE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IACE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,8BAA8B;IAC9B,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import type { InstallMethod } from './platform.js';
2
3
  declare const latestVersionInfoSchema: z.ZodObject<{
3
4
  version: z.ZodString;
4
5
  releasedAt: z.ZodString;
@@ -18,6 +19,8 @@ declare const latestVersionInfoSchema: z.ZodObject<{
18
19
  export type LatestVersionInfo = z.infer<typeof latestVersionInfoSchema>;
19
20
  export declare function getCurrentVersion(): string;
20
21
  export declare function fetchLatestVersion(): Promise<LatestVersionInfo>;
22
+ export declare function fetchHomebrewVersion(): Promise<string>;
23
+ export declare function fetchNudgeVersion(installMethod: InstallMethod): Promise<string>;
21
24
  export declare function isUpdateAvailable(current: string, latest: string): boolean;
22
25
  export {};
23
26
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAWxE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAgCrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkBnD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAaxE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAgCrE;AAQD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAU5D;AAID,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E"}
@@ -29,6 +29,8 @@ const githubReleaseSchema = z.object({
29
29
  });
30
30
  const LATEST_JSON_URL = 'https://cli.boltacorp.com/releases/latest.json';
31
31
  const GITHUB_RELEASES_URL = 'https://api.github.com/repos/bolta-io/bolta-cli/releases/latest';
32
+ // Formula/bolta.rb가 develop에 머지될 때 CI가 게시 (.github/workflows/publish-homebrew-version.yml)
33
+ const HOMEBREW_JSON_URL = 'https://cli.boltacorp.com/releases/homebrew.json';
32
34
  export function getCurrentVersion() {
33
35
  return process.env.BOLTA_CLI_VERSION || fallbackVersion;
34
36
  }
@@ -62,6 +64,28 @@ export async function fetchLatestVersion() {
62
64
  changelog: data.html_url,
63
65
  };
64
66
  }
67
+ const homebrewVersionSchema = z.object({
68
+ version: z.string(),
69
+ });
70
+ // Homebrew formula 기준 최신 버전. formula PR이 릴리스보다 늦게 머지되므로
71
+ // brew 사용자에게는 latest.json 대신 이 값을 기준으로 안내해야 조기 넛지가 없다.
72
+ export async function fetchHomebrewVersion() {
73
+ const res = await fetch(HOMEBREW_JSON_URL, {
74
+ signal: AbortSignal.timeout(5000),
75
+ });
76
+ if (!res.ok) {
77
+ throw new Error(`Homebrew 버전 정보를 가져올 수 없습니다 (HTTP ${res.status})`);
78
+ }
79
+ return homebrewVersionSchema.parse(await res.json()).version;
80
+ }
81
+ // 설치 방식에 맞는 "지금 업데이트 가능한" 버전.
82
+ // homebrew는 formula 버전으로 fail-closed (실패 시 latest.json 폴백 금지 — 조기 넛지 재발 방지)
83
+ export async function fetchNudgeVersion(installMethod) {
84
+ if (installMethod === 'homebrew') {
85
+ return fetchHomebrewVersion();
86
+ }
87
+ return (await fetchLatestVersion()).version;
88
+ }
65
89
  export function isUpdateAvailable(current, latest) {
66
90
  return compareSemver(current, latest) < 0;
67
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"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"}
@@ -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;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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,aAAa;;;;;;;;;;;;EAOxB,CAAC;AAkGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/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,CA8I9C,CAAC"}
@@ -1,11 +1,22 @@
1
1
  import { z } from 'zod';
2
+ const NTS_FREE_TEXT_MAX_LENGTH = 150;
3
+ const NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH = 60;
4
+ const NTS_LINE_ITEM_TEXT_MAX_LENGTH = 100;
5
+ const NTS_PARTY_NAME_MAX_LENGTH = 70;
6
+ const NTS_PARTY_TEXT_MAX_LENGTH = 40;
7
+ const NTS_PERSON_NAME_MAX_LENGTH = 30;
8
+ const NTS_CALL_TEXT_MAX_LENGTH = 20;
9
+ const TAX_INVOICE_ITEM_MAX_COUNT = 16;
2
10
  // ========================
3
11
  // Shared Schemas
4
12
  // ========================
5
13
  export const managerSchema = z.object({
6
- email: z.string().email('유효한 이메일 형식이 아닙니다'),
7
- name: z.string().min(1).max(50).nullable().optional(),
8
- telephone: z.string().nullable().optional(),
14
+ email: z
15
+ .string()
16
+ .email('유효한 이메일 형식이 아닙니다')
17
+ .max(NTS_PARTY_TEXT_MAX_LENGTH, `담당자 이메일은 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
18
+ name: z.string().min(1).max(NTS_PERSON_NAME_MAX_LENGTH).nullable().optional(),
19
+ telephone: z.string().max(NTS_CALL_TEXT_MAX_LENGTH).nullable().optional(),
9
20
  });
10
21
  const NTS_FOREIGN_SUPPLIED_PLACEHOLDER = '9999999999999';
11
22
  function normalizeIdentificationNumber(value) {
@@ -72,7 +83,7 @@ const businessIdentificationNumberSchema = z
72
83
  .string()
73
84
  .transform(normalizeIdentificationNumber)
74
85
  .pipe(z.string().regex(/^\d{10}$/, '사업자등록번호는 10자리 숫자여야 합니다'));
75
- const nullableOptionalStringSchema = z.string().nullable().optional();
86
+ const nullableOptionalStringMaxSchema = (maxLength, message) => z.string().max(maxLength, message).nullable().optional();
76
87
  const taxRegistrationIdSchema = z
77
88
  .string()
78
89
  .regex(/^\d{4}$/, '종사업장번호는 4자리 숫자여야 합니다')
@@ -82,33 +93,33 @@ const taxRegistrationIdSchema = z
82
93
  // ========================
83
94
  export const taxInvoiceSupplierSchema = z.object({
84
95
  identificationNumber: businessIdentificationNumberSchema,
85
- organizationName: z.string().min(1, '상호명은 필수입니다'),
86
- representativeName: z.string().min(1, '대표자명은 필수입니다'),
87
- address: nullableOptionalStringSchema,
88
- businessType: nullableOptionalStringSchema,
89
- businessItem: nullableOptionalStringSchema,
96
+ organizationName: z.string().min(1, '상호명은 필수입니다').max(NTS_PARTY_NAME_MAX_LENGTH),
97
+ representativeName: z.string().min(1, '대표자명은 필수입니다').max(NTS_PERSON_NAME_MAX_LENGTH),
98
+ address: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `주소는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
99
+ businessType: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `업태는 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
100
+ businessItem: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `종목은 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
90
101
  taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
91
102
  manager: managerSchema,
92
103
  });
93
104
  export const taxInvoiceSuppliedSchema = z.object({
94
105
  identificationNumber: suppliedIdentificationNumberSchema,
95
- organizationName: z.string().min(1, '상호명은 필수입니다'),
96
- representativeName: z.string().min(1, '대표자명은 필수입니다'),
97
- address: nullableOptionalStringSchema,
98
- businessType: nullableOptionalStringSchema,
99
- businessItem: nullableOptionalStringSchema,
106
+ organizationName: z.string().min(1, '상호명은 필수입니다').max(NTS_PARTY_NAME_MAX_LENGTH),
107
+ representativeName: z.string().min(1, '대표자명은 필수입니다').max(NTS_PERSON_NAME_MAX_LENGTH),
108
+ address: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `주소는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
109
+ businessType: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `업태는 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
110
+ businessItem: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `종목은 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
100
111
  taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
101
112
  managers: z.array(managerSchema).min(1, '담당자는 최소 1명 필수입니다').max(2, '담당자는 최대 2명입니다'),
102
113
  });
103
114
  export const taxInvoiceItemSchema = z.object({
104
115
  date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
105
- name: z.string().min(1, '품목명은 필수입니다').max(80, '품목명은 최대 80자입니다'),
116
+ name: z.string().min(1, '품목명은 필수입니다').max(NTS_LINE_ITEM_TEXT_MAX_LENGTH, `품목명은 최대 ${NTS_LINE_ITEM_TEXT_MAX_LENGTH}자입니다`),
106
117
  supplyCost: z.number().int('공급가액은 정수여야 합니다').min(1, '공급가액은 1 이상이어야 합니다'),
107
118
  unitPrice: z.number().int().positive().nullable().optional(),
108
119
  quantity: z.number().int().nullable().optional(),
109
120
  tax: z.number().int().min(1).nullable().optional(),
110
- specification: nullableOptionalStringSchema,
111
- description: nullableOptionalStringSchema,
121
+ specification: nullableOptionalStringMaxSchema(NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, `규격은 최대 ${NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH}자입니다`),
122
+ description: nullableOptionalStringMaxSchema(NTS_LINE_ITEM_TEXT_MAX_LENGTH, `품목 비고는 최대 ${NTS_LINE_ITEM_TEXT_MAX_LENGTH}자입니다`),
112
123
  });
113
124
  const taxInvoiceBaseSchema = z.object({
114
125
  date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
@@ -120,8 +131,8 @@ const taxInvoiceBaseSchema = z.object({
120
131
  items: z
121
132
  .array(taxInvoiceItemSchema)
122
133
  .min(1, '품목은 최소 1개 필수입니다')
123
- .max(5, '품목은 최대 5개까지 가능합니다'),
124
- description: z.string().max(200, '비고는 최대 200자입니다').nullable().optional(),
134
+ .max(TAX_INVOICE_ITEM_MAX_COUNT, `품목은 최대 ${TAX_INVOICE_ITEM_MAX_COUNT}개까지 가능합니다`),
135
+ description: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `비고는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
125
136
  });
126
137
  export const createTaxInvoiceSchema = taxInvoiceBaseSchema.superRefine((data, ctx) => {
127
138
  const suppliedIdentificationNumberType = classifySuppliedIdentificationNumber(data.supplied.identificationNumber);
@@ -177,7 +188,7 @@ export const amendChangeSupplyCostSchema = z.object({
177
188
  items: z
178
189
  .array(amendTaxInvoiceItemSchema)
179
190
  .min(1, '품목은 최소 1개 필수입니다')
180
- .max(5, '품목은 최대 5개까지 가능합니다'),
191
+ .max(TAX_INVOICE_ITEM_MAX_COUNT, `품목은 최대 ${TAX_INVOICE_ITEM_MAX_COUNT}개까지 가능합니다`),
181
192
  });
182
193
  // ========================
183
194
  // JSON Schema Export (for `bolta schema` command)
@@ -206,19 +217,19 @@ export const jsonSchemas = {
206
217
  description: '공급자 정보',
207
218
  properties: {
208
219
  identificationNumber: { type: 'string', description: '사업자등록번호 (10자리)' },
209
- organizationName: { type: 'string', description: '상호명' },
210
- representativeName: { type: 'string', description: '대표자명' },
211
- address: { type: 'string', nullable: true, description: '주소 (선택)' },
212
- businessType: { type: 'string', nullable: true, description: '업태 (선택)' },
213
- businessItem: { type: 'string', nullable: true, description: '종목 (선택)' },
220
+ organizationName: { type: 'string', maxLength: NTS_PARTY_NAME_MAX_LENGTH, description: '상호명' },
221
+ representativeName: { type: 'string', maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '대표자명' },
222
+ address: { type: 'string', nullable: true, maxLength: NTS_FREE_TEXT_MAX_LENGTH, description: '주소 (선택)' },
223
+ businessType: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '업태 (선택)' },
224
+ businessItem: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '종목 (선택)' },
214
225
  taxRegistrationId: { type: 'string', nullable: true, description: '종사업장번호 (4자리, 선택)' },
215
226
  manager: {
216
227
  type: 'object',
217
228
  required: ['email'],
218
229
  properties: {
219
- email: { type: 'string', description: '담당자 이메일 (필수)' },
220
- name: { type: 'string', nullable: true, description: '담당자 이름 (선택)' },
221
- telephone: { type: 'string', nullable: true, description: '담당자 전화번호 (선택)' },
230
+ email: { type: 'string', maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '담당자 이메일 (필수)' },
231
+ name: { type: 'string', nullable: true, maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '담당자 이름 (선택)' },
232
+ telephone: { type: 'string', nullable: true, maxLength: NTS_CALL_TEXT_MAX_LENGTH, description: '담당자 전화번호 (선택)' },
222
233
  },
223
234
  },
224
235
  },
@@ -232,11 +243,11 @@ export const jsonSchemas = {
232
243
  type: 'string',
233
244
  description: '사업자등록번호(10자리), 주민등록번호 규칙 13자리 또는 외국인등록번호 규칙 13자리',
234
245
  },
235
- organizationName: { type: 'string', description: '상호명' },
236
- representativeName: { type: 'string', description: '대표자명' },
237
- address: { type: 'string', nullable: true, description: '주소 (선택)' },
238
- businessType: { type: 'string', nullable: true, description: '업태 (선택)' },
239
- businessItem: { type: 'string', nullable: true, description: '종목 (선택)' },
246
+ organizationName: { type: 'string', maxLength: NTS_PARTY_NAME_MAX_LENGTH, description: '상호명' },
247
+ representativeName: { type: 'string', maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '대표자명' },
248
+ address: { type: 'string', nullable: true, maxLength: NTS_FREE_TEXT_MAX_LENGTH, description: '주소 (선택)' },
249
+ businessType: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '업태 (선택)' },
250
+ businessItem: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '종목 (선택)' },
240
251
  taxRegistrationId: {
241
252
  type: 'string',
242
253
  nullable: true,
@@ -250,9 +261,9 @@ export const jsonSchemas = {
250
261
  type: 'object',
251
262
  required: ['email'],
252
263
  properties: {
253
- email: { type: 'string', description: '담당자 이메일 (필수)' },
254
- name: { type: 'string', nullable: true, description: '담당자 이름 (선택)' },
255
- telephone: { type: 'string', nullable: true, description: '담당자 전화번호 (선택)' },
264
+ email: { type: 'string', maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '담당자 이메일 (필수)' },
265
+ name: { type: 'string', nullable: true, maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '담당자 이름 (선택)' },
266
+ telephone: { type: 'string', nullable: true, maxLength: NTS_CALL_TEXT_MAX_LENGTH, description: '담당자 전화번호 (선택)' },
256
267
  },
257
268
  },
258
269
  },
@@ -261,27 +272,27 @@ export const jsonSchemas = {
261
272
  items: {
262
273
  type: 'array',
263
274
  minItems: 1,
264
- maxItems: 5,
265
- description: '품목 목록 (1~5개)',
275
+ maxItems: TAX_INVOICE_ITEM_MAX_COUNT,
276
+ description: `품목 목록 (1~${TAX_INVOICE_ITEM_MAX_COUNT}개)`,
266
277
  items: {
267
278
  type: 'object',
268
279
  required: ['date', 'name', 'supplyCost'],
269
280
  properties: {
270
281
  date: { type: 'string', format: 'date', description: '공급일자 (YYYY-MM-DD)' },
271
- name: { type: 'string', maxLength: 80, description: '품목명' },
282
+ name: { type: 'string', maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목명' },
272
283
  supplyCost: { type: 'integer', minimum: 1, description: '공급가액' },
273
284
  unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
274
285
  quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
275
286
  tax: { type: 'integer', nullable: true, description: '세액 (null이면 면세)' },
276
- specification: { type: 'string', nullable: true, description: '규격 (선택)' },
277
- description: { type: 'string', nullable: true, description: '품목 비고 (선택)' },
287
+ specification: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, description: '규격 (선택)' },
288
+ description: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목 비고 (선택)' },
278
289
  },
279
290
  },
280
291
  },
281
292
  description: {
282
293
  type: 'string',
283
294
  nullable: true,
284
- maxLength: 200,
295
+ maxLength: NTS_FREE_TEXT_MAX_LENGTH,
285
296
  description: '세금계산서 비고 (선택, 외국인등록번호 공급받는자 정발행 시 null 또는 미입력)',
286
297
  },
287
298
  },
@@ -301,15 +312,19 @@ export const jsonSchemas = {
301
312
  items: {
302
313
  type: 'array',
303
314
  minItems: 1,
304
- maxItems: 5,
315
+ maxItems: TAX_INVOICE_ITEM_MAX_COUNT,
305
316
  items: {
306
317
  type: 'object',
307
318
  required: ['date', 'name', 'supplyCost'],
308
319
  properties: {
309
320
  date: { type: 'string', format: 'date', description: '공급일자' },
310
- name: { type: 'string', description: '품목명' },
321
+ name: { type: 'string', maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목명' },
311
322
  supplyCost: { type: 'integer', description: '공급가액 (양수: 증가, 음수: 감소)' },
312
- tax: { type: 'integer', description: '세액 (선택)' },
323
+ unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
324
+ quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
325
+ tax: { type: 'integer', nullable: true, description: '세액 (선택)' },
326
+ specification: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, description: '규격 (선택)' },
327
+ description: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목 비고 (선택)' },
313
328
  },
314
329
  },
315
330
  },
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bolta-io/cli",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "description": "Bolta API CLI for Korean electronic tax invoices (전자세금계산서)",
5
5
  "type": "module",
6
6
  "bin": {