@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,56 @@
|
|
|
1
|
+
import { CleanedJsonResult } from './json-cleaner.types';
|
|
2
|
+
import { ICleaningStrategy } from './strategies/base-cleaner.strategy';
|
|
3
|
+
/**
|
|
4
|
+
* Simplified orchestrator that coordinates parsers and cleaning strategies
|
|
5
|
+
* Delegates complex logic to specialized managers
|
|
6
|
+
*/
|
|
7
|
+
export declare class JsonCleanerOrchestrator {
|
|
8
|
+
strategies: ICleaningStrategy[];
|
|
9
|
+
fallbackStrategies: ICleaningStrategy[];
|
|
10
|
+
parsers: Array<{
|
|
11
|
+
name: string;
|
|
12
|
+
parse: (text: string) => {
|
|
13
|
+
json: string;
|
|
14
|
+
thinking: string;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Adds a parser
|
|
20
|
+
*/
|
|
21
|
+
addParser(parser: {
|
|
22
|
+
name: string;
|
|
23
|
+
parse: (text: string) => {
|
|
24
|
+
json: string;
|
|
25
|
+
thinking: string;
|
|
26
|
+
};
|
|
27
|
+
}): void;
|
|
28
|
+
/**
|
|
29
|
+
* Adds a strategy
|
|
30
|
+
*/
|
|
31
|
+
addStrategy(strategy: ICleaningStrategy, isFallback?: boolean): void;
|
|
32
|
+
/**
|
|
33
|
+
* MAIN METHOD: Processes a response (SIMPLIFIED)
|
|
34
|
+
*/
|
|
35
|
+
processResponse(response: string): CleanedJsonResult;
|
|
36
|
+
/**
|
|
37
|
+
* SIMPLIFIED main method for JSON cleaning
|
|
38
|
+
*/
|
|
39
|
+
private cleanJson;
|
|
40
|
+
/**
|
|
41
|
+
* Processes text through all parsers
|
|
42
|
+
*/
|
|
43
|
+
private processAllParsers;
|
|
44
|
+
/**
|
|
45
|
+
* Main JSON cleaning processing
|
|
46
|
+
*/
|
|
47
|
+
private processJsonCleaning;
|
|
48
|
+
/**
|
|
49
|
+
* Configuration methods
|
|
50
|
+
*/
|
|
51
|
+
static configureLogger(config: {
|
|
52
|
+
logOnly?: 'all' | 'failures' | 'none';
|
|
53
|
+
verbosity?: 'minimal' | 'standard' | 'verbose' | 'debug';
|
|
54
|
+
}): void;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=json-cleaner.orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-cleaner.orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAIvE;;;GAGG;AACH,qBAAa,uBAAuB;IAC3B,UAAU,EAAE,iBAAiB,EAAE,CAAM;IACrC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC,CAAM;;IAMtG;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,GAAG,IAAI;IAIzG;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,GAAE,OAAe,GAAG,IAAI;IAQlF;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB;IAoC3D;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuE3B;;OAEG;WACW,eAAe,CAAC,MAAM,EAAE;QACpC,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;QACtC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;KAC1D,GAAG,IAAI;CAIT"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonCleanerOrchestrator = void 0;
|
|
4
|
+
const json_cleaner_logger_1 = require("./json-cleaner-logger");
|
|
5
|
+
const json_validation_helper_1 = require("./helpers/json-validation.helper");
|
|
6
|
+
const console_logger_util_1 = require("./utils/console-logger.util");
|
|
7
|
+
/**
|
|
8
|
+
* Simplified orchestrator that coordinates parsers and cleaning strategies
|
|
9
|
+
* Delegates complex logic to specialized managers
|
|
10
|
+
*/
|
|
11
|
+
class JsonCleanerOrchestrator {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.strategies = [];
|
|
14
|
+
this.fallbackStrategies = [];
|
|
15
|
+
this.parsers = [];
|
|
16
|
+
// Initialize empty - strategies and parsers will be added via methods
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Adds a parser
|
|
20
|
+
*/
|
|
21
|
+
addParser(parser) {
|
|
22
|
+
this.parsers.push(parser);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Adds a strategy
|
|
26
|
+
*/
|
|
27
|
+
addStrategy(strategy, isFallback = false) {
|
|
28
|
+
if (isFallback) {
|
|
29
|
+
this.fallbackStrategies.push(strategy);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.strategies.push(strategy);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* MAIN METHOD: Processes a response (SIMPLIFIED)
|
|
37
|
+
*/
|
|
38
|
+
processResponse(response) {
|
|
39
|
+
const sessionId = json_cleaner_logger_1.JsonCleanerLogger.startSession(response, {
|
|
40
|
+
responseLength: response.length,
|
|
41
|
+
hasThinkTag: response.includes('<think>'),
|
|
42
|
+
});
|
|
43
|
+
try {
|
|
44
|
+
const result = this.cleanJson(response);
|
|
45
|
+
// Validate the final result
|
|
46
|
+
let success = false;
|
|
47
|
+
let errorMessage = '';
|
|
48
|
+
try {
|
|
49
|
+
JSON.parse(result.cleanedJson);
|
|
50
|
+
success = true;
|
|
51
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[JsonCleanerOrchestrator] ✅ Final JSON is valid');
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
success = false;
|
|
55
|
+
errorMessage = error instanceof Error ? error.message : String(error);
|
|
56
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[JsonCleanerOrchestrator] ❌ Final JSON is still invalid:', true, errorMessage);
|
|
57
|
+
}
|
|
58
|
+
json_cleaner_logger_1.JsonCleanerLogger.endSession(result.cleanedJson, success, errorMessage);
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
63
|
+
console.error('Error during JSON cleaning', {
|
|
64
|
+
context: 'JsonCleanerOrchestrator',
|
|
65
|
+
error: errorMsg
|
|
66
|
+
});
|
|
67
|
+
json_cleaner_logger_1.JsonCleanerLogger.endSession('', false, errorMsg);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* SIMPLIFIED main method for JSON cleaning
|
|
73
|
+
*/
|
|
74
|
+
cleanJson(response) {
|
|
75
|
+
// Extract the <think> block
|
|
76
|
+
let thinking = '';
|
|
77
|
+
const thinkMatch = response.match(/<think>([\s\S]*?)<\/think>/);
|
|
78
|
+
if (thinkMatch && thinkMatch[1]) {
|
|
79
|
+
thinking = thinkMatch[1].trim();
|
|
80
|
+
}
|
|
81
|
+
// PHASE 1: Run parsers
|
|
82
|
+
let cleanResponse = this.processAllParsers(response);
|
|
83
|
+
// PHASE 2: Validation and strategies
|
|
84
|
+
const finalJson = this.processJsonCleaning(cleanResponse);
|
|
85
|
+
return { cleanedJson: finalJson, thinking };
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Processes text through all parsers
|
|
89
|
+
*/
|
|
90
|
+
processAllParsers(input) {
|
|
91
|
+
let result = input;
|
|
92
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[ParserManager] Starting parser phase...');
|
|
93
|
+
for (const parser of this.parsers) {
|
|
94
|
+
const before = result;
|
|
95
|
+
const parseResult = parser.parse(result);
|
|
96
|
+
result = parseResult.json;
|
|
97
|
+
if (before !== result) {
|
|
98
|
+
console_logger_util_1.jsonConsole.logWithPrefix(`[ParserManager] Parser ${parser.name} made changes`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (result !== input) {
|
|
102
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[ParserManager] ✅ Parser phase completed with modifications');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[ParserManager] ℹ️ Parser phase completed with no modifications');
|
|
106
|
+
}
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Main JSON cleaning processing
|
|
111
|
+
*/
|
|
112
|
+
processJsonCleaning(cleanResponse) {
|
|
113
|
+
console.log('[OrchestrationEngine] Starting JSON cleaning process...');
|
|
114
|
+
// Quick validation
|
|
115
|
+
if (json_validation_helper_1.JsonValidationHelper.isValid(cleanResponse)) {
|
|
116
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[OrchestrationEngine] ✅ JSON is already valid after parsers');
|
|
117
|
+
return cleanResponse;
|
|
118
|
+
}
|
|
119
|
+
// Try strategies in order
|
|
120
|
+
let result = cleanResponse;
|
|
121
|
+
let context = {
|
|
122
|
+
originalInput: cleanResponse,
|
|
123
|
+
intermediateResult: result,
|
|
124
|
+
success: false,
|
|
125
|
+
modificationHistory: []
|
|
126
|
+
};
|
|
127
|
+
// Apply strategies
|
|
128
|
+
const allStrategies = [...this.strategies];
|
|
129
|
+
for (const strategy of allStrategies) {
|
|
130
|
+
if (strategy.canHandle(context)) {
|
|
131
|
+
console_logger_util_1.jsonConsole.logWithPrefix(`[OrchestrationEngine] Applying strategy: ${strategy.name}`);
|
|
132
|
+
const strategyResult = strategy.clean(context);
|
|
133
|
+
if (strategyResult.modified) {
|
|
134
|
+
result = strategyResult.output;
|
|
135
|
+
context.intermediateResult = result;
|
|
136
|
+
context.modificationHistory.push({
|
|
137
|
+
strategy: strategy.name,
|
|
138
|
+
before: context.intermediateResult,
|
|
139
|
+
after: result,
|
|
140
|
+
success: strategyResult.success
|
|
141
|
+
});
|
|
142
|
+
// Check if we're now valid
|
|
143
|
+
if (json_validation_helper_1.JsonValidationHelper.isValid(result)) {
|
|
144
|
+
console_logger_util_1.jsonConsole.logWithPrefix(`[OrchestrationEngine] ✅ Strategy ${strategy.name} produced valid JSON`);
|
|
145
|
+
context.success = true;
|
|
146
|
+
return result;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// If main strategies failed, try fallback strategies
|
|
152
|
+
if (!context.success && this.fallbackStrategies.length > 0) {
|
|
153
|
+
console_logger_util_1.jsonConsole.logWithPrefix('[OrchestrationEngine] Trying fallback strategies...');
|
|
154
|
+
for (const strategy of this.fallbackStrategies) {
|
|
155
|
+
if (strategy.canHandle(context)) {
|
|
156
|
+
console_logger_util_1.jsonConsole.logWithPrefix(`[OrchestrationEngine] Applying fallback strategy: ${strategy.name}`);
|
|
157
|
+
const strategyResult = strategy.clean(context);
|
|
158
|
+
if (strategyResult.modified) {
|
|
159
|
+
result = strategyResult.output;
|
|
160
|
+
context.intermediateResult = result;
|
|
161
|
+
}
|
|
162
|
+
// Even if fallback doesn't produce valid JSON, we use its result
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Configuration methods
|
|
171
|
+
*/
|
|
172
|
+
static configureLogger(config) {
|
|
173
|
+
// Basic configuration
|
|
174
|
+
console.log('Logger configuration updated:', config);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.JsonCleanerOrchestrator = JsonCleanerOrchestrator;
|
|
178
|
+
//# sourceMappingURL=json-cleaner.orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-cleaner.orchestrator.js","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { CleanedJsonResult } from './json-cleaner.types';
|
|
2
|
+
import { JsonCleanerOrchestrator } from './json-cleaner.orchestrator';
|
|
3
|
+
/**
|
|
4
|
+
* Main service for cleaning JSON strings
|
|
5
|
+
* Delegates complex logic to specialized helper classes with control character awareness
|
|
6
|
+
*/
|
|
7
|
+
export declare class JsonCleanerService {
|
|
8
|
+
private static orchestrator;
|
|
9
|
+
/**
|
|
10
|
+
* Initializes the JsonCleanerOrchestrator with optimized strategy order
|
|
11
|
+
*/
|
|
12
|
+
private static initialize;
|
|
13
|
+
/**
|
|
14
|
+
* Process and clean JSON using the modern Recipe System with legacy fallback
|
|
15
|
+
*/
|
|
16
|
+
static processResponseAsync(response: string): Promise<CleanedJsonResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Analyzes JSON problems using the analyzer
|
|
19
|
+
*/
|
|
20
|
+
static analyzeJsonProblems(jsonStr: string): {
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
errors: string[];
|
|
23
|
+
suggestions: string[];
|
|
24
|
+
canBeFixed: boolean;
|
|
25
|
+
severity: "low" | "medium" | "high";
|
|
26
|
+
specificIssues: {
|
|
27
|
+
hasCommaIssues: boolean;
|
|
28
|
+
hasControlCharIssues: boolean;
|
|
29
|
+
hasBracketIssues: boolean;
|
|
30
|
+
hasQuoteIssues: boolean;
|
|
31
|
+
};
|
|
32
|
+
repairStrategy: string[];
|
|
33
|
+
errorPosition?: number;
|
|
34
|
+
problemContext?: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Fixes specific problems with targeted strategies
|
|
38
|
+
*/
|
|
39
|
+
static fixSpecificProblem(jsonStr: string, problemType: 'comma' | 'control-chars' | 'quotes' | 'brackets'): string;
|
|
40
|
+
/**
|
|
41
|
+
* Configures the logger
|
|
42
|
+
*/
|
|
43
|
+
static configureLogger(config: {
|
|
44
|
+
logOnly?: 'all' | 'failures' | 'none';
|
|
45
|
+
verbosity?: 'minimal' | 'standard' | 'verbose' | 'debug';
|
|
46
|
+
}): void;
|
|
47
|
+
/**
|
|
48
|
+
* Inspects JSON for issues
|
|
49
|
+
*/
|
|
50
|
+
static inspectJson(json: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Saves JSON inspection to file
|
|
53
|
+
*/
|
|
54
|
+
static saveJsonInspection(json: string, filename?: string): Promise<string>;
|
|
55
|
+
/**
|
|
56
|
+
* Generates failure report
|
|
57
|
+
*/
|
|
58
|
+
static generateFailureReport(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Provides access to the orchestrator
|
|
61
|
+
*/
|
|
62
|
+
static getOrchestrator(): JsonCleanerOrchestrator;
|
|
63
|
+
/**
|
|
64
|
+
* Gets service statistics
|
|
65
|
+
*/
|
|
66
|
+
static getServiceStats(): {
|
|
67
|
+
initialized: boolean;
|
|
68
|
+
strategiesCount: number;
|
|
69
|
+
fallbackStrategiesCount: number;
|
|
70
|
+
parsersCount: number;
|
|
71
|
+
controlCharacterSupport: {
|
|
72
|
+
available: boolean;
|
|
73
|
+
diagnosticsEnabled: boolean;
|
|
74
|
+
quickRepairEnabled: boolean;
|
|
75
|
+
advancedRepairEnabled: boolean;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Extended service statistics with control character info
|
|
80
|
+
*/
|
|
81
|
+
static getExtendedServiceStats(): {
|
|
82
|
+
initialized: boolean;
|
|
83
|
+
strategiesCount: number;
|
|
84
|
+
fallbackStrategiesCount: number;
|
|
85
|
+
parsersCount: number;
|
|
86
|
+
controlCharacterSupport: {
|
|
87
|
+
available: boolean;
|
|
88
|
+
diagnosticsEnabled: boolean;
|
|
89
|
+
quickRepairEnabled: boolean;
|
|
90
|
+
advancedRepairEnabled: boolean;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=json-cleaner.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-cleaner.service.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAsBtE;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,YAAY,CAA0B;IAErD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAuBzB;;OAEG;WACiB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiCtF;;OAEG;WACW,mBAAmB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;IAIjD;;OAEG;WACW,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM;IAgCzH;;OAEG;WACW,eAAe,CAAC,MAAM,EAAE;QACpC,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;QACtC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;KAC1D,GAAG,IAAI;IAKR;;OAEG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C;;OAEG;WACiB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxF;;OAEG;WACW,qBAAqB,IAAI,IAAI;IAM3C;;OAEG;WACW,eAAe,IAAI,uBAAuB;IAKxD;;OAEG;WACW,eAAe;;;;;;;;;;;;IAgB7B;;OAEG;WACW,uBAAuB;;;;;;;;;;;;CAGtC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonCleanerService = void 0;
|
|
4
|
+
const json_cleaner_orchestrator_1 = require("./json-cleaner.orchestrator");
|
|
5
|
+
const json_cleaner_analyzer_1 = require("./helpers/json-cleaner.analyzer");
|
|
6
|
+
const json_validation_helper_1 = require("./helpers/json-validation.helper");
|
|
7
|
+
const json_inspector_util_1 = require("./utils/json-inspector.util");
|
|
8
|
+
const json_cleaner_logger_1 = require("./json-cleaner-logger");
|
|
9
|
+
const cleaning_engine_1 = require("./recipe-system/core/cleaning-engine");
|
|
10
|
+
const templates_1 = require("./recipe-system/recipes/templates");
|
|
11
|
+
// Import parsers
|
|
12
|
+
const think_tag_parser_1 = require("./parsers/think-tag.parser");
|
|
13
|
+
const markdown_parser_1 = require("./parsers/markdown.parser");
|
|
14
|
+
const json_extractor_parser_1 = require("./parsers/json-extractor.parser");
|
|
15
|
+
// Import strategies
|
|
16
|
+
const control_character_cleaner_1 = require("./strategies/control-character.cleaner");
|
|
17
|
+
const comma_fixer_cleaner_1 = require("./strategies/comma-fixer.cleaner");
|
|
18
|
+
const string_escaper_cleaner_1 = require("./strategies/string-escaper.cleaner");
|
|
19
|
+
const duplicate_key_cleaner_1 = require("./strategies/duplicate-key.cleaner");
|
|
20
|
+
const structural_repair_cleaner_1 = require("./strategies/structural-repair.cleaner");
|
|
21
|
+
const aggressive_cleaner_1 = require("./strategies/aggressive.cleaner");
|
|
22
|
+
/**
|
|
23
|
+
* Main service for cleaning JSON strings
|
|
24
|
+
* Delegates complex logic to specialized helper classes with control character awareness
|
|
25
|
+
*/
|
|
26
|
+
class JsonCleanerService {
|
|
27
|
+
/**
|
|
28
|
+
* Initializes the JsonCleanerOrchestrator with optimized strategy order
|
|
29
|
+
*/
|
|
30
|
+
static initialize() {
|
|
31
|
+
if (!this.orchestrator) {
|
|
32
|
+
this.orchestrator = new json_cleaner_orchestrator_1.JsonCleanerOrchestrator();
|
|
33
|
+
// Register parsers (with improved JsonExtractor)
|
|
34
|
+
this.orchestrator.addParser(new think_tag_parser_1.ThinkTagParser());
|
|
35
|
+
this.orchestrator.addParser(new markdown_parser_1.MarkdownParser());
|
|
36
|
+
this.orchestrator.addParser(new json_extractor_parser_1.JsonExtractor());
|
|
37
|
+
// Register strategies (CONTROL CHARACTER CLEANER FIRST!)
|
|
38
|
+
this.orchestrator.addStrategy(new structural_repair_cleaner_1.StructuralRepairCleaner()); // HIGHEST PRIORITY!
|
|
39
|
+
this.orchestrator.addStrategy(new control_character_cleaner_1.ControlCharacterCleaner()); // HIGH PRIORITY
|
|
40
|
+
this.orchestrator.addStrategy(new comma_fixer_cleaner_1.CommaFixerCleaner());
|
|
41
|
+
this.orchestrator.addStrategy(new string_escaper_cleaner_1.StringEscaperCleaner());
|
|
42
|
+
this.orchestrator.addStrategy(new duplicate_key_cleaner_1.DuplicateKeyCleaner());
|
|
43
|
+
// Fallback strategies
|
|
44
|
+
this.orchestrator.addStrategy(new aggressive_cleaner_1.AggressiveCleaner(), true);
|
|
45
|
+
console.info('JsonCleanerService initialized with control character awareness');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Process and clean JSON using the modern Recipe System with legacy fallback
|
|
50
|
+
*/
|
|
51
|
+
static async processResponseAsync(response) {
|
|
52
|
+
this.initialize();
|
|
53
|
+
if (!response || response.trim().length === 0) {
|
|
54
|
+
throw new Error('Empty input provided - cannot process');
|
|
55
|
+
}
|
|
56
|
+
const trimmedResponse = response.trim();
|
|
57
|
+
if (json_validation_helper_1.JsonValidationHelper.isValid(trimmedResponse)) {
|
|
58
|
+
return { cleanedJson: trimmedResponse, thinking: '' };
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
const engine = cleaning_engine_1.CleaningEngine.getInstance();
|
|
62
|
+
const suggestion = engine.analyzeAndSuggestRecipe(trimmedResponse);
|
|
63
|
+
const recipe = suggestion.recommendedRecipe === 'conservative'
|
|
64
|
+
? templates_1.RecipeTemplates.conservative()
|
|
65
|
+
: suggestion.recommendedRecipe === 'aggressive'
|
|
66
|
+
? templates_1.RecipeTemplates.aggressive()
|
|
67
|
+
: templates_1.RecipeTemplates.adaptive();
|
|
68
|
+
const result = await engine.clean(trimmedResponse, recipe, { source: 'service', mode: suggestion.recommendedRecipe });
|
|
69
|
+
if (result.success && result.cleanedJson) {
|
|
70
|
+
return { cleanedJson: result.cleanedJson, thinking: '' };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// ignore and fallback
|
|
75
|
+
}
|
|
76
|
+
const fallback = this.orchestrator.processResponse(trimmedResponse);
|
|
77
|
+
return fallback;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Analyzes JSON problems using the analyzer
|
|
81
|
+
*/
|
|
82
|
+
static analyzeJsonProblems(jsonStr) {
|
|
83
|
+
return json_cleaner_analyzer_1.JsonCleanerAnalyzer.analyzeJsonProblems(jsonStr);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Fixes specific problems with targeted strategies
|
|
87
|
+
*/
|
|
88
|
+
static fixSpecificProblem(jsonStr, problemType) {
|
|
89
|
+
this.initialize();
|
|
90
|
+
let strategy;
|
|
91
|
+
switch (problemType) {
|
|
92
|
+
case 'comma':
|
|
93
|
+
strategy = new comma_fixer_cleaner_1.CommaFixerCleaner();
|
|
94
|
+
break;
|
|
95
|
+
case 'control-chars':
|
|
96
|
+
strategy = new control_character_cleaner_1.ControlCharacterCleaner();
|
|
97
|
+
break;
|
|
98
|
+
case 'quotes':
|
|
99
|
+
strategy = new string_escaper_cleaner_1.StringEscaperCleaner();
|
|
100
|
+
break;
|
|
101
|
+
case 'brackets':
|
|
102
|
+
strategy = new aggressive_cleaner_1.AggressiveCleaner();
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
return jsonStr;
|
|
106
|
+
}
|
|
107
|
+
const context = {
|
|
108
|
+
originalInput: jsonStr,
|
|
109
|
+
intermediateResult: jsonStr,
|
|
110
|
+
success: false,
|
|
111
|
+
modificationHistory: []
|
|
112
|
+
};
|
|
113
|
+
const result = strategy.clean(context);
|
|
114
|
+
return result.output;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Configures the logger
|
|
118
|
+
*/
|
|
119
|
+
static configureLogger(config) {
|
|
120
|
+
// Basic configuration - can be extended as needed
|
|
121
|
+
console.log('Logger configuration updated:', config);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Inspects JSON for issues
|
|
125
|
+
*/
|
|
126
|
+
static inspectJson(json) {
|
|
127
|
+
return json_inspector_util_1.JsonInspector.inspectJsonForIssues(json);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Saves JSON inspection to file
|
|
131
|
+
*/
|
|
132
|
+
static async saveJsonInspection(json, filename) {
|
|
133
|
+
return json_cleaner_logger_1.JsonCleanerLogger.saveInspection(json, filename);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Generates failure report
|
|
137
|
+
*/
|
|
138
|
+
static generateFailureReport() {
|
|
139
|
+
json_cleaner_logger_1.JsonCleanerLogger.generateFailureReport();
|
|
140
|
+
}
|
|
141
|
+
// ==================== UTILITY METHODS ====================
|
|
142
|
+
/**
|
|
143
|
+
* Provides access to the orchestrator
|
|
144
|
+
*/
|
|
145
|
+
static getOrchestrator() {
|
|
146
|
+
this.initialize();
|
|
147
|
+
return this.orchestrator;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Gets service statistics
|
|
151
|
+
*/
|
|
152
|
+
static getServiceStats() {
|
|
153
|
+
this.initialize();
|
|
154
|
+
return {
|
|
155
|
+
initialized: !!this.orchestrator,
|
|
156
|
+
strategiesCount: this.orchestrator.strategies.length,
|
|
157
|
+
fallbackStrategiesCount: this.orchestrator.fallbackStrategies.length,
|
|
158
|
+
parsersCount: this.orchestrator.parsers.length,
|
|
159
|
+
controlCharacterSupport: {
|
|
160
|
+
available: true,
|
|
161
|
+
diagnosticsEnabled: true,
|
|
162
|
+
quickRepairEnabled: true,
|
|
163
|
+
advancedRepairEnabled: true
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Extended service statistics with control character info
|
|
169
|
+
*/
|
|
170
|
+
static getExtendedServiceStats() {
|
|
171
|
+
return this.getServiceStats();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.JsonCleanerService = JsonCleanerService;
|
|
175
|
+
//# sourceMappingURL=json-cleaner.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-cleaner.service.js","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.service.ts"],"names":[],"mappings":";;;AACA,2EAAsE;AACtE,2EAAsE;AACtE,6EAAwE;AACxE,qEAA4D;AAC5D,+DAA0D;AAE1D,0EAAsE;AACtE,iEAAoE;AAEpE,iBAAiB;AACjB,iEAA4D;AAC5D,+DAA2D;AAC3D,2EAAgE;AAEhE,oBAAoB;AACpB,sFAAiF;AACjF,0EAAqE;AACrE,gFAA2E;AAC3E,8EAAyE;AACzE,sFAAiF;AACjF,wEAAoE;AAEpE;;;GAGG;AACH,MAAa,kBAAkB;IAG7B;;OAEG;IACK,MAAM,CAAC,UAAU;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,mDAAuB,EAAE,CAAC;YAElD,iDAAiD;YACjD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,iCAAc,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,qCAAa,EAAE,CAAC,CAAC;YAEjD,yDAAyD;YACzD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,mDAAuB,EAAE,CAAC,CAAC,CAAC,oBAAoB;YAClF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,mDAAuB,EAAE,CAAC,CAAC,CAAC,gBAAgB;YAC9E,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,uCAAiB,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,6CAAoB,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,2CAAmB,EAAE,CAAC,CAAC;YAEzD,sBAAsB;YACtB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,sCAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;YAE7D,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,6CAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,KAAK,cAAc;gBAC5D,CAAC,CAAC,2BAAe,CAAC,YAAY,EAAE;gBAChC,CAAC,CAAC,UAAU,CAAC,iBAAiB,KAAK,YAAY;oBAC7C,CAAC,CAAC,2BAAe,CAAC,UAAU,EAAE;oBAC9B,CAAC,CAAC,2BAAe,CAAC,QAAQ,EAAE,CAAC;YAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACtH,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACzC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,OAAe;QAC/C,OAAO,2CAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,OAAe,EAAE,WAA8D;QAC9G,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,QAAQ,CAAC;QACb,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,QAAQ,GAAG,IAAI,uCAAiB,EAAE,CAAC;gBACnC,MAAM;YACR,KAAK,eAAe;gBAClB,QAAQ,GAAG,IAAI,mDAAuB,EAAE,CAAC;gBACzC,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,GAAG,IAAI,6CAAoB,EAAE,CAAC;gBACtC,MAAM;YACR,KAAK,UAAU;gBACb,QAAQ,GAAG,IAAI,sCAAiB,EAAE,CAAC;gBACnC,MAAM;YACR;gBACE,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,OAAO;YACtB,kBAAkB,EAAE,OAAO;YAC3B,OAAO,EAAE,KAAK;YACd,mBAAmB,EAAE,EAAE;SACxB,CAAC;QAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,eAAe,CAAC,MAG7B;QACC,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY;QACpC,OAAO,mCAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,QAAiB;QACpE,OAAO,uCAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,qBAAqB;QACjC,uCAAiB,CAAC,qBAAqB,EAAE,CAAC;IAC5C,CAAC;IAED,4DAA4D;IAE5D;;OAEG;IACI,MAAM,CAAC,eAAe;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,eAAe;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO;YACL,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;YAChC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM;YACpD,uBAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM;YACpE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM;YAC9C,uBAAuB,EAAE;gBACvB,SAAS,EAAE,IAAI;gBACf,kBAAkB,EAAE,IAAI;gBACxB,kBAAkB,EAAE,IAAI;gBACxB,qBAAqB,EAAE,IAAI;aAC5B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,uBAAuB;QACnC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;CACF;AA9KD,gDA8KC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result type for the JSON cleaning process
|
|
3
|
+
*/
|
|
4
|
+
export interface CleanedJsonResult {
|
|
5
|
+
/** The cleaned JSON */
|
|
6
|
+
cleanedJson: string;
|
|
7
|
+
/** Extracted content from <think> tags */
|
|
8
|
+
thinking: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Context for the cleaning process, passed between strategies
|
|
12
|
+
*/
|
|
13
|
+
export interface CleaningContext {
|
|
14
|
+
/** Original input */
|
|
15
|
+
originalInput: string;
|
|
16
|
+
/** Current intermediate result during cleaning */
|
|
17
|
+
intermediateResult: string;
|
|
18
|
+
/** Flag indicating if the process has been successful so far */
|
|
19
|
+
success: boolean;
|
|
20
|
+
/** Error message if present */
|
|
21
|
+
error?: string;
|
|
22
|
+
/** Modification history */
|
|
23
|
+
modificationHistory: Array<{
|
|
24
|
+
strategy: string;
|
|
25
|
+
before: string;
|
|
26
|
+
after: string;
|
|
27
|
+
success: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
/** Additional context information for logging and debugging */
|
|
30
|
+
additionalContext?: Record<string, any>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Result of a single cleaning strategy
|
|
34
|
+
*/
|
|
35
|
+
export interface CleaningStrategyResult {
|
|
36
|
+
/** The cleaned JSON after applying the strategy */
|
|
37
|
+
output: string;
|
|
38
|
+
/** Flag indicating if the strategy was successful */
|
|
39
|
+
success: boolean;
|
|
40
|
+
/** Error message if the strategy fails */
|
|
41
|
+
error?: string;
|
|
42
|
+
/** Flag indicating if the input was modified by the strategy */
|
|
43
|
+
modified: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Configuration options for the logger
|
|
47
|
+
*/
|
|
48
|
+
export interface LoggerConfiguration {
|
|
49
|
+
/** Whether only certain events should be logged */
|
|
50
|
+
logOnly?: 'all' | 'failures' | 'none';
|
|
51
|
+
/** Detail level of logs */
|
|
52
|
+
verbosity?: 'minimal' | 'standard' | 'verbose' | 'debug';
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Base interface for all cleaning strategies
|
|
56
|
+
*/
|
|
57
|
+
export interface CleaningStrategy {
|
|
58
|
+
/** Name of the strategy for logging */
|
|
59
|
+
name: string;
|
|
60
|
+
/** Whether this strategy can handle the given input */
|
|
61
|
+
canHandle(input: string): boolean;
|
|
62
|
+
/** Apply the cleaning strategy */
|
|
63
|
+
clean(input: string, context?: CleaningContext): CleaningStrategyResult;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Base interface for all parsers
|
|
67
|
+
*/
|
|
68
|
+
export interface Parser {
|
|
69
|
+
/** Name of the parser for logging */
|
|
70
|
+
name: string;
|
|
71
|
+
/** Whether this parser can handle the given input */
|
|
72
|
+
canParse(input: string): boolean;
|
|
73
|
+
/** Parse the input and extract JSON */
|
|
74
|
+
parse(input: string): {
|
|
75
|
+
json: string;
|
|
76
|
+
thinking: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Configuration for JSON cleaning operations
|
|
81
|
+
*/
|
|
82
|
+
export interface JsonCleaningConfig {
|
|
83
|
+
/** Maximum number of repair attempts */
|
|
84
|
+
maxRepairAttempts?: number;
|
|
85
|
+
/** Whether to enable aggressive cleaning strategies */
|
|
86
|
+
enableAggressiveCleaning?: boolean;
|
|
87
|
+
/** Custom timeout for cleaning operations */
|
|
88
|
+
timeoutMs?: number;
|
|
89
|
+
/** Logger configuration */
|
|
90
|
+
logger?: LoggerConfiguration;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=json-cleaner.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-cleaner.types.d.ts","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,mBAAmB,EAAE,KAAK,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,kCAAkC;IAClC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,uCAAuC;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-cleaner.types.js","sourceRoot":"","sources":["../../../../src/middleware/services/json-cleaner/json-cleaner.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/json-cleaner/parsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
|