@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,19 @@
1
+ import { LLMModelConfig, ValidatedLLMModelConfig, ModelsConfigMap } from '../types';
2
+ export { LLMModelConfig, ValidatedLLMModelConfig, ModelsConfigMap };
3
+ /**
4
+ * Default model configurations
5
+ * Override these by setting environment variables
6
+ */
7
+ export declare const MODELS: ModelsConfigMap;
8
+ export type ModelConfigKey = keyof typeof MODELS;
9
+ /**
10
+ * Helper function to get a model config by key
11
+ * Returns a validated config with guaranteed model name
12
+ * @throws Error if model name is not configured
13
+ */
14
+ export declare function getModelConfig(key: ModelConfigKey): ValidatedLLMModelConfig;
15
+ /**
16
+ * Helper function to get all available model keys
17
+ */
18
+ export declare function getAvailableModelKeys(): ModelConfigKey[];
19
+ //# sourceMappingURL=models.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.config.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/config/models.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,eAQpB,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,uBAAuB,CAY3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAExD"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODELS = void 0;
4
+ exports.getModelConfig = getModelConfig;
5
+ exports.getAvailableModelKeys = getAvailableModelKeys;
6
+ /**
7
+ * Default model configurations
8
+ * Override these by setting environment variables
9
+ */
10
+ exports.MODELS = {
11
+ 'MODEL1': {
12
+ name: process.env.MODEL1_NAME,
13
+ baseUrl: process.env.MODEL1_URL || 'http://localhost:11434',
14
+ bearerToken: process.env.MODEL1_TOKEN,
15
+ temperature: 0.8,
16
+ description: 'Primary model for all text generation tasks'
17
+ }
18
+ };
19
+ /**
20
+ * Helper function to get a model config by key
21
+ * Returns a validated config with guaranteed model name
22
+ * @throws Error if model name is not configured
23
+ */
24
+ function getModelConfig(key) {
25
+ const config = exports.MODELS[key];
26
+ if (!config.name) {
27
+ throw new Error(`Model name for ${key} is not configured. ` +
28
+ `Please set MODEL1_NAME in your .env file or environment variables.`);
29
+ }
30
+ // Type assertion: we've validated that name exists
31
+ return config;
32
+ }
33
+ /**
34
+ * Helper function to get all available model keys
35
+ */
36
+ function getAvailableModelKeys() {
37
+ return Object.keys(exports.MODELS);
38
+ }
39
+ //# sourceMappingURL=models.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.config.js","sourceRoot":"","sources":["../../../../src/middleware/shared/config/models.config.ts"],"names":[],"mappings":";;;AA2BA,wCAYC;AAKD,sDAEC;AAzCD;;;GAGG;AACU,QAAA,MAAM,GAAoB;IACrC,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;QAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wBAAwB;QAC3D,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACrC,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,6CAA6C;KAC3D;CACF,CAAC;AAKF;;;;GAIG;AACH,SAAgB,cAAc,CAAC,GAAmB;IAChD,MAAM,MAAM,GAAG,cAAM,CAAC,GAAG,CAAC,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,kBAAkB,GAAG,sBAAsB;YAC3C,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,cAAM,CAAqB,CAAC;AACjD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './json-formatting.constants';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/constants/index.ts"],"names":[],"mappings":"AAEA,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // src/middleware/shared/constants/index.ts
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ __exportStar(require("./json-formatting.constants"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/shared/constants/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;;;;;;;;;;;;;;;;AAE3C,8DAA4C"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Central JSON formatting instructions for consistent AI responses
3
+ * Use these constants in all AI message templates to ensure proper JSON output
4
+ */
5
+ /**
6
+ * Standard JSON formatting instructions for all AI responses
7
+ * Append this to system messages or user templates
8
+ */
9
+ export declare const JSON_FORMATTING_INSTRUCTIONS = "\nIMPORTANT FORMATTING INSTRUCTIONS:\n- Return EXCLUSIVELY pure JSON without any formatting\n- Do NOT use HTML entities like <br> or &nbsp;\n- Do NOT use Markdown formatting like ```json or ```\n- Do NOT use line breaks within JSON strings\n- Start your response directly with { and end with }\n- All text in JSON values should be written as plain strings without additional formatting\n\nEnsure your response is exclusively a valid JSON object that can be parsed directly.";
10
+ /**
11
+ * Basic JSON instruction for system messages (shorter version)
12
+ */
13
+ export declare const BASIC_JSON_INSTRUCTION = "Return exclusively JSON. No code blocks, no backticks, just a single JSON object.";
14
+ /**
15
+ * Extended JSON instruction with example (for user templates)
16
+ */
17
+ export declare const JSON_INSTRUCTION_WITH_EXAMPLE = "\nIMPORTANT FORMATTING INSTRUCTIONS:\n- Return EXCLUSIVELY pure JSON without any formatting\n- Do NOT use HTML entities like <br> or &nbsp;\n- Do NOT use Markdown formatting like ```json or ```\n- Do NOT use line breaks within JSON strings\n- Start your response directly with { and end with }\n- All text in JSON values should be written as plain strings without additional formatting\n\nEnsure your response is exclusively a valid JSON object that can be parsed directly.\n\nEXAMPLE of correct formatting:\n{\"technicalSkillsScore\": 75, \"experienceScore\": 80, \"analysis\": \"The candidate meets most requirements\"}\n\nINCORRECT would be:\n```json<br>{\"technicalSkillsScore\": 75<br>...";
18
+ /**
19
+ * Utility function to append JSON instructions to any message
20
+ */
21
+ export declare function withJsonInstructions(message: string): string;
22
+ /**
23
+ * Utility function to append basic JSON instruction to system messages
24
+ */
25
+ export declare function withBasicJsonInstruction(systemMessage: string): string;
26
+ /**
27
+ * JSON Array formatting instructions for AI responses that should return arrays
28
+ * Use this when you expect the AI to return an array of items, not a single object
29
+ */
30
+ export declare const JSON_ARRAY_FORMATTING_INSTRUCTIONS = "\nCRITICAL FORMATTING INSTRUCTIONS FOR JSON ARRAYS:\n- Return EXCLUSIVELY a JSON ARRAY - begin with [ and end with ]\n- Make sure to close the array properly, with ] and not ]]\n- NO wrapping object with a key - return the array directly!\n- NO Markdown formatting like ```json or ```\n- NO HTML entities like <br> or &nbsp;\n- NO line breaks within JSON strings\n- All text in JSON values should be written as plain strings without additional formatting\n\nEXAMPLE - CORRECT:\n[{\"Name\": \"Example 1\", \"Values\": [\"A\", \"B\"]}, {\"Name\": \"Example 2\", \"Values\": [\"C\", \"D\"]}]\n\nEXAMPLE - INCORRECT (do not use):\n{\"Items\": [{\"Name\": \"Example 1\"}]}\n{\"Results\": [...]}\n\nEnsure your response is exclusively a valid JSON array that can be parsed directly.";
31
+ /**
32
+ * Utility function to append array-specific JSON instruction to system messages
33
+ * Use this for all AI use cases that expect an array response
34
+ */
35
+ export declare function withArrayJsonInstruction(systemMessage: string): string;
36
+ //# sourceMappingURL=json-formatting.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-formatting.constants.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/constants/json-formatting.constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B,8dAS4C,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,sBAAsB,sFAAsF,CAAC;AAE1H;;GAEG;AACH,eAAO,MAAM,6BAA6B,0rBAMO,CAAC;AAElD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,6wBAiBqC,CAAC;AAErF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ // src/middleware/shared/constants/json-formatting.constants.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.JSON_ARRAY_FORMATTING_INSTRUCTIONS = exports.JSON_INSTRUCTION_WITH_EXAMPLE = exports.BASIC_JSON_INSTRUCTION = exports.JSON_FORMATTING_INSTRUCTIONS = void 0;
5
+ exports.withJsonInstructions = withJsonInstructions;
6
+ exports.withBasicJsonInstruction = withBasicJsonInstruction;
7
+ exports.withArrayJsonInstruction = withArrayJsonInstruction;
8
+ /**
9
+ * Central JSON formatting instructions for consistent AI responses
10
+ * Use these constants in all AI message templates to ensure proper JSON output
11
+ */
12
+ /**
13
+ * Standard JSON formatting instructions for all AI responses
14
+ * Append this to system messages or user templates
15
+ */
16
+ exports.JSON_FORMATTING_INSTRUCTIONS = `
17
+ IMPORTANT FORMATTING INSTRUCTIONS:
18
+ - Return EXCLUSIVELY pure JSON without any formatting
19
+ - Do NOT use HTML entities like <br> or &nbsp;
20
+ - Do NOT use Markdown formatting like \`\`\`json or \`\`\`
21
+ - Do NOT use line breaks within JSON strings
22
+ - Start your response directly with { and end with }
23
+ - All text in JSON values should be written as plain strings without additional formatting
24
+
25
+ Ensure your response is exclusively a valid JSON object that can be parsed directly.`;
26
+ /**
27
+ * Basic JSON instruction for system messages (shorter version)
28
+ */
29
+ exports.BASIC_JSON_INSTRUCTION = `Return exclusively JSON. No code blocks, no backticks, just a single JSON object.`;
30
+ /**
31
+ * Extended JSON instruction with example (for user templates)
32
+ */
33
+ exports.JSON_INSTRUCTION_WITH_EXAMPLE = `${exports.JSON_FORMATTING_INSTRUCTIONS}
34
+
35
+ EXAMPLE of correct formatting:
36
+ {"technicalSkillsScore": 75, "experienceScore": 80, "analysis": "The candidate meets most requirements"}
37
+
38
+ INCORRECT would be:
39
+ \`\`\`json<br>{"technicalSkillsScore": 75<br>...`;
40
+ /**
41
+ * Utility function to append JSON instructions to any message
42
+ */
43
+ function withJsonInstructions(message) {
44
+ return `${message}\n\n${exports.JSON_FORMATTING_INSTRUCTIONS}`;
45
+ }
46
+ /**
47
+ * Utility function to append basic JSON instruction to system messages
48
+ */
49
+ function withBasicJsonInstruction(systemMessage) {
50
+ return `${systemMessage}\n${exports.BASIC_JSON_INSTRUCTION}`;
51
+ }
52
+ /**
53
+ * JSON Array formatting instructions for AI responses that should return arrays
54
+ * Use this when you expect the AI to return an array of items, not a single object
55
+ */
56
+ exports.JSON_ARRAY_FORMATTING_INSTRUCTIONS = `
57
+ CRITICAL FORMATTING INSTRUCTIONS FOR JSON ARRAYS:
58
+ - Return EXCLUSIVELY a JSON ARRAY - begin with [ and end with ]
59
+ - Make sure to close the array properly, with ] and not ]]
60
+ - NO wrapping object with a key - return the array directly!
61
+ - NO Markdown formatting like \`\`\`json or \`\`\`
62
+ - NO HTML entities like <br> or &nbsp;
63
+ - NO line breaks within JSON strings
64
+ - All text in JSON values should be written as plain strings without additional formatting
65
+
66
+ EXAMPLE - CORRECT:
67
+ [{"Name": "Example 1", "Values": ["A", "B"]}, {"Name": "Example 2", "Values": ["C", "D"]}]
68
+
69
+ EXAMPLE - INCORRECT (do not use):
70
+ {"Items": [{"Name": "Example 1"}]}
71
+ {"Results": [...]}
72
+
73
+ Ensure your response is exclusively a valid JSON array that can be parsed directly.`;
74
+ /**
75
+ * Utility function to append array-specific JSON instruction to system messages
76
+ * Use this for all AI use cases that expect an array response
77
+ */
78
+ function withArrayJsonInstruction(systemMessage) {
79
+ return `${systemMessage}\nReturn exclusively a JSON array. No code blocks, no backticks, no wrapping objects with keys - only the pure JSON array starting with [ and ending with ].`;
80
+ }
81
+ //# sourceMappingURL=json-formatting.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-formatting.constants.js","sourceRoot":"","sources":["../../../../src/middleware/shared/constants/json-formatting.constants.ts"],"names":[],"mappings":";AAAA,+DAA+D;;;AAyC/D,oDAEC;AAKD,4DAEC;AA6BD,4DAEC;AA/ED;;;GAGG;AAEH;;;GAGG;AACU,QAAA,4BAA4B,GAAG;;;;;;;;;qFASyC,CAAC;AAEtF;;GAEG;AACU,QAAA,sBAAsB,GAAG,mFAAmF,CAAC;AAE1H;;GAEG;AACU,QAAA,6BAA6B,GAAG,GAAG,oCAA4B;;;;;;iDAM3B,CAAC;AAElD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,GAAG,OAAO,OAAO,oCAA4B,EAAE,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,GAAG,aAAa,KAAK,8BAAsB,EAAE,CAAC;AACvD,CAAC;AAED;;;GAGG;AACU,QAAA,kCAAkC,GAAG;;;;;;;;;;;;;;;;;oFAiBkC,CAAC;AAErF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,GAAG,aAAa,8JAA8J,CAAC;AACxL,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Request } from 'express';
2
+ import { ClientInfo } from './client-info';
3
+ /**
4
+ * Extended Express Request interface with user and client info
5
+ */
6
+ export interface RequestWithUser extends Request {
7
+ user?: any;
8
+ clientInfo: ClientInfo;
9
+ }
10
+ /**
11
+ * Base interface for all AI use case requests
12
+ * Generic type allows for different prompt types (string, complex objects, etc.)
13
+ */
14
+ export interface BaseAIRequest<TPrompt = string> {
15
+ prompt: TPrompt;
16
+ authToken?: string;
17
+ }
18
+ /**
19
+ * Base interface for all AI use case results
20
+ */
21
+ export interface BaseAIResult {
22
+ generatedContent: string;
23
+ model: string;
24
+ usedPrompt: string;
25
+ thinking?: string;
26
+ }
27
+ //# sourceMappingURL=base-request.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-request.types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/types/base-request.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,MAAM;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=base-request.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-request.types.js","sourceRoot":"","sources":["../../../../src/middleware/shared/types/base-request.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface ClientInfo {
2
+ platform?: string;
3
+ version?: string;
4
+ userAgent?: string;
5
+ ip?: string;
6
+ timestamp?: string;
7
+ }
8
+ //# sourceMappingURL=client-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-info.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/types/client-info.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=client-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-info.js","sourceRoot":"","sources":["../../../../src/middleware/shared/types/client-info.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ export * from './client-info';
2
+ export * from './base-request.types';
3
+ export interface LLMModelConfig {
4
+ name: string | undefined;
5
+ baseUrl: string;
6
+ bearerToken?: string;
7
+ temperature: number;
8
+ description?: string;
9
+ }
10
+ export interface ValidatedLLMModelConfig extends Omit<LLMModelConfig, 'name'> {
11
+ name: string;
12
+ }
13
+ export type ModelsConfigMap = Record<string, LLMModelConfig>;
14
+ export type AuthValidationType = 'none' | 'supabase' | 'static';
15
+ export interface AppConfig {
16
+ server: {
17
+ port: number;
18
+ environment: string;
19
+ };
20
+ auth: {
21
+ validationType: AuthValidationType;
22
+ supabase?: {
23
+ url: string | null;
24
+ key: string | null;
25
+ serviceKey: string | null;
26
+ };
27
+ staticKey?: {
28
+ apiKey: string | null;
29
+ };
30
+ };
31
+ logging: {
32
+ level: string;
33
+ console: {
34
+ enabled: boolean;
35
+ colorized: boolean;
36
+ };
37
+ database: {
38
+ enabled: boolean;
39
+ minLevel: string;
40
+ };
41
+ };
42
+ }
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/types/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AAGrC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAG7D,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,EAAE;QACJ,cAAc,EAAE,kBAAkB,CAAC;QACnC,QAAQ,CAAC,EAAE;YACT,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;YACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;YACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;SAC3B,CAAC;QACF,SAAS,CAAC,EAAE;YACV,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC;QACF,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH"}
@@ -0,0 +1,20 @@
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
+ // Base types and interfaces
18
+ __exportStar(require("./client-info"), exports);
19
+ __exportStar(require("./base-request.types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/shared/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,gDAA8B;AAC9B,uDAAqC"}
@@ -0,0 +1,25 @@
1
+ import { Request, Response } from 'express';
2
+ import { ClientInfo } from '../types/client-info';
3
+ /**
4
+ * Extract request metadata for logging
5
+ */
6
+ export declare function getRequestMetadata(req: Request): {
7
+ headers: import("http").IncomingHttpHeaders;
8
+ url: string;
9
+ method: string;
10
+ query: import("qs").ParsedQs;
11
+ timestamp: string;
12
+ };
13
+ /**
14
+ * Send standardized HTTP response
15
+ */
16
+ export declare function sendResponse(res: Response, status: number, data: any, clientInfo?: ClientInfo): void;
17
+ /**
18
+ * Send success response (200)
19
+ */
20
+ export declare function sendSuccessResponse(res: Response, data: any, clientInfo?: ClientInfo): void;
21
+ /**
22
+ * Send error response
23
+ */
24
+ export declare function sendErrorResponse(res: Response, status: number, error: string, clientInfo?: ClientInfo): void;
25
+ //# sourceMappingURL=http.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.utils.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/utils/http.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAUlD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO;;;;;;EAQ9C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,EACT,UAAU,CAAC,EAAE,UAAU,GACtB,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,GAAG,EACT,UAAU,CAAC,EAAE,UAAU,GACtB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,UAAU,GACtB,IAAI,CAEN"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequestMetadata = getRequestMetadata;
4
+ exports.sendResponse = sendResponse;
5
+ exports.sendSuccessResponse = sendSuccessResponse;
6
+ exports.sendErrorResponse = sendErrorResponse;
7
+ /**
8
+ * Extract request metadata for logging
9
+ */
10
+ function getRequestMetadata(req) {
11
+ return {
12
+ headers: req.headers,
13
+ url: req.url,
14
+ method: req.method,
15
+ query: req.query,
16
+ timestamp: new Date().toISOString()
17
+ };
18
+ }
19
+ /**
20
+ * Send standardized HTTP response
21
+ */
22
+ function sendResponse(res, status, data, clientInfo) {
23
+ const responseData = {
24
+ success: status < 400,
25
+ data: status < 400 ? data : undefined,
26
+ error: status >= 400 ? data : undefined,
27
+ timestamp: new Date().toISOString(),
28
+ clientInfo
29
+ };
30
+ res.status(status).json(responseData);
31
+ }
32
+ /**
33
+ * Send success response (200)
34
+ */
35
+ function sendSuccessResponse(res, data, clientInfo) {
36
+ sendResponse(res, 200, data, clientInfo);
37
+ }
38
+ /**
39
+ * Send error response
40
+ */
41
+ function sendErrorResponse(res, status, error, clientInfo) {
42
+ sendResponse(res, status, error, clientInfo);
43
+ }
44
+ //# sourceMappingURL=http.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.utils.js","sourceRoot":"","sources":["../../../../src/middleware/shared/utils/http.utils.ts"],"names":[],"mappings":";;AAcA,gDAQC;AAKD,oCAeC;AAKD,kDAMC;AAKD,8CAOC;AAtDD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,GAAa,EACb,MAAc,EACd,IAAS,EACT,UAAuB;IAEvB,MAAM,YAAY,GAAiB;QACjC,OAAO,EAAE,MAAM,GAAG,GAAG;QACrB,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACrC,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU;KACX,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,GAAa,EACb,IAAS,EACT,UAAuB;IAEvB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,GAAa,EACb,MAAc,EACd,KAAa,EACb,UAAuB;IAEvB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './http.utils';
2
+ export * from './logging.utils';
3
+ export * from './memory-management.utils';
4
+ export * from './validation.utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,22 @@
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 utility modules
18
+ __exportStar(require("./http.utils"), exports);
19
+ __exportStar(require("./logging.utils"), exports);
20
+ __exportStar(require("./memory-management.utils"), exports);
21
+ __exportStar(require("./validation.utils"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,+CAA6B;AAC7B,kDAAgC;AAChC,4DAA0C;AAC1C,qDAAmC"}
@@ -0,0 +1,30 @@
1
+ import { Request } from 'express';
2
+ import { LogLevelConfig } from '../config/logging.config';
3
+ interface LogOptions {
4
+ context?: string;
5
+ category?: string;
6
+ requestId?: string;
7
+ error?: string;
8
+ url?: string;
9
+ method?: string;
10
+ duration?: number;
11
+ operation?: string;
12
+ metadata?: Record<string, any>;
13
+ printMetadata?: boolean;
14
+ }
15
+ declare class Logger {
16
+ private formatMessage;
17
+ log(level: LogLevelConfig, message: unknown, options?: LogOptions): Promise<void>;
18
+ private getLevelByName;
19
+ setConsoleLogLevel(level: LogLevelConfig): string;
20
+ debug(message: unknown, options?: LogOptions): Promise<void>;
21
+ info(message: unknown, options?: LogOptions): Promise<void>;
22
+ warn(message: unknown, options?: LogOptions): Promise<void>;
23
+ error(message: unknown, options?: LogOptions): Promise<void>;
24
+ critical(message: unknown, options?: LogOptions): Promise<void>;
25
+ system(message: unknown, options?: LogOptions): Promise<void>;
26
+ logRequest(req: Request): Promise<void>;
27
+ }
28
+ export declare const logger: Logger;
29
+ export {};
30
+ //# sourceMappingURL=logging.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.utils.d.ts","sourceRoot":"","sources":["../../../../src/middleware/shared/utils/logging.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAgBpE,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,cAAM,MAAM;IACV,OAAO,CAAC,aAAa;IA+BR,GAAG,CACd,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC;IAgBhB,OAAO,CAAC,cAAc;IAQf,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAOjD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAY/C;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ const app_config_1 = require("../config/app.config");
5
+ const logging_config_1 = require("../config/logging.config");
6
+ class Logger {
7
+ formatMessage(level, message, options) {
8
+ const timestamp = new Date().toISOString();
9
+ const levelString = level.label.padEnd(8);
10
+ const context = options?.context ? ` [${options.context}]` : '';
11
+ const category = options?.category ? ` (${options.category})` : '';
12
+ const requestId = options?.requestId ? ` #${options.requestId}` : '';
13
+ const error = options?.error ? ` Error: ${options.error}` : '';
14
+ const url = options?.url ? ` URL: ${options?.url}` : '';
15
+ const method = options?.method ? ` Method: ${options?.method}` : '';
16
+ const duration = options?.duration ? ` Duration: ${options?.duration}ms` : '';
17
+ const operation = options?.operation ? ` Operation: ${options.operation}` : '';
18
+ const printMetadata = options?.printMetadata || false;
19
+ const formattedMessage = typeof message === 'object'
20
+ ? JSON.stringify(message, null, 2)
21
+ : String(message);
22
+ let finalMessage = `${timestamp} ${levelString}${context}${category}${operation}${requestId}${url}${method}${duration}${error}: ${formattedMessage}`;
23
+ if (printMetadata && options?.metadata) {
24
+ const metadataStr = JSON.stringify(options.metadata, null, 2);
25
+ finalMessage += `\\nMetadata: ${metadataStr}`;
26
+ }
27
+ return finalMessage;
28
+ }
29
+ async log(level, message, options) {
30
+ const formattedMessage = this.formatMessage(level, message, options);
31
+ // Console logging based on app config
32
+ if (app_config_1.appConfig.logging.console.enabled) {
33
+ const minLevel = this.getLevelByName(app_config_1.appConfig.logging.level);
34
+ if (level.value >= minLevel.value) {
35
+ const output = app_config_1.appConfig.logging.console.colorized
36
+ ? `${level.color}${formattedMessage}${logging_config_1.LogLevel.NONE.color}`
37
+ : formattedMessage;
38
+ console.log(output);
39
+ }
40
+ }
41
+ }
42
+ // Helper method to get LogLevelConfig by name
43
+ getLevelByName(levelName) {
44
+ const level = Object.entries(logging_config_1.LogLevel).find(([key]) => key.toLowerCase() === levelName.toLowerCase());
45
+ return level ? level[1] : logging_config_1.LogLevel.INFO;
46
+ }
47
+ // Helper function to temporarily change the log-level
48
+ setConsoleLogLevel(level) {
49
+ const previousLevel = app_config_1.appConfig.logging.level;
50
+ app_config_1.appConfig.logging.level = level.label;
51
+ return previousLevel;
52
+ }
53
+ // Convenience methods
54
+ debug(message, options) {
55
+ return this.log(logging_config_1.LogLevel.DEBUG, message, options);
56
+ }
57
+ info(message, options) {
58
+ return this.log(logging_config_1.LogLevel.INFO, message, options);
59
+ }
60
+ warn(message, options) {
61
+ return this.log(logging_config_1.LogLevel.WARN, message, options);
62
+ }
63
+ error(message, options) {
64
+ const errorMsg = options?.error || (message instanceof Error ? message.message : undefined);
65
+ return this.log(logging_config_1.LogLevel.ERROR, message, {
66
+ ...options,
67
+ error: errorMsg
68
+ });
69
+ }
70
+ critical(message, options) {
71
+ return this.log(logging_config_1.LogLevel.CRITICAL, message, options);
72
+ }
73
+ system(message, options) {
74
+ return this.log(logging_config_1.LogLevel.SYSTEM, message, options);
75
+ }
76
+ // Application specific logging methods
77
+ logRequest(req) {
78
+ return this.info({
79
+ headers: req.headers,
80
+ url: req.url,
81
+ query: req.query,
82
+ timestamp: new Date().toISOString()
83
+ }, {
84
+ category: 'HTTP',
85
+ url: req.url,
86
+ method: req.method
87
+ });
88
+ }
89
+ }
90
+ exports.logger = new Logger();
91
+ //# sourceMappingURL=logging.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.utils.js","sourceRoot":"","sources":["../../../../src/middleware/shared/utils/logging.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface MemoryUsage {
2
+ rss: string;
3
+ heapTotal: string;
4
+ heapUsed: string;
5
+ external: string;
6
+ }
7
+ export declare function getMemoryUsage(): MemoryUsage;
8
+ export declare function isMemoryUsageCritical(limit: number): boolean;
9
+ export declare function forceGarbageCollection(): Promise<void>;
10
+ //# sourceMappingURL=memory-management.utils.d.ts.map