@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,92 @@
|
|
|
1
|
+
import { BaseAIUseCase } from '../../middleware/usecases/base/base-ai.usecase';
|
|
2
|
+
import { BaseAIRequest, BaseAIResult } from '../../middleware/shared/types/base-request.types';
|
|
3
|
+
import { ModelParameterOverrides } from '../../middleware/services/model-parameter-manager/model-parameter-manager.service';
|
|
4
|
+
/**
|
|
5
|
+
* Tweet generation request interface
|
|
6
|
+
*/
|
|
7
|
+
export interface TweetGeneratorRequest extends BaseAIRequest<string> {
|
|
8
|
+
topic: string;
|
|
9
|
+
includeHashtags?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Tweet generation result interface
|
|
13
|
+
*/
|
|
14
|
+
export interface TweetGeneratorResult extends BaseAIResult {
|
|
15
|
+
tweet: string;
|
|
16
|
+
characterCount: number;
|
|
17
|
+
withinLimit: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Tweet Generator Use Case
|
|
21
|
+
*
|
|
22
|
+
* Demonstrates parameter configuration for token limiting and concise output.
|
|
23
|
+
*
|
|
24
|
+
* Key Features:
|
|
25
|
+
* - Token limiting via `num_predict` parameter (max ~70 tokens for 280 chars)
|
|
26
|
+
* - Marketing preset for engaging, varied content
|
|
27
|
+
* - Lower temperature for focused, on-brand output
|
|
28
|
+
* - Character count validation
|
|
29
|
+
*
|
|
30
|
+
* This use case is particularly useful for:
|
|
31
|
+
* - Social media content generation
|
|
32
|
+
* - Testing parameter effectiveness
|
|
33
|
+
* - Demonstrating output length control
|
|
34
|
+
* - Validating token limiting functionality
|
|
35
|
+
*/
|
|
36
|
+
export declare class TweetGeneratorUseCase extends BaseAIUseCase<string, TweetGeneratorRequest, TweetGeneratorResult> {
|
|
37
|
+
/**
|
|
38
|
+
* System message emphasizing brevity and Twitter best practices
|
|
39
|
+
*/
|
|
40
|
+
protected readonly systemMessage = "You are an expert social media content creator specializing in Twitter/X posts.\n\nCRITICAL REQUIREMENTS:\n1. Be concise, engaging, and impactful\n2. Use clear, accessible language\n3. Avoid hashtags unless specifically requested\n4. NO explanations, NO preamble - ONLY output the tweet text\n\nSTYLE GUIDELINES:\n- Start with a hook or attention-grabbing statement\n- Use active voice and present tense when possible\n- Include a call-to-action or thought-provoking question when appropriate\n- Break complex ideas into simple, digestible statements\n\nOUTPUT FORMAT:\nReturn ONLY the tweet text. Nothing else.";
|
|
41
|
+
/**
|
|
42
|
+
* Get the user template from message file
|
|
43
|
+
*/
|
|
44
|
+
protected getUserTemplate(): (formattedPrompt: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Format the user message - pass through the topic
|
|
47
|
+
*/
|
|
48
|
+
protected formatUserMessage(prompt: any): string;
|
|
49
|
+
/**
|
|
50
|
+
* Override model parameters for tweet generation
|
|
51
|
+
*
|
|
52
|
+
* This configuration is optimized for generating short, engaging tweets
|
|
53
|
+
* while staying within Twitter's 280 character limit.
|
|
54
|
+
*
|
|
55
|
+
* @returns ModelParameterOverrides with Marketing-inspired preset + token limiting
|
|
56
|
+
*
|
|
57
|
+
* **Parameter Selection Rationale:**
|
|
58
|
+
*
|
|
59
|
+
* **Token Limiting:**
|
|
60
|
+
* - `num_predict: 70` - Strictly limits output to ~70 tokens (roughly 280 characters)
|
|
61
|
+
* This is the key parameter for enforcing length constraints.
|
|
62
|
+
*
|
|
63
|
+
* **Creative Control:**
|
|
64
|
+
* - `temperature: 0.7` - Balanced creativity for engaging but focused content
|
|
65
|
+
* - `repeatPenalty: 1.3` - Strong penalty to avoid repetitive phrasing in short text
|
|
66
|
+
* - `frequencyPenalty: 0.3` - Encourages word variety in limited space
|
|
67
|
+
* - `presencePenalty: 0.2` - Promotes diverse concepts even in brief content
|
|
68
|
+
*
|
|
69
|
+
* **Quality Control:**
|
|
70
|
+
* - `topP: 0.9` - Moderate nucleus sampling for reliable quality
|
|
71
|
+
* - `topK: 50` - Balanced vocabulary selection for natural language
|
|
72
|
+
* - `repeatLastN: 32` - Short window appropriate for tweet-length text
|
|
73
|
+
*
|
|
74
|
+
* **Expected Impact:**
|
|
75
|
+
* - Tweets will be under 280 characters (enforced by num_predict)
|
|
76
|
+
* - Content will be varied and engaging without repetition
|
|
77
|
+
* - Output will be focused and on-topic
|
|
78
|
+
* - Language will be natural and conversational
|
|
79
|
+
*
|
|
80
|
+
* **Testing Note:**
|
|
81
|
+
* This configuration allows testing of token limiting functionality.
|
|
82
|
+
* Increase num_predict to see longer outputs; decrease for shorter ones.
|
|
83
|
+
*
|
|
84
|
+
* For more information about parameters, see docs/OLLAMA_PARAMETERS.md
|
|
85
|
+
*/
|
|
86
|
+
protected getParameterOverrides(): ModelParameterOverrides;
|
|
87
|
+
/**
|
|
88
|
+
* Create the result with character count validation
|
|
89
|
+
*/
|
|
90
|
+
protected createResult(content: string, usedPrompt: string, thinking?: string): TweetGeneratorResult;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=tweet-generator.usecase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tweet-generator.usecase.d.ts","sourceRoot":"","sources":["../../../src/examples/tweet-generator/tweet-generator.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAK/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AAE5H;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa,CAAC,MAAM,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;IAE3G;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,ymBAAkC;IAElE;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM;IAIhE;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;IAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,SAAS,CAAC,qBAAqB,IAAI,uBAAuB;IAkB1D;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB;CAgBrG"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TweetGeneratorUseCase = void 0;
|
|
4
|
+
const base_ai_usecase_1 = require("../../middleware/usecases/base/base-ai.usecase");
|
|
5
|
+
const tweet_generator_messages_1 = require("./tweet-generator.messages");
|
|
6
|
+
/**
|
|
7
|
+
* Tweet Generator Use Case
|
|
8
|
+
*
|
|
9
|
+
* Demonstrates parameter configuration for token limiting and concise output.
|
|
10
|
+
*
|
|
11
|
+
* Key Features:
|
|
12
|
+
* - Token limiting via `num_predict` parameter (max ~70 tokens for 280 chars)
|
|
13
|
+
* - Marketing preset for engaging, varied content
|
|
14
|
+
* - Lower temperature for focused, on-brand output
|
|
15
|
+
* - Character count validation
|
|
16
|
+
*
|
|
17
|
+
* This use case is particularly useful for:
|
|
18
|
+
* - Social media content generation
|
|
19
|
+
* - Testing parameter effectiveness
|
|
20
|
+
* - Demonstrating output length control
|
|
21
|
+
* - Validating token limiting functionality
|
|
22
|
+
*/
|
|
23
|
+
class TweetGeneratorUseCase extends base_ai_usecase_1.BaseAIUseCase {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(...arguments);
|
|
26
|
+
/**
|
|
27
|
+
* System message emphasizing brevity and Twitter best practices
|
|
28
|
+
*/
|
|
29
|
+
this.systemMessage = tweet_generator_messages_1.TWEET_GENERATOR_SYSTEM_MESSAGE;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get the user template from message file
|
|
33
|
+
*/
|
|
34
|
+
getUserTemplate() {
|
|
35
|
+
return tweet_generator_messages_1.TWEET_GENERATOR_USER_TEMPLATE;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Format the user message - pass through the topic
|
|
39
|
+
*/
|
|
40
|
+
formatUserMessage(prompt) {
|
|
41
|
+
return typeof prompt === 'string' ? prompt : prompt.topic;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Override model parameters for tweet generation
|
|
45
|
+
*
|
|
46
|
+
* This configuration is optimized for generating short, engaging tweets
|
|
47
|
+
* while staying within Twitter's 280 character limit.
|
|
48
|
+
*
|
|
49
|
+
* @returns ModelParameterOverrides with Marketing-inspired preset + token limiting
|
|
50
|
+
*
|
|
51
|
+
* **Parameter Selection Rationale:**
|
|
52
|
+
*
|
|
53
|
+
* **Token Limiting:**
|
|
54
|
+
* - `num_predict: 70` - Strictly limits output to ~70 tokens (roughly 280 characters)
|
|
55
|
+
* This is the key parameter for enforcing length constraints.
|
|
56
|
+
*
|
|
57
|
+
* **Creative Control:**
|
|
58
|
+
* - `temperature: 0.7` - Balanced creativity for engaging but focused content
|
|
59
|
+
* - `repeatPenalty: 1.3` - Strong penalty to avoid repetitive phrasing in short text
|
|
60
|
+
* - `frequencyPenalty: 0.3` - Encourages word variety in limited space
|
|
61
|
+
* - `presencePenalty: 0.2` - Promotes diverse concepts even in brief content
|
|
62
|
+
*
|
|
63
|
+
* **Quality Control:**
|
|
64
|
+
* - `topP: 0.9` - Moderate nucleus sampling for reliable quality
|
|
65
|
+
* - `topK: 50` - Balanced vocabulary selection for natural language
|
|
66
|
+
* - `repeatLastN: 32` - Short window appropriate for tweet-length text
|
|
67
|
+
*
|
|
68
|
+
* **Expected Impact:**
|
|
69
|
+
* - Tweets will be under 280 characters (enforced by num_predict)
|
|
70
|
+
* - Content will be varied and engaging without repetition
|
|
71
|
+
* - Output will be focused and on-topic
|
|
72
|
+
* - Language will be natural and conversational
|
|
73
|
+
*
|
|
74
|
+
* **Testing Note:**
|
|
75
|
+
* This configuration allows testing of token limiting functionality.
|
|
76
|
+
* Increase num_predict to see longer outputs; decrease for shorter ones.
|
|
77
|
+
*
|
|
78
|
+
* For more information about parameters, see docs/OLLAMA_PARAMETERS.md
|
|
79
|
+
*/
|
|
80
|
+
getParameterOverrides() {
|
|
81
|
+
return {
|
|
82
|
+
// TOKEN LIMITING - This is the key parameter we're testing
|
|
83
|
+
// Approximately 70 tokens ≈ 280 characters for English text
|
|
84
|
+
// Adjust this value to control output length
|
|
85
|
+
num_predict: 70,
|
|
86
|
+
// Marketing-inspired preset for engaging social media content
|
|
87
|
+
temperatureOverride: 0.7,
|
|
88
|
+
repeatPenalty: 1.3,
|
|
89
|
+
frequencyPenalty: 0.3,
|
|
90
|
+
presencePenalty: 0.2,
|
|
91
|
+
topP: 0.9,
|
|
92
|
+
topK: 50,
|
|
93
|
+
repeatLastN: 32
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create the result with character count validation
|
|
98
|
+
*/
|
|
99
|
+
createResult(content, usedPrompt, thinking) {
|
|
100
|
+
// Clean the content - remove any thinking tags or extra whitespace
|
|
101
|
+
const cleanedTweet = content.trim();
|
|
102
|
+
const characterCount = cleanedTweet.length;
|
|
103
|
+
const withinLimit = characterCount <= 280;
|
|
104
|
+
return {
|
|
105
|
+
generatedContent: content,
|
|
106
|
+
model: this.modelConfig.name,
|
|
107
|
+
usedPrompt: usedPrompt,
|
|
108
|
+
thinking: thinking,
|
|
109
|
+
tweet: cleanedTweet,
|
|
110
|
+
characterCount: characterCount,
|
|
111
|
+
withinLimit: withinLimit
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.TweetGeneratorUseCase = TweetGeneratorUseCase;
|
|
116
|
+
//# sourceMappingURL=tweet-generator.usecase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tweet-generator.usecase.js","sourceRoot":"","sources":["../../../src/examples/tweet-generator/tweet-generator.usecase.ts"],"names":[],"mappings":";;;AAAA,oFAA+E;AAE/E,yEAGoC;AAoBpC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,qBAAsB,SAAQ,+BAAkE;IAA7G;;QAEE;;WAEG;QACgB,kBAAa,GAAG,yDAA8B,CAAC;IA0FpE,CAAC;IAxFC;;OAEG;IACO,eAAe;QACvB,OAAO,wDAA6B,CAAC;IACvC,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,MAAW;QACrC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACO,qBAAqB;QAC7B,OAAO;YACL,2DAA2D;YAC3D,4DAA4D;YAC5D,6CAA6C;YAC7C,WAAW,EAAE,EAAE;YAEf,8DAA8D;YAC9D,mBAAmB,EAAE,GAAG;YACxB,aAAa,EAAE,GAAG;YAClB,gBAAgB,EAAE,GAAG;YACrB,eAAe,EAAE,GAAG;YACpB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,YAAY,CAAC,OAAe,EAAE,UAAkB,EAAE,QAAiB;QAC3E,mEAAmE;QACnE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;QAC3C,MAAM,WAAW,GAAG,cAAc,IAAI,GAAG,CAAC;QAE1C,OAAO;YACL,gBAAgB,EAAE,OAAO;YACzB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC5B,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,YAAY;YACnB,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,WAAW;SACzB,CAAC;IACJ,CAAC;CACF;AA/FD,sDA+FC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -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
|
+
// Main export file for the llm-middleware package
|
|
18
|
+
__exportStar(require("./middleware"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,+CAA6B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { RequestWithUser } from '../../shared/types/base-request.types';
|
|
3
|
+
/**
|
|
4
|
+
* Base controller class providing common functionality for all controllers
|
|
5
|
+
* Includes error handling and standardized response formatting
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class BaseController {
|
|
8
|
+
/**
|
|
9
|
+
* Generic request handler with error handling and logging
|
|
10
|
+
* @param req - Express request with user and client info
|
|
11
|
+
* @param res - Express response
|
|
12
|
+
* @param handler - Function to execute the actual logic
|
|
13
|
+
*/
|
|
14
|
+
protected handleRequest(req: RequestWithUser, res: Response, handler: () => Promise<any>): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=base.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.controller.d.ts","sourceRoot":"","sources":["../../../../src/middleware/controllers/base/base.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE;;;GAGG;AACH,8BAAsB,cAAc;IAClC;;;;;OAKG;cACa,aAAa,CAC3B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;CAwBjB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseController = void 0;
|
|
4
|
+
const logging_utils_1 = require("../../shared/utils/logging.utils");
|
|
5
|
+
const http_utils_1 = require("../../shared/utils/http.utils");
|
|
6
|
+
/**
|
|
7
|
+
* Base controller class providing common functionality for all controllers
|
|
8
|
+
* Includes error handling and standardized response formatting
|
|
9
|
+
*/
|
|
10
|
+
class BaseController {
|
|
11
|
+
/**
|
|
12
|
+
* Generic request handler with error handling and logging
|
|
13
|
+
* @param req - Express request with user and client info
|
|
14
|
+
* @param res - Express response
|
|
15
|
+
* @param handler - Function to execute the actual logic
|
|
16
|
+
*/
|
|
17
|
+
async handleRequest(req, res, handler) {
|
|
18
|
+
try {
|
|
19
|
+
const result = await handler();
|
|
20
|
+
(0, http_utils_1.sendSuccessResponse)(res, result, req.clientInfo);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
logging_utils_1.logger.error('Controller error', {
|
|
24
|
+
context: this.constructor.name,
|
|
25
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
26
|
+
metadata: {
|
|
27
|
+
path: req.path,
|
|
28
|
+
method: req.method,
|
|
29
|
+
query: req.query,
|
|
30
|
+
params: req.params
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
(0, http_utils_1.sendErrorResponse)(res, 500, error instanceof Error ? error.message : 'Unknown error', req.clientInfo);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.BaseController = BaseController;
|
|
38
|
+
//# sourceMappingURL=base.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.controller.js","sourceRoot":"","sources":["../../../../src/middleware/controllers/base/base.controller.ts"],"names":[],"mappings":";;;AAEA,oEAA0D;AAC1D,8DAAuF;AAEvF;;;GAGG;AACH,MAAsB,cAAc;IAClC;;;;;OAKG;IACO,KAAK,CAAC,aAAa,CAC3B,GAAoB,EACpB,GAAa,EACb,OAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;YAC/B,IAAA,gCAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sBAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;gBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC/D,QAAQ,EAAE;oBACR,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB;aACF,CAAC,CAAC;YAEH,IAAA,8BAAiB,EACf,GAAG,EACH,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,GAAG,CAAC,UAAU,CACf,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAnCD,wCAmCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/middleware/controllers/base/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC"}
|
|
@@ -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
|
+
// Export base controller
|
|
18
|
+
__exportStar(require("./base.controller"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/controllers/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yBAAyB;AACzB,oDAAkC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Export all middleware components
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
// Base classes
|
|
19
|
+
__exportStar(require("./controllers/base"), exports);
|
|
20
|
+
__exportStar(require("./usecases/base"), exports);
|
|
21
|
+
// Services
|
|
22
|
+
__exportStar(require("./services"), exports); // Exports all services including ResponseProcessorService
|
|
23
|
+
// Shared utilities and types
|
|
24
|
+
__exportStar(require("./shared/config"), exports);
|
|
25
|
+
__exportStar(require("./shared/types"), exports);
|
|
26
|
+
__exportStar(require("./shared/utils"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":";AAAA,mCAAmC;;;;;;;;;;;;;;;;AAEnC,eAAe;AACf,qDAAmC;AACnC,kDAAgC;AAEhC,WAAW;AACX,6CAA2B,CAAC,0DAA0D;AAEtF,6BAA6B;AAC7B,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
export interface LLMRequest {
|
|
2
|
+
stage: string;
|
|
3
|
+
prompt: string;
|
|
4
|
+
systemMessage: string;
|
|
5
|
+
modelName: string;
|
|
6
|
+
temperature?: number;
|
|
7
|
+
maxTokens?: number;
|
|
8
|
+
contextInfo?: any;
|
|
9
|
+
}
|
|
10
|
+
export interface LLMResponse {
|
|
11
|
+
rawResponse: string;
|
|
12
|
+
cleanedResponse?: string;
|
|
13
|
+
processingTime: number;
|
|
14
|
+
tokensUsed?: number;
|
|
15
|
+
error?: any;
|
|
16
|
+
}
|
|
17
|
+
export interface DataFlowEntry {
|
|
18
|
+
timestamp: string;
|
|
19
|
+
requestId: string;
|
|
20
|
+
stage: string;
|
|
21
|
+
operation: 'request' | 'response' | 'error' | 'context-prep' | 'json-cleaning';
|
|
22
|
+
contextId: string;
|
|
23
|
+
contextType: string;
|
|
24
|
+
data: any;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Enhanced service for logging data flow in AI processing pipelines
|
|
28
|
+
* Features:
|
|
29
|
+
* - Ring buffer (max 1000 entries per file)
|
|
30
|
+
* - Full prompt/response storage
|
|
31
|
+
* - Request flow tracking
|
|
32
|
+
* - Stage flow summaries
|
|
33
|
+
* - Pluggable context identifier generation (generic by default)
|
|
34
|
+
*/
|
|
35
|
+
export declare class DataFlowLoggerService {
|
|
36
|
+
private static instance;
|
|
37
|
+
private readonly logDir;
|
|
38
|
+
private currentRequestId;
|
|
39
|
+
private readonly MAX_ENTRIES_PER_FILE;
|
|
40
|
+
private contextIdentifierGenerator?;
|
|
41
|
+
private constructor();
|
|
42
|
+
static getInstance(): DataFlowLoggerService;
|
|
43
|
+
/**
|
|
44
|
+
* Configure a custom context identifier generator
|
|
45
|
+
* @param generator Function that extracts a context identifier from the context object
|
|
46
|
+
* @example
|
|
47
|
+
* // For book-based applications:
|
|
48
|
+
* logger.setContextIdentifierGenerator(ctx => `C${ctx.chapter}P${ctx.page}`);
|
|
49
|
+
* // For session-based applications:
|
|
50
|
+
* logger.setContextIdentifierGenerator(ctx => ctx.sessionId || 'general');
|
|
51
|
+
*/
|
|
52
|
+
setContextIdentifierGenerator(generator: (context: any) => string): void;
|
|
53
|
+
private ensureLogDirectoryExists;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a unique request ID
|
|
56
|
+
*/
|
|
57
|
+
private generateRequestId;
|
|
58
|
+
/**
|
|
59
|
+
* Get context identifier for logging
|
|
60
|
+
* Uses custom generator if configured, otherwise falls back to generic identifiers
|
|
61
|
+
*/
|
|
62
|
+
private getContextIdentifier;
|
|
63
|
+
/**
|
|
64
|
+
* Start a new request and return request ID
|
|
65
|
+
*/
|
|
66
|
+
startRequest(stage: string, context?: any): string;
|
|
67
|
+
/**
|
|
68
|
+
* Log LLM request with full prompt/system message storage
|
|
69
|
+
*/
|
|
70
|
+
logLLMRequest(request: LLMRequest, context?: any, requestId?: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Log LLM response with full response storage
|
|
73
|
+
*/
|
|
74
|
+
logLLMResponse(stage: string, response: LLMResponse, context?: any, requestId?: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Log context preparation
|
|
77
|
+
*/
|
|
78
|
+
logContextPreparation(stage: string, context: any, contextPreparationDetails: any): void;
|
|
79
|
+
/**
|
|
80
|
+
* Log JSON cleaning operation
|
|
81
|
+
*/
|
|
82
|
+
logJsonCleaning(stage: string, context: any, cleaningDetails: {
|
|
83
|
+
input: string;
|
|
84
|
+
output?: string;
|
|
85
|
+
method: string;
|
|
86
|
+
success: boolean;
|
|
87
|
+
iterations?: number;
|
|
88
|
+
error?: any;
|
|
89
|
+
}): void;
|
|
90
|
+
/**
|
|
91
|
+
* Log complete flow for a stage
|
|
92
|
+
*/
|
|
93
|
+
logStageFlow(stage: string, context: any, flowSummary: {
|
|
94
|
+
totalDuration: number;
|
|
95
|
+
contextPrepDuration?: number;
|
|
96
|
+
llmRequestDuration?: number;
|
|
97
|
+
jsonCleaningDuration?: number;
|
|
98
|
+
success: boolean;
|
|
99
|
+
outputSize?: number;
|
|
100
|
+
error?: any;
|
|
101
|
+
}): void;
|
|
102
|
+
/**
|
|
103
|
+
* Extract context features for detailed logging
|
|
104
|
+
*/
|
|
105
|
+
private extractContextFeatures;
|
|
106
|
+
/**
|
|
107
|
+
* Get log file path for a context
|
|
108
|
+
*/
|
|
109
|
+
private getLogFilePath;
|
|
110
|
+
/**
|
|
111
|
+
* Log entry with ring buffer (max 1000 entries per file)
|
|
112
|
+
*/
|
|
113
|
+
private logEntry;
|
|
114
|
+
/**
|
|
115
|
+
* Get flow entries for a specific request
|
|
116
|
+
*/
|
|
117
|
+
getRequestFlow(context: any, requestId: string): DataFlowEntry[];
|
|
118
|
+
/**
|
|
119
|
+
* Get current request ID
|
|
120
|
+
*/
|
|
121
|
+
getCurrentRequestId(): string | null;
|
|
122
|
+
/**
|
|
123
|
+
* Clear current request ID
|
|
124
|
+
*/
|
|
125
|
+
clearCurrentRequestId(): void;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=data-flow-logger.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-flow-logger.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/data-flow-logger/data-flow-logger.service.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,CAAC;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;CACX;AAED;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiE;IACxF,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAC7C,OAAO,CAAC,0BAA0B,CAAC,CAA2B;IAE9D,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,qBAAqB;IAO3C;;;;;;;;OAQG;IACH,6BAA6B,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI;IAIxE,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,MAAM;IAKtD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,GAAE,GAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB/E;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE,GAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA0BjG;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,yBAAyB,EAAE,GAAG,GAAG,IAAI;IAkBxF;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE;QAC5D,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,GAAG,IAAI;IAyBR;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE;QACrD,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,GAAG,IAAI;IAgBR;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAkChB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;IAgBhE;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,qBAAqB,IAAI,IAAI;CAG9B"}
|