├── .c8rc.json ├── .env.example ├── .gitignore ├── .mocharc.js ├── LICENSE ├── README.md ├── eslint.config.js ├── index.js ├── package.json └── src ├── config.js ├── genericProxy.js ├── handlers ├── backendLLM.js ├── chatHandler.js ├── formatDetector.js ├── nonStreamingHandler.js ├── payloadHandler.js ├── stream │ ├── formatConvertingStreamProcessor.js │ ├── ollamaStreamProcessor.js │ └── openaiStreamProcessor.js ├── streamingHandler.js └── toolCallHandler.js ├── test ├── challenges │ └── generateTests.js ├── integration │ ├── concurrentRequests.test.js │ ├── general.test.js │ ├── htmlTool.test.js │ ├── regression.test.js │ └── toolCallStreaming.test.js ├── parser │ ├── edge-cases │ │ ├── general.test.js │ │ ├── malformedXml.test.js │ │ ├── simpleDuplication.test.js │ │ ├── simpleImport.test.js │ │ ├── specialChars.test.js │ │ ├── textDuplication.test.js │ │ ├── textWithToolCall.test.js │ │ ├── whitespaceEmpty.test.js │ │ └── xmlFragmentRecovery.test.js │ ├── html │ │ ├── contentValidation.test.js │ │ ├── inToolCall.test.js │ │ └── tagDetection.test.js │ ├── llm-patterns │ │ ├── extremeEdgeCases.test.js │ │ ├── fuzzyContent.test.js │ │ ├── streamSplitting.test.js │ │ └── streamingToolCalls.test.js │ ├── tool-calls │ │ ├── edgeCases.test.js │ │ └── regression.test.js │ └── xml │ │ ├── advanced.test.js │ │ ├── basic.test.js │ │ ├── complexNesting.test.js │ │ ├── debugTool.test.js │ │ ├── general.test.js │ │ ├── mutationTesting.test.js │ │ ├── partialDetection.test.js │ │ └── propertyFuzz.test.js ├── performance │ └── memoryUsage.test.js ├── regression │ └── html-buffer-overflow.test.js ├── runners │ ├── run-all-tests.js │ ├── run-all-xml.test.js │ ├── run-html-buffer-tests.js │ ├── run-llm-pattern-tests.js │ ├── run-single-test.js │ └── run-tool-call-tests.js ├── streaming │ ├── errorHandling.test.js │ ├── html-with-tool-calls.test.js │ ├── htmlTool.test.js │ └── xml.test.js ├── unit │ ├── handlers │ │ ├── html-tag-detection.test.js │ │ └── toolCallHandler.test.js │ └── utils │ │ ├── buffer-size-limit.test.js │ │ ├── ollamaResponseConverterTest.js │ │ ├── partialToolExtraction.test.js │ │ └── xmlUtils.test.js └── utils │ ├── run-all-tests-sequential.js │ ├── testConfig.js │ └── testHelpers.js └── utils ├── configLogger.js ├── format ├── ollama │ ├── detector.js │ ├── requestConverter.js │ └── responseConverter.js └── openai │ ├── detector.js │ ├── requestConverter.js │ └── responseConverter.js ├── formatConverters.js ├── headerUtils.js ├── logger.js ├── parsingChallengeCapturer.js ├── promptUtils.js ├── requestLogger.js ├── sseUtils.js ├── streamUtils.js └── xmlUtils.js /.c8rc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/.c8rc.json -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/.env.example -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/.gitignore -------------------------------------------------------------------------------- /.mocharc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/.mocharc.js -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/README.md -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/eslint.config.js -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/index.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/package.json -------------------------------------------------------------------------------- /src/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/config.js -------------------------------------------------------------------------------- /src/genericProxy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/genericProxy.js -------------------------------------------------------------------------------- /src/handlers/backendLLM.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/backendLLM.js -------------------------------------------------------------------------------- /src/handlers/chatHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/chatHandler.js -------------------------------------------------------------------------------- /src/handlers/formatDetector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/formatDetector.js -------------------------------------------------------------------------------- /src/handlers/nonStreamingHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/nonStreamingHandler.js -------------------------------------------------------------------------------- /src/handlers/payloadHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/payloadHandler.js -------------------------------------------------------------------------------- /src/handlers/stream/formatConvertingStreamProcessor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/stream/formatConvertingStreamProcessor.js -------------------------------------------------------------------------------- /src/handlers/stream/ollamaStreamProcessor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/stream/ollamaStreamProcessor.js -------------------------------------------------------------------------------- /src/handlers/stream/openaiStreamProcessor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/stream/openaiStreamProcessor.js -------------------------------------------------------------------------------- /src/handlers/streamingHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/streamingHandler.js -------------------------------------------------------------------------------- /src/handlers/toolCallHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/handlers/toolCallHandler.js -------------------------------------------------------------------------------- /src/test/challenges/generateTests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/challenges/generateTests.js -------------------------------------------------------------------------------- /src/test/integration/concurrentRequests.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/integration/concurrentRequests.test.js -------------------------------------------------------------------------------- /src/test/integration/general.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/integration/general.test.js -------------------------------------------------------------------------------- /src/test/integration/htmlTool.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/integration/htmlTool.test.js -------------------------------------------------------------------------------- /src/test/integration/regression.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/integration/regression.test.js -------------------------------------------------------------------------------- /src/test/integration/toolCallStreaming.test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/parser/edge-cases/general.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/general.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/malformedXml.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/malformedXml.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/simpleDuplication.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/simpleDuplication.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/simpleImport.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/simpleImport.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/specialChars.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/specialChars.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/textDuplication.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/textDuplication.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/textWithToolCall.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/textWithToolCall.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/whitespaceEmpty.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/whitespaceEmpty.test.js -------------------------------------------------------------------------------- /src/test/parser/edge-cases/xmlFragmentRecovery.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/edge-cases/xmlFragmentRecovery.test.js -------------------------------------------------------------------------------- /src/test/parser/html/contentValidation.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/html/contentValidation.test.js -------------------------------------------------------------------------------- /src/test/parser/html/inToolCall.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/html/inToolCall.test.js -------------------------------------------------------------------------------- /src/test/parser/html/tagDetection.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/html/tagDetection.test.js -------------------------------------------------------------------------------- /src/test/parser/llm-patterns/extremeEdgeCases.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/llm-patterns/extremeEdgeCases.test.js -------------------------------------------------------------------------------- /src/test/parser/llm-patterns/fuzzyContent.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/llm-patterns/fuzzyContent.test.js -------------------------------------------------------------------------------- /src/test/parser/llm-patterns/streamSplitting.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/llm-patterns/streamSplitting.test.js -------------------------------------------------------------------------------- /src/test/parser/llm-patterns/streamingToolCalls.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/llm-patterns/streamingToolCalls.test.js -------------------------------------------------------------------------------- /src/test/parser/tool-calls/edgeCases.test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/parser/tool-calls/regression.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/tool-calls/regression.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/advanced.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/advanced.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/basic.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/basic.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/complexNesting.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/complexNesting.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/debugTool.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/debugTool.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/general.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/general.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/mutationTesting.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/mutationTesting.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/partialDetection.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/partialDetection.test.js -------------------------------------------------------------------------------- /src/test/parser/xml/propertyFuzz.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/parser/xml/propertyFuzz.test.js -------------------------------------------------------------------------------- /src/test/performance/memoryUsage.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/performance/memoryUsage.test.js -------------------------------------------------------------------------------- /src/test/regression/html-buffer-overflow.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/regression/html-buffer-overflow.test.js -------------------------------------------------------------------------------- /src/test/runners/run-all-tests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/runners/run-all-tests.js -------------------------------------------------------------------------------- /src/test/runners/run-all-xml.test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/runners/run-html-buffer-tests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/runners/run-html-buffer-tests.js -------------------------------------------------------------------------------- /src/test/runners/run-llm-pattern-tests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/runners/run-llm-pattern-tests.js -------------------------------------------------------------------------------- /src/test/runners/run-single-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/runners/run-single-test.js -------------------------------------------------------------------------------- /src/test/runners/run-tool-call-tests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/runners/run-tool-call-tests.js -------------------------------------------------------------------------------- /src/test/streaming/errorHandling.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/streaming/errorHandling.test.js -------------------------------------------------------------------------------- /src/test/streaming/html-with-tool-calls.test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/streaming/htmlTool.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/streaming/htmlTool.test.js -------------------------------------------------------------------------------- /src/test/streaming/xml.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/streaming/xml.test.js -------------------------------------------------------------------------------- /src/test/unit/handlers/html-tag-detection.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/unit/handlers/html-tag-detection.test.js -------------------------------------------------------------------------------- /src/test/unit/handlers/toolCallHandler.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/unit/handlers/toolCallHandler.test.js -------------------------------------------------------------------------------- /src/test/unit/utils/buffer-size-limit.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/unit/utils/buffer-size-limit.test.js -------------------------------------------------------------------------------- /src/test/unit/utils/ollamaResponseConverterTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/unit/utils/ollamaResponseConverterTest.js -------------------------------------------------------------------------------- /src/test/unit/utils/partialToolExtraction.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/unit/utils/partialToolExtraction.test.js -------------------------------------------------------------------------------- /src/test/unit/utils/xmlUtils.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/unit/utils/xmlUtils.test.js -------------------------------------------------------------------------------- /src/test/utils/run-all-tests-sequential.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/utils/run-all-tests-sequential.js -------------------------------------------------------------------------------- /src/test/utils/testConfig.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/utils/testConfig.js -------------------------------------------------------------------------------- /src/test/utils/testHelpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/test/utils/testHelpers.js -------------------------------------------------------------------------------- /src/utils/configLogger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/configLogger.js -------------------------------------------------------------------------------- /src/utils/format/ollama/detector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/format/ollama/detector.js -------------------------------------------------------------------------------- /src/utils/format/ollama/requestConverter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/format/ollama/requestConverter.js -------------------------------------------------------------------------------- /src/utils/format/ollama/responseConverter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/format/ollama/responseConverter.js -------------------------------------------------------------------------------- /src/utils/format/openai/detector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/format/openai/detector.js -------------------------------------------------------------------------------- /src/utils/format/openai/requestConverter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/format/openai/requestConverter.js -------------------------------------------------------------------------------- /src/utils/format/openai/responseConverter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/format/openai/responseConverter.js -------------------------------------------------------------------------------- /src/utils/formatConverters.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/formatConverters.js -------------------------------------------------------------------------------- /src/utils/headerUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/headerUtils.js -------------------------------------------------------------------------------- /src/utils/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/logger.js -------------------------------------------------------------------------------- /src/utils/parsingChallengeCapturer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/parsingChallengeCapturer.js -------------------------------------------------------------------------------- /src/utils/promptUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/promptUtils.js -------------------------------------------------------------------------------- /src/utils/requestLogger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/requestLogger.js -------------------------------------------------------------------------------- /src/utils/sseUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/sseUtils.js -------------------------------------------------------------------------------- /src/utils/streamUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/streamUtils.js -------------------------------------------------------------------------------- /src/utils/xmlUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oct4Pie/toolbridge/HEAD/src/utils/xmlUtils.js --------------------------------------------------------------------------------