kordoc 2.7.1 → 2.7.2

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 (55) hide show
  1. package/README.md +450 -450
  2. package/dist/{chunk-OBSPVJ6A.js → chunk-4NWDJGAU.js} +12 -4
  3. package/dist/chunk-4NWDJGAU.js.map +1 -0
  4. package/dist/{chunk-LA66FVBN.js → chunk-4SK2PDMQ.js} +2 -2
  5. package/dist/chunk-4SK2PDMQ.js.map +1 -0
  6. package/dist/{chunk-GNN6MHH4.js → chunk-LB7E2KDF.js} +2 -2
  7. package/dist/chunk-LB7E2KDF.js.map +1 -0
  8. package/dist/{chunk-5CJGKKMZ.js → chunk-MEPHGCPQ.js} +1 -1
  9. package/dist/chunk-MEPHGCPQ.js.map +1 -0
  10. package/dist/chunk-MOL7MDBG.js +0 -0
  11. package/dist/chunk-MUOQXDZ4.cjs.map +1 -1
  12. package/dist/{chunk-RFGEEHI4.cjs → chunk-Y476BOHI.cjs} +2 -2
  13. package/dist/chunk-Y476BOHI.cjs.map +1 -0
  14. package/dist/cli.js +4 -4
  15. package/dist/cli.js.map +1 -1
  16. package/dist/{detect-PJZMUL2Z.js → detect-RI2MQ33K.js} +2 -2
  17. package/dist/formula-JCNF43NE.js +0 -0
  18. package/dist/formula-XGG6ZP42.cjs.map +1 -1
  19. package/dist/index.cjs +105 -97
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.js +10 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/mcp.js +5 -5
  24. package/dist/mcp.js.map +1 -1
  25. package/dist/page-range-3C7UGGEK.cjs.map +1 -1
  26. package/dist/page-range-737B4EZW.js +0 -0
  27. package/dist/{parser-SRI2TIZX.cjs → parser-7OFQ67QL.cjs} +16 -16
  28. package/dist/parser-7OFQ67QL.cjs.map +1 -0
  29. package/dist/{parser-6L6DZCOB.js → parser-DJCMY3OO.js} +3 -3
  30. package/dist/parser-DJCMY3OO.js.map +1 -0
  31. package/dist/{parser-5CJGXQCJ.js → parser-QMMQ7Y7R.js} +3 -3
  32. package/dist/parser-QMMQ7Y7R.js.map +1 -0
  33. package/dist/{provider-WPIYEALY.js → provider-2SEHU2FM.js} +1 -1
  34. package/dist/provider-2SEHU2FM.js.map +1 -0
  35. package/dist/{provider-7H4CPZYS.js → provider-AKROB7WQ.js} +1 -1
  36. package/dist/provider-AKROB7WQ.js.map +1 -0
  37. package/dist/{provider-YN2SSK4X.cjs → provider-SNONEZNW.cjs} +1 -1
  38. package/dist/provider-SNONEZNW.cjs.map +1 -0
  39. package/dist/setup-57FB3LSP.js +0 -0
  40. package/dist/{watch-7CTGUDQB.js → watch-FVMVIZ5Q.js} +4 -4
  41. package/dist/watch-FVMVIZ5Q.js.map +1 -0
  42. package/package.json +98 -98
  43. package/dist/chunk-5CJGKKMZ.js.map +0 -1
  44. package/dist/chunk-GNN6MHH4.js.map +0 -1
  45. package/dist/chunk-LA66FVBN.js.map +0 -1
  46. package/dist/chunk-OBSPVJ6A.js.map +0 -1
  47. package/dist/chunk-RFGEEHI4.cjs.map +0 -1
  48. package/dist/parser-5CJGXQCJ.js.map +0 -1
  49. package/dist/parser-6L6DZCOB.js.map +0 -1
  50. package/dist/parser-SRI2TIZX.cjs.map +0 -1
  51. package/dist/provider-7H4CPZYS.js.map +0 -1
  52. package/dist/provider-WPIYEALY.js.map +0 -1
  53. package/dist/provider-YN2SSK4X.cjs.map +0 -1
  54. package/dist/watch-7CTGUDQB.js.map +0 -1
  55. /package/dist/{detect-PJZMUL2Z.js.map → detect-RI2MQ33K.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\github_project\\kordoc\\dist\\parser-SRI2TIZX.cjs"],"names":[],"mappings":"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AAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA;AACA,IAAA;AACA,MAAA;AACA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA","file":"C:\\github_project\\kordoc\\dist\\parser-SRI2TIZX.cjs","sourcesContent":[null]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ocr/provider.ts"],"sourcesContent":["/**\r\n * OCR 프로바이더 브릿지 — PDF 페이지를 이미지로 렌더링하여 OCR 호출\r\n *\r\n * kordoc은 OCR 라이브러리를 번들하지 않음.\r\n * 사용자가 OcrProvider 함수를 제공하면 이미지 기반 PDF도 텍스트 추출 가능.\r\n *\r\n * @example\r\n * ```ts\r\n * import { parse } from \"kordoc\"\r\n *\r\n * const result = await parse(buffer, {\r\n * ocr: async (pageImage, pageNumber, mimeType) => {\r\n * // Tesseract, Claude Vision, Google Vision 등 사용\r\n * return await myOcrService.recognize(pageImage)\r\n * }\r\n * })\r\n * ```\r\n */\r\n\r\nimport type { OcrProvider, IRBlock } from \"../types.js\"\r\n\r\n/**\r\n * 이미지 기반 PDF 페이지에 OCR을 적용하여 IRBlock[] 반환.\r\n *\r\n * pdfjs page 객체에서 viewport + render를 통해 PNG 생성 후\r\n * 사용자 제공 OcrProvider 호출.\r\n *\r\n * canvas 미설치 시 pdfjs render 불가하므로 에러 반환.\r\n */\r\nexport async function ocrPages(\r\n doc: { numPages: number; getPage(n: number): Promise<PdfPageProxy> },\r\n provider: OcrProvider,\r\n pageFilter: Set<number> | null,\r\n effectivePageCount: number\r\n): Promise<IRBlock[]> {\r\n const blocks: IRBlock[] = []\r\n\r\n for (let i = 1; i <= effectivePageCount; i++) {\r\n if (pageFilter && !pageFilter.has(i)) continue\r\n const page = await doc.getPage(i)\r\n try {\r\n const imageData = await renderPageToPng(page)\r\n const text = await provider(imageData, i, \"image/png\")\r\n if (text.trim()) {\r\n blocks.push({ type: \"paragraph\", text: text.trim(), pageNumber: i })\r\n }\r\n } catch {\r\n blocks.push({ type: \"paragraph\" as const, text: `[OCR 실패: 페이지 ${i}]` })\r\n }\r\n }\r\n\r\n return blocks\r\n}\r\n\r\ninterface PdfPageProxy {\r\n getViewport(params: { scale: number }): { width: number; height: number }\r\n render(params: { canvasContext: unknown; viewport: unknown }): { promise: Promise<void> }\r\n}\r\n\r\n/**\r\n * PDF 페이지를 PNG로 렌더링.\r\n * node-canvas가 설치되어 있어야 동작.\r\n * 미설치 시 에러 throw → 호출측에서 catch.\r\n */\r\nasync function renderPageToPng(page: PdfPageProxy): Promise<Uint8Array> {\r\n // node-canvas 동적 로드 (선택적 의존성)\r\n let createCanvas: (w: number, h: number) => { getContext(t: string): unknown; toBuffer(t: string): Buffer }\r\n try {\r\n const canvasModule = await import(\"canvas\")\r\n createCanvas = canvasModule.createCanvas\r\n } catch {\r\n throw new Error(\"OCR을 사용하려면 'canvas' 패키지를 설치하세요: npm install canvas\")\r\n }\r\n\r\n const scale = 2.0 // 300 DPI 근사\r\n const viewport = page.getViewport({ scale })\r\n const canvas = createCanvas(Math.floor(viewport.width), Math.floor(viewport.height))\r\n const ctx = canvas.getContext(\"2d\")\r\n\r\n await page.render({ canvasContext: ctx, viewport }).promise\r\n return new Uint8Array(canvas.toBuffer(\"image/png\"))\r\n}\r\n"],"mappings":";;;AA6BA,eAAsB,SACpB,KACA,UACA,YACA,oBACoB;AACpB,QAAM,SAAoB,CAAC;AAE3B,WAAS,IAAI,GAAG,KAAK,oBAAoB,KAAK;AAC5C,QAAI,cAAc,CAAC,WAAW,IAAI,CAAC,EAAG;AACtC,UAAM,OAAO,MAAM,IAAI,QAAQ,CAAC;AAChC,QAAI;AACF,YAAM,YAAY,MAAM,gBAAgB,IAAI;AAC5C,YAAM,OAAO,MAAM,SAAS,WAAW,GAAG,WAAW;AACrD,UAAI,KAAK,KAAK,GAAG;AACf,eAAO,KAAK,EAAE,MAAM,aAAa,MAAM,KAAK,KAAK,GAAG,YAAY,EAAE,CAAC;AAAA,MACrE;AAAA,IACF,QAAQ;AACN,aAAO,KAAK,EAAE,MAAM,aAAsB,MAAM,yCAAgB,CAAC,IAAI,CAAC;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;AAYA,eAAe,gBAAgB,MAAyC;AAEtE,MAAI;AACJ,MAAI;AACF,UAAM,eAAe,MAAM,OAAO,QAAQ;AAC1C,mBAAe,aAAa;AAAA,EAC9B,QAAQ;AACN,UAAM,IAAI,MAAM,+HAAoD;AAAA,EACtE;AAEA,QAAM,QAAQ;AACd,QAAM,WAAW,KAAK,YAAY,EAAE,MAAM,CAAC;AAC3C,QAAM,SAAS,aAAa,KAAK,MAAM,SAAS,KAAK,GAAG,KAAK,MAAM,SAAS,MAAM,CAAC;AACnF,QAAM,MAAM,OAAO,WAAW,IAAI;AAElC,QAAM,KAAK,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,EAAE;AACpD,SAAO,IAAI,WAAW,OAAO,SAAS,WAAW,CAAC;AACpD;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ocr/provider.ts"],"sourcesContent":["/**\r\n * OCR 프로바이더 브릿지 — PDF 페이지를 이미지로 렌더링하여 OCR 호출\r\n *\r\n * kordoc은 OCR 라이브러리를 번들하지 않음.\r\n * 사용자가 OcrProvider 함수를 제공하면 이미지 기반 PDF도 텍스트 추출 가능.\r\n *\r\n * @example\r\n * ```ts\r\n * import { parse } from \"kordoc\"\r\n *\r\n * const result = await parse(buffer, {\r\n * ocr: async (pageImage, pageNumber, mimeType) => {\r\n * // Tesseract, Claude Vision, Google Vision 등 사용\r\n * return await myOcrService.recognize(pageImage)\r\n * }\r\n * })\r\n * ```\r\n */\r\n\r\nimport type { OcrProvider, IRBlock } from \"../types.js\"\r\n\r\n/**\r\n * 이미지 기반 PDF 페이지에 OCR을 적용하여 IRBlock[] 반환.\r\n *\r\n * pdfjs page 객체에서 viewport + render를 통해 PNG 생성 후\r\n * 사용자 제공 OcrProvider 호출.\r\n *\r\n * canvas 미설치 시 pdfjs render 불가하므로 에러 반환.\r\n */\r\nexport async function ocrPages(\r\n doc: { numPages: number; getPage(n: number): Promise<PdfPageProxy> },\r\n provider: OcrProvider,\r\n pageFilter: Set<number> | null,\r\n effectivePageCount: number\r\n): Promise<IRBlock[]> {\r\n const blocks: IRBlock[] = []\r\n\r\n for (let i = 1; i <= effectivePageCount; i++) {\r\n if (pageFilter && !pageFilter.has(i)) continue\r\n const page = await doc.getPage(i)\r\n try {\r\n const imageData = await renderPageToPng(page)\r\n const text = await provider(imageData, i, \"image/png\")\r\n if (text.trim()) {\r\n blocks.push({ type: \"paragraph\", text: text.trim(), pageNumber: i })\r\n }\r\n } catch {\r\n blocks.push({ type: \"paragraph\" as const, text: `[OCR 실패: 페이지 ${i}]` })\r\n }\r\n }\r\n\r\n return blocks\r\n}\r\n\r\ninterface PdfPageProxy {\r\n getViewport(params: { scale: number }): { width: number; height: number }\r\n render(params: { canvasContext: unknown; viewport: unknown }): { promise: Promise<void> }\r\n}\r\n\r\n/**\r\n * PDF 페이지를 PNG로 렌더링.\r\n * node-canvas가 설치되어 있어야 동작.\r\n * 미설치 시 에러 throw → 호출측에서 catch.\r\n */\r\nasync function renderPageToPng(page: PdfPageProxy): Promise<Uint8Array> {\r\n // node-canvas 동적 로드 (선택적 의존성)\r\n let createCanvas: (w: number, h: number) => { getContext(t: string): unknown; toBuffer(t: string): Buffer }\r\n try {\r\n const canvasModule = await import(\"canvas\")\r\n createCanvas = canvasModule.createCanvas\r\n } catch {\r\n throw new Error(\"OCR을 사용하려면 'canvas' 패키지를 설치하세요: npm install canvas\")\r\n }\r\n\r\n const scale = 2.0 // 300 DPI 근사\r\n const viewport = page.getViewport({ scale })\r\n const canvas = createCanvas(Math.floor(viewport.width), Math.floor(viewport.height))\r\n const ctx = canvas.getContext(\"2d\")\r\n\r\n await page.render({ canvasContext: ctx, viewport }).promise\r\n return new Uint8Array(canvas.toBuffer(\"image/png\"))\r\n}\r\n"],"mappings":";AA6BA,eAAsB,SACpB,KACA,UACA,YACA,oBACoB;AACpB,QAAM,SAAoB,CAAC;AAE3B,WAAS,IAAI,GAAG,KAAK,oBAAoB,KAAK;AAC5C,QAAI,cAAc,CAAC,WAAW,IAAI,CAAC,EAAG;AACtC,UAAM,OAAO,MAAM,IAAI,QAAQ,CAAC;AAChC,QAAI;AACF,YAAM,YAAY,MAAM,gBAAgB,IAAI;AAC5C,YAAM,OAAO,MAAM,SAAS,WAAW,GAAG,WAAW;AACrD,UAAI,KAAK,KAAK,GAAG;AACf,eAAO,KAAK,EAAE,MAAM,aAAa,MAAM,KAAK,KAAK,GAAG,YAAY,EAAE,CAAC;AAAA,MACrE;AAAA,IACF,QAAQ;AACN,aAAO,KAAK,EAAE,MAAM,aAAsB,MAAM,yCAAgB,CAAC,IAAI,CAAC;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;AAYA,eAAe,gBAAgB,MAAyC;AAEtE,MAAI;AACJ,MAAI;AACF,UAAM,eAAe,MAAM,OAAO,QAAQ;AAC1C,mBAAe,aAAa;AAAA,EAC9B,QAAQ;AACN,UAAM,IAAI,MAAM,+HAAoD;AAAA,EACtE;AAEA,QAAM,QAAQ;AACd,QAAM,WAAW,KAAK,YAAY,EAAE,MAAM,CAAC;AAC3C,QAAM,SAAS,aAAa,KAAK,MAAM,SAAS,KAAK,GAAG,KAAK,MAAM,SAAS,MAAM,CAAC;AACnF,QAAM,MAAM,OAAO,WAAW,IAAI;AAElC,QAAM,KAAK,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,EAAE;AACpD,SAAO,IAAI,WAAW,OAAO,SAAS,WAAW,CAAC;AACpD;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["c:\\github_project\\kordoc\\dist\\provider-YN2SSK4X.cjs"],"names":[],"mappings":"AAAA;AACA,MAAM,SAAS,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE;AACvE,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;AACnB,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;AAChD,IAAI,GAAG,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ;AAClD,IAAI,MAAM,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,IAAI,IAAI;AACR,MAAM,MAAM,UAAU,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC;AACnD,MAAM,MAAM,KAAK,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC;AAC5D,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AACvB,QAAQ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AAC5E,MAAM;AACN,IAAI,EAAE,UAAM;AACZ,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7F,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,MAAM,SAAS,eAAe,CAAC,IAAI,EAAE;AACrC,EAAE,IAAI,YAAY;AAClB,EAAE,IAAI;AACN,IAAI,MAAM,aAAa,EAAE,MAAM,4DAAM,CAAC,QAAQ,GAAC;AAC/C,IAAI,aAAa,EAAE,YAAY,CAAC,YAAY;AAC5C,EAAE,EAAE,WAAM;AACV,IAAI,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC;AACpJ,EAAE;AACF,EAAE,MAAM,MAAM,EAAE,CAAC;AACjB,EAAE,MAAM,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9C,EAAE,MAAM,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtF,EAAE,MAAM,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACrC,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO;AAC7D,EAAE,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD;AACA;AACE;AACF,4BAAC","file":"C:\\github_project\\kordoc\\dist\\provider-YN2SSK4X.cjs","sourcesContent":[null]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/watch.ts"],"sourcesContent":["/** 디렉토리 감시 모드 — 새 문서 자동 변환 + Webhook 알림 */\r\n\r\nimport { watch, readFileSync, writeFileSync, mkdirSync, statSync, existsSync, realpathSync } from \"fs\"\r\nimport { basename, resolve, extname, sep } from \"path\"\r\nimport { parse, detectFormat } from \"./index.js\"\r\nimport { toArrayBuffer } from \"./utils.js\"\r\nimport type { WatchOptions } from \"./types.js\"\r\n\r\nconst SUPPORTED_EXTENSIONS = new Set([\".hwp\", \".hwpx\", \".pdf\", \".xlsx\", \".docx\"])\r\nconst DEBOUNCE_MS = 1000\r\n/** 파일 쓰기 완료 판정: 연속 2회 동일 크기 확인 간격 */\r\nconst STABLE_CHECK_MS = 300\r\nconst MAX_FILE_SIZE = 500 * 1024 * 1024\r\n\r\n/**\r\n * 디렉토리를 감시하여 새 문서 파일을 자동 변환.\r\n *\r\n * @example\r\n * ```bash\r\n * kordoc watch ./incoming -d ./output --webhook https://api.example.com/docs\r\n * ```\r\n */\r\nexport async function watchDirectory(options: WatchOptions): Promise<void> {\r\n const { dir, outDir, webhook, format = \"markdown\", pages, silent } = options\r\n\r\n if (!existsSync(dir)) throw new Error(`디렉토리를 찾을 수 없습니다: ${dir}`)\r\n if (webhook) validateWebhookUrl(webhook)\r\n if (outDir) mkdirSync(outDir, { recursive: true })\r\n\r\n const log = silent ? () => {} : (msg: string) => process.stderr.write(msg + \"\\n\")\r\n log(`[kordoc watch] 감시 시작: ${resolve(dir)}`)\r\n if (outDir) log(`[kordoc watch] 출력: ${resolve(outDir)}`)\r\n if (webhook) log(`[kordoc watch] 웹훅: ${webhook}`)\r\n\r\n // 디바운스 맵\r\n const pending = new Map<string, ReturnType<typeof setTimeout>>()\r\n // 동시 처리 제한 — 메모리 폭주 방지\r\n const MAX_CONCURRENT = 3\r\n let activeCount = 0\r\n const inProgress = new Set<string>()\r\n\r\n /** 파일 크기가 안정화될 때까지 대기 (쓰기 완료 감지) */\r\n const waitForStableSize = async (absPath: string): Promise<number> => {\r\n let prevSize = statSync(absPath).size\r\n await new Promise(r => setTimeout(r, STABLE_CHECK_MS))\r\n if (!existsSync(absPath)) return 0\r\n const currSize = statSync(absPath).size\r\n if (currSize !== prevSize) {\r\n // 크기가 변했으면 한 번 더 대기\r\n await new Promise(r => setTimeout(r, STABLE_CHECK_MS))\r\n if (!existsSync(absPath)) return 0\r\n return statSync(absPath).size\r\n }\r\n return currSize\r\n }\r\n\r\n const processFile = async (filePath: string) => {\r\n const ext = extname(filePath).toLowerCase()\r\n if (!SUPPORTED_EXTENSIONS.has(ext)) return\r\n // 동일 파일 동시 처리 방지 + 동시 처리 수 제한\r\n if (inProgress.has(filePath) || activeCount >= MAX_CONCURRENT) return\r\n inProgress.add(filePath)\r\n activeCount++\r\n\r\n const fileName = basename(filePath)\r\n try {\r\n const rawPath = resolve(dir, filePath)\r\n if (!existsSync(rawPath)) return\r\n // 심볼릭 링크 해석 후 감시 디렉토리 외부 파일 차단\r\n let absPath: string\r\n try { absPath = realpathSync(rawPath) } catch { return }\r\n const realDir = realpathSync(resolve(dir))\r\n if (!absPath.startsWith(realDir + sep) && absPath !== realDir) return\r\n\r\n const fileSize = await waitForStableSize(absPath)\r\n if (fileSize > MAX_FILE_SIZE || fileSize === 0) return\r\n\r\n log(`[kordoc watch] 변환 중: ${fileName}`)\r\n\r\n const buffer = readFileSync(absPath)\r\n const arrayBuffer = toArrayBuffer(buffer)\r\n const parseOptions = pages ? { pages } : undefined\r\n const result = await parse(arrayBuffer, parseOptions)\r\n\r\n if (!result.success) {\r\n log(`[kordoc watch] 실패: ${fileName} — ${result.error}`)\r\n await sendWebhook(webhook, { file: fileName, format: detectFormat(arrayBuffer), success: false, error: result.error })\r\n return\r\n }\r\n\r\n const output = format === \"json\" ? JSON.stringify(result, null, 2) : result.markdown\r\n\r\n if (outDir) {\r\n const outExt = format === \"json\" ? \".json\" : \".md\"\r\n const outPath = resolve(outDir, fileName.replace(/\\.[^.]+$/, outExt))\r\n writeFileSync(outPath, output, \"utf-8\")\r\n log(`[kordoc watch] 완료: ${fileName} → ${basename(outPath)}`)\r\n } else {\r\n process.stdout.write(output + \"\\n\")\r\n }\r\n\r\n await sendWebhook(webhook, {\r\n file: fileName,\r\n format: result.fileType,\r\n success: true,\r\n markdown: format === \"markdown\" ? output.substring(0, 1000) : undefined,\r\n })\r\n } catch (err) {\r\n log(`[kordoc watch] 에러: ${fileName} — ${err instanceof Error ? err.message : err}`)\r\n } finally {\r\n inProgress.delete(filePath)\r\n activeCount--\r\n }\r\n }\r\n\r\n // fs.watch recursive (Node 18+ Windows/macOS, Node 19+ Linux)\r\n watch(dir, { recursive: true }, (event, filename) => {\r\n if (!filename) return\r\n const filePath = filename.toString()\r\n\r\n // 디바운스\r\n const existing = pending.get(filePath)\r\n if (existing) clearTimeout(existing)\r\n pending.set(filePath, setTimeout(() => {\r\n pending.delete(filePath)\r\n processFile(filePath).catch((err) => {\r\n process.stderr.write(`[kordoc watch] 처리 실패: ${filePath} — ${err instanceof Error ? err.message : String(err)}\\n`)\r\n })\r\n }, DEBOUNCE_MS))\r\n })\r\n\r\n // 프로세스 종료 방지 (Ctrl+C로 종료)\r\n return new Promise(() => {})\r\n}\r\n\r\n/** Webhook URL 검증 — SSRF 방지: http/https만 허용, localhost/private IP 차단 */\r\nfunction validateWebhookUrl(url: string): void {\r\n let parsed: URL\r\n try {\r\n parsed = new URL(url)\r\n } catch {\r\n throw new Error(`유효하지 않은 webhook URL: ${url}`)\r\n }\r\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\r\n throw new Error(`허용되지 않는 webhook 프로토콜: ${parsed.protocol}`)\r\n }\r\n const hostname = parsed.hostname.toLowerCase()\r\n if (\r\n hostname === \"localhost\" ||\r\n hostname === \"[::1]\" ||\r\n hostname.startsWith(\"127.\") ||\r\n hostname.startsWith(\"10.\") ||\r\n hostname.startsWith(\"192.168.\") ||\r\n /^172\\.(1[6-9]|2\\d|3[01])\\./.test(hostname) ||\r\n hostname === \"0.0.0.0\" ||\r\n hostname.startsWith(\"169.254.\") ||\r\n hostname.endsWith(\".local\") ||\r\n // IPv6 사설 대역\r\n hostname.startsWith(\"[fc\") ||\r\n hostname.startsWith(\"[fd\") ||\r\n hostname.startsWith(\"[fe80:\") ||\r\n hostname === \"[::0]\" ||\r\n hostname === \"[::]\" ||\r\n // 클라우드 메타데이터 엔드포인트\r\n hostname === \"metadata.google.internal\" ||\r\n hostname === \"metadata.google\" ||\r\n // 16진수/8진수/10진수 정수 IP 인코딩 우회 방지\r\n /^0x[0-9a-f]+$/i.test(hostname) ||\r\n /^0[0-7]+$/.test(hostname) ||\r\n /^\\d+$/.test(hostname)\r\n ) {\r\n throw new Error(`내부 네트워크 대상 webhook은 허용되지 않습니다: ${hostname}`)\r\n }\r\n}\r\n\r\nasync function sendWebhook(url: string | undefined, payload: Record<string, unknown>): Promise<void> {\r\n if (!url) return\r\n try {\r\n validateWebhookUrl(url)\r\n await fetch(url, {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({ ...payload, timestamp: new Date().toISOString() }),\r\n redirect: \"error\",\r\n })\r\n } catch (err) {\r\n process.stderr.write(`[kordoc watch] webhook 전송 실패: ${err instanceof Error ? err.message : String(err)}\\n`)\r\n }\r\n}\r\n"],"mappings":"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","names":[]}