@loonylabs/llm-middleware 2.0.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 (396) hide show
  1. package/.env.example +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +629 -0
  4. package/dist/examples/character-generator/character-generator.messages.d.ts +9 -0
  5. package/dist/examples/character-generator/character-generator.messages.d.ts.map +1 -0
  6. package/dist/examples/character-generator/character-generator.messages.js +54 -0
  7. package/dist/examples/character-generator/character-generator.messages.js.map +1 -0
  8. package/dist/examples/character-generator/character-generator.usecase.d.ts +129 -0
  9. package/dist/examples/character-generator/character-generator.usecase.d.ts.map +1 -0
  10. package/dist/examples/character-generator/character-generator.usecase.js +209 -0
  11. package/dist/examples/character-generator/character-generator.usecase.js.map +1 -0
  12. package/dist/examples/character-generator/create-character.messages.d.ts +11 -0
  13. package/dist/examples/character-generator/create-character.messages.d.ts.map +1 -0
  14. package/dist/examples/character-generator/create-character.messages.js +38 -0
  15. package/dist/examples/character-generator/create-character.messages.js.map +1 -0
  16. package/dist/examples/flat-formatter-demo/product-preset.example.d.ts +99 -0
  17. package/dist/examples/flat-formatter-demo/product-preset.example.d.ts.map +1 -0
  18. package/dist/examples/flat-formatter-demo/product-preset.example.js +85 -0
  19. package/dist/examples/flat-formatter-demo/product-preset.example.js.map +1 -0
  20. package/dist/examples/simple-chat/chat.controller.d.ts +15 -0
  21. package/dist/examples/simple-chat/chat.controller.d.ts.map +1 -0
  22. package/dist/examples/simple-chat/chat.controller.js +39 -0
  23. package/dist/examples/simple-chat/chat.controller.js.map +1 -0
  24. package/dist/examples/simple-chat/chat.messages.d.ts +10 -0
  25. package/dist/examples/simple-chat/chat.messages.d.ts.map +1 -0
  26. package/dist/examples/simple-chat/chat.messages.js +17 -0
  27. package/dist/examples/simple-chat/chat.messages.js.map +1 -0
  28. package/dist/examples/simple-chat/chat.usecase.d.ts +33 -0
  29. package/dist/examples/simple-chat/chat.usecase.d.ts.map +1 -0
  30. package/dist/examples/simple-chat/chat.usecase.js +40 -0
  31. package/dist/examples/simple-chat/chat.usecase.js.map +1 -0
  32. package/dist/examples/simple-chat/index.d.ts +3 -0
  33. package/dist/examples/simple-chat/index.d.ts.map +1 -0
  34. package/dist/examples/simple-chat/index.js +57 -0
  35. package/dist/examples/simple-chat/index.js.map +1 -0
  36. package/dist/examples/story-generator/story-generator.messages.d.ts +13 -0
  37. package/dist/examples/story-generator/story-generator.messages.d.ts.map +1 -0
  38. package/dist/examples/story-generator/story-generator.messages.js +41 -0
  39. package/dist/examples/story-generator/story-generator.messages.js.map +1 -0
  40. package/dist/examples/story-generator/story-generator.usecase.d.ts +115 -0
  41. package/dist/examples/story-generator/story-generator.usecase.d.ts.map +1 -0
  42. package/dist/examples/story-generator/story-generator.usecase.js +121 -0
  43. package/dist/examples/story-generator/story-generator.usecase.js.map +1 -0
  44. package/dist/examples/tweet-generator/tweet-generator.messages.d.ts +15 -0
  45. package/dist/examples/tweet-generator/tweet-generator.messages.d.ts.map +1 -0
  46. package/dist/examples/tweet-generator/tweet-generator.messages.js +40 -0
  47. package/dist/examples/tweet-generator/tweet-generator.messages.js.map +1 -0
  48. package/dist/examples/tweet-generator/tweet-generator.usecase.d.ts +92 -0
  49. package/dist/examples/tweet-generator/tweet-generator.usecase.d.ts.map +1 -0
  50. package/dist/examples/tweet-generator/tweet-generator.usecase.js +116 -0
  51. package/dist/examples/tweet-generator/tweet-generator.usecase.js.map +1 -0
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +19 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/middleware/controllers/base/base.controller.d.ts +16 -0
  57. package/dist/middleware/controllers/base/base.controller.d.ts.map +1 -0
  58. package/dist/middleware/controllers/base/base.controller.js +38 -0
  59. package/dist/middleware/controllers/base/base.controller.js.map +1 -0
  60. package/dist/middleware/controllers/base/index.d.ts +2 -0
  61. package/dist/middleware/controllers/base/index.d.ts.map +1 -0
  62. package/dist/middleware/controllers/base/index.js +19 -0
  63. package/dist/middleware/controllers/base/index.js.map +1 -0
  64. package/dist/middleware/index.d.ts +7 -0
  65. package/dist/middleware/index.d.ts.map +1 -0
  66. package/dist/middleware/index.js +27 -0
  67. package/dist/middleware/index.js.map +1 -0
  68. package/dist/middleware/services/data-flow-logger/data-flow-logger.service.d.ts +127 -0
  69. package/dist/middleware/services/data-flow-logger/data-flow-logger.service.d.ts.map +1 -0
  70. package/dist/middleware/services/data-flow-logger/data-flow-logger.service.js +341 -0
  71. package/dist/middleware/services/data-flow-logger/data-flow-logger.service.js.map +1 -0
  72. package/dist/middleware/services/data-flow-logger/index.d.ts +2 -0
  73. package/dist/middleware/services/data-flow-logger/index.d.ts.map +1 -0
  74. package/dist/middleware/services/data-flow-logger/index.js +18 -0
  75. package/dist/middleware/services/data-flow-logger/index.js.map +1 -0
  76. package/dist/middleware/services/flat-formatter/flat-formatter.service.d.ts +86 -0
  77. package/dist/middleware/services/flat-formatter/flat-formatter.service.d.ts.map +1 -0
  78. package/dist/middleware/services/flat-formatter/flat-formatter.service.js +333 -0
  79. package/dist/middleware/services/flat-formatter/flat-formatter.service.js.map +1 -0
  80. package/dist/middleware/services/flat-formatter/index.d.ts +4 -0
  81. package/dist/middleware/services/flat-formatter/index.d.ts.map +1 -0
  82. package/dist/middleware/services/flat-formatter/index.js +28 -0
  83. package/dist/middleware/services/flat-formatter/index.js.map +1 -0
  84. package/dist/middleware/services/flat-formatter/presets/base-preset.d.ts +68 -0
  85. package/dist/middleware/services/flat-formatter/presets/base-preset.d.ts.map +1 -0
  86. package/dist/middleware/services/flat-formatter/presets/base-preset.js +238 -0
  87. package/dist/middleware/services/flat-formatter/presets/base-preset.js.map +1 -0
  88. package/dist/middleware/services/flat-formatter/presets/index.d.ts +5 -0
  89. package/dist/middleware/services/flat-formatter/presets/index.d.ts.map +1 -0
  90. package/dist/middleware/services/flat-formatter/presets/index.js +28 -0
  91. package/dist/middleware/services/flat-formatter/presets/index.js.map +1 -0
  92. package/dist/middleware/services/flat-formatter/presets/types/entity-types.d.ts +23 -0
  93. package/dist/middleware/services/flat-formatter/presets/types/entity-types.d.ts.map +1 -0
  94. package/dist/middleware/services/flat-formatter/presets/types/entity-types.js +3 -0
  95. package/dist/middleware/services/flat-formatter/presets/types/entity-types.js.map +1 -0
  96. package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.d.ts +30 -0
  97. package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.d.ts.map +1 -0
  98. package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.js +3 -0
  99. package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.js.map +1 -0
  100. package/dist/middleware/services/index.d.ts +10 -0
  101. package/dist/middleware/services/index.d.ts.map +1 -0
  102. package/dist/middleware/services/index.js +28 -0
  103. package/dist/middleware/services/index.js.map +1 -0
  104. package/dist/middleware/services/json-cleaner/helpers/index.d.ts +3 -0
  105. package/dist/middleware/services/json-cleaner/helpers/index.d.ts.map +1 -0
  106. package/dist/middleware/services/json-cleaner/helpers/index.js +19 -0
  107. package/dist/middleware/services/json-cleaner/helpers/index.js.map +1 -0
  108. package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.d.ts +52 -0
  109. package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.d.ts.map +1 -0
  110. package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.js +271 -0
  111. package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.js.map +1 -0
  112. package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.d.ts +83 -0
  113. package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.d.ts.map +1 -0
  114. package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.js +326 -0
  115. package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.js.map +1 -0
  116. package/dist/middleware/services/json-cleaner/index.d.ts +9 -0
  117. package/dist/middleware/services/json-cleaner/index.d.ts.map +1 -0
  118. package/dist/middleware/services/json-cleaner/index.js +31 -0
  119. package/dist/middleware/services/json-cleaner/index.js.map +1 -0
  120. package/dist/middleware/services/json-cleaner/json-cleaner-logger.d.ts +59 -0
  121. package/dist/middleware/services/json-cleaner/json-cleaner-logger.d.ts.map +1 -0
  122. package/dist/middleware/services/json-cleaner/json-cleaner-logger.js +164 -0
  123. package/dist/middleware/services/json-cleaner/json-cleaner-logger.js.map +1 -0
  124. package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.d.ts +56 -0
  125. package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.d.ts.map +1 -0
  126. package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.js +178 -0
  127. package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.js.map +1 -0
  128. package/dist/middleware/services/json-cleaner/json-cleaner.service.d.ts +94 -0
  129. package/dist/middleware/services/json-cleaner/json-cleaner.service.d.ts.map +1 -0
  130. package/dist/middleware/services/json-cleaner/json-cleaner.service.js +175 -0
  131. package/dist/middleware/services/json-cleaner/json-cleaner.service.js.map +1 -0
  132. package/dist/middleware/services/json-cleaner/json-cleaner.types.d.ts +92 -0
  133. package/dist/middleware/services/json-cleaner/json-cleaner.types.d.ts.map +1 -0
  134. package/dist/middleware/services/json-cleaner/json-cleaner.types.js +3 -0
  135. package/dist/middleware/services/json-cleaner/json-cleaner.types.js.map +1 -0
  136. package/dist/middleware/services/json-cleaner/parsers/index.d.ts +4 -0
  137. package/dist/middleware/services/json-cleaner/parsers/index.d.ts.map +1 -0
  138. package/dist/middleware/services/json-cleaner/parsers/index.js +20 -0
  139. package/dist/middleware/services/json-cleaner/parsers/index.js.map +1 -0
  140. package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.d.ts +32 -0
  141. package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.d.ts.map +1 -0
  142. package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.js +148 -0
  143. package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.js.map +1 -0
  144. package/dist/middleware/services/json-cleaner/parsers/markdown.parser.d.ts +19 -0
  145. package/dist/middleware/services/json-cleaner/parsers/markdown.parser.d.ts.map +1 -0
  146. package/dist/middleware/services/json-cleaner/parsers/markdown.parser.js +43 -0
  147. package/dist/middleware/services/json-cleaner/parsers/markdown.parser.js.map +1 -0
  148. package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.d.ts +19 -0
  149. package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.d.ts.map +1 -0
  150. package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.js +37 -0
  151. package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.js.map +1 -0
  152. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.d.ts +40 -0
  153. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.d.ts.map +1 -0
  154. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.js +138 -0
  155. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.js.map +1 -0
  156. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.d.ts +74 -0
  157. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.d.ts.map +1 -0
  158. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.js +230 -0
  159. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.js.map +1 -0
  160. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.d.ts +16 -0
  161. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.d.ts.map +1 -0
  162. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.js +179 -0
  163. package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.js.map +1 -0
  164. package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.d.ts +88 -0
  165. package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.d.ts.map +1 -0
  166. package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.js +178 -0
  167. package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.js.map +1 -0
  168. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.d.ts +51 -0
  169. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.d.ts.map +1 -0
  170. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.js +219 -0
  171. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.js.map +1 -0
  172. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.d.ts +62 -0
  173. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.d.ts.map +1 -0
  174. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.js +217 -0
  175. package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.js.map +1 -0
  176. package/dist/middleware/services/json-cleaner/recipe-system/factory.d.ts +46 -0
  177. package/dist/middleware/services/json-cleaner/recipe-system/factory.d.ts.map +1 -0
  178. package/dist/middleware/services/json-cleaner/recipe-system/factory.js +52 -0
  179. package/dist/middleware/services/json-cleaner/recipe-system/factory.js.map +1 -0
  180. package/dist/middleware/services/json-cleaner/recipe-system/index.d.ts +12 -0
  181. package/dist/middleware/services/json-cleaner/recipe-system/index.d.ts.map +1 -0
  182. package/dist/middleware/services/json-cleaner/recipe-system/index.js +28 -0
  183. package/dist/middleware/services/json-cleaner/recipe-system/index.js.map +1 -0
  184. package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.d.ts +55 -0
  185. package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.d.ts.map +1 -0
  186. package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.js +348 -0
  187. package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.js.map +1 -0
  188. package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.d.ts +70 -0
  189. package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.d.ts.map +1 -0
  190. package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.js +568 -0
  191. package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.js.map +1 -0
  192. package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.d.ts +11 -0
  193. package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.d.ts.map +1 -0
  194. package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.js +103 -0
  195. package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.js.map +1 -0
  196. package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.d.ts +171 -0
  197. package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.d.ts.map +1 -0
  198. package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.js +3 -0
  199. package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.js.map +1 -0
  200. package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.d.ts +224 -0
  201. package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.d.ts.map +1 -0
  202. package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.js +3 -0
  203. package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.js.map +1 -0
  204. package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.d.ts +29 -0
  205. package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.d.ts.map +1 -0
  206. package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.js +128 -0
  207. package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.js.map +1 -0
  208. package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.d.ts +38 -0
  209. package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.d.ts.map +1 -0
  210. package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.js +18 -0
  211. package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.js.map +1 -0
  212. package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.d.ts +65 -0
  213. package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.d.ts.map +1 -0
  214. package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.js +420 -0
  215. package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.js.map +1 -0
  216. package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.d.ts +50 -0
  217. package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.d.ts.map +1 -0
  218. package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.js +416 -0
  219. package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.js.map +1 -0
  220. package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.d.ts +27 -0
  221. package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.d.ts.map +1 -0
  222. package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.js +84 -0
  223. package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.js.map +1 -0
  224. package/dist/middleware/services/json-cleaner/strategies/index.d.ts +8 -0
  225. package/dist/middleware/services/json-cleaner/strategies/index.d.ts.map +1 -0
  226. package/dist/middleware/services/json-cleaner/strategies/index.js +24 -0
  227. package/dist/middleware/services/json-cleaner/strategies/index.js.map +1 -0
  228. package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.d.ts +23 -0
  229. package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.d.ts.map +1 -0
  230. package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.js +65 -0
  231. package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.js.map +1 -0
  232. package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.d.ts +48 -0
  233. package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.d.ts.map +1 -0
  234. package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.js +188 -0
  235. package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.js.map +1 -0
  236. package/dist/middleware/services/json-cleaner/utils/console-logger.util.d.ts +50 -0
  237. package/dist/middleware/services/json-cleaner/utils/console-logger.util.d.ts.map +1 -0
  238. package/dist/middleware/services/json-cleaner/utils/console-logger.util.js +95 -0
  239. package/dist/middleware/services/json-cleaner/utils/console-logger.util.js.map +1 -0
  240. package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.d.ts +59 -0
  241. package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.d.ts.map +1 -0
  242. package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.js +326 -0
  243. package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.js.map +1 -0
  244. package/dist/middleware/services/json-cleaner/utils/index.d.ts +3 -0
  245. package/dist/middleware/services/json-cleaner/utils/index.d.ts.map +1 -0
  246. package/dist/middleware/services/json-cleaner/utils/index.js +19 -0
  247. package/dist/middleware/services/json-cleaner/utils/index.js.map +1 -0
  248. package/dist/middleware/services/json-cleaner/utils/json-inspector.util.d.ts +27 -0
  249. package/dist/middleware/services/json-cleaner/utils/json-inspector.util.d.ts.map +1 -0
  250. package/dist/middleware/services/json-cleaner/utils/json-inspector.util.js +139 -0
  251. package/dist/middleware/services/json-cleaner/utils/json-inspector.util.js.map +1 -0
  252. package/dist/middleware/services/llm/index.d.ts +5 -0
  253. package/dist/middleware/services/llm/index.d.ts.map +1 -0
  254. package/dist/middleware/services/llm/index.js +25 -0
  255. package/dist/middleware/services/llm/index.js.map +1 -0
  256. package/dist/middleware/services/llm/llm.service.d.ts +43 -0
  257. package/dist/middleware/services/llm/llm.service.d.ts.map +1 -0
  258. package/dist/middleware/services/llm/llm.service.js +70 -0
  259. package/dist/middleware/services/llm/llm.service.js.map +1 -0
  260. package/dist/middleware/services/llm/providers/base-llm-provider.d.ts +37 -0
  261. package/dist/middleware/services/llm/providers/base-llm-provider.d.ts.map +1 -0
  262. package/dist/middleware/services/llm/providers/base-llm-provider.js +41 -0
  263. package/dist/middleware/services/llm/providers/base-llm-provider.js.map +1 -0
  264. package/dist/middleware/services/llm/providers/index.d.ts +3 -0
  265. package/dist/middleware/services/llm/providers/index.d.ts.map +1 -0
  266. package/dist/middleware/services/llm/providers/index.js +25 -0
  267. package/dist/middleware/services/llm/providers/index.js.map +1 -0
  268. package/dist/middleware/services/llm/providers/ollama-provider.d.ts +39 -0
  269. package/dist/middleware/services/llm/providers/ollama-provider.d.ts.map +1 -0
  270. package/dist/middleware/services/llm/providers/ollama-provider.js +398 -0
  271. package/dist/middleware/services/llm/providers/ollama-provider.js.map +1 -0
  272. package/dist/middleware/services/llm/types/common.types.d.ts +81 -0
  273. package/dist/middleware/services/llm/types/common.types.d.ts.map +1 -0
  274. package/dist/middleware/services/llm/types/common.types.js +17 -0
  275. package/dist/middleware/services/llm/types/common.types.js.map +1 -0
  276. package/dist/middleware/services/llm/types/index.d.ts +3 -0
  277. package/dist/middleware/services/llm/types/index.d.ts.map +1 -0
  278. package/dist/middleware/services/llm/types/index.js +21 -0
  279. package/dist/middleware/services/llm/types/index.js.map +1 -0
  280. package/dist/middleware/services/llm/types/ollama.types.d.ts +48 -0
  281. package/dist/middleware/services/llm/types/ollama.types.d.ts.map +1 -0
  282. package/dist/middleware/services/llm/types/ollama.types.js +8 -0
  283. package/dist/middleware/services/llm/types/ollama.types.js.map +1 -0
  284. package/dist/middleware/services/llm/utils/debug-llm.utils.d.ts +42 -0
  285. package/dist/middleware/services/llm/utils/debug-llm.utils.d.ts.map +1 -0
  286. package/dist/middleware/services/llm/utils/debug-llm.utils.js +325 -0
  287. package/dist/middleware/services/llm/utils/debug-llm.utils.js.map +1 -0
  288. package/dist/middleware/services/llm/utils/index.d.ts +3 -0
  289. package/dist/middleware/services/llm/utils/index.d.ts.map +1 -0
  290. package/dist/middleware/services/llm/utils/index.js +19 -0
  291. package/dist/middleware/services/llm/utils/index.js.map +1 -0
  292. package/dist/middleware/services/llm/utils/text-analysis.utils.d.ts +75 -0
  293. package/dist/middleware/services/llm/utils/text-analysis.utils.d.ts.map +1 -0
  294. package/dist/middleware/services/llm/utils/text-analysis.utils.js +197 -0
  295. package/dist/middleware/services/llm/utils/text-analysis.utils.js.map +1 -0
  296. package/dist/middleware/services/model-parameter-manager/index.d.ts +2 -0
  297. package/dist/middleware/services/model-parameter-manager/index.d.ts.map +1 -0
  298. package/dist/middleware/services/model-parameter-manager/index.js +18 -0
  299. package/dist/middleware/services/model-parameter-manager/index.js.map +1 -0
  300. package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.d.ts +165 -0
  301. package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.d.ts.map +1 -0
  302. package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.js +325 -0
  303. package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.js.map +1 -0
  304. package/dist/middleware/services/request-formatter/index.d.ts +2 -0
  305. package/dist/middleware/services/request-formatter/index.d.ts.map +1 -0
  306. package/dist/middleware/services/request-formatter/index.js +18 -0
  307. package/dist/middleware/services/request-formatter/index.js.map +1 -0
  308. package/dist/middleware/services/request-formatter/request-formatter.service.d.ts +71 -0
  309. package/dist/middleware/services/request-formatter/request-formatter.service.d.ts.map +1 -0
  310. package/dist/middleware/services/request-formatter/request-formatter.service.js +230 -0
  311. package/dist/middleware/services/request-formatter/request-formatter.service.js.map +1 -0
  312. package/dist/middleware/services/response-processor.service.d.ts +106 -0
  313. package/dist/middleware/services/response-processor.service.d.ts.map +1 -0
  314. package/dist/middleware/services/response-processor.service.js +236 -0
  315. package/dist/middleware/services/response-processor.service.js.map +1 -0
  316. package/dist/middleware/services/token-estimator/index.d.ts +2 -0
  317. package/dist/middleware/services/token-estimator/index.d.ts.map +1 -0
  318. package/dist/middleware/services/token-estimator/index.js +18 -0
  319. package/dist/middleware/services/token-estimator/index.js.map +1 -0
  320. package/dist/middleware/services/token-estimator/token-estimator.service.d.ts +97 -0
  321. package/dist/middleware/services/token-estimator/token-estimator.service.d.ts.map +1 -0
  322. package/dist/middleware/services/token-estimator/token-estimator.service.js +190 -0
  323. package/dist/middleware/services/token-estimator/token-estimator.service.js.map +1 -0
  324. package/dist/middleware/services/use-case-metrics-logger/index.d.ts +2 -0
  325. package/dist/middleware/services/use-case-metrics-logger/index.d.ts.map +1 -0
  326. package/dist/middleware/services/use-case-metrics-logger/index.js +18 -0
  327. package/dist/middleware/services/use-case-metrics-logger/index.js.map +1 -0
  328. package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.d.ts +89 -0
  329. package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.d.ts.map +1 -0
  330. package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.js +112 -0
  331. package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.js.map +1 -0
  332. package/dist/middleware/shared/config/app.config.d.ts +3 -0
  333. package/dist/middleware/shared/config/app.config.d.ts.map +1 -0
  334. package/dist/middleware/shared/config/app.config.js +76 -0
  335. package/dist/middleware/shared/config/app.config.js.map +1 -0
  336. package/dist/middleware/shared/config/index.d.ts +4 -0
  337. package/dist/middleware/shared/config/index.d.ts.map +1 -0
  338. package/dist/middleware/shared/config/index.js +21 -0
  339. package/dist/middleware/shared/config/index.js.map +1 -0
  340. package/dist/middleware/shared/config/logging.config.d.ts +49 -0
  341. package/dist/middleware/shared/config/logging.config.d.ts.map +1 -0
  342. package/dist/middleware/shared/config/logging.config.js +16 -0
  343. package/dist/middleware/shared/config/logging.config.js.map +1 -0
  344. package/dist/middleware/shared/config/models.config.d.ts +19 -0
  345. package/dist/middleware/shared/config/models.config.d.ts.map +1 -0
  346. package/dist/middleware/shared/config/models.config.js +39 -0
  347. package/dist/middleware/shared/config/models.config.js.map +1 -0
  348. package/dist/middleware/shared/constants/index.d.ts +2 -0
  349. package/dist/middleware/shared/constants/index.d.ts.map +1 -0
  350. package/dist/middleware/shared/constants/index.js +19 -0
  351. package/dist/middleware/shared/constants/index.js.map +1 -0
  352. package/dist/middleware/shared/constants/json-formatting.constants.d.ts +36 -0
  353. package/dist/middleware/shared/constants/json-formatting.constants.d.ts.map +1 -0
  354. package/dist/middleware/shared/constants/json-formatting.constants.js +81 -0
  355. package/dist/middleware/shared/constants/json-formatting.constants.js.map +1 -0
  356. package/dist/middleware/shared/types/base-request.types.d.ts +27 -0
  357. package/dist/middleware/shared/types/base-request.types.d.ts.map +1 -0
  358. package/dist/middleware/shared/types/base-request.types.js +3 -0
  359. package/dist/middleware/shared/types/base-request.types.js.map +1 -0
  360. package/dist/middleware/shared/types/client-info.d.ts +8 -0
  361. package/dist/middleware/shared/types/client-info.d.ts.map +1 -0
  362. package/dist/middleware/shared/types/client-info.js +3 -0
  363. package/dist/middleware/shared/types/client-info.js.map +1 -0
  364. package/dist/middleware/shared/types/index.d.ts +43 -0
  365. package/dist/middleware/shared/types/index.d.ts.map +1 -0
  366. package/dist/middleware/shared/types/index.js +20 -0
  367. package/dist/middleware/shared/types/index.js.map +1 -0
  368. package/dist/middleware/shared/utils/http.utils.d.ts +25 -0
  369. package/dist/middleware/shared/utils/http.utils.d.ts.map +1 -0
  370. package/dist/middleware/shared/utils/http.utils.js +44 -0
  371. package/dist/middleware/shared/utils/http.utils.js.map +1 -0
  372. package/dist/middleware/shared/utils/index.d.ts +5 -0
  373. package/dist/middleware/shared/utils/index.d.ts.map +1 -0
  374. package/dist/middleware/shared/utils/index.js +22 -0
  375. package/dist/middleware/shared/utils/index.js.map +1 -0
  376. package/dist/middleware/shared/utils/logging.utils.d.ts +30 -0
  377. package/dist/middleware/shared/utils/logging.utils.d.ts.map +1 -0
  378. package/dist/middleware/shared/utils/logging.utils.js +91 -0
  379. package/dist/middleware/shared/utils/logging.utils.js.map +1 -0
  380. package/dist/middleware/shared/utils/memory-management.utils.d.ts +10 -0
  381. package/dist/middleware/shared/utils/memory-management.utils.d.ts.map +1 -0
  382. package/dist/middleware/shared/utils/memory-management.utils.js +31 -0
  383. package/dist/middleware/shared/utils/memory-management.utils.js.map +1 -0
  384. package/dist/middleware/shared/utils/validation.utils.d.ts +12 -0
  385. package/dist/middleware/shared/utils/validation.utils.d.ts.map +1 -0
  386. package/dist/middleware/shared/utils/validation.utils.js +36 -0
  387. package/dist/middleware/shared/utils/validation.utils.js.map +1 -0
  388. package/dist/middleware/usecases/base/base-ai.usecase.d.ts +72 -0
  389. package/dist/middleware/usecases/base/base-ai.usecase.d.ts.map +1 -0
  390. package/dist/middleware/usecases/base/base-ai.usecase.js +125 -0
  391. package/dist/middleware/usecases/base/base-ai.usecase.js.map +1 -0
  392. package/dist/middleware/usecases/base/index.d.ts +2 -0
  393. package/dist/middleware/usecases/base/index.d.ts.map +1 -0
  394. package/dist/middleware/usecases/base/index.js +18 -0
  395. package/dist/middleware/usecases/base/index.js.map +1 -0
  396. package/package.json +97 -0
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringEscaperCleaner = void 0;
4
+ const base_cleaner_strategy_1 = require("./base-cleaner.strategy");
5
+ const json_cleaner_logger_1 = require("../json-cleaner-logger");
6
+ /**
7
+ * Cleaning strategy for escaping strings in JSON
8
+ * Escapes quotes and other special characters correctly
9
+ */
10
+ class StringEscaperCleaner extends base_cleaner_strategy_1.BaseCleaningStrategy {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.name = 'String Escaper';
14
+ }
15
+ /**
16
+ * Escapes strings in JSON correctly
17
+ * @param context The current cleaning context
18
+ * @returns The result of the cleaning strategy
19
+ */
20
+ clean(context) {
21
+ const input = context.intermediateResult;
22
+ const output = this.minimalJsonEscaping(input);
23
+ const modified = input !== output;
24
+ if (modified) {
25
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation('Minimal JSON Escaping', input, output, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD);
26
+ }
27
+ return {
28
+ output,
29
+ success: true,
30
+ modified
31
+ };
32
+ }
33
+ /**
34
+ * Minimal escaping for JSON strings
35
+ * Only escapes what is really JSON-breaking (quotes)
36
+ * @param jsonStr The JSON string to be processed
37
+ * @returns The escaped JSON string
38
+ */
39
+ minimalJsonEscaping(jsonStr) {
40
+ // Improved regex for property-name and value pairs, also supports umlauts
41
+ const before = jsonStr;
42
+ let result = jsonStr.replace(/("([^"]+)"\s*:\s*")([\s\S]*?)("(?=\s*[,}]))/g, (match, prefix, fieldName, content, suffix) => {
43
+ let escapedContent = content;
44
+ // Only escape unescaped quotes
45
+ escapedContent = escapedContent.replace(/(?<!\\)"/g, '\\"');
46
+ // Try to parse if the string is already valid
47
+ try {
48
+ JSON.parse('"' + escapedContent + '"');
49
+ return prefix + escapedContent + suffix;
50
+ }
51
+ catch (error) {
52
+ // Only if it doesn't parse, check for other problems
53
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation(`Escape quotes in field: ${fieldName}`, content, escapedContent, false, `Field ${fieldName} JSON parse failed: ${error instanceof Error ? error.message : String(error)}`, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE);
54
+ // Control characters have already been handled, so this shouldn't be necessary
55
+ }
56
+ return prefix + escapedContent + suffix;
57
+ });
58
+ if (before !== result) {
59
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Minimal JSON Escaping", before, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD);
60
+ }
61
+ return result;
62
+ }
63
+ }
64
+ exports.StringEscaperCleaner = StringEscaperCleaner;
65
+ //# sourceMappingURL=string-escaper.cleaner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-escaper.cleaner.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/string-escaper.cleaner.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAC/D,gEAAgF;AAEhF;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,4CAAoB;IAA9D;;QACS,SAAI,GAAG,gBAAgB,CAAC;IA8EjC,CAAC;IA5EC;;;;OAIG;IACI,KAAK,CAAC,OAAwB;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC;QAElC,IAAI,QAAQ,EAAE,CAAC;YACb,uCAAiB,CAAC,YAAY,CAC5B,uBAAuB,EACvB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,SAAS,EACT,yCAAmB,CAAC,QAAQ,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO,EAAE,IAAI;YACb,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,OAAe;QACzC,0EAA0E;QAC1E,MAAM,MAAM,GAAG,OAAO,CAAC;QACvB,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,8CAA8C,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAc,EAAE,EAAE;YACjK,IAAI,cAAc,GAAG,OAAO,CAAC;YAE7B,+BAA+B;YAC/B,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAE5D,8CAA8C;YAC9C,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC;gBACvC,OAAO,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,uCAAiB,CAAC,YAAY,CAC5B,2BAA2B,SAAS,EAAE,EACtC,OAAO,EACP,cAAc,EACd,KAAK,EACL,SAAS,SAAS,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjG,yCAAmB,CAAC,OAAO,CAC5B,CAAC;gBACF,+EAA+E;YACjF,CAAC;YAED,OAAO,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,uCAAiB,CAAC,YAAY,CAC5B,uBAAuB,EACvB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,SAAS,EACT,yCAAmB,CAAC,QAAQ,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/ED,oDA+EC"}
@@ -0,0 +1,48 @@
1
+ import { CleaningContext, CleaningStrategyResult } from '../json-cleaner.types';
2
+ import { BaseCleaningStrategy } from './base-cleaner.strategy';
3
+ /**
4
+ * NEW STRATEGY: Structural Repair Cleaner
5
+ *
6
+ * Fixes fundamental JSON structural problems such as:
7
+ * - Objects that should actually be strings
8
+ * - "field": { "text without quotes" } → "field": "text with proper escaping"
9
+ */
10
+ export declare class StructuralRepairCleaner extends BaseCleaningStrategy {
11
+ name: string;
12
+ /**
13
+ * Detects structural problems
14
+ */
15
+ canHandle(context: CleaningContext): boolean;
16
+ /**
17
+ * Repairs structural JSON problems
18
+ */
19
+ clean(context: CleaningContext): CleaningStrategyResult;
20
+ /**
21
+ * Detects Objects that should actually be strings
22
+ */
23
+ private detectObjectsWithTextContent;
24
+ /**
25
+ * Checks if content looks like text (not like JSON object properties)
26
+ */
27
+ private looksLikeTextContent;
28
+ /**
29
+ * Repairs the structural problems
30
+ */
31
+ private repairStructuralProblems;
32
+ /**
33
+ * Cleans and escapes text content for JSON
34
+ */
35
+ private cleanAndEscapeTextContent;
36
+ /**
37
+ * Debug method for the specific problem
38
+ */
39
+ analyzeRevisedContentProblem(jsonStr: string): {
40
+ hasRevisedContentProblem: boolean;
41
+ problemDetails?: {
42
+ currentStructure: string;
43
+ suggestedFix: string;
44
+ contentPreview: string;
45
+ };
46
+ };
47
+ }
48
+ //# sourceMappingURL=structural-repair.cleaner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structural-repair.cleaner.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/structural-repair.cleaner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,oBAAoB;IACxD,IAAI,SAA+B;IAE1C;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IASnD;;OAEG;IACI,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,sBAAsB;IA0E9D;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAejC;;OAEG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG;QACpD,wBAAwB,EAAE,OAAO,CAAC;QAClC,cAAc,CAAC,EAAE;YACf,gBAAgB,EAAE,MAAM,CAAC;YACzB,YAAY,EAAE,MAAM,CAAC;YACrB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH;CAmBF"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StructuralRepairCleaner = void 0;
4
+ const base_cleaner_strategy_1 = require("./base-cleaner.strategy");
5
+ const json_cleaner_logger_1 = require("../json-cleaner-logger");
6
+ /**
7
+ * NEW STRATEGY: Structural Repair Cleaner
8
+ *
9
+ * Fixes fundamental JSON structural problems such as:
10
+ * - Objects that should actually be strings
11
+ * - "field": { "text without quotes" } → "field": "text with proper escaping"
12
+ */
13
+ class StructuralRepairCleaner extends base_cleaner_strategy_1.BaseCleaningStrategy {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = 'Structural Repair Cleaner';
17
+ }
18
+ /**
19
+ * Detects structural problems
20
+ */
21
+ canHandle(context) {
22
+ const input = context.intermediateResult;
23
+ // Look for the specific problem: Object with text content instead of string
24
+ const hasObjectWithTextContent = this.detectObjectsWithTextContent(input);
25
+ return hasObjectWithTextContent.length > 0;
26
+ }
27
+ /**
28
+ * Repairs structural JSON problems
29
+ */
30
+ clean(context) {
31
+ const input = context.intermediateResult;
32
+ try {
33
+ console.log('[StructuralRepairCleaner] Starting structural repair...');
34
+ // STEP 1: Detect problematic structures
35
+ const problems = this.detectObjectsWithTextContent(input);
36
+ if (problems.length === 0) {
37
+ return { output: input, success: true, modified: false };
38
+ }
39
+ console.log(`[StructuralRepairCleaner] Found ${problems.length} structural problems:`);
40
+ problems.forEach((problem, index) => {
41
+ console.log(` ${index + 1}. Field "${problem.fieldName}": Object → String conversion needed`);
42
+ });
43
+ // STEP 2: Repair the structures
44
+ let output = this.repairStructuralProblems(input, problems);
45
+ // STEP 3: Validate the result
46
+ const modified = input !== output;
47
+ let success = false;
48
+ let parseError;
49
+ try {
50
+ JSON.parse(output);
51
+ success = true;
52
+ console.log('[StructuralRepairCleaner] ✅ Structural repair successful - JSON is now valid');
53
+ }
54
+ catch (error) {
55
+ parseError = error instanceof Error ? error.message : String(error);
56
+ console.log(`[StructuralRepairCleaner] ⚠️ Structural repair completed but JSON still invalid: ${parseError}`);
57
+ success = modified; // Partial success
58
+ }
59
+ if (modified) {
60
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation('Structural Repair', input, output, success, parseError, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD, {
61
+ reason: success ?
62
+ `Successfully repaired ${problems.length} structural issues` :
63
+ `Repaired ${problems.length} structural issues but JSON still invalid: ${parseError}`,
64
+ detectedIssues: problems.map(p => `${p.fieldName}: Object→String conversion`),
65
+ strategy: 'structural-object-to-string-repair'
66
+ });
67
+ }
68
+ return {
69
+ output,
70
+ success,
71
+ modified,
72
+ error: parseError
73
+ };
74
+ }
75
+ catch (error) {
76
+ const errorMsg = error instanceof Error ? error.message : String(error);
77
+ console.log('[StructuralRepairCleaner] ❌ Structural repair failed:', errorMsg);
78
+ return {
79
+ output: input,
80
+ success: false,
81
+ error: errorMsg,
82
+ modified: false
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Detects Objects that should actually be strings
88
+ */
89
+ detectObjectsWithTextContent(jsonStr) {
90
+ const problems = [];
91
+ // Pattern: "fieldname": { content_that_looks_like_text }
92
+ const objectFieldPattern = /"([^"]+)"\s*:\s*\{([^{}]*?)\}/g;
93
+ let match;
94
+ while ((match = objectFieldPattern.exec(jsonStr)) !== null) {
95
+ const fieldName = match[1];
96
+ const objectContent = match[2].trim();
97
+ // Check if the object content looks like text
98
+ if (this.looksLikeTextContent(objectContent)) {
99
+ problems.push({
100
+ fieldName,
101
+ objectStart: match.index + match[0].indexOf('{'),
102
+ objectEnd: match.index + match[0].lastIndexOf('}'),
103
+ contentPreview: objectContent.substring(0, 100) + (objectContent.length > 100 ? '...' : '')
104
+ });
105
+ }
106
+ }
107
+ return problems;
108
+ }
109
+ /**
110
+ * Checks if content looks like text (not like JSON object properties)
111
+ */
112
+ looksLikeTextContent(content) {
113
+ // Remove whitespace for analysis
114
+ const trimmed = content.trim();
115
+ // Empty or only whitespace → not interesting
116
+ if (!trimmed)
117
+ return false;
118
+ // Contains JSON-typical structures → probably a real object
119
+ if (trimmed.includes('":') || trimmed.includes('": ') || trimmed.match(/^"[^"]+"\s*:/)) {
120
+ return false;
121
+ }
122
+ // Contains English words/sentences → probably text
123
+ const textPatterns = [
124
+ /\b(the|and|or|but|with|from|to|on|in|at|by|for|of|about|over|under|before|after|between)\b/i,
125
+ /\b(story|adventure|landscape|flowers|animals|situation|character|description)\b/i,
126
+ /[.!?]\s+[A-Z]/, // Sentences with periods
127
+ /\w+\s+\w+\s+\w+/, // Multiple words in a row
128
+ ];
129
+ return textPatterns.some(pattern => pattern.test(trimmed));
130
+ }
131
+ /**
132
+ * Repairs the structural problems
133
+ */
134
+ repairStructuralProblems(jsonStr, problems) {
135
+ let result = jsonStr;
136
+ // Sort problems from back to front (to avoid shifting indices)
137
+ const sortedProblems = problems.sort((a, b) => b.objectStart - a.objectStart);
138
+ for (const problem of sortedProblems) {
139
+ console.log(`[StructuralRepairCleaner] Repairing field "${problem.fieldName}"...`);
140
+ // Extract the object content
141
+ const beforeObject = result.substring(0, problem.objectStart);
142
+ const objectContent = result.substring(problem.objectStart + 1, problem.objectEnd);
143
+ const afterObject = result.substring(problem.objectEnd + 1);
144
+ // Clean and escape the content
145
+ const cleanedText = this.cleanAndEscapeTextContent(objectContent);
146
+ // Replace { content } with "escaped_content"
147
+ result = beforeObject + '"' + cleanedText + '"' + afterObject;
148
+ console.log(`[StructuralRepairCleaner] ✓ Converted "${problem.fieldName}" from Object to String`);
149
+ }
150
+ return result;
151
+ }
152
+ /**
153
+ * Cleans and escapes text content for JSON
154
+ */
155
+ cleanAndEscapeTextContent(textContent) {
156
+ let cleaned = textContent.trim();
157
+ // Escape JSON-specific characters
158
+ cleaned = cleaned
159
+ .replace(/\\/g, '\\\\') // Escape backslashes
160
+ .replace(/"/g, '\\"') // Escape quotes
161
+ .replace(/\n/g, '\\n') // Escape newlines
162
+ .replace(/\r/g, '\\r') // Escape carriage returns
163
+ .replace(/\t/g, '\\t') // Escape tabs
164
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, ''); // Remove other Control Characters
165
+ return cleaned;
166
+ }
167
+ /**
168
+ * Debug method for the specific problem
169
+ */
170
+ analyzeRevisedContentProblem(jsonStr) {
171
+ const revisedContentMatch = jsonStr.match(/"revised_content"\s*:\s*\{([^{}]*?)\}/);
172
+ if (revisedContentMatch) {
173
+ const content = revisedContentMatch[1].trim();
174
+ const cleanedContent = this.cleanAndEscapeTextContent(content);
175
+ return {
176
+ hasRevisedContentProblem: true,
177
+ problemDetails: {
178
+ currentStructure: 'Object { text_without_quotes }',
179
+ suggestedFix: `"revised_content": "${cleanedContent.substring(0, 200)}..."`,
180
+ contentPreview: content.substring(0, 300) + (content.length > 300 ? '...' : '')
181
+ }
182
+ };
183
+ }
184
+ return { hasRevisedContentProblem: false };
185
+ }
186
+ }
187
+ exports.StructuralRepairCleaner = StructuralRepairCleaner;
188
+ //# sourceMappingURL=structural-repair.cleaner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structural-repair.cleaner.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/structural-repair.cleaner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Lightweight Console logging control for the JSON Cleaner
3
+ * Can be controlled via the .env variable JSON_CLEANER_CONSOLE_LOGS
4
+ */
5
+ export declare class JsonCleanerConsole {
6
+ private static consoleEnabled;
7
+ /**
8
+ * Checks if Console logging is enabled
9
+ * Caches the result for better performance
10
+ */
11
+ private static isConsoleEnabled;
12
+ /**
13
+ * Sets the Console logging status (for tests or dynamic control)
14
+ */
15
+ static setConsoleEnabled(enabled: boolean): void;
16
+ /**
17
+ * Reset cache (useful for tests)
18
+ */
19
+ static resetCache(): void;
20
+ /**
21
+ * Console.log - only when enabled
22
+ */
23
+ static log(...args: any[]): void;
24
+ /**
25
+ * Console.warn - only when enabled
26
+ */
27
+ static warn(...args: any[]): void;
28
+ /**
29
+ * Console.error - only when enabled
30
+ */
31
+ static error(...args: any[]): void;
32
+ /**
33
+ * Console.info - only when enabled
34
+ */
35
+ static info(...args: any[]): void;
36
+ /**
37
+ * Conditional logging method with prefix
38
+ */
39
+ static logWithPrefix(prefix: string, forceLog?: boolean, ...args: any[]): void;
40
+ /**
41
+ * Debug info about the current status
42
+ */
43
+ static getStatus(): {
44
+ consoleEnabled: boolean;
45
+ envValue: string | undefined;
46
+ nodeEnv: string | undefined;
47
+ };
48
+ }
49
+ export declare const jsonConsole: typeof JsonCleanerConsole;
50
+ //# sourceMappingURL=console-logger.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logger.util.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/utils/console-logger.util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAwB;IAErD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiB/B;;OAEG;WACW,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIvD;;OAEG;WACW,UAAU,IAAI,IAAI;IAIhC;;OAEG;WACW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMvC;;OAEG;WACW,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMxC;;OAEG;WACW,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMzC;;OAEG;WACW,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMxC;;OAEG;WACW,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAe,EAAG,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM9F;;OAEG;WACW,SAAS,IAAI;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B;CAOF;AAGD,eAAO,MAAM,WAAW,2BAAqB,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonConsole = exports.JsonCleanerConsole = void 0;
4
+ /**
5
+ * Lightweight Console logging control for the JSON Cleaner
6
+ * Can be controlled via the .env variable JSON_CLEANER_CONSOLE_LOGS
7
+ */
8
+ class JsonCleanerConsole {
9
+ /**
10
+ * Checks if Console logging is enabled
11
+ * Caches the result for better performance
12
+ */
13
+ static isConsoleEnabled() {
14
+ if (this.consoleEnabled === null) {
15
+ // Read .env variable
16
+ const envValue = process.env.JSON_CLEANER_CONSOLE_LOGS;
17
+ // Default: enabled in Development, disabled in Production
18
+ if (envValue === undefined) {
19
+ this.consoleEnabled = process.env.NODE_ENV !== 'production';
20
+ }
21
+ else {
22
+ // Explicit values: 'true', '1', 'yes', 'on' = enabled
23
+ this.consoleEnabled = ['true', '1', 'yes', 'on'].includes(envValue.toLowerCase());
24
+ }
25
+ }
26
+ return this.consoleEnabled;
27
+ }
28
+ /**
29
+ * Sets the Console logging status (for tests or dynamic control)
30
+ */
31
+ static setConsoleEnabled(enabled) {
32
+ this.consoleEnabled = enabled;
33
+ }
34
+ /**
35
+ * Reset cache (useful for tests)
36
+ */
37
+ static resetCache() {
38
+ this.consoleEnabled = null;
39
+ }
40
+ /**
41
+ * Console.log - only when enabled
42
+ */
43
+ static log(...args) {
44
+ if (this.isConsoleEnabled()) {
45
+ console.log(...args);
46
+ }
47
+ }
48
+ /**
49
+ * Console.warn - only when enabled
50
+ */
51
+ static warn(...args) {
52
+ if (this.isConsoleEnabled()) {
53
+ console.warn(...args);
54
+ }
55
+ }
56
+ /**
57
+ * Console.error - only when enabled
58
+ */
59
+ static error(...args) {
60
+ if (this.isConsoleEnabled()) {
61
+ console.error(...args);
62
+ }
63
+ }
64
+ /**
65
+ * Console.info - only when enabled
66
+ */
67
+ static info(...args) {
68
+ if (this.isConsoleEnabled()) {
69
+ console.info(...args);
70
+ }
71
+ }
72
+ /**
73
+ * Conditional logging method with prefix
74
+ */
75
+ static logWithPrefix(prefix, forceLog = false, ...args) {
76
+ if (this.isConsoleEnabled() || forceLog) {
77
+ console.log(`[${prefix}]`, ...args);
78
+ }
79
+ }
80
+ /**
81
+ * Debug info about the current status
82
+ */
83
+ static getStatus() {
84
+ return {
85
+ consoleEnabled: this.isConsoleEnabled(),
86
+ envValue: process.env.JSON_CLEANER_CONSOLE_LOGS,
87
+ nodeEnv: process.env.NODE_ENV
88
+ };
89
+ }
90
+ }
91
+ exports.JsonCleanerConsole = JsonCleanerConsole;
92
+ JsonCleanerConsole.consoleEnabled = null;
93
+ // Convenience export for existing code
94
+ exports.jsonConsole = JsonCleanerConsole;
95
+ //# sourceMappingURL=console-logger.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logger.util.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/utils/console-logger.util.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,kBAAkB;IAG7B;;;OAGG;IACK,MAAM,CAAC,gBAAgB;QAC7B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,qBAAqB;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YAEvD,0DAA0D;YAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,IAAI,CAAC,cAAc,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAAC,OAAgB;QAC9C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAU;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAW;QAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,IAAW;QAChC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,WAAqB,KAAK,EAAG,GAAG,IAAW;QACrF,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS;QAKrB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAC/C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;;AAhGH,gDAiGC;AAhGgB,iCAAc,GAAmB,IAAI,CAAC;AAkGvD,uCAAuC;AAC1B,QAAA,WAAW,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Specialized utility class for Control-Character diagnosis and repair
3
+ * Can be used separately for debugging and analysis
4
+ */
5
+ export declare class ControlCharDiagnostics {
6
+ /**
7
+ * Performs a complete diagnosis of Control Characters
8
+ */
9
+ static diagnose(jsonStr: string): {
10
+ summary: {
11
+ isValid: boolean;
12
+ hasControlChars: boolean;
13
+ totalIssues: number;
14
+ canBeFixed: boolean;
15
+ };
16
+ issues: Array<{
17
+ position: number;
18
+ char: string;
19
+ charCode: number;
20
+ type: string;
21
+ severity: 'low' | 'medium' | 'high';
22
+ context: string;
23
+ fieldName?: string;
24
+ }>;
25
+ suggestions: string[];
26
+ repairPreview: string;
27
+ };
28
+ /**
29
+ * Repairs Control Characters with detailed logging
30
+ */
31
+ static repair(jsonStr: string): {
32
+ success: boolean;
33
+ repairedJson: string;
34
+ appliedFixes: Array<{
35
+ position: number;
36
+ original: string;
37
+ replacement: string;
38
+ type: string;
39
+ }>;
40
+ errors?: string[];
41
+ };
42
+ /**
43
+ * Generates a detailed diagnosis report
44
+ */
45
+ static generateReport(jsonStr: string): string;
46
+ /**
47
+ * Quick fix for common cases
48
+ */
49
+ static quickFix(jsonStr: string): string;
50
+ /**
51
+ * Extracts context around a position
52
+ */
53
+ private static extractContext;
54
+ /**
55
+ * Generates a repair preview
56
+ */
57
+ private static generateRepairPreview;
58
+ }
59
+ //# sourceMappingURL=control-char-diagnostics.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-char-diagnostics.util.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/utils/control-char-diagnostics.util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,sBAAsB;IAEjC;;OAEG;WACW,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;QACvC,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC;YACjB,eAAe,EAAE,OAAO,CAAC;YACzB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,OAAO,CAAC;SACrB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;YACpC,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;QACH,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB;IA2ID;;OAEG;WACW,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,KAAK,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB;IAgHD;;OAEG;WACW,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAsDrD;;OAEG;WACW,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAY/C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAiB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAQrC"}