@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,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenEstimatorService = void 0;
4
+ /**
5
+ * Service for estimating token counts in text
6
+ * Provides multiple estimation methods including GPT tokenizer fallback
7
+ */
8
+ class TokenEstimatorService {
9
+ /**
10
+ * Estimate token count based on text using the best available method
11
+ * @param text The text to estimate token count for
12
+ * @returns Token estimate with method used
13
+ */
14
+ static estimateTokenCount(text) {
15
+ if (!text) {
16
+ return { estimated: 0, method: 'character-based' };
17
+ }
18
+ // Try GPT tokenizer first if available
19
+ try {
20
+ // Try to use gpt-tokenizer if it's available
21
+ const gptTokenizer = this.tryLoadGptTokenizer();
22
+ if (gptTokenizer) {
23
+ const tokens = gptTokenizer.encode(text).length;
24
+ return { estimated: tokens, method: 'gpt-tokenizer' };
25
+ }
26
+ }
27
+ catch (error) {
28
+ console.warn('GPT tokenizer failed, falling back to estimation', error);
29
+ }
30
+ // Fallback to character-based estimation
31
+ return this.estimateByCharacters(text);
32
+ }
33
+ /**
34
+ * Try to load the GPT tokenizer if available
35
+ * @returns The tokenizer or null if not available
36
+ */
37
+ static tryLoadGptTokenizer() {
38
+ try {
39
+ // This will only work if gpt-tokenizer is installed
40
+ const { encode } = require('gpt-tokenizer');
41
+ return { encode };
42
+ }
43
+ catch (error) {
44
+ // gpt-tokenizer is not available
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * Estimate tokens using character-based method
50
+ * @param text The text to estimate
51
+ * @returns Token estimate
52
+ */
53
+ static estimateByCharacters(text) {
54
+ // Rough estimation: 1 token ≈ 4 characters for English text
55
+ // This is a conservative estimate that works reasonably well
56
+ const estimated = Math.ceil(text.length / 4);
57
+ return { estimated, method: 'character-based' };
58
+ }
59
+ /**
60
+ * Estimate tokens using word-based method
61
+ * @param text The text to estimate
62
+ * @returns Token estimate
63
+ */
64
+ static estimateByWords(text) {
65
+ // Alternative method: 1 token ≈ 0.75 words
66
+ const words = text.trim().split(/\s+/).length;
67
+ const estimated = Math.ceil(words / 0.75);
68
+ return { estimated, method: 'word-based' };
69
+ }
70
+ /**
71
+ * Calculate tokens per second based on token count and execution time
72
+ * @param tokenCount Number of tokens
73
+ * @param executionTimeSeconds Execution time in seconds
74
+ * @returns Tokens per second as a formatted string
75
+ */
76
+ static calculateTokensPerSecond(tokenCount, executionTimeSeconds) {
77
+ if (executionTimeSeconds === 0)
78
+ return '0.00';
79
+ return (tokenCount / executionTimeSeconds).toFixed(2);
80
+ }
81
+ /**
82
+ * Estimate token count for system message and user prompt combined
83
+ * @param systemMessage The system message
84
+ * @param userPrompt The user prompt
85
+ * @returns Combined token estimate
86
+ */
87
+ static estimateInputTokens(systemMessage, userPrompt) {
88
+ return this.estimateTokenCount(systemMessage + userPrompt);
89
+ }
90
+ /**
91
+ * Estimate tokens for a conversation with multiple messages
92
+ * @param messages Array of message strings
93
+ * @returns Token estimate for the entire conversation
94
+ */
95
+ static estimateConversationTokens(messages) {
96
+ const combinedText = messages.join('\n');
97
+ const baseEstimate = this.estimateTokenCount(combinedText);
98
+ // Add some overhead for conversation formatting
99
+ const overhead = messages.length * 2; // Rough estimate for formatting tokens
100
+ return {
101
+ estimated: baseEstimate.estimated + overhead,
102
+ method: baseEstimate.method
103
+ };
104
+ }
105
+ /**
106
+ * Check if text exceeds a token limit
107
+ * @param text The text to check
108
+ * @param limit The token limit
109
+ * @returns Object indicating if limit is exceeded and by how much
110
+ */
111
+ static checkTokenLimit(text, limit) {
112
+ const estimate = this.estimateTokenCount(text);
113
+ const exceeded = estimate.estimated > limit;
114
+ const overage = exceeded ? estimate.estimated - limit : 0;
115
+ const percentage = (estimate.estimated / limit) * 100;
116
+ return {
117
+ exceeded,
118
+ estimated: estimate.estimated,
119
+ limit,
120
+ overage,
121
+ percentage: Math.round(percentage * 100) / 100
122
+ };
123
+ }
124
+ /**
125
+ * Truncate text to fit within a token limit
126
+ * @param text The text to truncate
127
+ * @param limit The token limit
128
+ * @param method Truncation method ('end' | 'start' | 'middle')
129
+ * @returns Truncated text and information about the truncation
130
+ */
131
+ static truncateToTokenLimit(text, limit, method = 'end') {
132
+ const originalEstimate = this.estimateTokenCount(text);
133
+ if (originalEstimate.estimated <= limit) {
134
+ return {
135
+ truncatedText: text,
136
+ originalTokens: originalEstimate.estimated,
137
+ finalTokens: originalEstimate.estimated,
138
+ truncated: false
139
+ };
140
+ }
141
+ // Rough estimation: if we need to reduce tokens by X, reduce characters by ~4X
142
+ const targetLength = Math.floor((text.length * limit) / originalEstimate.estimated);
143
+ let truncatedText;
144
+ switch (method) {
145
+ case 'start':
146
+ truncatedText = text.slice(-targetLength);
147
+ break;
148
+ case 'middle':
149
+ const halfLength = Math.floor(targetLength / 2);
150
+ truncatedText = text.slice(0, halfLength) + '...' + text.slice(-halfLength);
151
+ break;
152
+ case 'end':
153
+ default:
154
+ truncatedText = text.slice(0, targetLength);
155
+ break;
156
+ }
157
+ const finalEstimate = this.estimateTokenCount(truncatedText);
158
+ return {
159
+ truncatedText,
160
+ originalTokens: originalEstimate.estimated,
161
+ finalTokens: finalEstimate.estimated,
162
+ truncated: true
163
+ };
164
+ }
165
+ /**
166
+ * Get statistics about text in terms of characters, words, and estimated tokens
167
+ * @param text The text to analyze
168
+ * @returns Detailed statistics
169
+ */
170
+ static getTextStatistics(text) {
171
+ const characters = text.length;
172
+ const charactersNoSpaces = text.replace(/\s/g, '').length;
173
+ const words = text.trim() ? text.trim().split(/\s+/).length : 0;
174
+ const lines = text.split('\n').length;
175
+ const tokens = this.estimateTokenCount(text);
176
+ const averageWordsPerToken = tokens.estimated > 0 ? words / tokens.estimated : 0;
177
+ const averageCharsPerToken = tokens.estimated > 0 ? characters / tokens.estimated : 0;
178
+ return {
179
+ characters,
180
+ charactersNoSpaces,
181
+ words,
182
+ lines,
183
+ tokens,
184
+ averageWordsPerToken: Math.round(averageWordsPerToken * 100) / 100,
185
+ averageCharsPerToken: Math.round(averageCharsPerToken * 100) / 100
186
+ };
187
+ }
188
+ }
189
+ exports.TokenEstimatorService = TokenEstimatorService;
190
+ //# sourceMappingURL=token-estimator.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimator.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/token-estimator/token-estimator.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './use-case-metrics-logger.service';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/use-case-metrics-logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./use-case-metrics-logger.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/services/use-case-metrics-logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Metrics collected from a use case execution
3
+ */
4
+ export interface UseCaseMetrics {
5
+ executionTimeSeconds: number;
6
+ inputTokenCount: number;
7
+ outputTokenCount: number;
8
+ tokensPerSecond: string;
9
+ success: boolean;
10
+ errorMessage?: string;
11
+ modelName: string;
12
+ hasThinking: boolean;
13
+ repeatPenalty?: number;
14
+ topP?: number;
15
+ topK?: number;
16
+ frequencyPenalty?: number;
17
+ presencePenalty?: number;
18
+ repeatLastN?: number;
19
+ numPredict?: number;
20
+ }
21
+ /**
22
+ * Service for logging and tracking use case execution metrics
23
+ *
24
+ * Tracks performance metrics including:
25
+ * - Execution time
26
+ * - Token usage (input/output)
27
+ * - Generation speed (tokens/sec)
28
+ * - Success/failure status
29
+ * - Model parameters used
30
+ * - Thinking detection
31
+ *
32
+ * Usage:
33
+ * ```typescript
34
+ * // At start
35
+ * UseCaseMetricsLoggerService.logStart('MyUseCase', 'phi3:mini', 256, 0.7);
36
+ *
37
+ * // At end
38
+ * const metrics = UseCaseMetricsLoggerService.calculateMetrics(...);
39
+ * UseCaseMetricsLoggerService.logCompletion('MyUseCase', metrics);
40
+ * ```
41
+ */
42
+ export declare class UseCaseMetricsLoggerService {
43
+ /**
44
+ * Log the start of a use case execution
45
+ * @param useCaseName Name of the use case
46
+ * @param modelName Name of the model being used
47
+ * @param promptLength Length of the user prompt
48
+ * @param temperature Temperature setting
49
+ * @param additionalParams Additional parameters like repeat_penalty, top_p, etc.
50
+ */
51
+ static logStart(useCaseName: string, modelName: string, promptLength: number, temperature: number, additionalParams?: {
52
+ repeatPenalty?: number;
53
+ topP?: number;
54
+ topK?: number;
55
+ frequencyPenalty?: number;
56
+ presencePenalty?: number;
57
+ repeatLastN?: number;
58
+ numPredict?: number;
59
+ }): void;
60
+ /**
61
+ * Log the completion of a use case execution
62
+ * @param useCaseName Name of the use case
63
+ * @param metrics Metrics from the execution
64
+ */
65
+ static logCompletion(useCaseName: string, metrics: UseCaseMetrics): void;
66
+ /**
67
+ * Calculate metrics from execution data
68
+ * @param startTime Start time of execution (from Date.now())
69
+ * @param systemMessage System message used
70
+ * @param userPrompt User prompt used
71
+ * @param response Response from AI
72
+ * @param thinking Optional thinking content
73
+ * @param modelName Name of the model
74
+ * @param success Whether execution was successful
75
+ * @param errorMessage Optional error message
76
+ * @param additionalParams Additional parameters
77
+ * @returns Calculated metrics
78
+ */
79
+ static calculateMetrics(startTime: number, systemMessage: string, userPrompt: string, response: string, thinking: string, modelName: string, success: boolean, errorMessage?: string, additionalParams?: {
80
+ repeatPenalty?: number;
81
+ topP?: number;
82
+ topK?: number;
83
+ frequencyPenalty?: number;
84
+ presencePenalty?: number;
85
+ repeatLastN?: number;
86
+ numPredict?: number;
87
+ }): UseCaseMetrics;
88
+ }
89
+ //# sourceMappingURL=use-case-metrics-logger.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-case-metrics-logger.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,2BAA2B;IAEtC;;;;;;;OAOG;WACW,QAAQ,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,gBAAgB,GAAE;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,IAAI;IAYP;;;;OAIG;WACW,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IA2B/E;;;;;;;;;;;;OAYG;WACW,gBAAgB,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,GAAE;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,cAAc;CA2BlB"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UseCaseMetricsLoggerService = void 0;
4
+ const logging_utils_1 = require("../../shared/utils/logging.utils");
5
+ const token_estimator_service_1 = require("../token-estimator/token-estimator.service");
6
+ /**
7
+ * Service for logging and tracking use case execution metrics
8
+ *
9
+ * Tracks performance metrics including:
10
+ * - Execution time
11
+ * - Token usage (input/output)
12
+ * - Generation speed (tokens/sec)
13
+ * - Success/failure status
14
+ * - Model parameters used
15
+ * - Thinking detection
16
+ *
17
+ * Usage:
18
+ * ```typescript
19
+ * // At start
20
+ * UseCaseMetricsLoggerService.logStart('MyUseCase', 'phi3:mini', 256, 0.7);
21
+ *
22
+ * // At end
23
+ * const metrics = UseCaseMetricsLoggerService.calculateMetrics(...);
24
+ * UseCaseMetricsLoggerService.logCompletion('MyUseCase', metrics);
25
+ * ```
26
+ */
27
+ class UseCaseMetricsLoggerService {
28
+ /**
29
+ * Log the start of a use case execution
30
+ * @param useCaseName Name of the use case
31
+ * @param modelName Name of the model being used
32
+ * @param promptLength Length of the user prompt
33
+ * @param temperature Temperature setting
34
+ * @param additionalParams Additional parameters like repeat_penalty, top_p, etc.
35
+ */
36
+ static logStart(useCaseName, modelName, promptLength, temperature, additionalParams = {}) {
37
+ logging_utils_1.logger.info('Starting AI use case execution', {
38
+ context: useCaseName,
39
+ metadata: {
40
+ model: modelName,
41
+ promptLength,
42
+ temperature,
43
+ ...additionalParams
44
+ }
45
+ });
46
+ }
47
+ /**
48
+ * Log the completion of a use case execution
49
+ * @param useCaseName Name of the use case
50
+ * @param metrics Metrics from the execution
51
+ */
52
+ static logCompletion(useCaseName, metrics) {
53
+ const statusInfo = metrics.success ? 'SUCCESS' : 'WITH ERRORS';
54
+ const errorInfo = metrics.errorMessage ? ` Error: ${metrics.errorMessage}` : '';
55
+ const executionTimeFormatted = metrics.executionTimeSeconds.toFixed(2);
56
+ const logMessage = `Completed AI use case [${useCaseName} = ${metrics.modelName}] ${statusInfo} - Time: ${executionTimeFormatted}s, Input tokens: ${metrics.inputTokenCount}, Output tokens: ${metrics.outputTokenCount}, Speed: ${metrics.tokensPerSecond} tokens/sec${errorInfo}`;
57
+ if (metrics.success) {
58
+ logging_utils_1.logger.info(logMessage, {
59
+ context: useCaseName,
60
+ metadata: {
61
+ ...metrics,
62
+ executionTimeFormatted
63
+ }
64
+ });
65
+ }
66
+ else {
67
+ logging_utils_1.logger.error(logMessage, {
68
+ context: useCaseName,
69
+ error: metrics.errorMessage,
70
+ metadata: {
71
+ ...metrics,
72
+ executionTimeFormatted
73
+ }
74
+ });
75
+ }
76
+ }
77
+ /**
78
+ * Calculate metrics from execution data
79
+ * @param startTime Start time of execution (from Date.now())
80
+ * @param systemMessage System message used
81
+ * @param userPrompt User prompt used
82
+ * @param response Response from AI
83
+ * @param thinking Optional thinking content
84
+ * @param modelName Name of the model
85
+ * @param success Whether execution was successful
86
+ * @param errorMessage Optional error message
87
+ * @param additionalParams Additional parameters
88
+ * @returns Calculated metrics
89
+ */
90
+ static calculateMetrics(startTime, systemMessage, userPrompt, response, thinking, modelName, success, errorMessage, additionalParams = {}) {
91
+ const executionTimeSeconds = (Date.now() - startTime) / 1000;
92
+ // Estimate token counts using llm-middleware's TokenEstimatorService
93
+ const inputEstimate = token_estimator_service_1.TokenEstimatorService.estimateInputTokens(systemMessage, userPrompt);
94
+ const outputEstimate = token_estimator_service_1.TokenEstimatorService.estimateTokenCount(response);
95
+ const inputTokenCount = inputEstimate.estimated;
96
+ const outputTokenCount = outputEstimate.estimated;
97
+ const tokensPerSecond = token_estimator_service_1.TokenEstimatorService.calculateTokensPerSecond(outputTokenCount, executionTimeSeconds);
98
+ return {
99
+ executionTimeSeconds,
100
+ inputTokenCount,
101
+ outputTokenCount,
102
+ tokensPerSecond,
103
+ success,
104
+ errorMessage,
105
+ modelName,
106
+ hasThinking: !!thinking,
107
+ ...additionalParams
108
+ };
109
+ }
110
+ }
111
+ exports.UseCaseMetricsLoggerService = UseCaseMetricsLoggerService;
112
+ //# sourceMappingURL=use-case-metrics-logger.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-case-metrics-logger.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.ts"],"names":[],"mappings":";;;AAAA,oEAA0D;AAC1D,wFAAmF;AAuBnF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,2BAA2B;IAEtC;;;;;;;OAOG;IACI,MAAM,CAAC,QAAQ,CACpB,WAAmB,EACnB,SAAiB,EACjB,YAAoB,EACpB,WAAmB,EACnB,mBAQI,EAAE;QAEN,sBAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE;gBACR,KAAK,EAAE,SAAS;gBAChB,YAAY;gBACZ,WAAW;gBACX,GAAG,gBAAgB;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,OAAuB;QACtE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAG,0BAA0B,WAAW,MAAM,OAAO,CAAC,SAAS,KAAK,UAAU,YAAY,sBAAsB,oBAAoB,OAAO,CAAC,eAAe,oBAAoB,OAAO,CAAC,gBAAgB,YAAY,OAAO,CAAC,eAAe,cAAc,SAAS,EAAE,CAAC;QAEpR,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,sBAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACtB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE;oBACR,GAAG,OAAO;oBACV,sBAAsB;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,sBAAM,CAAC,KAAK,CAAC,UAAU,EAAE;gBACvB,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,OAAO,CAAC,YAAY;gBAC3B,QAAQ,EAAE;oBACR,GAAG,OAAO;oBACV,sBAAsB;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,gBAAgB,CAC5B,SAAiB,EACjB,aAAqB,EACrB,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,SAAiB,EACjB,OAAgB,EAChB,YAAqB,EACrB,mBAQI,EAAE;QAEN,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAE7D,qEAAqE;QACrE,MAAM,aAAa,GAAG,+CAAqB,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,cAAc,GAAG,+CAAqB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC;QAChD,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC;QAElD,MAAM,eAAe,GAAG,+CAAqB,CAAC,wBAAwB,CACpE,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;QAEF,OAAO;YACL,oBAAoB;YACpB,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,OAAO;YACP,YAAY;YACZ,SAAS;YACT,WAAW,EAAE,CAAC,CAAC,QAAQ;YACvB,GAAG,gBAAgB;SACpB,CAAC;IACJ,CAAC;CACF;AA9HD,kEA8HC"}
@@ -0,0 +1,3 @@
1
+ import { AppConfig } from '../types';
2
+ export declare const appConfig: AppConfig;
3
+ //# sourceMappingURL=app.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.config.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/config/app.config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAC;AA2CzD,eAAO,MAAM,SAAS,EAAE,SAAyB,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.appConfig = void 0;
37
+ const dotenv = __importStar(require("dotenv"));
38
+ // Load environment variables
39
+ dotenv.config();
40
+ /**
41
+ * Default application configuration with environment variable support
42
+ */
43
+ const defaultConfig = {
44
+ server: {
45
+ port: Number(process.env.PORT) || 3000,
46
+ environment: process.env.NODE_ENV || 'development'
47
+ },
48
+ auth: {
49
+ // Default validation type - can be overridden by env var
50
+ validationType: process.env.AUTH_VALIDATION_TYPE || 'none',
51
+ // Supabase credentials from env (optional)
52
+ supabase: {
53
+ url: process.env.SUPABASE_URL || null,
54
+ key: process.env.SUPABASE_KEY || null,
55
+ serviceKey: process.env.SUPABASE_SERVICE_KEY || null
56
+ },
57
+ // Static key auth from env (optional)
58
+ staticKey: {
59
+ apiKey: process.env.STATIC_API_KEY || null
60
+ }
61
+ },
62
+ logging: {
63
+ level: process.env.LOG_LEVEL || 'info',
64
+ console: {
65
+ enabled: true,
66
+ colorized: true
67
+ },
68
+ database: {
69
+ enabled: process.env.NODE_ENV === 'production',
70
+ minLevel: 'error'
71
+ }
72
+ }
73
+ };
74
+ // Export the config
75
+ exports.appConfig = defaultConfig;
76
+ //# sourceMappingURL=app.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.config.js","sourceRoot":"","sources":["../../../../src/middleware/shared/config/app.config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAGjC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB;;GAEG;AACH,MAAM,aAAa,GAAc;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;QACtC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;KACnD;IACD,IAAI,EAAE;QACJ,yDAAyD;QACzD,cAAc,EAAG,OAAO,CAAC,GAAG,CAAC,oBAA2C,IAAI,MAAM;QAElF,2CAA2C;QAC3C,QAAQ,EAAE;YACR,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI;YACrC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI;SACrD;QAED,sCAAsC;QACtC,SAAS,EAAE;YACT,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI;SAC3C;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACtC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAC9C,QAAQ,EAAE,OAAO;SAClB;KACF;CACF,CAAC;AAEF,oBAAoB;AACP,QAAA,SAAS,GAAc,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './app.config';
2
+ export * from './logging.config';
3
+ export * from './models.config';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/config/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Export all configuration modules
18
+ __exportStar(require("./app.config"), exports);
19
+ __exportStar(require("./logging.config"), exports);
20
+ __exportStar(require("./models.config"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/shared/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAAmC;AACnC,+CAA6B;AAC7B,mDAAiC;AACjC,kDAAgC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Logging level configuration interface
3
+ */
4
+ export interface LogLevelConfig {
5
+ value: number;
6
+ label: string;
7
+ color: string;
8
+ }
9
+ /**
10
+ * Available log levels with priorities and colors
11
+ */
12
+ export declare const LogLevel: {
13
+ readonly DEBUG: {
14
+ readonly value: 0;
15
+ readonly label: "DEBUG";
16
+ readonly color: "\u001B[36m";
17
+ };
18
+ readonly INFO: {
19
+ readonly value: 1;
20
+ readonly label: "INFO";
21
+ readonly color: "\u001B[32m";
22
+ };
23
+ readonly WARN: {
24
+ readonly value: 2;
25
+ readonly label: "WARN";
26
+ readonly color: "\u001B[33m";
27
+ };
28
+ readonly ERROR: {
29
+ readonly value: 3;
30
+ readonly label: "ERROR";
31
+ readonly color: "\u001B[31m";
32
+ };
33
+ readonly CRITICAL: {
34
+ readonly value: 4;
35
+ readonly label: "CRITICAL";
36
+ readonly color: "\u001B[35m";
37
+ };
38
+ readonly SYSTEM: {
39
+ readonly value: 5;
40
+ readonly label: "SYSTEM";
41
+ readonly color: "\u001B[37m";
42
+ };
43
+ readonly NONE: {
44
+ readonly value: 6;
45
+ readonly label: "NONE";
46
+ readonly color: "\u001B[0m";
47
+ };
48
+ };
49
+ //# sourceMappingURL=logging.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.config.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/config/logging.config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQX,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = void 0;
4
+ /**
5
+ * Available log levels with priorities and colors
6
+ */
7
+ exports.LogLevel = {
8
+ DEBUG: { value: 0, label: 'DEBUG', color: '\x1b[36m' }, // Cyan
9
+ INFO: { value: 1, label: 'INFO', color: '\x1b[32m' }, // Green
10
+ WARN: { value: 2, label: 'WARN', color: '\x1b[33m' }, // Yellow
11
+ ERROR: { value: 3, label: 'ERROR', color: '\x1b[31m' }, // Red
12
+ CRITICAL: { value: 4, label: 'CRITICAL', color: '\x1b[35m' }, // Magenta
13
+ SYSTEM: { value: 5, label: 'SYSTEM', color: '\x1b[37m' }, // White
14
+ NONE: { value: 6, label: 'NONE', color: '\x1b[0m' } // Reset
15
+ };
16
+ //# sourceMappingURL=logging.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.config.js","sourceRoot":"","sources":["../../../../src/middleware/shared/config/logging.config.ts"],"names":[],"mappings":";;;AASA;;GAEG;AACU,QAAA,QAAQ,GAAG;IACtB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAK,OAAO;IAClE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAO,QAAQ;IACnE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAO,SAAS;IACpE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAK,MAAM;IACjE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU;IACxE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAG,QAAQ;IACnE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAQ,QAAQ;CAC3D,CAAC"}