@langchain/core 1.2.4 → 1.2.6
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 +16 -0
- package/dist/agents.d.cts.map +1 -1
- package/dist/agents.d.ts.map +1 -1
- package/dist/caches/index.cjs.map +1 -1
- package/dist/caches/index.d.cts +0 -1
- package/dist/caches/index.d.cts.map +1 -1
- package/dist/caches/index.d.ts +0 -1
- package/dist/caches/index.d.ts.map +1 -1
- package/dist/caches/index.js.map +1 -1
- package/dist/callbacks/base.cjs.map +1 -1
- package/dist/callbacks/base.d.cts +68 -36
- package/dist/callbacks/base.d.cts.map +1 -1
- package/dist/callbacks/base.d.ts +68 -36
- package/dist/callbacks/base.d.ts.map +1 -1
- package/dist/callbacks/base.js.map +1 -1
- package/dist/callbacks/dispatch/index.cjs +0 -1
- package/dist/callbacks/dispatch/index.cjs.map +1 -1
- package/dist/callbacks/dispatch/index.d.cts +1 -0
- package/dist/callbacks/dispatch/index.d.cts.map +1 -1
- package/dist/callbacks/dispatch/index.d.ts +1 -0
- package/dist/callbacks/dispatch/index.d.ts.map +1 -1
- package/dist/callbacks/dispatch/index.js.map +1 -1
- package/dist/callbacks/dispatch/web.cjs.map +1 -1
- package/dist/callbacks/dispatch/web.d.cts +1 -0
- package/dist/callbacks/dispatch/web.d.cts.map +1 -1
- package/dist/callbacks/dispatch/web.d.ts +1 -0
- package/dist/callbacks/dispatch/web.d.ts.map +1 -1
- package/dist/callbacks/dispatch/web.js.map +1 -1
- package/dist/callbacks/manager.cjs +8 -0
- package/dist/callbacks/manager.cjs.map +1 -1
- package/dist/callbacks/manager.d.cts +1 -2
- package/dist/callbacks/manager.d.cts.map +1 -1
- package/dist/callbacks/manager.d.ts +1 -2
- package/dist/callbacks/manager.d.ts.map +1 -1
- package/dist/callbacks/manager.js +8 -0
- package/dist/callbacks/manager.js.map +1 -1
- package/dist/chat_history.cjs.map +1 -1
- package/dist/chat_history.d.cts +1 -0
- package/dist/chat_history.d.cts.map +1 -1
- package/dist/chat_history.d.ts +1 -0
- package/dist/chat_history.d.ts.map +1 -1
- package/dist/chat_history.js.map +1 -1
- package/dist/context.cjs +0 -1
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +0 -1
- package/dist/context.d.cts.map +1 -1
- package/dist/context.d.ts +0 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/document_loaders/base.cjs.map +1 -1
- package/dist/document_loaders/base.d.cts +0 -1
- package/dist/document_loaders/base.d.cts.map +1 -1
- package/dist/document_loaders/base.d.ts +0 -1
- package/dist/document_loaders/base.d.ts.map +1 -1
- package/dist/document_loaders/base.js.map +1 -1
- package/dist/document_loaders/langsmith.cjs.map +1 -1
- package/dist/document_loaders/langsmith.d.cts +0 -1
- package/dist/document_loaders/langsmith.d.cts.map +1 -1
- package/dist/document_loaders/langsmith.d.ts +0 -1
- package/dist/document_loaders/langsmith.d.ts.map +1 -1
- package/dist/document_loaders/langsmith.js.map +1 -1
- package/dist/documents/document.cjs.map +1 -1
- package/dist/documents/document.d.cts.map +1 -1
- package/dist/documents/document.d.ts.map +1 -1
- package/dist/documents/document.js.map +1 -1
- package/dist/documents/transformers.cjs.map +1 -1
- package/dist/documents/transformers.d.cts +0 -1
- package/dist/documents/transformers.d.cts.map +1 -1
- package/dist/documents/transformers.d.ts +0 -1
- package/dist/documents/transformers.d.ts.map +1 -1
- package/dist/documents/transformers.js.map +1 -1
- package/dist/embeddings.cjs.map +1 -1
- package/dist/embeddings.d.cts +0 -1
- package/dist/embeddings.d.cts.map +1 -1
- package/dist/embeddings.d.ts +0 -1
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js.map +1 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +0 -1
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +0 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/example_selectors/base.cjs.map +1 -1
- package/dist/example_selectors/base.d.cts +0 -1
- package/dist/example_selectors/base.d.cts.map +1 -1
- package/dist/example_selectors/base.d.ts +0 -1
- package/dist/example_selectors/base.d.ts.map +1 -1
- package/dist/example_selectors/base.js.map +1 -1
- package/dist/example_selectors/conditional.cjs.map +1 -1
- package/dist/example_selectors/conditional.d.cts +0 -1
- package/dist/example_selectors/conditional.d.cts.map +1 -1
- package/dist/example_selectors/conditional.d.ts +0 -1
- package/dist/example_selectors/conditional.d.ts.map +1 -1
- package/dist/example_selectors/conditional.js.map +1 -1
- package/dist/example_selectors/length_based.cjs.map +1 -1
- package/dist/example_selectors/length_based.d.cts +0 -1
- package/dist/example_selectors/length_based.d.cts.map +1 -1
- package/dist/example_selectors/length_based.d.ts +0 -1
- package/dist/example_selectors/length_based.d.ts.map +1 -1
- package/dist/example_selectors/length_based.js.map +1 -1
- package/dist/example_selectors/semantic_similarity.cjs +2 -1
- package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
- package/dist/example_selectors/semantic_similarity.d.cts +0 -1
- package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
- package/dist/example_selectors/semantic_similarity.d.ts +0 -1
- package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
- package/dist/example_selectors/semantic_similarity.js +2 -1
- package/dist/example_selectors/semantic_similarity.js.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/indexing/base.cjs.map +1 -1
- package/dist/indexing/base.d.cts +0 -1
- package/dist/indexing/base.d.cts.map +1 -1
- package/dist/indexing/base.d.ts +0 -1
- package/dist/indexing/base.d.ts.map +1 -1
- package/dist/indexing/base.js.map +1 -1
- package/dist/indexing/record_manager.cjs.map +1 -1
- package/dist/indexing/record_manager.d.cts +0 -1
- package/dist/indexing/record_manager.d.cts.map +1 -1
- package/dist/indexing/record_manager.d.ts +0 -1
- package/dist/indexing/record_manager.d.ts.map +1 -1
- package/dist/indexing/record_manager.js.map +1 -1
- package/dist/language_models/base.cjs +1 -1
- package/dist/language_models/base.cjs.map +1 -1
- package/dist/language_models/base.d.cts +9 -16
- package/dist/language_models/base.d.cts.map +1 -1
- package/dist/language_models/base.d.ts +9 -16
- package/dist/language_models/base.d.ts.map +1 -1
- package/dist/language_models/base.js +1 -1
- package/dist/language_models/base.js.map +1 -1
- package/dist/language_models/chat_models.cjs +12 -6
- package/dist/language_models/chat_models.cjs.map +1 -1
- package/dist/language_models/chat_models.d.cts +6 -8
- package/dist/language_models/chat_models.d.cts.map +1 -1
- package/dist/language_models/chat_models.d.ts +6 -8
- package/dist/language_models/chat_models.d.ts.map +1 -1
- package/dist/language_models/chat_models.js +12 -6
- package/dist/language_models/chat_models.js.map +1 -1
- package/dist/language_models/compat.cjs.map +1 -1
- package/dist/language_models/compat.d.cts +0 -1
- package/dist/language_models/compat.d.cts.map +1 -1
- package/dist/language_models/compat.d.ts +0 -1
- package/dist/language_models/compat.d.ts.map +1 -1
- package/dist/language_models/compat.js.map +1 -1
- package/dist/language_models/event.d.cts +0 -1
- package/dist/language_models/event.d.cts.map +1 -1
- package/dist/language_models/event.d.ts +0 -1
- package/dist/language_models/event.d.ts.map +1 -1
- package/dist/language_models/llms.cjs.map +1 -1
- package/dist/language_models/llms.d.cts +2 -9
- package/dist/language_models/llms.d.cts.map +1 -1
- package/dist/language_models/llms.d.ts +2 -9
- package/dist/language_models/llms.d.ts.map +1 -1
- package/dist/language_models/llms.js.map +1 -1
- package/dist/language_models/openai_completions_stream.cjs.map +1 -1
- package/dist/language_models/openai_completions_stream.d.cts +0 -1
- package/dist/language_models/openai_completions_stream.d.cts.map +1 -1
- package/dist/language_models/openai_completions_stream.d.ts +0 -1
- package/dist/language_models/openai_completions_stream.d.ts.map +1 -1
- package/dist/language_models/openai_completions_stream.js.map +1 -1
- package/dist/language_models/profile.d.cts.map +1 -1
- package/dist/language_models/profile.d.ts.map +1 -1
- package/dist/language_models/stream.cjs.map +1 -1
- package/dist/language_models/stream.d.cts +2 -1
- package/dist/language_models/stream.d.cts.map +1 -1
- package/dist/language_models/stream.d.ts +2 -1
- package/dist/language_models/stream.d.ts.map +1 -1
- package/dist/language_models/stream.js.map +1 -1
- package/dist/language_models/structured_output.cjs.map +1 -1
- package/dist/language_models/structured_output.d.cts +4 -0
- package/dist/language_models/structured_output.d.cts.map +1 -1
- package/dist/language_models/structured_output.d.ts +4 -0
- package/dist/language_models/structured_output.d.ts.map +1 -1
- package/dist/language_models/structured_output.js.map +1 -1
- package/dist/language_models/utils.cjs.map +1 -1
- package/dist/language_models/utils.js.map +1 -1
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js.map +1 -1
- package/dist/load/import_map.cjs +410 -0
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +3 -1
- package/dist/load/import_map.js.map +1 -1
- package/dist/load/import_type.d.cts.map +1 -1
- package/dist/load/import_type.d.ts.map +1 -1
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.d.cts +0 -1
- package/dist/load/index.d.cts.map +1 -1
- package/dist/load/index.d.ts +0 -1
- package/dist/load/index.d.ts.map +1 -1
- package/dist/load/index.js.map +1 -1
- package/dist/load/map_keys.cjs.map +1 -1
- package/dist/load/map_keys.d.cts.map +1 -1
- package/dist/load/map_keys.d.ts.map +1 -1
- package/dist/load/map_keys.js.map +1 -1
- package/dist/load/serializable.cjs.map +1 -1
- package/dist/load/serializable.d.cts +0 -1
- package/dist/load/serializable.d.cts.map +1 -1
- package/dist/load/serializable.d.ts +0 -1
- package/dist/load/serializable.d.ts.map +1 -1
- package/dist/load/serializable.js.map +1 -1
- package/dist/load/validation.cjs +3 -0
- package/dist/load/validation.cjs.map +1 -1
- package/dist/load/validation.js +1 -1
- package/dist/load/validation.js.map +1 -1
- package/dist/memory.cjs +8 -2
- package/dist/memory.cjs.map +1 -1
- package/dist/memory.d.cts.map +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +8 -2
- package/dist/memory.js.map +1 -1
- package/dist/messages/ai.cjs +6 -0
- package/dist/messages/ai.cjs.map +1 -1
- package/dist/messages/ai.d.cts +3 -2
- package/dist/messages/ai.d.cts.map +1 -1
- package/dist/messages/ai.d.ts +3 -2
- package/dist/messages/ai.d.ts.map +1 -1
- package/dist/messages/ai.js +6 -0
- package/dist/messages/ai.js.map +1 -1
- package/dist/messages/base.cjs +6 -0
- package/dist/messages/base.cjs.map +1 -1
- package/dist/messages/base.d.cts +9 -10
- package/dist/messages/base.d.cts.map +1 -1
- package/dist/messages/base.d.ts +9 -10
- package/dist/messages/base.d.ts.map +1 -1
- package/dist/messages/base.js +6 -0
- package/dist/messages/base.js.map +1 -1
- package/dist/messages/block_translators/anthropic.cjs +2 -0
- package/dist/messages/block_translators/anthropic.cjs.map +1 -1
- package/dist/messages/block_translators/anthropic.js +1 -1
- package/dist/messages/block_translators/anthropic.js.map +1 -1
- package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
- package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
- package/dist/messages/block_translators/data.cjs +1 -0
- package/dist/messages/block_translators/data.cjs.map +1 -1
- package/dist/messages/block_translators/data.js +1 -1
- package/dist/messages/block_translators/data.js.map +1 -1
- package/dist/messages/block_translators/deepseek.cjs +1 -0
- package/dist/messages/block_translators/deepseek.cjs.map +1 -1
- package/dist/messages/block_translators/deepseek.js +1 -1
- package/dist/messages/block_translators/deepseek.js.map +1 -1
- package/dist/messages/block_translators/google.cjs.map +1 -1
- package/dist/messages/block_translators/google.js.map +1 -1
- package/dist/messages/block_translators/google_genai.cjs.map +1 -1
- package/dist/messages/block_translators/google_genai.js.map +1 -1
- package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
- package/dist/messages/block_translators/google_vertexai.js.map +1 -1
- package/dist/messages/block_translators/groq.cjs +1 -0
- package/dist/messages/block_translators/groq.cjs.map +1 -1
- package/dist/messages/block_translators/groq.js +1 -1
- package/dist/messages/block_translators/groq.js.map +1 -1
- package/dist/messages/block_translators/index.cjs +1 -1
- package/dist/messages/block_translators/index.cjs.map +1 -1
- package/dist/messages/block_translators/index.js +1 -1
- package/dist/messages/block_translators/index.js.map +1 -1
- package/dist/messages/block_translators/ollama.cjs +1 -0
- package/dist/messages/block_translators/ollama.cjs.map +1 -1
- package/dist/messages/block_translators/ollama.js +1 -1
- package/dist/messages/block_translators/ollama.js.map +1 -1
- package/dist/messages/block_translators/openai.cjs +4 -0
- package/dist/messages/block_translators/openai.cjs.map +1 -1
- package/dist/messages/block_translators/openai.js +1 -1
- package/dist/messages/block_translators/openai.js.map +1 -1
- package/dist/messages/block_translators/openrouter.cjs +1 -0
- package/dist/messages/block_translators/openrouter.cjs.map +1 -1
- package/dist/messages/block_translators/openrouter.js +1 -1
- package/dist/messages/block_translators/openrouter.js.map +1 -1
- package/dist/messages/block_translators/utils.cjs.map +1 -1
- package/dist/messages/block_translators/utils.js.map +1 -1
- package/dist/messages/block_translators/xai.cjs +1 -0
- package/dist/messages/block_translators/xai.cjs.map +1 -1
- package/dist/messages/block_translators/xai.js +1 -1
- package/dist/messages/block_translators/xai.js.map +1 -1
- package/dist/messages/chat.cjs +6 -0
- package/dist/messages/chat.cjs.map +1 -1
- package/dist/messages/chat.d.cts +3 -2
- package/dist/messages/chat.d.cts.map +1 -1
- package/dist/messages/chat.d.ts +3 -2
- package/dist/messages/chat.d.ts.map +1 -1
- package/dist/messages/chat.js +6 -0
- package/dist/messages/chat.js.map +1 -1
- package/dist/messages/content/base.d.cts.map +1 -1
- package/dist/messages/content/base.d.ts.map +1 -1
- package/dist/messages/content/data.cjs.map +1 -1
- package/dist/messages/content/data.d.cts +2 -9
- package/dist/messages/content/data.d.cts.map +1 -1
- package/dist/messages/content/data.d.ts +2 -9
- package/dist/messages/content/data.d.ts.map +1 -1
- package/dist/messages/content/data.js.map +1 -1
- package/dist/messages/content/index.cjs.map +1 -1
- package/dist/messages/content/index.d.cts +0 -1
- package/dist/messages/content/index.d.cts.map +1 -1
- package/dist/messages/content/index.d.ts +0 -1
- package/dist/messages/content/index.d.ts.map +1 -1
- package/dist/messages/content/index.js.map +1 -1
- package/dist/messages/content/multimodal.cjs.map +1 -1
- package/dist/messages/content/multimodal.d.cts +8 -5
- package/dist/messages/content/multimodal.d.cts.map +1 -1
- package/dist/messages/content/multimodal.d.ts +8 -5
- package/dist/messages/content/multimodal.d.ts.map +1 -1
- package/dist/messages/content/multimodal.js.map +1 -1
- package/dist/messages/content/tools.cjs.map +1 -1
- package/dist/messages/content/tools.d.cts +0 -1
- package/dist/messages/content/tools.d.cts.map +1 -1
- package/dist/messages/content/tools.d.ts +0 -1
- package/dist/messages/content/tools.d.ts.map +1 -1
- package/dist/messages/content/tools.js.map +1 -1
- package/dist/messages/format.cjs.map +1 -1
- package/dist/messages/format.d.cts.map +1 -1
- package/dist/messages/format.d.ts.map +1 -1
- package/dist/messages/format.js.map +1 -1
- package/dist/messages/function.cjs +12 -0
- package/dist/messages/function.cjs.map +1 -1
- package/dist/messages/function.d.cts +5 -2
- package/dist/messages/function.d.cts.map +1 -1
- package/dist/messages/function.d.ts +5 -2
- package/dist/messages/function.d.ts.map +1 -1
- package/dist/messages/function.js +12 -0
- package/dist/messages/function.js.map +1 -1
- package/dist/messages/human.cjs +6 -0
- package/dist/messages/human.cjs.map +1 -1
- package/dist/messages/human.d.cts +3 -2
- package/dist/messages/human.d.cts.map +1 -1
- package/dist/messages/human.d.ts +3 -2
- package/dist/messages/human.d.ts.map +1 -1
- package/dist/messages/human.js +6 -0
- package/dist/messages/human.js.map +1 -1
- package/dist/messages/message.cjs.map +1 -1
- package/dist/messages/message.d.cts +31 -22
- package/dist/messages/message.d.cts.map +1 -1
- package/dist/messages/message.d.ts +31 -22
- package/dist/messages/message.d.ts.map +1 -1
- package/dist/messages/message.js.map +1 -1
- package/dist/messages/metadata.cjs.map +1 -1
- package/dist/messages/metadata.d.cts +0 -1
- package/dist/messages/metadata.d.cts.map +1 -1
- package/dist/messages/metadata.d.ts +0 -1
- package/dist/messages/metadata.d.ts.map +1 -1
- package/dist/messages/metadata.js.map +1 -1
- package/dist/messages/modifier.cjs +3 -0
- package/dist/messages/modifier.cjs.map +1 -1
- package/dist/messages/modifier.d.cts +1 -1
- package/dist/messages/modifier.d.cts.map +1 -1
- package/dist/messages/modifier.d.ts +1 -1
- package/dist/messages/modifier.d.ts.map +1 -1
- package/dist/messages/modifier.js +3 -0
- package/dist/messages/modifier.js.map +1 -1
- package/dist/messages/system.cjs +6 -0
- package/dist/messages/system.cjs.map +1 -1
- package/dist/messages/system.d.cts +3 -2
- package/dist/messages/system.d.cts.map +1 -1
- package/dist/messages/system.d.ts +3 -2
- package/dist/messages/system.d.ts.map +1 -1
- package/dist/messages/system.js +6 -0
- package/dist/messages/system.js.map +1 -1
- package/dist/messages/tool.cjs +9 -0
- package/dist/messages/tool.cjs.map +1 -1
- package/dist/messages/tool.d.cts +7 -5
- package/dist/messages/tool.d.cts.map +1 -1
- package/dist/messages/tool.d.ts +7 -5
- package/dist/messages/tool.d.ts.map +1 -1
- package/dist/messages/tool.js +9 -0
- package/dist/messages/tool.js.map +1 -1
- package/dist/messages/transformers.cjs.map +1 -1
- package/dist/messages/transformers.d.cts +0 -1
- package/dist/messages/transformers.d.cts.map +1 -1
- package/dist/messages/transformers.d.ts +0 -1
- package/dist/messages/transformers.d.ts.map +1 -1
- package/dist/messages/transformers.js.map +1 -1
- package/dist/messages/utils.cjs.map +1 -1
- package/dist/messages/utils.d.cts +4 -5
- package/dist/messages/utils.d.cts.map +1 -1
- package/dist/messages/utils.d.ts +4 -5
- package/dist/messages/utils.d.ts.map +1 -1
- package/dist/messages/utils.js.map +1 -1
- package/dist/output_parsers/base.cjs.map +1 -1
- package/dist/output_parsers/base.d.cts +3 -0
- package/dist/output_parsers/base.d.cts.map +1 -1
- package/dist/output_parsers/base.d.ts +3 -0
- package/dist/output_parsers/base.d.ts.map +1 -1
- package/dist/output_parsers/base.js.map +1 -1
- package/dist/output_parsers/bytes.cjs.map +1 -1
- package/dist/output_parsers/bytes.d.cts +0 -1
- package/dist/output_parsers/bytes.d.cts.map +1 -1
- package/dist/output_parsers/bytes.d.ts +0 -1
- package/dist/output_parsers/bytes.d.ts.map +1 -1
- package/dist/output_parsers/bytes.js.map +1 -1
- package/dist/output_parsers/json.cjs +2 -0
- package/dist/output_parsers/json.cjs.map +1 -1
- package/dist/output_parsers/json.d.cts +2 -2
- package/dist/output_parsers/json.d.cts.map +1 -1
- package/dist/output_parsers/json.d.ts +2 -2
- package/dist/output_parsers/json.d.ts.map +1 -1
- package/dist/output_parsers/json.js +2 -2
- package/dist/output_parsers/json.js.map +1 -1
- package/dist/output_parsers/list.cjs.map +1 -1
- package/dist/output_parsers/list.d.cts +2 -5
- package/dist/output_parsers/list.d.cts.map +1 -1
- package/dist/output_parsers/list.d.ts +2 -5
- package/dist/output_parsers/list.d.ts.map +1 -1
- package/dist/output_parsers/list.js.map +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +2 -2
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +2 -2
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
- package/dist/output_parsers/standard_schema.cjs.map +1 -1
- package/dist/output_parsers/standard_schema.d.cts +1 -1
- package/dist/output_parsers/standard_schema.d.cts.map +1 -1
- package/dist/output_parsers/standard_schema.d.ts +1 -1
- package/dist/output_parsers/standard_schema.d.ts.map +1 -1
- package/dist/output_parsers/standard_schema.js.map +1 -1
- package/dist/output_parsers/string.cjs.map +1 -1
- package/dist/output_parsers/string.d.cts +1 -1
- package/dist/output_parsers/string.d.cts.map +1 -1
- package/dist/output_parsers/string.d.ts +1 -1
- package/dist/output_parsers/string.d.ts.map +1 -1
- package/dist/output_parsers/string.js.map +1 -1
- package/dist/output_parsers/structured.cjs +1 -1
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.d.cts +2 -4
- package/dist/output_parsers/structured.d.cts.map +1 -1
- package/dist/output_parsers/structured.d.ts +2 -4
- package/dist/output_parsers/structured.d.ts.map +1 -1
- package/dist/output_parsers/structured.js +1 -0
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/output_parsers/transform.cjs +0 -1
- package/dist/output_parsers/transform.cjs.map +1 -1
- package/dist/output_parsers/transform.d.cts +0 -1
- package/dist/output_parsers/transform.d.cts.map +1 -1
- package/dist/output_parsers/transform.d.ts +0 -1
- package/dist/output_parsers/transform.d.ts.map +1 -1
- package/dist/output_parsers/transform.js.map +1 -1
- package/dist/output_parsers/xml.cjs.map +1 -1
- package/dist/output_parsers/xml.d.cts +0 -1
- package/dist/output_parsers/xml.d.cts.map +1 -1
- package/dist/output_parsers/xml.d.ts +0 -1
- package/dist/output_parsers/xml.d.ts.map +1 -1
- package/dist/output_parsers/xml.js.map +1 -1
- package/dist/outputs.cjs.map +1 -1
- package/dist/outputs.d.cts +0 -1
- package/dist/outputs.d.cts.map +1 -1
- package/dist/outputs.d.ts +0 -1
- package/dist/outputs.d.ts.map +1 -1
- package/dist/outputs.js.map +1 -1
- package/dist/prompt_values.cjs.map +1 -1
- package/dist/prompt_values.d.cts +3 -2
- package/dist/prompt_values.d.cts.map +1 -1
- package/dist/prompt_values.d.ts +3 -2
- package/dist/prompt_values.d.ts.map +1 -1
- package/dist/prompt_values.js.map +1 -1
- package/dist/prompts/base.cjs.map +1 -1
- package/dist/prompts/base.d.cts +1 -0
- package/dist/prompts/base.d.cts.map +1 -1
- package/dist/prompts/base.d.ts +1 -0
- package/dist/prompts/base.d.ts.map +1 -1
- package/dist/prompts/base.js.map +1 -1
- package/dist/prompts/chat.cjs +3 -2
- package/dist/prompts/chat.cjs.map +1 -1
- package/dist/prompts/chat.d.cts +3 -3
- package/dist/prompts/chat.d.cts.map +1 -1
- package/dist/prompts/chat.d.ts +3 -3
- package/dist/prompts/chat.d.ts.map +1 -1
- package/dist/prompts/chat.js +3 -2
- package/dist/prompts/chat.js.map +1 -1
- package/dist/prompts/dict.cjs.map +1 -1
- package/dist/prompts/dict.d.cts +0 -1
- package/dist/prompts/dict.d.cts.map +1 -1
- package/dist/prompts/dict.d.ts +0 -1
- package/dist/prompts/dict.d.ts.map +1 -1
- package/dist/prompts/dict.js.map +1 -1
- package/dist/prompts/few_shot.cjs +6 -4
- package/dist/prompts/few_shot.cjs.map +1 -1
- package/dist/prompts/few_shot.d.cts +1 -1
- package/dist/prompts/few_shot.d.cts.map +1 -1
- package/dist/prompts/few_shot.d.ts +1 -1
- package/dist/prompts/few_shot.d.ts.map +1 -1
- package/dist/prompts/few_shot.js +6 -4
- package/dist/prompts/few_shot.js.map +1 -1
- package/dist/prompts/image.cjs +3 -2
- package/dist/prompts/image.cjs.map +1 -1
- package/dist/prompts/image.d.cts +1 -1
- package/dist/prompts/image.d.cts.map +1 -1
- package/dist/prompts/image.d.ts +1 -1
- package/dist/prompts/image.d.ts.map +1 -1
- package/dist/prompts/image.js +3 -2
- package/dist/prompts/image.js.map +1 -1
- package/dist/prompts/pipeline.cjs.map +1 -1
- package/dist/prompts/pipeline.d.cts +0 -1
- package/dist/prompts/pipeline.d.cts.map +1 -1
- package/dist/prompts/pipeline.d.ts +0 -1
- package/dist/prompts/pipeline.d.ts.map +1 -1
- package/dist/prompts/pipeline.js.map +1 -1
- package/dist/prompts/prompt.cjs +9 -7
- package/dist/prompts/prompt.cjs.map +1 -1
- package/dist/prompts/prompt.d.cts +2 -2
- package/dist/prompts/prompt.d.cts.map +1 -1
- package/dist/prompts/prompt.d.ts +2 -2
- package/dist/prompts/prompt.d.ts.map +1 -1
- package/dist/prompts/prompt.js +9 -7
- package/dist/prompts/prompt.js.map +1 -1
- package/dist/prompts/serde.d.cts +1 -1
- package/dist/prompts/serde.d.cts.map +1 -1
- package/dist/prompts/serde.d.ts +1 -1
- package/dist/prompts/serde.d.ts.map +1 -1
- package/dist/prompts/string.cjs.map +1 -1
- package/dist/prompts/string.d.cts +0 -1
- package/dist/prompts/string.d.cts.map +1 -1
- package/dist/prompts/string.d.ts +0 -1
- package/dist/prompts/string.d.ts.map +1 -1
- package/dist/prompts/string.js.map +1 -1
- package/dist/prompts/structured.cjs.map +1 -1
- package/dist/prompts/structured.d.cts +1 -1
- package/dist/prompts/structured.d.cts.map +1 -1
- package/dist/prompts/structured.d.ts +1 -1
- package/dist/prompts/structured.d.ts.map +1 -1
- package/dist/prompts/structured.js.map +1 -1
- package/dist/prompts/template.cjs +9 -9
- package/dist/prompts/template.cjs.map +1 -1
- package/dist/prompts/template.d.cts +1 -0
- package/dist/prompts/template.d.cts.map +1 -1
- package/dist/prompts/template.d.ts +1 -0
- package/dist/prompts/template.d.ts.map +1 -1
- package/dist/prompts/template.js +9 -9
- package/dist/prompts/template.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs.map +1 -1
- package/dist/retrievers/document_compressors/index.d.cts +0 -1
- package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/index.d.ts +0 -1
- package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/index.cjs.map +1 -1
- package/dist/retrievers/index.d.cts +1 -1
- package/dist/retrievers/index.d.cts.map +1 -1
- package/dist/retrievers/index.d.ts +1 -1
- package/dist/retrievers/index.d.ts.map +1 -1
- package/dist/retrievers/index.js.map +1 -1
- package/dist/runnables/base.cjs +2 -1
- package/dist/runnables/base.cjs.map +1 -1
- package/dist/runnables/base.d.cts +7 -19
- package/dist/runnables/base.d.cts.map +1 -1
- package/dist/runnables/base.d.ts +7 -19
- package/dist/runnables/base.d.ts.map +1 -1
- package/dist/runnables/base.js +1 -1
- package/dist/runnables/base.js.map +1 -1
- package/dist/runnables/branch.cjs.map +1 -1
- package/dist/runnables/branch.d.cts +1 -1
- package/dist/runnables/branch.d.cts.map +1 -1
- package/dist/runnables/branch.d.ts +1 -1
- package/dist/runnables/branch.d.ts.map +1 -1
- package/dist/runnables/branch.js.map +1 -1
- package/dist/runnables/config.cjs +3 -2
- package/dist/runnables/config.cjs.map +1 -1
- package/dist/runnables/config.d.cts +2 -10
- package/dist/runnables/config.d.cts.map +1 -1
- package/dist/runnables/config.d.ts +2 -10
- package/dist/runnables/config.d.ts.map +1 -1
- package/dist/runnables/config.js +3 -3
- package/dist/runnables/config.js.map +1 -1
- package/dist/runnables/graph.cjs.map +1 -1
- package/dist/runnables/graph.d.cts +1 -2
- package/dist/runnables/graph.d.cts.map +1 -1
- package/dist/runnables/graph.d.ts +1 -2
- package/dist/runnables/graph.d.ts.map +1 -1
- package/dist/runnables/graph.js.map +1 -1
- package/dist/runnables/graph_mermaid.cjs.map +1 -1
- package/dist/runnables/graph_mermaid.js.map +1 -1
- package/dist/runnables/history.cjs.map +1 -1
- package/dist/runnables/history.d.cts +2 -1
- package/dist/runnables/history.d.cts.map +1 -1
- package/dist/runnables/history.d.ts +2 -1
- package/dist/runnables/history.d.ts.map +1 -1
- package/dist/runnables/history.js.map +1 -1
- package/dist/runnables/iter.cjs.map +1 -1
- package/dist/runnables/iter.js.map +1 -1
- package/dist/runnables/passthrough.cjs.map +1 -1
- package/dist/runnables/passthrough.d.cts +1 -1
- package/dist/runnables/passthrough.d.cts.map +1 -1
- package/dist/runnables/passthrough.d.ts +1 -1
- package/dist/runnables/passthrough.d.ts.map +1 -1
- package/dist/runnables/passthrough.js.map +1 -1
- package/dist/runnables/router.cjs.map +1 -1
- package/dist/runnables/router.d.cts +1 -1
- package/dist/runnables/router.d.cts.map +1 -1
- package/dist/runnables/router.d.ts +1 -1
- package/dist/runnables/router.d.ts.map +1 -1
- package/dist/runnables/router.js.map +1 -1
- package/dist/runnables/types.d.cts +2 -2
- package/dist/runnables/types.d.cts.map +1 -1
- package/dist/runnables/types.d.ts +2 -2
- package/dist/runnables/types.d.ts.map +1 -1
- package/dist/runnables/utils.cjs.map +1 -1
- package/dist/runnables/utils.js.map +1 -1
- package/dist/runnables/wrappers.cjs.map +1 -1
- package/dist/runnables/wrappers.js.map +1 -1
- package/dist/singletons/async_local_storage/context.cjs +0 -1
- package/dist/singletons/async_local_storage/context.cjs.map +1 -1
- package/dist/singletons/async_local_storage/context.d.cts +0 -1
- package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
- package/dist/singletons/async_local_storage/context.d.ts +0 -1
- package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
- package/dist/singletons/async_local_storage/context.js.map +1 -1
- package/dist/singletons/async_local_storage/globals.cjs +1 -0
- package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
- package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
- package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
- package/dist/singletons/async_local_storage/globals.js +1 -1
- package/dist/singletons/async_local_storage/globals.js.map +1 -1
- package/dist/singletons/async_local_storage/index.cjs +0 -1
- package/dist/singletons/async_local_storage/index.cjs.map +1 -1
- package/dist/singletons/async_local_storage/index.d.cts +1 -2
- package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
- package/dist/singletons/async_local_storage/index.d.ts +1 -2
- package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
- package/dist/singletons/async_local_storage/index.js.map +1 -1
- package/dist/singletons/callbacks.cjs +1 -0
- package/dist/singletons/callbacks.cjs.map +1 -1
- package/dist/singletons/callbacks.d.cts +1 -0
- package/dist/singletons/callbacks.d.cts.map +1 -1
- package/dist/singletons/callbacks.d.ts +0 -1
- package/dist/singletons/callbacks.d.ts.map +1 -1
- package/dist/singletons/callbacks.js +1 -1
- package/dist/singletons/callbacks.js.map +1 -1
- package/dist/singletons/tracer.cjs +0 -1
- package/dist/singletons/tracer.cjs.map +1 -1
- package/dist/singletons/tracer.js.map +1 -1
- package/dist/stores.cjs.map +1 -1
- package/dist/stores.d.cts +0 -1
- package/dist/stores.d.cts.map +1 -1
- package/dist/stores.d.ts +0 -1
- package/dist/stores.d.ts.map +1 -1
- package/dist/stores.js.map +1 -1
- package/dist/structured_query/base.cjs.map +1 -1
- package/dist/structured_query/base.d.cts +0 -1
- package/dist/structured_query/base.d.cts.map +1 -1
- package/dist/structured_query/base.d.ts +0 -1
- package/dist/structured_query/base.d.ts.map +1 -1
- package/dist/structured_query/base.js.map +1 -1
- package/dist/structured_query/functional.cjs.map +1 -1
- package/dist/structured_query/functional.d.cts +0 -1
- package/dist/structured_query/functional.d.cts.map +1 -1
- package/dist/structured_query/functional.d.ts +0 -1
- package/dist/structured_query/functional.d.ts.map +1 -1
- package/dist/structured_query/functional.js.map +1 -1
- package/dist/structured_query/ir.cjs +7 -0
- package/dist/structured_query/ir.cjs.map +1 -1
- package/dist/structured_query/ir.d.cts +0 -1
- package/dist/structured_query/ir.d.cts.map +1 -1
- package/dist/structured_query/ir.d.ts +0 -1
- package/dist/structured_query/ir.d.ts.map +1 -1
- package/dist/structured_query/ir.js +7 -0
- package/dist/structured_query/ir.js.map +1 -1
- package/dist/structured_query/utils.cjs.map +1 -1
- package/dist/structured_query/utils.d.cts.map +1 -1
- package/dist/structured_query/utils.d.ts.map +1 -1
- package/dist/structured_query/utils.js.map +1 -1
- package/dist/testing/fake_model_builder.cjs.map +1 -1
- package/dist/testing/fake_model_builder.d.cts +1 -1
- package/dist/testing/fake_model_builder.d.cts.map +1 -1
- package/dist/testing/fake_model_builder.d.ts +1 -1
- package/dist/testing/fake_model_builder.d.ts.map +1 -1
- package/dist/testing/fake_model_builder.js.map +1 -1
- package/dist/testing/matchers.cjs.map +1 -1
- package/dist/testing/matchers.d.cts +0 -1
- package/dist/testing/matchers.d.cts.map +1 -1
- package/dist/testing/matchers.d.ts +0 -1
- package/dist/testing/matchers.d.ts.map +1 -1
- package/dist/testing/matchers.js.map +1 -1
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.cts +8 -7
- package/dist/tools/index.d.cts.map +1 -1
- package/dist/tools/index.d.ts +8 -7
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/types.cjs.map +1 -1
- package/dist/tools/types.d.cts +4 -3
- package/dist/tools/types.d.cts.map +1 -1
- package/dist/tools/types.d.ts +4 -3
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.cjs.map +1 -1
- package/dist/tools/utils.d.cts.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js.map +1 -1
- package/dist/tracers/base.cjs.map +1 -1
- package/dist/tracers/base.d.cts +18 -14
- package/dist/tracers/base.d.cts.map +1 -1
- package/dist/tracers/base.d.ts +18 -14
- package/dist/tracers/base.d.ts.map +1 -1
- package/dist/tracers/base.js.map +1 -1
- package/dist/tracers/console.cjs.map +1 -1
- package/dist/tracers/console.d.cts +0 -1
- package/dist/tracers/console.d.cts.map +1 -1
- package/dist/tracers/console.d.ts +0 -1
- package/dist/tracers/console.d.ts.map +1 -1
- package/dist/tracers/console.js.map +1 -1
- package/dist/tracers/event_stream.cjs.map +1 -1
- package/dist/tracers/event_stream.d.cts +5 -2
- package/dist/tracers/event_stream.d.cts.map +1 -1
- package/dist/tracers/event_stream.d.ts +5 -2
- package/dist/tracers/event_stream.d.ts.map +1 -1
- package/dist/tracers/event_stream.js.map +1 -1
- package/dist/tracers/log_stream.cjs.map +1 -1
- package/dist/tracers/log_stream.d.cts +30 -15
- package/dist/tracers/log_stream.d.cts.map +1 -1
- package/dist/tracers/log_stream.d.ts +30 -15
- package/dist/tracers/log_stream.d.ts.map +1 -1
- package/dist/tracers/log_stream.js.map +1 -1
- package/dist/tracers/root_listener.cjs.map +1 -1
- package/dist/tracers/root_listener.js.map +1 -1
- package/dist/tracers/run_collector.cjs.map +1 -1
- package/dist/tracers/run_collector.d.cts +1 -4
- package/dist/tracers/run_collector.d.cts.map +1 -1
- package/dist/tracers/run_collector.d.ts +1 -4
- package/dist/tracers/run_collector.d.ts.map +1 -1
- package/dist/tracers/run_collector.js.map +1 -1
- package/dist/tracers/tracer_langchain.cjs +4 -3
- package/dist/tracers/tracer_langchain.cjs.map +1 -1
- package/dist/tracers/tracer_langchain.d.cts +1 -5
- package/dist/tracers/tracer_langchain.d.cts.map +1 -1
- package/dist/tracers/tracer_langchain.d.ts +1 -5
- package/dist/tracers/tracer_langchain.d.ts.map +1 -1
- package/dist/tracers/tracer_langchain.js +4 -3
- package/dist/tracers/tracer_langchain.js.map +1 -1
- package/dist/types/_internal.d.cts.map +1 -1
- package/dist/types/_internal.d.ts.map +1 -1
- package/dist/types/stream.d.cts +1 -1
- package/dist/types/stream.d.ts +1 -1
- package/dist/types/type-utils.d.cts +1 -1
- package/dist/types/type-utils.d.cts.map +1 -1
- package/dist/types/type-utils.d.ts +1 -1
- package/dist/types/type-utils.d.ts.map +1 -1
- package/dist/utils/async_caller.cjs.map +1 -1
- package/dist/utils/async_caller.d.cts.map +1 -1
- package/dist/utils/async_caller.d.ts.map +1 -1
- package/dist/utils/async_caller.js.map +1 -1
- package/dist/utils/callbacks.cjs.map +1 -1
- package/dist/utils/callbacks.js.map +1 -1
- package/dist/utils/chunk_array.cjs.map +1 -1
- package/dist/utils/chunk_array.d.cts.map +1 -1
- package/dist/utils/chunk_array.d.ts.map +1 -1
- package/dist/utils/chunk_array.js.map +1 -1
- package/dist/utils/context.cjs.map +1 -1
- package/dist/utils/context.d.cts.map +1 -1
- package/dist/utils/context.d.ts.map +1 -1
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/env.cjs.map +1 -1
- package/dist/utils/env.d.cts.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/event_source_parse.cjs +2 -2
- package/dist/utils/event_source_parse.cjs.map +1 -1
- package/dist/utils/event_source_parse.d.cts +0 -1
- package/dist/utils/event_source_parse.d.cts.map +1 -1
- package/dist/utils/event_source_parse.d.ts +0 -1
- package/dist/utils/event_source_parse.d.ts.map +1 -1
- package/dist/utils/event_source_parse.js +2 -2
- package/dist/utils/event_source_parse.js.map +1 -1
- package/dist/utils/fast-json-patch/index.cjs +9 -1
- package/dist/utils/fast-json-patch/index.cjs.map +1 -1
- package/dist/utils/fast-json-patch/index.js +3 -3
- package/dist/utils/fast-json-patch/index.js.map +1 -1
- package/dist/utils/fast-json-patch/src/core.cjs +7 -0
- package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/core.d.cts +1 -1
- package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
- package/dist/utils/fast-json-patch/src/core.d.ts +1 -1
- package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
- package/dist/utils/fast-json-patch/src/core.js +6 -1
- package/dist/utils/fast-json-patch/src/core.js.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -1
- package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -1
- package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.cjs +4 -0
- package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.js +4 -0
- package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
- package/dist/utils/format.d.cts.map +1 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/function_calling.cjs.map +1 -1
- package/dist/utils/function_calling.d.cts +0 -1
- package/dist/utils/function_calling.d.cts.map +1 -1
- package/dist/utils/function_calling.d.ts +0 -1
- package/dist/utils/function_calling.d.ts.map +1 -1
- package/dist/utils/function_calling.js.map +1 -1
- package/dist/utils/gateway.cjs +43 -0
- package/dist/utils/gateway.cjs.map +1 -0
- package/dist/utils/gateway.d.cts +13 -0
- package/dist/utils/gateway.d.cts.map +1 -0
- package/dist/utils/gateway.d.ts +13 -0
- package/dist/utils/gateway.d.ts.map +1 -0
- package/dist/utils/gateway.js +36 -0
- package/dist/utils/gateway.js.map +1 -0
- package/dist/utils/hash.d.cts +0 -1
- package/dist/utils/hash.d.cts.map +1 -1
- package/dist/utils/hash.d.ts +0 -1
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/is-network-error/index.cjs +1 -1
- package/dist/utils/is-network-error/index.cjs.map +1 -1
- package/dist/utils/is-network-error/index.js +1 -1
- package/dist/utils/is-network-error/index.js.map +1 -1
- package/dist/utils/js-sha256/hash.cjs.map +1 -1
- package/dist/utils/js-sha256/hash.d.cts.map +1 -1
- package/dist/utils/js-sha256/hash.d.ts.map +1 -1
- package/dist/utils/js-sha256/hash.js.map +1 -1
- package/dist/utils/json.cjs +1 -0
- package/dist/utils/json.cjs.map +1 -1
- package/dist/utils/json.d.cts.map +1 -1
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js +1 -1
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/json_schema.cjs.map +1 -1
- package/dist/utils/json_schema.d.cts +1 -1
- package/dist/utils/json_schema.d.cts.map +1 -1
- package/dist/utils/json_schema.d.ts +1 -1
- package/dist/utils/json_schema.d.ts.map +1 -1
- package/dist/utils/json_schema.js.map +1 -1
- package/dist/utils/math.cjs.map +1 -1
- package/dist/utils/math.d.cts.map +1 -1
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/ml-distance/distances.cjs.map +1 -1
- package/dist/utils/ml-distance/distances.js.map +1 -1
- package/dist/utils/ml-distance/similarities.cjs.map +1 -1
- package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
- package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
- package/dist/utils/ml-distance/similarities.js.map +1 -1
- package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -0
- package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
- package/dist/utils/ml-distance-euclidean/euclidean.js +1 -1
- package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -1
- package/dist/utils/namespace.cjs +4 -0
- package/dist/utils/namespace.cjs.map +1 -1
- package/dist/utils/namespace.d.cts.map +1 -1
- package/dist/utils/namespace.d.ts.map +1 -1
- package/dist/utils/namespace.js +4 -1
- package/dist/utils/namespace.js.map +1 -1
- package/dist/utils/p-retry/index.cjs +1 -0
- package/dist/utils/p-retry/index.cjs.map +1 -1
- package/dist/utils/p-retry/index.js +1 -1
- package/dist/utils/p-retry/index.js.map +1 -1
- package/dist/utils/sax-js/sax.cjs.map +1 -1
- package/dist/utils/sax-js/sax.js.map +1 -1
- package/dist/utils/signal.cjs.map +1 -1
- package/dist/utils/signal.d.cts.map +1 -1
- package/dist/utils/signal.d.ts.map +1 -1
- package/dist/utils/signal.js.map +1 -1
- package/dist/utils/ssrf.cjs.map +1 -1
- package/dist/utils/ssrf.d.cts.map +1 -1
- package/dist/utils/ssrf.d.ts.map +1 -1
- package/dist/utils/ssrf.js.map +1 -1
- package/dist/utils/standard_schema.cjs.map +1 -1
- package/dist/utils/standard_schema.d.cts +0 -1
- package/dist/utils/standard_schema.d.cts.map +1 -1
- package/dist/utils/standard_schema.d.ts +0 -1
- package/dist/utils/standard_schema.d.ts.map +1 -1
- package/dist/utils/standard_schema.js.map +1 -1
- package/dist/utils/stream.cjs.map +1 -1
- package/dist/utils/stream.d.cts +0 -1
- package/dist/utils/stream.d.cts.map +1 -1
- package/dist/utils/stream.d.ts +0 -1
- package/dist/utils/stream.d.ts.map +1 -1
- package/dist/utils/stream.js.map +1 -1
- package/dist/utils/testing/chat_models.cjs.map +1 -1
- package/dist/utils/testing/chat_models.d.cts +2 -9
- package/dist/utils/testing/chat_models.d.cts.map +1 -1
- package/dist/utils/testing/chat_models.d.ts +2 -9
- package/dist/utils/testing/chat_models.d.ts.map +1 -1
- package/dist/utils/testing/chat_models.js.map +1 -1
- package/dist/utils/testing/embeddings.cjs.map +1 -1
- package/dist/utils/testing/embeddings.d.cts +0 -1
- package/dist/utils/testing/embeddings.d.cts.map +1 -1
- package/dist/utils/testing/embeddings.d.ts +0 -1
- package/dist/utils/testing/embeddings.d.ts.map +1 -1
- package/dist/utils/testing/embeddings.js.map +1 -1
- package/dist/utils/testing/llms.cjs.map +1 -1
- package/dist/utils/testing/llms.d.cts +0 -1
- package/dist/utils/testing/llms.d.cts.map +1 -1
- package/dist/utils/testing/llms.d.ts +0 -1
- package/dist/utils/testing/llms.d.ts.map +1 -1
- package/dist/utils/testing/llms.js.map +1 -1
- package/dist/utils/testing/message_history.cjs.map +1 -1
- package/dist/utils/testing/message_history.d.cts +1 -1
- package/dist/utils/testing/message_history.d.cts.map +1 -1
- package/dist/utils/testing/message_history.d.ts +1 -1
- package/dist/utils/testing/message_history.d.ts.map +1 -1
- package/dist/utils/testing/message_history.js.map +1 -1
- package/dist/utils/testing/openai_stream_fixtures.cjs.map +1 -1
- package/dist/utils/testing/openai_stream_fixtures.d.cts +0 -1
- package/dist/utils/testing/openai_stream_fixtures.d.cts.map +1 -1
- package/dist/utils/testing/openai_stream_fixtures.d.ts +0 -1
- package/dist/utils/testing/openai_stream_fixtures.d.ts.map +1 -1
- package/dist/utils/testing/openai_stream_fixtures.js.map +1 -1
- package/dist/utils/testing/output_parsers.cjs.map +1 -1
- package/dist/utils/testing/output_parsers.d.cts +0 -1
- package/dist/utils/testing/output_parsers.d.cts.map +1 -1
- package/dist/utils/testing/output_parsers.d.ts +0 -1
- package/dist/utils/testing/output_parsers.d.ts.map +1 -1
- package/dist/utils/testing/output_parsers.js.map +1 -1
- package/dist/utils/testing/retrievers.cjs.map +1 -1
- package/dist/utils/testing/retrievers.d.cts +0 -1
- package/dist/utils/testing/retrievers.d.cts.map +1 -1
- package/dist/utils/testing/retrievers.d.ts +0 -1
- package/dist/utils/testing/retrievers.d.ts.map +1 -1
- package/dist/utils/testing/retrievers.js.map +1 -1
- package/dist/utils/testing/runnables.cjs.map +1 -1
- package/dist/utils/testing/runnables.d.cts +0 -1
- package/dist/utils/testing/runnables.d.cts.map +1 -1
- package/dist/utils/testing/runnables.d.ts +0 -1
- package/dist/utils/testing/runnables.d.ts.map +1 -1
- package/dist/utils/testing/runnables.js.map +1 -1
- package/dist/utils/testing/stream.cjs +5 -0
- package/dist/utils/testing/stream.cjs.map +1 -1
- package/dist/utils/testing/stream.d.cts.map +1 -1
- package/dist/utils/testing/stream.d.ts.map +1 -1
- package/dist/utils/testing/stream.js +1 -1
- package/dist/utils/testing/stream.js.map +1 -1
- package/dist/utils/testing/tools.cjs.map +1 -1
- package/dist/utils/testing/tools.d.cts +0 -1
- package/dist/utils/testing/tools.d.cts.map +1 -1
- package/dist/utils/testing/tools.d.ts +0 -1
- package/dist/utils/testing/tools.d.ts.map +1 -1
- package/dist/utils/testing/tools.js.map +1 -1
- package/dist/utils/testing/tracers.cjs.map +1 -1
- package/dist/utils/testing/tracers.d.cts +0 -1
- package/dist/utils/testing/tracers.d.cts.map +1 -1
- package/dist/utils/testing/tracers.d.ts +0 -1
- package/dist/utils/testing/tracers.d.ts.map +1 -1
- package/dist/utils/testing/tracers.js.map +1 -1
- package/dist/utils/testing/vectorstores.cjs.map +1 -1
- package/dist/utils/testing/vectorstores.d.cts +1 -5
- package/dist/utils/testing/vectorstores.d.cts.map +1 -1
- package/dist/utils/testing/vectorstores.d.ts +1 -5
- package/dist/utils/testing/vectorstores.d.ts.map +1 -1
- package/dist/utils/testing/vectorstores.js.map +1 -1
- package/dist/utils/tiktoken.cjs +1 -1
- package/dist/utils/tiktoken.cjs.map +1 -1
- package/dist/utils/tiktoken.d.cts +0 -1
- package/dist/utils/tiktoken.d.cts.map +1 -1
- package/dist/utils/tiktoken.d.ts +0 -1
- package/dist/utils/tiktoken.d.ts.map +1 -1
- package/dist/utils/tiktoken.js +1 -1
- package/dist/utils/tiktoken.js.map +1 -1
- package/dist/utils/types/index.d.cts +0 -1
- package/dist/utils/types/index.d.cts.map +1 -1
- package/dist/utils/types/index.d.ts +0 -1
- package/dist/utils/types/index.d.ts.map +1 -1
- package/dist/utils/types/zod.cjs +0 -1
- package/dist/utils/types/zod.cjs.map +1 -1
- package/dist/utils/types/zod.d.cts +2 -3
- package/dist/utils/types/zod.d.cts.map +1 -1
- package/dist/utils/types/zod.d.ts +2 -3
- package/dist/utils/types/zod.d.ts.map +1 -1
- package/dist/utils/types/zod.js.map +1 -1
- package/dist/utils/uuid/index.d.cts +10 -11
- package/dist/utils/uuid/index.d.cts.map +1 -1
- package/dist/utils/uuid/index.d.ts +10 -11
- package/dist/utils/uuid/index.d.ts.map +1 -1
- package/dist/utils/uuid/parse.cjs.map +1 -1
- package/dist/utils/uuid/parse.d.cts +1 -3
- package/dist/utils/uuid/parse.d.cts.map +1 -1
- package/dist/utils/uuid/parse.d.ts +1 -2
- package/dist/utils/uuid/parse.d.ts.map +1 -1
- package/dist/utils/uuid/parse.js.map +1 -1
- package/dist/utils/uuid/rng.cjs +1 -1
- package/dist/utils/uuid/rng.cjs.map +1 -1
- package/dist/utils/uuid/rng.js +1 -1
- package/dist/utils/uuid/rng.js.map +1 -1
- package/dist/utils/uuid/sha1.cjs +2 -2
- package/dist/utils/uuid/sha1.cjs.map +1 -1
- package/dist/utils/uuid/sha1.js +2 -2
- package/dist/utils/uuid/sha1.js.map +1 -1
- package/dist/utils/uuid/stringify.cjs.map +1 -1
- package/dist/utils/uuid/stringify.d.cts +1 -2
- package/dist/utils/uuid/stringify.d.cts.map +1 -1
- package/dist/utils/uuid/stringify.d.ts +1 -1
- package/dist/utils/uuid/stringify.d.ts.map +1 -1
- package/dist/utils/uuid/stringify.js.map +1 -1
- package/dist/utils/uuid/types.d.cts.map +1 -1
- package/dist/utils/uuid/types.d.ts.map +1 -1
- package/dist/utils/uuid/v1.cjs +2 -1
- package/dist/utils/uuid/v1.cjs.map +1 -1
- package/dist/utils/uuid/v1.d.cts +1 -3
- package/dist/utils/uuid/v1.d.cts.map +1 -1
- package/dist/utils/uuid/v1.d.ts +1 -2
- package/dist/utils/uuid/v1.d.ts.map +1 -1
- package/dist/utils/uuid/v1.js +2 -2
- package/dist/utils/uuid/v1.js.map +1 -1
- package/dist/utils/uuid/v1ToV6.cjs.map +1 -1
- package/dist/utils/uuid/v1ToV6.js.map +1 -1
- package/dist/utils/uuid/v35.cjs +1 -0
- package/dist/utils/uuid/v35.cjs.map +1 -1
- package/dist/utils/uuid/v35.d.cts +6 -0
- package/dist/utils/uuid/v35.d.cts.map +1 -0
- package/dist/utils/uuid/v35.d.ts +6 -0
- package/dist/utils/uuid/v35.d.ts.map +1 -0
- package/dist/utils/uuid/v35.js +1 -1
- package/dist/utils/uuid/v35.js.map +1 -1
- package/dist/utils/uuid/v4.cjs.map +1 -1
- package/dist/utils/uuid/v4.d.cts +1 -3
- package/dist/utils/uuid/v4.d.cts.map +1 -1
- package/dist/utils/uuid/v4.d.ts +1 -2
- package/dist/utils/uuid/v4.d.ts.map +1 -1
- package/dist/utils/uuid/v4.js.map +1 -1
- package/dist/utils/uuid/v5.cjs.map +1 -1
- package/dist/utils/uuid/v5.d.cts +5 -8
- package/dist/utils/uuid/v5.d.cts.map +1 -1
- package/dist/utils/uuid/v5.d.ts +5 -7
- package/dist/utils/uuid/v5.d.ts.map +1 -1
- package/dist/utils/uuid/v5.js.map +1 -1
- package/dist/utils/uuid/v6.cjs +1 -1
- package/dist/utils/uuid/v6.cjs.map +1 -1
- package/dist/utils/uuid/v6.d.cts +1 -3
- package/dist/utils/uuid/v6.d.cts.map +1 -1
- package/dist/utils/uuid/v6.d.ts +1 -2
- package/dist/utils/uuid/v6.d.ts.map +1 -1
- package/dist/utils/uuid/v6.js +1 -1
- package/dist/utils/uuid/v6.js.map +1 -1
- package/dist/utils/uuid/v7.cjs +2 -1
- package/dist/utils/uuid/v7.cjs.map +1 -1
- package/dist/utils/uuid/v7.d.cts +1 -3
- package/dist/utils/uuid/v7.d.cts.map +1 -1
- package/dist/utils/uuid/v7.d.ts +1 -2
- package/dist/utils/uuid/v7.d.ts.map +1 -1
- package/dist/utils/uuid/v7.js +2 -2
- package/dist/utils/uuid/v7.js.map +1 -1
- package/dist/utils/uuid/validate.cjs.map +1 -1
- package/dist/utils/uuid/validate.d.cts +1 -2
- package/dist/utils/uuid/validate.d.cts.map +1 -1
- package/dist/utils/uuid/validate.d.ts +1 -1
- package/dist/utils/uuid/validate.d.ts.map +1 -1
- package/dist/utils/uuid/validate.js.map +1 -1
- package/dist/utils/uuid/version.cjs.map +1 -1
- package/dist/utils/uuid/version.d.cts +1 -2
- package/dist/utils/uuid/version.d.cts.map +1 -1
- package/dist/utils/uuid/version.d.ts +1 -1
- package/dist/utils/uuid/version.d.ts.map +1 -1
- package/dist/utils/uuid/version.js.map +1 -1
- package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/Options.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/Options.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
- package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/Refs.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/Refs.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.cts +2 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts +2 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
- package/dist/utils/zod-to-json-schema/index.cjs +79 -37
- package/dist/utils/zod-to-json-schema/index.d.cts +15 -1
- package/dist/utils/zod-to-json-schema/index.d.ts +15 -1
- package/dist/utils/zod-to-json-schema/index.js +38 -38
- package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parseDef.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parseDef.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parseTypes.d.cts +0 -1
- package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parseTypes.d.ts +0 -1
- package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.cjs +0 -1
- package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.d.cts +3 -0
- package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.d.ts +3 -0
- package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/default.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/default.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.d.cts +3 -0
- package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.d.ts +3 -0
- package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.d.cts +4 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +4 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.cjs +0 -1
- package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.cjs +0 -2
- package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.js +0 -2
- package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.d.cts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
- package/dist/utils/zod-to-json-schema/selectParser.cjs +0 -1
- package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/selectParser.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/selectParser.d.ts +2 -0
- package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.cts +3 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +3 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/dist/vectorstores.cjs.map +1 -1
- package/dist/vectorstores.d.cts +0 -1
- package/dist/vectorstores.d.cts.map +1 -1
- package/dist/vectorstores.d.ts +0 -1
- package/dist/vectorstores.d.ts.map +1 -1
- package/dist/vectorstores.js.map +1 -1
- package/package.json +15 -4
- package/utils/gateway.cjs +1 -0
- package/utils/gateway.d.cts +1 -0
- package/utils/gateway.d.ts +1 -0
- package/utils/gateway.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_schema.cjs","names":["isStandardJsonSchema","isZodSchemaV4","interopZodTransformInputSchema","isZodObjectV4","interopZodObjectStrict","isZodSchemaV3","zodToJsonSchema"],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema, type $ZodType } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\nimport { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport { isStandardJsonSchema } from \"./standard_schema.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * WeakMap cache for Zod/Standard-Schema → JSON Schema conversions.\n *\n * Keyed on the schema object reference. Since Zod schemas are immutable and\n * the same `tool.schema` reference is passed on every LLM call, this\n * eliminates redundant serializations. For example, an agent with 6 tools\n * doing 15 steps across 3 parallel subagents would otherwise run 270\n * identical conversions per invocation.\n *\n * Only used when no custom `params` are passed (the common case for tool\n * binding). WeakMap ensures cached entries are GC'd when the schema goes\n * out of scope.\n *\n * @internal\n */\nconst _jsonSchemaCache = new WeakMap<object, JSONSchema>();\n\n/**\n * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.\n * Results are cached by schema reference when no custom params are passed.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: StandardJSONSchemaV1 | InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n // Cache when no custom params are passed (the default for tool binding).\n // Params can change the output (e.g., different target draft), so we\n // bypass the cache when they're provided.\n const canCache = !params && schema != null && typeof schema === \"object\";\n\n if (canCache) {\n const cached = _jsonSchemaCache.get(schema);\n if (cached) return cached;\n }\n\n let result: JSONSchema;\n\n if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) {\n result = schema[\"~standard\"].jsonSchema.input({\n target: \"draft-07\",\n }) as JSONSchema;\n } else if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(inputSchema, true);\n result = toJSONSchema(strictSchema as unknown as $ZodType, params);\n } else {\n result = toJSONSchema(schema as unknown as $ZodType, params);\n }\n } else if (isZodSchemaV3(schema)) {\n result = zodToJsonSchema(schema as never);\n } else {\n result = schema as JSONSchema;\n }\n\n if (canCache && result != null && typeof result === \"object\") {\n _jsonSchemaCache.set(schema, result);\n }\n\n return result;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,mCAAmB,IAAI,
|
|
1
|
+
{"version":3,"file":"json_schema.cjs","names":["isStandardJsonSchema","isZodSchemaV4","interopZodTransformInputSchema","isZodObjectV4","interopZodObjectStrict","isZodSchemaV3","zodToJsonSchema"],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema, type $ZodType } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\nimport { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport { isStandardJsonSchema } from \"./standard_schema.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * WeakMap cache for Zod/Standard-Schema → JSON Schema conversions.\n *\n * Keyed on the schema object reference. Since Zod schemas are immutable and\n * the same `tool.schema` reference is passed on every LLM call, this\n * eliminates redundant serializations. For example, an agent with 6 tools\n * doing 15 steps across 3 parallel subagents would otherwise run 270\n * identical conversions per invocation.\n *\n * Only used when no custom `params` are passed (the common case for tool\n * binding). WeakMap ensures cached entries are GC'd when the schema goes\n * out of scope.\n *\n * @internal\n */\nconst _jsonSchemaCache = new WeakMap<object, JSONSchema>();\n\n/**\n * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.\n * Results are cached by schema reference when no custom params are passed.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: StandardJSONSchemaV1 | InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n // Cache when no custom params are passed (the default for tool binding).\n // Params can change the output (e.g., different target draft), so we\n // bypass the cache when they're provided.\n const canCache = !params && schema != null && typeof schema === \"object\";\n\n if (canCache) {\n const cached = _jsonSchemaCache.get(schema);\n if (cached) return cached;\n }\n\n let result: JSONSchema;\n\n if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) {\n result = schema[\"~standard\"].jsonSchema.input({\n target: \"draft-07\",\n }) as JSONSchema;\n } else if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(inputSchema, true);\n result = toJSONSchema(strictSchema as unknown as $ZodType, params);\n } else {\n result = toJSONSchema(schema as unknown as $ZodType, params);\n }\n } else if (isZodSchemaV3(schema)) {\n result = zodToJsonSchema(schema as never);\n } else {\n result = schema as JSONSchema;\n }\n\n if (canCache && result != null && typeof result === \"object\") {\n _jsonSchemaCache.set(schema, result);\n }\n\n return result;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,mCAAmB,IAAI,QAA4B;;;;;;;;AASzD,SAAgB,aACd,QACA,QACY;CAIZ,MAAM,WAAW,CAAC,UAAU,UAAU,QAAQ,OAAO,WAAW;CAEhE,IAAI,UAAU;EACZ,MAAM,SAAS,iBAAiB,IAAI,MAAM;EAC1C,IAAI,QAAQ,OAAO;CACrB;CAEA,IAAI;CAEJ,IAAIA,8BAAAA,qBAAqB,MAAM,KAAK,CAACC,YAAAA,cAAc,MAAM,GACvD,SAAS,OAAO,YAAY,CAAC,WAAW,MAAM,EAC5C,QAAQ,WACV,CAAC;MACI,IAAIA,YAAAA,cAAc,MAAM,GAAG;EAChC,MAAM,cAAcC,YAAAA,+BAA+B,QAAQ,IAAI;EAC/D,IAAIC,YAAAA,cAAc,WAAW,GAE3B,UAAA,GAAA,YAAA,aAAA,CADqBC,YAAAA,uBAAuB,aAAa,IACxB,GAA0B,MAAM;OAEjE,UAAA,GAAA,YAAA,aAAA,CAAsB,QAA+B,MAAM;CAE/D,OAAO,IAAIC,YAAAA,cAAc,MAAM,GAC7B,SAASC,wBAAAA,gBAAgB,MAAe;MAExC,SAAS;CAGX,IAAI,YAAY,UAAU,QAAQ,OAAO,WAAW,UAClD,iBAAiB,IAAI,QAAQ,MAAM;CAGrC,OAAO;AACT;;;;;;;;AASA,SAAgB,qBAAqB,QAA0B;CAE7D,IACE,CAAC,UACD,OAAO,WAAW,YAClB,OAAO,KAAK,MAAM,CAAC,CAAC,WAAW,KAC/B,MAAM,QAAQ,MAAM,GAEpB,OAAO;CAIT,IAAI,UAAU,QAAQ;EACpB,IAAI,OAAO,OAAO,SAAS,UACzB,OAAO,OAAO,SAAS;EAGzB,IAAI,MAAM,QAAQ,OAAO,IAAI,GAG3B,OAAO,OAAO,KAAK,OAAO,MAAM,MAAM,QAAQ;EAEhD,OAAO;CACT;CAGA,IAAI,UAAU,QACZ,OACE,MAAM,QAAQ,OAAO,IAAI,KACzB,OAAO,KAAK,SAAS,KACrB,OAAO,KAAK,OAAO,QAAQ,OAAO,QAAQ,QAAQ;CAKtD,IAAI,WAAW,QACb,OAAO,OAAO,OAAO,UAAU;CAIjC,IAAI,WAAW,UAAU,MAAM,QAAQ,OAAO,KAAK,GAEjD,OAAO,OAAO,MAAM,MAAM,cAAc,qBAAqB,SAAS,CAAC;CAGzE,IACG,WAAW,UAAU,MAAM,QAAQ,OAAO,KAAK,KAC/C,WAAW,UAAU,MAAM,QAAQ,OAAO,KAAK,GAChD;EACA,MAAM,aACJ,WAAW,SAAS,OAAO,QAAQ,OAAO;EAI5C,OACE,WAAW,SAAS,KACpB,WAAW,OAAO,cAAc,qBAAqB,SAAS,CAAC;CAEnE;CAGA,IAAI,SAAS,QACX,OAAO;CAGT,IAAI,UAAU,UAAU,OAAO,OAAO,SAAS,UAAU;EACvD,MAAM,MAAM,OAAO;EACnB,MAAM,YAAA,GAAA,sBAAA,YAAA,CAAuB,MAAgB;EAC7C,IAAI,SAAS,MACX,OAAO,qBAAqB,SAAS,IAAI;EAE3C,OAAO;CACT;CAKA,OAAO;AACT"}
|
|
@@ -5,10 +5,10 @@ import { JsonSchema7StringType } from "./zod-to-json-schema/parsers/string.cjs";
|
|
|
5
5
|
import { JsonSchema7NullableType } from "./zod-to-json-schema/parsers/nullable.cjs";
|
|
6
6
|
import { JsonSchema7ObjectType } from "./zod-to-json-schema/parsers/object.cjs";
|
|
7
7
|
import { JsonSchema7Type } from "./zod-to-json-schema/parseTypes.cjs";
|
|
8
|
+
import "./zod-to-json-schema/index.cjs";
|
|
8
9
|
import { StandardJSONSchemaV1 } from "@standard-schema/spec";
|
|
9
10
|
import { toJSONSchema } from "zod/v4/core";
|
|
10
11
|
import { Validator, deepCompareStrict } from "@cfworker/json-schema";
|
|
11
|
-
|
|
12
12
|
//#region src/utils/json_schema.d.ts
|
|
13
13
|
type ToJSONSchemaParams = NonNullable<Parameters<typeof toJSONSchema>[1]>;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_schema.d.cts","names":[],"sources":["../../src/utils/json_schema.ts"],"mappings":";;;;;;;;;;;;KAmBY,
|
|
1
|
+
{"version":3,"file":"json_schema.d.cts","names":[],"sources":["../../src/utils/json_schema.ts"],"mappings":";;;;;;;;;;;;KAmBY,qBAAqB,YAC/B,kBAAkB;;;;;;;;iBA2BJ,aACd,QAAQ,uBAAuB,iBAAiB,iBAChD,SAAS,qBACR;;;;;;;;iBA6Ca,qBAAqB"}
|
|
@@ -5,10 +5,10 @@ import { JsonSchema7StringType } from "./zod-to-json-schema/parsers/string.js";
|
|
|
5
5
|
import { JsonSchema7NullableType } from "./zod-to-json-schema/parsers/nullable.js";
|
|
6
6
|
import { JsonSchema7ObjectType } from "./zod-to-json-schema/parsers/object.js";
|
|
7
7
|
import { JsonSchema7Type } from "./zod-to-json-schema/parseTypes.js";
|
|
8
|
+
import "./zod-to-json-schema/index.js";
|
|
8
9
|
import { toJSONSchema } from "zod/v4/core";
|
|
9
10
|
import { Validator, deepCompareStrict } from "@cfworker/json-schema";
|
|
10
11
|
import { StandardJSONSchemaV1 } from "@standard-schema/spec";
|
|
11
|
-
|
|
12
12
|
//#region src/utils/json_schema.d.ts
|
|
13
13
|
type ToJSONSchemaParams = NonNullable<Parameters<typeof toJSONSchema>[1]>;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_schema.d.ts","names":[],"sources":["../../src/utils/json_schema.ts"],"mappings":";;;;;;;;;;;;KAmBY,
|
|
1
|
+
{"version":3,"file":"json_schema.d.ts","names":[],"sources":["../../src/utils/json_schema.ts"],"mappings":";;;;;;;;;;;;KAmBY,qBAAqB,YAC/B,kBAAkB;;;;;;;;iBA2BJ,aACd,QAAQ,uBAAuB,iBAAiB,iBAChD,SAAS,qBACR;;;;;;;;iBA6Ca,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_schema.js","names":[],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema, type $ZodType } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\nimport { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport { isStandardJsonSchema } from \"./standard_schema.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * WeakMap cache for Zod/Standard-Schema → JSON Schema conversions.\n *\n * Keyed on the schema object reference. Since Zod schemas are immutable and\n * the same `tool.schema` reference is passed on every LLM call, this\n * eliminates redundant serializations. For example, an agent with 6 tools\n * doing 15 steps across 3 parallel subagents would otherwise run 270\n * identical conversions per invocation.\n *\n * Only used when no custom `params` are passed (the common case for tool\n * binding). WeakMap ensures cached entries are GC'd when the schema goes\n * out of scope.\n *\n * @internal\n */\nconst _jsonSchemaCache = new WeakMap<object, JSONSchema>();\n\n/**\n * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.\n * Results are cached by schema reference when no custom params are passed.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: StandardJSONSchemaV1 | InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n // Cache when no custom params are passed (the default for tool binding).\n // Params can change the output (e.g., different target draft), so we\n // bypass the cache when they're provided.\n const canCache = !params && schema != null && typeof schema === \"object\";\n\n if (canCache) {\n const cached = _jsonSchemaCache.get(schema);\n if (cached) return cached;\n }\n\n let result: JSONSchema;\n\n if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) {\n result = schema[\"~standard\"].jsonSchema.input({\n target: \"draft-07\",\n }) as JSONSchema;\n } else if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(inputSchema, true);\n result = toJSONSchema(strictSchema as unknown as $ZodType, params);\n } else {\n result = toJSONSchema(schema as unknown as $ZodType, params);\n }\n } else if (isZodSchemaV3(schema)) {\n result = zodToJsonSchema(schema as never);\n } else {\n result = schema as JSONSchema;\n }\n\n if (canCache && result != null && typeof result === \"object\") {\n _jsonSchemaCache.set(schema, result);\n }\n\n return result;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,mCAAmB,IAAI,
|
|
1
|
+
{"version":3,"file":"json_schema.js","names":[],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema, type $ZodType } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\nimport { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport { isStandardJsonSchema } from \"./standard_schema.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * WeakMap cache for Zod/Standard-Schema → JSON Schema conversions.\n *\n * Keyed on the schema object reference. Since Zod schemas are immutable and\n * the same `tool.schema` reference is passed on every LLM call, this\n * eliminates redundant serializations. For example, an agent with 6 tools\n * doing 15 steps across 3 parallel subagents would otherwise run 270\n * identical conversions per invocation.\n *\n * Only used when no custom `params` are passed (the common case for tool\n * binding). WeakMap ensures cached entries are GC'd when the schema goes\n * out of scope.\n *\n * @internal\n */\nconst _jsonSchemaCache = new WeakMap<object, JSONSchema>();\n\n/**\n * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.\n * Results are cached by schema reference when no custom params are passed.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: StandardJSONSchemaV1 | InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n // Cache when no custom params are passed (the default for tool binding).\n // Params can change the output (e.g., different target draft), so we\n // bypass the cache when they're provided.\n const canCache = !params && schema != null && typeof schema === \"object\";\n\n if (canCache) {\n const cached = _jsonSchemaCache.get(schema);\n if (cached) return cached;\n }\n\n let result: JSONSchema;\n\n if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) {\n result = schema[\"~standard\"].jsonSchema.input({\n target: \"draft-07\",\n }) as JSONSchema;\n } else if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(inputSchema, true);\n result = toJSONSchema(strictSchema as unknown as $ZodType, params);\n } else {\n result = toJSONSchema(schema as unknown as $ZodType, params);\n }\n } else if (isZodSchemaV3(schema)) {\n result = zodToJsonSchema(schema as never);\n } else {\n result = schema as JSONSchema;\n }\n\n if (canCache && result != null && typeof result === \"object\") {\n _jsonSchemaCache.set(schema, result);\n }\n\n return result;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,mCAAmB,IAAI,QAA4B;;;;;;;;AASzD,SAAgB,aACd,QACA,QACY;CAIZ,MAAM,WAAW,CAAC,UAAU,UAAU,QAAQ,OAAO,WAAW;CAEhE,IAAI,UAAU;EACZ,MAAM,SAAS,iBAAiB,IAAI,MAAM;EAC1C,IAAI,QAAQ,OAAO;CACrB;CAEA,IAAI;CAEJ,IAAI,qBAAqB,MAAM,KAAK,CAAC,cAAc,MAAM,GACvD,SAAS,OAAO,YAAY,CAAC,WAAW,MAAM,EAC5C,QAAQ,WACV,CAAC;MACI,IAAI,cAAc,MAAM,GAAG;EAChC,MAAM,cAAc,+BAA+B,QAAQ,IAAI;EAC/D,IAAI,cAAc,WAAW,GAE3B,SAAS,aADY,uBAAuB,aAAa,IACxB,GAA0B,MAAM;OAEjE,SAAS,aAAa,QAA+B,MAAM;CAE/D,OAAO,IAAI,cAAc,MAAM,GAC7B,SAAS,gBAAgB,MAAe;MAExC,SAAS;CAGX,IAAI,YAAY,UAAU,QAAQ,OAAO,WAAW,UAClD,iBAAiB,IAAI,QAAQ,MAAM;CAGrC,OAAO;AACT;;;;;;;;AASA,SAAgB,qBAAqB,QAA0B;CAE7D,IACE,CAAC,UACD,OAAO,WAAW,YAClB,OAAO,KAAK,MAAM,CAAC,CAAC,WAAW,KAC/B,MAAM,QAAQ,MAAM,GAEpB,OAAO;CAIT,IAAI,UAAU,QAAQ;EACpB,IAAI,OAAO,OAAO,SAAS,UACzB,OAAO,OAAO,SAAS;EAGzB,IAAI,MAAM,QAAQ,OAAO,IAAI,GAG3B,OAAO,OAAO,KAAK,OAAO,MAAM,MAAM,QAAQ;EAEhD,OAAO;CACT;CAGA,IAAI,UAAU,QACZ,OACE,MAAM,QAAQ,OAAO,IAAI,KACzB,OAAO,KAAK,SAAS,KACrB,OAAO,KAAK,OAAO,QAAQ,OAAO,QAAQ,QAAQ;CAKtD,IAAI,WAAW,QACb,OAAO,OAAO,OAAO,UAAU;CAIjC,IAAI,WAAW,UAAU,MAAM,QAAQ,OAAO,KAAK,GAEjD,OAAO,OAAO,MAAM,MAAM,cAAc,qBAAqB,SAAS,CAAC;CAGzE,IACG,WAAW,UAAU,MAAM,QAAQ,OAAO,KAAK,KAC/C,WAAW,UAAU,MAAM,QAAQ,OAAO,KAAK,GAChD;EACA,MAAM,aACJ,WAAW,SAAS,OAAO,QAAQ,OAAO;EAI5C,OACE,WAAW,SAAS,KACpB,WAAW,OAAO,cAAc,qBAAqB,SAAS,CAAC;CAEnE;CAGA,IAAI,SAAS,QACX,OAAO;CAGT,IAAI,UAAU,UAAU,OAAO,OAAO,SAAS,UAAU;EACvD,MAAM,MAAM,OAAO;EACnB,MAAM,WAAW,YAAY,MAAgB;EAC7C,IAAI,SAAS,MACX,OAAO,qBAAqB,SAAS,IAAI;EAE3C,OAAO;CACT;CAKA,OAAO;AACT"}
|
package/dist/utils/math.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.cjs","names":["cosine","innerProductDistance","euclidean"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACd,GACA,GACA,MACY;
|
|
1
|
+
{"version":3,"file":"math.cjs","names":["cosine","innerProductDistance","euclidean"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACd,GACA,GACA,MACY;CACZ,IACE,EAAE,WAAW,KACb,EAAE,EAAE,CAAC,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,EAAE,CAAC,WAAW,GAEhB,OAAO,CAAC,CAAC,CAAC;CAGZ,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,QACvB,MAAM,IAAI,MACR,8DAA8D,CAC5D,EAAE,QACF,EAAE,EAAE,CAAC,MACP,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,EAC/C;CAGF,OAAO,EAAE,KAAK,YACZ,EAAE,KAAK,YAAY,KAAK,SAAS,OAAO,CAAC,CAAC,CAAC,KAAK,eAC9C,OAAO,MAAM,UAAU,IAAI,IAAI,UACjC,CACF;AACF;AAEA,SAAgB,UAAU,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,CAAC;CAC1B,OAAO,EAAE,KAAK,QACZ,IAAI,KAAK,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,GAAI,CAC3D;AACF;;;;;;;;;;;AAYA,SAAgB,iBAAiB,GAAe,GAA2B;CACzE,OAAO,WAAW,GAAG,GAAGA,qBAAAA,MAAM;AAChC;AAEA,SAAgB,aAAa,GAAe,GAA2B;CACrE,OAAO,WAAW,GAAG,GAAGC,kBAAAA,YAAoB;AAC9C;AAEA,SAAgB,kBAAkB,GAAe,GAA2B;CAC1E,OAAO,WAAW,GAAG,GAAGC,kBAAAA,SAAS;AACnC;;;;;;;;;;;;AAaA,SAAgB,yBACd,gBACA,eACA,SAAS,IACT,IAAI,GACM;CACV,IAAI,KAAK,IAAI,GAAG,cAAc,MAAM,KAAK,GACvC,OAAO,CAAC;CAOV,MAAM,oBAAoB,iBAHxB,MAAM,QAAQ,eAAe,EAAE,IAAI,iBAAiB,CAAC,cAAc,GAKnE,aACF,CAAC,CAAC;CACF,MAAM,4BAA4B,OAAO,iBAAiB,CAAC,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,0BAA0B;CACpE,MAAM,4BAA4B,CAAC,yBAAyB;CAE5D,OAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,MAAM,GAAG;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,kBACF;EAEA,kBAAkB,SAAS,YAAY,oBAAoB;GACzD,IAAI,0BAA0B,SAAS,eAAe,GACpD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,gBAC1B;GACA,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;GAEvC,IAAI,QAAQ,WAAW;IACrB,YAAY;IACZ,YAAY;GACd;EACF,CAAC;EACD,mBAAmB,KAAK,cAAc,UAAU;EAChD,0BAA0B,KAAK,SAAS;CAC1C;CAEA,OAAO;AACT;;;;;;;AAaA,SAAS,OAAO,OAA0B;CACxC,IAAI,MAAM,WAAW,GACnB,OAAO;EACL,UAAU;EACV,UAAU;CACZ;CAGF,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GACrC,IAAI,MAAM,KAAK,UAAU;EACvB,WAAW;EACX,WAAW,MAAM;CACnB;CAEF,OAAO;EAAE;EAAU;CAAS;AAC9B;AAEA,SAAS,aAAa,QAA4B;CAChD,OAAO,OAAO,QACX,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,KAAK,CAAC,CAAC,QAAQ,GACpD,CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.cts","names":[],"sources":["../../src/utils/math.ts"],"mappings":";KAIK,
|
|
1
|
+
{"version":3,"file":"math.d.cts","names":[],"sources":["../../src/utils/math.ts"],"mappings":";KAIK,kBAAkB,mBAAmB;;;;;;;;;;;;iBAc1B,WACd,eACA,eACA,MAAM;iBA2BQ,UAAU,eAAe;;;;;;;;;;;iBAiBzB,iBAAiB,eAAe;iBAIhC,aAAa,eAAe;iBAI5B,kBAAkB,eAAe;;;;;;;;;;;;iBAejC,yBACd,uCACA,2BACA,iBACA"}
|
package/dist/utils/math.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","names":[],"sources":["../../src/utils/math.ts"],"mappings":";KAIK,
|
|
1
|
+
{"version":3,"file":"math.d.ts","names":[],"sources":["../../src/utils/math.ts"],"mappings":";KAIK,kBAAkB,mBAAmB;;;;;;;;;;;;iBAc1B,WACd,eACA,eACA,MAAM;iBA2BQ,UAAU,eAAe;;;;;;;;;;;iBAiBzB,iBAAiB,eAAe;iBAIhC,aAAa,eAAe;iBAI5B,kBAAkB,eAAe;;;;;;;;;;;;iBAejC,yBACd,uCACA,2BACA,iBACA"}
|
package/dist/utils/math.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","names":["innerProductDistance"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACd,GACA,GACA,MACY;
|
|
1
|
+
{"version":3,"file":"math.js","names":["innerProductDistance"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACd,GACA,GACA,MACY;CACZ,IACE,EAAE,WAAW,KACb,EAAE,EAAE,CAAC,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,EAAE,CAAC,WAAW,GAEhB,OAAO,CAAC,CAAC,CAAC;CAGZ,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,QACvB,MAAM,IAAI,MACR,8DAA8D,CAC5D,EAAE,QACF,EAAE,EAAE,CAAC,MACP,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,EAC/C;CAGF,OAAO,EAAE,KAAK,YACZ,EAAE,KAAK,YAAY,KAAK,SAAS,OAAO,CAAC,CAAC,CAAC,KAAK,eAC9C,OAAO,MAAM,UAAU,IAAI,IAAI,UACjC,CACF;AACF;AAEA,SAAgB,UAAU,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,CAAC;CAC1B,OAAO,EAAE,KAAK,QACZ,IAAI,KAAK,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,GAAI,CAC3D;AACF;;;;;;;;;;;AAYA,SAAgB,iBAAiB,GAAe,GAA2B;CACzE,OAAO,WAAW,GAAG,GAAG,MAAM;AAChC;AAEA,SAAgB,aAAa,GAAe,GAA2B;CACrE,OAAO,WAAW,GAAG,GAAGA,cAAoB;AAC9C;AAEA,SAAgB,kBAAkB,GAAe,GAA2B;CAC1E,OAAO,WAAW,GAAG,GAAG,SAAS;AACnC;;;;;;;;;;;;AAaA,SAAgB,yBACd,gBACA,eACA,SAAS,IACT,IAAI,GACM;CACV,IAAI,KAAK,IAAI,GAAG,cAAc,MAAM,KAAK,GACvC,OAAO,CAAC;CAOV,MAAM,oBAAoB,iBAHxB,MAAM,QAAQ,eAAe,EAAE,IAAI,iBAAiB,CAAC,cAAc,GAKnE,aACF,CAAC,CAAC;CACF,MAAM,4BAA4B,OAAO,iBAAiB,CAAC,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,0BAA0B;CACpE,MAAM,4BAA4B,CAAC,yBAAyB;CAE5D,OAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,MAAM,GAAG;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,kBACF;EAEA,kBAAkB,SAAS,YAAY,oBAAoB;GACzD,IAAI,0BAA0B,SAAS,eAAe,GACpD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,gBAC1B;GACA,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;GAEvC,IAAI,QAAQ,WAAW;IACrB,YAAY;IACZ,YAAY;GACd;EACF,CAAC;EACD,mBAAmB,KAAK,cAAc,UAAU;EAChD,0BAA0B,KAAK,SAAS;CAC1C;CAEA,OAAO;AACT;;;;;;;AAaA,SAAS,OAAO,OAA0B;CACxC,IAAI,MAAM,WAAW,GACnB,OAAO;EACL,UAAU;EACV,UAAU;CACZ;CAGF,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GACrC,IAAI,MAAM,KAAK,UAAU;EACvB,WAAW;EACX,WAAW,MAAM;CACnB;CAEF,OAAO;EAAE;EAAU;CAAS;AAC9B;AAEA,SAAS,aAAa,QAA4B;CAChD,OAAO,OAAO,QACX,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,KAAK,CAAC,CAAC,QAAQ,GACpD,CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distances.cjs","names":[],"sources":["../../../src/utils/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n let ans = 0;\n for (let i = 0; i < a.length; i++) {\n ans += a[i] * b[i];\n }\n return ans;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,aAAa,GAAa,GAAqB;CAC7D,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"distances.cjs","names":[],"sources":["../../../src/utils/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n let ans = 0;\n for (let i = 0; i < a.length; i++) {\n ans += a[i] * b[i];\n }\n return ans;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,aAAa,GAAa,GAAqB;CAC7D,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAC5B,OAAO,EAAE,KAAK,EAAE;CAElB,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distances.js","names":[],"sources":["../../../src/utils/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n let ans = 0;\n for (let i = 0; i < a.length; i++) {\n ans += a[i] * b[i];\n }\n return ans;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,aAAa,GAAa,GAAqB;CAC7D,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"distances.js","names":[],"sources":["../../../src/utils/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n let ans = 0;\n for (let i = 0; i < a.length; i++) {\n ans += a[i] * b[i];\n }\n return ans;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,aAAa,GAAa,GAAqB;CAC7D,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAC5B,OAAO,EAAE,KAAK,EAAE;CAElB,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"similarities.cjs","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"sourcesContent":["/**\n * Returns the average of cosine distances between vectors a and b\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function cosine(a: number[], b: number[]): number {\n let p = 0;\n let p2 = 0;\n let q2 = 0;\n for (let i = 0; i < a.length; i++) {\n p += a[i] * b[i];\n p2 += a[i] * a[i];\n q2 += b[i] * b[i];\n }\n return p / (Math.sqrt(p2) * Math.sqrt(q2));\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,OAAO,GAAa,GAAqB;CACvD,IAAI,IAAI;CACR,IAAI,KAAK;CACT,IAAI,KAAK;
|
|
1
|
+
{"version":3,"file":"similarities.cjs","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"sourcesContent":["/**\n * Returns the average of cosine distances between vectors a and b\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function cosine(a: number[], b: number[]): number {\n let p = 0;\n let p2 = 0;\n let q2 = 0;\n for (let i = 0; i < a.length; i++) {\n p += a[i] * b[i];\n p2 += a[i] * a[i];\n q2 += b[i] * b[i];\n }\n return p / (Math.sqrt(p2) * Math.sqrt(q2));\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,OAAO,GAAa,GAAqB;CACvD,IAAI,IAAI;CACR,IAAI,KAAK;CACT,IAAI,KAAK;CACT,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;EACjC,KAAK,EAAE,KAAK,EAAE;EACd,MAAM,EAAE,KAAK,EAAE;EACf,MAAM,EAAE,KAAK,EAAE;CACjB;CACA,OAAO,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE;AAC1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"similarities.d.cts","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"similarities.d.cts","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"mappings":";;;;;;;iBAMgB,OAAO,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"similarities.d.ts","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"similarities.d.ts","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"mappings":";;;;;;;iBAMgB,OAAO,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"similarities.js","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"sourcesContent":["/**\n * Returns the average of cosine distances between vectors a and b\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function cosine(a: number[], b: number[]): number {\n let p = 0;\n let p2 = 0;\n let q2 = 0;\n for (let i = 0; i < a.length; i++) {\n p += a[i] * b[i];\n p2 += a[i] * a[i];\n q2 += b[i] * b[i];\n }\n return p / (Math.sqrt(p2) * Math.sqrt(q2));\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,OAAO,GAAa,GAAqB;CACvD,IAAI,IAAI;CACR,IAAI,KAAK;CACT,IAAI,KAAK;
|
|
1
|
+
{"version":3,"file":"similarities.js","names":[],"sources":["../../../src/utils/ml-distance/similarities.ts"],"sourcesContent":["/**\n * Returns the average of cosine distances between vectors a and b\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function cosine(a: number[], b: number[]): number {\n let p = 0;\n let p2 = 0;\n let q2 = 0;\n for (let i = 0; i < a.length; i++) {\n p += a[i] * b[i];\n p2 += a[i] * a[i];\n q2 += b[i] * b[i];\n }\n return p / (Math.sqrt(p2) * Math.sqrt(q2));\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,OAAO,GAAa,GAAqB;CACvD,IAAI,IAAI;CACR,IAAI,KAAK;CACT,IAAI,KAAK;CACT,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;EACjC,KAAK,EAAE,KAAK,EAAE;EACd,MAAM,EAAE,KAAK,EAAE;EACf,MAAM,EAAE,KAAK,EAAE;CACjB;CACA,OAAO,KAAK,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE;AAC1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"euclidean.cjs","names":[],"sources":["../../../src/utils/ml-distance-euclidean/euclidean.ts"],"sourcesContent":["export function squaredEuclidean(p: number[], q: number[]) {\n let d = 0;\n for (let i = 0; i < p.length; i++) {\n d += (p[i] - q[i]) * (p[i] - q[i]);\n }\n return d;\n}\n\nexport function euclidean(p: number[], q: number[]) {\n return Math.sqrt(squaredEuclidean(p, q));\n}\n"],"mappings":";AAAA,SAAgB,iBAAiB,GAAa,GAAa;CACzD,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"euclidean.cjs","names":[],"sources":["../../../src/utils/ml-distance-euclidean/euclidean.ts"],"sourcesContent":["export function squaredEuclidean(p: number[], q: number[]) {\n let d = 0;\n for (let i = 0; i < p.length; i++) {\n d += (p[i] - q[i]) * (p[i] - q[i]);\n }\n return d;\n}\n\nexport function euclidean(p: number[], q: number[]) {\n return Math.sqrt(squaredEuclidean(p, q));\n}\n"],"mappings":";AAAA,SAAgB,iBAAiB,GAAa,GAAa;CACzD,IAAI,IAAI;CACR,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAC5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;CAEjC,OAAO;AACT;AAEA,SAAgB,UAAU,GAAa,GAAa;CAClD,OAAO,KAAK,KAAK,iBAAiB,GAAG,CAAC,CAAC;AACzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"euclidean.js","names":[],"sources":["../../../src/utils/ml-distance-euclidean/euclidean.ts"],"sourcesContent":["export function squaredEuclidean(p: number[], q: number[]) {\n let d = 0;\n for (let i = 0; i < p.length; i++) {\n d += (p[i] - q[i]) * (p[i] - q[i]);\n }\n return d;\n}\n\nexport function euclidean(p: number[], q: number[]) {\n return Math.sqrt(squaredEuclidean(p, q));\n}\n"],"mappings":";AAAA,SAAgB,iBAAiB,GAAa,GAAa;CACzD,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"euclidean.js","names":[],"sources":["../../../src/utils/ml-distance-euclidean/euclidean.ts"],"sourcesContent":["export function squaredEuclidean(p: number[], q: number[]) {\n let d = 0;\n for (let i = 0; i < p.length; i++) {\n d += (p[i] - q[i]) * (p[i] - q[i]);\n }\n return d;\n}\n\nexport function euclidean(p: number[], q: number[]) {\n return Math.sqrt(squaredEuclidean(p, q));\n}\n"],"mappings":";AAAA,SAAgB,iBAAiB,GAAa,GAAa;CACzD,IAAI,IAAI;CACR,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAC5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;CAEjC,OAAO;AACT;AAEA,SAAgB,UAAU,GAAa,GAAa;CAClD,OAAO,KAAK,KAAK,iBAAiB,GAAG,CAAC,CAAC;AACzC"}
|
package/dist/utils/namespace.cjs
CHANGED
|
@@ -42,6 +42,9 @@ function createNamespace(path) {
|
|
|
42
42
|
static isInstance(obj) {
|
|
43
43
|
return typeof obj === "object" && obj !== null && brandSymbol in obj && obj[brandSymbol] === true;
|
|
44
44
|
}
|
|
45
|
+
static [Symbol.hasInstance](obj) {
|
|
46
|
+
return this.isInstance(obj);
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
Object.defineProperty(_Branded, "name", { value: Base.name });
|
|
47
50
|
return _Branded;
|
|
@@ -57,6 +60,7 @@ function createNamespace(path) {
|
|
|
57
60
|
/** Base namespace used throughout LangChain */
|
|
58
61
|
const ns = createNamespace("langchain");
|
|
59
62
|
//#endregion
|
|
63
|
+
exports.createNamespace = createNamespace;
|
|
60
64
|
exports.ns = ns;
|
|
61
65
|
|
|
62
66
|
//# sourceMappingURL=namespace.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.cjs","names":[],"sources":["../../src/utils/namespace.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * A constructor type that can be used as a base class for branding.\n */\ntype Constructor = abstract new (...args: any[]) => any;\n\n/**\n * The return type of `Namespace.brand()`: the original base class\n * intersected with a polymorphic `isInstance` type guard.\n */\ntype BrandedClass<TBase extends Constructor> = TBase & {\n isInstance: IsInstanceFn;\n};\n\n/**\n * A static `isInstance` type guard that resolves to the subclass it's\n * called on via the generic `this` parameter.\n *\n * At call sites TypeScript infers `T` from the class, so\n * `StandardError.isInstance(obj)` narrows `obj` to `StandardError`.\n */\ntype IsInstanceFn = <T extends Constructor>(\n this: T,\n obj: unknown\n) => obj is InstanceType<T>;\n\n/**\n * A namespace object for hierarchical symbol-based branding.\n *\n * Namespaces are internal authoring tools. They are not intended to be\n * part of the public API -- only the branded classes are.\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n *\n * export class LangChainError extends errorNs.brand(Error) {\n * readonly name = \"LangChainError\";\n * }\n *\n * export class ModelAbortError extends errorNs.brand(LangChainError, \"model-abort\") {\n * readonly name = \"ModelAbortError\";\n * }\n * ```\n */\nexport interface Namespace {\n /**\n * Brand a base class with this namespace's symbols.\n *\n * Without a marker, creates a namespace-level base class whose\n * `static isInstance` checks for the namespace's own symbol.\n *\n * With a marker, creates a leaf class whose `static isInstance`\n * checks for the marker-specific symbol.\n *\n * @param Base - The base class to extend\n * @param marker - Optional marker for leaf classes\n * @returns A new class extending Base with symbol branding and static isInstance\n */\n brand<TBase extends Constructor>(\n Base: TBase,\n marker?: string\n ): BrandedClass<TBase>;\n\n /**\n * Create a child namespace.\n *\n * @param childPath - The child segment to append to the current path\n * @returns A new Namespace with the extended path\n */\n sub(childPath: string): Namespace;\n\n /**\n * Check if an object is branded under this namespace (at any level).\n *\n * @param obj - The object to check\n * @returns true if the object carries this namespace's symbol\n */\n isInstance(obj: unknown): boolean;\n}\n\n/**\n * Create a symbol-based namespace for hierarchical `isInstance` checking.\n *\n * Each namespace level gets its own `Symbol.for(path)`. When a class is\n * branded via `.brand()`, only the new symbol for that level is stamped\n * on the prototype. Parent symbols are inherited implicitly through the\n * class extension chain -- `symbol in obj` traverses the prototype chain,\n * so a `ConfigError` instance is recognized by `LangChainError.isInstance()`\n * because it extends `GoogleError` which extends `LangChainError`, whose\n * prototype already carries the `langchain.error` symbol.\n *\n * @param path - The dot-separated namespace path (e.g. \"langchain.error\")\n * @returns A Namespace object with `.brand()`, `.sub()`, and `.isInstance()`\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n * const googleNs = errorNs.sub(\"google\");\n *\n * class LangChainError extends errorNs.brand(Error) {}\n * class GoogleError extends googleNs.brand(LangChainError) {}\n * class ConfigError extends googleNs.brand(GoogleError, \"configuration\") {}\n *\n * const err = new ConfigError(\"bad config\");\n * LangChainError.isInstance(err); // true (checks langchain.error symbol)\n * GoogleError.isInstance(err); // true (checks langchain.error.google symbol)\n * ConfigError.isInstance(err); // true (checks langchain.error.google.configuration symbol)\n * ```\n */\nexport function createNamespace(path: string): Namespace {\n const symbol: symbol = Symbol.for(path);\n\n return {\n brand<TBase extends Constructor>(Base: TBase, marker?: string) {\n const brandSymbol: symbol = marker\n ? Symbol.for(`${path}.${marker}`)\n : symbol;\n\n class _Branded extends (Base as any) {\n readonly [brandSymbol] = true as const;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n static isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n brandSymbol in obj &&\n (obj as Record<symbol, unknown>)[brandSymbol] === true\n );\n }\n }\n\n // Inherit the base class's name so \"_Branded\" doesn't leak\n // through the static prototype chain.\n Object.defineProperty(_Branded, \"name\", { value: Base.name });\n\n return _Branded as unknown as BrandedClass<TBase>;\n },\n\n sub(childPath: string): Namespace {\n return createNamespace(`${path}.${childPath}`);\n },\n\n isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n symbol in obj &&\n (obj as Record<symbol, unknown>)[symbol] === true\n );\n },\n };\n}\n\n/** Base namespace used throughout LangChain */\nexport const ns = createNamespace(\"langchain\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHA,SAAgB,gBAAgB,MAAyB;CACvD,MAAM,SAAiB,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"namespace.cjs","names":[],"sources":["../../src/utils/namespace.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * A constructor type that can be used as a base class for branding.\n */\ntype Constructor = abstract new (...args: any[]) => any;\n\n/**\n * The return type of `Namespace.brand()`: the original base class\n * intersected with a polymorphic `isInstance` type guard.\n */\ntype BrandedClass<TBase extends Constructor> = TBase & {\n isInstance: IsInstanceFn;\n};\n\n/**\n * A static `isInstance` type guard that resolves to the subclass it's\n * called on via the generic `this` parameter.\n *\n * At call sites TypeScript infers `T` from the class, so\n * `StandardError.isInstance(obj)` narrows `obj` to `StandardError`.\n */\ntype IsInstanceFn = <T extends Constructor>(\n this: T,\n obj: unknown\n) => obj is InstanceType<T>;\n\n/**\n * A namespace object for hierarchical symbol-based branding.\n *\n * Namespaces are internal authoring tools. They are not intended to be\n * part of the public API -- only the branded classes are.\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n *\n * export class LangChainError extends errorNs.brand(Error) {\n * readonly name = \"LangChainError\";\n * }\n *\n * export class ModelAbortError extends errorNs.brand(LangChainError, \"model-abort\") {\n * readonly name = \"ModelAbortError\";\n * }\n * ```\n */\nexport interface Namespace {\n /**\n * Brand a base class with this namespace's symbols.\n *\n * Without a marker, creates a namespace-level base class whose\n * `static isInstance` checks for the namespace's own symbol.\n *\n * With a marker, creates a leaf class whose `static isInstance`\n * checks for the marker-specific symbol.\n *\n * @param Base - The base class to extend\n * @param marker - Optional marker for leaf classes\n * @returns A new class extending Base with symbol branding and static isInstance\n */\n brand<TBase extends Constructor>(\n Base: TBase,\n marker?: string\n ): BrandedClass<TBase>;\n\n /**\n * Create a child namespace.\n *\n * @param childPath - The child segment to append to the current path\n * @returns A new Namespace with the extended path\n */\n sub(childPath: string): Namespace;\n\n /**\n * Check if an object is branded under this namespace (at any level).\n *\n * @param obj - The object to check\n * @returns true if the object carries this namespace's symbol\n */\n isInstance(obj: unknown): boolean;\n}\n\n/**\n * Create a symbol-based namespace for hierarchical `isInstance` checking.\n *\n * Each namespace level gets its own `Symbol.for(path)`. When a class is\n * branded via `.brand()`, only the new symbol for that level is stamped\n * on the prototype. Parent symbols are inherited implicitly through the\n * class extension chain -- `symbol in obj` traverses the prototype chain,\n * so a `ConfigError` instance is recognized by `LangChainError.isInstance()`\n * because it extends `GoogleError` which extends `LangChainError`, whose\n * prototype already carries the `langchain.error` symbol.\n *\n * @param path - The dot-separated namespace path (e.g. \"langchain.error\")\n * @returns A Namespace object with `.brand()`, `.sub()`, and `.isInstance()`\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n * const googleNs = errorNs.sub(\"google\");\n *\n * class LangChainError extends errorNs.brand(Error) {}\n * class GoogleError extends googleNs.brand(LangChainError) {}\n * class ConfigError extends googleNs.brand(GoogleError, \"configuration\") {}\n *\n * const err = new ConfigError(\"bad config\");\n * LangChainError.isInstance(err); // true (checks langchain.error symbol)\n * GoogleError.isInstance(err); // true (checks langchain.error.google symbol)\n * ConfigError.isInstance(err); // true (checks langchain.error.google.configuration symbol)\n * ```\n */\nexport function createNamespace(path: string): Namespace {\n const symbol: symbol = Symbol.for(path);\n\n return {\n brand<TBase extends Constructor>(Base: TBase, marker?: string) {\n const brandSymbol: symbol = marker\n ? Symbol.for(`${path}.${marker}`)\n : symbol;\n\n class _Branded extends (Base as any) {\n readonly [brandSymbol] = true as const;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n static isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n brandSymbol in obj &&\n (obj as Record<symbol, unknown>)[brandSymbol] === true\n );\n }\n\n static [Symbol.hasInstance](obj: unknown) {\n return this.isInstance(obj);\n }\n }\n\n // Inherit the base class's name so \"_Branded\" doesn't leak\n // through the static prototype chain.\n Object.defineProperty(_Branded, \"name\", { value: Base.name });\n\n return _Branded as unknown as BrandedClass<TBase>;\n },\n\n sub(childPath: string): Namespace {\n return createNamespace(`${path}.${childPath}`);\n },\n\n isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n symbol in obj &&\n (obj as Record<symbol, unknown>)[symbol] === true\n );\n },\n };\n}\n\n/** Base namespace used throughout LangChain */\nexport const ns = createNamespace(\"langchain\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHA,SAAgB,gBAAgB,MAAyB;CACvD,MAAM,SAAiB,OAAO,IAAI,IAAI;CAEtC,OAAO;EACL,MAAiC,MAAa,QAAiB;GAC7D,MAAM,cAAsB,SACxB,OAAO,IAAI,GAAG,KAAK,GAAG,QAAQ,IAC9B;GAEJ,MAAM,iBAAkB,KAAa;IACnC,CAAU,eAAe;IAEzB,YAAY,GAAG,MAAa;KAC1B,MAAM,GAAG,IAAI;IACf;IAEA,OAAO,WAAW,KAAuB;KACvC,OACE,OAAO,QAAQ,YACf,QAAQ,QACR,eAAe,OACd,IAAgC,iBAAiB;IAEtD;IAEA,QAAQ,OAAO,aAAa,KAAc;KACxC,OAAO,KAAK,WAAW,GAAG;IAC5B;GACF;GAIA,OAAO,eAAe,UAAU,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC;GAE5D,OAAO;EACT;EAEA,IAAI,WAA8B;GAChC,OAAO,gBAAgB,GAAG,KAAK,GAAG,WAAW;EAC/C;EAEA,WAAW,KAAuB;GAChC,OACE,OAAO,QAAQ,YACf,QAAQ,QACR,UAAU,OACT,IAAgC,YAAY;EAEjD;CACF;AACF;;AAGA,MAAa,KAAK,gBAAgB,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.cts","names":[],"sources":["../../src/utils/namespace.ts"],"mappings":";;;;KAKK
|
|
1
|
+
{"version":3,"file":"namespace.d.cts","names":[],"sources":["../../src/utils/namespace.ts"],"mappings":";;;;KAKK,+BAA+B;;;;;KAM/B,aAAa,cAAc,eAAe;EAC7C,YAAY;;;;;;;;;KAUT,gBAAgB,UAAU,aAC7B,MAAM,GACN,iBACG,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;UAsBR;;;;;;;;;;;;;;EAcf,MAAM,cAAc,aAClB,MAAM,OACN,kBACC,aAAa;;;;;;;EAQhB,IAAI,oBAAoB;;;;;;;EAQxB,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","names":[],"sources":["../../src/utils/namespace.ts"],"mappings":";;;;KAKK
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","names":[],"sources":["../../src/utils/namespace.ts"],"mappings":";;;;KAKK,+BAA+B;;;;;KAM/B,aAAa,cAAc,eAAe;EAC7C,YAAY;;;;;;;;;KAUT,gBAAgB,UAAU,aAC7B,MAAM,GACN,iBACG,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;UAsBR;;;;;;;;;;;;;;EAcf,MAAM,cAAc,aAClB,MAAM,OACN,kBACC,aAAa;;;;;;;EAQhB,IAAI,oBAAoB;;;;;;;EAQxB,WAAW"}
|
package/dist/utils/namespace.js
CHANGED
|
@@ -42,6 +42,9 @@ function createNamespace(path) {
|
|
|
42
42
|
static isInstance(obj) {
|
|
43
43
|
return typeof obj === "object" && obj !== null && brandSymbol in obj && obj[brandSymbol] === true;
|
|
44
44
|
}
|
|
45
|
+
static [Symbol.hasInstance](obj) {
|
|
46
|
+
return this.isInstance(obj);
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
Object.defineProperty(_Branded, "name", { value: Base.name });
|
|
47
50
|
return _Branded;
|
|
@@ -57,6 +60,6 @@ function createNamespace(path) {
|
|
|
57
60
|
/** Base namespace used throughout LangChain */
|
|
58
61
|
const ns = createNamespace("langchain");
|
|
59
62
|
//#endregion
|
|
60
|
-
export { ns };
|
|
63
|
+
export { createNamespace, ns };
|
|
61
64
|
|
|
62
65
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","names":[],"sources":["../../src/utils/namespace.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * A constructor type that can be used as a base class for branding.\n */\ntype Constructor = abstract new (...args: any[]) => any;\n\n/**\n * The return type of `Namespace.brand()`: the original base class\n * intersected with a polymorphic `isInstance` type guard.\n */\ntype BrandedClass<TBase extends Constructor> = TBase & {\n isInstance: IsInstanceFn;\n};\n\n/**\n * A static `isInstance` type guard that resolves to the subclass it's\n * called on via the generic `this` parameter.\n *\n * At call sites TypeScript infers `T` from the class, so\n * `StandardError.isInstance(obj)` narrows `obj` to `StandardError`.\n */\ntype IsInstanceFn = <T extends Constructor>(\n this: T,\n obj: unknown\n) => obj is InstanceType<T>;\n\n/**\n * A namespace object for hierarchical symbol-based branding.\n *\n * Namespaces are internal authoring tools. They are not intended to be\n * part of the public API -- only the branded classes are.\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n *\n * export class LangChainError extends errorNs.brand(Error) {\n * readonly name = \"LangChainError\";\n * }\n *\n * export class ModelAbortError extends errorNs.brand(LangChainError, \"model-abort\") {\n * readonly name = \"ModelAbortError\";\n * }\n * ```\n */\nexport interface Namespace {\n /**\n * Brand a base class with this namespace's symbols.\n *\n * Without a marker, creates a namespace-level base class whose\n * `static isInstance` checks for the namespace's own symbol.\n *\n * With a marker, creates a leaf class whose `static isInstance`\n * checks for the marker-specific symbol.\n *\n * @param Base - The base class to extend\n * @param marker - Optional marker for leaf classes\n * @returns A new class extending Base with symbol branding and static isInstance\n */\n brand<TBase extends Constructor>(\n Base: TBase,\n marker?: string\n ): BrandedClass<TBase>;\n\n /**\n * Create a child namespace.\n *\n * @param childPath - The child segment to append to the current path\n * @returns A new Namespace with the extended path\n */\n sub(childPath: string): Namespace;\n\n /**\n * Check if an object is branded under this namespace (at any level).\n *\n * @param obj - The object to check\n * @returns true if the object carries this namespace's symbol\n */\n isInstance(obj: unknown): boolean;\n}\n\n/**\n * Create a symbol-based namespace for hierarchical `isInstance` checking.\n *\n * Each namespace level gets its own `Symbol.for(path)`. When a class is\n * branded via `.brand()`, only the new symbol for that level is stamped\n * on the prototype. Parent symbols are inherited implicitly through the\n * class extension chain -- `symbol in obj` traverses the prototype chain,\n * so a `ConfigError` instance is recognized by `LangChainError.isInstance()`\n * because it extends `GoogleError` which extends `LangChainError`, whose\n * prototype already carries the `langchain.error` symbol.\n *\n * @param path - The dot-separated namespace path (e.g. \"langchain.error\")\n * @returns A Namespace object with `.brand()`, `.sub()`, and `.isInstance()`\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n * const googleNs = errorNs.sub(\"google\");\n *\n * class LangChainError extends errorNs.brand(Error) {}\n * class GoogleError extends googleNs.brand(LangChainError) {}\n * class ConfigError extends googleNs.brand(GoogleError, \"configuration\") {}\n *\n * const err = new ConfigError(\"bad config\");\n * LangChainError.isInstance(err); // true (checks langchain.error symbol)\n * GoogleError.isInstance(err); // true (checks langchain.error.google symbol)\n * ConfigError.isInstance(err); // true (checks langchain.error.google.configuration symbol)\n * ```\n */\nexport function createNamespace(path: string): Namespace {\n const symbol: symbol = Symbol.for(path);\n\n return {\n brand<TBase extends Constructor>(Base: TBase, marker?: string) {\n const brandSymbol: symbol = marker\n ? Symbol.for(`${path}.${marker}`)\n : symbol;\n\n class _Branded extends (Base as any) {\n readonly [brandSymbol] = true as const;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n static isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n brandSymbol in obj &&\n (obj as Record<symbol, unknown>)[brandSymbol] === true\n );\n }\n }\n\n // Inherit the base class's name so \"_Branded\" doesn't leak\n // through the static prototype chain.\n Object.defineProperty(_Branded, \"name\", { value: Base.name });\n\n return _Branded as unknown as BrandedClass<TBase>;\n },\n\n sub(childPath: string): Namespace {\n return createNamespace(`${path}.${childPath}`);\n },\n\n isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n symbol in obj &&\n (obj as Record<symbol, unknown>)[symbol] === true\n );\n },\n };\n}\n\n/** Base namespace used throughout LangChain */\nexport const ns = createNamespace(\"langchain\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHA,SAAgB,gBAAgB,MAAyB;CACvD,MAAM,SAAiB,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"namespace.js","names":[],"sources":["../../src/utils/namespace.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * A constructor type that can be used as a base class for branding.\n */\ntype Constructor = abstract new (...args: any[]) => any;\n\n/**\n * The return type of `Namespace.brand()`: the original base class\n * intersected with a polymorphic `isInstance` type guard.\n */\ntype BrandedClass<TBase extends Constructor> = TBase & {\n isInstance: IsInstanceFn;\n};\n\n/**\n * A static `isInstance` type guard that resolves to the subclass it's\n * called on via the generic `this` parameter.\n *\n * At call sites TypeScript infers `T` from the class, so\n * `StandardError.isInstance(obj)` narrows `obj` to `StandardError`.\n */\ntype IsInstanceFn = <T extends Constructor>(\n this: T,\n obj: unknown\n) => obj is InstanceType<T>;\n\n/**\n * A namespace object for hierarchical symbol-based branding.\n *\n * Namespaces are internal authoring tools. They are not intended to be\n * part of the public API -- only the branded classes are.\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n *\n * export class LangChainError extends errorNs.brand(Error) {\n * readonly name = \"LangChainError\";\n * }\n *\n * export class ModelAbortError extends errorNs.brand(LangChainError, \"model-abort\") {\n * readonly name = \"ModelAbortError\";\n * }\n * ```\n */\nexport interface Namespace {\n /**\n * Brand a base class with this namespace's symbols.\n *\n * Without a marker, creates a namespace-level base class whose\n * `static isInstance` checks for the namespace's own symbol.\n *\n * With a marker, creates a leaf class whose `static isInstance`\n * checks for the marker-specific symbol.\n *\n * @param Base - The base class to extend\n * @param marker - Optional marker for leaf classes\n * @returns A new class extending Base with symbol branding and static isInstance\n */\n brand<TBase extends Constructor>(\n Base: TBase,\n marker?: string\n ): BrandedClass<TBase>;\n\n /**\n * Create a child namespace.\n *\n * @param childPath - The child segment to append to the current path\n * @returns A new Namespace with the extended path\n */\n sub(childPath: string): Namespace;\n\n /**\n * Check if an object is branded under this namespace (at any level).\n *\n * @param obj - The object to check\n * @returns true if the object carries this namespace's symbol\n */\n isInstance(obj: unknown): boolean;\n}\n\n/**\n * Create a symbol-based namespace for hierarchical `isInstance` checking.\n *\n * Each namespace level gets its own `Symbol.for(path)`. When a class is\n * branded via `.brand()`, only the new symbol for that level is stamped\n * on the prototype. Parent symbols are inherited implicitly through the\n * class extension chain -- `symbol in obj` traverses the prototype chain,\n * so a `ConfigError` instance is recognized by `LangChainError.isInstance()`\n * because it extends `GoogleError` which extends `LangChainError`, whose\n * prototype already carries the `langchain.error` symbol.\n *\n * @param path - The dot-separated namespace path (e.g. \"langchain.error\")\n * @returns A Namespace object with `.brand()`, `.sub()`, and `.isInstance()`\n *\n * @example\n * ```typescript\n * const langchain = createNamespace(\"langchain\");\n * const errorNs = langchain.sub(\"error\");\n * const googleNs = errorNs.sub(\"google\");\n *\n * class LangChainError extends errorNs.brand(Error) {}\n * class GoogleError extends googleNs.brand(LangChainError) {}\n * class ConfigError extends googleNs.brand(GoogleError, \"configuration\") {}\n *\n * const err = new ConfigError(\"bad config\");\n * LangChainError.isInstance(err); // true (checks langchain.error symbol)\n * GoogleError.isInstance(err); // true (checks langchain.error.google symbol)\n * ConfigError.isInstance(err); // true (checks langchain.error.google.configuration symbol)\n * ```\n */\nexport function createNamespace(path: string): Namespace {\n const symbol: symbol = Symbol.for(path);\n\n return {\n brand<TBase extends Constructor>(Base: TBase, marker?: string) {\n const brandSymbol: symbol = marker\n ? Symbol.for(`${path}.${marker}`)\n : symbol;\n\n class _Branded extends (Base as any) {\n readonly [brandSymbol] = true as const;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n static isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n brandSymbol in obj &&\n (obj as Record<symbol, unknown>)[brandSymbol] === true\n );\n }\n\n static [Symbol.hasInstance](obj: unknown) {\n return this.isInstance(obj);\n }\n }\n\n // Inherit the base class's name so \"_Branded\" doesn't leak\n // through the static prototype chain.\n Object.defineProperty(_Branded, \"name\", { value: Base.name });\n\n return _Branded as unknown as BrandedClass<TBase>;\n },\n\n sub(childPath: string): Namespace {\n return createNamespace(`${path}.${childPath}`);\n },\n\n isInstance(obj: unknown): boolean {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n symbol in obj &&\n (obj as Record<symbol, unknown>)[symbol] === true\n );\n },\n };\n}\n\n/** Base namespace used throughout LangChain */\nexport const ns = createNamespace(\"langchain\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHA,SAAgB,gBAAgB,MAAyB;CACvD,MAAM,SAAiB,OAAO,IAAI,IAAI;CAEtC,OAAO;EACL,MAAiC,MAAa,QAAiB;GAC7D,MAAM,cAAsB,SACxB,OAAO,IAAI,GAAG,KAAK,GAAG,QAAQ,IAC9B;GAEJ,MAAM,iBAAkB,KAAa;IACnC,CAAU,eAAe;IAEzB,YAAY,GAAG,MAAa;KAC1B,MAAM,GAAG,IAAI;IACf;IAEA,OAAO,WAAW,KAAuB;KACvC,OACE,OAAO,QAAQ,YACf,QAAQ,QACR,eAAe,OACd,IAAgC,iBAAiB;IAEtD;IAEA,QAAQ,OAAO,aAAa,KAAc;KACxC,OAAO,KAAK,WAAW,GAAG;IAC5B;GACF;GAIA,OAAO,eAAe,UAAU,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC;GAE5D,OAAO;EACT;EAEA,IAAI,WAA8B;GAChC,OAAO,gBAAgB,GAAG,KAAK,GAAG,WAAW;EAC/C;EAEA,WAAW,KAAuB;GAChC,OACE,OAAO,QAAQ,YACf,QAAQ,QACR,UAAU,OACT,IAAgC,YAAY;EAEjD;CACF;AACF;;AAGA,MAAa,KAAK,gBAAgB,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["isNetworkError"],"sources":["../../../src/utils/p-retry/index.js"],"sourcesContent":["/* oxlint-disable */\nimport isNetworkError from \"../is-network-error/index.js\";\n\nfunction validateRetries(retries) {\n if (typeof retries === \"number\") {\n if (retries < 0) {\n throw new TypeError(\"Expected `retries` to be a non-negative number.\");\n }\n\n if (Number.isNaN(retries)) {\n throw new TypeError(\n \"Expected `retries` to be a valid number or Infinity, got NaN.\"\n );\n }\n } else if (retries !== undefined) {\n throw new TypeError(\"Expected `retries` to be a number or Infinity.\");\n }\n}\n\nfunction validateNumberOption(\n name,\n value,\n { min = 0, allowInfinity = false } = {}\n) {\n if (value === undefined) {\n return;\n }\n\n if (typeof value !== \"number\" || Number.isNaN(value)) {\n throw new TypeError(\n `Expected \\`${name}\\` to be a number${\n allowInfinity ? \" or Infinity\" : \"\"\n }.`\n );\n }\n\n if (!allowInfinity && !Number.isFinite(value)) {\n throw new TypeError(`Expected \\`${name}\\` to be a finite number.`);\n }\n\n if (value < min) {\n throw new TypeError(`Expected \\`${name}\\` to be \\u2265 ${min}.`);\n }\n}\n\nexport class AbortError extends Error {\n constructor(message) {\n super();\n\n if (message instanceof Error) {\n this.originalError = message;\n ({ message } = message);\n } else {\n this.originalError = new Error(message);\n this.originalError.stack = this.stack;\n }\n\n this.name = \"AbortError\";\n this.message = message;\n }\n}\n\nfunction calculateDelay(retriesConsumed, options) {\n const attempt = Math.max(1, retriesConsumed + 1);\n const random = options.randomize ? Math.random() + 1 : 1;\n\n let timeout = Math.round(\n random * options.minTimeout * options.factor ** (attempt - 1)\n );\n timeout = Math.min(timeout, options.maxTimeout);\n\n return timeout;\n}\n\nfunction calculateRemainingTime(start, max) {\n if (!Number.isFinite(max)) {\n return max;\n }\n\n return max - (performance.now() - start);\n}\n\nasync function onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n}) {\n const normalizedError =\n error instanceof Error\n ? error\n : new TypeError(\n `Non-error was thrown: \"${error}\". You should only throw errors.`\n );\n\n if (normalizedError instanceof AbortError) {\n throw normalizedError.originalError;\n }\n\n const retriesLeft = Number.isFinite(options.retries)\n ? Math.max(0, options.retries - retriesConsumed)\n : options.retries;\n\n const maxRetryTime = options.maxRetryTime ?? Number.POSITIVE_INFINITY;\n\n const context = Object.freeze({\n error: normalizedError,\n attemptNumber,\n retriesLeft,\n retriesConsumed,\n });\n\n await options.onFailedAttempt(context);\n\n if (calculateRemainingTime(startTime, maxRetryTime) <= 0) {\n throw normalizedError;\n }\n\n const consumeRetry = await options.shouldConsumeRetry(context);\n\n const remainingTime = calculateRemainingTime(startTime, maxRetryTime);\n\n if (remainingTime <= 0 || retriesLeft <= 0) {\n throw normalizedError;\n }\n\n if (\n normalizedError instanceof TypeError &&\n !isNetworkError(normalizedError)\n ) {\n if (consumeRetry) {\n throw normalizedError;\n }\n\n options.signal?.throwIfAborted();\n return false;\n }\n\n if (!(await options.shouldRetry(context))) {\n throw normalizedError;\n }\n\n if (!consumeRetry) {\n options.signal?.throwIfAborted();\n return false;\n }\n\n let delayTime = calculateDelay(retriesConsumed, options);\n const retryAfterMs =\n typeof normalizedError.retryAfterMs === \"number\" &&\n normalizedError.retryAfterMs >= 0\n ? normalizedError.retryAfterMs\n : undefined;\n\n if (retryAfterMs !== undefined) {\n delayTime = Math.max(delayTime, retryAfterMs);\n }\n\n const finalDelay = Math.min(delayTime, remainingTime);\n\n if (finalDelay > 0) {\n await new Promise((resolve, reject) => {\n const onAbort = () => {\n clearTimeout(timeoutToken);\n options.signal?.removeEventListener(\"abort\", onAbort);\n reject(options.signal.reason);\n };\n\n const timeoutToken = setTimeout(() => {\n options.signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, finalDelay);\n\n if (options.unref) {\n timeoutToken.unref?.();\n }\n\n options.signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n }\n\n options.signal?.throwIfAborted();\n\n return true;\n}\n\nexport default async function pRetry(input, options = {}) {\n options = { ...options };\n\n validateRetries(options.retries);\n\n if (Object.hasOwn(options, \"forever\")) {\n throw new Error(\n \"The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.\"\n );\n }\n\n options.retries ??= 10;\n options.factor ??= 2;\n options.minTimeout ??= 1000;\n options.maxTimeout ??= Number.POSITIVE_INFINITY;\n options.maxRetryTime ??= Number.POSITIVE_INFINITY;\n options.randomize ??= false;\n options.onFailedAttempt ??= () => {};\n options.shouldRetry ??= () => true;\n options.shouldConsumeRetry ??= () => true;\n\n // Validate numeric options and normalize edge cases\n validateNumberOption(\"factor\", options.factor, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"minTimeout\", options.minTimeout, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"maxTimeout\", options.maxTimeout, {\n min: 0,\n allowInfinity: true,\n });\n validateNumberOption(\"maxRetryTime\", options.maxRetryTime, {\n min: 0,\n allowInfinity: true,\n });\n\n // Treat non-positive factor as 1 to avoid zero backoff or negative behavior\n if (!(options.factor > 0)) {\n options.factor = 1;\n }\n\n options.signal?.throwIfAborted();\n\n let attemptNumber = 0;\n let retriesConsumed = 0;\n const startTime = performance.now();\n\n while (\n Number.isFinite(options.retries) ? retriesConsumed <= options.retries : true\n ) {\n attemptNumber++;\n\n try {\n options.signal?.throwIfAborted();\n\n const result = await input(attemptNumber);\n\n options.signal?.throwIfAborted();\n\n return result;\n } catch (error) {\n if (\n await onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n })\n ) {\n retriesConsumed++;\n }\n }\n }\n\n // Should not reach here, but in case it does, throw an error\n throw new Error(\"Retry attempts exhausted without throwing an error.\");\n}\n\nexport function makeRetriable(function_, options) {\n return function (...arguments_) {\n return pRetry(() => function_.apply(this, arguments_), options);\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["isNetworkError"],"sources":["../../../src/utils/p-retry/index.js"],"sourcesContent":["/* oxlint-disable */\nimport isNetworkError from \"../is-network-error/index.js\";\n\nfunction validateRetries(retries) {\n if (typeof retries === \"number\") {\n if (retries < 0) {\n throw new TypeError(\"Expected `retries` to be a non-negative number.\");\n }\n\n if (Number.isNaN(retries)) {\n throw new TypeError(\n \"Expected `retries` to be a valid number or Infinity, got NaN.\"\n );\n }\n } else if (retries !== undefined) {\n throw new TypeError(\"Expected `retries` to be a number or Infinity.\");\n }\n}\n\nfunction validateNumberOption(\n name,\n value,\n { min = 0, allowInfinity = false } = {}\n) {\n if (value === undefined) {\n return;\n }\n\n if (typeof value !== \"number\" || Number.isNaN(value)) {\n throw new TypeError(\n `Expected \\`${name}\\` to be a number${\n allowInfinity ? \" or Infinity\" : \"\"\n }.`\n );\n }\n\n if (!allowInfinity && !Number.isFinite(value)) {\n throw new TypeError(`Expected \\`${name}\\` to be a finite number.`);\n }\n\n if (value < min) {\n throw new TypeError(`Expected \\`${name}\\` to be \\u2265 ${min}.`);\n }\n}\n\nexport class AbortError extends Error {\n constructor(message) {\n super();\n\n if (message instanceof Error) {\n this.originalError = message;\n ({ message } = message);\n } else {\n this.originalError = new Error(message);\n this.originalError.stack = this.stack;\n }\n\n this.name = \"AbortError\";\n this.message = message;\n }\n}\n\nfunction calculateDelay(retriesConsumed, options) {\n const attempt = Math.max(1, retriesConsumed + 1);\n const random = options.randomize ? Math.random() + 1 : 1;\n\n let timeout = Math.round(\n random * options.minTimeout * options.factor ** (attempt - 1)\n );\n timeout = Math.min(timeout, options.maxTimeout);\n\n return timeout;\n}\n\nfunction calculateRemainingTime(start, max) {\n if (!Number.isFinite(max)) {\n return max;\n }\n\n return max - (performance.now() - start);\n}\n\nasync function onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n}) {\n const normalizedError =\n error instanceof Error\n ? error\n : new TypeError(\n `Non-error was thrown: \"${error}\". You should only throw errors.`\n );\n\n if (normalizedError instanceof AbortError) {\n throw normalizedError.originalError;\n }\n\n const retriesLeft = Number.isFinite(options.retries)\n ? Math.max(0, options.retries - retriesConsumed)\n : options.retries;\n\n const maxRetryTime = options.maxRetryTime ?? Number.POSITIVE_INFINITY;\n\n const context = Object.freeze({\n error: normalizedError,\n attemptNumber,\n retriesLeft,\n retriesConsumed,\n });\n\n await options.onFailedAttempt(context);\n\n if (calculateRemainingTime(startTime, maxRetryTime) <= 0) {\n throw normalizedError;\n }\n\n const consumeRetry = await options.shouldConsumeRetry(context);\n\n const remainingTime = calculateRemainingTime(startTime, maxRetryTime);\n\n if (remainingTime <= 0 || retriesLeft <= 0) {\n throw normalizedError;\n }\n\n if (\n normalizedError instanceof TypeError &&\n !isNetworkError(normalizedError)\n ) {\n if (consumeRetry) {\n throw normalizedError;\n }\n\n options.signal?.throwIfAborted();\n return false;\n }\n\n if (!(await options.shouldRetry(context))) {\n throw normalizedError;\n }\n\n if (!consumeRetry) {\n options.signal?.throwIfAborted();\n return false;\n }\n\n let delayTime = calculateDelay(retriesConsumed, options);\n const retryAfterMs =\n typeof normalizedError.retryAfterMs === \"number\" &&\n normalizedError.retryAfterMs >= 0\n ? normalizedError.retryAfterMs\n : undefined;\n\n if (retryAfterMs !== undefined) {\n delayTime = Math.max(delayTime, retryAfterMs);\n }\n\n const finalDelay = Math.min(delayTime, remainingTime);\n\n if (finalDelay > 0) {\n await new Promise((resolve, reject) => {\n const onAbort = () => {\n clearTimeout(timeoutToken);\n options.signal?.removeEventListener(\"abort\", onAbort);\n reject(options.signal.reason);\n };\n\n const timeoutToken = setTimeout(() => {\n options.signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, finalDelay);\n\n if (options.unref) {\n timeoutToken.unref?.();\n }\n\n options.signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n }\n\n options.signal?.throwIfAborted();\n\n return true;\n}\n\nexport default async function pRetry(input, options = {}) {\n options = { ...options };\n\n validateRetries(options.retries);\n\n if (Object.hasOwn(options, \"forever\")) {\n throw new Error(\n \"The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.\"\n );\n }\n\n options.retries ??= 10;\n options.factor ??= 2;\n options.minTimeout ??= 1000;\n options.maxTimeout ??= Number.POSITIVE_INFINITY;\n options.maxRetryTime ??= Number.POSITIVE_INFINITY;\n options.randomize ??= false;\n options.onFailedAttempt ??= () => {};\n options.shouldRetry ??= () => true;\n options.shouldConsumeRetry ??= () => true;\n\n // Validate numeric options and normalize edge cases\n validateNumberOption(\"factor\", options.factor, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"minTimeout\", options.minTimeout, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"maxTimeout\", options.maxTimeout, {\n min: 0,\n allowInfinity: true,\n });\n validateNumberOption(\"maxRetryTime\", options.maxRetryTime, {\n min: 0,\n allowInfinity: true,\n });\n\n // Treat non-positive factor as 1 to avoid zero backoff or negative behavior\n if (!(options.factor > 0)) {\n options.factor = 1;\n }\n\n options.signal?.throwIfAborted();\n\n let attemptNumber = 0;\n let retriesConsumed = 0;\n const startTime = performance.now();\n\n while (\n Number.isFinite(options.retries) ? retriesConsumed <= options.retries : true\n ) {\n attemptNumber++;\n\n try {\n options.signal?.throwIfAborted();\n\n const result = await input(attemptNumber);\n\n options.signal?.throwIfAborted();\n\n return result;\n } catch (error) {\n if (\n await onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n })\n ) {\n retriesConsumed++;\n }\n }\n }\n\n // Should not reach here, but in case it does, throw an error\n throw new Error(\"Retry attempts exhausted without throwing an error.\");\n}\n\nexport function makeRetriable(function_, options) {\n return function (...arguments_) {\n return pRetry(() => function_.apply(this, arguments_), options);\n };\n}\n"],"mappings":"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"}
|
|
@@ -137,6 +137,6 @@ async function pRetry(input, options = {}) {
|
|
|
137
137
|
throw new Error("Retry attempts exhausted without throwing an error.");
|
|
138
138
|
}
|
|
139
139
|
//#endregion
|
|
140
|
-
export { pRetry as default };
|
|
140
|
+
export { AbortError, pRetry as default };
|
|
141
141
|
|
|
142
142
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/p-retry/index.js"],"sourcesContent":["/* oxlint-disable */\nimport isNetworkError from \"../is-network-error/index.js\";\n\nfunction validateRetries(retries) {\n if (typeof retries === \"number\") {\n if (retries < 0) {\n throw new TypeError(\"Expected `retries` to be a non-negative number.\");\n }\n\n if (Number.isNaN(retries)) {\n throw new TypeError(\n \"Expected `retries` to be a valid number or Infinity, got NaN.\"\n );\n }\n } else if (retries !== undefined) {\n throw new TypeError(\"Expected `retries` to be a number or Infinity.\");\n }\n}\n\nfunction validateNumberOption(\n name,\n value,\n { min = 0, allowInfinity = false } = {}\n) {\n if (value === undefined) {\n return;\n }\n\n if (typeof value !== \"number\" || Number.isNaN(value)) {\n throw new TypeError(\n `Expected \\`${name}\\` to be a number${\n allowInfinity ? \" or Infinity\" : \"\"\n }.`\n );\n }\n\n if (!allowInfinity && !Number.isFinite(value)) {\n throw new TypeError(`Expected \\`${name}\\` to be a finite number.`);\n }\n\n if (value < min) {\n throw new TypeError(`Expected \\`${name}\\` to be \\u2265 ${min}.`);\n }\n}\n\nexport class AbortError extends Error {\n constructor(message) {\n super();\n\n if (message instanceof Error) {\n this.originalError = message;\n ({ message } = message);\n } else {\n this.originalError = new Error(message);\n this.originalError.stack = this.stack;\n }\n\n this.name = \"AbortError\";\n this.message = message;\n }\n}\n\nfunction calculateDelay(retriesConsumed, options) {\n const attempt = Math.max(1, retriesConsumed + 1);\n const random = options.randomize ? Math.random() + 1 : 1;\n\n let timeout = Math.round(\n random * options.minTimeout * options.factor ** (attempt - 1)\n );\n timeout = Math.min(timeout, options.maxTimeout);\n\n return timeout;\n}\n\nfunction calculateRemainingTime(start, max) {\n if (!Number.isFinite(max)) {\n return max;\n }\n\n return max - (performance.now() - start);\n}\n\nasync function onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n}) {\n const normalizedError =\n error instanceof Error\n ? error\n : new TypeError(\n `Non-error was thrown: \"${error}\". You should only throw errors.`\n );\n\n if (normalizedError instanceof AbortError) {\n throw normalizedError.originalError;\n }\n\n const retriesLeft = Number.isFinite(options.retries)\n ? Math.max(0, options.retries - retriesConsumed)\n : options.retries;\n\n const maxRetryTime = options.maxRetryTime ?? Number.POSITIVE_INFINITY;\n\n const context = Object.freeze({\n error: normalizedError,\n attemptNumber,\n retriesLeft,\n retriesConsumed,\n });\n\n await options.onFailedAttempt(context);\n\n if (calculateRemainingTime(startTime, maxRetryTime) <= 0) {\n throw normalizedError;\n }\n\n const consumeRetry = await options.shouldConsumeRetry(context);\n\n const remainingTime = calculateRemainingTime(startTime, maxRetryTime);\n\n if (remainingTime <= 0 || retriesLeft <= 0) {\n throw normalizedError;\n }\n\n if (\n normalizedError instanceof TypeError &&\n !isNetworkError(normalizedError)\n ) {\n if (consumeRetry) {\n throw normalizedError;\n }\n\n options.signal?.throwIfAborted();\n return false;\n }\n\n if (!(await options.shouldRetry(context))) {\n throw normalizedError;\n }\n\n if (!consumeRetry) {\n options.signal?.throwIfAborted();\n return false;\n }\n\n let delayTime = calculateDelay(retriesConsumed, options);\n const retryAfterMs =\n typeof normalizedError.retryAfterMs === \"number\" &&\n normalizedError.retryAfterMs >= 0\n ? normalizedError.retryAfterMs\n : undefined;\n\n if (retryAfterMs !== undefined) {\n delayTime = Math.max(delayTime, retryAfterMs);\n }\n\n const finalDelay = Math.min(delayTime, remainingTime);\n\n if (finalDelay > 0) {\n await new Promise((resolve, reject) => {\n const onAbort = () => {\n clearTimeout(timeoutToken);\n options.signal?.removeEventListener(\"abort\", onAbort);\n reject(options.signal.reason);\n };\n\n const timeoutToken = setTimeout(() => {\n options.signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, finalDelay);\n\n if (options.unref) {\n timeoutToken.unref?.();\n }\n\n options.signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n }\n\n options.signal?.throwIfAborted();\n\n return true;\n}\n\nexport default async function pRetry(input, options = {}) {\n options = { ...options };\n\n validateRetries(options.retries);\n\n if (Object.hasOwn(options, \"forever\")) {\n throw new Error(\n \"The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.\"\n );\n }\n\n options.retries ??= 10;\n options.factor ??= 2;\n options.minTimeout ??= 1000;\n options.maxTimeout ??= Number.POSITIVE_INFINITY;\n options.maxRetryTime ??= Number.POSITIVE_INFINITY;\n options.randomize ??= false;\n options.onFailedAttempt ??= () => {};\n options.shouldRetry ??= () => true;\n options.shouldConsumeRetry ??= () => true;\n\n // Validate numeric options and normalize edge cases\n validateNumberOption(\"factor\", options.factor, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"minTimeout\", options.minTimeout, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"maxTimeout\", options.maxTimeout, {\n min: 0,\n allowInfinity: true,\n });\n validateNumberOption(\"maxRetryTime\", options.maxRetryTime, {\n min: 0,\n allowInfinity: true,\n });\n\n // Treat non-positive factor as 1 to avoid zero backoff or negative behavior\n if (!(options.factor > 0)) {\n options.factor = 1;\n }\n\n options.signal?.throwIfAborted();\n\n let attemptNumber = 0;\n let retriesConsumed = 0;\n const startTime = performance.now();\n\n while (\n Number.isFinite(options.retries) ? retriesConsumed <= options.retries : true\n ) {\n attemptNumber++;\n\n try {\n options.signal?.throwIfAborted();\n\n const result = await input(attemptNumber);\n\n options.signal?.throwIfAborted();\n\n return result;\n } catch (error) {\n if (\n await onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n })\n ) {\n retriesConsumed++;\n }\n }\n }\n\n // Should not reach here, but in case it does, throw an error\n throw new Error(\"Retry attempts exhausted without throwing an error.\");\n}\n\nexport function makeRetriable(function_, options) {\n return function (...arguments_) {\n return pRetry(() => function_.apply(this, arguments_), options);\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/p-retry/index.js"],"sourcesContent":["/* oxlint-disable */\nimport isNetworkError from \"../is-network-error/index.js\";\n\nfunction validateRetries(retries) {\n if (typeof retries === \"number\") {\n if (retries < 0) {\n throw new TypeError(\"Expected `retries` to be a non-negative number.\");\n }\n\n if (Number.isNaN(retries)) {\n throw new TypeError(\n \"Expected `retries` to be a valid number or Infinity, got NaN.\"\n );\n }\n } else if (retries !== undefined) {\n throw new TypeError(\"Expected `retries` to be a number or Infinity.\");\n }\n}\n\nfunction validateNumberOption(\n name,\n value,\n { min = 0, allowInfinity = false } = {}\n) {\n if (value === undefined) {\n return;\n }\n\n if (typeof value !== \"number\" || Number.isNaN(value)) {\n throw new TypeError(\n `Expected \\`${name}\\` to be a number${\n allowInfinity ? \" or Infinity\" : \"\"\n }.`\n );\n }\n\n if (!allowInfinity && !Number.isFinite(value)) {\n throw new TypeError(`Expected \\`${name}\\` to be a finite number.`);\n }\n\n if (value < min) {\n throw new TypeError(`Expected \\`${name}\\` to be \\u2265 ${min}.`);\n }\n}\n\nexport class AbortError extends Error {\n constructor(message) {\n super();\n\n if (message instanceof Error) {\n this.originalError = message;\n ({ message } = message);\n } else {\n this.originalError = new Error(message);\n this.originalError.stack = this.stack;\n }\n\n this.name = \"AbortError\";\n this.message = message;\n }\n}\n\nfunction calculateDelay(retriesConsumed, options) {\n const attempt = Math.max(1, retriesConsumed + 1);\n const random = options.randomize ? Math.random() + 1 : 1;\n\n let timeout = Math.round(\n random * options.minTimeout * options.factor ** (attempt - 1)\n );\n timeout = Math.min(timeout, options.maxTimeout);\n\n return timeout;\n}\n\nfunction calculateRemainingTime(start, max) {\n if (!Number.isFinite(max)) {\n return max;\n }\n\n return max - (performance.now() - start);\n}\n\nasync function onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n}) {\n const normalizedError =\n error instanceof Error\n ? error\n : new TypeError(\n `Non-error was thrown: \"${error}\". You should only throw errors.`\n );\n\n if (normalizedError instanceof AbortError) {\n throw normalizedError.originalError;\n }\n\n const retriesLeft = Number.isFinite(options.retries)\n ? Math.max(0, options.retries - retriesConsumed)\n : options.retries;\n\n const maxRetryTime = options.maxRetryTime ?? Number.POSITIVE_INFINITY;\n\n const context = Object.freeze({\n error: normalizedError,\n attemptNumber,\n retriesLeft,\n retriesConsumed,\n });\n\n await options.onFailedAttempt(context);\n\n if (calculateRemainingTime(startTime, maxRetryTime) <= 0) {\n throw normalizedError;\n }\n\n const consumeRetry = await options.shouldConsumeRetry(context);\n\n const remainingTime = calculateRemainingTime(startTime, maxRetryTime);\n\n if (remainingTime <= 0 || retriesLeft <= 0) {\n throw normalizedError;\n }\n\n if (\n normalizedError instanceof TypeError &&\n !isNetworkError(normalizedError)\n ) {\n if (consumeRetry) {\n throw normalizedError;\n }\n\n options.signal?.throwIfAborted();\n return false;\n }\n\n if (!(await options.shouldRetry(context))) {\n throw normalizedError;\n }\n\n if (!consumeRetry) {\n options.signal?.throwIfAborted();\n return false;\n }\n\n let delayTime = calculateDelay(retriesConsumed, options);\n const retryAfterMs =\n typeof normalizedError.retryAfterMs === \"number\" &&\n normalizedError.retryAfterMs >= 0\n ? normalizedError.retryAfterMs\n : undefined;\n\n if (retryAfterMs !== undefined) {\n delayTime = Math.max(delayTime, retryAfterMs);\n }\n\n const finalDelay = Math.min(delayTime, remainingTime);\n\n if (finalDelay > 0) {\n await new Promise((resolve, reject) => {\n const onAbort = () => {\n clearTimeout(timeoutToken);\n options.signal?.removeEventListener(\"abort\", onAbort);\n reject(options.signal.reason);\n };\n\n const timeoutToken = setTimeout(() => {\n options.signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, finalDelay);\n\n if (options.unref) {\n timeoutToken.unref?.();\n }\n\n options.signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n }\n\n options.signal?.throwIfAborted();\n\n return true;\n}\n\nexport default async function pRetry(input, options = {}) {\n options = { ...options };\n\n validateRetries(options.retries);\n\n if (Object.hasOwn(options, \"forever\")) {\n throw new Error(\n \"The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.\"\n );\n }\n\n options.retries ??= 10;\n options.factor ??= 2;\n options.minTimeout ??= 1000;\n options.maxTimeout ??= Number.POSITIVE_INFINITY;\n options.maxRetryTime ??= Number.POSITIVE_INFINITY;\n options.randomize ??= false;\n options.onFailedAttempt ??= () => {};\n options.shouldRetry ??= () => true;\n options.shouldConsumeRetry ??= () => true;\n\n // Validate numeric options and normalize edge cases\n validateNumberOption(\"factor\", options.factor, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"minTimeout\", options.minTimeout, {\n min: 0,\n allowInfinity: false,\n });\n validateNumberOption(\"maxTimeout\", options.maxTimeout, {\n min: 0,\n allowInfinity: true,\n });\n validateNumberOption(\"maxRetryTime\", options.maxRetryTime, {\n min: 0,\n allowInfinity: true,\n });\n\n // Treat non-positive factor as 1 to avoid zero backoff or negative behavior\n if (!(options.factor > 0)) {\n options.factor = 1;\n }\n\n options.signal?.throwIfAborted();\n\n let attemptNumber = 0;\n let retriesConsumed = 0;\n const startTime = performance.now();\n\n while (\n Number.isFinite(options.retries) ? retriesConsumed <= options.retries : true\n ) {\n attemptNumber++;\n\n try {\n options.signal?.throwIfAborted();\n\n const result = await input(attemptNumber);\n\n options.signal?.throwIfAborted();\n\n return result;\n } catch (error) {\n if (\n await onAttemptFailure({\n error,\n attemptNumber,\n retriesConsumed,\n startTime,\n options,\n })\n ) {\n retriesConsumed++;\n }\n }\n }\n\n // Should not reach here, but in case it does, throw an error\n throw new Error(\"Retry attempts exhausted without throwing an error.\");\n}\n\nexport function makeRetriable(function_, options) {\n return function (...arguments_) {\n return pRetry(() => function_.apply(this, arguments_), options);\n };\n}\n"],"mappings":";;AAGA,SAAS,gBAAgB,SAAS;CAChC,IAAI,OAAO,YAAY,UAAU;EAC/B,IAAI,UAAU,GACZ,MAAM,IAAI,UAAU,iDAAiD;EAGvE,IAAI,OAAO,MAAM,OAAO,GACtB,MAAM,IAAI,UACR,+DACF;CAEJ,OAAO,IAAI,YAAY,KAAA,GACrB,MAAM,IAAI,UAAU,gDAAgD;AAExE;AAEA,SAAS,qBACP,MACA,OACA,EAAE,MAAM,GAAG,gBAAgB,UAAU,CAAC,GACtC;CACA,IAAI,UAAU,KAAA,GACZ;CAGF,IAAI,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,GACjD,MAAM,IAAI,UACR,cAAc,KAAK,mBACjB,gBAAgB,iBAAiB,GAClC,EACH;CAGF,IAAI,CAAC,iBAAiB,CAAC,OAAO,SAAS,KAAK,GAC1C,MAAM,IAAI,UAAU,cAAc,KAAK,0BAA0B;CAGnE,IAAI,QAAQ,KACV,MAAM,IAAI,UAAU,cAAc,KAAK,kBAAkB,IAAI,EAAE;AAEnE;AAEA,IAAa,aAAb,cAAgC,MAAM;CACpC,YAAY,SAAS;EACnB,MAAM;EAEN,IAAI,mBAAmB,OAAO;GAC5B,KAAK,gBAAgB;GACrB,CAAC,CAAE,WAAY;EACjB,OAAO;GACL,KAAK,gBAAgB,IAAI,MAAM,OAAO;GACtC,KAAK,cAAc,QAAQ,KAAK;EAClC;EAEA,KAAK,OAAO;EACZ,KAAK,UAAU;CACjB;AACF;AAEA,SAAS,eAAe,iBAAiB,SAAS;CAChD,MAAM,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC;CAC/C,MAAM,SAAS,QAAQ,YAAY,KAAK,OAAO,IAAI,IAAI;CAEvD,IAAI,UAAU,KAAK,MACjB,SAAS,QAAQ,aAAa,QAAQ,WAAW,UAAU,EAC7D;CACA,UAAU,KAAK,IAAI,SAAS,QAAQ,UAAU;CAE9C,OAAO;AACT;AAEA,SAAS,uBAAuB,OAAO,KAAK;CAC1C,IAAI,CAAC,OAAO,SAAS,GAAG,GACtB,OAAO;CAGT,OAAO,OAAO,YAAY,IAAI,IAAI;AACpC;AAEA,eAAe,iBAAiB,EAC9B,OACA,eACA,iBACA,WACA,WACC;CACD,MAAM,kBACJ,iBAAiB,QACb,wBACA,IAAI,UACF,0BAA0B,MAAM,iCAClC;CAEN,IAAI,2BAA2B,YAC7B,MAAM,gBAAgB;CAGxB,MAAM,cAAc,OAAO,SAAS,QAAQ,OAAO,IAC/C,KAAK,IAAI,GAAG,QAAQ,UAAU,eAAe,IAC7C,QAAQ;CAEZ,MAAM,eAAe,QAAQ,gBAAgB,OAAO;CAEpD,MAAM,UAAU,OAAO,OAAO;EAC5B,OAAO;EACP;EACA;EACA;CACF,CAAC;CAED,MAAM,QAAQ,gBAAgB,OAAO;CAErC,IAAI,uBAAuB,WAAW,YAAY,KAAK,GACrD,MAAM;CAGR,MAAM,eAAe,MAAM,QAAQ,mBAAmB,OAAO;CAE7D,MAAM,gBAAgB,uBAAuB,WAAW,YAAY;CAEpE,IAAI,iBAAiB,KAAK,eAAe,GACvC,MAAM;CAGR,IACE,2BAA2B,aAC3B,CAAC,eAAe,eAAe,GAC/B;EACA,IAAI,cACF,MAAM;EAGR,QAAQ,QAAQ,eAAe;EAC/B,OAAO;CACT;CAEA,IAAI,CAAE,MAAM,QAAQ,YAAY,OAAO,GACrC,MAAM;CAGR,IAAI,CAAC,cAAc;EACjB,QAAQ,QAAQ,eAAe;EAC/B,OAAO;CACT;CAEA,IAAI,YAAY,eAAe,iBAAiB,OAAO;CACvD,MAAM,eACJ,OAAO,gBAAgB,iBAAiB,YACxC,gBAAgB,gBAAgB,IAC5B,gBAAgB,eAChB,KAAA;CAEN,IAAI,iBAAiB,KAAA,GACnB,YAAY,KAAK,IAAI,WAAW,YAAY;CAG9C,MAAM,aAAa,KAAK,IAAI,WAAW,aAAa;CAEpD,IAAI,aAAa,GACf,MAAM,IAAI,SAAS,SAAS,WAAW;EACrC,MAAM,gBAAgB;GACpB,aAAa,YAAY;GACzB,QAAQ,QAAQ,oBAAoB,SAAS,OAAO;GACpD,OAAO,QAAQ,OAAO,MAAM;EAC9B;EAEA,MAAM,eAAe,iBAAiB;GACpC,QAAQ,QAAQ,oBAAoB,SAAS,OAAO;GACpD,QAAQ;EACV,GAAG,UAAU;EAEb,IAAI,QAAQ,OACV,aAAa,QAAQ;EAGvB,QAAQ,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;CACnE,CAAC;CAGH,QAAQ,QAAQ,eAAe;CAE/B,OAAO;AACT;AAEA,eAA8B,OAAO,OAAO,UAAU,CAAC,GAAG;CACxD,UAAU,EAAE,GAAG,QAAQ;CAEvB,gBAAgB,QAAQ,OAAO;CAE/B,IAAI,OAAO,OAAO,SAAS,SAAS,GAClC,MAAM,IAAI,MACR,2GACF;CAGF,QAAQ,YAAY;CACpB,QAAQ,WAAW;CACnB,QAAQ,eAAe;CACvB,QAAQ,eAAe,OAAO;CAC9B,QAAQ,iBAAiB,OAAO;CAChC,QAAQ,cAAc;CACtB,QAAQ,0BAA0B,CAAC;CACnC,QAAQ,sBAAsB;CAC9B,QAAQ,6BAA6B;CAGrC,qBAAqB,UAAU,QAAQ,QAAQ;EAC7C,KAAK;EACL,eAAe;CACjB,CAAC;CACD,qBAAqB,cAAc,QAAQ,YAAY;EACrD,KAAK;EACL,eAAe;CACjB,CAAC;CACD,qBAAqB,cAAc,QAAQ,YAAY;EACrD,KAAK;EACL,eAAe;CACjB,CAAC;CACD,qBAAqB,gBAAgB,QAAQ,cAAc;EACzD,KAAK;EACL,eAAe;CACjB,CAAC;CAGD,IAAI,EAAE,QAAQ,SAAS,IACrB,QAAQ,SAAS;CAGnB,QAAQ,QAAQ,eAAe;CAE/B,IAAI,gBAAgB;CACpB,IAAI,kBAAkB;CACtB,MAAM,YAAY,YAAY,IAAI;CAElC,OACE,OAAO,SAAS,QAAQ,OAAO,IAAI,mBAAmB,QAAQ,UAAU,MACxE;EACA;EAEA,IAAI;GACF,QAAQ,QAAQ,eAAe;GAE/B,MAAM,SAAS,MAAM,MAAM,aAAa;GAExC,QAAQ,QAAQ,eAAe;GAE/B,OAAO;EACT,SAAS,OAAO;GACd,IACE,MAAM,iBAAiB;IACrB;IACA;IACA;IACA;IACA;GACF,CAAC,GAED;EAEJ;CACF;CAGA,MAAM,IAAI,MAAM,qDAAqD;AACvE"}
|