@clazic/kordoc 2.4.18 → 2.5.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 (49) hide show
  1. package/dist/{auto-detect-2YGFYQCN.js → auto-detect-CBYICI6B.js} +4 -4
  2. package/dist/chunk-AEWWERJ5.js +35 -0
  3. package/dist/chunk-AEWWERJ5.js.map +1 -0
  4. package/dist/{chunk-7NOZFYH6.js → chunk-CLK4PNZ7.js} +7 -8
  5. package/dist/chunk-CLK4PNZ7.js.map +1 -0
  6. package/dist/chunk-CPTOBJJD.js +125 -0
  7. package/dist/chunk-CPTOBJJD.js.map +1 -0
  8. package/dist/{chunk-W2KDIKDF.js → chunk-IJGNPAK2.js} +2 -2
  9. package/dist/{chunk-W2KDIKDF.js.map → chunk-IJGNPAK2.js.map} +1 -1
  10. package/dist/{chunk-T7EBS5XP.js → chunk-NKUNXGWI.js} +10 -22
  11. package/dist/chunk-NKUNXGWI.js.map +1 -0
  12. package/dist/chunk-THBLCND6.js +33 -0
  13. package/dist/chunk-THBLCND6.js.map +1 -0
  14. package/dist/{chunk-34WIGIQC.js → chunk-Y4WFKJ5P.js} +1 -1
  15. package/dist/chunk-Y4WFKJ5P.js.map +1 -0
  16. package/dist/cli.js +41 -13
  17. package/dist/cli.js.map +1 -1
  18. package/dist/doctor-SJ7NYSXC.js +126 -0
  19. package/dist/doctor-SJ7NYSXC.js.map +1 -0
  20. package/dist/index.cjs +2606 -186
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +6 -7
  23. package/dist/index.d.ts +6 -7
  24. package/dist/index.js +2619 -197
  25. package/dist/index.js.map +1 -1
  26. package/dist/install-commands-P2KTEXQ4.js +11 -0
  27. package/dist/mcp.js +8 -6
  28. package/dist/mcp.js.map +1 -1
  29. package/dist/pm-7KGLH6MX.js +9 -0
  30. package/dist/{resolve-673XFZQ6.js → resolve-XWYJYKKH.js} +15 -36
  31. package/dist/resolve-XWYJYKKH.js.map +1 -0
  32. package/dist/setup/doctor.cjs +308 -0
  33. package/dist/setup/doctor.js +288 -0
  34. package/dist/{utils-DHOODYKU.js → utils-RBXHHCLI.js} +2 -2
  35. package/dist/utils-RBXHHCLI.js.map +1 -0
  36. package/dist/{watch-YGIU7RN7.js → watch-FRLS6FKE.js} +8 -6
  37. package/dist/{watch-YGIU7RN7.js.map → watch-FRLS6FKE.js.map} +1 -1
  38. package/package.json +7 -4
  39. package/scripts/postinstall.cjs +27 -0
  40. package/dist/chunk-34WIGIQC.js.map +0 -1
  41. package/dist/chunk-7FMKAV4P.js +0 -56
  42. package/dist/chunk-7FMKAV4P.js.map +0 -1
  43. package/dist/chunk-7NOZFYH6.js.map +0 -1
  44. package/dist/chunk-T7EBS5XP.js.map +0 -1
  45. package/dist/resolve-673XFZQ6.js.map +0 -1
  46. package/dist/tesseract-provider-MNMZPSGF.js +0 -11
  47. /package/dist/{auto-detect-2YGFYQCN.js.map → auto-detect-CBYICI6B.js.map} +0 -0
  48. /package/dist/{tesseract-provider-MNMZPSGF.js.map → install-commands-P2KTEXQ4.js.map} +0 -0
  49. /package/dist/{utils-DHOODYKU.js.map → pm-7KGLH6MX.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ocr/resolve.ts"],"sourcesContent":["/**\n * OCR 프로바이더 팩토리\n *\n * ocrMode에 따라 적절한 OcrProvider를 생성하여 반환.\n * - \"auto\": 설치된 CLI 자동 탐색 (gemini → claude → codex → ollama → tesseract)\n * tesseract.js는 bundled 의존성이므로 항상 사용 가능 (null 반환 없음)\n * - 특정 CLI: 해당 CLI 사용 (미설치 시 에러)\n * - \"tesseract\": 내장 tesseract.js 직접 사용\n * - \"off\": 에러 throw\n */\n\nimport type { OcrMode, OcrProvider, ParseWarning, BatchOcrProvider } from \"../types.js\"\nimport { detectAvailableOcr, validateOcrMode, getTesseractFallbackMessage } from \"./auto-detect.js\"\nimport { createCliOcrProvider } from \"./cli-provider.js\"\nimport { createLoggerFromEnv } from \"../logging/logger.js\"\n\n/**\n * ocrMode에 따라 OcrProvider를 생성.\n *\n * @param mode - OCR 모드\n * @param warnings - 경고 수집 배열 (fallback 발생 시 경고 추가)\n * @param concurrency - 병렬 처리 수 (tesseract 전용, 기본: 1=순차)\n * @returns OcrProvider 함수\n * @throws mode=\"off\"이거나 지정 CLI 미설치 시 Error\n */\nexport async function resolveOcrProvider(\n mode: OcrMode,\n warnings?: ParseWarning[],\n concurrency?: number,\n batchSize?: number\n): Promise<OcrProvider | BatchOcrProvider> {\n const logger = createLoggerFromEnv().child({ component: \"ocr/resolve.ts\", stage: \"ocr\" })\n logger.log({ level: \"debug\", event: \"start\", message: \"OCR provider resolve 시작\", meta: { mode, concurrency, batchSize } })\n if (mode === \"off\") {\n logger.log({ level: \"warn\", event: \"error\", message: \"OCR 비활성화 모드 요청\" })\n throw new Error(\"OCR이 비활성화되어 있습니다 (--ocr off).\")\n }\n\n // ── 수동 지정 모드 ──────────────────────────────────\n if (mode !== \"auto\") {\n validateOcrMode(mode) // tesseract는 항상 통과\n\n if (mode === \"tesseract\") {\n const { createTesseractProvider, createTesseractPoolProvider } = await import(\"./tesseract-provider.js\")\n // concurrency > 1이면 워커 풀 사용, 그 외 단일 워커 사용\n if (concurrency && concurrency > 1) {\n logger.log({ level: \"info\", event: \"done\", message: \"Tesseract pool provider 선택\", meta: { concurrency } })\n return createTesseractPoolProvider(concurrency)\n }\n logger.log({ level: \"info\", event: \"done\", message: \"Tesseract single provider 선택\" })\n return createTesseractProvider()\n }\n\n // gemini/claude/codex: 배치 크기 > 1이면 배치 프로바이더 사용\n if (mode === \"gemini\" || mode === \"claude\" || mode === \"codex\") {\n const { createBatchCliProvider, DEFAULT_BATCH_SIZES } = await import(\"./batch-provider.js\")\n const effectiveBatch = batchSize ?? DEFAULT_BATCH_SIZES[mode]\n if (effectiveBatch > 1) {\n logger.log({ level: \"info\", event: \"done\", message: \"Batch CLI provider 선택\", meta: { mode, batchSize: effectiveBatch } })\n return createBatchCliProvider(mode, effectiveBatch)\n }\n logger.log({ level: \"info\", event: \"done\", message: \"CLI provider 선택\", meta: { mode } })\n return createCliOcrProvider(mode)\n }\n\n // CLI 프로바이더는 rate limit 보호를 위해 concurrency 무시 (항상 순차)\n logger.log({ level: \"info\", event: \"done\", message: \"CLI provider 선택\", meta: { mode } })\n return createCliOcrProvider(mode)\n }\n\n // ── 자동 탐색 모드 ───────────────────────────────────\n // detectAvailableOcr()는 항상 값을 반환 (tesseract fallback으로 null 없음)\n const detected = detectAvailableOcr()\n logger.log({ level: \"info\", event: \"progress\", message: \"OCR auto 감지 결과\", meta: { detected } })\n\n // codex가 아닌 경우 fallback 경고\n if (detected !== \"codex\") {\n if (detected === \"tesseract\") {\n // 내장 tesseract로 fallback — 구조 복원 제한 안내\n warnings?.push({\n message: getTesseractFallbackMessage(),\n code: \"OCR_CLI_FALLBACK\",\n })\n } else {\n warnings?.push({\n message: `OCR: '${detected}' 사용 중 (codex CLI가 없어 fallback). 더 나은 품질을 위해 codex CLI 설치를 권장합니다.`,\n code: \"OCR_CLI_FALLBACK\",\n })\n }\n }\n\n if (detected === \"tesseract\") {\n const { createTesseractProvider, createTesseractPoolProvider } = await import(\"./tesseract-provider.js\")\n // concurrency > 1이면 워커 풀 사용, 그 외 단일 워커 사용\n if (concurrency && concurrency > 1) {\n logger.log({ level: \"info\", event: \"done\", message: \"AUTO: Tesseract pool provider 선택\", meta: { concurrency } })\n return createTesseractPoolProvider(concurrency)\n }\n logger.log({ level: \"info\", event: \"done\", message: \"AUTO: Tesseract single provider 선택\" })\n return createTesseractProvider()\n }\n\n // gemini/claude/codex: 배치 크기 > 1이면 배치 프로바이더 사용\n if (detected === \"gemini\" || detected === \"codex\" || detected === \"claude\") {\n const { createBatchCliProvider, DEFAULT_BATCH_SIZES } = await import(\"./batch-provider.js\")\n const effectiveBatch = batchSize ?? DEFAULT_BATCH_SIZES[detected]\n if (effectiveBatch > 1) {\n logger.log({ level: \"info\", event: \"done\", message: \"AUTO: Batch CLI provider 선택\", meta: { mode: detected, batchSize: effectiveBatch } })\n return createBatchCliProvider(detected, effectiveBatch)\n }\n logger.log({ level: \"info\", event: \"done\", message: \"AUTO: CLI provider 선택\", meta: { mode: detected } })\n return createCliOcrProvider(detected)\n }\n\n // CLI 프로바이더는 rate limit 보호를 위해 concurrency 무시 (항상 순차)\n logger.log({ level: \"info\", event: \"done\", message: \"AUTO: CLI provider 선택\", meta: { mode: detected } })\n return createCliOcrProvider(detected)\n}\n"],"mappings":"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","names":[]}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- createTesseractPoolProvider,
4
- createTesseractProvider
5
- } from "./chunk-7FMKAV4P.js";
6
- import "./chunk-ZWE3DS7E.js";
7
- export {
8
- createTesseractPoolProvider,
9
- createTesseractProvider
10
- };
11
- //# sourceMappingURL=tesseract-provider-MNMZPSGF.js.map