@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,56 @@
1
+ import { CleanedJsonResult } from './json-cleaner.types';
2
+ import { ICleaningStrategy } from './strategies/base-cleaner.strategy';
3
+ /**
4
+ * Simplified orchestrator that coordinates parsers and cleaning strategies
5
+ * Delegates complex logic to specialized managers
6
+ */
7
+ export declare class JsonCleanerOrchestrator {
8
+ strategies: ICleaningStrategy[];
9
+ fallbackStrategies: ICleaningStrategy[];
10
+ parsers: Array<{
11
+ name: string;
12
+ parse: (text: string) => {
13
+ json: string;
14
+ thinking: string;
15
+ };
16
+ }>;
17
+ constructor();
18
+ /**
19
+ * Adds a parser
20
+ */
21
+ addParser(parser: {
22
+ name: string;
23
+ parse: (text: string) => {
24
+ json: string;
25
+ thinking: string;
26
+ };
27
+ }): void;
28
+ /**
29
+ * Adds a strategy
30
+ */
31
+ addStrategy(strategy: ICleaningStrategy, isFallback?: boolean): void;
32
+ /**
33
+ * MAIN METHOD: Processes a response (SIMPLIFIED)
34
+ */
35
+ processResponse(response: string): CleanedJsonResult;
36
+ /**
37
+ * SIMPLIFIED main method for JSON cleaning
38
+ */
39
+ private cleanJson;
40
+ /**
41
+ * Processes text through all parsers
42
+ */
43
+ private processAllParsers;
44
+ /**
45
+ * Main JSON cleaning processing
46
+ */
47
+ private processJsonCleaning;
48
+ /**
49
+ * Configuration methods
50
+ */
51
+ static configureLogger(config: {
52
+ logOnly?: 'all' | 'failures' | 'none';
53
+ verbosity?: 'minimal' | 'standard' | 'verbose' | 'debug';
54
+ }): void;
55
+ }
56
+ //# sourceMappingURL=json-cleaner.orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cleaner.orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAIvE;;;GAGG;AACH,qBAAa,uBAAuB;IAC3B,UAAU,EAAE,iBAAiB,EAAE,CAAM;IACrC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC,CAAM;;IAMtG;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,GAAG,IAAI;IAIzG;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,GAAE,OAAe,GAAG,IAAI;IAQlF;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB;IAoC3D;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuE3B;;OAEG;WACW,eAAe,CAAC,MAAM,EAAE;QACpC,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;QACtC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;KAC1D,GAAG,IAAI;CAIT"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonCleanerOrchestrator = void 0;
4
+ const json_cleaner_logger_1 = require("./json-cleaner-logger");
5
+ const json_validation_helper_1 = require("./helpers/json-validation.helper");
6
+ const console_logger_util_1 = require("./utils/console-logger.util");
7
+ /**
8
+ * Simplified orchestrator that coordinates parsers and cleaning strategies
9
+ * Delegates complex logic to specialized managers
10
+ */
11
+ class JsonCleanerOrchestrator {
12
+ constructor() {
13
+ this.strategies = [];
14
+ this.fallbackStrategies = [];
15
+ this.parsers = [];
16
+ // Initialize empty - strategies and parsers will be added via methods
17
+ }
18
+ /**
19
+ * Adds a parser
20
+ */
21
+ addParser(parser) {
22
+ this.parsers.push(parser);
23
+ }
24
+ /**
25
+ * Adds a strategy
26
+ */
27
+ addStrategy(strategy, isFallback = false) {
28
+ if (isFallback) {
29
+ this.fallbackStrategies.push(strategy);
30
+ }
31
+ else {
32
+ this.strategies.push(strategy);
33
+ }
34
+ }
35
+ /**
36
+ * MAIN METHOD: Processes a response (SIMPLIFIED)
37
+ */
38
+ processResponse(response) {
39
+ const sessionId = json_cleaner_logger_1.JsonCleanerLogger.startSession(response, {
40
+ responseLength: response.length,
41
+ hasThinkTag: response.includes('<think>'),
42
+ });
43
+ try {
44
+ const result = this.cleanJson(response);
45
+ // Validate the final result
46
+ let success = false;
47
+ let errorMessage = '';
48
+ try {
49
+ JSON.parse(result.cleanedJson);
50
+ success = true;
51
+ console_logger_util_1.jsonConsole.logWithPrefix('[JsonCleanerOrchestrator] ✅ Final JSON is valid');
52
+ }
53
+ catch (error) {
54
+ success = false;
55
+ errorMessage = error instanceof Error ? error.message : String(error);
56
+ console_logger_util_1.jsonConsole.logWithPrefix('[JsonCleanerOrchestrator] ❌ Final JSON is still invalid:', true, errorMessage);
57
+ }
58
+ json_cleaner_logger_1.JsonCleanerLogger.endSession(result.cleanedJson, success, errorMessage);
59
+ return result;
60
+ }
61
+ catch (error) {
62
+ const errorMsg = error instanceof Error ? error.message : String(error);
63
+ console.error('Error during JSON cleaning', {
64
+ context: 'JsonCleanerOrchestrator',
65
+ error: errorMsg
66
+ });
67
+ json_cleaner_logger_1.JsonCleanerLogger.endSession('', false, errorMsg);
68
+ throw error;
69
+ }
70
+ }
71
+ /**
72
+ * SIMPLIFIED main method for JSON cleaning
73
+ */
74
+ cleanJson(response) {
75
+ // Extract the <think> block
76
+ let thinking = '';
77
+ const thinkMatch = response.match(/<think>([\s\S]*?)<\/think>/);
78
+ if (thinkMatch && thinkMatch[1]) {
79
+ thinking = thinkMatch[1].trim();
80
+ }
81
+ // PHASE 1: Run parsers
82
+ let cleanResponse = this.processAllParsers(response);
83
+ // PHASE 2: Validation and strategies
84
+ const finalJson = this.processJsonCleaning(cleanResponse);
85
+ return { cleanedJson: finalJson, thinking };
86
+ }
87
+ /**
88
+ * Processes text through all parsers
89
+ */
90
+ processAllParsers(input) {
91
+ let result = input;
92
+ console_logger_util_1.jsonConsole.logWithPrefix('[ParserManager] Starting parser phase...');
93
+ for (const parser of this.parsers) {
94
+ const before = result;
95
+ const parseResult = parser.parse(result);
96
+ result = parseResult.json;
97
+ if (before !== result) {
98
+ console_logger_util_1.jsonConsole.logWithPrefix(`[ParserManager] Parser ${parser.name} made changes`);
99
+ }
100
+ }
101
+ if (result !== input) {
102
+ console_logger_util_1.jsonConsole.logWithPrefix('[ParserManager] ✅ Parser phase completed with modifications');
103
+ }
104
+ else {
105
+ console_logger_util_1.jsonConsole.logWithPrefix('[ParserManager] ℹ️ Parser phase completed with no modifications');
106
+ }
107
+ return result;
108
+ }
109
+ /**
110
+ * Main JSON cleaning processing
111
+ */
112
+ processJsonCleaning(cleanResponse) {
113
+ console.log('[OrchestrationEngine] Starting JSON cleaning process...');
114
+ // Quick validation
115
+ if (json_validation_helper_1.JsonValidationHelper.isValid(cleanResponse)) {
116
+ console_logger_util_1.jsonConsole.logWithPrefix('[OrchestrationEngine] ✅ JSON is already valid after parsers');
117
+ return cleanResponse;
118
+ }
119
+ // Try strategies in order
120
+ let result = cleanResponse;
121
+ let context = {
122
+ originalInput: cleanResponse,
123
+ intermediateResult: result,
124
+ success: false,
125
+ modificationHistory: []
126
+ };
127
+ // Apply strategies
128
+ const allStrategies = [...this.strategies];
129
+ for (const strategy of allStrategies) {
130
+ if (strategy.canHandle(context)) {
131
+ console_logger_util_1.jsonConsole.logWithPrefix(`[OrchestrationEngine] Applying strategy: ${strategy.name}`);
132
+ const strategyResult = strategy.clean(context);
133
+ if (strategyResult.modified) {
134
+ result = strategyResult.output;
135
+ context.intermediateResult = result;
136
+ context.modificationHistory.push({
137
+ strategy: strategy.name,
138
+ before: context.intermediateResult,
139
+ after: result,
140
+ success: strategyResult.success
141
+ });
142
+ // Check if we're now valid
143
+ if (json_validation_helper_1.JsonValidationHelper.isValid(result)) {
144
+ console_logger_util_1.jsonConsole.logWithPrefix(`[OrchestrationEngine] ✅ Strategy ${strategy.name} produced valid JSON`);
145
+ context.success = true;
146
+ return result;
147
+ }
148
+ }
149
+ }
150
+ }
151
+ // If main strategies failed, try fallback strategies
152
+ if (!context.success && this.fallbackStrategies.length > 0) {
153
+ console_logger_util_1.jsonConsole.logWithPrefix('[OrchestrationEngine] Trying fallback strategies...');
154
+ for (const strategy of this.fallbackStrategies) {
155
+ if (strategy.canHandle(context)) {
156
+ console_logger_util_1.jsonConsole.logWithPrefix(`[OrchestrationEngine] Applying fallback strategy: ${strategy.name}`);
157
+ const strategyResult = strategy.clean(context);
158
+ if (strategyResult.modified) {
159
+ result = strategyResult.output;
160
+ context.intermediateResult = result;
161
+ }
162
+ // Even if fallback doesn't produce valid JSON, we use its result
163
+ break;
164
+ }
165
+ }
166
+ }
167
+ return result;
168
+ }
169
+ /**
170
+ * Configuration methods
171
+ */
172
+ static configureLogger(config) {
173
+ // Basic configuration
174
+ console.log('Logger configuration updated:', config);
175
+ }
176
+ }
177
+ exports.JsonCleanerOrchestrator = JsonCleanerOrchestrator;
178
+ //# sourceMappingURL=json-cleaner.orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cleaner.orchestrator.js","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { CleanedJsonResult } from './json-cleaner.types';
2
+ import { JsonCleanerOrchestrator } from './json-cleaner.orchestrator';
3
+ /**
4
+ * Main service for cleaning JSON strings
5
+ * Delegates complex logic to specialized helper classes with control character awareness
6
+ */
7
+ export declare class JsonCleanerService {
8
+ private static orchestrator;
9
+ /**
10
+ * Initializes the JsonCleanerOrchestrator with optimized strategy order
11
+ */
12
+ private static initialize;
13
+ /**
14
+ * Process and clean JSON using the modern Recipe System with legacy fallback
15
+ */
16
+ static processResponseAsync(response: string): Promise<CleanedJsonResult>;
17
+ /**
18
+ * Analyzes JSON problems using the analyzer
19
+ */
20
+ static analyzeJsonProblems(jsonStr: string): {
21
+ isValid: boolean;
22
+ errors: string[];
23
+ suggestions: string[];
24
+ canBeFixed: boolean;
25
+ severity: "low" | "medium" | "high";
26
+ specificIssues: {
27
+ hasCommaIssues: boolean;
28
+ hasControlCharIssues: boolean;
29
+ hasBracketIssues: boolean;
30
+ hasQuoteIssues: boolean;
31
+ };
32
+ repairStrategy: string[];
33
+ errorPosition?: number;
34
+ problemContext?: string;
35
+ };
36
+ /**
37
+ * Fixes specific problems with targeted strategies
38
+ */
39
+ static fixSpecificProblem(jsonStr: string, problemType: 'comma' | 'control-chars' | 'quotes' | 'brackets'): string;
40
+ /**
41
+ * Configures the logger
42
+ */
43
+ static configureLogger(config: {
44
+ logOnly?: 'all' | 'failures' | 'none';
45
+ verbosity?: 'minimal' | 'standard' | 'verbose' | 'debug';
46
+ }): void;
47
+ /**
48
+ * Inspects JSON for issues
49
+ */
50
+ static inspectJson(json: string): string;
51
+ /**
52
+ * Saves JSON inspection to file
53
+ */
54
+ static saveJsonInspection(json: string, filename?: string): Promise<string>;
55
+ /**
56
+ * Generates failure report
57
+ */
58
+ static generateFailureReport(): void;
59
+ /**
60
+ * Provides access to the orchestrator
61
+ */
62
+ static getOrchestrator(): JsonCleanerOrchestrator;
63
+ /**
64
+ * Gets service statistics
65
+ */
66
+ static getServiceStats(): {
67
+ initialized: boolean;
68
+ strategiesCount: number;
69
+ fallbackStrategiesCount: number;
70
+ parsersCount: number;
71
+ controlCharacterSupport: {
72
+ available: boolean;
73
+ diagnosticsEnabled: boolean;
74
+ quickRepairEnabled: boolean;
75
+ advancedRepairEnabled: boolean;
76
+ };
77
+ };
78
+ /**
79
+ * Extended service statistics with control character info
80
+ */
81
+ static getExtendedServiceStats(): {
82
+ initialized: boolean;
83
+ strategiesCount: number;
84
+ fallbackStrategiesCount: number;
85
+ parsersCount: number;
86
+ controlCharacterSupport: {
87
+ available: boolean;
88
+ diagnosticsEnabled: boolean;
89
+ quickRepairEnabled: boolean;
90
+ advancedRepairEnabled: boolean;
91
+ };
92
+ };
93
+ }
94
+ //# sourceMappingURL=json-cleaner.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cleaner.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAsBtE;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,YAAY,CAA0B;IAErD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAuBzB;;OAEG;WACiB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiCtF;;OAEG;WACW,mBAAmB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;IAIjD;;OAEG;WACW,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM;IAgCzH;;OAEG;WACW,eAAe,CAAC,MAAM,EAAE;QACpC,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;QACtC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;KAC1D,GAAG,IAAI;IAKR;;OAEG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C;;OAEG;WACiB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxF;;OAEG;WACW,qBAAqB,IAAI,IAAI;IAM3C;;OAEG;WACW,eAAe,IAAI,uBAAuB;IAKxD;;OAEG;WACW,eAAe;;;;;;;;;;;;IAgB7B;;OAEG;WACW,uBAAuB;;;;;;;;;;;;CAGtC"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonCleanerService = void 0;
4
+ const json_cleaner_orchestrator_1 = require("./json-cleaner.orchestrator");
5
+ const json_cleaner_analyzer_1 = require("./helpers/json-cleaner.analyzer");
6
+ const json_validation_helper_1 = require("./helpers/json-validation.helper");
7
+ const json_inspector_util_1 = require("./utils/json-inspector.util");
8
+ const json_cleaner_logger_1 = require("./json-cleaner-logger");
9
+ const cleaning_engine_1 = require("./recipe-system/core/cleaning-engine");
10
+ const templates_1 = require("./recipe-system/recipes/templates");
11
+ // Import parsers
12
+ const think_tag_parser_1 = require("./parsers/think-tag.parser");
13
+ const markdown_parser_1 = require("./parsers/markdown.parser");
14
+ const json_extractor_parser_1 = require("./parsers/json-extractor.parser");
15
+ // Import strategies
16
+ const control_character_cleaner_1 = require("./strategies/control-character.cleaner");
17
+ const comma_fixer_cleaner_1 = require("./strategies/comma-fixer.cleaner");
18
+ const string_escaper_cleaner_1 = require("./strategies/string-escaper.cleaner");
19
+ const duplicate_key_cleaner_1 = require("./strategies/duplicate-key.cleaner");
20
+ const structural_repair_cleaner_1 = require("./strategies/structural-repair.cleaner");
21
+ const aggressive_cleaner_1 = require("./strategies/aggressive.cleaner");
22
+ /**
23
+ * Main service for cleaning JSON strings
24
+ * Delegates complex logic to specialized helper classes with control character awareness
25
+ */
26
+ class JsonCleanerService {
27
+ /**
28
+ * Initializes the JsonCleanerOrchestrator with optimized strategy order
29
+ */
30
+ static initialize() {
31
+ if (!this.orchestrator) {
32
+ this.orchestrator = new json_cleaner_orchestrator_1.JsonCleanerOrchestrator();
33
+ // Register parsers (with improved JsonExtractor)
34
+ this.orchestrator.addParser(new think_tag_parser_1.ThinkTagParser());
35
+ this.orchestrator.addParser(new markdown_parser_1.MarkdownParser());
36
+ this.orchestrator.addParser(new json_extractor_parser_1.JsonExtractor());
37
+ // Register strategies (CONTROL CHARACTER CLEANER FIRST!)
38
+ this.orchestrator.addStrategy(new structural_repair_cleaner_1.StructuralRepairCleaner()); // HIGHEST PRIORITY!
39
+ this.orchestrator.addStrategy(new control_character_cleaner_1.ControlCharacterCleaner()); // HIGH PRIORITY
40
+ this.orchestrator.addStrategy(new comma_fixer_cleaner_1.CommaFixerCleaner());
41
+ this.orchestrator.addStrategy(new string_escaper_cleaner_1.StringEscaperCleaner());
42
+ this.orchestrator.addStrategy(new duplicate_key_cleaner_1.DuplicateKeyCleaner());
43
+ // Fallback strategies
44
+ this.orchestrator.addStrategy(new aggressive_cleaner_1.AggressiveCleaner(), true);
45
+ console.info('JsonCleanerService initialized with control character awareness');
46
+ }
47
+ }
48
+ /**
49
+ * Process and clean JSON using the modern Recipe System with legacy fallback
50
+ */
51
+ static async processResponseAsync(response) {
52
+ this.initialize();
53
+ if (!response || response.trim().length === 0) {
54
+ throw new Error('Empty input provided - cannot process');
55
+ }
56
+ const trimmedResponse = response.trim();
57
+ if (json_validation_helper_1.JsonValidationHelper.isValid(trimmedResponse)) {
58
+ return { cleanedJson: trimmedResponse, thinking: '' };
59
+ }
60
+ try {
61
+ const engine = cleaning_engine_1.CleaningEngine.getInstance();
62
+ const suggestion = engine.analyzeAndSuggestRecipe(trimmedResponse);
63
+ const recipe = suggestion.recommendedRecipe === 'conservative'
64
+ ? templates_1.RecipeTemplates.conservative()
65
+ : suggestion.recommendedRecipe === 'aggressive'
66
+ ? templates_1.RecipeTemplates.aggressive()
67
+ : templates_1.RecipeTemplates.adaptive();
68
+ const result = await engine.clean(trimmedResponse, recipe, { source: 'service', mode: suggestion.recommendedRecipe });
69
+ if (result.success && result.cleanedJson) {
70
+ return { cleanedJson: result.cleanedJson, thinking: '' };
71
+ }
72
+ }
73
+ catch {
74
+ // ignore and fallback
75
+ }
76
+ const fallback = this.orchestrator.processResponse(trimmedResponse);
77
+ return fallback;
78
+ }
79
+ /**
80
+ * Analyzes JSON problems using the analyzer
81
+ */
82
+ static analyzeJsonProblems(jsonStr) {
83
+ return json_cleaner_analyzer_1.JsonCleanerAnalyzer.analyzeJsonProblems(jsonStr);
84
+ }
85
+ /**
86
+ * Fixes specific problems with targeted strategies
87
+ */
88
+ static fixSpecificProblem(jsonStr, problemType) {
89
+ this.initialize();
90
+ let strategy;
91
+ switch (problemType) {
92
+ case 'comma':
93
+ strategy = new comma_fixer_cleaner_1.CommaFixerCleaner();
94
+ break;
95
+ case 'control-chars':
96
+ strategy = new control_character_cleaner_1.ControlCharacterCleaner();
97
+ break;
98
+ case 'quotes':
99
+ strategy = new string_escaper_cleaner_1.StringEscaperCleaner();
100
+ break;
101
+ case 'brackets':
102
+ strategy = new aggressive_cleaner_1.AggressiveCleaner();
103
+ break;
104
+ default:
105
+ return jsonStr;
106
+ }
107
+ const context = {
108
+ originalInput: jsonStr,
109
+ intermediateResult: jsonStr,
110
+ success: false,
111
+ modificationHistory: []
112
+ };
113
+ const result = strategy.clean(context);
114
+ return result.output;
115
+ }
116
+ /**
117
+ * Configures the logger
118
+ */
119
+ static configureLogger(config) {
120
+ // Basic configuration - can be extended as needed
121
+ console.log('Logger configuration updated:', config);
122
+ }
123
+ /**
124
+ * Inspects JSON for issues
125
+ */
126
+ static inspectJson(json) {
127
+ return json_inspector_util_1.JsonInspector.inspectJsonForIssues(json);
128
+ }
129
+ /**
130
+ * Saves JSON inspection to file
131
+ */
132
+ static async saveJsonInspection(json, filename) {
133
+ return json_cleaner_logger_1.JsonCleanerLogger.saveInspection(json, filename);
134
+ }
135
+ /**
136
+ * Generates failure report
137
+ */
138
+ static generateFailureReport() {
139
+ json_cleaner_logger_1.JsonCleanerLogger.generateFailureReport();
140
+ }
141
+ // ==================== UTILITY METHODS ====================
142
+ /**
143
+ * Provides access to the orchestrator
144
+ */
145
+ static getOrchestrator() {
146
+ this.initialize();
147
+ return this.orchestrator;
148
+ }
149
+ /**
150
+ * Gets service statistics
151
+ */
152
+ static getServiceStats() {
153
+ this.initialize();
154
+ return {
155
+ initialized: !!this.orchestrator,
156
+ strategiesCount: this.orchestrator.strategies.length,
157
+ fallbackStrategiesCount: this.orchestrator.fallbackStrategies.length,
158
+ parsersCount: this.orchestrator.parsers.length,
159
+ controlCharacterSupport: {
160
+ available: true,
161
+ diagnosticsEnabled: true,
162
+ quickRepairEnabled: true,
163
+ advancedRepairEnabled: true
164
+ }
165
+ };
166
+ }
167
+ /**
168
+ * Extended service statistics with control character info
169
+ */
170
+ static getExtendedServiceStats() {
171
+ return this.getServiceStats();
172
+ }
173
+ }
174
+ exports.JsonCleanerService = JsonCleanerService;
175
+ //# sourceMappingURL=json-cleaner.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cleaner.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Result type for the JSON cleaning process
3
+ */
4
+ export interface CleanedJsonResult {
5
+ /** The cleaned JSON */
6
+ cleanedJson: string;
7
+ /** Extracted content from <think> tags */
8
+ thinking: string;
9
+ }
10
+ /**
11
+ * Context for the cleaning process, passed between strategies
12
+ */
13
+ export interface CleaningContext {
14
+ /** Original input */
15
+ originalInput: string;
16
+ /** Current intermediate result during cleaning */
17
+ intermediateResult: string;
18
+ /** Flag indicating if the process has been successful so far */
19
+ success: boolean;
20
+ /** Error message if present */
21
+ error?: string;
22
+ /** Modification history */
23
+ modificationHistory: Array<{
24
+ strategy: string;
25
+ before: string;
26
+ after: string;
27
+ success: boolean;
28
+ }>;
29
+ /** Additional context information for logging and debugging */
30
+ additionalContext?: Record<string, any>;
31
+ }
32
+ /**
33
+ * Result of a single cleaning strategy
34
+ */
35
+ export interface CleaningStrategyResult {
36
+ /** The cleaned JSON after applying the strategy */
37
+ output: string;
38
+ /** Flag indicating if the strategy was successful */
39
+ success: boolean;
40
+ /** Error message if the strategy fails */
41
+ error?: string;
42
+ /** Flag indicating if the input was modified by the strategy */
43
+ modified: boolean;
44
+ }
45
+ /**
46
+ * Configuration options for the logger
47
+ */
48
+ export interface LoggerConfiguration {
49
+ /** Whether only certain events should be logged */
50
+ logOnly?: 'all' | 'failures' | 'none';
51
+ /** Detail level of logs */
52
+ verbosity?: 'minimal' | 'standard' | 'verbose' | 'debug';
53
+ }
54
+ /**
55
+ * Base interface for all cleaning strategies
56
+ */
57
+ export interface CleaningStrategy {
58
+ /** Name of the strategy for logging */
59
+ name: string;
60
+ /** Whether this strategy can handle the given input */
61
+ canHandle(input: string): boolean;
62
+ /** Apply the cleaning strategy */
63
+ clean(input: string, context?: CleaningContext): CleaningStrategyResult;
64
+ }
65
+ /**
66
+ * Base interface for all parsers
67
+ */
68
+ export interface Parser {
69
+ /** Name of the parser for logging */
70
+ name: string;
71
+ /** Whether this parser can handle the given input */
72
+ canParse(input: string): boolean;
73
+ /** Parse the input and extract JSON */
74
+ parse(input: string): {
75
+ json: string;
76
+ thinking: string;
77
+ };
78
+ }
79
+ /**
80
+ * Configuration for JSON cleaning operations
81
+ */
82
+ export interface JsonCleaningConfig {
83
+ /** Maximum number of repair attempts */
84
+ maxRepairAttempts?: number;
85
+ /** Whether to enable aggressive cleaning strategies */
86
+ enableAggressiveCleaning?: boolean;
87
+ /** Custom timeout for cleaning operations */
88
+ timeoutMs?: number;
89
+ /** Logger configuration */
90
+ logger?: LoggerConfiguration;
91
+ }
92
+ //# sourceMappingURL=json-cleaner.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cleaner.types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,mBAAmB,EAAE,KAAK,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,kCAAkC;IAClC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,uCAAuC;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=json-cleaner.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cleaner.types.js","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './think-tag.parser';
2
+ export * from './markdown.parser';
3
+ export * from './json-extractor.parser';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/parsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}