@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.
- package/.env.example +21 -0
- package/LICENSE +21 -0
- package/README.md +629 -0
- package/dist/examples/character-generator/character-generator.messages.d.ts +9 -0
- package/dist/examples/character-generator/character-generator.messages.d.ts.map +1 -0
- package/dist/examples/character-generator/character-generator.messages.js +54 -0
- package/dist/examples/character-generator/character-generator.messages.js.map +1 -0
- package/dist/examples/character-generator/character-generator.usecase.d.ts +129 -0
- package/dist/examples/character-generator/character-generator.usecase.d.ts.map +1 -0
- package/dist/examples/character-generator/character-generator.usecase.js +209 -0
- package/dist/examples/character-generator/character-generator.usecase.js.map +1 -0
- package/dist/examples/character-generator/create-character.messages.d.ts +11 -0
- package/dist/examples/character-generator/create-character.messages.d.ts.map +1 -0
- package/dist/examples/character-generator/create-character.messages.js +38 -0
- package/dist/examples/character-generator/create-character.messages.js.map +1 -0
- package/dist/examples/flat-formatter-demo/product-preset.example.d.ts +99 -0
- package/dist/examples/flat-formatter-demo/product-preset.example.d.ts.map +1 -0
- package/dist/examples/flat-formatter-demo/product-preset.example.js +85 -0
- package/dist/examples/flat-formatter-demo/product-preset.example.js.map +1 -0
- package/dist/examples/simple-chat/chat.controller.d.ts +15 -0
- package/dist/examples/simple-chat/chat.controller.d.ts.map +1 -0
- package/dist/examples/simple-chat/chat.controller.js +39 -0
- package/dist/examples/simple-chat/chat.controller.js.map +1 -0
- package/dist/examples/simple-chat/chat.messages.d.ts +10 -0
- package/dist/examples/simple-chat/chat.messages.d.ts.map +1 -0
- package/dist/examples/simple-chat/chat.messages.js +17 -0
- package/dist/examples/simple-chat/chat.messages.js.map +1 -0
- package/dist/examples/simple-chat/chat.usecase.d.ts +33 -0
- package/dist/examples/simple-chat/chat.usecase.d.ts.map +1 -0
- package/dist/examples/simple-chat/chat.usecase.js +40 -0
- package/dist/examples/simple-chat/chat.usecase.js.map +1 -0
- package/dist/examples/simple-chat/index.d.ts +3 -0
- package/dist/examples/simple-chat/index.d.ts.map +1 -0
- package/dist/examples/simple-chat/index.js +57 -0
- package/dist/examples/simple-chat/index.js.map +1 -0
- package/dist/examples/story-generator/story-generator.messages.d.ts +13 -0
- package/dist/examples/story-generator/story-generator.messages.d.ts.map +1 -0
- package/dist/examples/story-generator/story-generator.messages.js +41 -0
- package/dist/examples/story-generator/story-generator.messages.js.map +1 -0
- package/dist/examples/story-generator/story-generator.usecase.d.ts +115 -0
- package/dist/examples/story-generator/story-generator.usecase.d.ts.map +1 -0
- package/dist/examples/story-generator/story-generator.usecase.js +121 -0
- package/dist/examples/story-generator/story-generator.usecase.js.map +1 -0
- package/dist/examples/tweet-generator/tweet-generator.messages.d.ts +15 -0
- package/dist/examples/tweet-generator/tweet-generator.messages.d.ts.map +1 -0
- package/dist/examples/tweet-generator/tweet-generator.messages.js +40 -0
- package/dist/examples/tweet-generator/tweet-generator.messages.js.map +1 -0
- package/dist/examples/tweet-generator/tweet-generator.usecase.d.ts +92 -0
- package/dist/examples/tweet-generator/tweet-generator.usecase.d.ts.map +1 -0
- package/dist/examples/tweet-generator/tweet-generator.usecase.js +116 -0
- package/dist/examples/tweet-generator/tweet-generator.usecase.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/controllers/base/base.controller.d.ts +16 -0
- package/dist/middleware/controllers/base/base.controller.d.ts.map +1 -0
- package/dist/middleware/controllers/base/base.controller.js +38 -0
- package/dist/middleware/controllers/base/base.controller.js.map +1 -0
- package/dist/middleware/controllers/base/index.d.ts +2 -0
- package/dist/middleware/controllers/base/index.d.ts.map +1 -0
- package/dist/middleware/controllers/base/index.js +19 -0
- package/dist/middleware/controllers/base/index.js.map +1 -0
- package/dist/middleware/index.d.ts +7 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +27 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/services/data-flow-logger/data-flow-logger.service.d.ts +127 -0
- package/dist/middleware/services/data-flow-logger/data-flow-logger.service.d.ts.map +1 -0
- package/dist/middleware/services/data-flow-logger/data-flow-logger.service.js +341 -0
- package/dist/middleware/services/data-flow-logger/data-flow-logger.service.js.map +1 -0
- package/dist/middleware/services/data-flow-logger/index.d.ts +2 -0
- package/dist/middleware/services/data-flow-logger/index.d.ts.map +1 -0
- package/dist/middleware/services/data-flow-logger/index.js +18 -0
- package/dist/middleware/services/data-flow-logger/index.js.map +1 -0
- package/dist/middleware/services/flat-formatter/flat-formatter.service.d.ts +86 -0
- package/dist/middleware/services/flat-formatter/flat-formatter.service.d.ts.map +1 -0
- package/dist/middleware/services/flat-formatter/flat-formatter.service.js +333 -0
- package/dist/middleware/services/flat-formatter/flat-formatter.service.js.map +1 -0
- package/dist/middleware/services/flat-formatter/index.d.ts +4 -0
- package/dist/middleware/services/flat-formatter/index.d.ts.map +1 -0
- package/dist/middleware/services/flat-formatter/index.js +28 -0
- package/dist/middleware/services/flat-formatter/index.js.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/base-preset.d.ts +68 -0
- package/dist/middleware/services/flat-formatter/presets/base-preset.d.ts.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/base-preset.js +238 -0
- package/dist/middleware/services/flat-formatter/presets/base-preset.js.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/index.d.ts +5 -0
- package/dist/middleware/services/flat-formatter/presets/index.d.ts.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/index.js +28 -0
- package/dist/middleware/services/flat-formatter/presets/index.js.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/types/entity-types.d.ts +23 -0
- package/dist/middleware/services/flat-formatter/presets/types/entity-types.d.ts.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/types/entity-types.js +3 -0
- package/dist/middleware/services/flat-formatter/presets/types/entity-types.js.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.d.ts +30 -0
- package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.d.ts.map +1 -0
- package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.js +3 -0
- package/dist/middleware/services/flat-formatter/presets/types/processed-entity-types.js.map +1 -0
- package/dist/middleware/services/index.d.ts +10 -0
- package/dist/middleware/services/index.d.ts.map +1 -0
- package/dist/middleware/services/index.js +28 -0
- package/dist/middleware/services/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/helpers/index.d.ts +3 -0
- package/dist/middleware/services/json-cleaner/helpers/index.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/helpers/index.js +19 -0
- package/dist/middleware/services/json-cleaner/helpers/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.d.ts +52 -0
- package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.js +271 -0
- package/dist/middleware/services/json-cleaner/helpers/json-cleaner.analyzer.js.map +1 -0
- package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.d.ts +83 -0
- package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.js +326 -0
- package/dist/middleware/services/json-cleaner/helpers/json-validation.helper.js.map +1 -0
- package/dist/middleware/services/json-cleaner/index.d.ts +9 -0
- package/dist/middleware/services/json-cleaner/index.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/index.js +31 -0
- package/dist/middleware/services/json-cleaner/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner-logger.d.ts +59 -0
- package/dist/middleware/services/json-cleaner/json-cleaner-logger.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner-logger.js +164 -0
- package/dist/middleware/services/json-cleaner/json-cleaner-logger.js.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.d.ts +56 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.js +178 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.orchestrator.js.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.service.d.ts +94 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.service.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.service.js +175 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.service.js.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.types.d.ts +92 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.types.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.types.js +3 -0
- package/dist/middleware/services/json-cleaner/json-cleaner.types.js.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/index.d.ts +4 -0
- package/dist/middleware/services/json-cleaner/parsers/index.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/index.js +20 -0
- package/dist/middleware/services/json-cleaner/parsers/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.d.ts +32 -0
- package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.js +148 -0
- package/dist/middleware/services/json-cleaner/parsers/json-extractor.parser.js.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/markdown.parser.d.ts +19 -0
- package/dist/middleware/services/json-cleaner/parsers/markdown.parser.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/markdown.parser.js +43 -0
- package/dist/middleware/services/json-cleaner/parsers/markdown.parser.js.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.d.ts +19 -0
- package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.js +37 -0
- package/dist/middleware/services/json-cleaner/parsers/think-tag.parser.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.d.ts +40 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.js +138 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-context.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.d.ts +74 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.js +230 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-engine.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.d.ts +16 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.js +179 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/cleaning-recipe.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.d.ts +88 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.js +178 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/conditions.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.d.ts +51 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.js +219 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-builder.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.d.ts +62 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.js +217 -0
- package/dist/middleware/services/json-cleaner/recipe-system/core/recipe-steps.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/factory.d.ts +46 -0
- package/dist/middleware/services/json-cleaner/recipe-system/factory.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/factory.js +52 -0
- package/dist/middleware/services/json-cleaner/recipe-system/factory.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/index.d.ts +12 -0
- package/dist/middleware/services/json-cleaner/recipe-system/index.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/index.js +28 -0
- package/dist/middleware/services/json-cleaner/recipe-system/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.d.ts +55 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.js +348 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/detectors.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.d.ts +70 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.js +568 -0
- package/dist/middleware/services/json-cleaner/recipe-system/operations/fixers.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.d.ts +11 -0
- package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.js +103 -0
- package/dist/middleware/services/json-cleaner/recipe-system/recipes/templates.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.d.ts +171 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.js +3 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/operation.types.js.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.d.ts +224 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.js +3 -0
- package/dist/middleware/services/json-cleaner/recipe-system/types/recipe.types.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.d.ts +29 -0
- package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.js +128 -0
- package/dist/middleware/services/json-cleaner/strategies/aggressive.cleaner.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.d.ts +38 -0
- package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.js +18 -0
- package/dist/middleware/services/json-cleaner/strategies/base-cleaner.strategy.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.d.ts +65 -0
- package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.js +420 -0
- package/dist/middleware/services/json-cleaner/strategies/comma-fixer.cleaner.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.d.ts +50 -0
- package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.js +416 -0
- package/dist/middleware/services/json-cleaner/strategies/control-character.cleaner.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.d.ts +27 -0
- package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.js +84 -0
- package/dist/middleware/services/json-cleaner/strategies/duplicate-key.cleaner.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/index.d.ts +8 -0
- package/dist/middleware/services/json-cleaner/strategies/index.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/index.js +24 -0
- package/dist/middleware/services/json-cleaner/strategies/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.d.ts +23 -0
- package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.js +65 -0
- package/dist/middleware/services/json-cleaner/strategies/string-escaper.cleaner.js.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.d.ts +48 -0
- package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.js +188 -0
- package/dist/middleware/services/json-cleaner/strategies/structural-repair.cleaner.js.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/console-logger.util.d.ts +50 -0
- package/dist/middleware/services/json-cleaner/utils/console-logger.util.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/console-logger.util.js +95 -0
- package/dist/middleware/services/json-cleaner/utils/console-logger.util.js.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.d.ts +59 -0
- package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.js +326 -0
- package/dist/middleware/services/json-cleaner/utils/control-char-diagnostics.util.js.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/index.d.ts +3 -0
- package/dist/middleware/services/json-cleaner/utils/index.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/index.js +19 -0
- package/dist/middleware/services/json-cleaner/utils/index.js.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/json-inspector.util.d.ts +27 -0
- package/dist/middleware/services/json-cleaner/utils/json-inspector.util.d.ts.map +1 -0
- package/dist/middleware/services/json-cleaner/utils/json-inspector.util.js +139 -0
- package/dist/middleware/services/json-cleaner/utils/json-inspector.util.js.map +1 -0
- package/dist/middleware/services/llm/index.d.ts +5 -0
- package/dist/middleware/services/llm/index.d.ts.map +1 -0
- package/dist/middleware/services/llm/index.js +25 -0
- package/dist/middleware/services/llm/index.js.map +1 -0
- package/dist/middleware/services/llm/llm.service.d.ts +43 -0
- package/dist/middleware/services/llm/llm.service.d.ts.map +1 -0
- package/dist/middleware/services/llm/llm.service.js +70 -0
- package/dist/middleware/services/llm/llm.service.js.map +1 -0
- package/dist/middleware/services/llm/providers/base-llm-provider.d.ts +37 -0
- package/dist/middleware/services/llm/providers/base-llm-provider.d.ts.map +1 -0
- package/dist/middleware/services/llm/providers/base-llm-provider.js +41 -0
- package/dist/middleware/services/llm/providers/base-llm-provider.js.map +1 -0
- package/dist/middleware/services/llm/providers/index.d.ts +3 -0
- package/dist/middleware/services/llm/providers/index.d.ts.map +1 -0
- package/dist/middleware/services/llm/providers/index.js +25 -0
- package/dist/middleware/services/llm/providers/index.js.map +1 -0
- package/dist/middleware/services/llm/providers/ollama-provider.d.ts +39 -0
- package/dist/middleware/services/llm/providers/ollama-provider.d.ts.map +1 -0
- package/dist/middleware/services/llm/providers/ollama-provider.js +398 -0
- package/dist/middleware/services/llm/providers/ollama-provider.js.map +1 -0
- package/dist/middleware/services/llm/types/common.types.d.ts +81 -0
- package/dist/middleware/services/llm/types/common.types.d.ts.map +1 -0
- package/dist/middleware/services/llm/types/common.types.js +17 -0
- package/dist/middleware/services/llm/types/common.types.js.map +1 -0
- package/dist/middleware/services/llm/types/index.d.ts +3 -0
- package/dist/middleware/services/llm/types/index.d.ts.map +1 -0
- package/dist/middleware/services/llm/types/index.js +21 -0
- package/dist/middleware/services/llm/types/index.js.map +1 -0
- package/dist/middleware/services/llm/types/ollama.types.d.ts +48 -0
- package/dist/middleware/services/llm/types/ollama.types.d.ts.map +1 -0
- package/dist/middleware/services/llm/types/ollama.types.js +8 -0
- package/dist/middleware/services/llm/types/ollama.types.js.map +1 -0
- package/dist/middleware/services/llm/utils/debug-llm.utils.d.ts +42 -0
- package/dist/middleware/services/llm/utils/debug-llm.utils.d.ts.map +1 -0
- package/dist/middleware/services/llm/utils/debug-llm.utils.js +325 -0
- package/dist/middleware/services/llm/utils/debug-llm.utils.js.map +1 -0
- package/dist/middleware/services/llm/utils/index.d.ts +3 -0
- package/dist/middleware/services/llm/utils/index.d.ts.map +1 -0
- package/dist/middleware/services/llm/utils/index.js +19 -0
- package/dist/middleware/services/llm/utils/index.js.map +1 -0
- package/dist/middleware/services/llm/utils/text-analysis.utils.d.ts +75 -0
- package/dist/middleware/services/llm/utils/text-analysis.utils.d.ts.map +1 -0
- package/dist/middleware/services/llm/utils/text-analysis.utils.js +197 -0
- package/dist/middleware/services/llm/utils/text-analysis.utils.js.map +1 -0
- package/dist/middleware/services/model-parameter-manager/index.d.ts +2 -0
- package/dist/middleware/services/model-parameter-manager/index.d.ts.map +1 -0
- package/dist/middleware/services/model-parameter-manager/index.js +18 -0
- package/dist/middleware/services/model-parameter-manager/index.js.map +1 -0
- package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.d.ts +165 -0
- package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.d.ts.map +1 -0
- package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.js +325 -0
- package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.js.map +1 -0
- package/dist/middleware/services/request-formatter/index.d.ts +2 -0
- package/dist/middleware/services/request-formatter/index.d.ts.map +1 -0
- package/dist/middleware/services/request-formatter/index.js +18 -0
- package/dist/middleware/services/request-formatter/index.js.map +1 -0
- package/dist/middleware/services/request-formatter/request-formatter.service.d.ts +71 -0
- package/dist/middleware/services/request-formatter/request-formatter.service.d.ts.map +1 -0
- package/dist/middleware/services/request-formatter/request-formatter.service.js +230 -0
- package/dist/middleware/services/request-formatter/request-formatter.service.js.map +1 -0
- package/dist/middleware/services/response-processor.service.d.ts +106 -0
- package/dist/middleware/services/response-processor.service.d.ts.map +1 -0
- package/dist/middleware/services/response-processor.service.js +236 -0
- package/dist/middleware/services/response-processor.service.js.map +1 -0
- package/dist/middleware/services/token-estimator/index.d.ts +2 -0
- package/dist/middleware/services/token-estimator/index.d.ts.map +1 -0
- package/dist/middleware/services/token-estimator/index.js +18 -0
- package/dist/middleware/services/token-estimator/index.js.map +1 -0
- package/dist/middleware/services/token-estimator/token-estimator.service.d.ts +97 -0
- package/dist/middleware/services/token-estimator/token-estimator.service.d.ts.map +1 -0
- package/dist/middleware/services/token-estimator/token-estimator.service.js +190 -0
- package/dist/middleware/services/token-estimator/token-estimator.service.js.map +1 -0
- package/dist/middleware/services/use-case-metrics-logger/index.d.ts +2 -0
- package/dist/middleware/services/use-case-metrics-logger/index.d.ts.map +1 -0
- package/dist/middleware/services/use-case-metrics-logger/index.js +18 -0
- package/dist/middleware/services/use-case-metrics-logger/index.js.map +1 -0
- package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.d.ts +89 -0
- package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.d.ts.map +1 -0
- package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.js +112 -0
- package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.js.map +1 -0
- package/dist/middleware/shared/config/app.config.d.ts +3 -0
- package/dist/middleware/shared/config/app.config.d.ts.map +1 -0
- package/dist/middleware/shared/config/app.config.js +76 -0
- package/dist/middleware/shared/config/app.config.js.map +1 -0
- package/dist/middleware/shared/config/index.d.ts +4 -0
- package/dist/middleware/shared/config/index.d.ts.map +1 -0
- package/dist/middleware/shared/config/index.js +21 -0
- package/dist/middleware/shared/config/index.js.map +1 -0
- package/dist/middleware/shared/config/logging.config.d.ts +49 -0
- package/dist/middleware/shared/config/logging.config.d.ts.map +1 -0
- package/dist/middleware/shared/config/logging.config.js +16 -0
- package/dist/middleware/shared/config/logging.config.js.map +1 -0
- package/dist/middleware/shared/config/models.config.d.ts +19 -0
- package/dist/middleware/shared/config/models.config.d.ts.map +1 -0
- package/dist/middleware/shared/config/models.config.js +39 -0
- package/dist/middleware/shared/config/models.config.js.map +1 -0
- package/dist/middleware/shared/constants/index.d.ts +2 -0
- package/dist/middleware/shared/constants/index.d.ts.map +1 -0
- package/dist/middleware/shared/constants/index.js +19 -0
- package/dist/middleware/shared/constants/index.js.map +1 -0
- package/dist/middleware/shared/constants/json-formatting.constants.d.ts +36 -0
- package/dist/middleware/shared/constants/json-formatting.constants.d.ts.map +1 -0
- package/dist/middleware/shared/constants/json-formatting.constants.js +81 -0
- package/dist/middleware/shared/constants/json-formatting.constants.js.map +1 -0
- package/dist/middleware/shared/types/base-request.types.d.ts +27 -0
- package/dist/middleware/shared/types/base-request.types.d.ts.map +1 -0
- package/dist/middleware/shared/types/base-request.types.js +3 -0
- package/dist/middleware/shared/types/base-request.types.js.map +1 -0
- package/dist/middleware/shared/types/client-info.d.ts +8 -0
- package/dist/middleware/shared/types/client-info.d.ts.map +1 -0
- package/dist/middleware/shared/types/client-info.js +3 -0
- package/dist/middleware/shared/types/client-info.js.map +1 -0
- package/dist/middleware/shared/types/index.d.ts +43 -0
- package/dist/middleware/shared/types/index.d.ts.map +1 -0
- package/dist/middleware/shared/types/index.js +20 -0
- package/dist/middleware/shared/types/index.js.map +1 -0
- package/dist/middleware/shared/utils/http.utils.d.ts +25 -0
- package/dist/middleware/shared/utils/http.utils.d.ts.map +1 -0
- package/dist/middleware/shared/utils/http.utils.js +44 -0
- package/dist/middleware/shared/utils/http.utils.js.map +1 -0
- package/dist/middleware/shared/utils/index.d.ts +5 -0
- package/dist/middleware/shared/utils/index.d.ts.map +1 -0
- package/dist/middleware/shared/utils/index.js +22 -0
- package/dist/middleware/shared/utils/index.js.map +1 -0
- package/dist/middleware/shared/utils/logging.utils.d.ts +30 -0
- package/dist/middleware/shared/utils/logging.utils.d.ts.map +1 -0
- package/dist/middleware/shared/utils/logging.utils.js +91 -0
- package/dist/middleware/shared/utils/logging.utils.js.map +1 -0
- package/dist/middleware/shared/utils/memory-management.utils.d.ts +10 -0
- package/dist/middleware/shared/utils/memory-management.utils.d.ts.map +1 -0
- package/dist/middleware/shared/utils/memory-management.utils.js +31 -0
- package/dist/middleware/shared/utils/memory-management.utils.js.map +1 -0
- package/dist/middleware/shared/utils/validation.utils.d.ts +12 -0
- package/dist/middleware/shared/utils/validation.utils.d.ts.map +1 -0
- package/dist/middleware/shared/utils/validation.utils.js +36 -0
- package/dist/middleware/shared/utils/validation.utils.js.map +1 -0
- package/dist/middleware/usecases/base/base-ai.usecase.d.ts +72 -0
- package/dist/middleware/usecases/base/base-ai.usecase.d.ts.map +1 -0
- package/dist/middleware/usecases/base/base-ai.usecase.js +125 -0
- package/dist/middleware/usecases/base/base-ai.usecase.js.map +1 -0
- package/dist/middleware/usecases/base/index.d.ts +2 -0
- package/dist/middleware/usecases/base/index.d.ts.map +1 -0
- package/dist/middleware/usecases/base/index.js +18 -0
- package/dist/middleware/usecases/base/index.js.map +1 -0
- 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 @@
|
|
|
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
|
package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.d.ts.map
ADDED
|
@@ -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
|
package/dist/middleware/services/use-case-metrics-logger/use-case-metrics-logger.service.js.map
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|