@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,420 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommaFixerCleaner = void 0;
4
+ const base_cleaner_strategy_1 = require("./base-cleaner.strategy");
5
+ const json_cleaner_logger_1 = require("../json-cleaner-logger");
6
+ /**
7
+ * Drastically improved CommaFixerCleaner
8
+ * Specifically developed for the "Array followed by property without comma" problem
9
+ */
10
+ class CommaFixerCleaner extends base_cleaner_strategy_1.BaseCleaningStrategy {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.name = 'Comma Fixer';
14
+ }
15
+ /**
16
+ * Enhanced canHandle method - checks specifically for missing commas
17
+ */
18
+ canHandle(context) {
19
+ const input = context.intermediateResult;
20
+ // Check specifically for the most common problem: Array/Object followed by Property without comma
21
+ const hasArrayToPropertyIssue = /\]\s*"[\w_]+"\s*:/.test(input);
22
+ const hasObjectToPropertyIssue = /\}\s*"[\w_]+"\s*:/.test(input);
23
+ const hasStringToPropertyIssue = /"\s{2,}"[\w_]+"\s*:/.test(input);
24
+ return hasArrayToPropertyIssue || hasObjectToPropertyIssue || hasStringToPropertyIssue;
25
+ }
26
+ /**
27
+ * Drastically improved comma repair
28
+ */
29
+ clean(context) {
30
+ const input = context.intermediateResult;
31
+ try {
32
+ // STEP 1: Repair specific comma patterns
33
+ let output = this.fixSpecificCommaPatterns(input);
34
+ // STEP 2: If that's not enough, extended repair
35
+ if (output === input) {
36
+ output = this.fixAdvancedCommaPatterns(input);
37
+ }
38
+ // STEP 3: Validate the result
39
+ const modified = input !== output;
40
+ let isValid = false;
41
+ let parseError;
42
+ try {
43
+ JSON.parse(output);
44
+ isValid = true;
45
+ }
46
+ catch (error) {
47
+ parseError = error instanceof Error ? error.message : String(error);
48
+ }
49
+ if (modified) {
50
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation('Fix Missing Commas', input, output, isValid, parseError, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD, {
51
+ reason: isValid ?
52
+ 'Successfully fixed missing commas between JSON properties and structures' :
53
+ `Fixed some commas but JSON still invalid: ${parseError}`,
54
+ strategy: 'enhanced-comma-fixing',
55
+ detectedIssues: this.detectCommaIssues(input)
56
+ });
57
+ }
58
+ return {
59
+ output,
60
+ success: isValid || modified, // Success if valid OR changes were made
61
+ modified,
62
+ error: parseError
63
+ };
64
+ }
65
+ catch (error) {
66
+ const errorMsg = error instanceof Error ? error.message : String(error);
67
+ console.warn('Error during comma fixing', {
68
+ context: 'CommaFixerCleaner',
69
+ error: errorMsg
70
+ });
71
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Fix Missing Commas Failed", input, input, false, errorMsg, json_cleaner_logger_1.JsonCleanerLogLevel.MINIMAL);
72
+ return {
73
+ output: input,
74
+ success: false,
75
+ error: errorMsg,
76
+ modified: false
77
+ };
78
+ }
79
+ }
80
+ /**
81
+ * NEW METHOD: Detects specific comma problems
82
+ */
83
+ detectCommaIssues(jsonStr) {
84
+ const issues = [];
85
+ // Pattern 1: Array followed by property
86
+ if (/\]\s*"[\w_]+"\s*:/.test(jsonStr)) {
87
+ issues.push('Array followed by property without comma');
88
+ }
89
+ // Pattern 2: Object followed by property
90
+ if (/\}\s*"[\w_]+"\s*:/.test(jsonStr)) {
91
+ issues.push('Object followed by property without comma');
92
+ }
93
+ // Pattern 3: String with significant whitespace followed by property
94
+ if (/"\s{2,}"[\w_]+"\s*:/.test(jsonStr)) {
95
+ issues.push('String with whitespace followed by property without comma');
96
+ }
97
+ // Pattern 4: Primitive values followed by property
98
+ if (/([0-9]+|true|false|null)\s+"[\w_]+"\s*:/.test(jsonStr)) {
99
+ issues.push('Primitive value followed by property without comma');
100
+ }
101
+ return issues;
102
+ }
103
+ /**
104
+ * NEW MAIN METHOD: Repairs specific comma patterns
105
+ * Focus on the most common cases from the log
106
+ */
107
+ fixSpecificCommaPatterns(jsonStr) {
108
+ let result = jsonStr;
109
+ const before = result;
110
+ console.log('[CommaFixerCleaner] Starting specific comma pattern fixes...');
111
+ // PATTERN 1: Array followed by Property (THE MAIN PROBLEM!)
112
+ // Example: "Summary_OpenQuestions": ["Question1", "Question2"] "Summary_EndingState": "text"
113
+ const arrayToPropertyPattern = /(\]\s*)("[\w_äöüÄÖÜ\-]+"\s*:)/g;
114
+ const beforeArrayFix = result;
115
+ result = result.replace(arrayToPropertyPattern, '$1,$2');
116
+ if (beforeArrayFix !== result) {
117
+ console.log('[CommaFixerCleaner] ✅ Fixed array-to-property comma issues');
118
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Fix Array → Property Comma", beforeArrayFix, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE, {
119
+ reason: 'Added missing comma after array before property',
120
+ strategy: 'array-to-property-comma'
121
+ });
122
+ }
123
+ // PATTERN 2: Object followed by Property
124
+ // Example: "obj": {"key": "val"} "next": "value"
125
+ const objectToPropertyPattern = /(\}\s*)("[\w_äöüÄÖÜ\-]+"\s*:)/g;
126
+ const beforeObjectFix = result;
127
+ result = result.replace(objectToPropertyPattern, '$1,$2');
128
+ if (beforeObjectFix !== result) {
129
+ console.log('[CommaFixerCleaner] ✅ Fixed object-to-property comma issues');
130
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Fix Object → Property Comma", beforeObjectFix, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE, {
131
+ reason: 'Added missing comma after object before property',
132
+ strategy: 'object-to-property-comma'
133
+ });
134
+ }
135
+ // PATTERN 3: String with Whitespace followed by Property
136
+ // Example: "text" "next": "value" (with at least 2 spaces)
137
+ const stringWithWhitespacePattern = /(")\s{2,}("[\w_äöüÄÖÜ\-]+"\s*:)/g;
138
+ const beforeStringFix = result;
139
+ result = result.replace(stringWithWhitespacePattern, '$1,$2');
140
+ if (beforeStringFix !== result) {
141
+ console.log('[CommaFixerCleaner] ✅ Fixed string-with-whitespace-to-property comma issues');
142
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Fix String+Whitespace → Property Comma", beforeStringFix, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE, {
143
+ reason: 'Added missing comma after string with whitespace before property',
144
+ strategy: 'string-whitespace-to-property-comma'
145
+ });
146
+ }
147
+ // PATTERN 4: Primitive Values followed by Property
148
+ // Example: "count": 123 "next": "value"
149
+ const primitiveToPropertyPattern = /([0-9]+|true|false|null)\s+("[\w_äöüÄÖÜ\-]+"\s*:)/g;
150
+ const beforePrimitiveFix = result;
151
+ result = result.replace(primitiveToPropertyPattern, '$1,$2');
152
+ if (beforePrimitiveFix !== result) {
153
+ console.log('[CommaFixerCleaner] ✅ Fixed primitive-to-property comma issues');
154
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Fix Primitive → Property Comma", beforePrimitiveFix, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE, {
155
+ reason: 'Added missing comma after primitive value before property',
156
+ strategy: 'primitive-to-property-comma'
157
+ });
158
+ }
159
+ if (before !== result) {
160
+ console.log('[CommaFixerCleaner] ✅ Specific comma pattern fixes completed');
161
+ }
162
+ else {
163
+ console.log('[CommaFixerCleaner] ℹ️ No specific comma patterns found to fix');
164
+ }
165
+ return result;
166
+ }
167
+ /**
168
+ * NEW METHOD: Extended comma repair for more complex cases
169
+ */
170
+ fixAdvancedCommaPatterns(jsonStr) {
171
+ let result = jsonStr;
172
+ const before = result;
173
+ console.log('[CommaFixerCleaner] Starting advanced comma pattern fixes...');
174
+ // EXTENDED PATTERN RECOGNITION with more flexibility
175
+ // Pattern A: Property-value followed by Property-name (general)
176
+ // Recognizes: "key": value "nextKey": nextValue
177
+ const generalPropertyPattern = /("[\w_äöüÄÖÜ\-]+"\s*:\s*(?:"[^"]*"|\[[^\]]*\]|\{[^}]*\}|[^,}\]]+))\s+("[\w_äöüÄÖÜ\-]+"\s*:)/g;
178
+ const beforeGeneral = result;
179
+ result = result.replace(generalPropertyPattern, '$1,$2');
180
+ if (beforeGeneral !== result) {
181
+ console.log('[CommaFixerCleaner] ✅ Fixed general property-to-property comma issues');
182
+ json_cleaner_logger_1.JsonCleanerLogger.logOperation("Fix General Property → Property Comma", beforeGeneral, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE, {
183
+ reason: 'Added missing comma between properties using general pattern',
184
+ strategy: 'general-property-to-property-comma'
185
+ });
186
+ }
187
+ // Pattern B: Nested structures
188
+ // Handles more complex nested arrays and objects
189
+ result = this.fixNestedStructureCommas(result);
190
+ if (before !== result) {
191
+ console.log('[CommaFixerCleaner] ✅ Advanced comma pattern fixes completed');
192
+ }
193
+ else {
194
+ console.log('[CommaFixerCleaner] ℹ️ No advanced comma patterns found to fix');
195
+ }
196
+ return result;
197
+ }
198
+ /**
199
+ * NEW METHOD: Repairs commas in nested structures
200
+ */
201
+ fixNestedStructureCommas(jsonStr) {
202
+ let result = jsonStr;
203
+ try {
204
+ // State-Machine approach for precise comma recognition
205
+ result = this.stateBasedCommaFix(result);
206
+ }
207
+ catch (error) {
208
+ console.log('[CommaFixerCleaner] ⚠️ State-based comma fix failed:', error);
209
+ // Fallback to simpler regex-based fixes
210
+ result = this.regexBasedCommaFix(result);
211
+ }
212
+ return result;
213
+ }
214
+ /**
215
+ * NEW METHOD: State-Machine based comma repair
216
+ */
217
+ stateBasedCommaFix(jsonStr) {
218
+ let result = '';
219
+ let inString = false;
220
+ let escapeNext = false;
221
+ let depth = 0;
222
+ let lastValueEnd = -1;
223
+ let i = 0;
224
+ while (i < jsonStr.length) {
225
+ const char = jsonStr[i];
226
+ const nextChar = jsonStr[i + 1];
227
+ // Handle escaping
228
+ if (escapeNext) {
229
+ result += char;
230
+ escapeNext = false;
231
+ i++;
232
+ continue;
233
+ }
234
+ if (char === '\\' && inString) {
235
+ result += char;
236
+ escapeNext = true;
237
+ i++;
238
+ continue;
239
+ }
240
+ // Handle strings
241
+ if (char === '"') {
242
+ inString = !inString;
243
+ result += char;
244
+ if (!inString) {
245
+ // End of string - could be end of property name or value
246
+ lastValueEnd = i;
247
+ }
248
+ i++;
249
+ continue;
250
+ }
251
+ if (inString) {
252
+ result += char;
253
+ i++;
254
+ continue;
255
+ }
256
+ // Handle brackets and braces
257
+ if (char === '{' || char === '[') {
258
+ depth++;
259
+ result += char;
260
+ i++;
261
+ continue;
262
+ }
263
+ if (char === '}' || char === ']') {
264
+ depth--;
265
+ result += char;
266
+ lastValueEnd = i;
267
+ // Check if we need a comma after this closing bracket
268
+ if (this.needsCommaAfterBracket(jsonStr, i)) {
269
+ result += ',';
270
+ console.log(`[CommaFixerCleaner] Added comma after ${char} at position ${i}`);
271
+ }
272
+ i++;
273
+ continue;
274
+ }
275
+ // Handle other characters
276
+ if (char === ':') {
277
+ result += char;
278
+ // After colon, we expect a value
279
+ i++;
280
+ continue;
281
+ }
282
+ if (char === ',') {
283
+ result += char;
284
+ i++;
285
+ continue;
286
+ }
287
+ // Handle whitespace and detect missing commas
288
+ if (/\s/.test(char)) {
289
+ result += char;
290
+ // If we're in a significant whitespace area, check for missing comma
291
+ if (lastValueEnd >= 0 && i - lastValueEnd > 1) {
292
+ const nextNonWhitespace = this.findNextNonWhitespace(jsonStr, i);
293
+ if (nextNonWhitespace && jsonStr[nextNonWhitespace] === '"') {
294
+ // Check if this looks like a property name
295
+ if (this.looksLikePropertyName(jsonStr, nextNonWhitespace)) {
296
+ result += ',';
297
+ console.log(`[CommaFixerCleaner] Added comma in whitespace at position ${i}`);
298
+ lastValueEnd = -1; // Reset
299
+ }
300
+ }
301
+ }
302
+ i++;
303
+ continue;
304
+ }
305
+ // Handle primitive values (numbers, true, false, null)
306
+ if (/[0-9tfn]/.test(char)) {
307
+ const valueMatch = jsonStr.substring(i).match(/^(true|false|null|\d+(\.\d+)?)/);
308
+ if (valueMatch) {
309
+ result += valueMatch[0];
310
+ lastValueEnd = i + valueMatch[0].length - 1;
311
+ i += valueMatch[0].length;
312
+ continue;
313
+ }
314
+ }
315
+ result += char;
316
+ i++;
317
+ }
318
+ return result;
319
+ }
320
+ /**
321
+ * NEW HELPER METHOD: Checks if a comma is needed after a bracket
322
+ */
323
+ needsCommaAfterBracket(jsonStr, bracketPos) {
324
+ const nextNonWhitespace = this.findNextNonWhitespace(jsonStr, bracketPos + 1);
325
+ if (!nextNonWhitespace)
326
+ return false;
327
+ const nextChar = jsonStr[nextNonWhitespace];
328
+ // No comma needed if already there or end of structure
329
+ if (nextChar === ',' || nextChar === '}' || nextChar === ']') {
330
+ return false;
331
+ }
332
+ // Comma needed if next character is a quote (probably property)
333
+ if (nextChar === '"') {
334
+ return this.looksLikePropertyName(jsonStr, nextNonWhitespace);
335
+ }
336
+ return false;
337
+ }
338
+ /**
339
+ * NEW HELPER METHOD: Finds the next non-whitespace character
340
+ */
341
+ findNextNonWhitespace(jsonStr, startPos) {
342
+ for (let i = startPos; i < jsonStr.length; i++) {
343
+ if (!/\s/.test(jsonStr[i])) {
344
+ return i;
345
+ }
346
+ }
347
+ return null;
348
+ }
349
+ /**
350
+ * NEW HELPER METHOD: Checks if a quote is probably a property name
351
+ */
352
+ looksLikePropertyName(jsonStr, quotePos) {
353
+ // Find the end of the string
354
+ let endQuote = quotePos + 1;
355
+ while (endQuote < jsonStr.length && jsonStr[endQuote] !== '"') {
356
+ if (jsonStr[endQuote] === '\\')
357
+ endQuote++; // Skip escaped chars
358
+ endQuote++;
359
+ }
360
+ if (endQuote >= jsonStr.length)
361
+ return false;
362
+ // Check if a colon comes after the closing quote
363
+ const nextNonWhitespace = this.findNextNonWhitespace(jsonStr, endQuote + 1);
364
+ return nextNonWhitespace !== null && jsonStr[nextNonWhitespace] === ':';
365
+ }
366
+ /**
367
+ * FALLBACK METHOD: Regex-based comma repair
368
+ */
369
+ regexBasedCommaFix(jsonStr) {
370
+ let result = jsonStr;
371
+ // Simple regex patterns as fallback
372
+ const patterns = [
373
+ {
374
+ pattern: /(\]|\}|"|\d)\s+("[\w_]+"\s*:)/g,
375
+ replacement: '$1,$2',
376
+ name: 'value-to-property'
377
+ }
378
+ ];
379
+ patterns.forEach(({ pattern, replacement, name }) => {
380
+ const before = result;
381
+ result = result.replace(pattern, replacement);
382
+ if (before !== result) {
383
+ console.log(`[CommaFixerCleaner] Applied fallback regex fix: ${name}`);
384
+ }
385
+ });
386
+ return result;
387
+ }
388
+ /**
389
+ * DEBUGGING METHOD: Analyzes missing commas for logging
390
+ */
391
+ analyzeMissingCommas(jsonStr) {
392
+ const issues = [];
393
+ // Analysis for Arrays followed by Properties
394
+ let match;
395
+ const arrayPattern = /(\])\s*("[\w_äöüÄÖÜ\-]+"\s*:)/g;
396
+ while ((match = arrayPattern.exec(jsonStr)) !== null) {
397
+ issues.push({
398
+ position: match.index + match[1].length,
399
+ type: 'array-to-property',
400
+ before: match[0],
401
+ after: match[1] + ',' + match[2],
402
+ suggestion: 'Insert comma after array before next property'
403
+ });
404
+ }
405
+ // Analysis for Objects followed by Properties
406
+ const objectPattern = /(\})\s*("[\w_äöüÄÖÜ\-]+"\s*:)/g;
407
+ while ((match = objectPattern.exec(jsonStr)) !== null) {
408
+ issues.push({
409
+ position: match.index + match[1].length,
410
+ type: 'object-to-property',
411
+ before: match[0],
412
+ after: match[1] + ',' + match[2],
413
+ suggestion: 'Insert comma after object before next property'
414
+ });
415
+ }
416
+ return issues;
417
+ }
418
+ }
419
+ exports.CommaFixerCleaner = CommaFixerCleaner;
420
+ //# sourceMappingURL=comma-fixer.cleaner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comma-fixer.cleaner.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { CleaningContext, CleaningStrategyResult } from '../json-cleaner.types';
2
+ import { BaseCleaningStrategy } from './base-cleaner.strategy';
3
+ /**
4
+ * Improved ControlCharacterCleaner
5
+ * Focus on robust detection and repair of Control Characters
6
+ */
7
+ export declare class ControlCharacterCleaner extends BaseCleaningStrategy {
8
+ name: string;
9
+ /**
10
+ * Enhanced canHandle - checks specifically for Control Characters
11
+ */
12
+ canHandle(context: CleaningContext): boolean;
13
+ /**
14
+ * Completely reworked clean method
15
+ */
16
+ clean(context: CleaningContext): CleaningStrategyResult;
17
+ /**
18
+ * NEW METHOD: Comprehensive Control-Character Analysis
19
+ */
20
+ private comprehensiveControlCharAnalysis;
21
+ /**
22
+ * NEW METHOD: Targeted Control-Character Repair
23
+ */
24
+ private performControlCharacterRepair;
25
+ /**
26
+ * NEW METHOD: State-Machine based Control-Character Repair
27
+ */
28
+ private stateMachineControlCharRepair;
29
+ /**
30
+ * NEW METHOD: Regex-based Control-Character Repair (Fallback)
31
+ */
32
+ private regexControlCharRepair;
33
+ /**
34
+ * NEW METHOD: Aggressive Character-by-Character Repair (last resort)
35
+ */
36
+ private aggressiveControlCharRepair;
37
+ /**
38
+ * HELPER METHOD: Checks if a colon comes after a quote
39
+ */
40
+ private isNextCharColon;
41
+ /**
42
+ * HELPER METHOD: Extracts context around a position
43
+ */
44
+ private extractContext;
45
+ /**
46
+ * DEBUGGING: Analyze Control Characters for specific problem
47
+ */
48
+ debugAnalyzeControlChars(jsonStr: string): void;
49
+ }
50
+ //# sourceMappingURL=control-character.cleaner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-character.cleaner.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/control-character.cleaner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAI/D;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,oBAAoB;IACxD,IAAI,SAA+B;IAE1C;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IAWnD;;OAEG;IACI,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,sBAAsB;IAsF9D;;OAEG;IACH,OAAO,CAAC,gCAAgC;IA0GxC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAqBrC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAkFrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqDnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACI,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAevD"}