@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 @@
|
|
|
1
|
+
{"version":3,"file":"request-formatter.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/request-formatter/request-formatter.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { CleanedJsonResult } from './json-cleaner';
|
|
2
|
+
/**
|
|
3
|
+
* Service for processing AI model responses
|
|
4
|
+
* Handles JSON cleaning, content extraction, and response validation
|
|
5
|
+
*/
|
|
6
|
+
export declare class ResponseProcessorService {
|
|
7
|
+
/**
|
|
8
|
+
* Process the raw AI response by cleaning JSON and extracting thinking content
|
|
9
|
+
* Uses the modern Recipe System for better results
|
|
10
|
+
* @param response The raw response from the AI model
|
|
11
|
+
* @returns Processed content with thinking extracted
|
|
12
|
+
*/
|
|
13
|
+
static processResponseAsync(response: string): Promise<CleanedJsonResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Extract only the thinking content from a response
|
|
16
|
+
* @param response The raw response from the AI model
|
|
17
|
+
* @returns Extracted thinking content or empty string
|
|
18
|
+
*/
|
|
19
|
+
static extractThinking(response: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Extract only the non-thinking content from a response
|
|
22
|
+
* @param response The raw response from the AI model
|
|
23
|
+
* @returns Response without thinking blocks
|
|
24
|
+
*/
|
|
25
|
+
static extractContent(response: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Extract content from multiple thinking tag types
|
|
28
|
+
* @param response The raw response from the AI model
|
|
29
|
+
* @returns Object with different types of extracted content
|
|
30
|
+
*/
|
|
31
|
+
static extractAllThinkingTypes(response: string): {
|
|
32
|
+
thinking: string;
|
|
33
|
+
reasoning: string;
|
|
34
|
+
analysis: string;
|
|
35
|
+
planning: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Extract content by specific tag
|
|
39
|
+
* @param response The response text
|
|
40
|
+
* @param tag The tag name to extract
|
|
41
|
+
* @returns Extracted content or empty string
|
|
42
|
+
*/
|
|
43
|
+
private static extractByTag;
|
|
44
|
+
/**
|
|
45
|
+
* Validate if a response contains valid JSON
|
|
46
|
+
* @param response The response to validate
|
|
47
|
+
* @returns True if the response contains valid JSON
|
|
48
|
+
*/
|
|
49
|
+
static hasValidJson(response: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Try to parse JSON from response with fallback handling
|
|
52
|
+
* @param response The response to parse
|
|
53
|
+
* @returns Parsed object or null if parsing fails
|
|
54
|
+
*/
|
|
55
|
+
static tryParseJson(response: string): Promise<any | null>;
|
|
56
|
+
/**
|
|
57
|
+
* Process response and return both raw and processed versions
|
|
58
|
+
* @param response The raw response
|
|
59
|
+
* @returns Object containing both raw and processed versions
|
|
60
|
+
*/
|
|
61
|
+
static processResponseDetailed(response: string): Promise<{
|
|
62
|
+
raw: string;
|
|
63
|
+
cleaned: CleanedJsonResult;
|
|
64
|
+
parsedJson: any | null;
|
|
65
|
+
hasThinking: boolean;
|
|
66
|
+
thinking: string;
|
|
67
|
+
contentOnly: string;
|
|
68
|
+
isValidJson: boolean;
|
|
69
|
+
stats: {
|
|
70
|
+
originalLength: number;
|
|
71
|
+
cleanedLength: number;
|
|
72
|
+
thinkingLength: number;
|
|
73
|
+
contentLength: number;
|
|
74
|
+
};
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Clean and format response for human readability
|
|
78
|
+
* @param response The response to format
|
|
79
|
+
* @returns Formatted response
|
|
80
|
+
*/
|
|
81
|
+
static formatForHuman(response: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Extract metadata from response headers or structured content
|
|
84
|
+
* @param response The response to analyze
|
|
85
|
+
* @returns Extracted metadata
|
|
86
|
+
*/
|
|
87
|
+
static extractMetadata(response: string): {
|
|
88
|
+
hasThinkingTags: boolean;
|
|
89
|
+
thinkingTagCount: number;
|
|
90
|
+
contentType: 'json' | 'text' | 'mixed';
|
|
91
|
+
estimatedTokens: number;
|
|
92
|
+
language: 'en' | 'de' | 'unknown';
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Validate response structure and content quality
|
|
96
|
+
* @param response The response to validate
|
|
97
|
+
* @returns Validation results
|
|
98
|
+
*/
|
|
99
|
+
static validateResponse(response: string): {
|
|
100
|
+
isValid: boolean;
|
|
101
|
+
issues: string[];
|
|
102
|
+
quality: 'high' | 'medium' | 'low';
|
|
103
|
+
suggestions: string[];
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=response-processor.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-processor.service.d.ts","sourceRoot":"","sources":["../../../src/middleware/services/response-processor.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE;;;GAGG;AACH,qBAAa,wBAAwB;IAEnC;;;;;OAKG;WACiB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKtF;;;;OAIG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKvD;;;;OAIG;WACW,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAItD;;;;OAIG;WACW,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG;QACvD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB;IASD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B;;;;OAIG;WACW,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAUrD;;;;OAIG;WACiB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAevE;;;;OAIG;WACiB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACrE,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,iBAAiB,CAAC;QAC3B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE;YACL,cAAc,EAAE,MAAM,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;IAuBF;;;;OAIG;WACW,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAyBtD;;;;OAIG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC/C,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QACvC,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;KACnC;IAsCD;;;;OAIG;WACW,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAChD,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QACnC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;CAiDF"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseProcessorService = void 0;
|
|
4
|
+
const json_cleaner_1 = require("./json-cleaner");
|
|
5
|
+
/**
|
|
6
|
+
* Service for processing AI model responses
|
|
7
|
+
* Handles JSON cleaning, content extraction, and response validation
|
|
8
|
+
*/
|
|
9
|
+
class ResponseProcessorService {
|
|
10
|
+
/**
|
|
11
|
+
* Process the raw AI response by cleaning JSON and extracting thinking content
|
|
12
|
+
* Uses the modern Recipe System for better results
|
|
13
|
+
* @param response The raw response from the AI model
|
|
14
|
+
* @returns Processed content with thinking extracted
|
|
15
|
+
*/
|
|
16
|
+
static async processResponseAsync(response) {
|
|
17
|
+
// Delegate to JsonCleanerService's modern async method
|
|
18
|
+
return json_cleaner_1.JsonCleanerService.processResponseAsync(response);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extract only the thinking content from a response
|
|
22
|
+
* @param response The raw response from the AI model
|
|
23
|
+
* @returns Extracted thinking content or empty string
|
|
24
|
+
*/
|
|
25
|
+
static extractThinking(response) {
|
|
26
|
+
const thinkMatch = response.match(/<think>([\s\S]*?)<\/think>/);
|
|
27
|
+
return thinkMatch && thinkMatch[1] ? thinkMatch[1].trim() : '';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Extract only the non-thinking content from a response
|
|
31
|
+
* @param response The raw response from the AI model
|
|
32
|
+
* @returns Response without thinking blocks
|
|
33
|
+
*/
|
|
34
|
+
static extractContent(response) {
|
|
35
|
+
return response.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Extract content from multiple thinking tag types
|
|
39
|
+
* @param response The raw response from the AI model
|
|
40
|
+
* @returns Object with different types of extracted content
|
|
41
|
+
*/
|
|
42
|
+
static extractAllThinkingTypes(response) {
|
|
43
|
+
return {
|
|
44
|
+
thinking: this.extractByTag(response, 'think'),
|
|
45
|
+
reasoning: this.extractByTag(response, 'reasoning'),
|
|
46
|
+
analysis: this.extractByTag(response, 'analysis'),
|
|
47
|
+
planning: this.extractByTag(response, 'planning')
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Extract content by specific tag
|
|
52
|
+
* @param response The response text
|
|
53
|
+
* @param tag The tag name to extract
|
|
54
|
+
* @returns Extracted content or empty string
|
|
55
|
+
*/
|
|
56
|
+
static extractByTag(response, tag) {
|
|
57
|
+
const regex = new RegExp(`<${tag}[^>]*>([\\s\\S]*?)<\\/${tag}>`, 'i');
|
|
58
|
+
const match = response.match(regex);
|
|
59
|
+
return match && match[1] ? match[1].trim() : '';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Validate if a response contains valid JSON
|
|
63
|
+
* @param response The response to validate
|
|
64
|
+
* @returns True if the response contains valid JSON
|
|
65
|
+
*/
|
|
66
|
+
static hasValidJson(response) {
|
|
67
|
+
try {
|
|
68
|
+
const contentOnly = this.extractContent(response);
|
|
69
|
+
JSON.parse(contentOnly);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Try to parse JSON from response with fallback handling
|
|
78
|
+
* @param response The response to parse
|
|
79
|
+
* @returns Parsed object or null if parsing fails
|
|
80
|
+
*/
|
|
81
|
+
static async tryParseJson(response) {
|
|
82
|
+
try {
|
|
83
|
+
const contentOnly = this.extractContent(response);
|
|
84
|
+
return JSON.parse(contentOnly);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Try with JsonCleanerService if direct parsing fails
|
|
88
|
+
try {
|
|
89
|
+
const cleaned = await json_cleaner_1.JsonCleanerService.processResponseAsync(response);
|
|
90
|
+
return JSON.parse(cleaned.cleanedJson);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Process response and return both raw and processed versions
|
|
99
|
+
* @param response The raw response
|
|
100
|
+
* @returns Object containing both raw and processed versions
|
|
101
|
+
*/
|
|
102
|
+
static async processResponseDetailed(response) {
|
|
103
|
+
const cleaned = await this.processResponseAsync(response);
|
|
104
|
+
const parsedJson = await this.tryParseJson(response);
|
|
105
|
+
const thinking = this.extractThinking(response);
|
|
106
|
+
const contentOnly = this.extractContent(response);
|
|
107
|
+
return {
|
|
108
|
+
raw: response,
|
|
109
|
+
cleaned,
|
|
110
|
+
parsedJson,
|
|
111
|
+
hasThinking: thinking.length > 0,
|
|
112
|
+
thinking,
|
|
113
|
+
contentOnly,
|
|
114
|
+
isValidJson: parsedJson !== null,
|
|
115
|
+
stats: {
|
|
116
|
+
originalLength: response.length,
|
|
117
|
+
cleanedLength: cleaned.cleanedJson.length,
|
|
118
|
+
thinkingLength: thinking.length,
|
|
119
|
+
contentLength: contentOnly.length
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Clean and format response for human readability
|
|
125
|
+
* @param response The response to format
|
|
126
|
+
* @returns Formatted response
|
|
127
|
+
*/
|
|
128
|
+
static formatForHuman(response) {
|
|
129
|
+
const thinking = this.extractThinking(response);
|
|
130
|
+
const content = this.extractContent(response);
|
|
131
|
+
let formatted = '';
|
|
132
|
+
if (thinking) {
|
|
133
|
+
formatted += '**Thinking Process:**\n```\n' + thinking + '\n```\n\n';
|
|
134
|
+
}
|
|
135
|
+
if (content) {
|
|
136
|
+
formatted += '**Response:**\n';
|
|
137
|
+
// Try to pretty-print JSON if possible
|
|
138
|
+
try {
|
|
139
|
+
const parsed = JSON.parse(content);
|
|
140
|
+
formatted += '```json\n' + JSON.stringify(parsed, null, 2) + '\n```';
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
formatted += content;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return formatted.trim();
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Extract metadata from response headers or structured content
|
|
150
|
+
* @param response The response to analyze
|
|
151
|
+
* @returns Extracted metadata
|
|
152
|
+
*/
|
|
153
|
+
static extractMetadata(response) {
|
|
154
|
+
const thinkingTags = response.match(/<think>/g) || [];
|
|
155
|
+
const hasThinkingTags = thinkingTags.length > 0;
|
|
156
|
+
let contentType = 'text';
|
|
157
|
+
const contentOnly = this.extractContent(response);
|
|
158
|
+
if (this.hasValidJson(response)) {
|
|
159
|
+
contentType = 'json';
|
|
160
|
+
}
|
|
161
|
+
else if (contentOnly.includes('{') || contentOnly.includes('[')) {
|
|
162
|
+
contentType = 'mixed';
|
|
163
|
+
}
|
|
164
|
+
// Simple token estimation (approximate)
|
|
165
|
+
const estimatedTokens = Math.ceil(response.length / 4);
|
|
166
|
+
// Simple language detection
|
|
167
|
+
const germanWords = /\b(und|oder|der|die|das|ist|sind|haben|werden|können)\b/gi;
|
|
168
|
+
const englishWords = /\b(and|or|the|is|are|have|will|can|should)\b/gi;
|
|
169
|
+
const germanMatches = response.match(germanWords)?.length || 0;
|
|
170
|
+
const englishMatches = response.match(englishWords)?.length || 0;
|
|
171
|
+
let language = 'unknown';
|
|
172
|
+
if (germanMatches > englishMatches && germanMatches > 2) {
|
|
173
|
+
language = 'de';
|
|
174
|
+
}
|
|
175
|
+
else if (englishMatches > germanMatches && englishMatches > 2) {
|
|
176
|
+
language = 'en';
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
hasThinkingTags,
|
|
180
|
+
thinkingTagCount: thinkingTags.length,
|
|
181
|
+
contentType,
|
|
182
|
+
estimatedTokens,
|
|
183
|
+
language
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Validate response structure and content quality
|
|
188
|
+
* @param response The response to validate
|
|
189
|
+
* @returns Validation results
|
|
190
|
+
*/
|
|
191
|
+
static validateResponse(response) {
|
|
192
|
+
const issues = [];
|
|
193
|
+
const suggestions = [];
|
|
194
|
+
// Basic validation
|
|
195
|
+
if (!response || response.trim().length === 0) {
|
|
196
|
+
issues.push('Response is empty');
|
|
197
|
+
return {
|
|
198
|
+
isValid: false,
|
|
199
|
+
issues,
|
|
200
|
+
quality: 'low',
|
|
201
|
+
suggestions: ['Request a new response from the model']
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
// Check for truncated response
|
|
205
|
+
if (response.length > 0 && !response.trim().endsWith('}') && !response.trim().endsWith('>')) {
|
|
206
|
+
issues.push('Response may be truncated');
|
|
207
|
+
suggestions.push('Consider increasing max tokens or checking model limits');
|
|
208
|
+
}
|
|
209
|
+
// Check JSON validity if response appears to contain JSON
|
|
210
|
+
const contentOnly = this.extractContent(response);
|
|
211
|
+
if ((contentOnly.includes('{') || contentOnly.includes('[')) && !this.hasValidJson(response)) {
|
|
212
|
+
issues.push('Response contains malformed JSON');
|
|
213
|
+
suggestions.push('Use JsonCleanerService to repair the JSON');
|
|
214
|
+
}
|
|
215
|
+
// Check for balanced thinking tags
|
|
216
|
+
const openThinkTags = (response.match(/<think>/g) || []).length;
|
|
217
|
+
const closeThinkTags = (response.match(/<\/think>/g) || []).length;
|
|
218
|
+
if (openThinkTags !== closeThinkTags) {
|
|
219
|
+
issues.push('Unbalanced thinking tags');
|
|
220
|
+
suggestions.push('Manually balance or remove malformed thinking tags');
|
|
221
|
+
}
|
|
222
|
+
// Determine quality
|
|
223
|
+
let quality = 'high';
|
|
224
|
+
if (issues.length > 0) {
|
|
225
|
+
quality = issues.length > 2 ? 'low' : 'medium';
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
isValid: issues.length === 0,
|
|
229
|
+
issues,
|
|
230
|
+
quality,
|
|
231
|
+
suggestions
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
exports.ResponseProcessorService = ResponseProcessorService;
|
|
236
|
+
//# sourceMappingURL=response-processor.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-processor.service.js","sourceRoot":"","sources":["../../../src/middleware/services/response-processor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/token-estimator/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,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("./token-estimator.service"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/services/token-estimator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for token count estimates
|
|
3
|
+
*/
|
|
4
|
+
export interface TokenEstimate {
|
|
5
|
+
estimated: number;
|
|
6
|
+
method: 'gpt-tokenizer' | 'character-based' | 'word-based';
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Service for estimating token counts in text
|
|
10
|
+
* Provides multiple estimation methods including GPT tokenizer fallback
|
|
11
|
+
*/
|
|
12
|
+
export declare class TokenEstimatorService {
|
|
13
|
+
/**
|
|
14
|
+
* Estimate token count based on text using the best available method
|
|
15
|
+
* @param text The text to estimate token count for
|
|
16
|
+
* @returns Token estimate with method used
|
|
17
|
+
*/
|
|
18
|
+
static estimateTokenCount(text: string): TokenEstimate;
|
|
19
|
+
/**
|
|
20
|
+
* Try to load the GPT tokenizer if available
|
|
21
|
+
* @returns The tokenizer or null if not available
|
|
22
|
+
*/
|
|
23
|
+
private static tryLoadGptTokenizer;
|
|
24
|
+
/**
|
|
25
|
+
* Estimate tokens using character-based method
|
|
26
|
+
* @param text The text to estimate
|
|
27
|
+
* @returns Token estimate
|
|
28
|
+
*/
|
|
29
|
+
private static estimateByCharacters;
|
|
30
|
+
/**
|
|
31
|
+
* Estimate tokens using word-based method
|
|
32
|
+
* @param text The text to estimate
|
|
33
|
+
* @returns Token estimate
|
|
34
|
+
*/
|
|
35
|
+
private static estimateByWords;
|
|
36
|
+
/**
|
|
37
|
+
* Calculate tokens per second based on token count and execution time
|
|
38
|
+
* @param tokenCount Number of tokens
|
|
39
|
+
* @param executionTimeSeconds Execution time in seconds
|
|
40
|
+
* @returns Tokens per second as a formatted string
|
|
41
|
+
*/
|
|
42
|
+
static calculateTokensPerSecond(tokenCount: number, executionTimeSeconds: number): string;
|
|
43
|
+
/**
|
|
44
|
+
* Estimate token count for system message and user prompt combined
|
|
45
|
+
* @param systemMessage The system message
|
|
46
|
+
* @param userPrompt The user prompt
|
|
47
|
+
* @returns Combined token estimate
|
|
48
|
+
*/
|
|
49
|
+
static estimateInputTokens(systemMessage: string, userPrompt: string): TokenEstimate;
|
|
50
|
+
/**
|
|
51
|
+
* Estimate tokens for a conversation with multiple messages
|
|
52
|
+
* @param messages Array of message strings
|
|
53
|
+
* @returns Token estimate for the entire conversation
|
|
54
|
+
*/
|
|
55
|
+
static estimateConversationTokens(messages: string[]): TokenEstimate;
|
|
56
|
+
/**
|
|
57
|
+
* Check if text exceeds a token limit
|
|
58
|
+
* @param text The text to check
|
|
59
|
+
* @param limit The token limit
|
|
60
|
+
* @returns Object indicating if limit is exceeded and by how much
|
|
61
|
+
*/
|
|
62
|
+
static checkTokenLimit(text: string, limit: number): {
|
|
63
|
+
exceeded: boolean;
|
|
64
|
+
estimated: number;
|
|
65
|
+
limit: number;
|
|
66
|
+
overage: number;
|
|
67
|
+
percentage: number;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Truncate text to fit within a token limit
|
|
71
|
+
* @param text The text to truncate
|
|
72
|
+
* @param limit The token limit
|
|
73
|
+
* @param method Truncation method ('end' | 'start' | 'middle')
|
|
74
|
+
* @returns Truncated text and information about the truncation
|
|
75
|
+
*/
|
|
76
|
+
static truncateToTokenLimit(text: string, limit: number, method?: 'end' | 'start' | 'middle'): {
|
|
77
|
+
truncatedText: string;
|
|
78
|
+
originalTokens: number;
|
|
79
|
+
finalTokens: number;
|
|
80
|
+
truncated: boolean;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Get statistics about text in terms of characters, words, and estimated tokens
|
|
84
|
+
* @param text The text to analyze
|
|
85
|
+
* @returns Detailed statistics
|
|
86
|
+
*/
|
|
87
|
+
static getTextStatistics(text: string): {
|
|
88
|
+
characters: number;
|
|
89
|
+
charactersNoSpaces: number;
|
|
90
|
+
words: number;
|
|
91
|
+
lines: number;
|
|
92
|
+
tokens: TokenEstimate;
|
|
93
|
+
averageWordsPerToken: number;
|
|
94
|
+
averageCharsPerToken: number;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=token-estimator.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-estimator.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/token-estimator/token-estimator.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,YAAY,CAAC;CAC5D;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAEhC;;;;OAIG;WACW,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAqB7D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAWlC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAOnC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAO9B;;;;;OAKG;WACW,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM;IAKhG;;;;;OAKG;WACW,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa;IAI3F;;;;OAIG;WACW,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa;IAa3E;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAC1D,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB;IAeD;;;;;;OAMG;WACW,oBAAoB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,KAAK,GAAG,OAAO,GAAG,QAAgB,GACzC;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB;IAwCD;;;;OAIG;WACW,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;QAC7C,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,aAAa,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;KAC9B;CAoBF"}
|