@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,19 @@
|
|
|
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("./debug-llm.utils"), exports);
|
|
18
|
+
__exportStar(require("./text-analysis.utils"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export interface WordFrequency {
|
|
2
|
+
word: string;
|
|
3
|
+
count: number;
|
|
4
|
+
percentage: number;
|
|
5
|
+
}
|
|
6
|
+
export interface StemFrequency {
|
|
7
|
+
stem: string;
|
|
8
|
+
exampleWord: string;
|
|
9
|
+
count: number;
|
|
10
|
+
percentage: number;
|
|
11
|
+
words: string[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Text analysis utilities for analyzing AI-generated content
|
|
15
|
+
* Provides word frequency and stem analysis with German language support
|
|
16
|
+
*/
|
|
17
|
+
export declare class TextAnalyzer {
|
|
18
|
+
/**
|
|
19
|
+
* German stop words to be filtered out during analysis
|
|
20
|
+
*/
|
|
21
|
+
private static readonly GERMAN_STOP_WORDS;
|
|
22
|
+
/**
|
|
23
|
+
* English stop words for multilingual support
|
|
24
|
+
*/
|
|
25
|
+
private static readonly ENGLISH_STOP_WORDS;
|
|
26
|
+
/**
|
|
27
|
+
* Filter and clean text for analysis
|
|
28
|
+
* @param text Text to clean
|
|
29
|
+
* @returns Array of filtered words
|
|
30
|
+
*/
|
|
31
|
+
static prepareText(text: string): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Simple German stemmer that removes common endings
|
|
34
|
+
* @param word Word to stem
|
|
35
|
+
* @returns Word stem
|
|
36
|
+
*/
|
|
37
|
+
static germanStemmer(word: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Analyze word frequency in text
|
|
40
|
+
* @param text Text to analyze
|
|
41
|
+
* @param topN Number of most frequent words to return
|
|
42
|
+
* @returns Array of word frequency objects sorted by frequency
|
|
43
|
+
*/
|
|
44
|
+
static analyzeWordFrequency(text: string, topN?: number): WordFrequency[];
|
|
45
|
+
/**
|
|
46
|
+
* Analyze word repetitions based on word stems
|
|
47
|
+
* @param text Text to analyze
|
|
48
|
+
* @param topN Number of most frequent stems to return
|
|
49
|
+
* @returns Array of stem frequency objects
|
|
50
|
+
*/
|
|
51
|
+
static analyzeStemFrequency(text: string, topN?: number): StemFrequency[];
|
|
52
|
+
/**
|
|
53
|
+
* Generate markdown table for word frequency analysis
|
|
54
|
+
* @param frequencies Word frequencies
|
|
55
|
+
* @returns Markdown formatted table
|
|
56
|
+
*/
|
|
57
|
+
static generateWordFrequencyTable(frequencies: WordFrequency[]): string;
|
|
58
|
+
/**
|
|
59
|
+
* Generate markdown table for stem frequency analysis
|
|
60
|
+
* @param frequencies Stem frequencies
|
|
61
|
+
* @returns Markdown formatted table
|
|
62
|
+
*/
|
|
63
|
+
static generateStemFrequencyTable(frequencies: StemFrequency[]): string;
|
|
64
|
+
/**
|
|
65
|
+
* Create complete markdown sections for text analysis
|
|
66
|
+
* @param text Text to analyze
|
|
67
|
+
* @param topN Number of most frequent words to analyze
|
|
68
|
+
* @returns Object with markdown sections for word frequency and stem analysis
|
|
69
|
+
*/
|
|
70
|
+
static generateTextAnalysisMarkdown(text: string, topN?: number): {
|
|
71
|
+
wordFrequencySection: string;
|
|
72
|
+
stemFrequencySection: string;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=text-analysis.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-analysis.utils.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/text-analysis.utils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAOtC;IAEH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAQvC;IAEH;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAoB1C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA2B1C;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,GAAG,aAAa,EAAE;IAuB7E;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,GAAG,aAAa,EAAE;IAiC7E;;;;OAIG;IACH,MAAM,CAAC,0BAA0B,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM;IAUvE;;;;OAIG;IACH,MAAM,CAAC,0BAA0B,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM;IAUvE;;;;;OAKG;IACH,MAAM,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,GAAG;QACpE,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;KAC9B;CA8BF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextAnalyzer = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Text analysis utilities for analyzing AI-generated content
|
|
6
|
+
* Provides word frequency and stem analysis with German language support
|
|
7
|
+
*/
|
|
8
|
+
class TextAnalyzer {
|
|
9
|
+
/**
|
|
10
|
+
* Filter and clean text for analysis
|
|
11
|
+
* @param text Text to clean
|
|
12
|
+
* @returns Array of filtered words
|
|
13
|
+
*/
|
|
14
|
+
static prepareText(text) {
|
|
15
|
+
if (!text)
|
|
16
|
+
return [];
|
|
17
|
+
// Clean text: remove punctuation and convert to lowercase
|
|
18
|
+
const cleanedText = text.toLowerCase()
|
|
19
|
+
.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, ' ')
|
|
20
|
+
.replace(/\s+/g, ' ');
|
|
21
|
+
// Split into words
|
|
22
|
+
const words = cleanedText.split(' ');
|
|
23
|
+
// Filter words with less than 3 characters, stop words, and numbers
|
|
24
|
+
return words.filter(word => word.length >= 3 &&
|
|
25
|
+
!this.GERMAN_STOP_WORDS.has(word) &&
|
|
26
|
+
!this.ENGLISH_STOP_WORDS.has(word) &&
|
|
27
|
+
!/^\d+$/.test(word));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Simple German stemmer that removes common endings
|
|
31
|
+
* @param word Word to stem
|
|
32
|
+
* @returns Word stem
|
|
33
|
+
*/
|
|
34
|
+
static germanStemmer(word) {
|
|
35
|
+
if (word.length <= 3)
|
|
36
|
+
return word;
|
|
37
|
+
let stem = word.toLowerCase();
|
|
38
|
+
// Step 1: Remove plural and case endings
|
|
39
|
+
const endings = [
|
|
40
|
+
'innen', 'erin', 'ern', 'en', 'es', 'er', 'em', 'e', 's', 'n'
|
|
41
|
+
];
|
|
42
|
+
for (const ending of endings) {
|
|
43
|
+
if (stem.endsWith(ending) && stem.length - ending.length >= 3) {
|
|
44
|
+
stem = stem.slice(0, -ending.length);
|
|
45
|
+
break; // Only remove one ending
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Step 2: Convert umlauts for better matching of related words
|
|
49
|
+
stem = stem
|
|
50
|
+
.replace(/ä/g, 'a')
|
|
51
|
+
.replace(/ö/g, 'o')
|
|
52
|
+
.replace(/ü/g, 'u')
|
|
53
|
+
.replace(/ß/g, 'ss');
|
|
54
|
+
return stem;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Analyze word frequency in text
|
|
58
|
+
* @param text Text to analyze
|
|
59
|
+
* @param topN Number of most frequent words to return
|
|
60
|
+
* @returns Array of word frequency objects sorted by frequency
|
|
61
|
+
*/
|
|
62
|
+
static analyzeWordFrequency(text, topN = 50) {
|
|
63
|
+
const filteredWords = this.prepareText(text);
|
|
64
|
+
if (filteredWords.length === 0)
|
|
65
|
+
return [];
|
|
66
|
+
const totalWords = filteredWords.length;
|
|
67
|
+
// Count word frequency
|
|
68
|
+
const wordFrequency = {};
|
|
69
|
+
filteredWords.forEach(word => {
|
|
70
|
+
wordFrequency[word] = (wordFrequency[word] || 0) + 1;
|
|
71
|
+
});
|
|
72
|
+
// Sort by frequency and return top N with percentage
|
|
73
|
+
return Object.entries(wordFrequency)
|
|
74
|
+
.map(([word, count]) => ({
|
|
75
|
+
word,
|
|
76
|
+
count,
|
|
77
|
+
percentage: (count / totalWords) * 100
|
|
78
|
+
}))
|
|
79
|
+
.sort((a, b) => b.count - a.count)
|
|
80
|
+
.slice(0, topN);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Analyze word repetitions based on word stems
|
|
84
|
+
* @param text Text to analyze
|
|
85
|
+
* @param topN Number of most frequent stems to return
|
|
86
|
+
* @returns Array of stem frequency objects
|
|
87
|
+
*/
|
|
88
|
+
static analyzeStemFrequency(text, topN = 50) {
|
|
89
|
+
const filteredWords = this.prepareText(text);
|
|
90
|
+
if (filteredWords.length === 0)
|
|
91
|
+
return [];
|
|
92
|
+
const totalWords = filteredWords.length;
|
|
93
|
+
// Count stem frequency and track word variations
|
|
94
|
+
const stemFrequency = {};
|
|
95
|
+
filteredWords.forEach(word => {
|
|
96
|
+
const stem = this.germanStemmer(word);
|
|
97
|
+
if (!stemFrequency[stem]) {
|
|
98
|
+
stemFrequency[stem] = { count: 0, words: new Set() };
|
|
99
|
+
}
|
|
100
|
+
stemFrequency[stem].count += 1;
|
|
101
|
+
stemFrequency[stem].words.add(word);
|
|
102
|
+
});
|
|
103
|
+
// Sort by frequency and return top N with percentage
|
|
104
|
+
return Object.entries(stemFrequency)
|
|
105
|
+
.map(([stem, { count, words }]) => ({
|
|
106
|
+
stem,
|
|
107
|
+
exampleWord: Array.from(words)[0], // First occurrence as example
|
|
108
|
+
count,
|
|
109
|
+
percentage: (count / totalWords) * 100,
|
|
110
|
+
words: Array.from(words).sort() // Sorted list of all word forms
|
|
111
|
+
}))
|
|
112
|
+
.sort((a, b) => b.count - a.count)
|
|
113
|
+
.slice(0, topN);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Generate markdown table for word frequency analysis
|
|
117
|
+
* @param frequencies Word frequencies
|
|
118
|
+
* @returns Markdown formatted table
|
|
119
|
+
*/
|
|
120
|
+
static generateWordFrequencyTable(frequencies) {
|
|
121
|
+
if (frequencies.length === 0)
|
|
122
|
+
return '';
|
|
123
|
+
return `| Word | Frequency | Percentage |
|
|
124
|
+
|------|-----------|------------|
|
|
125
|
+
${frequencies.map(({ word, count, percentage }) => `| ${word} | ${count} | ${percentage.toFixed(2)}% |`).join('\n')}`;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Generate markdown table for stem frequency analysis
|
|
129
|
+
* @param frequencies Stem frequencies
|
|
130
|
+
* @returns Markdown formatted table
|
|
131
|
+
*/
|
|
132
|
+
static generateStemFrequencyTable(frequencies) {
|
|
133
|
+
if (frequencies.length === 0)
|
|
134
|
+
return '';
|
|
135
|
+
return `| Stem | Example | Frequency | Percentage | Word Forms |
|
|
136
|
+
|------|---------|-----------|------------|------------|
|
|
137
|
+
${frequencies.map(({ stem, exampleWord, count, percentage, words }) => `| ${stem} | ${exampleWord} | ${count} | ${percentage.toFixed(2)}% | ${words.slice(0, 5).join(', ')}${words.length > 5 ? ` (+${words.length - 5} more)` : ''} |`).join('\n')}`;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create complete markdown sections for text analysis
|
|
141
|
+
* @param text Text to analyze
|
|
142
|
+
* @param topN Number of most frequent words to analyze
|
|
143
|
+
* @returns Object with markdown sections for word frequency and stem analysis
|
|
144
|
+
*/
|
|
145
|
+
static generateTextAnalysisMarkdown(text, topN = 50) {
|
|
146
|
+
let wordFrequencySection = '';
|
|
147
|
+
let stemFrequencySection = '';
|
|
148
|
+
if (text) {
|
|
149
|
+
// Word frequency analysis
|
|
150
|
+
const wordFrequency = this.analyzeWordFrequency(text, topN);
|
|
151
|
+
if (wordFrequency.length > 0) {
|
|
152
|
+
const totalAnalyzedWords = this.prepareText(text).length;
|
|
153
|
+
wordFrequencySection = `## Word Repetition Analysis (Top ${topN})
|
|
154
|
+
Analyzed words after filtering: ${totalAnalyzedWords}
|
|
155
|
+
|
|
156
|
+
${this.generateWordFrequencyTable(wordFrequency)}
|
|
157
|
+
`;
|
|
158
|
+
}
|
|
159
|
+
// Stem frequency analysis
|
|
160
|
+
const stemFrequency = this.analyzeStemFrequency(text, topN);
|
|
161
|
+
if (stemFrequency.length > 0) {
|
|
162
|
+
stemFrequencySection = `## Stem Analysis (Top ${topN})
|
|
163
|
+
${this.generateStemFrequencyTable(stemFrequency)}
|
|
164
|
+
`;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
wordFrequencySection,
|
|
169
|
+
stemFrequencySection
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.TextAnalyzer = TextAnalyzer;
|
|
174
|
+
/**
|
|
175
|
+
* German stop words to be filtered out during analysis
|
|
176
|
+
*/
|
|
177
|
+
TextAnalyzer.GERMAN_STOP_WORDS = new Set([
|
|
178
|
+
'der', 'die', 'das', 'ein', 'eine', 'und', 'oder', 'aber', 'den', 'dem', 'des', 'ist', 'sind',
|
|
179
|
+
'war', 'wird', 'werden', 'wurden', 'zu', 'zur', 'zum', 'in', 'im', 'an', 'am', 'auf', 'aus',
|
|
180
|
+
'mit', 'bei', 'von', 'für', 'um', 'durch', 'über', 'unter', 'vor', 'nach', 'ihr', 'ihre',
|
|
181
|
+
'sein', 'seine', 'hat', 'haben', 'hatte', 'hatten', 'es', 'sie', 'er', 'wir', 'sich', 'nicht',
|
|
182
|
+
'als', 'auch', 'so', 'dann', 'noch', 'nur', 'schon', 'sehr', 'wie', 'was', 'wenn', 'weil',
|
|
183
|
+
'dass', 'daß', 'da', 'wo', 'wer', 'nun', 'mir', 'dir', 'mich', 'dich', 'ihm', 'ihn'
|
|
184
|
+
]);
|
|
185
|
+
/**
|
|
186
|
+
* English stop words for multilingual support
|
|
187
|
+
*/
|
|
188
|
+
TextAnalyzer.ENGLISH_STOP_WORDS = new Set([
|
|
189
|
+
'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by',
|
|
190
|
+
'from', 'up', 'about', 'into', 'through', 'during', 'before', 'after', 'above', 'below',
|
|
191
|
+
'between', 'among', 'throughout', 'despite', 'towards', 'upon', 'concerning', 'is', 'are',
|
|
192
|
+
'was', 'were', 'been', 'be', 'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would',
|
|
193
|
+
'could', 'should', 'may', 'might', 'must', 'can', 'shall', 'this', 'that', 'these', 'those',
|
|
194
|
+
'i', 'you', 'he', 'she', 'it', 'we', 'they', 'me', 'him', 'her', 'us', 'them', 'my', 'your',
|
|
195
|
+
'his', 'her', 'its', 'our', 'their', 'what', 'which', 'who', 'when', 'where', 'why', 'how'
|
|
196
|
+
]);
|
|
197
|
+
//# sourceMappingURL=text-analysis.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-analysis.utils.js","sourceRoot":"","sources":["../../../../../src/middleware/services/llm/utils/text-analysis.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/model-parameter-manager/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("./model-parameter-manager.service"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/services/model-parameter-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for model parameters used in AI requests.
|
|
3
|
+
* All parameters are optional except temperature.
|
|
4
|
+
*/
|
|
5
|
+
export interface ModelParameters {
|
|
6
|
+
/**
|
|
7
|
+
* Controls randomness in generation (0.0 = deterministic, 2.0 = very random).
|
|
8
|
+
* - 0.0-0.3: Factual, focused output
|
|
9
|
+
* - 0.4-0.7: Balanced
|
|
10
|
+
* - 0.8-1.2: Creative, varied
|
|
11
|
+
* Range: 0.0-2.0, Default: 0.8
|
|
12
|
+
*/
|
|
13
|
+
temperature: number;
|
|
14
|
+
/**
|
|
15
|
+
* Penalizes token repetition (higher = less repetition).
|
|
16
|
+
* Range: 0.0-2.0, Default: 1.1
|
|
17
|
+
*/
|
|
18
|
+
repeatPenalty?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Nucleus sampling threshold - limits token selection to cumulative probability.
|
|
21
|
+
* Range: 0.0-1.0, Default: 0.9
|
|
22
|
+
*/
|
|
23
|
+
topP?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Limits token selection to k most likely tokens.
|
|
26
|
+
* Range: 1-100, Default: 40
|
|
27
|
+
*/
|
|
28
|
+
topK?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Penalizes tokens proportional to their frequency (reduces overused words).
|
|
31
|
+
* Range: -2.0-2.0, Default: 0.0
|
|
32
|
+
*/
|
|
33
|
+
frequencyPenalty?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Penalizes all previously used tokens equally (encourages new concepts).
|
|
36
|
+
* Range: -2.0-2.0, Default: 0.0
|
|
37
|
+
*/
|
|
38
|
+
presencePenalty?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Number of previous tokens to consider for repetition penalty.
|
|
41
|
+
* Use -1 to consider entire context window (num_ctx).
|
|
42
|
+
* Range: 0-2048 or -1, Default: 64
|
|
43
|
+
*/
|
|
44
|
+
repeatLastN?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Maximum number of tokens to generate in the response.
|
|
47
|
+
* Controls output length.
|
|
48
|
+
* Range: 1+, Default: 128 (model-specific)
|
|
49
|
+
*/
|
|
50
|
+
numPredict?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Context window size in tokens.
|
|
53
|
+
* Larger values allow model to reference more previous text.
|
|
54
|
+
* Range: 128-4096+ (model-specific), Default: 2048
|
|
55
|
+
*/
|
|
56
|
+
numCtx?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Number of tokens to process in parallel during generation.
|
|
59
|
+
* Higher values = faster but more memory usage.
|
|
60
|
+
* Range: 1-512, Default: 512 (model-specific)
|
|
61
|
+
*/
|
|
62
|
+
numBatch?: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Interface for parameter overrides that can be applied to default model parameters.
|
|
66
|
+
* All parameters are optional - only specify what you want to override.
|
|
67
|
+
*/
|
|
68
|
+
export interface ModelParameterOverrides {
|
|
69
|
+
/** Override the base temperature setting */
|
|
70
|
+
temperatureOverride?: number;
|
|
71
|
+
/** Repeat penalty override */
|
|
72
|
+
repeatPenalty?: number;
|
|
73
|
+
/** Nucleus sampling (top-p) override */
|
|
74
|
+
topP?: number;
|
|
75
|
+
/** Top-k sampling override */
|
|
76
|
+
topK?: number;
|
|
77
|
+
/** Frequency penalty override */
|
|
78
|
+
frequencyPenalty?: number;
|
|
79
|
+
/** Presence penalty override */
|
|
80
|
+
presencePenalty?: number;
|
|
81
|
+
/** Repeat last N tokens override */
|
|
82
|
+
repeatLastN?: number;
|
|
83
|
+
/** Maximum tokens to generate (Ollama: num_predict) */
|
|
84
|
+
num_predict?: number;
|
|
85
|
+
/** Context window size (Ollama: num_ctx) */
|
|
86
|
+
num_ctx?: number;
|
|
87
|
+
/** Batch size for parallel processing (Ollama: num_batch) */
|
|
88
|
+
num_batch?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Interface for model configuration from models.config
|
|
92
|
+
*/
|
|
93
|
+
export interface ModelConfig {
|
|
94
|
+
temperature?: number;
|
|
95
|
+
maxTokens?: number;
|
|
96
|
+
contextLength?: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Service for managing and validating model parameters for AI requests
|
|
100
|
+
* Handles parameter combination, validation, and conversion to API formats
|
|
101
|
+
*/
|
|
102
|
+
export declare class ModelParameterManagerService {
|
|
103
|
+
private static readonly DEFAULT_TEMPERATURE;
|
|
104
|
+
/**
|
|
105
|
+
* Get the effective model parameters, combining config defaults and use case overrides
|
|
106
|
+
* @param modelConfig The model configuration from models.config
|
|
107
|
+
* @param overrides Optional overrides from the use case
|
|
108
|
+
* @returns Final model parameters to use
|
|
109
|
+
*/
|
|
110
|
+
static getEffectiveParameters(modelConfig: ModelConfig, overrides?: ModelParameterOverrides): ModelParameters;
|
|
111
|
+
/**
|
|
112
|
+
* Validate parameter values are within acceptable ranges
|
|
113
|
+
* @param parameters The parameters to validate
|
|
114
|
+
* @returns Validated parameters with any out-of-range values corrected
|
|
115
|
+
*/
|
|
116
|
+
static validateParameters(parameters: ModelParameters): ModelParameters;
|
|
117
|
+
/**
|
|
118
|
+
* Create parameter subset for logging (only non-undefined values)
|
|
119
|
+
* @param parameters The parameters to filter
|
|
120
|
+
* @returns Object with only defined parameters
|
|
121
|
+
*/
|
|
122
|
+
static getDefinedParameters(parameters: ModelParameters): Record<string, any>;
|
|
123
|
+
/**
|
|
124
|
+
* Create parameter object for Ollama API request
|
|
125
|
+
* @param parameters The validated parameters
|
|
126
|
+
* @returns Object suitable for the Ollama API options field
|
|
127
|
+
*/
|
|
128
|
+
static toOllamaOptions(parameters: ModelParameters): Record<string, any>;
|
|
129
|
+
/**
|
|
130
|
+
* Create default parameters for a given model type or use case
|
|
131
|
+
*
|
|
132
|
+
* Available presets:
|
|
133
|
+
* - 'creative' / 'creative_writing': Optimized for novels, stories, narrative fiction
|
|
134
|
+
* - 'factual': Optimized for reports, documentation, journalism
|
|
135
|
+
* - 'poetic': Optimized for poetry, lyrics, artistic expression
|
|
136
|
+
* - 'dialogue': Optimized for character dialogue, conversational content
|
|
137
|
+
* - 'technical': Optimized for code documentation, technical guides
|
|
138
|
+
* - 'marketing': Optimized for advertisements, promotional content
|
|
139
|
+
* - 'analytical': General analytical tasks (legacy)
|
|
140
|
+
* - 'balanced': General balanced approach (default)
|
|
141
|
+
*
|
|
142
|
+
* @param modelType The type of model or use case
|
|
143
|
+
* @returns Default parameters for the model type
|
|
144
|
+
*
|
|
145
|
+
* For detailed documentation about each preset, see docs/OLLAMA_PARAMETERS.md
|
|
146
|
+
*/
|
|
147
|
+
static getDefaultParametersForType(modelType: string): ModelParameters;
|
|
148
|
+
/**
|
|
149
|
+
* Compare two parameter sets and return the differences
|
|
150
|
+
* @param params1 First parameter set
|
|
151
|
+
* @param params2 Second parameter set
|
|
152
|
+
* @returns Object showing differences
|
|
153
|
+
*/
|
|
154
|
+
static compareParameters(params1: ModelParameters, params2: ModelParameters): Record<string, {
|
|
155
|
+
from: any;
|
|
156
|
+
to: any;
|
|
157
|
+
}>;
|
|
158
|
+
/**
|
|
159
|
+
* Generate a summary string of the parameters for logging
|
|
160
|
+
* @param parameters The parameters to summarize
|
|
161
|
+
* @returns Human-readable parameter summary
|
|
162
|
+
*/
|
|
163
|
+
static summarizeParameters(parameters: ModelParameters): string;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=model-parameter-manager.service.d.ts.map
|
package/dist/middleware/services/model-parameter-manager/model-parameter-manager.service.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-parameter-manager.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/model-parameter-manager/model-parameter-manager.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAElD;;;;;OAKG;WACW,sBAAsB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,uBAA4B,GACtC,eAAe;IAelB;;;;OAIG;WACW,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe;IAkE9E;;;;OAIG;WACW,oBAAoB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoCpF;;;;OAIG;WACW,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAsC/E;;;;;;;;;;;;;;;;;OAiBG;WACW,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAqG7E;;;;;OAKG;WACW,iBAAiB,CAC7B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,GAAG,CAAA;KAAE,CAAC;IAoBzC;;;;OAIG;WACW,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM;CAKvE"}
|