@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,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StringEscaperCleaner = void 0;
|
|
4
|
+
const base_cleaner_strategy_1 = require("./base-cleaner.strategy");
|
|
5
|
+
const json_cleaner_logger_1 = require("../json-cleaner-logger");
|
|
6
|
+
/**
|
|
7
|
+
* Cleaning strategy for escaping strings in JSON
|
|
8
|
+
* Escapes quotes and other special characters correctly
|
|
9
|
+
*/
|
|
10
|
+
class StringEscaperCleaner extends base_cleaner_strategy_1.BaseCleaningStrategy {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.name = 'String Escaper';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Escapes strings in JSON correctly
|
|
17
|
+
* @param context The current cleaning context
|
|
18
|
+
* @returns The result of the cleaning strategy
|
|
19
|
+
*/
|
|
20
|
+
clean(context) {
|
|
21
|
+
const input = context.intermediateResult;
|
|
22
|
+
const output = this.minimalJsonEscaping(input);
|
|
23
|
+
const modified = input !== output;
|
|
24
|
+
if (modified) {
|
|
25
|
+
json_cleaner_logger_1.JsonCleanerLogger.logOperation('Minimal JSON Escaping', input, output, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
output,
|
|
29
|
+
success: true,
|
|
30
|
+
modified
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Minimal escaping for JSON strings
|
|
35
|
+
* Only escapes what is really JSON-breaking (quotes)
|
|
36
|
+
* @param jsonStr The JSON string to be processed
|
|
37
|
+
* @returns The escaped JSON string
|
|
38
|
+
*/
|
|
39
|
+
minimalJsonEscaping(jsonStr) {
|
|
40
|
+
// Improved regex for property-name and value pairs, also supports umlauts
|
|
41
|
+
const before = jsonStr;
|
|
42
|
+
let result = jsonStr.replace(/("([^"]+)"\s*:\s*")([\s\S]*?)("(?=\s*[,}]))/g, (match, prefix, fieldName, content, suffix) => {
|
|
43
|
+
let escapedContent = content;
|
|
44
|
+
// Only escape unescaped quotes
|
|
45
|
+
escapedContent = escapedContent.replace(/(?<!\\)"/g, '\\"');
|
|
46
|
+
// Try to parse if the string is already valid
|
|
47
|
+
try {
|
|
48
|
+
JSON.parse('"' + escapedContent + '"');
|
|
49
|
+
return prefix + escapedContent + suffix;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
// Only if it doesn't parse, check for other problems
|
|
53
|
+
json_cleaner_logger_1.JsonCleanerLogger.logOperation(`Escape quotes in field: ${fieldName}`, content, escapedContent, false, `Field ${fieldName} JSON parse failed: ${error instanceof Error ? error.message : String(error)}`, json_cleaner_logger_1.JsonCleanerLogLevel.VERBOSE);
|
|
54
|
+
// Control characters have already been handled, so this shouldn't be necessary
|
|
55
|
+
}
|
|
56
|
+
return prefix + escapedContent + suffix;
|
|
57
|
+
});
|
|
58
|
+
if (before !== result) {
|
|
59
|
+
json_cleaner_logger_1.JsonCleanerLogger.logOperation("Minimal JSON Escaping", before, result, true, undefined, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD);
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.StringEscaperCleaner = StringEscaperCleaner;
|
|
65
|
+
//# sourceMappingURL=string-escaper.cleaner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-escaper.cleaner.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/string-escaper.cleaner.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAC/D,gEAAgF;AAEhF;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,4CAAoB;IAA9D;;QACS,SAAI,GAAG,gBAAgB,CAAC;IA8EjC,CAAC;IA5EC;;;;OAIG;IACI,KAAK,CAAC,OAAwB;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC;QAElC,IAAI,QAAQ,EAAE,CAAC;YACb,uCAAiB,CAAC,YAAY,CAC5B,uBAAuB,EACvB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,SAAS,EACT,yCAAmB,CAAC,QAAQ,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO,EAAE,IAAI;YACb,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,OAAe;QACzC,0EAA0E;QAC1E,MAAM,MAAM,GAAG,OAAO,CAAC;QACvB,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,8CAA8C,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAc,EAAE,EAAE;YACjK,IAAI,cAAc,GAAG,OAAO,CAAC;YAE7B,+BAA+B;YAC/B,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAE5D,8CAA8C;YAC9C,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC;gBACvC,OAAO,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,uCAAiB,CAAC,YAAY,CAC5B,2BAA2B,SAAS,EAAE,EACtC,OAAO,EACP,cAAc,EACd,KAAK,EACL,SAAS,SAAS,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjG,yCAAmB,CAAC,OAAO,CAC5B,CAAC;gBACF,+EAA+E;YACjF,CAAC;YAED,OAAO,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,uCAAiB,CAAC,YAAY,CAC5B,uBAAuB,EACvB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,SAAS,EACT,yCAAmB,CAAC,QAAQ,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/ED,oDA+EC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CleaningContext, CleaningStrategyResult } from '../json-cleaner.types';
|
|
2
|
+
import { BaseCleaningStrategy } from './base-cleaner.strategy';
|
|
3
|
+
/**
|
|
4
|
+
* NEW STRATEGY: Structural Repair Cleaner
|
|
5
|
+
*
|
|
6
|
+
* Fixes fundamental JSON structural problems such as:
|
|
7
|
+
* - Objects that should actually be strings
|
|
8
|
+
* - "field": { "text without quotes" } → "field": "text with proper escaping"
|
|
9
|
+
*/
|
|
10
|
+
export declare class StructuralRepairCleaner extends BaseCleaningStrategy {
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Detects structural problems
|
|
14
|
+
*/
|
|
15
|
+
canHandle(context: CleaningContext): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Repairs structural JSON problems
|
|
18
|
+
*/
|
|
19
|
+
clean(context: CleaningContext): CleaningStrategyResult;
|
|
20
|
+
/**
|
|
21
|
+
* Detects Objects that should actually be strings
|
|
22
|
+
*/
|
|
23
|
+
private detectObjectsWithTextContent;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if content looks like text (not like JSON object properties)
|
|
26
|
+
*/
|
|
27
|
+
private looksLikeTextContent;
|
|
28
|
+
/**
|
|
29
|
+
* Repairs the structural problems
|
|
30
|
+
*/
|
|
31
|
+
private repairStructuralProblems;
|
|
32
|
+
/**
|
|
33
|
+
* Cleans and escapes text content for JSON
|
|
34
|
+
*/
|
|
35
|
+
private cleanAndEscapeTextContent;
|
|
36
|
+
/**
|
|
37
|
+
* Debug method for the specific problem
|
|
38
|
+
*/
|
|
39
|
+
analyzeRevisedContentProblem(jsonStr: string): {
|
|
40
|
+
hasRevisedContentProblem: boolean;
|
|
41
|
+
problemDetails?: {
|
|
42
|
+
currentStructure: string;
|
|
43
|
+
suggestedFix: string;
|
|
44
|
+
contentPreview: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=structural-repair.cleaner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural-repair.cleaner.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/structural-repair.cleaner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,oBAAoB;IACxD,IAAI,SAA+B;IAE1C;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IASnD;;OAEG;IACI,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,sBAAsB;IA0E9D;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAejC;;OAEG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG;QACpD,wBAAwB,EAAE,OAAO,CAAC;QAClC,cAAc,CAAC,EAAE;YACf,gBAAgB,EAAE,MAAM,CAAC;YACzB,YAAY,EAAE,MAAM,CAAC;YACrB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH;CAmBF"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StructuralRepairCleaner = void 0;
|
|
4
|
+
const base_cleaner_strategy_1 = require("./base-cleaner.strategy");
|
|
5
|
+
const json_cleaner_logger_1 = require("../json-cleaner-logger");
|
|
6
|
+
/**
|
|
7
|
+
* NEW STRATEGY: Structural Repair Cleaner
|
|
8
|
+
*
|
|
9
|
+
* Fixes fundamental JSON structural problems such as:
|
|
10
|
+
* - Objects that should actually be strings
|
|
11
|
+
* - "field": { "text without quotes" } → "field": "text with proper escaping"
|
|
12
|
+
*/
|
|
13
|
+
class StructuralRepairCleaner extends base_cleaner_strategy_1.BaseCleaningStrategy {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.name = 'Structural Repair Cleaner';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Detects structural problems
|
|
20
|
+
*/
|
|
21
|
+
canHandle(context) {
|
|
22
|
+
const input = context.intermediateResult;
|
|
23
|
+
// Look for the specific problem: Object with text content instead of string
|
|
24
|
+
const hasObjectWithTextContent = this.detectObjectsWithTextContent(input);
|
|
25
|
+
return hasObjectWithTextContent.length > 0;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Repairs structural JSON problems
|
|
29
|
+
*/
|
|
30
|
+
clean(context) {
|
|
31
|
+
const input = context.intermediateResult;
|
|
32
|
+
try {
|
|
33
|
+
console.log('[StructuralRepairCleaner] Starting structural repair...');
|
|
34
|
+
// STEP 1: Detect problematic structures
|
|
35
|
+
const problems = this.detectObjectsWithTextContent(input);
|
|
36
|
+
if (problems.length === 0) {
|
|
37
|
+
return { output: input, success: true, modified: false };
|
|
38
|
+
}
|
|
39
|
+
console.log(`[StructuralRepairCleaner] Found ${problems.length} structural problems:`);
|
|
40
|
+
problems.forEach((problem, index) => {
|
|
41
|
+
console.log(` ${index + 1}. Field "${problem.fieldName}": Object → String conversion needed`);
|
|
42
|
+
});
|
|
43
|
+
// STEP 2: Repair the structures
|
|
44
|
+
let output = this.repairStructuralProblems(input, problems);
|
|
45
|
+
// STEP 3: Validate the result
|
|
46
|
+
const modified = input !== output;
|
|
47
|
+
let success = false;
|
|
48
|
+
let parseError;
|
|
49
|
+
try {
|
|
50
|
+
JSON.parse(output);
|
|
51
|
+
success = true;
|
|
52
|
+
console.log('[StructuralRepairCleaner] ✅ Structural repair successful - JSON is now valid');
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
parseError = error instanceof Error ? error.message : String(error);
|
|
56
|
+
console.log(`[StructuralRepairCleaner] ⚠️ Structural repair completed but JSON still invalid: ${parseError}`);
|
|
57
|
+
success = modified; // Partial success
|
|
58
|
+
}
|
|
59
|
+
if (modified) {
|
|
60
|
+
json_cleaner_logger_1.JsonCleanerLogger.logOperation('Structural Repair', input, output, success, parseError, json_cleaner_logger_1.JsonCleanerLogLevel.STANDARD, {
|
|
61
|
+
reason: success ?
|
|
62
|
+
`Successfully repaired ${problems.length} structural issues` :
|
|
63
|
+
`Repaired ${problems.length} structural issues but JSON still invalid: ${parseError}`,
|
|
64
|
+
detectedIssues: problems.map(p => `${p.fieldName}: Object→String conversion`),
|
|
65
|
+
strategy: 'structural-object-to-string-repair'
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
output,
|
|
70
|
+
success,
|
|
71
|
+
modified,
|
|
72
|
+
error: parseError
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
77
|
+
console.log('[StructuralRepairCleaner] ❌ Structural repair failed:', errorMsg);
|
|
78
|
+
return {
|
|
79
|
+
output: input,
|
|
80
|
+
success: false,
|
|
81
|
+
error: errorMsg,
|
|
82
|
+
modified: false
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Detects Objects that should actually be strings
|
|
88
|
+
*/
|
|
89
|
+
detectObjectsWithTextContent(jsonStr) {
|
|
90
|
+
const problems = [];
|
|
91
|
+
// Pattern: "fieldname": { content_that_looks_like_text }
|
|
92
|
+
const objectFieldPattern = /"([^"]+)"\s*:\s*\{([^{}]*?)\}/g;
|
|
93
|
+
let match;
|
|
94
|
+
while ((match = objectFieldPattern.exec(jsonStr)) !== null) {
|
|
95
|
+
const fieldName = match[1];
|
|
96
|
+
const objectContent = match[2].trim();
|
|
97
|
+
// Check if the object content looks like text
|
|
98
|
+
if (this.looksLikeTextContent(objectContent)) {
|
|
99
|
+
problems.push({
|
|
100
|
+
fieldName,
|
|
101
|
+
objectStart: match.index + match[0].indexOf('{'),
|
|
102
|
+
objectEnd: match.index + match[0].lastIndexOf('}'),
|
|
103
|
+
contentPreview: objectContent.substring(0, 100) + (objectContent.length > 100 ? '...' : '')
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return problems;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Checks if content looks like text (not like JSON object properties)
|
|
111
|
+
*/
|
|
112
|
+
looksLikeTextContent(content) {
|
|
113
|
+
// Remove whitespace for analysis
|
|
114
|
+
const trimmed = content.trim();
|
|
115
|
+
// Empty or only whitespace → not interesting
|
|
116
|
+
if (!trimmed)
|
|
117
|
+
return false;
|
|
118
|
+
// Contains JSON-typical structures → probably a real object
|
|
119
|
+
if (trimmed.includes('":') || trimmed.includes('": ') || trimmed.match(/^"[^"]+"\s*:/)) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
// Contains English words/sentences → probably text
|
|
123
|
+
const textPatterns = [
|
|
124
|
+
/\b(the|and|or|but|with|from|to|on|in|at|by|for|of|about|over|under|before|after|between)\b/i,
|
|
125
|
+
/\b(story|adventure|landscape|flowers|animals|situation|character|description)\b/i,
|
|
126
|
+
/[.!?]\s+[A-Z]/, // Sentences with periods
|
|
127
|
+
/\w+\s+\w+\s+\w+/, // Multiple words in a row
|
|
128
|
+
];
|
|
129
|
+
return textPatterns.some(pattern => pattern.test(trimmed));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Repairs the structural problems
|
|
133
|
+
*/
|
|
134
|
+
repairStructuralProblems(jsonStr, problems) {
|
|
135
|
+
let result = jsonStr;
|
|
136
|
+
// Sort problems from back to front (to avoid shifting indices)
|
|
137
|
+
const sortedProblems = problems.sort((a, b) => b.objectStart - a.objectStart);
|
|
138
|
+
for (const problem of sortedProblems) {
|
|
139
|
+
console.log(`[StructuralRepairCleaner] Repairing field "${problem.fieldName}"...`);
|
|
140
|
+
// Extract the object content
|
|
141
|
+
const beforeObject = result.substring(0, problem.objectStart);
|
|
142
|
+
const objectContent = result.substring(problem.objectStart + 1, problem.objectEnd);
|
|
143
|
+
const afterObject = result.substring(problem.objectEnd + 1);
|
|
144
|
+
// Clean and escape the content
|
|
145
|
+
const cleanedText = this.cleanAndEscapeTextContent(objectContent);
|
|
146
|
+
// Replace { content } with "escaped_content"
|
|
147
|
+
result = beforeObject + '"' + cleanedText + '"' + afterObject;
|
|
148
|
+
console.log(`[StructuralRepairCleaner] ✓ Converted "${problem.fieldName}" from Object to String`);
|
|
149
|
+
}
|
|
150
|
+
return result;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Cleans and escapes text content for JSON
|
|
154
|
+
*/
|
|
155
|
+
cleanAndEscapeTextContent(textContent) {
|
|
156
|
+
let cleaned = textContent.trim();
|
|
157
|
+
// Escape JSON-specific characters
|
|
158
|
+
cleaned = cleaned
|
|
159
|
+
.replace(/\\/g, '\\\\') // Escape backslashes
|
|
160
|
+
.replace(/"/g, '\\"') // Escape quotes
|
|
161
|
+
.replace(/\n/g, '\\n') // Escape newlines
|
|
162
|
+
.replace(/\r/g, '\\r') // Escape carriage returns
|
|
163
|
+
.replace(/\t/g, '\\t') // Escape tabs
|
|
164
|
+
.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, ''); // Remove other Control Characters
|
|
165
|
+
return cleaned;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Debug method for the specific problem
|
|
169
|
+
*/
|
|
170
|
+
analyzeRevisedContentProblem(jsonStr) {
|
|
171
|
+
const revisedContentMatch = jsonStr.match(/"revised_content"\s*:\s*\{([^{}]*?)\}/);
|
|
172
|
+
if (revisedContentMatch) {
|
|
173
|
+
const content = revisedContentMatch[1].trim();
|
|
174
|
+
const cleanedContent = this.cleanAndEscapeTextContent(content);
|
|
175
|
+
return {
|
|
176
|
+
hasRevisedContentProblem: true,
|
|
177
|
+
problemDetails: {
|
|
178
|
+
currentStructure: 'Object { text_without_quotes }',
|
|
179
|
+
suggestedFix: `"revised_content": "${cleanedContent.substring(0, 200)}..."`,
|
|
180
|
+
contentPreview: content.substring(0, 300) + (content.length > 300 ? '...' : '')
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
return { hasRevisedContentProblem: false };
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.StructuralRepairCleaner = StructuralRepairCleaner;
|
|
188
|
+
//# sourceMappingURL=structural-repair.cleaner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural-repair.cleaner.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/strategies/structural-repair.cleaner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight Console logging control for the JSON Cleaner
|
|
3
|
+
* Can be controlled via the .env variable JSON_CLEANER_CONSOLE_LOGS
|
|
4
|
+
*/
|
|
5
|
+
export declare class JsonCleanerConsole {
|
|
6
|
+
private static consoleEnabled;
|
|
7
|
+
/**
|
|
8
|
+
* Checks if Console logging is enabled
|
|
9
|
+
* Caches the result for better performance
|
|
10
|
+
*/
|
|
11
|
+
private static isConsoleEnabled;
|
|
12
|
+
/**
|
|
13
|
+
* Sets the Console logging status (for tests or dynamic control)
|
|
14
|
+
*/
|
|
15
|
+
static setConsoleEnabled(enabled: boolean): void;
|
|
16
|
+
/**
|
|
17
|
+
* Reset cache (useful for tests)
|
|
18
|
+
*/
|
|
19
|
+
static resetCache(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Console.log - only when enabled
|
|
22
|
+
*/
|
|
23
|
+
static log(...args: any[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Console.warn - only when enabled
|
|
26
|
+
*/
|
|
27
|
+
static warn(...args: any[]): void;
|
|
28
|
+
/**
|
|
29
|
+
* Console.error - only when enabled
|
|
30
|
+
*/
|
|
31
|
+
static error(...args: any[]): void;
|
|
32
|
+
/**
|
|
33
|
+
* Console.info - only when enabled
|
|
34
|
+
*/
|
|
35
|
+
static info(...args: any[]): void;
|
|
36
|
+
/**
|
|
37
|
+
* Conditional logging method with prefix
|
|
38
|
+
*/
|
|
39
|
+
static logWithPrefix(prefix: string, forceLog?: boolean, ...args: any[]): void;
|
|
40
|
+
/**
|
|
41
|
+
* Debug info about the current status
|
|
42
|
+
*/
|
|
43
|
+
static getStatus(): {
|
|
44
|
+
consoleEnabled: boolean;
|
|
45
|
+
envValue: string | undefined;
|
|
46
|
+
nodeEnv: string | undefined;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export declare const jsonConsole: typeof JsonCleanerConsole;
|
|
50
|
+
//# sourceMappingURL=console-logger.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logger.util.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/utils/console-logger.util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAwB;IAErD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiB/B;;OAEG;WACW,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIvD;;OAEG;WACW,UAAU,IAAI,IAAI;IAIhC;;OAEG;WACW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMvC;;OAEG;WACW,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMxC;;OAEG;WACW,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMzC;;OAEG;WACW,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMxC;;OAEG;WACW,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAe,EAAG,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM9F;;OAEG;WACW,SAAS,IAAI;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B;CAOF;AAGD,eAAO,MAAM,WAAW,2BAAqB,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsonConsole = exports.JsonCleanerConsole = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Lightweight Console logging control for the JSON Cleaner
|
|
6
|
+
* Can be controlled via the .env variable JSON_CLEANER_CONSOLE_LOGS
|
|
7
|
+
*/
|
|
8
|
+
class JsonCleanerConsole {
|
|
9
|
+
/**
|
|
10
|
+
* Checks if Console logging is enabled
|
|
11
|
+
* Caches the result for better performance
|
|
12
|
+
*/
|
|
13
|
+
static isConsoleEnabled() {
|
|
14
|
+
if (this.consoleEnabled === null) {
|
|
15
|
+
// Read .env variable
|
|
16
|
+
const envValue = process.env.JSON_CLEANER_CONSOLE_LOGS;
|
|
17
|
+
// Default: enabled in Development, disabled in Production
|
|
18
|
+
if (envValue === undefined) {
|
|
19
|
+
this.consoleEnabled = process.env.NODE_ENV !== 'production';
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
// Explicit values: 'true', '1', 'yes', 'on' = enabled
|
|
23
|
+
this.consoleEnabled = ['true', '1', 'yes', 'on'].includes(envValue.toLowerCase());
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return this.consoleEnabled;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Sets the Console logging status (for tests or dynamic control)
|
|
30
|
+
*/
|
|
31
|
+
static setConsoleEnabled(enabled) {
|
|
32
|
+
this.consoleEnabled = enabled;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Reset cache (useful for tests)
|
|
36
|
+
*/
|
|
37
|
+
static resetCache() {
|
|
38
|
+
this.consoleEnabled = null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Console.log - only when enabled
|
|
42
|
+
*/
|
|
43
|
+
static log(...args) {
|
|
44
|
+
if (this.isConsoleEnabled()) {
|
|
45
|
+
console.log(...args);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Console.warn - only when enabled
|
|
50
|
+
*/
|
|
51
|
+
static warn(...args) {
|
|
52
|
+
if (this.isConsoleEnabled()) {
|
|
53
|
+
console.warn(...args);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Console.error - only when enabled
|
|
58
|
+
*/
|
|
59
|
+
static error(...args) {
|
|
60
|
+
if (this.isConsoleEnabled()) {
|
|
61
|
+
console.error(...args);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Console.info - only when enabled
|
|
66
|
+
*/
|
|
67
|
+
static info(...args) {
|
|
68
|
+
if (this.isConsoleEnabled()) {
|
|
69
|
+
console.info(...args);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Conditional logging method with prefix
|
|
74
|
+
*/
|
|
75
|
+
static logWithPrefix(prefix, forceLog = false, ...args) {
|
|
76
|
+
if (this.isConsoleEnabled() || forceLog) {
|
|
77
|
+
console.log(`[${prefix}]`, ...args);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Debug info about the current status
|
|
82
|
+
*/
|
|
83
|
+
static getStatus() {
|
|
84
|
+
return {
|
|
85
|
+
consoleEnabled: this.isConsoleEnabled(),
|
|
86
|
+
envValue: process.env.JSON_CLEANER_CONSOLE_LOGS,
|
|
87
|
+
nodeEnv: process.env.NODE_ENV
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.JsonCleanerConsole = JsonCleanerConsole;
|
|
92
|
+
JsonCleanerConsole.consoleEnabled = null;
|
|
93
|
+
// Convenience export for existing code
|
|
94
|
+
exports.jsonConsole = JsonCleanerConsole;
|
|
95
|
+
//# sourceMappingURL=console-logger.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logger.util.js","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/utils/console-logger.util.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,kBAAkB;IAG7B;;;OAGG;IACK,MAAM,CAAC,gBAAgB;QAC7B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,qBAAqB;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YAEvD,0DAA0D;YAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,IAAI,CAAC,cAAc,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAAC,OAAgB;QAC9C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAU;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAW;QAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,IAAW;QAChC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,WAAqB,KAAK,EAAG,GAAG,IAAW;QACrF,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS;QAKrB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAC/C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;;AAhGH,gDAiGC;AAhGgB,iCAAc,GAAmB,IAAI,CAAC;AAkGvD,uCAAuC;AAC1B,QAAA,WAAW,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specialized utility class for Control-Character diagnosis and repair
|
|
3
|
+
* Can be used separately for debugging and analysis
|
|
4
|
+
*/
|
|
5
|
+
export declare class ControlCharDiagnostics {
|
|
6
|
+
/**
|
|
7
|
+
* Performs a complete diagnosis of Control Characters
|
|
8
|
+
*/
|
|
9
|
+
static diagnose(jsonStr: string): {
|
|
10
|
+
summary: {
|
|
11
|
+
isValid: boolean;
|
|
12
|
+
hasControlChars: boolean;
|
|
13
|
+
totalIssues: number;
|
|
14
|
+
canBeFixed: boolean;
|
|
15
|
+
};
|
|
16
|
+
issues: Array<{
|
|
17
|
+
position: number;
|
|
18
|
+
char: string;
|
|
19
|
+
charCode: number;
|
|
20
|
+
type: string;
|
|
21
|
+
severity: 'low' | 'medium' | 'high';
|
|
22
|
+
context: string;
|
|
23
|
+
fieldName?: string;
|
|
24
|
+
}>;
|
|
25
|
+
suggestions: string[];
|
|
26
|
+
repairPreview: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Repairs Control Characters with detailed logging
|
|
30
|
+
*/
|
|
31
|
+
static repair(jsonStr: string): {
|
|
32
|
+
success: boolean;
|
|
33
|
+
repairedJson: string;
|
|
34
|
+
appliedFixes: Array<{
|
|
35
|
+
position: number;
|
|
36
|
+
original: string;
|
|
37
|
+
replacement: string;
|
|
38
|
+
type: string;
|
|
39
|
+
}>;
|
|
40
|
+
errors?: string[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Generates a detailed diagnosis report
|
|
44
|
+
*/
|
|
45
|
+
static generateReport(jsonStr: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Quick fix for common cases
|
|
48
|
+
*/
|
|
49
|
+
static quickFix(jsonStr: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Extracts context around a position
|
|
52
|
+
*/
|
|
53
|
+
private static extractContext;
|
|
54
|
+
/**
|
|
55
|
+
* Generates a repair preview
|
|
56
|
+
*/
|
|
57
|
+
private static generateRepairPreview;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=control-char-diagnostics.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-char-diagnostics.util.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/utils/control-char-diagnostics.util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,sBAAsB;IAEjC;;OAEG;WACW,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;QACvC,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC;YACjB,eAAe,EAAE,OAAO,CAAC;YACzB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,OAAO,CAAC;SACrB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;YACpC,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;QACH,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB;IA2ID;;OAEG;WACW,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,KAAK,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB;IAgHD;;OAEG;WACW,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAsDrD;;OAEG;WACW,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAY/C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAiB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAQrC"}
|