@juspay/neurolink 11.13.0 → 11.13.2
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/CHANGELOG.md +2 -6
- package/dist/browser/neurolink.min.js +681 -842
- package/dist/cli/commands/agent.js +2 -2
- package/dist/cli/commands/auth.d.ts +1 -1
- package/dist/cli/commands/auth.js +11 -11
- package/dist/cli/commands/authProviders.d.ts +1 -1
- package/dist/cli/commands/authProviders.js +2 -2
- package/dist/cli/commands/autoresearch.js +5 -5
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.js +4 -4
- package/dist/cli/commands/docs.d.ts +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -1
- package/dist/cli/commands/evaluate.js +4 -4
- package/dist/cli/commands/mcp.js +14 -14
- package/dist/cli/commands/models.js +3 -3
- package/dist/cli/commands/observability.d.ts +1 -1
- package/dist/cli/commands/observability.js +3 -3
- package/dist/cli/commands/ollama.js +1 -1
- package/dist/cli/commands/proxy.d.ts +2 -2
- package/dist/cli/commands/proxy.js +45 -45
- package/dist/cli/commands/proxyAnalyze.d.ts +1 -1
- package/dist/cli/commands/proxyAnalyze.js +2 -2
- package/dist/cli/commands/proxyReplay.d.ts +1 -1
- package/dist/cli/commands/proxyReplay.js +2 -2
- package/dist/cli/commands/rag.js +10 -10
- package/dist/cli/commands/serve.js +7 -7
- package/dist/cli/commands/server.js +6 -6
- package/dist/cli/commands/setup-anthropic.d.ts +1 -1
- package/dist/cli/commands/setup-anthropic.js +3 -3
- package/dist/cli/commands/setup-azure.d.ts +1 -1
- package/dist/cli/commands/setup-azure.js +3 -3
- package/dist/cli/commands/setup-bedrock.d.ts +1 -1
- package/dist/cli/commands/setup-bedrock.js +3 -3
- package/dist/cli/commands/setup-gcp.d.ts +1 -1
- package/dist/cli/commands/setup-gcp.js +1 -1
- package/dist/cli/commands/setup-google-ai.d.ts +1 -1
- package/dist/cli/commands/setup-google-ai.js +4 -4
- package/dist/cli/commands/setup-huggingface.d.ts +1 -1
- package/dist/cli/commands/setup-huggingface.js +1 -1
- package/dist/cli/commands/setup-mistral.d.ts +1 -1
- package/dist/cli/commands/setup-mistral.js +3 -3
- package/dist/cli/commands/setup-openai.d.ts +1 -1
- package/dist/cli/commands/setup-openai.js +3 -3
- package/dist/cli/commands/setup.d.ts +1 -1
- package/dist/cli/commands/setup.js +4 -4
- package/dist/cli/commands/task.js +4 -4
- package/dist/cli/commands/telemetry.d.ts +1 -1
- package/dist/cli/commands/telemetry.js +4 -4
- package/dist/cli/commands/voiceServer.d.ts +1 -1
- package/dist/cli/commands/voiceServer.js +6 -2
- package/dist/cli/commands/workflow.js +5 -5
- package/dist/cli/errorHandler.js +3 -3
- package/dist/cli/factories/commandFactory.js +13 -13
- package/dist/cli/factories/ollamaCommandFactory.js +3 -3
- package/dist/cli/factories/sagemakerCommandFactory.js +5 -5
- package/dist/cli/index.js +1 -1
- package/dist/cli/loop/conversationSelector.d.ts +1 -1
- package/dist/cli/loop/conversationSelector.js +3 -3
- package/dist/cli/loop/optionsSchema.d.ts +1 -1
- package/dist/cli/loop/optionsSchema.js +1 -1
- package/dist/cli/loop/session.d.ts +1 -1
- package/dist/cli/loop/session.js +6 -6
- package/dist/cli/parser.js +10 -2
- package/dist/cli/proxy-clients/claudeCode.d.ts +1 -1
- package/dist/cli/proxy-clients/claudeCode.js +1 -1
- package/dist/cli/proxy-clients/codex.d.ts +1 -1
- package/dist/cli/proxy-clients/codex.js +1 -1
- package/dist/cli/proxy-clients/copilot.d.ts +1 -1
- package/dist/cli/proxy-clients/copilot.js +1 -1
- package/dist/cli/proxy-clients/openCode.d.ts +1 -1
- package/dist/cli/proxy-clients/openCode.js +1 -1
- package/dist/cli/proxy-clients/qwenCode.d.ts +1 -1
- package/dist/cli/proxy-clients/qwenCode.js +1 -1
- package/dist/cli/proxy-clients/registry.d.ts +1 -1
- package/dist/cli/proxy-clients/registry.js +1 -1
- package/dist/cli/utils/audioFileUtils.d.ts +1 -1
- package/dist/cli/utils/audioPlayer.d.ts +1 -1
- package/dist/cli/utils/classifierRouterFlags.d.ts +1 -1
- package/dist/cli/utils/classifierRouterFlags.js +1 -1
- package/dist/cli/utils/completeSetup.d.ts +1 -1
- package/dist/cli/utils/completeSetup.js +1 -1
- package/dist/cli/utils/envManager.d.ts +1 -1
- package/dist/cli/utils/envManager.js +1 -1
- package/dist/cli/utils/inputValidation.js +2 -2
- package/dist/cli/utils/interactiveSetup.d.ts +2 -2
- package/dist/cli/utils/interactiveSetup.js +3 -3
- package/dist/cli/utils/ollamaUtils.d.ts +1 -1
- package/dist/cli/utils/ollamaUtils.js +1 -1
- package/dist/cli/utils/skillsFlags.d.ts +1 -1
- package/dist/cli/utils/toolRoutingFlags.d.ts +1 -1
- package/dist/cli/utils/toolRoutingFlags.js +1 -1
- package/dist/cli/utils/videoFileUtils.d.ts +1 -1
- package/dist/processors/data/XmlProcessor.d.ts +14 -0
- package/dist/processors/data/XmlProcessor.js +14 -0
- package/dist/processors/document/PptxProcessor.d.ts +9 -0
- package/dist/processors/document/PptxProcessor.js +9 -0
- package/dist/processors/media/VideoProcessor.js +30 -2
- package/dist/providers/amazonBedrock/client.js +1 -2
- package/dist/providers/googleVertex/index.d.ts +0 -1
- package/dist/providers/googleVertex/index.js +0 -1
- package/dist/rag/document/loaders.js +49 -21
- package/dist/server/abstract/baseServerAdapter.d.ts +13 -0
- package/dist/server/abstract/baseServerAdapter.js +39 -1
- package/dist/server/adapters/expressAdapter.js +15 -5
- package/dist/server/adapters/fastifyAdapter.js +15 -5
- package/dist/server/adapters/koaAdapter.js +16 -6
- package/dist/types/generate.d.ts +7 -0
- package/dist/types/stream.d.ts +1 -1
- package/docs-site/mcp-server/search.js +20 -12
- package/docs-site/mcp-server/types.d.ts +12 -5
- package/docs-site/static/search-index.json +1 -0
- package/package.json +16 -16
- package/dist/lib/action/actionExecutor.d.ts +0 -29
- package/dist/lib/action/actionExecutor.js +0 -291
- package/dist/lib/action/actionInputs.d.ts +0 -25
- package/dist/lib/action/actionInputs.js +0 -294
- package/dist/lib/action/githubIntegration.d.ts +0 -21
- package/dist/lib/action/githubIntegration.js +0 -188
- package/dist/lib/action/index.d.ts +0 -7
- package/dist/lib/action/index.js +0 -13
- package/dist/lib/adapters/audioFormatSupport.d.ts +0 -53
- package/dist/lib/adapters/audioFormatSupport.js +0 -201
- package/dist/lib/adapters/imageFormatSupport.d.ts +0 -75
- package/dist/lib/adapters/imageFormatSupport.js +0 -284
- package/dist/lib/adapters/providerImageAdapter.d.ts +0 -51
- package/dist/lib/adapters/providerImageAdapter.js +0 -704
- package/dist/lib/adapters/replicate/auth.d.ts +0 -19
- package/dist/lib/adapters/replicate/auth.js +0 -33
- package/dist/lib/adapters/replicate/predictionLifecycle.d.ts +0 -46
- package/dist/lib/adapters/replicate/predictionLifecycle.js +0 -289
- package/dist/lib/adapters/tts/cartesiaHandler.d.ts +0 -12
- package/dist/lib/adapters/tts/cartesiaHandler.js +0 -131
- package/dist/lib/adapters/tts/googleTTSHandler.d.ts +0 -97
- package/dist/lib/adapters/tts/googleTTSHandler.js +0 -353
- package/dist/lib/adapters/video/directorPipeline.d.ts +0 -31
- package/dist/lib/adapters/video/directorPipeline.js +0 -523
- package/dist/lib/adapters/video/ffmpegAdapter.d.ts +0 -84
- package/dist/lib/adapters/video/ffmpegAdapter.js +0 -207
- package/dist/lib/adapters/video/frameExtractor.d.ts +0 -28
- package/dist/lib/adapters/video/frameExtractor.js +0 -144
- package/dist/lib/adapters/video/klingVideoHandler.d.ts +0 -37
- package/dist/lib/adapters/video/klingVideoHandler.js +0 -306
- package/dist/lib/adapters/video/replicateVideoHandler.d.ts +0 -29
- package/dist/lib/adapters/video/replicateVideoHandler.js +0 -168
- package/dist/lib/adapters/video/runwayVideoHandler.d.ts +0 -32
- package/dist/lib/adapters/video/runwayVideoHandler.js +0 -317
- package/dist/lib/adapters/video/vertexVideoHandler.d.ts +0 -119
- package/dist/lib/adapters/video/vertexVideoHandler.js +0 -804
- package/dist/lib/adapters/video/videoAnalyzer.d.ts +0 -26
- package/dist/lib/adapters/video/videoAnalyzer.js +0 -239
- package/dist/lib/adapters/video/videoMerger.d.ts +0 -22
- package/dist/lib/adapters/video/videoMerger.js +0 -172
- package/dist/lib/agent/agent.d.ts +0 -104
- package/dist/lib/agent/agent.js +0 -433
- package/dist/lib/agent/agentNetwork.d.ts +0 -87
- package/dist/lib/agent/agentNetwork.js +0 -501
- package/dist/lib/agent/agentToolRegistrar.d.ts +0 -48
- package/dist/lib/agent/agentToolRegistrar.js +0 -337
- package/dist/lib/agent/communication/index.d.ts +0 -9
- package/dist/lib/agent/communication/index.js +0 -10
- package/dist/lib/agent/communication/message-bus.d.ts +0 -113
- package/dist/lib/agent/communication/message-bus.js +0 -407
- package/dist/lib/agent/coordination/coordinator.d.ts +0 -83
- package/dist/lib/agent/coordination/coordinator.js +0 -599
- package/dist/lib/agent/coordination/index.d.ts +0 -10
- package/dist/lib/agent/coordination/index.js +0 -11
- package/dist/lib/agent/coordination/task-distributor.d.ts +0 -113
- package/dist/lib/agent/coordination/task-distributor.js +0 -586
- package/dist/lib/agent/directTools.d.ts +0 -306
- package/dist/lib/agent/directTools.js +0 -907
- package/dist/lib/agent/index.d.ts +0 -41
- package/dist/lib/agent/index.js +0 -49
- package/dist/lib/agent/isolatedAgentRunner.d.ts +0 -73
- package/dist/lib/agent/isolatedAgentRunner.js +0 -947
- package/dist/lib/agent/orchestration/index.d.ts +0 -10
- package/dist/lib/agent/orchestration/index.js +0 -11
- package/dist/lib/agent/orchestration/orchestrator.d.ts +0 -114
- package/dist/lib/agent/orchestration/orchestrator.js +0 -479
- package/dist/lib/agent/orchestration/topology.d.ts +0 -164
- package/dist/lib/agent/orchestration/topology.js +0 -521
- package/dist/lib/agent/prompts/routingPrompts.d.ts +0 -63
- package/dist/lib/agent/prompts/routingPrompts.js +0 -202
- package/dist/lib/agent/structuredRecovery.d.ts +0 -30
- package/dist/lib/agent/structuredRecovery.js +0 -105
- package/dist/lib/analytics/index.d.ts +0 -7
- package/dist/lib/analytics/index.js +0 -8
- package/dist/lib/analytics/parseQualityScore.d.ts +0 -9
- package/dist/lib/analytics/parseQualityScore.js +0 -30
- package/dist/lib/analytics/pricing.d.ts +0 -27
- package/dist/lib/analytics/pricing.js +0 -42
- package/dist/lib/analytics/service.d.ts +0 -36
- package/dist/lib/analytics/service.js +0 -394
- package/dist/lib/analytics/storage.d.ts +0 -19
- package/dist/lib/analytics/storage.js +0 -33
- package/dist/lib/artifacts/artifactStore.d.ts +0 -55
- package/dist/lib/artifacts/artifactStore.js +0 -145
- package/dist/lib/auth/AuthProviderFactory.d.ts +0 -69
- package/dist/lib/auth/AuthProviderFactory.js +0 -112
- package/dist/lib/auth/AuthProviderRegistry.d.ts +0 -33
- package/dist/lib/auth/AuthProviderRegistry.js +0 -191
- package/dist/lib/auth/RequestContext.d.ts +0 -23
- package/dist/lib/auth/RequestContext.js +0 -79
- package/dist/lib/auth/accountPool.d.ts +0 -68
- package/dist/lib/auth/accountPool.js +0 -179
- package/dist/lib/auth/anthropicOAuth.d.ts +0 -400
- package/dist/lib/auth/anthropicOAuth.js +0 -1143
- package/dist/lib/auth/authContext.d.ts +0 -198
- package/dist/lib/auth/authContext.js +0 -315
- package/dist/lib/auth/codexOAuth.d.ts +0 -67
- package/dist/lib/auth/codexOAuth.js +0 -203
- package/dist/lib/auth/errors.d.ts +0 -63
- package/dist/lib/auth/errors.js +0 -40
- package/dist/lib/auth/index.d.ts +0 -41
- package/dist/lib/auth/index.js +0 -86
- package/dist/lib/auth/middleware/AuthMiddleware.d.ts +0 -127
- package/dist/lib/auth/middleware/AuthMiddleware.js +0 -523
- package/dist/lib/auth/middleware/rateLimitByUser.d.ts +0 -193
- package/dist/lib/auth/middleware/rateLimitByUser.js +0 -559
- package/dist/lib/auth/providers/BaseAuthProvider.d.ts +0 -259
- package/dist/lib/auth/providers/BaseAuthProvider.js +0 -724
- package/dist/lib/auth/providers/CognitoProvider.d.ts +0 -61
- package/dist/lib/auth/providers/CognitoProvider.js +0 -308
- package/dist/lib/auth/providers/KeycloakProvider.d.ts +0 -61
- package/dist/lib/auth/providers/KeycloakProvider.js +0 -396
- package/dist/lib/auth/providers/auth0.d.ts +0 -59
- package/dist/lib/auth/providers/auth0.js +0 -275
- package/dist/lib/auth/providers/betterAuth.d.ts +0 -51
- package/dist/lib/auth/providers/betterAuth.js +0 -183
- package/dist/lib/auth/providers/clerk.d.ts +0 -65
- package/dist/lib/auth/providers/clerk.js +0 -318
- package/dist/lib/auth/providers/custom.d.ts +0 -64
- package/dist/lib/auth/providers/custom.js +0 -113
- package/dist/lib/auth/providers/firebase.d.ts +0 -63
- package/dist/lib/auth/providers/firebase.js +0 -231
- package/dist/lib/auth/providers/jwt.d.ts +0 -68
- package/dist/lib/auth/providers/jwt.js +0 -217
- package/dist/lib/auth/providers/oauth2.d.ts +0 -73
- package/dist/lib/auth/providers/oauth2.js +0 -304
- package/dist/lib/auth/providers/supabase.d.ts +0 -63
- package/dist/lib/auth/providers/supabase.js +0 -260
- package/dist/lib/auth/providers/workos.d.ts +0 -61
- package/dist/lib/auth/providers/workos.js +0 -289
- package/dist/lib/auth/serverBridge.d.ts +0 -14
- package/dist/lib/auth/serverBridge.js +0 -26
- package/dist/lib/auth/sessionManager.d.ts +0 -118
- package/dist/lib/auth/sessionManager.js +0 -511
- package/dist/lib/auth/tokenStore.d.ts +0 -283
- package/dist/lib/auth/tokenStore.js +0 -929
- package/dist/lib/autoresearch/config.d.ts +0 -11
- package/dist/lib/autoresearch/config.js +0 -109
- package/dist/lib/autoresearch/errors.d.ts +0 -40
- package/dist/lib/autoresearch/errors.js +0 -21
- package/dist/lib/autoresearch/index.d.ts +0 -23
- package/dist/lib/autoresearch/index.js +0 -35
- package/dist/lib/autoresearch/phasePolicy.d.ts +0 -9
- package/dist/lib/autoresearch/phasePolicy.js +0 -70
- package/dist/lib/autoresearch/promptCompiler.d.ts +0 -15
- package/dist/lib/autoresearch/promptCompiler.js +0 -121
- package/dist/lib/autoresearch/repoPolicy.d.ts +0 -32
- package/dist/lib/autoresearch/repoPolicy.js +0 -129
- package/dist/lib/autoresearch/resultRecorder.d.ts +0 -20
- package/dist/lib/autoresearch/resultRecorder.js +0 -131
- package/dist/lib/autoresearch/runner.d.ts +0 -10
- package/dist/lib/autoresearch/runner.js +0 -109
- package/dist/lib/autoresearch/stateStore.d.ts +0 -12
- package/dist/lib/autoresearch/stateStore.js +0 -164
- package/dist/lib/autoresearch/summaryParser.d.ts +0 -16
- package/dist/lib/autoresearch/summaryParser.js +0 -95
- package/dist/lib/autoresearch/tools.d.ts +0 -27
- package/dist/lib/autoresearch/tools.js +0 -618
- package/dist/lib/autoresearch/worker.d.ts +0 -71
- package/dist/lib/autoresearch/worker.js +0 -418
- package/dist/lib/avatar/index.d.ts +0 -26
- package/dist/lib/avatar/index.js +0 -86
- package/dist/lib/avatar/providers/DIDAvatar.d.ts +0 -49
- package/dist/lib/avatar/providers/DIDAvatar.js +0 -502
- package/dist/lib/avatar/providers/HeyGenAvatar.d.ts +0 -30
- package/dist/lib/avatar/providers/HeyGenAvatar.js +0 -338
- package/dist/lib/avatar/providers/ReplicateAvatar.d.ts +0 -36
- package/dist/lib/avatar/providers/ReplicateAvatar.js +0 -268
- package/dist/lib/client/aiSdkAdapter.d.ts +0 -196
- package/dist/lib/client/aiSdkAdapter.js +0 -498
- package/dist/lib/client/auth.d.ts +0 -248
- package/dist/lib/client/auth.js +0 -469
- package/dist/lib/client/errors.d.ts +0 -298
- package/dist/lib/client/errors.js +0 -553
- package/dist/lib/client/httpClient.d.ts +0 -296
- package/dist/lib/client/httpClient.js +0 -851
- package/dist/lib/client/index.d.ts +0 -103
- package/dist/lib/client/index.js +0 -174
- package/dist/lib/client/interceptors.d.ts +0 -207
- package/dist/lib/client/interceptors.js +0 -620
- package/dist/lib/client/reactHooks.d.ts +0 -238
- package/dist/lib/client/reactHooks.js +0 -1168
- package/dist/lib/client/sseClient.d.ts +0 -115
- package/dist/lib/client/sseClient.js +0 -575
- package/dist/lib/client/streamingClient.d.ts +0 -255
- package/dist/lib/client/streamingClient.js +0 -963
- package/dist/lib/client/wsClient.d.ts +0 -127
- package/dist/lib/client/wsClient.js +0 -450
- package/dist/lib/config/configManager.d.ts +0 -60
- package/dist/lib/config/configManager.js +0 -304
- package/dist/lib/config/conversationMemory.d.ts +0 -51
- package/dist/lib/config/conversationMemory.js +0 -87
- package/dist/lib/config/modelSpecificPrompts.d.ts +0 -9
- package/dist/lib/config/modelSpecificPrompts.js +0 -39
- package/dist/lib/config/taskClassificationConfig.d.ts +0 -51
- package/dist/lib/config/taskClassificationConfig.js +0 -149
- package/dist/lib/constants/contextWindows.d.ts +0 -89
- package/dist/lib/constants/contextWindows.js +0 -568
- package/dist/lib/constants/enums.d.ts +0 -979
- package/dist/lib/constants/enums.js +0 -1247
- package/dist/lib/constants/index.d.ts +0 -184
- package/dist/lib/constants/index.js +0 -209
- package/dist/lib/constants/networkErrorCodes.d.ts +0 -14
- package/dist/lib/constants/networkErrorCodes.js +0 -22
- package/dist/lib/constants/performance.d.ts +0 -366
- package/dist/lib/constants/performance.js +0 -390
- package/dist/lib/constants/retry.d.ts +0 -224
- package/dist/lib/constants/retry.js +0 -267
- package/dist/lib/constants/timeouts.d.ts +0 -225
- package/dist/lib/constants/timeouts.js +0 -183
- package/dist/lib/constants/tokens.d.ts +0 -294
- package/dist/lib/constants/tokens.js +0 -381
- package/dist/lib/constants/videoErrors.d.ts +0 -49
- package/dist/lib/constants/videoErrors.js +0 -51
- package/dist/lib/context/anthropicLoopGuard.d.ts +0 -47
- package/dist/lib/context/anthropicLoopGuard.js +0 -186
- package/dist/lib/context/budgetChecker.d.ts +0 -33
- package/dist/lib/context/budgetChecker.js +0 -132
- package/dist/lib/context/contextCompactor.d.ts +0 -19
- package/dist/lib/context/contextCompactor.js +0 -258
- package/dist/lib/context/effectiveHistory.d.ts +0 -52
- package/dist/lib/context/effectiveHistory.js +0 -106
- package/dist/lib/context/emergencyTruncation.d.ts +0 -21
- package/dist/lib/context/emergencyTruncation.js +0 -89
- package/dist/lib/context/errorDetection.d.ts +0 -36
- package/dist/lib/context/errorDetection.js +0 -190
- package/dist/lib/context/errors.d.ts +0 -19
- package/dist/lib/context/errors.js +0 -22
- package/dist/lib/context/fileSummarizationService.d.ts +0 -45
- package/dist/lib/context/fileSummarizationService.js +0 -256
- package/dist/lib/context/fileSummarizer.d.ts +0 -55
- package/dist/lib/context/fileSummarizer.js +0 -146
- package/dist/lib/context/fileTokenBudget.d.ts +0 -52
- package/dist/lib/context/fileTokenBudget.js +0 -128
- package/dist/lib/context/geminiLoopGuard.d.ts +0 -54
- package/dist/lib/context/geminiLoopGuard.js +0 -141
- package/dist/lib/context/loopGuardCore.d.ts +0 -43
- package/dist/lib/context/loopGuardCore.js +0 -146
- package/dist/lib/context/openaiCompatLoopGuard.d.ts +0 -42
- package/dist/lib/context/openaiCompatLoopGuard.js +0 -173
- package/dist/lib/context/prompts/summarizationPrompt.d.ts +0 -16
- package/dist/lib/context/prompts/summarizationPrompt.js +0 -118
- package/dist/lib/context/stages/fileReadDeduplicator.d.ts +0 -8
- package/dist/lib/context/stages/fileReadDeduplicator.js +0 -67
- package/dist/lib/context/stages/slidingWindowTruncator.d.ts +0 -15
- package/dist/lib/context/stages/slidingWindowTruncator.js +0 -237
- package/dist/lib/context/stages/structuredSummarizer.d.ts +0 -8
- package/dist/lib/context/stages/structuredSummarizer.js +0 -123
- package/dist/lib/context/stages/toolOutputPruner.d.ts +0 -8
- package/dist/lib/context/stages/toolOutputPruner.js +0 -53
- package/dist/lib/context/stepBudgetGuard.d.ts +0 -61
- package/dist/lib/context/stepBudgetGuard.js +0 -358
- package/dist/lib/context/summarizationEngine.d.ts +0 -45
- package/dist/lib/context/summarizationEngine.js +0 -162
- package/dist/lib/context/toolOutputLimits.d.ts +0 -36
- package/dist/lib/context/toolOutputLimits.js +0 -95
- package/dist/lib/context/toolPairRepair.d.ts +0 -43
- package/dist/lib/context/toolPairRepair.js +0 -242
- package/dist/lib/core/analytics.d.ts +0 -11
- package/dist/lib/core/analytics.js +0 -117
- package/dist/lib/core/baseProvider.d.ts +0 -500
- package/dist/lib/core/baseProvider.js +0 -2081
- package/dist/lib/core/constants.d.ts +0 -146
- package/dist/lib/core/constants.js +0 -278
- package/dist/lib/core/conversationMemoryFactory.d.ts +0 -19
- package/dist/lib/core/conversationMemoryFactory.js +0 -147
- package/dist/lib/core/conversationMemoryInitializer.d.ts +0 -14
- package/dist/lib/core/conversationMemoryInitializer.js +0 -129
- package/dist/lib/core/conversationMemoryManager.d.ts +0 -110
- package/dist/lib/core/conversationMemoryManager.js +0 -471
- package/dist/lib/core/dynamicModels.d.ts +0 -89
- package/dist/lib/core/dynamicModels.js +0 -337
- package/dist/lib/core/evaluation.d.ts +0 -18
- package/dist/lib/core/evaluation.js +0 -310
- package/dist/lib/core/evaluationProviders.d.ts +0 -60
- package/dist/lib/core/evaluationProviders.js +0 -249
- package/dist/lib/core/factory.d.ts +0 -54
- package/dist/lib/core/factory.js +0 -364
- package/dist/lib/core/geminiLoopAdapter.d.ts +0 -20
- package/dist/lib/core/geminiLoopAdapter.js +0 -171
- package/dist/lib/core/handlerRegistry.d.ts +0 -29
- package/dist/lib/core/handlerRegistry.js +0 -62
- package/dist/lib/core/infrastructure/baseError.d.ts +0 -21
- package/dist/lib/core/infrastructure/baseError.js +0 -23
- package/dist/lib/core/infrastructure/baseFactory.d.ts +0 -16
- package/dist/lib/core/infrastructure/baseFactory.js +0 -55
- package/dist/lib/core/infrastructure/baseRegistry.d.ts +0 -19
- package/dist/lib/core/infrastructure/baseRegistry.js +0 -54
- package/dist/lib/core/infrastructure/index.d.ts +0 -5
- package/dist/lib/core/infrastructure/index.js +0 -6
- package/dist/lib/core/infrastructure/retry.d.ts +0 -2
- package/dist/lib/core/infrastructure/retry.js +0 -21
- package/dist/lib/core/infrastructure/typedEventEmitter.d.ts +0 -8
- package/dist/lib/core/infrastructure/typedEventEmitter.js +0 -24
- package/dist/lib/core/loopEngine.d.ts +0 -21
- package/dist/lib/core/loopEngine.js +0 -272
- package/dist/lib/core/modelConfiguration.d.ts +0 -179
- package/dist/lib/core/modelConfiguration.js +0 -549
- package/dist/lib/core/modules/GenerationHandler.d.ts +0 -135
- package/dist/lib/core/modules/GenerationHandler.js +0 -1028
- package/dist/lib/core/modules/MessageBuilder.d.ts +0 -24
- package/dist/lib/core/modules/MessageBuilder.js +0 -311
- package/dist/lib/core/modules/StreamHandler.d.ts +0 -70
- package/dist/lib/core/modules/StreamHandler.js +0 -229
- package/dist/lib/core/modules/TelemetryHandler.d.ts +0 -70
- package/dist/lib/core/modules/TelemetryHandler.js +0 -229
- package/dist/lib/core/modules/ToolsManager.d.ts +0 -105
- package/dist/lib/core/modules/ToolsManager.js +0 -737
- package/dist/lib/core/modules/Utilities.d.ts +0 -90
- package/dist/lib/core/modules/Utilities.js +0 -347
- package/dist/lib/core/modules/structuredOutputPolicy.d.ts +0 -91
- package/dist/lib/core/modules/structuredOutputPolicy.js +0 -136
- package/dist/lib/core/nativeToolFormat.d.ts +0 -33
- package/dist/lib/core/nativeToolFormat.js +0 -31
- package/dist/lib/core/redisConversationMemoryManager.d.ts +0 -235
- package/dist/lib/core/redisConversationMemoryManager.js +0 -1724
- package/dist/lib/core/serviceRegistry.d.ts +0 -40
- package/dist/lib/core/serviceRegistry.js +0 -113
- package/dist/lib/core/streamAnalytics.d.ts +0 -27
- package/dist/lib/core/streamAnalytics.js +0 -132
- package/dist/lib/core/streamChannel.d.ts +0 -10
- package/dist/lib/core/streamChannel.js +0 -77
- package/dist/lib/core/toolDedup.d.ts +0 -51
- package/dist/lib/core/toolDedup.js +0 -197
- package/dist/lib/core/toolEvents.d.ts +0 -2
- package/dist/lib/core/toolEvents.js +0 -8
- package/dist/lib/core/toolExecutionRecorder.d.ts +0 -76
- package/dist/lib/core/toolExecutionRecorder.js +0 -261
- package/dist/lib/core/toolRouting.d.ts +0 -68
- package/dist/lib/core/toolRouting.js +0 -496
- package/dist/lib/core/toolRoutingCache.d.ts +0 -64
- package/dist/lib/core/toolRoutingCache.js +0 -155
- package/dist/lib/core/toolRoutingEmbedding.d.ts +0 -112
- package/dist/lib/core/toolRoutingEmbedding.js +0 -323
- package/dist/lib/dynamic/dynamicResolver.d.ts +0 -282
- package/dist/lib/dynamic/dynamicResolver.js +0 -634
- package/dist/lib/dynamic/index.d.ts +0 -10
- package/dist/lib/dynamic/index.js +0 -13
- package/dist/lib/dynamic/resolution.d.ts +0 -17
- package/dist/lib/dynamic/resolution.js +0 -22
- package/dist/lib/evaluation/BatchEvaluator.d.ts +0 -65
- package/dist/lib/evaluation/BatchEvaluator.js +0 -271
- package/dist/lib/evaluation/EvaluationAggregator.d.ts +0 -156
- package/dist/lib/evaluation/EvaluationAggregator.js +0 -378
- package/dist/lib/evaluation/EvaluatorFactory.d.ts +0 -102
- package/dist/lib/evaluation/EvaluatorFactory.js +0 -281
- package/dist/lib/evaluation/EvaluatorRegistry.d.ts +0 -111
- package/dist/lib/evaluation/EvaluatorRegistry.js +0 -185
- package/dist/lib/evaluation/contextBuilder.d.ts +0 -44
- package/dist/lib/evaluation/contextBuilder.js +0 -132
- package/dist/lib/evaluation/errors/EvaluationError.d.ts +0 -161
- package/dist/lib/evaluation/errors/EvaluationError.js +0 -207
- package/dist/lib/evaluation/errors/index.d.ts +0 -4
- package/dist/lib/evaluation/errors/index.js +0 -5
- package/dist/lib/evaluation/hooks/index.d.ts +0 -6
- package/dist/lib/evaluation/hooks/index.js +0 -7
- package/dist/lib/evaluation/hooks/langfuseAdapter.d.ts +0 -62
- package/dist/lib/evaluation/hooks/langfuseAdapter.js +0 -173
- package/dist/lib/evaluation/hooks/observabilityHooks.d.ts +0 -77
- package/dist/lib/evaluation/hooks/observabilityHooks.js +0 -187
- package/dist/lib/evaluation/index.d.ts +0 -41
- package/dist/lib/evaluation/index.js +0 -78
- package/dist/lib/evaluation/pipeline/evaluationPipeline.d.ts +0 -83
- package/dist/lib/evaluation/pipeline/evaluationPipeline.js +0 -397
- package/dist/lib/evaluation/pipeline/index.d.ts +0 -8
- package/dist/lib/evaluation/pipeline/index.js +0 -9
- package/dist/lib/evaluation/pipeline/pipelineBuilder.d.ts +0 -126
- package/dist/lib/evaluation/pipeline/pipelineBuilder.js +0 -261
- package/dist/lib/evaluation/pipeline/presets.d.ts +0 -66
- package/dist/lib/evaluation/pipeline/presets.js +0 -225
- package/dist/lib/evaluation/pipeline/strategies/batchStrategy.d.ts +0 -46
- package/dist/lib/evaluation/pipeline/strategies/batchStrategy.js +0 -242
- package/dist/lib/evaluation/pipeline/strategies/index.d.ts +0 -6
- package/dist/lib/evaluation/pipeline/strategies/index.js +0 -7
- package/dist/lib/evaluation/pipeline/strategies/samplingStrategy.d.ts +0 -76
- package/dist/lib/evaluation/pipeline/strategies/samplingStrategy.js +0 -247
- package/dist/lib/evaluation/prompts.d.ts +0 -22
- package/dist/lib/evaluation/prompts.js +0 -74
- package/dist/lib/evaluation/ragasEvaluator.d.ts +0 -28
- package/dist/lib/evaluation/ragasEvaluator.js +0 -127
- package/dist/lib/evaluation/reporting/index.d.ts +0 -6
- package/dist/lib/evaluation/reporting/index.js +0 -7
- package/dist/lib/evaluation/reporting/metricsCollector.d.ts +0 -88
- package/dist/lib/evaluation/reporting/metricsCollector.js +0 -286
- package/dist/lib/evaluation/reporting/reportGenerator.d.ts +0 -57
- package/dist/lib/evaluation/reporting/reportGenerator.js +0 -375
- package/dist/lib/evaluation/retryManager.d.ts +0 -39
- package/dist/lib/evaluation/retryManager.js +0 -79
- package/dist/lib/evaluation/scorers/baseScorer.d.ts +0 -82
- package/dist/lib/evaluation/scorers/baseScorer.js +0 -233
- package/dist/lib/evaluation/scorers/customScorerUtils.d.ts +0 -86
- package/dist/lib/evaluation/scorers/customScorerUtils.js +0 -382
- package/dist/lib/evaluation/scorers/index.d.ts +0 -10
- package/dist/lib/evaluation/scorers/index.js +0 -17
- package/dist/lib/evaluation/scorers/llm/answerRelevancyScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/answerRelevancyScorer.js +0 -100
- package/dist/lib/evaluation/scorers/llm/baseLLMScorer.d.ts +0 -69
- package/dist/lib/evaluation/scorers/llm/baseLLMScorer.js +0 -282
- package/dist/lib/evaluation/scorers/llm/biasDetectionScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/biasDetectionScorer.js +0 -128
- package/dist/lib/evaluation/scorers/llm/contextPrecisionScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/contextPrecisionScorer.js +0 -93
- package/dist/lib/evaluation/scorers/llm/contextRelevancyScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/contextRelevancyScorer.js +0 -108
- package/dist/lib/evaluation/scorers/llm/faithfulnessScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/faithfulnessScorer.js +0 -122
- package/dist/lib/evaluation/scorers/llm/hallucinationScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/hallucinationScorer.js +0 -141
- package/dist/lib/evaluation/scorers/llm/index.d.ts +0 -15
- package/dist/lib/evaluation/scorers/llm/index.js +0 -17
- package/dist/lib/evaluation/scorers/llm/promptAlignmentScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/promptAlignmentScorer.js +0 -107
- package/dist/lib/evaluation/scorers/llm/summarizationScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/summarizationScorer.js +0 -115
- package/dist/lib/evaluation/scorers/llm/toneConsistencyScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/toneConsistencyScorer.js +0 -107
- package/dist/lib/evaluation/scorers/llm/toxicityScorer.d.ts +0 -12
- package/dist/lib/evaluation/scorers/llm/toxicityScorer.js +0 -122
- package/dist/lib/evaluation/scorers/rule/baseRuleScorer.d.ts +0 -77
- package/dist/lib/evaluation/scorers/rule/baseRuleScorer.js +0 -234
- package/dist/lib/evaluation/scorers/rule/contentSimilarityScorer.d.ts +0 -81
- package/dist/lib/evaluation/scorers/rule/contentSimilarityScorer.js +0 -353
- package/dist/lib/evaluation/scorers/rule/formatScorer.d.ts +0 -107
- package/dist/lib/evaluation/scorers/rule/formatScorer.js +0 -471
- package/dist/lib/evaluation/scorers/rule/index.d.ts +0 -9
- package/dist/lib/evaluation/scorers/rule/index.js +0 -11
- package/dist/lib/evaluation/scorers/rule/keywordCoverageScorer.d.ts +0 -66
- package/dist/lib/evaluation/scorers/rule/keywordCoverageScorer.js +0 -348
- package/dist/lib/evaluation/scorers/rule/lengthScorer.d.ts +0 -74
- package/dist/lib/evaluation/scorers/rule/lengthScorer.js +0 -352
- package/dist/lib/evaluation/scorers/scorerBuilder.d.ts +0 -160
- package/dist/lib/evaluation/scorers/scorerBuilder.js +0 -421
- package/dist/lib/evaluation/scorers/scorerRegistry.d.ts +0 -65
- package/dist/lib/evaluation/scorers/scorerRegistry.js +0 -540
- package/dist/lib/evaluation/scoring.d.ts +0 -15
- package/dist/lib/evaluation/scoring.js +0 -61
- package/dist/lib/factories/providerDescriptors.d.ts +0 -18
- package/dist/lib/factories/providerDescriptors.js +0 -547
- package/dist/lib/factories/providerFactory.d.ts +0 -87
- package/dist/lib/factories/providerFactory.js +0 -199
- package/dist/lib/factories/providerRegistry.d.ts +0 -58
- package/dist/lib/factories/providerRegistry.js +0 -549
- package/dist/lib/features/ppt/constants.d.ts +0 -121
- package/dist/lib/features/ppt/constants.js +0 -897
- package/dist/lib/features/ppt/contentPlanner.d.ts +0 -47
- package/dist/lib/features/ppt/contentPlanner.js +0 -558
- package/dist/lib/features/ppt/index.d.ts +0 -11
- package/dist/lib/features/ppt/index.js +0 -33
- package/dist/lib/features/ppt/pptError.d.ts +0 -38
- package/dist/lib/features/ppt/pptError.js +0 -54
- package/dist/lib/features/ppt/presentationOrchestrator.d.ts +0 -37
- package/dist/lib/features/ppt/presentationOrchestrator.js +0 -231
- package/dist/lib/features/ppt/slideGenerator.d.ts +0 -56
- package/dist/lib/features/ppt/slideGenerator.js +0 -542
- package/dist/lib/features/ppt/slideRenderers.d.ts +0 -347
- package/dist/lib/features/ppt/slideRenderers.js +0 -2384
- package/dist/lib/features/ppt/slideTypeInference.d.ts +0 -91
- package/dist/lib/features/ppt/slideTypeInference.js +0 -406
- package/dist/lib/features/ppt/utils.d.ts +0 -103
- package/dist/lib/features/ppt/utils.js +0 -446
- package/dist/lib/files/fileReferenceRegistry.d.ts +0 -275
- package/dist/lib/files/fileReferenceRegistry.js +0 -1559
- package/dist/lib/files/fileTools.d.ts +0 -176
- package/dist/lib/files/fileTools.js +0 -435
- package/dist/lib/files/index.d.ts +0 -13
- package/dist/lib/files/index.js +0 -14
- package/dist/lib/files/streamingReader.d.ts +0 -93
- package/dist/lib/files/streamingReader.js +0 -322
- package/dist/lib/hitl/hitlErrors.d.ts +0 -38
- package/dist/lib/hitl/hitlErrors.js +0 -55
- package/dist/lib/hitl/hitlManager.d.ts +0 -100
- package/dist/lib/hitl/hitlManager.js +0 -461
- package/dist/lib/hitl/index.d.ts +0 -7
- package/dist/lib/hitl/index.js +0 -10
- package/dist/lib/image-gen/ImageGenService.d.ts +0 -146
- package/dist/lib/image-gen/ImageGenService.js +0 -349
- package/dist/lib/image-gen/imageGenTools.d.ts +0 -109
- package/dist/lib/image-gen/imageGenTools.js +0 -305
- package/dist/lib/image-gen/index.d.ts +0 -45
- package/dist/lib/image-gen/index.js +0 -49
- package/dist/lib/index.d.ts +0 -447
- package/dist/lib/index.js +0 -748
- package/dist/lib/knowledge/context.d.ts +0 -18
- package/dist/lib/knowledge/context.js +0 -92
- package/dist/lib/knowledge/defaults.d.ts +0 -24
- package/dist/lib/knowledge/defaults.js +0 -30
- package/dist/lib/knowledge/engine.d.ts +0 -35
- package/dist/lib/knowledge/engine.js +0 -180
- package/dist/lib/knowledge/index.d.ts +0 -15
- package/dist/lib/knowledge/index.js +0 -16
- package/dist/lib/knowledge/indexCache.d.ts +0 -19
- package/dist/lib/knowledge/indexCache.js +0 -110
- package/dist/lib/knowledge/knowledgeIndex.d.ts +0 -41
- package/dist/lib/knowledge/knowledgeIndex.js +0 -205
- package/dist/lib/knowledge/normalize.d.ts +0 -32
- package/dist/lib/knowledge/normalize.js +0 -75
- package/dist/lib/knowledge/resolve.d.ts +0 -18
- package/dist/lib/knowledge/resolve.js +0 -157
- package/dist/lib/knowledge/retrieval.d.ts +0 -16
- package/dist/lib/knowledge/retrieval.js +0 -222
- package/dist/lib/mcp/agentExposure.d.ts +0 -83
- package/dist/lib/mcp/agentExposure.js +0 -357
- package/dist/lib/mcp/auth/index.d.ts +0 -6
- package/dist/lib/mcp/auth/index.js +0 -12
- package/dist/lib/mcp/auth/oauthClientProvider.d.ts +0 -93
- package/dist/lib/mcp/auth/oauthClientProvider.js +0 -331
- package/dist/lib/mcp/auth/tokenStorage.d.ts +0 -56
- package/dist/lib/mcp/auth/tokenStorage.js +0 -135
- package/dist/lib/mcp/batching/index.d.ts +0 -1
- package/dist/lib/mcp/batching/index.js +0 -2
- package/dist/lib/mcp/batching/requestBatcher.d.ts +0 -130
- package/dist/lib/mcp/batching/requestBatcher.js +0 -468
- package/dist/lib/mcp/caching/index.d.ts +0 -1
- package/dist/lib/mcp/caching/index.js +0 -2
- package/dist/lib/mcp/caching/toolCache.d.ts +0 -154
- package/dist/lib/mcp/caching/toolCache.js +0 -434
- package/dist/lib/mcp/elicitation/elicitationManager.d.ts +0 -169
- package/dist/lib/mcp/elicitation/elicitationManager.js +0 -377
- package/dist/lib/mcp/elicitation/index.d.ts +0 -1
- package/dist/lib/mcp/elicitation/index.js +0 -3
- package/dist/lib/mcp/elicitationProtocol.d.ts +0 -139
- package/dist/lib/mcp/elicitationProtocol.js +0 -376
- package/dist/lib/mcp/enhancedToolDiscovery.d.ts +0 -125
- package/dist/lib/mcp/enhancedToolDiscovery.js +0 -482
- package/dist/lib/mcp/externalServerManager.d.ts +0 -189
- package/dist/lib/mcp/externalServerManager.js +0 -1525
- package/dist/lib/mcp/factory.d.ts +0 -60
- package/dist/lib/mcp/factory.js +0 -162
- package/dist/lib/mcp/flexibleToolValidator.d.ts +0 -46
- package/dist/lib/mcp/flexibleToolValidator.js +0 -162
- package/dist/lib/mcp/httpRateLimiter.d.ts +0 -152
- package/dist/lib/mcp/httpRateLimiter.js +0 -386
- package/dist/lib/mcp/httpRetryHandler.d.ts +0 -62
- package/dist/lib/mcp/httpRetryHandler.js +0 -180
- package/dist/lib/mcp/index.d.ts +0 -60
- package/dist/lib/mcp/index.js +0 -82
- package/dist/lib/mcp/mcpCircuitBreaker.d.ts +0 -123
- package/dist/lib/mcp/mcpCircuitBreaker.js +0 -428
- package/dist/lib/mcp/mcpClientFactory.d.ts +0 -109
- package/dist/lib/mcp/mcpClientFactory.js +0 -714
- package/dist/lib/mcp/mcpOutputNormalizer.d.ts +0 -47
- package/dist/lib/mcp/mcpOutputNormalizer.js +0 -183
- package/dist/lib/mcp/mcpRegistryClient.d.ts +0 -129
- package/dist/lib/mcp/mcpRegistryClient.js +0 -489
- package/dist/lib/mcp/mcpServerBase.d.ts +0 -162
- package/dist/lib/mcp/mcpServerBase.js +0 -377
- package/dist/lib/mcp/multiServerManager.d.ts +0 -182
- package/dist/lib/mcp/multiServerManager.js +0 -580
- package/dist/lib/mcp/registry.d.ts +0 -94
- package/dist/lib/mcp/registry.js +0 -159
- package/dist/lib/mcp/routing/index.d.ts +0 -1
- package/dist/lib/mcp/routing/index.js +0 -2
- package/dist/lib/mcp/routing/toolRouter.d.ts +0 -110
- package/dist/lib/mcp/routing/toolRouter.js +0 -417
- package/dist/lib/mcp/serverCapabilities.d.ts +0 -175
- package/dist/lib/mcp/serverCapabilities.js +0 -503
- package/dist/lib/mcp/servers/agent/directToolsServer.d.ts +0 -8
- package/dist/lib/mcp/servers/agent/directToolsServer.js +0 -152
- package/dist/lib/mcp/servers/aiProviders/aiAnalysisTools.d.ts +0 -6
- package/dist/lib/mcp/servers/aiProviders/aiAnalysisTools.js +0 -364
- package/dist/lib/mcp/servers/aiProviders/aiCoreServer.d.ts +0 -10
- package/dist/lib/mcp/servers/aiProviders/aiCoreServer.js +0 -232
- package/dist/lib/mcp/servers/aiProviders/aiWorkflowTools.d.ts +0 -5
- package/dist/lib/mcp/servers/aiProviders/aiWorkflowTools.js +0 -584
- package/dist/lib/mcp/servers/utilities/utilityServer.d.ts +0 -8
- package/dist/lib/mcp/servers/utilities/utilityServer.js +0 -327
- package/dist/lib/mcp/toolAnnotations.d.ts +0 -57
- package/dist/lib/mcp/toolAnnotations.js +0 -240
- package/dist/lib/mcp/toolConverter.d.ts +0 -87
- package/dist/lib/mcp/toolConverter.js +0 -259
- package/dist/lib/mcp/toolDiscoveryService.d.ts +0 -144
- package/dist/lib/mcp/toolDiscoveryService.js +0 -978
- package/dist/lib/mcp/toolIntegration.d.ts +0 -92
- package/dist/lib/mcp/toolIntegration.js +0 -335
- package/dist/lib/mcp/toolRegistry.d.ts +0 -151
- package/dist/lib/mcp/toolRegistry.js +0 -755
- package/dist/lib/memory/hippocampusInitializer.d.ts +0 -2
- package/dist/lib/memory/hippocampusInitializer.js +0 -50
- package/dist/lib/memory/memoryRetrievalTools.d.ts +0 -13
- package/dist/lib/memory/memoryRetrievalTools.js +0 -267
- package/dist/lib/middleware/builtin/analytics.d.ts +0 -16
- package/dist/lib/middleware/builtin/analytics.js +0 -133
- package/dist/lib/middleware/builtin/autoEvaluation.d.ts +0 -11
- package/dist/lib/middleware/builtin/autoEvaluation.js +0 -201
- package/dist/lib/middleware/builtin/guardrails.d.ts +0 -7
- package/dist/lib/middleware/builtin/guardrails.js +0 -110
- package/dist/lib/middleware/builtin/lifecycle.d.ts +0 -2
- package/dist/lib/middleware/builtin/lifecycle.js +0 -161
- package/dist/lib/middleware/factory.d.ts +0 -69
- package/dist/lib/middleware/factory.js +0 -328
- package/dist/lib/middleware/index.d.ts +0 -11
- package/dist/lib/middleware/index.js +0 -17
- package/dist/lib/middleware/registry.d.ts +0 -76
- package/dist/lib/middleware/registry.js +0 -296
- package/dist/lib/middleware/utils/guardrailsUtils.d.ts +0 -50
- package/dist/lib/middleware/utils/guardrailsUtils.js +0 -397
- package/dist/lib/models/anthropicModels.d.ts +0 -261
- package/dist/lib/models/anthropicModels.js +0 -556
- package/dist/lib/models/manifestRegistry.d.ts +0 -33
- package/dist/lib/models/manifestRegistry.js +0 -174
- package/dist/lib/models/manifests/anthropic.d.ts +0 -9
- package/dist/lib/models/manifests/anthropic.js +0 -346
- package/dist/lib/models/manifests/azure.d.ts +0 -2
- package/dist/lib/models/manifests/azure.js +0 -87
- package/dist/lib/models/manifests/bedrock.d.ts +0 -2
- package/dist/lib/models/manifests/bedrock.js +0 -75
- package/dist/lib/models/manifests/cloudflare.d.ts +0 -8
- package/dist/lib/models/manifests/cloudflare.js +0 -19
- package/dist/lib/models/manifests/cohere.d.ts +0 -8
- package/dist/lib/models/manifests/cohere.js +0 -19
- package/dist/lib/models/manifests/deepseek.d.ts +0 -8
- package/dist/lib/models/manifests/deepseek.js +0 -19
- package/dist/lib/models/manifests/fireworks.d.ts +0 -8
- package/dist/lib/models/manifests/fireworks.js +0 -19
- package/dist/lib/models/manifests/google-ai.d.ts +0 -2
- package/dist/lib/models/manifests/google-ai.js +0 -28
- package/dist/lib/models/manifests/groq.d.ts +0 -8
- package/dist/lib/models/manifests/groq.js +0 -19
- package/dist/lib/models/manifests/huggingface.d.ts +0 -8
- package/dist/lib/models/manifests/huggingface.js +0 -19
- package/dist/lib/models/manifests/ideogram.d.ts +0 -8
- package/dist/lib/models/manifests/ideogram.js +0 -19
- package/dist/lib/models/manifests/jina.d.ts +0 -8
- package/dist/lib/models/manifests/jina.js +0 -19
- package/dist/lib/models/manifests/litellm.d.ts +0 -8
- package/dist/lib/models/manifests/litellm.js +0 -19
- package/dist/lib/models/manifests/llamacpp.d.ts +0 -8
- package/dist/lib/models/manifests/llamacpp.js +0 -19
- package/dist/lib/models/manifests/lm-studio.d.ts +0 -8
- package/dist/lib/models/manifests/lm-studio.js +0 -19
- package/dist/lib/models/manifests/mistral.d.ts +0 -2
- package/dist/lib/models/manifests/mistral.js +0 -50
- package/dist/lib/models/manifests/nvidia-nim.d.ts +0 -8
- package/dist/lib/models/manifests/nvidia-nim.js +0 -19
- package/dist/lib/models/manifests/ollama.d.ts +0 -2
- package/dist/lib/models/manifests/ollama.js +0 -72
- package/dist/lib/models/manifests/openai-compatible.d.ts +0 -8
- package/dist/lib/models/manifests/openai-compatible.js +0 -19
- package/dist/lib/models/manifests/openai.d.ts +0 -11
- package/dist/lib/models/manifests/openai.js +0 -560
- package/dist/lib/models/manifests/openrouter.d.ts +0 -8
- package/dist/lib/models/manifests/openrouter.js +0 -19
- package/dist/lib/models/manifests/perplexity.d.ts +0 -8
- package/dist/lib/models/manifests/perplexity.js +0 -19
- package/dist/lib/models/manifests/recraft.d.ts +0 -8
- package/dist/lib/models/manifests/recraft.js +0 -19
- package/dist/lib/models/manifests/replicate.d.ts +0 -8
- package/dist/lib/models/manifests/replicate.js +0 -19
- package/dist/lib/models/manifests/sagemaker.d.ts +0 -8
- package/dist/lib/models/manifests/sagemaker.js +0 -19
- package/dist/lib/models/manifests/stability.d.ts +0 -8
- package/dist/lib/models/manifests/stability.js +0 -19
- package/dist/lib/models/manifests/together-ai.d.ts +0 -8
- package/dist/lib/models/manifests/together-ai.js +0 -19
- package/dist/lib/models/manifests/vertex.d.ts +0 -8
- package/dist/lib/models/manifests/vertex.js +0 -19
- package/dist/lib/models/manifests/voyage.d.ts +0 -8
- package/dist/lib/models/manifests/voyage.js +0 -19
- package/dist/lib/models/manifests/xai.d.ts +0 -8
- package/dist/lib/models/manifests/xai.js +0 -19
- package/dist/lib/models/modelRegistry.d.ts +0 -74
- package/dist/lib/models/modelRegistry.js +0 -2695
- package/dist/lib/models/modelResolver.d.ts +0 -74
- package/dist/lib/models/modelResolver.js +0 -470
- package/dist/lib/music/index.d.ts +0 -27
- package/dist/lib/music/index.js +0 -94
- package/dist/lib/music/providers/BeatovenMusic.d.ts +0 -31
- package/dist/lib/music/providers/BeatovenMusic.js +0 -334
- package/dist/lib/music/providers/ElevenLabsMusic.d.ts +0 -30
- package/dist/lib/music/providers/ElevenLabsMusic.js +0 -169
- package/dist/lib/music/providers/LyriaMusic.d.ts +0 -29
- package/dist/lib/music/providers/LyriaMusic.js +0 -173
- package/dist/lib/music/providers/ReplicateMusic.d.ts +0 -31
- package/dist/lib/music/providers/ReplicateMusic.js +0 -262
- package/dist/lib/neurolink.d.ts +0 -2662
- package/dist/lib/neurolink.js +0 -12946
- package/dist/lib/observability/exporterRegistry.d.ts +0 -133
- package/dist/lib/observability/exporterRegistry.js +0 -414
- package/dist/lib/observability/exporters/arizeExporter.d.ts +0 -32
- package/dist/lib/observability/exporters/arizeExporter.js +0 -139
- package/dist/lib/observability/exporters/baseExporter.d.ts +0 -117
- package/dist/lib/observability/exporters/baseExporter.js +0 -191
- package/dist/lib/observability/exporters/braintrustExporter.d.ts +0 -30
- package/dist/lib/observability/exporters/braintrustExporter.js +0 -155
- package/dist/lib/observability/exporters/datadogExporter.d.ts +0 -37
- package/dist/lib/observability/exporters/datadogExporter.js +0 -197
- package/dist/lib/observability/exporters/index.d.ts +0 -13
- package/dist/lib/observability/exporters/index.js +0 -14
- package/dist/lib/observability/exporters/laminarExporter.d.ts +0 -48
- package/dist/lib/observability/exporters/laminarExporter.js +0 -304
- package/dist/lib/observability/exporters/langfuseExporter.d.ts +0 -48
- package/dist/lib/observability/exporters/langfuseExporter.js +0 -210
- package/dist/lib/observability/exporters/langsmithExporter.d.ts +0 -26
- package/dist/lib/observability/exporters/langsmithExporter.js +0 -144
- package/dist/lib/observability/exporters/otelExporter.d.ts +0 -39
- package/dist/lib/observability/exporters/otelExporter.js +0 -165
- package/dist/lib/observability/exporters/posthogExporter.d.ts +0 -48
- package/dist/lib/observability/exporters/posthogExporter.js +0 -289
- package/dist/lib/observability/exporters/sentryExporter.d.ts +0 -32
- package/dist/lib/observability/exporters/sentryExporter.js +0 -167
- package/dist/lib/observability/index.d.ts +0 -23
- package/dist/lib/observability/index.js +0 -32
- package/dist/lib/observability/metricsAggregator.d.ts +0 -126
- package/dist/lib/observability/metricsAggregator.js +0 -553
- package/dist/lib/observability/otelBridge.d.ts +0 -49
- package/dist/lib/observability/otelBridge.js +0 -141
- package/dist/lib/observability/retryPolicy.d.ts +0 -154
- package/dist/lib/observability/retryPolicy.js +0 -384
- package/dist/lib/observability/sampling/index.d.ts +0 -4
- package/dist/lib/observability/sampling/index.js +0 -5
- package/dist/lib/observability/sampling/samplers.d.ts +0 -104
- package/dist/lib/observability/sampling/samplers.js +0 -217
- package/dist/lib/observability/spanProcessor.d.ts +0 -115
- package/dist/lib/observability/spanProcessor.js +0 -304
- package/dist/lib/observability/tokenTracker.d.ts +0 -109
- package/dist/lib/observability/tokenTracker.js +0 -416
- package/dist/lib/observability/utils/index.d.ts +0 -4
- package/dist/lib/observability/utils/index.js +0 -5
- package/dist/lib/observability/utils/safeMetadata.d.ts +0 -10
- package/dist/lib/observability/utils/safeMetadata.js +0 -26
- package/dist/lib/observability/utils/spanSerializer.d.ts +0 -119
- package/dist/lib/observability/utils/spanSerializer.js +0 -314
- package/dist/lib/processors/archive/ArchiveProcessor.d.ts +0 -323
- package/dist/lib/processors/archive/ArchiveProcessor.js +0 -1662
- package/dist/lib/processors/archive/index.d.ts +0 -33
- package/dist/lib/processors/archive/index.js +0 -44
- package/dist/lib/processors/archive/zipEntryReader.d.ts +0 -51
- package/dist/lib/processors/archive/zipEntryReader.js +0 -81
- package/dist/lib/processors/base/BaseFileProcessor.d.ts +0 -309
- package/dist/lib/processors/base/BaseFileProcessor.js +0 -769
- package/dist/lib/processors/base/index.d.ts +0 -13
- package/dist/lib/processors/base/index.js +0 -23
- package/dist/lib/processors/cli/fileProcessorCli.d.ts +0 -124
- package/dist/lib/processors/cli/fileProcessorCli.js +0 -392
- package/dist/lib/processors/cli/index.d.ts +0 -36
- package/dist/lib/processors/cli/index.js +0 -53
- package/dist/lib/processors/code/ConfigProcessor.d.ts +0 -169
- package/dist/lib/processors/code/ConfigProcessor.js +0 -405
- package/dist/lib/processors/code/SourceCodeProcessor.d.ts +0 -172
- package/dist/lib/processors/code/SourceCodeProcessor.js +0 -309
- package/dist/lib/processors/code/index.d.ts +0 -44
- package/dist/lib/processors/code/index.js +0 -65
- package/dist/lib/processors/config/fileExtensions.d.ts +0 -280
- package/dist/lib/processors/config/fileExtensions.js +0 -485
- package/dist/lib/processors/config/fileTypeRegistry.d.ts +0 -106
- package/dist/lib/processors/config/fileTypeRegistry.js +0 -702
- package/dist/lib/processors/config/index.d.ts +0 -33
- package/dist/lib/processors/config/index.js +0 -104
- package/dist/lib/processors/config/languageMap.d.ts +0 -62
- package/dist/lib/processors/config/languageMap.js +0 -414
- package/dist/lib/processors/config/mimeConstants.d.ts +0 -373
- package/dist/lib/processors/config/mimeConstants.js +0 -348
- package/dist/lib/processors/config/sizeLimits.d.ts +0 -198
- package/dist/lib/processors/config/sizeLimits.js +0 -262
- package/dist/lib/processors/data/JsonProcessor.d.ts +0 -120
- package/dist/lib/processors/data/JsonProcessor.js +0 -206
- package/dist/lib/processors/data/XmlProcessor.d.ts +0 -158
- package/dist/lib/processors/data/XmlProcessor.js +0 -288
- package/dist/lib/processors/data/YamlProcessor.d.ts +0 -161
- package/dist/lib/processors/data/YamlProcessor.js +0 -297
- package/dist/lib/processors/data/index.d.ts +0 -49
- package/dist/lib/processors/data/index.js +0 -83
- package/dist/lib/processors/document/ExcelProcessor.d.ts +0 -250
- package/dist/lib/processors/document/ExcelProcessor.js +0 -615
- package/dist/lib/processors/document/OpenDocumentProcessor.d.ts +0 -67
- package/dist/lib/processors/document/OpenDocumentProcessor.js +0 -236
- package/dist/lib/processors/document/PptxProcessor.d.ts +0 -77
- package/dist/lib/processors/document/PptxProcessor.js +0 -262
- package/dist/lib/processors/document/RtfProcessor.d.ts +0 -150
- package/dist/lib/processors/document/RtfProcessor.js +0 -364
- package/dist/lib/processors/document/WordProcessor.d.ts +0 -166
- package/dist/lib/processors/document/WordProcessor.js +0 -365
- package/dist/lib/processors/document/index.d.ts +0 -55
- package/dist/lib/processors/document/index.js +0 -100
- package/dist/lib/processors/errors/FileErrorCode.d.ts +0 -86
- package/dist/lib/processors/errors/FileErrorCode.js +0 -256
- package/dist/lib/processors/errors/errorHelpers.d.ts +0 -121
- package/dist/lib/processors/errors/errorHelpers.js +0 -387
- package/dist/lib/processors/errors/errorSerializer.d.ts +0 -96
- package/dist/lib/processors/errors/errorSerializer.js +0 -508
- package/dist/lib/processors/errors/index.d.ts +0 -46
- package/dist/lib/processors/errors/index.js +0 -50
- package/dist/lib/processors/index.d.ts +0 -79
- package/dist/lib/processors/index.js +0 -133
- package/dist/lib/processors/integration/FileProcessorIntegration.d.ts +0 -176
- package/dist/lib/processors/integration/FileProcessorIntegration.js +0 -279
- package/dist/lib/processors/integration/index.d.ts +0 -41
- package/dist/lib/processors/integration/index.js +0 -48
- package/dist/lib/processors/markup/HtmlProcessor.d.ts +0 -167
- package/dist/lib/processors/markup/HtmlProcessor.js +0 -252
- package/dist/lib/processors/markup/MarkdownProcessor.d.ts +0 -163
- package/dist/lib/processors/markup/MarkdownProcessor.js +0 -249
- package/dist/lib/processors/markup/SvgProcessor.d.ts +0 -154
- package/dist/lib/processors/markup/SvgProcessor.js +0 -245
- package/dist/lib/processors/markup/TextProcessor.d.ts +0 -133
- package/dist/lib/processors/markup/TextProcessor.js +0 -191
- package/dist/lib/processors/markup/index.d.ts +0 -66
- package/dist/lib/processors/markup/index.js +0 -111
- package/dist/lib/processors/media/AudioProcessor.d.ts +0 -266
- package/dist/lib/processors/media/AudioProcessor.js +0 -712
- package/dist/lib/processors/media/VideoProcessor.d.ts +0 -337
- package/dist/lib/processors/media/VideoProcessor.js +0 -1154
- package/dist/lib/processors/media/index.d.ts +0 -26
- package/dist/lib/processors/media/index.js +0 -30
- package/dist/lib/processors/registry/ProcessorRegistry.d.ts +0 -347
- package/dist/lib/processors/registry/ProcessorRegistry.js +0 -715
- package/dist/lib/processors/registry/index.d.ts +0 -2
- package/dist/lib/processors/registry/index.js +0 -10
- package/dist/lib/providers/amazonBedrock/client.d.ts +0 -93
- package/dist/lib/providers/amazonBedrock/client.js +0 -1178
- package/dist/lib/providers/amazonBedrock/constants.d.ts +0 -1
- package/dist/lib/providers/amazonBedrock/constants.js +0 -3
- package/dist/lib/providers/amazonBedrock/index.d.ts +0 -3
- package/dist/lib/providers/amazonBedrock/index.js +0 -4
- package/dist/lib/providers/amazonBedrock/inferenceProfile.d.ts +0 -72
- package/dist/lib/providers/amazonBedrock/inferenceProfile.js +0 -186
- package/dist/lib/providers/amazonBedrock/loopAdapter.d.ts +0 -36
- package/dist/lib/providers/amazonBedrock/loopAdapter.js +0 -278
- package/dist/lib/providers/amazonBedrock/utils.d.ts +0 -1
- package/dist/lib/providers/amazonBedrock/utils.js +0 -4
- package/dist/lib/providers/amazonSagemaker.d.ts +0 -108
- package/dist/lib/providers/amazonSagemaker.js +0 -292
- package/dist/lib/providers/anthropic/cacheControl.d.ts +0 -12
- package/dist/lib/providers/anthropic/cacheControl.js +0 -15
- package/dist/lib/providers/anthropic/client.d.ts +0 -149
- package/dist/lib/providers/anthropic/client.js +0 -1862
- package/dist/lib/providers/anthropic/constants.d.ts +0 -3
- package/dist/lib/providers/anthropic/constants.js +0 -7
- package/dist/lib/providers/anthropic/index.d.ts +0 -2
- package/dist/lib/providers/anthropic/index.js +0 -3
- package/dist/lib/providers/anthropic/loopAdapter.d.ts +0 -26
- package/dist/lib/providers/anthropic/loopAdapter.js +0 -326
- package/dist/lib/providers/anthropic/rateLimitCapture.d.ts +0 -82
- package/dist/lib/providers/anthropic/rateLimitCapture.js +0 -375
- package/dist/lib/providers/anthropic/structuredOutput.d.ts +0 -58
- package/dist/lib/providers/anthropic/structuredOutput.js +0 -98
- package/dist/lib/providers/anthropic/toolOutput.d.ts +0 -9
- package/dist/lib/providers/anthropic/toolOutput.js +0 -39
- package/dist/lib/providers/anthropicImageBlocks.d.ts +0 -47
- package/dist/lib/providers/anthropicImageBlocks.js +0 -223
- package/dist/lib/providers/azureOpenai.d.ts +0 -67
- package/dist/lib/providers/azureOpenai.js +0 -230
- package/dist/lib/providers/cohere.d.ts +0 -54
- package/dist/lib/providers/cohere.js +0 -183
- package/dist/lib/providers/configuredOpenAICompat.d.ts +0 -24
- package/dist/lib/providers/configuredOpenAICompat.js +0 -67
- package/dist/lib/providers/deepseek.d.ts +0 -47
- package/dist/lib/providers/deepseek.js +0 -121
- package/dist/lib/providers/googleAiStudio/client.d.ts +0 -92
- package/dist/lib/providers/googleAiStudio/client.js +0 -1661
- package/dist/lib/providers/googleAiStudio/index.d.ts +0 -1
- package/dist/lib/providers/googleAiStudio/index.js +0 -2
- package/dist/lib/providers/googleNativeGemini3/index.d.ts +0 -1
- package/dist/lib/providers/googleNativeGemini3/index.js +0 -2
- package/dist/lib/providers/googleNativeGemini3/utils.d.ts +0 -482
- package/dist/lib/providers/googleNativeGemini3/utils.js +0 -1527
- package/dist/lib/providers/googleVertex/client.d.ts +0 -415
- package/dist/lib/providers/googleVertex/client.js +0 -7018
- package/dist/lib/providers/googleVertex/constants.d.ts +0 -5
- package/dist/lib/providers/googleVertex/constants.js +0 -27
- package/dist/lib/providers/googleVertex/index.d.ts +0 -3
- package/dist/lib/providers/googleVertex/index.js +0 -4
- package/dist/lib/providers/googleVertex/utils.d.ts +0 -12
- package/dist/lib/providers/googleVertex/utils.js +0 -287
- package/dist/lib/providers/huggingFace/client.d.ts +0 -31
- package/dist/lib/providers/huggingFace/client.js +0 -103
- package/dist/lib/providers/huggingFace/index.d.ts +0 -1
- package/dist/lib/providers/huggingFace/index.js +0 -2
- package/dist/lib/providers/ideogram.d.ts +0 -34
- package/dist/lib/providers/ideogram.js +0 -184
- package/dist/lib/providers/jina.d.ts +0 -58
- package/dist/lib/providers/jina.js +0 -217
- package/dist/lib/providers/litellm/client.d.ts +0 -84
- package/dist/lib/providers/litellm/client.js +0 -504
- package/dist/lib/providers/litellm/index.d.ts +0 -1
- package/dist/lib/providers/litellm/index.js +0 -2
- package/dist/lib/providers/llamaCpp.d.ts +0 -24
- package/dist/lib/providers/llamaCpp.js +0 -80
- package/dist/lib/providers/lmStudio.d.ts +0 -29
- package/dist/lib/providers/lmStudio.js +0 -88
- package/dist/lib/providers/nvidiaNim/client.d.ts +0 -60
- package/dist/lib/providers/nvidiaNim/client.js +0 -291
- package/dist/lib/providers/nvidiaNim/constants.d.ts +0 -1
- package/dist/lib/providers/nvidiaNim/constants.js +0 -2
- package/dist/lib/providers/nvidiaNim/index.d.ts +0 -2
- package/dist/lib/providers/nvidiaNim/index.js +0 -3
- package/dist/lib/providers/ollama/client.d.ts +0 -71
- package/dist/lib/providers/ollama/client.js +0 -283
- package/dist/lib/providers/ollama/constants.d.ts +0 -4
- package/dist/lib/providers/ollama/constants.js +0 -6
- package/dist/lib/providers/ollama/index.d.ts +0 -2
- package/dist/lib/providers/ollama/index.js +0 -3
- package/dist/lib/providers/openAI/client.d.ts +0 -76
- package/dist/lib/providers/openAI/client.js +0 -503
- package/dist/lib/providers/openAI/index.d.ts +0 -1
- package/dist/lib/providers/openAI/index.js +0 -2
- package/dist/lib/providers/openRouter/client.d.ts +0 -75
- package/dist/lib/providers/openRouter/client.js +0 -402
- package/dist/lib/providers/openRouter/constants.d.ts +0 -1
- package/dist/lib/providers/openRouter/constants.js +0 -2
- package/dist/lib/providers/openRouter/index.d.ts +0 -3
- package/dist/lib/providers/openRouter/index.js +0 -4
- package/dist/lib/providers/openRouter/utils.d.ts +0 -1
- package/dist/lib/providers/openRouter/utils.js +0 -6
- package/dist/lib/providers/openaiChatCompletionsBase.d.ts +0 -212
- package/dist/lib/providers/openaiChatCompletionsBase.js +0 -1154
- package/dist/lib/providers/openaiChatCompletionsClient.d.ts +0 -70
- package/dist/lib/providers/openaiChatCompletionsClient.js +0 -684
- package/dist/lib/providers/openaiCompatCatalog.d.ts +0 -24
- package/dist/lib/providers/openaiCompatCatalog.js +0 -270
- package/dist/lib/providers/openaiCompatible/client.d.ts +0 -21
- package/dist/lib/providers/openaiCompatible/client.js +0 -91
- package/dist/lib/providers/openaiCompatible/constants.d.ts +0 -1
- package/dist/lib/providers/openaiCompatible/constants.js +0 -2
- package/dist/lib/providers/openaiCompatible/index.d.ts +0 -3
- package/dist/lib/providers/openaiCompatible/index.js +0 -4
- package/dist/lib/providers/openaiCompatible/utils.d.ts +0 -5
- package/dist/lib/providers/openaiCompatible/utils.js +0 -17
- package/dist/lib/providers/providerTypeUtils.d.ts +0 -23
- package/dist/lib/providers/providerTypeUtils.js +0 -41
- package/dist/lib/providers/recraft.d.ts +0 -34
- package/dist/lib/providers/recraft.js +0 -197
- package/dist/lib/providers/replicate.d.ts +0 -74
- package/dist/lib/providers/replicate.js +0 -416
- package/dist/lib/providers/sagemaker/adaptive-semaphore.d.ts +0 -74
- package/dist/lib/providers/sagemaker/adaptive-semaphore.js +0 -216
- package/dist/lib/providers/sagemaker/client.d.ts +0 -161
- package/dist/lib/providers/sagemaker/client.js +0 -509
- package/dist/lib/providers/sagemaker/config.d.ts +0 -87
- package/dist/lib/providers/sagemaker/config.js +0 -355
- package/dist/lib/providers/sagemaker/detection.d.ts +0 -121
- package/dist/lib/providers/sagemaker/detection.js +0 -607
- package/dist/lib/providers/sagemaker/diagnostics.d.ts +0 -14
- package/dist/lib/providers/sagemaker/diagnostics.js +0 -138
- package/dist/lib/providers/sagemaker/error-constants.d.ts +0 -78
- package/dist/lib/providers/sagemaker/error-constants.js +0 -228
- package/dist/lib/providers/sagemaker/errors.d.ts +0 -90
- package/dist/lib/providers/sagemaker/errors.js +0 -301
- package/dist/lib/providers/sagemaker/index.d.ts +0 -34
- package/dist/lib/providers/sagemaker/index.js +0 -69
- package/dist/lib/providers/sagemaker/language-model.d.ts +0 -207
- package/dist/lib/providers/sagemaker/language-model.js +0 -805
- package/dist/lib/providers/sagemaker/parsers.d.ts +0 -111
- package/dist/lib/providers/sagemaker/parsers.js +0 -644
- package/dist/lib/providers/sagemaker/streaming.d.ts +0 -48
- package/dist/lib/providers/sagemaker/streaming.js +0 -390
- package/dist/lib/providers/sagemaker/structured-parser.d.ts +0 -117
- package/dist/lib/providers/sagemaker/structured-parser.js +0 -626
- package/dist/lib/providers/stability.d.ts +0 -37
- package/dist/lib/providers/stability.js +0 -191
- package/dist/lib/providers/voyage.d.ts +0 -46
- package/dist/lib/providers/voyage.js +0 -176
- package/dist/lib/proxy/accountCooldown.d.ts +0 -5
- package/dist/lib/proxy/accountCooldown.js +0 -121
- package/dist/lib/proxy/accountQuota.d.ts +0 -84
- package/dist/lib/proxy/accountQuota.js +0 -459
- package/dist/lib/proxy/accountQuotaRefreshCoordinator.d.ts +0 -19
- package/dist/lib/proxy/accountQuotaRefreshCoordinator.js +0 -105
- package/dist/lib/proxy/accountSelection.d.ts +0 -8
- package/dist/lib/proxy/accountSelection.js +0 -26
- package/dist/lib/proxy/accountUsage.d.ts +0 -45
- package/dist/lib/proxy/accountUsage.js +0 -302
- package/dist/lib/proxy/awsProxyIntegration.d.ts +0 -23
- package/dist/lib/proxy/awsProxyIntegration.js +0 -286
- package/dist/lib/proxy/claudeFormat.d.ts +0 -129
- package/dist/lib/proxy/claudeFormat.js +0 -600
- package/dist/lib/proxy/cloaking/index.d.ts +0 -43
- package/dist/lib/proxy/cloaking/index.js +0 -88
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.d.ts +0 -9
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.js +0 -87
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.d.ts +0 -11
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.js +0 -42
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.d.ts +0 -11
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.js +0 -84
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.d.ts +0 -14
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.js +0 -39
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.d.ts +0 -9
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.js +0 -122
- package/dist/lib/proxy/codexAccountUsage.d.ts +0 -26
- package/dist/lib/proxy/codexAccountUsage.js +0 -174
- package/dist/lib/proxy/codexUsage.d.ts +0 -68
- package/dist/lib/proxy/codexUsage.js +0 -247
- package/dist/lib/proxy/globalInstaller.d.ts +0 -19
- package/dist/lib/proxy/globalInstaller.js +0 -242
- package/dist/lib/proxy/logCleanupScheduler.d.ts +0 -12
- package/dist/lib/proxy/logCleanupScheduler.js +0 -74
- package/dist/lib/proxy/logCleanupWorkerEntry.d.ts +0 -1
- package/dist/lib/proxy/logCleanupWorkerEntry.js +0 -15
- package/dist/lib/proxy/modelRouter.d.ts +0 -34
- package/dist/lib/proxy/modelRouter.js +0 -74
- package/dist/lib/proxy/oauthFetch.d.ts +0 -36
- package/dist/lib/proxy/oauthFetch.js +0 -353
- package/dist/lib/proxy/openaiFormat.d.ts +0 -139
- package/dist/lib/proxy/openaiFormat.js +0 -817
- package/dist/lib/proxy/providerTransportCoordinator.d.ts +0 -17
- package/dist/lib/proxy/providerTransportCoordinator.js +0 -156
- package/dist/lib/proxy/proxyActivity.d.ts +0 -8
- package/dist/lib/proxy/proxyActivity.js +0 -117
- package/dist/lib/proxy/proxyAnalysis.d.ts +0 -3
- package/dist/lib/proxy/proxyAnalysis.js +0 -985
- package/dist/lib/proxy/proxyConfig.d.ts +0 -42
- package/dist/lib/proxy/proxyConfig.js +0 -700
- package/dist/lib/proxy/proxyDispatcher.d.ts +0 -5
- package/dist/lib/proxy/proxyDispatcher.js +0 -61
- package/dist/lib/proxy/proxyEnv.d.ts +0 -3
- package/dist/lib/proxy/proxyEnv.js +0 -73
- package/dist/lib/proxy/proxyFetch.d.ts +0 -50
- package/dist/lib/proxy/proxyFetch.js +0 -729
- package/dist/lib/proxy/proxyHealth.d.ts +0 -20
- package/dist/lib/proxy/proxyHealth.js +0 -76
- package/dist/lib/proxy/proxyLifecycle.d.ts +0 -13
- package/dist/lib/proxy/proxyLifecycle.js +0 -383
- package/dist/lib/proxy/proxyPaths.d.ts +0 -17
- package/dist/lib/proxy/proxyPaths.js +0 -42
- package/dist/lib/proxy/proxyReplay.d.ts +0 -10
- package/dist/lib/proxy/proxyReplay.js +0 -765
- package/dist/lib/proxy/proxyTracer.d.ts +0 -128
- package/dist/lib/proxy/proxyTracer.js +0 -748
- package/dist/lib/proxy/proxyTranslationEngine.d.ts +0 -125
- package/dist/lib/proxy/proxyTranslationEngine.js +0 -740
- package/dist/lib/proxy/quietDetector.d.ts +0 -17
- package/dist/lib/proxy/quietDetector.js +0 -125
- package/dist/lib/proxy/quotaHeaders.d.ts +0 -73
- package/dist/lib/proxy/quotaHeaders.js +0 -189
- package/dist/lib/proxy/rawStreamCapture.d.ts +0 -2
- package/dist/lib/proxy/rawStreamCapture.js +0 -129
- package/dist/lib/proxy/requestLogger.d.ts +0 -78
- package/dist/lib/proxy/requestLogger.js +0 -770
- package/dist/lib/proxy/rollingProxyServer.d.ts +0 -3
- package/dist/lib/proxy/rollingProxyServer.js +0 -220
- package/dist/lib/proxy/rollingWorkerProcess.d.ts +0 -2
- package/dist/lib/proxy/rollingWorkerProcess.js +0 -199
- package/dist/lib/proxy/rollingWorkerProtocol.d.ts +0 -5
- package/dist/lib/proxy/rollingWorkerProtocol.js +0 -46
- package/dist/lib/proxy/rollingWorkerSupervisor.d.ts +0 -44
- package/dist/lib/proxy/rollingWorkerSupervisor.js +0 -530
- package/dist/lib/proxy/routingEvidence.d.ts +0 -17
- package/dist/lib/proxy/routingEvidence.js +0 -59
- package/dist/lib/proxy/routingPolicy.d.ts +0 -19
- package/dist/lib/proxy/routingPolicy.js +0 -75
- package/dist/lib/proxy/runtimeConfig.d.ts +0 -27
- package/dist/lib/proxy/runtimeConfig.js +0 -448
- package/dist/lib/proxy/snapshotPersistence.d.ts +0 -2
- package/dist/lib/proxy/snapshotPersistence.js +0 -41
- package/dist/lib/proxy/socketWorkerRuntime.d.ts +0 -14
- package/dist/lib/proxy/socketWorkerRuntime.js +0 -322
- package/dist/lib/proxy/sseInterceptor.d.ts +0 -41
- package/dist/lib/proxy/sseInterceptor.js +0 -496
- package/dist/lib/proxy/streamOutcome.d.ts +0 -5
- package/dist/lib/proxy/streamOutcome.js +0 -104
- package/dist/lib/proxy/systemRelocation.d.ts +0 -21
- package/dist/lib/proxy/systemRelocation.js +0 -51
- package/dist/lib/proxy/tokenRefresh.d.ts +0 -18
- package/dist/lib/proxy/tokenRefresh.js +0 -257
- package/dist/lib/proxy/updateChecker.d.ts +0 -17
- package/dist/lib/proxy/updateChecker.js +0 -98
- package/dist/lib/proxy/updateCoordinator.d.ts +0 -7
- package/dist/lib/proxy/updateCoordinator.js +0 -60
- package/dist/lib/proxy/updateState.d.ts +0 -69
- package/dist/lib/proxy/updateState.js +0 -309
- package/dist/lib/proxy/updaterSupervisor.d.ts +0 -3
- package/dist/lib/proxy/updaterSupervisor.js +0 -58
- package/dist/lib/proxy/usageStats.d.ts +0 -91
- package/dist/lib/proxy/usageStats.js +0 -1154
- package/dist/lib/proxy/utils/noProxyUtils.d.ts +0 -39
- package/dist/lib/proxy/utils/noProxyUtils.js +0 -150
- package/dist/lib/proxy/workerLog.d.ts +0 -6
- package/dist/lib/proxy/workerLog.js +0 -42
- package/dist/lib/rag/ChunkerFactory.d.ts +0 -91
- package/dist/lib/rag/ChunkerFactory.js +0 -321
- package/dist/lib/rag/ChunkerRegistry.d.ts +0 -91
- package/dist/lib/rag/ChunkerRegistry.js +0 -422
- package/dist/lib/rag/chunkers/BaseChunker.d.ts +0 -53
- package/dist/lib/rag/chunkers/BaseChunker.js +0 -158
- package/dist/lib/rag/chunkers/CharacterChunker.d.ts +0 -18
- package/dist/lib/rag/chunkers/CharacterChunker.js +0 -29
- package/dist/lib/rag/chunkers/HTMLChunker.d.ts +0 -19
- package/dist/lib/rag/chunkers/HTMLChunker.js +0 -39
- package/dist/lib/rag/chunkers/JSONChunker.d.ts +0 -19
- package/dist/lib/rag/chunkers/JSONChunker.js +0 -69
- package/dist/lib/rag/chunkers/LaTeXChunker.d.ts +0 -15
- package/dist/lib/rag/chunkers/LaTeXChunker.js +0 -64
- package/dist/lib/rag/chunkers/MarkdownChunker.d.ts +0 -37
- package/dist/lib/rag/chunkers/MarkdownChunker.js +0 -315
- package/dist/lib/rag/chunkers/RecursiveChunker.d.ts +0 -27
- package/dist/lib/rag/chunkers/RecursiveChunker.js +0 -140
- package/dist/lib/rag/chunkers/SemanticMarkdownChunker.d.ts +0 -22
- package/dist/lib/rag/chunkers/SemanticMarkdownChunker.js +0 -139
- package/dist/lib/rag/chunkers/SentenceChunker.d.ts +0 -19
- package/dist/lib/rag/chunkers/SentenceChunker.js +0 -67
- package/dist/lib/rag/chunkers/TokenChunker.d.ts +0 -19
- package/dist/lib/rag/chunkers/TokenChunker.js +0 -62
- package/dist/lib/rag/chunkers/index.d.ts +0 -15
- package/dist/lib/rag/chunkers/index.js +0 -16
- package/dist/lib/rag/chunking/characterChunker.d.ts +0 -16
- package/dist/lib/rag/chunking/characterChunker.js +0 -143
- package/dist/lib/rag/chunking/chunkerRegistry.d.ts +0 -67
- package/dist/lib/rag/chunking/chunkerRegistry.js +0 -195
- package/dist/lib/rag/chunking/htmlChunker.d.ts +0 -34
- package/dist/lib/rag/chunking/htmlChunker.js +0 -248
- package/dist/lib/rag/chunking/index.d.ts +0 -15
- package/dist/lib/rag/chunking/index.js +0 -18
- package/dist/lib/rag/chunking/jsonChunker.d.ts +0 -20
- package/dist/lib/rag/chunking/jsonChunker.js +0 -282
- package/dist/lib/rag/chunking/latexChunker.d.ts +0 -26
- package/dist/lib/rag/chunking/latexChunker.js +0 -252
- package/dist/lib/rag/chunking/markdownChunker.d.ts +0 -35
- package/dist/lib/rag/chunking/markdownChunker.js +0 -383
- package/dist/lib/rag/chunking/recursiveChunker.d.ts +0 -19
- package/dist/lib/rag/chunking/recursiveChunker.js +0 -149
- package/dist/lib/rag/chunking/semanticChunker.d.ts +0 -41
- package/dist/lib/rag/chunking/semanticChunker.js +0 -306
- package/dist/lib/rag/chunking/sentenceChunker.d.ts +0 -25
- package/dist/lib/rag/chunking/sentenceChunker.js +0 -231
- package/dist/lib/rag/chunking/tokenChunker.d.ts +0 -36
- package/dist/lib/rag/chunking/tokenChunker.js +0 -184
- package/dist/lib/rag/document/MDocument.d.ts +0 -198
- package/dist/lib/rag/document/MDocument.js +0 -392
- package/dist/lib/rag/document/index.d.ts +0 -5
- package/dist/lib/rag/document/index.js +0 -6
- package/dist/lib/rag/document/loaders.d.ts +0 -142
- package/dist/lib/rag/document/loaders.js +0 -544
- package/dist/lib/rag/errors/RAGError.d.ts +0 -244
- package/dist/lib/rag/errors/RAGError.js +0 -275
- package/dist/lib/rag/errors/index.d.ts +0 -6
- package/dist/lib/rag/errors/index.js +0 -7
- package/dist/lib/rag/graphRag/graphRAG.d.ts +0 -115
- package/dist/lib/rag/graphRag/graphRAG.js +0 -402
- package/dist/lib/rag/graphRag/index.d.ts +0 -4
- package/dist/lib/rag/graphRag/index.js +0 -5
- package/dist/lib/rag/index.d.ts +0 -104
- package/dist/lib/rag/index.js +0 -144
- package/dist/lib/rag/metadata/MetadataExtractorFactory.d.ts +0 -103
- package/dist/lib/rag/metadata/MetadataExtractorFactory.js +0 -419
- package/dist/lib/rag/metadata/MetadataExtractorRegistry.d.ts +0 -99
- package/dist/lib/rag/metadata/MetadataExtractorRegistry.js +0 -363
- package/dist/lib/rag/metadata/index.d.ts +0 -6
- package/dist/lib/rag/metadata/index.js +0 -10
- package/dist/lib/rag/metadata/metadataExtractor.d.ts +0 -69
- package/dist/lib/rag/metadata/metadataExtractor.js +0 -281
- package/dist/lib/rag/pipeline/RAGPipeline.d.ts +0 -105
- package/dist/lib/rag/pipeline/RAGPipeline.js +0 -436
- package/dist/lib/rag/pipeline/contextAssembly.d.ts +0 -80
- package/dist/lib/rag/pipeline/contextAssembly.js +0 -342
- package/dist/lib/rag/pipeline/index.d.ts +0 -5
- package/dist/lib/rag/pipeline/index.js +0 -6
- package/dist/lib/rag/ragIntegration.d.ts +0 -30
- package/dist/lib/rag/ragIntegration.js +0 -327
- package/dist/lib/rag/reranker/RerankerFactory.d.ts +0 -124
- package/dist/lib/rag/reranker/RerankerFactory.js +0 -431
- package/dist/lib/rag/reranker/RerankerRegistry.d.ts +0 -119
- package/dist/lib/rag/reranker/RerankerRegistry.js +0 -403
- package/dist/lib/rag/reranker/index.d.ts +0 -6
- package/dist/lib/rag/reranker/index.js +0 -10
- package/dist/lib/rag/reranker/reranker.d.ts +0 -70
- package/dist/lib/rag/reranker/reranker.js +0 -307
- package/dist/lib/rag/resilience/CircuitBreaker.d.ts +0 -142
- package/dist/lib/rag/resilience/CircuitBreaker.js +0 -432
- package/dist/lib/rag/resilience/RetryHandler.d.ts +0 -95
- package/dist/lib/rag/resilience/RetryHandler.js +0 -305
- package/dist/lib/rag/resilience/index.d.ts +0 -7
- package/dist/lib/rag/resilience/index.js +0 -8
- package/dist/lib/rag/retrieval/hybridSearch.d.ts +0 -53
- package/dist/lib/rag/retrieval/hybridSearch.js +0 -339
- package/dist/lib/rag/retrieval/index.d.ts +0 -5
- package/dist/lib/rag/retrieval/index.js +0 -6
- package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +0 -72
- package/dist/lib/rag/retrieval/vectorQueryTool.js +0 -325
- package/dist/lib/rag/stores/chroma.d.ts +0 -90
- package/dist/lib/rag/stores/chroma.js +0 -281
- package/dist/lib/rag/stores/index.d.ts +0 -21
- package/dist/lib/rag/stores/index.js +0 -22
- package/dist/lib/rag/stores/pgvector.d.ts +0 -95
- package/dist/lib/rag/stores/pgvector.js +0 -400
- package/dist/lib/rag/stores/pinecone.d.ts +0 -85
- package/dist/lib/rag/stores/pinecone.js +0 -159
- package/dist/lib/routing/classifierRouter.d.ts +0 -52
- package/dist/lib/routing/classifierRouter.js +0 -269
- package/dist/lib/routing/classifierStrategies.d.ts +0 -23
- package/dist/lib/routing/classifierStrategies.js +0 -156
- package/dist/lib/routing/index.d.ts +0 -9
- package/dist/lib/routing/index.js +0 -10
- package/dist/lib/routing/modelPool.d.ts +0 -83
- package/dist/lib/routing/modelPool.js +0 -243
- package/dist/lib/routing/requestRouter.d.ts +0 -30
- package/dist/lib/routing/requestRouter.js +0 -81
- package/dist/lib/sdk/toolRegistration.d.ts +0 -74
- package/dist/lib/sdk/toolRegistration.js +0 -383
- package/dist/lib/server/abstract/baseServerAdapter.d.ts +0 -171
- package/dist/lib/server/abstract/baseServerAdapter.js +0 -575
- package/dist/lib/server/adapters/expressAdapter.d.ts +0 -70
- package/dist/lib/server/adapters/expressAdapter.js +0 -487
- package/dist/lib/server/adapters/fastifyAdapter.d.ts +0 -70
- package/dist/lib/server/adapters/fastifyAdapter.js +0 -473
- package/dist/lib/server/adapters/honoAdapter.d.ts +0 -77
- package/dist/lib/server/adapters/honoAdapter.js +0 -633
- package/dist/lib/server/adapters/index.d.ts +0 -7
- package/dist/lib/server/adapters/index.js +0 -8
- package/dist/lib/server/adapters/koaAdapter.d.ts +0 -79
- package/dist/lib/server/adapters/koaAdapter.js +0 -511
- package/dist/lib/server/errors.d.ts +0 -193
- package/dist/lib/server/errors.js +0 -487
- package/dist/lib/server/factory/serverAdapterFactory.d.ts +0 -73
- package/dist/lib/server/factory/serverAdapterFactory.js +0 -161
- package/dist/lib/server/index.d.ts +0 -46
- package/dist/lib/server/index.js +0 -122
- package/dist/lib/server/middleware/abortSignal.d.ts +0 -52
- package/dist/lib/server/middleware/abortSignal.js +0 -112
- package/dist/lib/server/middleware/auth.d.ts +0 -166
- package/dist/lib/server/middleware/auth.js +0 -404
- package/dist/lib/server/middleware/cache.d.ts +0 -161
- package/dist/lib/server/middleware/cache.js +0 -370
- package/dist/lib/server/middleware/common.d.ts +0 -108
- package/dist/lib/server/middleware/common.js +0 -297
- package/dist/lib/server/middleware/deprecation.d.ts +0 -40
- package/dist/lib/server/middleware/deprecation.js +0 -191
- package/dist/lib/server/middleware/index.d.ts +0 -12
- package/dist/lib/server/middleware/index.js +0 -13
- package/dist/lib/server/middleware/mcpBodyAttachment.d.ts +0 -42
- package/dist/lib/server/middleware/mcpBodyAttachment.js +0 -64
- package/dist/lib/server/middleware/rateLimit.d.ts +0 -70
- package/dist/lib/server/middleware/rateLimit.js +0 -224
- package/dist/lib/server/middleware/validation.d.ts +0 -69
- package/dist/lib/server/middleware/validation.js +0 -393
- package/dist/lib/server/openapi/generator.d.ts +0 -61
- package/dist/lib/server/openapi/generator.js +0 -399
- package/dist/lib/server/openapi/index.d.ts +0 -7
- package/dist/lib/server/openapi/index.js +0 -37
- package/dist/lib/server/openapi/schemas.d.ts +0 -94
- package/dist/lib/server/openapi/schemas.js +0 -696
- package/dist/lib/server/openapi/templates.d.ts +0 -108
- package/dist/lib/server/openapi/templates.js +0 -375
- package/dist/lib/server/routes/agentRoutes.d.ts +0 -9
- package/dist/lib/server/routes/agentRoutes.js +0 -423
- package/dist/lib/server/routes/claudeProxyRoutes.d.ts +0 -491
- package/dist/lib/server/routes/claudeProxyRoutes.js +0 -6455
- package/dist/lib/server/routes/codexProxyRoutes.d.ts +0 -64
- package/dist/lib/server/routes/codexProxyRoutes.js +0 -482
- package/dist/lib/server/routes/healthRoutes.d.ts +0 -9
- package/dist/lib/server/routes/healthRoutes.js +0 -234
- package/dist/lib/server/routes/index.d.ts +0 -25
- package/dist/lib/server/routes/index.js +0 -66
- package/dist/lib/server/routes/mcpRoutes.d.ts +0 -9
- package/dist/lib/server/routes/mcpRoutes.js +0 -376
- package/dist/lib/server/routes/memoryRoutes.d.ts +0 -11
- package/dist/lib/server/routes/memoryRoutes.js +0 -366
- package/dist/lib/server/routes/openApiRoutes.d.ts +0 -34
- package/dist/lib/server/routes/openApiRoutes.js +0 -151
- package/dist/lib/server/routes/openaiProxyRoutes.d.ts +0 -38
- package/dist/lib/server/routes/openaiProxyRoutes.js +0 -404
- package/dist/lib/server/routes/toolRoutes.d.ts +0 -9
- package/dist/lib/server/routes/toolRoutes.js +0 -272
- package/dist/lib/server/streaming/dataStream.d.ts +0 -212
- package/dist/lib/server/streaming/dataStream.js +0 -502
- package/dist/lib/server/streaming/index.d.ts +0 -5
- package/dist/lib/server/streaming/index.js +0 -17
- package/dist/lib/server/utils/redaction.d.ts +0 -68
- package/dist/lib/server/utils/redaction.js +0 -321
- package/dist/lib/server/utils/validation.d.ts +0 -153
- package/dist/lib/server/utils/validation.js +0 -265
- package/dist/lib/server/voice/frameBus.d.ts +0 -8
- package/dist/lib/server/voice/frameBus.js +0 -25
- package/dist/lib/server/voice/tokenCompare.d.ts +0 -14
- package/dist/lib/server/voice/tokenCompare.js +0 -23
- package/dist/lib/server/voice/turnManager.d.ts +0 -15
- package/dist/lib/server/voice/turnManager.js +0 -36
- package/dist/lib/server/voice/voiceServerApp.d.ts +0 -1
- package/dist/lib/server/voice/voiceServerApp.js +0 -177
- package/dist/lib/server/voice/voiceWebSocketHandler.d.ts +0 -24
- package/dist/lib/server/voice/voiceWebSocketHandler.js +0 -669
- package/dist/lib/server/websocket/WebSocketHandler.d.ts +0 -107
- package/dist/lib/server/websocket/WebSocketHandler.js +0 -384
- package/dist/lib/server/websocket/index.d.ts +0 -4
- package/dist/lib/server/websocket/index.js +0 -5
- package/dist/lib/services/server/ai/observability/instrumentation.d.ts +0 -229
- package/dist/lib/services/server/ai/observability/instrumentation.js +0 -1244
- package/dist/lib/session/globalSessionState.d.ts +0 -71
- package/dist/lib/session/globalSessionState.js +0 -235
- package/dist/lib/skills/skillMatcher.d.ts +0 -55
- package/dist/lib/skills/skillMatcher.js +0 -170
- package/dist/lib/skills/skillSessionTracker.d.ts +0 -52
- package/dist/lib/skills/skillSessionTracker.js +0 -150
- package/dist/lib/skills/skillStoreRedis.d.ts +0 -30
- package/dist/lib/skills/skillStoreRedis.js +0 -114
- package/dist/lib/skills/skillStoreS3.d.ts +0 -56
- package/dist/lib/skills/skillStoreS3.js +0 -305
- package/dist/lib/skills/skillStores.d.ts +0 -58
- package/dist/lib/skills/skillStores.js +0 -341
- package/dist/lib/skills/skillTools.d.ts +0 -35
- package/dist/lib/skills/skillTools.js +0 -451
- package/dist/lib/skills/skillsManager.d.ts +0 -78
- package/dist/lib/skills/skillsManager.js +0 -281
- package/dist/lib/tasks/autoresearchTaskExecutor.d.ts +0 -31
- package/dist/lib/tasks/autoresearchTaskExecutor.js +0 -304
- package/dist/lib/tasks/backends/bullmqBackend.d.ts +0 -33
- package/dist/lib/tasks/backends/bullmqBackend.js +0 -206
- package/dist/lib/tasks/backends/nodeTimeoutBackend.d.ts +0 -27
- package/dist/lib/tasks/backends/nodeTimeoutBackend.js +0 -141
- package/dist/lib/tasks/backends/taskBackendRegistry.d.ts +0 -31
- package/dist/lib/tasks/backends/taskBackendRegistry.js +0 -66
- package/dist/lib/tasks/errors.d.ts +0 -33
- package/dist/lib/tasks/errors.js +0 -19
- package/dist/lib/tasks/store/fileTaskStore.d.ts +0 -43
- package/dist/lib/tasks/store/fileTaskStore.js +0 -179
- package/dist/lib/tasks/store/redisTaskStore.d.ts +0 -43
- package/dist/lib/tasks/store/redisTaskStore.js +0 -222
- package/dist/lib/tasks/taskExecutor.d.ts +0 -22
- package/dist/lib/tasks/taskExecutor.js +0 -170
- package/dist/lib/tasks/taskManager.d.ts +0 -65
- package/dist/lib/tasks/taskManager.js +0 -545
- package/dist/lib/tasks/tools/taskTools.d.ts +0 -20
- package/dist/lib/tasks/tools/taskTools.js +0 -265
- package/dist/lib/telemetry/attributes.d.ts +0 -136
- package/dist/lib/telemetry/attributes.js +0 -165
- package/dist/lib/telemetry/index.d.ts +0 -20
- package/dist/lib/telemetry/index.js +0 -28
- package/dist/lib/telemetry/telemetryService.d.ts +0 -58
- package/dist/lib/telemetry/telemetryService.js +0 -387
- package/dist/lib/telemetry/traceContext.d.ts +0 -9
- package/dist/lib/telemetry/traceContext.js +0 -19
- package/dist/lib/telemetry/tracers.d.ts +0 -38
- package/dist/lib/telemetry/tracers.js +0 -40
- package/dist/lib/telemetry/withSpan.d.ts +0 -39
- package/dist/lib/telemetry/withSpan.js +0 -138
- package/dist/lib/tools/toolDiscovery.d.ts +0 -70
- package/dist/lib/tools/toolDiscovery.js +0 -303
- package/dist/lib/tools/toolGate.d.ts +0 -16
- package/dist/lib/tools/toolGate.js +0 -51
- package/dist/lib/tools/toolPolicy.d.ts +0 -40
- package/dist/lib/tools/toolPolicy.js +0 -194
- package/dist/lib/types/action.d.ts +0 -207
- package/dist/lib/types/action.js +0 -7
- package/dist/lib/types/agentNetwork.d.ts +0 -1199
- package/dist/lib/types/agentNetwork.js +0 -8
- package/dist/lib/types/aliases.d.ts +0 -368
- package/dist/lib/types/aliases.js +0 -50
- package/dist/lib/types/analytics.d.ts +0 -215
- package/dist/lib/types/analytics.js +0 -6
- package/dist/lib/types/artifact.d.ts +0 -70
- package/dist/lib/types/artifact.js +0 -11
- package/dist/lib/types/auth.d.ts +0 -1140
- package/dist/lib/types/auth.js +0 -10
- package/dist/lib/types/autoresearch.d.ts +0 -206
- package/dist/lib/types/autoresearch.js +0 -18
- package/dist/lib/types/avatar.d.ts +0 -150
- package/dist/lib/types/avatar.js +0 -20
- package/dist/lib/types/circuitBreakerErrors.d.ts +0 -30
- package/dist/lib/types/circuitBreakerErrors.js +0 -35
- package/dist/lib/types/classifierRouter.d.ts +0 -194
- package/dist/lib/types/classifierRouter.js +0 -17
- package/dist/lib/types/cli.d.ts +0 -1734
- package/dist/lib/types/cli.js +0 -22
- package/dist/lib/types/client.d.ts +0 -1287
- package/dist/lib/types/client.js +0 -11
- package/dist/lib/types/codex.d.ts +0 -95
- package/dist/lib/types/codex.js +0 -15
- package/dist/lib/types/common.d.ts +0 -434
- package/dist/lib/types/common.js +0 -52
- package/dist/lib/types/config.d.ts +0 -506
- package/dist/lib/types/config.js +0 -54
- package/dist/lib/types/content.d.ts +0 -18
- package/dist/lib/types/content.js +0 -20
- package/dist/lib/types/context.d.ts +0 -587
- package/dist/lib/types/context.js +0 -401
- package/dist/lib/types/conversation.d.ts +0 -637
- package/dist/lib/types/conversation.js +0 -48
- package/dist/lib/types/conversationMemoryInterface.d.ts +0 -59
- package/dist/lib/types/conversationMemoryInterface.js +0 -7
- package/dist/lib/types/domain.d.ts +0 -62
- package/dist/lib/types/domain.js +0 -6
- package/dist/lib/types/dynamic.d.ts +0 -110
- package/dist/lib/types/dynamic.js +0 -10
- package/dist/lib/types/elicitation.d.ts +0 -278
- package/dist/lib/types/elicitation.js +0 -11
- package/dist/lib/types/enums.d.ts +0 -9
- package/dist/lib/types/enums.js +0 -10
- package/dist/lib/types/errors.d.ts +0 -188
- package/dist/lib/types/errors.js +0 -262
- package/dist/lib/types/evaluation.d.ts +0 -647
- package/dist/lib/types/evaluation.js +0 -2
- package/dist/lib/types/evaluationProviders.d.ts +0 -104
- package/dist/lib/types/evaluationProviders.js +0 -6
- package/dist/lib/types/exporter.d.ts +0 -257
- package/dist/lib/types/exporter.js +0 -6
- package/dist/lib/types/externalMcp.d.ts +0 -349
- package/dist/lib/types/externalMcp.js +0 -7
- package/dist/lib/types/file.d.ts +0 -616
- package/dist/lib/types/file.js +0 -5
- package/dist/lib/types/fileReference.d.ts +0 -243
- package/dist/lib/types/fileReference.js +0 -22
- package/dist/lib/types/generate.d.ts +0 -1520
- package/dist/lib/types/generate.js +0 -2
- package/dist/lib/types/grounding.d.ts +0 -231
- package/dist/lib/types/grounding.js +0 -12
- package/dist/lib/types/guardrails.d.ts +0 -116
- package/dist/lib/types/guardrails.js +0 -2
- package/dist/lib/types/hitl.d.ts +0 -237
- package/dist/lib/types/hitl.js +0 -9
- package/dist/lib/types/imageGen.d.ts +0 -255
- package/dist/lib/types/imageGen.js +0 -25
- package/dist/lib/types/index.d.ts +0 -86
- package/dist/lib/types/index.js +0 -98
- package/dist/lib/types/ioProcessor.d.ts +0 -119
- package/dist/lib/types/ioProcessor.js +0 -10
- package/dist/lib/types/isolatedAgent.d.ts +0 -365
- package/dist/lib/types/isolatedAgent.js +0 -12
- package/dist/lib/types/knowledge.d.ts +0 -342
- package/dist/lib/types/knowledge.js +0 -30
- package/dist/lib/types/livekit.d.ts +0 -512
- package/dist/lib/types/livekit.js +0 -13
- package/dist/lib/types/loopEngine.d.ts +0 -306
- package/dist/lib/types/loopEngine.js +0 -2
- package/dist/lib/types/mcp.d.ts +0 -2135
- package/dist/lib/types/mcp.js +0 -6
- package/dist/lib/types/mcpOutput.d.ts +0 -40
- package/dist/lib/types/mcpOutput.js +0 -9
- package/dist/lib/types/memory.d.ts +0 -96
- package/dist/lib/types/memory.js +0 -23
- package/dist/lib/types/middleware.d.ts +0 -435
- package/dist/lib/types/middleware.js +0 -2
- package/dist/lib/types/model.d.ts +0 -342
- package/dist/lib/types/model.js +0 -32
- package/dist/lib/types/modelPool.d.ts +0 -47
- package/dist/lib/types/modelPool.js +0 -11
- package/dist/lib/types/multimodal.d.ts +0 -614
- package/dist/lib/types/multimodal.js +0 -144
- package/dist/lib/types/music.d.ts +0 -172
- package/dist/lib/types/music.js +0 -21
- package/dist/lib/types/nativeTools.d.ts +0 -16
- package/dist/lib/types/nativeTools.js +0 -2
- package/dist/lib/types/noOutputSentinel.d.ts +0 -26
- package/dist/lib/types/noOutputSentinel.js +0 -2
- package/dist/lib/types/observability.d.ts +0 -502
- package/dist/lib/types/observability.js +0 -7
- package/dist/lib/types/openaiCompatible.d.ts +0 -287
- package/dist/lib/types/openaiCompatible.js +0 -2
- package/dist/lib/types/ppt.d.ts +0 -1093
- package/dist/lib/types/ppt.js +0 -37
- package/dist/lib/types/processor.d.ts +0 -993
- package/dist/lib/types/processor.js +0 -91
- package/dist/lib/types/providers.d.ts +0 -2155
- package/dist/lib/types/providers.js +0 -112
- package/dist/lib/types/proxy.d.ts +0 -2789
- package/dist/lib/types/proxy.js +0 -17
- package/dist/lib/types/proxyClient.d.ts +0 -54
- package/dist/lib/types/proxyClient.js +0 -2
- package/dist/lib/types/rag.d.ts +0 -1332
- package/dist/lib/types/rag.js +0 -2
- package/dist/lib/types/realtime.d.ts +0 -243
- package/dist/lib/types/realtime.js +0 -70
- package/dist/lib/types/replicate.d.ts +0 -67
- package/dist/lib/types/replicate.js +0 -10
- package/dist/lib/types/requestRouter.d.ts +0 -75
- package/dist/lib/types/requestRouter.js +0 -16
- package/dist/lib/types/safeFetch.d.ts +0 -24
- package/dist/lib/types/safeFetch.js +0 -7
- package/dist/lib/types/scorer.d.ts +0 -564
- package/dist/lib/types/scorer.js +0 -6
- package/dist/lib/types/sdk.d.ts +0 -23
- package/dist/lib/types/sdk.js +0 -9
- package/dist/lib/types/server.d.ts +0 -1192
- package/dist/lib/types/server.js +0 -68
- package/dist/lib/types/service.d.ts +0 -79
- package/dist/lib/types/service.js +0 -6
- package/dist/lib/types/skills.d.ts +0 -427
- package/dist/lib/types/skills.js +0 -17
- package/dist/lib/types/span.d.ts +0 -247
- package/dist/lib/types/span.js +0 -96
- package/dist/lib/types/stream.d.ts +0 -771
- package/dist/lib/types/stream.js +0 -2
- package/dist/lib/types/streamDedup.d.ts +0 -14
- package/dist/lib/types/streamDedup.js +0 -2
- package/dist/lib/types/streaming.d.ts +0 -15
- package/dist/lib/types/streaming.js +0 -2
- package/dist/lib/types/stt.d.ts +0 -585
- package/dist/lib/types/stt.js +0 -90
- package/dist/lib/types/subscription.d.ts +0 -1064
- package/dist/lib/types/subscription.js +0 -10
- package/dist/lib/types/task.d.ts +0 -313
- package/dist/lib/types/task.js +0 -37
- package/dist/lib/types/taskClassification.d.ts +0 -52
- package/dist/lib/types/taskClassification.js +0 -6
- package/dist/lib/types/toolDedup.d.ts +0 -45
- package/dist/lib/types/toolDedup.js +0 -14
- package/dist/lib/types/toolResolution.d.ts +0 -83
- package/dist/lib/types/toolResolution.js +0 -11
- package/dist/lib/types/toolRouting.d.ts +0 -350
- package/dist/lib/types/toolRouting.js +0 -19
- package/dist/lib/types/tools.d.ts +0 -531
- package/dist/lib/types/tools.js +0 -26
- package/dist/lib/types/tts.d.ts +0 -195
- package/dist/lib/types/tts.js +0 -65
- package/dist/lib/types/utilities.d.ts +0 -310
- package/dist/lib/types/utilities.js +0 -5
- package/dist/lib/types/vectorStoreChroma.d.ts +0 -67
- package/dist/lib/types/vectorStoreChroma.js +0 -12
- package/dist/lib/types/vectorStorePinecone.d.ts +0 -48
- package/dist/lib/types/vectorStorePinecone.js +0 -12
- package/dist/lib/types/video.d.ts +0 -89
- package/dist/lib/types/video.js +0 -15
- package/dist/lib/types/voice.d.ts +0 -272
- package/dist/lib/types/voice.js +0 -137
- package/dist/lib/types/workflow.d.ts +0 -598
- package/dist/lib/types/workflow.js +0 -24
- package/dist/lib/utils/analyticsUtils.d.ts +0 -37
- package/dist/lib/utils/analyticsUtils.js +0 -110
- package/dist/lib/utils/anthropicCacheBreakpoints.d.ts +0 -43
- package/dist/lib/utils/anthropicCacheBreakpoints.js +0 -151
- package/dist/lib/utils/anthropicTraceSanitizer.d.ts +0 -7
- package/dist/lib/utils/anthropicTraceSanitizer.js +0 -26
- package/dist/lib/utils/async/delay.d.ts +0 -40
- package/dist/lib/utils/async/delay.js +0 -43
- package/dist/lib/utils/async/index.d.ts +0 -23
- package/dist/lib/utils/async/index.js +0 -24
- package/dist/lib/utils/async/retry.d.ts +0 -107
- package/dist/lib/utils/async/retry.js +0 -172
- package/dist/lib/utils/async/withTimeout.d.ts +0 -85
- package/dist/lib/utils/async/withTimeout.js +0 -144
- package/dist/lib/utils/asyncMutex.d.ts +0 -14
- package/dist/lib/utils/asyncMutex.js +0 -61
- package/dist/lib/utils/audioFormatDetector.d.ts +0 -15
- package/dist/lib/utils/audioFormatDetector.js +0 -34
- package/dist/lib/utils/avatarProcessor.d.ts +0 -78
- package/dist/lib/utils/avatarProcessor.js +0 -173
- package/dist/lib/utils/cloneOptions.d.ts +0 -36
- package/dist/lib/utils/cloneOptions.js +0 -62
- package/dist/lib/utils/conversationMemory.d.ts +0 -80
- package/dist/lib/utils/conversationMemory.js +0 -670
- package/dist/lib/utils/csvProcessor.d.ts +0 -221
- package/dist/lib/utils/csvProcessor.js +0 -1527
- package/dist/lib/utils/csvUtils.d.ts +0 -26
- package/dist/lib/utils/csvUtils.js +0 -85
- package/dist/lib/utils/errorClassifier.d.ts +0 -30
- package/dist/lib/utils/errorClassifier.js +0 -183
- package/dist/lib/utils/errorHandling.d.ts +0 -398
- package/dist/lib/utils/errorHandling.js +0 -1282
- package/dist/lib/utils/evaluationUtils.d.ts +0 -27
- package/dist/lib/utils/evaluationUtils.js +0 -132
- package/dist/lib/utils/factoryProcessing.d.ts +0 -71
- package/dist/lib/utils/factoryProcessing.js +0 -590
- package/dist/lib/utils/fileDetector.d.ts +0 -198
- package/dist/lib/utils/fileDetector.js +0 -2806
- package/dist/lib/utils/generation.d.ts +0 -8
- package/dist/lib/utils/generation.js +0 -9
- package/dist/lib/utils/generationErrors.d.ts +0 -10
- package/dist/lib/utils/generationErrors.js +0 -11
- package/dist/lib/utils/imageCache.d.ts +0 -124
- package/dist/lib/utils/imageCache.js +0 -437
- package/dist/lib/utils/imageDetection.d.ts +0 -15
- package/dist/lib/utils/imageDetection.js +0 -53
- package/dist/lib/utils/imageProcessor.d.ts +0 -296
- package/dist/lib/utils/imageProcessor.js +0 -1158
- package/dist/lib/utils/isoBmff.d.ts +0 -24
- package/dist/lib/utils/isoBmff.js +0 -83
- package/dist/lib/utils/json/coerce.d.ts +0 -30
- package/dist/lib/utils/json/coerce.js +0 -412
- package/dist/lib/utils/json/extract.d.ts +0 -112
- package/dist/lib/utils/json/extract.js +0 -299
- package/dist/lib/utils/json/index.d.ts +0 -36
- package/dist/lib/utils/json/index.js +0 -37
- package/dist/lib/utils/json/safeParse.d.ts +0 -130
- package/dist/lib/utils/json/safeParse.js +0 -191
- package/dist/lib/utils/lifecycleCallbacks.d.ts +0 -56
- package/dist/lib/utils/lifecycleCallbacks.js +0 -100
- package/dist/lib/utils/lifecycleTimeout.d.ts +0 -25
- package/dist/lib/utils/lifecycleTimeout.js +0 -39
- package/dist/lib/utils/logSanitize.d.ts +0 -285
- package/dist/lib/utils/logSanitize.js +0 -555
- package/dist/lib/utils/logger.d.ts +0 -273
- package/dist/lib/utils/logger.js +0 -516
- package/dist/lib/utils/loggingFetch.d.ts +0 -29
- package/dist/lib/utils/loggingFetch.js +0 -60
- package/dist/lib/utils/loopUtils.d.ts +0 -70
- package/dist/lib/utils/loopUtils.js +0 -263
- package/dist/lib/utils/markupSniff.d.ts +0 -37
- package/dist/lib/utils/markupSniff.js +0 -125
- package/dist/lib/utils/mcpDefaults.d.ts +0 -54
- package/dist/lib/utils/mcpDefaults.js +0 -135
- package/dist/lib/utils/mcpErrorText.d.ts +0 -37
- package/dist/lib/utils/mcpErrorText.js +0 -95
- package/dist/lib/utils/mediaDuration.d.ts +0 -23
- package/dist/lib/utils/mediaDuration.js +0 -45
- package/dist/lib/utils/messageBuilder.d.ts +0 -59
- package/dist/lib/utils/messageBuilder.js +0 -2716
- package/dist/lib/utils/mimeTypeHints.d.ts +0 -40
- package/dist/lib/utils/mimeTypeHints.js +0 -122
- package/dist/lib/utils/modelAliasResolver.d.ts +0 -17
- package/dist/lib/utils/modelAliasResolver.js +0 -55
- package/dist/lib/utils/modelChoices.d.ts +0 -75
- package/dist/lib/utils/modelChoices.js +0 -698
- package/dist/lib/utils/modelDetection.d.ts +0 -37
- package/dist/lib/utils/modelDetection.js +0 -131
- package/dist/lib/utils/modelRouter.d.ts +0 -91
- package/dist/lib/utils/modelRouter.js +0 -293
- package/dist/lib/utils/multimodalOptionsBuilder.d.ts +0 -74
- package/dist/lib/utils/multimodalOptionsBuilder.js +0 -74
- package/dist/lib/utils/musicProcessor.d.ts +0 -77
- package/dist/lib/utils/musicProcessor.js +0 -190
- package/dist/lib/utils/noOutputSentinel.d.ts +0 -67
- package/dist/lib/utils/noOutputSentinel.js +0 -180
- package/dist/lib/utils/observabilityHelpers.d.ts +0 -27
- package/dist/lib/utils/observabilityHelpers.js +0 -48
- package/dist/lib/utils/optionsConversion.d.ts +0 -47
- package/dist/lib/utils/optionsConversion.js +0 -128
- package/dist/lib/utils/optionsUtils.d.ts +0 -175
- package/dist/lib/utils/optionsUtils.js +0 -970
- package/dist/lib/utils/parameterValidation.d.ts +0 -200
- package/dist/lib/utils/parameterValidation.js +0 -981
- package/dist/lib/utils/pdfProcessor.d.ts +0 -137
- package/dist/lib/utils/pdfProcessor.js +0 -689
- package/dist/lib/utils/performance.d.ts +0 -93
- package/dist/lib/utils/performance.js +0 -223
- package/dist/lib/utils/piiDetector.d.ts +0 -24
- package/dist/lib/utils/piiDetector.js +0 -221
- package/dist/lib/utils/pricing.d.ts +0 -26
- package/dist/lib/utils/pricing.js +0 -890
- package/dist/lib/utils/promptRedaction.d.ts +0 -22
- package/dist/lib/utils/promptRedaction.js +0 -63
- package/dist/lib/utils/providerConfig.d.ts +0 -393
- package/dist/lib/utils/providerConfig.js +0 -1363
- package/dist/lib/utils/providerErrorClassification.d.ts +0 -58
- package/dist/lib/utils/providerErrorClassification.js +0 -149
- package/dist/lib/utils/providerHealth.d.ts +0 -253
- package/dist/lib/utils/providerHealth.js +0 -1479
- package/dist/lib/utils/providerRetry.d.ts +0 -68
- package/dist/lib/utils/providerRetry.js +0 -230
- package/dist/lib/utils/providerSetupMessages.d.ts +0 -8
- package/dist/lib/utils/providerSetupMessages.js +0 -122
- package/dist/lib/utils/providerUtils.d.ts +0 -38
- package/dist/lib/utils/providerUtils.js +0 -366
- package/dist/lib/utils/rateLimiter.d.ts +0 -75
- package/dist/lib/utils/rateLimiter.js +0 -201
- package/dist/lib/utils/redis.d.ts +0 -119
- package/dist/lib/utils/redis.js +0 -530
- package/dist/lib/utils/responseValidator.d.ts +0 -21
- package/dist/lib/utils/responseValidator.js +0 -354
- package/dist/lib/utils/retryAfter.d.ts +0 -7
- package/dist/lib/utils/retryAfter.js +0 -44
- package/dist/lib/utils/retryHandler.d.ts +0 -82
- package/dist/lib/utils/retryHandler.js +0 -270
- package/dist/lib/utils/retryability.d.ts +0 -27
- package/dist/lib/utils/retryability.js +0 -45
- package/dist/lib/utils/safeFetch.d.ts +0 -26
- package/dist/lib/utils/safeFetch.js +0 -121
- package/dist/lib/utils/sanitizers/filename.d.ts +0 -116
- package/dist/lib/utils/sanitizers/filename.js +0 -366
- package/dist/lib/utils/sanitizers/html.d.ts +0 -170
- package/dist/lib/utils/sanitizers/html.js +0 -326
- package/dist/lib/utils/sanitizers/index.d.ts +0 -26
- package/dist/lib/utils/sanitizers/index.js +0 -30
- package/dist/lib/utils/sanitizers/svg.d.ts +0 -71
- package/dist/lib/utils/sanitizers/svg.js +0 -482
- package/dist/lib/utils/schemaConversion.d.ts +0 -56
- package/dist/lib/utils/schemaConversion.js +0 -656
- package/dist/lib/utils/sizeGuard.d.ts +0 -34
- package/dist/lib/utils/sizeGuard.js +0 -45
- package/dist/lib/utils/ssrfGuard.d.ts +0 -60
- package/dist/lib/utils/ssrfGuard.js +0 -446
- package/dist/lib/utils/sttProcessor.d.ts +0 -125
- package/dist/lib/utils/sttProcessor.js +0 -301
- package/dist/lib/utils/systemMessages.d.ts +0 -29
- package/dist/lib/utils/systemMessages.js +0 -45
- package/dist/lib/utils/taskClassificationUtils.d.ts +0 -55
- package/dist/lib/utils/taskClassificationUtils.js +0 -150
- package/dist/lib/utils/taskClassifier.d.ts +0 -23
- package/dist/lib/utils/taskClassifier.js +0 -95
- package/dist/lib/utils/textEncoding.d.ts +0 -25
- package/dist/lib/utils/textEncoding.js +0 -141
- package/dist/lib/utils/thinkingConfig.d.ts +0 -76
- package/dist/lib/utils/thinkingConfig.js +0 -105
- package/dist/lib/utils/timeout.d.ts +0 -158
- package/dist/lib/utils/timeout.js +0 -427
- package/dist/lib/utils/tokenEstimation.d.ts +0 -90
- package/dist/lib/utils/tokenEstimation.js +0 -187
- package/dist/lib/utils/tokenLimits.d.ts +0 -53
- package/dist/lib/utils/tokenLimits.js +0 -236
- package/dist/lib/utils/tokenUtils.d.ts +0 -101
- package/dist/lib/utils/tokenUtils.js +0 -323
- package/dist/lib/utils/tool.d.ts +0 -8
- package/dist/lib/utils/tool.js +0 -9
- package/dist/lib/utils/toolCallRepair.d.ts +0 -14
- package/dist/lib/utils/toolCallRepair.js +0 -286
- package/dist/lib/utils/toolChoice.d.ts +0 -4
- package/dist/lib/utils/toolChoice.js +0 -7
- package/dist/lib/utils/toolEndEmitter.d.ts +0 -25
- package/dist/lib/utils/toolEndEmitter.js +0 -65
- package/dist/lib/utils/toolUtils.d.ts +0 -40
- package/dist/lib/utils/toolUtils.js +0 -76
- package/dist/lib/utils/transformationUtils.d.ts +0 -218
- package/dist/lib/utils/transformationUtils.js +0 -578
- package/dist/lib/utils/tripwireEvaluator.d.ts +0 -73
- package/dist/lib/utils/tripwireEvaluator.js +0 -285
- package/dist/lib/utils/tryImport.d.ts +0 -35
- package/dist/lib/utils/tryImport.js +0 -95
- package/dist/lib/utils/ttsProcessor.d.ts +0 -159
- package/dist/lib/utils/ttsProcessor.js +0 -293
- package/dist/lib/utils/typeUtils.d.ts +0 -77
- package/dist/lib/utils/typeUtils.js +0 -98
- package/dist/lib/utils/videoAnalysisProcessor.d.ts +0 -24
- package/dist/lib/utils/videoAnalysisProcessor.js +0 -61
- package/dist/lib/utils/videoProcessor.d.ts +0 -64
- package/dist/lib/utils/videoProcessor.js +0 -196
- package/dist/lib/voice/RealtimeVoiceAPI.d.ts +0 -186
- package/dist/lib/voice/RealtimeVoiceAPI.js +0 -431
- package/dist/lib/voice/audio-utils.d.ts +0 -135
- package/dist/lib/voice/audio-utils.js +0 -435
- package/dist/lib/voice/errors.d.ts +0 -123
- package/dist/lib/voice/errors.js +0 -386
- package/dist/lib/voice/index.d.ts +0 -49
- package/dist/lib/voice/index.js +0 -177
- package/dist/lib/voice/livekit/brain.d.ts +0 -21
- package/dist/lib/voice/livekit/brain.js +0 -75
- package/dist/lib/voice/livekit/config.d.ts +0 -52
- package/dist/lib/voice/livekit/config.js +0 -134
- package/dist/lib/voice/livekit/eventBridge.d.ts +0 -27
- package/dist/lib/voice/livekit/eventBridge.js +0 -360
- package/dist/lib/voice/livekit/index.d.ts +0 -22
- package/dist/lib/voice/livekit/index.js +0 -23
- package/dist/lib/voice/livekit/realtimeEventBridge.d.ts +0 -14
- package/dist/lib/voice/livekit/realtimeEventBridge.js +0 -161
- package/dist/lib/voice/livekit/realtimeMcpTools.d.ts +0 -31
- package/dist/lib/voice/livekit/realtimeMcpTools.js +0 -206
- package/dist/lib/voice/livekit/realtimeVoiceAgent.d.ts +0 -26
- package/dist/lib/voice/livekit/realtimeVoiceAgent.js +0 -365
- package/dist/lib/voice/livekit/roomContext.d.ts +0 -23
- package/dist/lib/voice/livekit/roomContext.js +0 -57
- package/dist/lib/voice/livekit/roomDispatch.d.ts +0 -24
- package/dist/lib/voice/livekit/roomDispatch.js +0 -31
- package/dist/lib/voice/livekit/schemaSanitizer.d.ts +0 -26
- package/dist/lib/voice/livekit/schemaSanitizer.js +0 -144
- package/dist/lib/voice/livekit/tokens.d.ts +0 -19
- package/dist/lib/voice/livekit/tokens.js +0 -51
- package/dist/lib/voice/livekit/vertexAuth.d.ts +0 -30
- package/dist/lib/voice/livekit/vertexAuth.js +0 -73
- package/dist/lib/voice/livekit/voiceAgent.d.ts +0 -32
- package/dist/lib/voice/livekit/voiceAgent.js +0 -425
- package/dist/lib/voice/livekit/voiceAgentWorker.d.ts +0 -29
- package/dist/lib/voice/livekit/voiceAgentWorker.js +0 -122
- package/dist/lib/voice/providers/AzureSTT.d.ts +0 -47
- package/dist/lib/voice/providers/AzureSTT.js +0 -345
- package/dist/lib/voice/providers/AzureTTS.d.ts +0 -59
- package/dist/lib/voice/providers/AzureTTS.js +0 -349
- package/dist/lib/voice/providers/CartesiaTTS.d.ts +0 -31
- package/dist/lib/voice/providers/CartesiaTTS.js +0 -189
- package/dist/lib/voice/providers/DeepgramSTT.d.ts +0 -40
- package/dist/lib/voice/providers/DeepgramSTT.js +0 -550
- package/dist/lib/voice/providers/ElevenLabsTTS.d.ts +0 -53
- package/dist/lib/voice/providers/ElevenLabsTTS.js +0 -311
- package/dist/lib/voice/providers/FishAudioTTS.d.ts +0 -27
- package/dist/lib/voice/providers/FishAudioTTS.js +0 -183
- package/dist/lib/voice/providers/GeminiLive.d.ts +0 -52
- package/dist/lib/voice/providers/GeminiLive.js +0 -372
- package/dist/lib/voice/providers/GoogleSTT.d.ts +0 -60
- package/dist/lib/voice/providers/GoogleSTT.js +0 -454
- package/dist/lib/voice/providers/OpenAIRealtime.d.ts +0 -47
- package/dist/lib/voice/providers/OpenAIRealtime.js +0 -412
- package/dist/lib/voice/providers/OpenAISTT.d.ts +0 -41
- package/dist/lib/voice/providers/OpenAISTT.js +0 -286
- package/dist/lib/voice/providers/OpenAITTS.d.ts +0 -55
- package/dist/lib/voice/providers/OpenAITTS.js +0 -285
- package/dist/lib/voice/stream-handler.d.ts +0 -166
- package/dist/lib/voice/stream-handler.js +0 -514
- package/dist/lib/workflow/LAYER-EXAMPLES.d.ts +0 -13
- package/dist/lib/workflow/LAYER-EXAMPLES.js +0 -312
- package/dist/lib/workflow/PROMPT-EXAMPLES.d.ts +0 -117
- package/dist/lib/workflow/PROMPT-EXAMPLES.js +0 -246
- package/dist/lib/workflow/config.d.ts +0 -376
- package/dist/lib/workflow/config.js +0 -399
- package/dist/lib/workflow/core/ensembleExecutor.d.ts +0 -55
- package/dist/lib/workflow/core/ensembleExecutor.js +0 -451
- package/dist/lib/workflow/core/judgeScorer.d.ts +0 -25
- package/dist/lib/workflow/core/judgeScorer.js +0 -568
- package/dist/lib/workflow/core/responseConditioner.d.ts +0 -21
- package/dist/lib/workflow/core/responseConditioner.js +0 -243
- package/dist/lib/workflow/core/workflowRegistry.d.ts +0 -72
- package/dist/lib/workflow/core/workflowRegistry.js +0 -305
- package/dist/lib/workflow/core/workflowRunner.d.ts +0 -61
- package/dist/lib/workflow/core/workflowRunner.js +0 -642
- package/dist/lib/workflow/index.d.ts +0 -21
- package/dist/lib/workflow/index.js +0 -46
- package/dist/lib/workflow/utils/workflowMetrics.d.ts +0 -74
- package/dist/lib/workflow/utils/workflowMetrics.js +0 -312
- package/dist/lib/workflow/utils/workflowValidation.d.ts +0 -29
- package/dist/lib/workflow/utils/workflowValidation.js +0 -421
- package/dist/lib/workflow/workflows/adaptiveWorkflow.d.ts +0 -72
- package/dist/lib/workflow/workflows/adaptiveWorkflow.js +0 -367
- package/dist/lib/workflow/workflows/consensusWorkflow.d.ts +0 -69
- package/dist/lib/workflow/workflows/consensusWorkflow.js +0 -193
- package/dist/lib/workflow/workflows/fallbackWorkflow.d.ts +0 -49
- package/dist/lib/workflow/workflows/fallbackWorkflow.js +0 -226
- package/dist/lib/workflow/workflows/multiJudgeWorkflow.d.ts +0 -70
- package/dist/lib/workflow/workflows/multiJudgeWorkflow.js +0 -352
- package/dist/providers/googleVertex/utils.d.ts +0 -12
- package/dist/providers/googleVertex/utils.js +0 -286
|
@@ -1,1158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Image processing utilities for multimodal support
|
|
3
|
-
* Handles format conversion for different AI providers
|
|
4
|
-
*/
|
|
5
|
-
import { basename } from "path";
|
|
6
|
-
import { SUPPORTED_INPUT_IMAGE_MIME_TYPES } from "../adapters/imageFormatSupport.js";
|
|
7
|
-
import { logger } from "./logger.js";
|
|
8
|
-
import { redactPathFromMessage, redactUrlForError, redactUrlsInText, sanitizeErrorCause, } from "./logSanitize.js";
|
|
9
|
-
import { urlDownloadRateLimiter } from "./rateLimiter.js";
|
|
10
|
-
import { withRetry } from "./retryHandler.js";
|
|
11
|
-
import { SYSTEM_LIMITS } from "../core/constants.js";
|
|
12
|
-
import { SIZE_LIMITS_BYTES } from "../processors/config/sizeLimits.js";
|
|
13
|
-
import { getImageCache } from "./imageCache.js";
|
|
14
|
-
import { ErrorFactory, NeuroLinkError } from "./errorHandling.js";
|
|
15
|
-
import { detectIsoBmffImageMimeType, hasFtypBoxSignature } from "./isoBmff.js";
|
|
16
|
-
/**
|
|
17
|
-
* Minimum bytes required just to detect an image format from magic bytes (#293).
|
|
18
|
-
*/
|
|
19
|
-
export const MIN_IMAGE_SIZE = 12;
|
|
20
|
-
/**
|
|
21
|
-
* Minimum plausible byte size for a non-empty image of each format (#293). A
|
|
22
|
-
* buffer that carries a format's magic bytes but is smaller than this is
|
|
23
|
-
* truncated/corrupt and would fail (or render blank) downstream — reject early
|
|
24
|
-
* with a clear message instead.
|
|
25
|
-
*
|
|
26
|
-
* Each threshold approximates the smallest byte count that format's
|
|
27
|
-
* container can structurally be while still holding the mandatory
|
|
28
|
-
* header/chunk skeleton for a minimal (e.g. 1×1 pixel) image — not an exact
|
|
29
|
-
* spec minimum, but close enough that anything smaller is unambiguously
|
|
30
|
-
* truncated:
|
|
31
|
-
* - **PNG (67)**: 8-byte signature + IHDR chunk (4 len + 4 type + 13 data +
|
|
32
|
-
* 4 CRC = 25) + a minimal IDAT chunk carrying one zlib-compressed
|
|
33
|
-
* scanline (~22 bytes) + IEND chunk (4 len + 4 type + 0 data + 4 CRC =
|
|
34
|
-
* 12) — matches the commonly-cited size of the smallest possible valid
|
|
35
|
-
* PNG (a 1×1 transparent pixel).
|
|
36
|
-
* - **JPEG (125)**: SOI + APP0/JFIF marker (18) + at least one DQT
|
|
37
|
-
* quantization table (~69 for one 8-bit luma table) + SOF0 + DHT + SOS
|
|
38
|
-
* headers + a minimal entropy-coded scan + EOI — the smallest legal
|
|
39
|
-
* baseline-JPEG skeleton for a 1×1 image.
|
|
40
|
-
* - **GIF (43)**: 6-byte GIF87a/89a header + 7-byte Logical Screen
|
|
41
|
-
* Descriptor + a 2-color (6-byte) color table + 10-byte Image
|
|
42
|
-
* Descriptor + minimal LZW-coded image sub-blocks + 1-byte trailer.
|
|
43
|
-
* - **WEBP (20)**: RIFF container header ("RIFF" + size + "WEBP" = 12
|
|
44
|
-
* bytes) + the first chunk's fourCC + size (8 bytes) — enough to confirm
|
|
45
|
-
* a well-formed RIFF/WEBP container and its first chunk, before any
|
|
46
|
-
* actual VP8/VP8L bitstream payload.
|
|
47
|
-
* - **AVIF (100)**: ISOBMFF `ftyp` box plus the mandatory `meta` box
|
|
48
|
-
* skeleton (`hdlr`/`pitm`/`iloc`/`iinf` sub-boxes) — roughly the minimum
|
|
49
|
-
* to hold AVIF's required box structure before any AV1 image item data.
|
|
50
|
-
*/
|
|
51
|
-
export const MIN_VALID_IMAGE_SIZE = {
|
|
52
|
-
"image/png": 67,
|
|
53
|
-
"image/jpeg": 125,
|
|
54
|
-
"image/gif": 43,
|
|
55
|
-
"image/webp": 20,
|
|
56
|
-
"image/avif": 100,
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Network error codes that should trigger a retry
|
|
60
|
-
*/
|
|
61
|
-
const RETRYABLE_ERROR_CODES = new Set([
|
|
62
|
-
"ECONNRESET",
|
|
63
|
-
"ENOTFOUND",
|
|
64
|
-
"ECONNREFUSED",
|
|
65
|
-
"ETIMEDOUT",
|
|
66
|
-
"ERR_NETWORK",
|
|
67
|
-
]);
|
|
68
|
-
/**
|
|
69
|
-
* Determines if an HTTP error is retryable based on status code
|
|
70
|
-
* Only network errors and certain HTTP status codes should be retried
|
|
71
|
-
* 4xx client errors like 404 (Not Found) and 403 (Forbidden) should NOT be retried
|
|
72
|
-
*
|
|
73
|
-
* @param error - The error to check
|
|
74
|
-
* @returns true if the error is retryable, false otherwise
|
|
75
|
-
*/
|
|
76
|
-
function isRetryableDownloadError(error) {
|
|
77
|
-
// Network-related errors should be retried
|
|
78
|
-
if (error && typeof error === "object") {
|
|
79
|
-
const errorCode = error.code;
|
|
80
|
-
const errorName = error.name;
|
|
81
|
-
if (RETRYABLE_ERROR_CODES.has(errorCode || "") ||
|
|
82
|
-
errorName === "AbortError") {
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
// Check for HTTP status code in error message for retryable errors
|
|
87
|
-
// Only retry on 5xx server errors, 429 (Too Many Requests), and 408 (Request Timeout)
|
|
88
|
-
// Do NOT retry on 4xx client errors like 404 (Not Found) or 403 (Forbidden)
|
|
89
|
-
if (error instanceof Error) {
|
|
90
|
-
const message = error.message;
|
|
91
|
-
// Extract HTTP status from error message like "HTTP 503: Service Unavailable"
|
|
92
|
-
const statusMatch = message.match(/HTTP (\d{3}):/);
|
|
93
|
-
if (statusMatch) {
|
|
94
|
-
const status = parseInt(statusMatch[1], 10);
|
|
95
|
-
// Retry on 5xx server errors, 429 (rate limit), 408 (timeout)
|
|
96
|
-
return status >= 500 || status === 429 || status === 408;
|
|
97
|
-
}
|
|
98
|
-
// Check for timeout/network-related error messages
|
|
99
|
-
// Use more precise matching to avoid false positives like "No timeout specified"
|
|
100
|
-
if (/\b(request timed out|operation timed out|connection timed out|timed out)\b/i.test(message) ||
|
|
101
|
-
/\bnetwork (error|failure|unreachable|down)\b/i.test(message)) {
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Reject `detectImageType()`'s `application/octet-stream` sentinel — the
|
|
109
|
-
* honest "no known image signature (PNG/JPEG/GIF/WebP/BMP/TIFF/ICO/SVG/AVIF/HEIC/HEIF)
|
|
110
|
-
* matched" fallback (#261/#286). Packaging that sentinel into a data URI
|
|
111
|
-
* hands vision providers (OpenAI/Anthropic/Google) a MIME type they reject
|
|
112
|
-
* outright with an HTTP 400, so every public conversion path that turns
|
|
113
|
-
* unknown bytes into image output must fail loud here first instead of
|
|
114
|
-
* letting the sentinel slip through to a caller.
|
|
115
|
-
*
|
|
116
|
-
* @param mediaType - The MIME type returned by `detectImageType()`.
|
|
117
|
-
* @throws Error if `mediaType` is the octet-stream sentinel.
|
|
118
|
-
*/
|
|
119
|
-
function assertKnownImageType(mediaType) {
|
|
120
|
-
if (mediaType === "application/octet-stream") {
|
|
121
|
-
logger.error("Unable to detect a supported image format from file content");
|
|
122
|
-
throw new Error("Unsupported or corrupted image: no known image signature " +
|
|
123
|
-
"(PNG/JPEG/GIF/WebP/BMP/TIFF/ICO/SVG/AVIF/HEIC/HEIF) was found in the file content.");
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Image processor class for handling provider-specific image formatting
|
|
128
|
-
*/
|
|
129
|
-
export class ImageProcessor {
|
|
130
|
-
/**
|
|
131
|
-
* Process image Buffer (unified interface)
|
|
132
|
-
* Matches CSVProcessor.process() signature for consistency
|
|
133
|
-
*
|
|
134
|
-
* @param content - Image file as Buffer
|
|
135
|
-
* @param options - Processing options (unused for now)
|
|
136
|
-
* @returns Processed image as data URI
|
|
137
|
-
*/
|
|
138
|
-
static async process(content, _options) {
|
|
139
|
-
// #293: reject empty AND small/truncated buffers (not just 0 bytes) before
|
|
140
|
-
// processing; returns the detected media type.
|
|
141
|
-
const mediaType = this.validateBufferNotEmpty(content);
|
|
142
|
-
// #261/#286 follow-up: fail loud instead of packaging the octet-stream
|
|
143
|
-
// sentinel as a "valid" image (see assertKnownImageType() above).
|
|
144
|
-
assertKnownImageType(mediaType);
|
|
145
|
-
const base64 = ImageProcessor.safeBase64Convert(content, "image processing");
|
|
146
|
-
const dataUri = `data:${mediaType};base64,${base64}`;
|
|
147
|
-
// Validate output before returning
|
|
148
|
-
this.validateProcessOutput(dataUri, base64, mediaType);
|
|
149
|
-
return {
|
|
150
|
-
type: "image",
|
|
151
|
-
content: dataUri,
|
|
152
|
-
mimeType: mediaType,
|
|
153
|
-
metadata: {
|
|
154
|
-
confidence: 100,
|
|
155
|
-
size: content.length,
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Strict magic-byte match: does `content` actually begin with `mediaType`'s
|
|
161
|
-
* signature? `detectImageType` returns `image/jpeg` as a *fallback* for
|
|
162
|
-
* unrecognized data, so a per-format minimum must only be enforced when the
|
|
163
|
-
* bytes genuinely match — otherwise valid BMP/TIFF/unknown buffers would be
|
|
164
|
-
* wrongly rejected as "truncated jpeg" (#293 review).
|
|
165
|
-
*/
|
|
166
|
-
static hasStrictImageMagic(content, mediaType) {
|
|
167
|
-
const b = content;
|
|
168
|
-
switch (mediaType) {
|
|
169
|
-
case "image/png":
|
|
170
|
-
return (b.length >= 4 &&
|
|
171
|
-
b[0] === 0x89 &&
|
|
172
|
-
b[1] === 0x50 &&
|
|
173
|
-
b[2] === 0x4e &&
|
|
174
|
-
b[3] === 0x47);
|
|
175
|
-
case "image/jpeg":
|
|
176
|
-
return b.length >= 3 && b[0] === 0xff && b[1] === 0xd8 && b[2] === 0xff;
|
|
177
|
-
case "image/gif":
|
|
178
|
-
return b.length >= 3 && b[0] === 0x47 && b[1] === 0x49 && b[2] === 0x46;
|
|
179
|
-
case "image/webp":
|
|
180
|
-
return (b.length >= 12 &&
|
|
181
|
-
b.subarray(0, 4).toString("latin1") === "RIFF" &&
|
|
182
|
-
b.subarray(8, 12).toString("latin1") === "WEBP");
|
|
183
|
-
case "image/avif":
|
|
184
|
-
return (b.length >= 12 &&
|
|
185
|
-
b.subarray(4, 8).toString("latin1") === "ftyp" &&
|
|
186
|
-
b.subarray(8, 12).toString("latin1").startsWith("avif"));
|
|
187
|
-
default:
|
|
188
|
-
return false;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Validate that a buffer is a plausibly-complete image (#293): non-empty and,
|
|
193
|
-
* for a strictly-identified raster format, at least the minimum plausible byte
|
|
194
|
-
* size. Returns the detected media type.
|
|
195
|
-
*
|
|
196
|
-
* @throws Error when the buffer is empty or a recognized format is truncated.
|
|
197
|
-
*/
|
|
198
|
-
static validateBufferNotEmpty(content) {
|
|
199
|
-
if (content.length === 0) {
|
|
200
|
-
logger.error("Empty buffer provided");
|
|
201
|
-
throw ErrorFactory.imageBufferInvalid("Invalid image processing: buffer is empty");
|
|
202
|
-
}
|
|
203
|
-
const mediaType = this.detectImageType(content);
|
|
204
|
-
// SVG is text and can be legitimately tiny (e.g. `<svg/>`), so the raster
|
|
205
|
-
// size floors don't apply to it (#293 review).
|
|
206
|
-
if (mediaType === "image/svg+xml") {
|
|
207
|
-
return mediaType;
|
|
208
|
-
}
|
|
209
|
-
// A buffer too small to carry any raster header is not a usable image.
|
|
210
|
-
if (content.length < MIN_IMAGE_SIZE) {
|
|
211
|
-
throw ErrorFactory.imageBufferInvalid(`Invalid image processing: buffer too small (${content.length} bytes) — ` +
|
|
212
|
-
`a minimum of ${MIN_IMAGE_SIZE} bytes is required for a valid image.`);
|
|
213
|
-
}
|
|
214
|
-
// Only enforce a per-format minimum when the format was strictly identified
|
|
215
|
-
// from magic bytes (never from detectImageType's jpeg fallback), so valid
|
|
216
|
-
// BMP/TIFF/unknown buffers are not mis-rejected as "truncated jpeg".
|
|
217
|
-
const minForFormat = MIN_VALID_IMAGE_SIZE[mediaType];
|
|
218
|
-
if (minForFormat !== undefined &&
|
|
219
|
-
content.length < minForFormat &&
|
|
220
|
-
this.hasStrictImageMagic(content, mediaType)) {
|
|
221
|
-
throw ErrorFactory.imageBufferInvalid(`Invalid image processing: ${mediaType} buffer is truncated ` +
|
|
222
|
-
`(${content.length} bytes, minimum ${minForFormat} for a valid ${mediaType}).`);
|
|
223
|
-
}
|
|
224
|
-
return mediaType;
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Validate processed output meets required format
|
|
228
|
-
* Checks:
|
|
229
|
-
* - Base64 content is non-empty
|
|
230
|
-
* - Data URI format is valid (data:{mimeType};base64,{content})
|
|
231
|
-
* - MIME type is in the allowed list
|
|
232
|
-
* @param dataUri - The complete data URI string
|
|
233
|
-
* @param base64 - The base64-encoded content
|
|
234
|
-
* @param mediaType - The MIME type of the image
|
|
235
|
-
* @throws Error if any validation fails
|
|
236
|
-
*/
|
|
237
|
-
static validateProcessOutput(dataUri, base64, mediaType) {
|
|
238
|
-
// Validate base64 is non-empty (check first for better error message)
|
|
239
|
-
if (base64.length === 0) {
|
|
240
|
-
logger.error("Empty base64 content generated");
|
|
241
|
-
throw new Error("Invalid image processing: base64 content is empty");
|
|
242
|
-
}
|
|
243
|
-
// Validate data URI format with proper base64 character validation
|
|
244
|
-
// Base64 can only have 0, 1, or 2 padding characters at the end
|
|
245
|
-
const dataUriRegex = /^data:[^;]+;base64,[A-Za-z0-9+/]*={0,2}$/;
|
|
246
|
-
if (!dataUriRegex.test(dataUri)) {
|
|
247
|
-
logger.error("Invalid data URI format generated", { dataUri });
|
|
248
|
-
throw new Error("Invalid data URI format: must be data:{mimeType};base64,{content}");
|
|
249
|
-
}
|
|
250
|
-
// Defensive check: ensure detectImageType() returns valid MIME type
|
|
251
|
-
// This validation protects against future changes to detectImageType()
|
|
252
|
-
if (!this.validateImageFormat(mediaType)) {
|
|
253
|
-
logger.error("Invalid MIME type generated", { mediaType });
|
|
254
|
-
throw new Error(`Invalid MIME type: ${mediaType} is not in allowed list`);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Process image for OpenAI (requires data URI format)
|
|
259
|
-
*/
|
|
260
|
-
static processImageForOpenAI(image) {
|
|
261
|
-
try {
|
|
262
|
-
if (typeof image === "string") {
|
|
263
|
-
// Handle URLs
|
|
264
|
-
if (image.startsWith("http")) {
|
|
265
|
-
return image;
|
|
266
|
-
}
|
|
267
|
-
// Handle data URIs
|
|
268
|
-
if (image.startsWith("data:")) {
|
|
269
|
-
return image;
|
|
270
|
-
}
|
|
271
|
-
// Handle base64 - convert to data URI
|
|
272
|
-
return `data:image/jpeg;base64,${image}`;
|
|
273
|
-
}
|
|
274
|
-
// Handle Buffer - convert to data URI
|
|
275
|
-
const base64 = ImageProcessor.safeBase64Convert(image, "OpenAI image input");
|
|
276
|
-
return `data:image/jpeg;base64,${base64}`;
|
|
277
|
-
}
|
|
278
|
-
catch (error) {
|
|
279
|
-
// Preserve typed errors (e.g. IMAGE_TOO_LARGE) as-is — don't flatten
|
|
280
|
-
// them into a generic Error and lose the error `code` for callers.
|
|
281
|
-
if (error instanceof NeuroLinkError) {
|
|
282
|
-
throw error;
|
|
283
|
-
}
|
|
284
|
-
logger.error("Failed to process image for OpenAI:", error);
|
|
285
|
-
throw new Error(`Image processing failed for OpenAI: ${error instanceof Error ? error.message : "Unknown error"}`, { cause: error });
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Process image for Google AI (requires base64 without data URI prefix)
|
|
290
|
-
*/
|
|
291
|
-
static processImageForGoogle(image) {
|
|
292
|
-
try {
|
|
293
|
-
let base64Data;
|
|
294
|
-
let mimeType = "image/jpeg"; // Default
|
|
295
|
-
if (typeof image === "string") {
|
|
296
|
-
if (image.startsWith("data:")) {
|
|
297
|
-
// Extract mime type and base64 from data URI
|
|
298
|
-
const match = image.match(/^data:([^;]+);base64,(.+)$/);
|
|
299
|
-
if (match) {
|
|
300
|
-
mimeType = match[1];
|
|
301
|
-
base64Data = match[2];
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
base64Data = image.split(",")[1] || image;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
base64Data = image;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
base64Data = ImageProcessor.safeBase64Convert(image, "provider image input");
|
|
313
|
-
}
|
|
314
|
-
return {
|
|
315
|
-
mimeType,
|
|
316
|
-
data: base64Data, // Google wants base64 WITHOUT data URI prefix
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
catch (error) {
|
|
320
|
-
// Preserve typed errors (e.g. IMAGE_TOO_LARGE) as-is — don't flatten
|
|
321
|
-
// them into a generic Error and lose the error `code` for callers.
|
|
322
|
-
if (error instanceof NeuroLinkError) {
|
|
323
|
-
throw error;
|
|
324
|
-
}
|
|
325
|
-
logger.error("Failed to process image for Google AI:", error);
|
|
326
|
-
throw new Error(`Image processing failed for Google AI: ${error instanceof Error ? error.message : "Unknown error"}`, { cause: error });
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Process image for Anthropic (requires base64 without data URI prefix)
|
|
331
|
-
*/
|
|
332
|
-
static processImageForAnthropic(image) {
|
|
333
|
-
try {
|
|
334
|
-
let base64Data;
|
|
335
|
-
let mediaType = "image/jpeg"; // Default
|
|
336
|
-
if (typeof image === "string") {
|
|
337
|
-
if (image.startsWith("data:")) {
|
|
338
|
-
// Extract mime type and base64 from data URI
|
|
339
|
-
const match = image.match(/^data:([^;]+);base64,(.+)$/);
|
|
340
|
-
if (match) {
|
|
341
|
-
mediaType = match[1];
|
|
342
|
-
base64Data = match[2];
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
base64Data = image.split(",")[1] || image;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
base64Data = image;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
else {
|
|
353
|
-
base64Data = ImageProcessor.safeBase64Convert(image, "provider image input");
|
|
354
|
-
}
|
|
355
|
-
return {
|
|
356
|
-
mediaType,
|
|
357
|
-
data: base64Data, // Anthropic wants base64 WITHOUT data URI prefix
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
|
-
catch (error) {
|
|
361
|
-
// Preserve typed errors (e.g. IMAGE_TOO_LARGE) as-is — don't flatten
|
|
362
|
-
// them into a generic Error and lose the error `code` for callers.
|
|
363
|
-
if (error instanceof NeuroLinkError) {
|
|
364
|
-
throw error;
|
|
365
|
-
}
|
|
366
|
-
logger.error("Failed to process image for Anthropic:", error);
|
|
367
|
-
throw new Error(`Image processing failed for Anthropic: ${error instanceof Error ? error.message : "Unknown error"}`, { cause: error });
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Process image for Vertex AI (model-specific routing)
|
|
372
|
-
*/
|
|
373
|
-
static processImageForVertex(image, model) {
|
|
374
|
-
try {
|
|
375
|
-
// Route based on model type
|
|
376
|
-
if (model.includes("gemini")) {
|
|
377
|
-
// Use Google AI format for Gemini models
|
|
378
|
-
return ImageProcessor.processImageForGoogle(image);
|
|
379
|
-
}
|
|
380
|
-
else if (model.includes("claude")) {
|
|
381
|
-
// Use Anthropic format for Claude models
|
|
382
|
-
return ImageProcessor.processImageForAnthropic(image);
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
// Default to Google format
|
|
386
|
-
return ImageProcessor.processImageForGoogle(image);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
catch (error) {
|
|
390
|
-
// Preserve typed errors bubbling up from processImageForGoogle/
|
|
391
|
-
// processImageForAnthropic (e.g. IMAGE_TOO_LARGE) as-is.
|
|
392
|
-
if (error instanceof NeuroLinkError) {
|
|
393
|
-
throw error;
|
|
394
|
-
}
|
|
395
|
-
logger.error("Failed to process image for Vertex AI:", error);
|
|
396
|
-
throw new Error(`Image processing failed for Vertex AI: ${error instanceof Error ? error.message : "Unknown error"}`, { cause: error });
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Detect image type from filename or data
|
|
401
|
-
*/
|
|
402
|
-
static detectImageType(input) {
|
|
403
|
-
try {
|
|
404
|
-
if (typeof input === "string") {
|
|
405
|
-
// Check if it's a data URI
|
|
406
|
-
if (input.startsWith("data:")) {
|
|
407
|
-
const match = input.match(/^data:([^;]+);/);
|
|
408
|
-
return match ? match[1] : "image/jpeg";
|
|
409
|
-
}
|
|
410
|
-
// Check if it's a filename
|
|
411
|
-
const extension = input.toLowerCase().split(".").pop();
|
|
412
|
-
const imageTypes = {
|
|
413
|
-
jpg: "image/jpeg",
|
|
414
|
-
jpeg: "image/jpeg",
|
|
415
|
-
png: "image/png",
|
|
416
|
-
gif: "image/gif",
|
|
417
|
-
webp: "image/webp",
|
|
418
|
-
bmp: "image/bmp",
|
|
419
|
-
tiff: "image/tiff",
|
|
420
|
-
tif: "image/tiff",
|
|
421
|
-
svg: "image/svg+xml",
|
|
422
|
-
avif: "image/avif",
|
|
423
|
-
};
|
|
424
|
-
return imageTypes[extension || ""] || "image/jpeg";
|
|
425
|
-
}
|
|
426
|
-
// For Buffer, try to detect from magic bytes
|
|
427
|
-
if (input.length >= 4) {
|
|
428
|
-
const header = input.subarray(0, 4);
|
|
429
|
-
// PNG: 89 50 4E 47
|
|
430
|
-
if (header[0] === 0x89 &&
|
|
431
|
-
header[1] === 0x50 &&
|
|
432
|
-
header[2] === 0x4e &&
|
|
433
|
-
header[3] === 0x47) {
|
|
434
|
-
return "image/png";
|
|
435
|
-
}
|
|
436
|
-
// JPEG: FF D8 FF
|
|
437
|
-
if (header[0] === 0xff && header[1] === 0xd8 && header[2] === 0xff) {
|
|
438
|
-
return "image/jpeg";
|
|
439
|
-
}
|
|
440
|
-
// GIF: 47 49 46 38
|
|
441
|
-
if (header[0] === 0x47 &&
|
|
442
|
-
header[1] === 0x49 &&
|
|
443
|
-
header[2] === 0x46 &&
|
|
444
|
-
header[3] === 0x38) {
|
|
445
|
-
return "image/gif";
|
|
446
|
-
}
|
|
447
|
-
// WebP: check for RIFF and WEBP
|
|
448
|
-
if (input.length >= 12) {
|
|
449
|
-
const riff = input.subarray(0, 4);
|
|
450
|
-
const webp = input.subarray(8, 12);
|
|
451
|
-
if (riff.toString() === "RIFF" && webp.toString() === "WEBP") {
|
|
452
|
-
return "image/webp";
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
// SVG: check for "<svg" or "<?xml" at start (text-based)
|
|
456
|
-
if (input.length >= 4) {
|
|
457
|
-
const start = input.subarray(0, 4).toString();
|
|
458
|
-
if (start === "<svg" || start === "<?xm") {
|
|
459
|
-
return "image/svg+xml";
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
// ISO-BMFF images: "ftyp" box at offset 4, major brand at offset 8.
|
|
463
|
-
// AVIF has codec-specific major brands. HEIC uses HEVC image/sequence
|
|
464
|
-
// brands, while generic HEIF structural brands (mif1/msf1) need a
|
|
465
|
-
// compatible codec brand to avoid mistaking AVIF or generic MP4 data
|
|
466
|
-
// for HEIF.
|
|
467
|
-
const isoBmffMimeType = detectIsoBmffImageMimeType(input);
|
|
468
|
-
if (isoBmffMimeType) {
|
|
469
|
-
return isoBmffMimeType;
|
|
470
|
-
}
|
|
471
|
-
// JPEG 2000, in both shapes it ships in. The JP2 container opens with
|
|
472
|
-
// the 12-byte signature box `00 00 00 0C 6A 50 20 20 0D 0A 87 0A`; a
|
|
473
|
-
// bare codestream (.j2k/.j2c) opens with the SOC+SIZ markers FF 4F FF
|
|
474
|
-
// 51. Checked BEFORE ICO because the container's first three bytes are
|
|
475
|
-
// 00 00 00, which is one byte away from ICO's 00 00 01 00 and shares
|
|
476
|
-
// its leading zeros — an ordering mistake here would classify every
|
|
477
|
-
// JPEG 2000 as an icon rather than merely failing to recognise it.
|
|
478
|
-
// All twelve bytes are checked, not just the length and brand: the
|
|
479
|
-
// trailing 0D 0A 87 0A is the signature's whole point. It is a
|
|
480
|
-
// line-ending probe — CR LF, a high byte, LF — that a transfer which
|
|
481
|
-
// mangles newlines or strips the eighth bit will visibly corrupt, so
|
|
482
|
-
// skipping it accepts exactly the damaged files it exists to reject.
|
|
483
|
-
if (input.length >= 12 &&
|
|
484
|
-
input[0] === 0x00 &&
|
|
485
|
-
input[1] === 0x00 &&
|
|
486
|
-
input[2] === 0x00 &&
|
|
487
|
-
input[3] === 0x0c &&
|
|
488
|
-
input.subarray(4, 8).toString("latin1") === "jP " &&
|
|
489
|
-
input[8] === 0x0d &&
|
|
490
|
-
input[9] === 0x0a &&
|
|
491
|
-
input[10] === 0x87 &&
|
|
492
|
-
input[11] === 0x0a) {
|
|
493
|
-
return "image/jp2";
|
|
494
|
-
}
|
|
495
|
-
if (input.length >= 4 &&
|
|
496
|
-
input[0] === 0xff &&
|
|
497
|
-
input[1] === 0x4f &&
|
|
498
|
-
input[2] === 0xff &&
|
|
499
|
-
input[3] === 0x51) {
|
|
500
|
-
return "image/jp2";
|
|
501
|
-
}
|
|
502
|
-
// ICO: 00 00 01 00 (icon type=1)
|
|
503
|
-
if (input[0] === 0x00 &&
|
|
504
|
-
input[1] === 0x00 &&
|
|
505
|
-
input[2] === 0x01 &&
|
|
506
|
-
input[3] === 0x00 &&
|
|
507
|
-
!hasFtypBoxSignature(input)) {
|
|
508
|
-
return "image/x-icon";
|
|
509
|
-
}
|
|
510
|
-
// BMP: "BM" magic (0x42 0x4D)
|
|
511
|
-
if (input[0] === 0x42 && input[1] === 0x4d) {
|
|
512
|
-
return "image/bmp";
|
|
513
|
-
}
|
|
514
|
-
// TIFF: little-endian "II*\0" or big-endian "MM\0*"
|
|
515
|
-
if ((input[0] === 0x49 &&
|
|
516
|
-
input[1] === 0x49 &&
|
|
517
|
-
input[2] === 0x2a &&
|
|
518
|
-
input[3] === 0x00) ||
|
|
519
|
-
(input[0] === 0x4d &&
|
|
520
|
-
input[1] === 0x4d &&
|
|
521
|
-
input[2] === 0x00 &&
|
|
522
|
-
input[3] === 0x2a)) {
|
|
523
|
-
return "image/tiff";
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
// No known image signature matched. Return a safe, honest sentinel
|
|
527
|
-
// rather than mislabeling arbitrary bytes as JPEG (#261): a wrong
|
|
528
|
-
// image/jpeg label silently corrupts the downstream provider request.
|
|
529
|
-
logger.warn("Could not detect image type from magic bytes; using application/octet-stream");
|
|
530
|
-
return "application/octet-stream";
|
|
531
|
-
}
|
|
532
|
-
catch (error) {
|
|
533
|
-
logger.warn("Failed to detect image type, using default:", error);
|
|
534
|
-
return "application/octet-stream";
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
/**
|
|
538
|
-
* Throwing size guard for a raw byte length. Prevents memory exhaustion by
|
|
539
|
-
* rejecting an oversized input BEFORE an unbounded read/allocation happens
|
|
540
|
-
* (#257) — callers that can get a size cheaply (e.g. `fs.stat`) should
|
|
541
|
-
* validate it before ever reading the bytes into memory. Default limit is
|
|
542
|
-
* the canonical `SIZE_LIMITS_BYTES.IMAGE_MAX` (10 MB); there is no public
|
|
543
|
-
* way to raise it — `maxSize` is an internal-only override for advanced
|
|
544
|
-
* callers (e.g. video image inputs use a higher limit).
|
|
545
|
-
*
|
|
546
|
-
* @param size - Byte length to validate
|
|
547
|
-
* @param context - Short label identifying the source (unused in the
|
|
548
|
-
* thrown message today, kept for call-site readability and future use)
|
|
549
|
-
* @param maxSize - Max allowed size in bytes
|
|
550
|
-
* @throws NeuroLinkError (`INVALID_IMAGE_SIZE`) if `size` is not a finite,
|
|
551
|
-
* non-negative number
|
|
552
|
-
* @throws NeuroLinkError (`IMAGE_TOO_LARGE`) if `size` exceeds `maxSize`
|
|
553
|
-
*/
|
|
554
|
-
static validateSize(size, context, maxSize = SIZE_LIMITS_BYTES.IMAGE_MAX) {
|
|
555
|
-
// Reject a malformed maxSize before it's ever compared: `size > NaN` and
|
|
556
|
-
// `size > Infinity` (for a negative maxSize) can both evaluate `false`,
|
|
557
|
-
// which would let a corrupted/negative limit bypass the guard entirely.
|
|
558
|
-
if (!Number.isFinite(maxSize) || maxSize < 0) {
|
|
559
|
-
throw ErrorFactory.invalidConfiguration("maxSize", "must be a finite, non-negative byte count", { maxSize, context });
|
|
560
|
-
}
|
|
561
|
-
// Fail closed on malformed sizes first: `NaN > maxSize` and
|
|
562
|
-
// `-1 > maxSize` both evaluate to `false`, which would otherwise let a
|
|
563
|
-
// corrupted stat/header value silently skip the guard below.
|
|
564
|
-
if (!Number.isFinite(size) || size < 0) {
|
|
565
|
-
throw ErrorFactory.invalidImageSize(size);
|
|
566
|
-
}
|
|
567
|
-
if (size > maxSize) {
|
|
568
|
-
const mb = (size / (1024 * 1024)).toFixed(1);
|
|
569
|
-
const maxMb = (maxSize / (1024 * 1024)).toFixed(0);
|
|
570
|
-
throw ErrorFactory.imageTooLarge(mb, maxMb);
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
/**
|
|
574
|
-
* Throwing size guard for image buffers. Prevents memory exhaustion by
|
|
575
|
-
* rejecting oversized buffers with a descriptive error BEFORE an unbounded
|
|
576
|
-
* `Buffer.toString("base64")` allocation (#257). Delegates to
|
|
577
|
-
* `validateSize` so buffer-based and pre-read (stat-based) callers share
|
|
578
|
-
* one implementation.
|
|
579
|
-
*
|
|
580
|
-
* @param buffer - Image buffer to validate
|
|
581
|
-
* @param context - Short label identifying the source (see `validateSize`)
|
|
582
|
-
* @param maxSize - Max allowed size in bytes
|
|
583
|
-
* @throws NeuroLinkError (`IMAGE_TOO_LARGE`) if the buffer exceeds `maxSize`
|
|
584
|
-
*/
|
|
585
|
-
static validateBufferSize(buffer, context, maxSize = SIZE_LIMITS_BYTES.IMAGE_MAX) {
|
|
586
|
-
ImageProcessor.validateSize(buffer.length, context, maxSize);
|
|
587
|
-
}
|
|
588
|
-
/**
|
|
589
|
-
* Size-guarded Buffer → base64. Use in place of `buffer.toString("base64")`
|
|
590
|
-
* on any path that converts a caller-supplied image buffer (#257).
|
|
591
|
-
*/
|
|
592
|
-
static safeBase64Convert(buffer, context, maxSize = SIZE_LIMITS_BYTES.IMAGE_MAX) {
|
|
593
|
-
ImageProcessor.validateBufferSize(buffer, context, maxSize);
|
|
594
|
-
return buffer.toString("base64");
|
|
595
|
-
}
|
|
596
|
-
/**
|
|
597
|
-
* Validate image format
|
|
598
|
-
*/
|
|
599
|
-
static validateImageFormat(mediaType) {
|
|
600
|
-
// Derived from the canonical input set rather than hand-listed. The old
|
|
601
|
-
// literal omitted HEIC, HEIF, ICO and JPEG 2000, so an iPhone photo
|
|
602
|
-
// attached by path was rejected here — "Invalid MIME type: image/heic is
|
|
603
|
-
// not in allowed list" — before the transcode that exists to accept it
|
|
604
|
-
// could run. Intake has to allow every format we can convert, not just the
|
|
605
|
-
// ones providers take unchanged.
|
|
606
|
-
//
|
|
607
|
-
// Still excludes "application/octet-stream": that is detectImageType()'s
|
|
608
|
-
// honest sentinel for bytes matching no known image signature (#261), not
|
|
609
|
-
// a real format. Vision providers reject it with an HTTP 400, so process()
|
|
610
|
-
// must fail loud rather than package it as a valid image (see the
|
|
611
|
-
// octet-stream guard in process() below).
|
|
612
|
-
return SUPPORTED_INPUT_IMAGE_MIME_TYPES.has(mediaType.toLowerCase());
|
|
613
|
-
}
|
|
614
|
-
/**
|
|
615
|
-
* Get image dimensions from Buffer (basic implementation)
|
|
616
|
-
*/
|
|
617
|
-
static getImageDimensions(buffer) {
|
|
618
|
-
try {
|
|
619
|
-
// Basic PNG dimension extraction
|
|
620
|
-
if (buffer.length >= 24 &&
|
|
621
|
-
buffer.subarray(0, 8).toString("hex") === "89504e470d0a1a0a") {
|
|
622
|
-
const width = buffer.readUInt32BE(16);
|
|
623
|
-
const height = buffer.readUInt32BE(20);
|
|
624
|
-
return { width, height };
|
|
625
|
-
}
|
|
626
|
-
// JPEG dimension extraction via SOF marker parsing
|
|
627
|
-
if (buffer.length >= 4 && buffer[0] === 0xff && buffer[1] === 0xd8) {
|
|
628
|
-
// Search for SOF0 (0xFFC0) or SOF2 (0xFFC2) markers
|
|
629
|
-
let offset = 2;
|
|
630
|
-
while (offset < buffer.length - 1) {
|
|
631
|
-
// Find next marker (0xFF followed by non-zero, non-0xFF byte)
|
|
632
|
-
if (buffer[offset] !== 0xff) {
|
|
633
|
-
offset++;
|
|
634
|
-
continue;
|
|
635
|
-
}
|
|
636
|
-
// Skip any padding 0xFF bytes
|
|
637
|
-
while (offset < buffer.length && buffer[offset] === 0xff) {
|
|
638
|
-
offset++;
|
|
639
|
-
}
|
|
640
|
-
if (offset >= buffer.length) {
|
|
641
|
-
break;
|
|
642
|
-
}
|
|
643
|
-
const marker = buffer[offset];
|
|
644
|
-
offset++;
|
|
645
|
-
// Check for SOF0 (0xC0 - baseline DCT) and SOF2 (0xC2 - progressive DCT)
|
|
646
|
-
// These are the most common JPEG encoding modes
|
|
647
|
-
if (marker === 0xc0 || marker === 0xc2) {
|
|
648
|
-
// SOF marker found: length (2 bytes) + precision (1 byte) + height (2 bytes) + width (2 bytes)
|
|
649
|
-
if (offset + 7 > buffer.length) {
|
|
650
|
-
break; // Truncated file
|
|
651
|
-
}
|
|
652
|
-
const height = buffer.readUInt16BE(offset + 3);
|
|
653
|
-
const width = buffer.readUInt16BE(offset + 5);
|
|
654
|
-
return { width, height };
|
|
655
|
-
}
|
|
656
|
-
// Skip this marker's segment (except for markers without length)
|
|
657
|
-
if (marker === 0xd0 ||
|
|
658
|
-
marker === 0xd1 ||
|
|
659
|
-
marker === 0xd2 ||
|
|
660
|
-
marker === 0xd3 ||
|
|
661
|
-
marker === 0xd4 ||
|
|
662
|
-
marker === 0xd5 ||
|
|
663
|
-
marker === 0xd6 ||
|
|
664
|
-
marker === 0xd7 ||
|
|
665
|
-
marker === 0xd8 ||
|
|
666
|
-
marker === 0xd9 ||
|
|
667
|
-
marker === 0x01) {
|
|
668
|
-
// RST0-RST7, SOI, EOI, TEM - no length field
|
|
669
|
-
continue;
|
|
670
|
-
}
|
|
671
|
-
if (offset + 2 > buffer.length) {
|
|
672
|
-
break; // Truncated file
|
|
673
|
-
}
|
|
674
|
-
const segmentLength = buffer.readUInt16BE(offset);
|
|
675
|
-
offset += segmentLength;
|
|
676
|
-
}
|
|
677
|
-
return null; // No SOF marker found
|
|
678
|
-
}
|
|
679
|
-
return null;
|
|
680
|
-
}
|
|
681
|
-
catch (error) {
|
|
682
|
-
logger.warn("Failed to extract image dimensions:", error);
|
|
683
|
-
return null;
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
/**
|
|
687
|
-
* Convert image to ProcessedImage format
|
|
688
|
-
*/
|
|
689
|
-
static processImage(image, provider, model) {
|
|
690
|
-
try {
|
|
691
|
-
// #257: reject an oversized buffer before any format-detection or
|
|
692
|
-
// conversion work runs on it — mirrors the guard every
|
|
693
|
-
// `processImageForX()` branch below already applies via
|
|
694
|
-
// `safeBase64Convert()`, so the typed IMAGE_TOO_LARGE error surfaces
|
|
695
|
-
// here too instead of being pre-empted by the octet-stream check next.
|
|
696
|
-
if (Buffer.isBuffer(image)) {
|
|
697
|
-
ImageProcessor.validateBufferSize(image, "image processing");
|
|
698
|
-
}
|
|
699
|
-
const mediaType = ImageProcessor.detectImageType(image);
|
|
700
|
-
// #261/#286 follow-up: reject the octet-stream sentinel here too — the
|
|
701
|
-
// returned ProcessedImage.mediaType is what callers use to build a
|
|
702
|
-
// data URI, so this is a separate public path that must not emit it.
|
|
703
|
-
assertKnownImageType(mediaType);
|
|
704
|
-
const size = typeof image === "string"
|
|
705
|
-
? Buffer.byteLength(image, "base64")
|
|
706
|
-
: image.length;
|
|
707
|
-
let data;
|
|
708
|
-
let format;
|
|
709
|
-
switch (provider.toLowerCase()) {
|
|
710
|
-
case "openai":
|
|
711
|
-
data = ImageProcessor.processImageForOpenAI(image);
|
|
712
|
-
format = "data_uri";
|
|
713
|
-
break;
|
|
714
|
-
case "google-ai":
|
|
715
|
-
case "google": {
|
|
716
|
-
const googleResult = ImageProcessor.processImageForGoogle(image);
|
|
717
|
-
data = googleResult.data;
|
|
718
|
-
format = "base64";
|
|
719
|
-
break;
|
|
720
|
-
}
|
|
721
|
-
case "anthropic": {
|
|
722
|
-
const anthropicResult = ImageProcessor.processImageForAnthropic(image);
|
|
723
|
-
data = anthropicResult.data;
|
|
724
|
-
format = "base64";
|
|
725
|
-
break;
|
|
726
|
-
}
|
|
727
|
-
case "vertex": {
|
|
728
|
-
const vertexResult = ImageProcessor.processImageForVertex(image, model || "");
|
|
729
|
-
data = vertexResult.data;
|
|
730
|
-
format = "base64";
|
|
731
|
-
break;
|
|
732
|
-
}
|
|
733
|
-
default:
|
|
734
|
-
// Default to base64
|
|
735
|
-
if (typeof image === "string") {
|
|
736
|
-
data = image.startsWith("data:")
|
|
737
|
-
? image.split(",")[1] || image
|
|
738
|
-
: image;
|
|
739
|
-
}
|
|
740
|
-
else {
|
|
741
|
-
data = ImageProcessor.safeBase64Convert(image, "image input");
|
|
742
|
-
}
|
|
743
|
-
format = "base64";
|
|
744
|
-
}
|
|
745
|
-
return {
|
|
746
|
-
data,
|
|
747
|
-
mediaType,
|
|
748
|
-
size,
|
|
749
|
-
format,
|
|
750
|
-
};
|
|
751
|
-
}
|
|
752
|
-
catch (error) {
|
|
753
|
-
// Preserve typed errors (e.g. IMAGE_TOO_LARGE) bubbling up from the
|
|
754
|
-
// provider-specific branches above as-is.
|
|
755
|
-
if (error instanceof NeuroLinkError) {
|
|
756
|
-
throw error;
|
|
757
|
-
}
|
|
758
|
-
logger.error(`Failed to process image for ${provider}:`, error);
|
|
759
|
-
throw new Error(`Image processing failed: ${error instanceof Error ? error.message : "Unknown error"}`, { cause: error });
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
/**
|
|
764
|
-
* Whitelist of valid image file extensions (lowercase, no dots).
|
|
765
|
-
* Used to validate file extensions against a known set of image formats.
|
|
766
|
-
*/
|
|
767
|
-
export const VALID_IMAGE_EXTENSIONS = [
|
|
768
|
-
"jpg",
|
|
769
|
-
"jpeg",
|
|
770
|
-
"png",
|
|
771
|
-
"gif",
|
|
772
|
-
"webp",
|
|
773
|
-
"bmp",
|
|
774
|
-
"tiff",
|
|
775
|
-
"tif",
|
|
776
|
-
"svg",
|
|
777
|
-
"avif",
|
|
778
|
-
"ico",
|
|
779
|
-
"heic",
|
|
780
|
-
"heif",
|
|
781
|
-
];
|
|
782
|
-
/**
|
|
783
|
-
* Set of valid image extensions for O(1) lookup.
|
|
784
|
-
* @internal
|
|
785
|
-
*/
|
|
786
|
-
const VALID_IMAGE_EXTENSIONS_SET = new Set(VALID_IMAGE_EXTENSIONS);
|
|
787
|
-
/**
|
|
788
|
-
* Utility functions for image handling
|
|
789
|
-
*/
|
|
790
|
-
export const imageUtils = {
|
|
791
|
-
/**
|
|
792
|
-
* Check if a string is a valid data URI
|
|
793
|
-
*/
|
|
794
|
-
isDataUri: (str) => {
|
|
795
|
-
return (typeof str === "string" &&
|
|
796
|
-
str.startsWith("data:") &&
|
|
797
|
-
str.includes("base64,"));
|
|
798
|
-
},
|
|
799
|
-
/**
|
|
800
|
-
* Check if a string is a valid URL
|
|
801
|
-
*/
|
|
802
|
-
isUrl: (str) => {
|
|
803
|
-
try {
|
|
804
|
-
new URL(str);
|
|
805
|
-
return str.startsWith("http://") || str.startsWith("https://");
|
|
806
|
-
}
|
|
807
|
-
catch {
|
|
808
|
-
return false;
|
|
809
|
-
}
|
|
810
|
-
},
|
|
811
|
-
/**
|
|
812
|
-
* Check if a string is base64 encoded
|
|
813
|
-
*/
|
|
814
|
-
isBase64: (str) => imageUtils.isValidBase64(str),
|
|
815
|
-
/**
|
|
816
|
-
* Extract file extension from filename or URL.
|
|
817
|
-
* Strips query strings and fragments before matching so that
|
|
818
|
-
* "image.jpg?v=1" correctly returns "jpg".
|
|
819
|
-
* Returns null if no extension is found or if the extension
|
|
820
|
-
* contains non-alphanumeric characters.
|
|
821
|
-
*/
|
|
822
|
-
getFileExtension: (filename) => {
|
|
823
|
-
const sanitized = filename.split(/[?#]/)[0];
|
|
824
|
-
const match = sanitized.match(/\.([^.]+)$/);
|
|
825
|
-
if (!match) {
|
|
826
|
-
return null;
|
|
827
|
-
}
|
|
828
|
-
const extension = match[1].toLowerCase();
|
|
829
|
-
if (!/^[a-z0-9]+$/.test(extension)) {
|
|
830
|
-
return null;
|
|
831
|
-
}
|
|
832
|
-
return extension;
|
|
833
|
-
},
|
|
834
|
-
/**
|
|
835
|
-
* Validate that an extension is a recognised image format.
|
|
836
|
-
* Case-insensitive; rejects extensions with special characters.
|
|
837
|
-
*/
|
|
838
|
-
isValidImageExtension: (extension) => {
|
|
839
|
-
if (!extension || typeof extension !== "string") {
|
|
840
|
-
return false;
|
|
841
|
-
}
|
|
842
|
-
const normalizedExt = extension.toLowerCase();
|
|
843
|
-
if (!/^[a-z0-9]+$/.test(normalizedExt)) {
|
|
844
|
-
return false;
|
|
845
|
-
}
|
|
846
|
-
return VALID_IMAGE_EXTENSIONS_SET.has(normalizedExt);
|
|
847
|
-
},
|
|
848
|
-
/**
|
|
849
|
-
* Extract and validate image file extension from a filename or URL.
|
|
850
|
-
* Returns null if the extension is missing or not a recognised image format.
|
|
851
|
-
*
|
|
852
|
-
* Security note: the last extension is used, so "malware.exe.jpg" returns
|
|
853
|
-
* "jpg". Callers should apply additional checks (e.g. content inspection)
|
|
854
|
-
* where double-extension attacks are a concern.
|
|
855
|
-
*/
|
|
856
|
-
getValidatedImageExtension: (filename) => {
|
|
857
|
-
const extension = imageUtils.getFileExtension(filename);
|
|
858
|
-
if (!extension) {
|
|
859
|
-
return null;
|
|
860
|
-
}
|
|
861
|
-
return imageUtils.isValidImageExtension(extension) ? extension : null;
|
|
862
|
-
},
|
|
863
|
-
/**
|
|
864
|
-
* Convert file size to human readable format
|
|
865
|
-
*/
|
|
866
|
-
formatFileSize: (bytes) => {
|
|
867
|
-
if (bytes === 0) {
|
|
868
|
-
return "0 Bytes";
|
|
869
|
-
}
|
|
870
|
-
const k = 1024;
|
|
871
|
-
const sizes = ["Bytes", "KB", "MB", "GB"];
|
|
872
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
873
|
-
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
|
|
874
|
-
},
|
|
875
|
-
/**
|
|
876
|
-
* Convert Buffer to base64 string. Guarded by the same #257 size limit as
|
|
877
|
-
* every other conversion site (default `SIZE_LIMITS_BYTES.IMAGE_MAX`);
|
|
878
|
-
* pass `maxBytes` to override for a caller with a legitimate need for a
|
|
879
|
-
* different ceiling rather than silently accepting an unbounded buffer.
|
|
880
|
-
* `imageUtils`/`ImageProcessor` are internal-only — not re-exported from
|
|
881
|
-
* `src/lib/index.ts` or the package's public `exports` map — so this
|
|
882
|
-
* default does not change behavior for any external SDK consumer.
|
|
883
|
-
*/
|
|
884
|
-
bufferToBase64: (buffer, maxBytes = SIZE_LIMITS_BYTES.IMAGE_MAX) => {
|
|
885
|
-
return ImageProcessor.safeBase64Convert(buffer, "buffer-to-base64", maxBytes);
|
|
886
|
-
},
|
|
887
|
-
/**
|
|
888
|
-
* Convert base64 string to Buffer
|
|
889
|
-
*/
|
|
890
|
-
base64ToBuffer: (base64) => {
|
|
891
|
-
// Remove data URI prefix if present
|
|
892
|
-
const cleanBase64 = base64.includes(",") ? base64.split(",")[1] : base64;
|
|
893
|
-
return Buffer.from(cleanBase64, "base64");
|
|
894
|
-
},
|
|
895
|
-
/**
|
|
896
|
-
* Redact `filePath` (both as given and its `path.resolve()`'d form) from
|
|
897
|
-
* an error message. Exposed directly (not just used internally by
|
|
898
|
-
* {@link fileToBase64DataUri}) so the resolved-path branch can be verified
|
|
899
|
-
* by a deterministic unit test — real `fs` errors only ever embed the
|
|
900
|
-
* literal path as passed, never a resolved variant, so that branch isn't
|
|
901
|
-
* otherwise observable through the async file-reading API.
|
|
902
|
-
*/
|
|
903
|
-
redactPathFromMessage,
|
|
904
|
-
/**
|
|
905
|
-
* Convert file path to base64 data URI
|
|
906
|
-
*/
|
|
907
|
-
fileToBase64DataUri: async (filePath, maxBytes = 10 * 1024 * 1024) => {
|
|
908
|
-
try {
|
|
909
|
-
const fs = await import("fs/promises");
|
|
910
|
-
// File existence and type validation
|
|
911
|
-
const stat = await fs.stat(filePath);
|
|
912
|
-
if (!stat.isFile()) {
|
|
913
|
-
throw new Error("Not a file");
|
|
914
|
-
}
|
|
915
|
-
// Size check before reading - prevent memory exhaustion
|
|
916
|
-
if (stat.size > maxBytes) {
|
|
917
|
-
throw new Error(`File too large: ${stat.size} bytes (max: ${maxBytes} bytes)`);
|
|
918
|
-
}
|
|
919
|
-
const buffer = await fs.readFile(filePath);
|
|
920
|
-
// Enhanced MIME detection: try buffer content first, fallback to filename
|
|
921
|
-
const mimeType = ImageProcessor.detectImageType(buffer) ||
|
|
922
|
-
ImageProcessor.detectImageType(filePath);
|
|
923
|
-
// #261/#286 follow-up: reject the octet-stream sentinel here too —
|
|
924
|
-
// this is a third public path (alongside process() and
|
|
925
|
-
// processImage()) that can otherwise package unknown bytes into a
|
|
926
|
-
// `data:application/octet-stream;base64,...` URI a vision provider
|
|
927
|
-
// rejects outright.
|
|
928
|
-
assertKnownImageType(mimeType);
|
|
929
|
-
const base64 = buffer.toString("base64");
|
|
930
|
-
return `data:${mimeType};base64,${base64}`;
|
|
931
|
-
}
|
|
932
|
-
catch (error) {
|
|
933
|
-
// Full path stays in the debug log; the thrown (potentially
|
|
934
|
-
// client-facing) error only gets the basename. The underlying fs
|
|
935
|
-
// error's own message is scrubbed too — Node's ENOENT/EACCES text
|
|
936
|
-
// embeds the full path verbatim (e.g. "no such file or directory,
|
|
937
|
-
// stat '/full/path'"), which would otherwise leak the host's
|
|
938
|
-
// directory layout right back through the "reason" suffix. The raw
|
|
939
|
-
// `error` is never attached as `cause` either — that would leave the
|
|
940
|
-
// unredacted path reachable via `error.cause.message` for anything
|
|
941
|
-
// that walks the cause chain (cause-aware logging, telemetry); a
|
|
942
|
-
// sanitized copy (via the shared `sanitizeErrorCause`) is attached
|
|
943
|
-
// instead, mirroring `urlToBase64DataUri` below.
|
|
944
|
-
logger.debug("fileToBase64DataUri failed", { filePath, error });
|
|
945
|
-
const safeName = basename(filePath);
|
|
946
|
-
const cause = sanitizeErrorCause(error, { filePath });
|
|
947
|
-
const reason = error instanceof Error ? cause.message : "Unknown error";
|
|
948
|
-
// Assigned to a variable before throwing (rather than `throw new
|
|
949
|
-
// Error(...)` inline) so the sanitized `cause` — a deliberately NEW,
|
|
950
|
-
// redacted Error — isn't mistaken by tooling for a dropped/altered
|
|
951
|
-
// reference to the originally caught `error`; the raw error is never
|
|
952
|
-
// reachable from the thrown result at all, by design.
|
|
953
|
-
const wrapped = new Error(`Failed to convert file to base64 (${safeName}): ${reason}`, { cause });
|
|
954
|
-
throw wrapped;
|
|
955
|
-
}
|
|
956
|
-
},
|
|
957
|
-
/**
|
|
958
|
-
* Convert URL to base64 data URI by downloading the image.
|
|
959
|
-
* Implements retry logic with exponential backoff for network errors.
|
|
960
|
-
*
|
|
961
|
-
* Retries are performed for:
|
|
962
|
-
* - Network errors (ECONNRESET, ENOTFOUND, ECONNREFUSED, ETIMEDOUT, ERR_NETWORK, AbortError)
|
|
963
|
-
* - Server errors (5xx status codes)
|
|
964
|
-
* - Rate limiting (429 Too Many Requests)
|
|
965
|
-
* - Request timeouts (408 Request Timeout)
|
|
966
|
-
*
|
|
967
|
-
* Retries are NOT performed for:
|
|
968
|
-
* - Client errors (4xx status codes except 408, 429)
|
|
969
|
-
* - Invalid content type
|
|
970
|
-
* - Content size limit exceeded
|
|
971
|
-
* - Unsupported protocol
|
|
972
|
-
*
|
|
973
|
-
* @param url - The URL of the image to download
|
|
974
|
-
* @param options - Configuration options
|
|
975
|
-
* @param options.timeoutMs - Timeout for each download attempt (default: 15000ms)
|
|
976
|
-
* @param options.maxBytes - Maximum allowed file size (default: 10MB)
|
|
977
|
-
* @param options.maxAttempts - Maximum number of total attempts including initial attempt (default: 3)
|
|
978
|
-
* @returns Promise<string> - Base64 data URI of the downloaded image
|
|
979
|
-
* Rate-limited to 10 downloads per second to prevent DoS
|
|
980
|
-
* Uses LRU cache to avoid redundant downloads of the same URL
|
|
981
|
-
*/
|
|
982
|
-
urlToBase64DataUri: async (url, { timeoutMs = 15000, maxBytes = 10 * 1024 * 1024, maxAttempts = 3, } = {}) => {
|
|
983
|
-
// Check cache first
|
|
984
|
-
const cache = getImageCache();
|
|
985
|
-
const cached = cache.get(url);
|
|
986
|
-
if (cached) {
|
|
987
|
-
logger.debug("Using cached image for URL", {
|
|
988
|
-
url: redactUrlForError(url),
|
|
989
|
-
});
|
|
990
|
-
return cached.dataUri;
|
|
991
|
-
}
|
|
992
|
-
// Apply rate limiting before download
|
|
993
|
-
await urlDownloadRateLimiter.acquire();
|
|
994
|
-
// Basic protocol whitelist - fail fast, no retry needed
|
|
995
|
-
if (!/^https?:\/\//i.test(url)) {
|
|
996
|
-
throw new Error("Unsupported protocol");
|
|
997
|
-
}
|
|
998
|
-
// Perform the actual download with retry logic
|
|
999
|
-
const performDownload = async () => {
|
|
1000
|
-
const controller = new AbortController();
|
|
1001
|
-
const t = setTimeout(() => controller.abort(), timeoutMs);
|
|
1002
|
-
try {
|
|
1003
|
-
const response = await fetch(url, { signal: controller.signal });
|
|
1004
|
-
if (!response.ok) {
|
|
1005
|
-
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
1006
|
-
}
|
|
1007
|
-
const contentType = response.headers.get("content-type") || "";
|
|
1008
|
-
if (!/^image\//i.test(contentType)) {
|
|
1009
|
-
throw new Error(`Unsupported content-type: ${contentType || "unknown"}`);
|
|
1010
|
-
}
|
|
1011
|
-
const contentLengthHeader = response.headers.get("content-length");
|
|
1012
|
-
const len = Number(contentLengthHeader || 0);
|
|
1013
|
-
if (contentLengthHeader !== null && len === 0) {
|
|
1014
|
-
throw new Error("Empty response: content-length is 0");
|
|
1015
|
-
}
|
|
1016
|
-
if (len && len > maxBytes) {
|
|
1017
|
-
throw new Error(`Content too large: ${len} bytes`);
|
|
1018
|
-
}
|
|
1019
|
-
const buffer = await response.arrayBuffer();
|
|
1020
|
-
if (buffer.byteLength > maxBytes) {
|
|
1021
|
-
throw new Error(`Downloaded content too large: ${buffer.byteLength} bytes`);
|
|
1022
|
-
}
|
|
1023
|
-
const imageBuffer = Buffer.from(buffer);
|
|
1024
|
-
const base64 = imageBuffer.toString("base64");
|
|
1025
|
-
const dataUri = `data:${contentType || "image/jpeg"};base64,${base64}`;
|
|
1026
|
-
// Store in cache for future use
|
|
1027
|
-
cache.set(url, dataUri, contentType || "image/jpeg", imageBuffer);
|
|
1028
|
-
return dataUri;
|
|
1029
|
-
}
|
|
1030
|
-
finally {
|
|
1031
|
-
clearTimeout(t);
|
|
1032
|
-
}
|
|
1033
|
-
};
|
|
1034
|
-
try {
|
|
1035
|
-
return await withRetry(performDownload, {
|
|
1036
|
-
maxAttempts,
|
|
1037
|
-
initialDelay: SYSTEM_LIMITS.DEFAULT_INITIAL_DELAY,
|
|
1038
|
-
backoffMultiplier: SYSTEM_LIMITS.DEFAULT_BACKOFF_MULTIPLIER,
|
|
1039
|
-
maxDelay: SYSTEM_LIMITS.DEFAULT_MAX_DELAY,
|
|
1040
|
-
retryCondition: isRetryableDownloadError,
|
|
1041
|
-
onRetry: (attempt, error) => {
|
|
1042
|
-
// Some fetch/DNS/TLS errors embed the full request URL (including
|
|
1043
|
-
// a presigned query token) in `error.message` — redact that text
|
|
1044
|
-
// too, not just the explicit `url` interpolation below. The
|
|
1045
|
-
// non-Error branch is sanitized too: String(error) on a thrown
|
|
1046
|
-
// non-Error value (e.g. a raw string or object) can just as
|
|
1047
|
-
// easily carry the same signed URL.
|
|
1048
|
-
const message = redactUrlsInText(error instanceof Error ? error.message : String(error));
|
|
1049
|
-
const attemptsLeft = maxAttempts - attempt;
|
|
1050
|
-
logger.warn(`⚠️ Image download attempt ${attempt} failed for ${redactUrlForError(url)}: ${message}. ${attemptsLeft} ${attemptsLeft === 1 ? "attempt" : "attempts"} remaining...`);
|
|
1051
|
-
},
|
|
1052
|
-
});
|
|
1053
|
-
}
|
|
1054
|
-
catch (error) {
|
|
1055
|
-
// Query string / fragment stripped — a presigned S3/GCS URL or SAS
|
|
1056
|
-
// token embedded there must not be echoed into a thrown error. The
|
|
1057
|
-
// underlying error's own message is scrubbed too, since fetch/DNS/TLS
|
|
1058
|
-
// errors often embed the full URL (query string and all) themselves.
|
|
1059
|
-
// The raw `error` is never attached as `cause` — that would leave the
|
|
1060
|
-
// unredacted URL reachable via `error.cause.message` for anything
|
|
1061
|
-
// that walks the cause chain (cause-aware logging, telemetry); a
|
|
1062
|
-
// sanitized copy is attached instead.
|
|
1063
|
-
const sourceUrl = redactUrlForError(url);
|
|
1064
|
-
const cause = sanitizeErrorCause(error);
|
|
1065
|
-
const wrapped = new Error(`Failed to download and convert URL to base64 (${sourceUrl}): ${cause.message}`, { cause });
|
|
1066
|
-
throw wrapped;
|
|
1067
|
-
}
|
|
1068
|
-
},
|
|
1069
|
-
/**
|
|
1070
|
-
* Extract base64 data from data URI
|
|
1071
|
-
*/
|
|
1072
|
-
extractBase64FromDataUri: (dataUri) => {
|
|
1073
|
-
if (!dataUri.includes(",")) {
|
|
1074
|
-
return dataUri; // Already just base64
|
|
1075
|
-
}
|
|
1076
|
-
return dataUri.split(",")[1];
|
|
1077
|
-
},
|
|
1078
|
-
/**
|
|
1079
|
-
* Extract MIME type from data URI
|
|
1080
|
-
*/
|
|
1081
|
-
extractMimeTypeFromDataUri: (dataUri) => {
|
|
1082
|
-
const match = dataUri.match(/^data:([^;]+);base64,/);
|
|
1083
|
-
return match ? match[1] : "image/jpeg";
|
|
1084
|
-
},
|
|
1085
|
-
/**
|
|
1086
|
-
* Create data URI from base64 and MIME type
|
|
1087
|
-
*/
|
|
1088
|
-
createDataUri: (base64, mimeType = "image/jpeg") => {
|
|
1089
|
-
// Remove data URI prefix if already present
|
|
1090
|
-
const cleanBase64 = base64.includes(",") ? base64.split(",")[1] : base64;
|
|
1091
|
-
return `data:${mimeType};base64,${cleanBase64}`;
|
|
1092
|
-
},
|
|
1093
|
-
/**
|
|
1094
|
-
* Validate base64 string format
|
|
1095
|
-
* Validates format BEFORE buffer allocation to prevent memory exhaustion
|
|
1096
|
-
*/
|
|
1097
|
-
isValidBase64: (str) => {
|
|
1098
|
-
try {
|
|
1099
|
-
// Remove data URI prefix if present
|
|
1100
|
-
const cleanBase64 = str.includes(",") ? str.split(",")[1] : str;
|
|
1101
|
-
// Empty string check
|
|
1102
|
-
if (!cleanBase64 || cleanBase64.length === 0) {
|
|
1103
|
-
return false;
|
|
1104
|
-
}
|
|
1105
|
-
// 1. Validate character set FIRST (A-Z, a-z, 0-9, +, /, =)
|
|
1106
|
-
// This prevents memory allocation for invalid input like "hello world"
|
|
1107
|
-
const base64Regex = /^[A-Za-z0-9+/]*={0,2}$/;
|
|
1108
|
-
if (!base64Regex.test(cleanBase64)) {
|
|
1109
|
-
return false;
|
|
1110
|
-
}
|
|
1111
|
-
// 2. Check length is multiple of 4
|
|
1112
|
-
if (cleanBase64.length % 4 !== 0) {
|
|
1113
|
-
return false;
|
|
1114
|
-
}
|
|
1115
|
-
// 3. Validate padding position (max 2 equals at end only)
|
|
1116
|
-
const paddingIndex = cleanBase64.indexOf("=");
|
|
1117
|
-
if (paddingIndex !== -1) {
|
|
1118
|
-
// Padding must be at the end
|
|
1119
|
-
if (paddingIndex < cleanBase64.length - 2) {
|
|
1120
|
-
return false;
|
|
1121
|
-
}
|
|
1122
|
-
// No characters after padding
|
|
1123
|
-
const afterPadding = cleanBase64.slice(paddingIndex);
|
|
1124
|
-
if (!/^=+$/.test(afterPadding)) {
|
|
1125
|
-
return false;
|
|
1126
|
-
}
|
|
1127
|
-
}
|
|
1128
|
-
// 4. ONLY NOW decode if format is valid
|
|
1129
|
-
const decoded = Buffer.from(cleanBase64, "base64");
|
|
1130
|
-
const reencoded = decoded.toString("base64");
|
|
1131
|
-
// Remove padding for comparison (base64 can have different padding)
|
|
1132
|
-
const normalizeBase64 = (b64) => b64.replace(/=+$/, "");
|
|
1133
|
-
return normalizeBase64(cleanBase64) === normalizeBase64(reencoded);
|
|
1134
|
-
}
|
|
1135
|
-
catch {
|
|
1136
|
-
return false;
|
|
1137
|
-
}
|
|
1138
|
-
},
|
|
1139
|
-
/**
|
|
1140
|
-
* Get base64 string size in bytes
|
|
1141
|
-
*/
|
|
1142
|
-
getBase64Size: (base64) => {
|
|
1143
|
-
// Remove data URI prefix if present
|
|
1144
|
-
const cleanBase64 = base64.includes(",") ? base64.split(",")[1] : base64;
|
|
1145
|
-
return Buffer.byteLength(cleanBase64, "base64");
|
|
1146
|
-
},
|
|
1147
|
-
/**
|
|
1148
|
-
* Compress base64 image by reducing quality (basic implementation)
|
|
1149
|
-
* Note: This is a placeholder - for production use, consider using sharp or similar
|
|
1150
|
-
*/
|
|
1151
|
-
compressBase64: (base64, _quality = 0.8) => {
|
|
1152
|
-
// This is a basic implementation that just returns the original
|
|
1153
|
-
// In a real implementation, you'd use an image processing library
|
|
1154
|
-
logger.warn("Base64 compression not implemented - returning original");
|
|
1155
|
-
return base64;
|
|
1156
|
-
},
|
|
1157
|
-
};
|
|
1158
|
-
//# sourceMappingURL=imageProcessor.js.map
|