@langchain/core 1.2.0-dev-1765937705265 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +429 -0
- package/README.md +1 -1
- package/agents.cjs +1 -0
- package/agents.d.cts +1 -0
- package/agents.d.ts +1 -0
- package/agents.js +1 -0
- package/caches.cjs +1 -0
- package/caches.d.cts +1 -0
- package/caches.d.ts +1 -0
- package/caches.js +1 -0
- package/callbacks/base.cjs +1 -0
- package/callbacks/base.d.cts +1 -0
- package/callbacks/base.d.ts +1 -0
- package/callbacks/base.js +1 -0
- package/callbacks/dispatch/web.cjs +1 -0
- package/callbacks/dispatch/web.d.cts +1 -0
- package/callbacks/dispatch/web.d.ts +1 -0
- package/callbacks/dispatch/web.js +1 -0
- package/callbacks/dispatch.cjs +1 -0
- package/callbacks/dispatch.d.cts +1 -0
- package/callbacks/dispatch.d.ts +1 -0
- package/callbacks/dispatch.js +1 -0
- package/callbacks/manager.cjs +1 -0
- package/callbacks/manager.d.cts +1 -0
- package/callbacks/manager.d.ts +1 -0
- package/callbacks/manager.js +1 -0
- package/callbacks/promises.cjs +1 -0
- package/callbacks/promises.d.cts +1 -0
- package/callbacks/promises.d.ts +1 -0
- package/callbacks/promises.js +1 -0
- package/chat_history.cjs +1 -0
- package/chat_history.d.cts +1 -0
- package/chat_history.d.ts +1 -0
- package/chat_history.js +1 -0
- package/context.cjs +1 -0
- package/context.d.cts +1 -0
- package/context.d.ts +1 -0
- package/context.js +1 -0
- package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +7 -6
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/agents.cjs +8 -8
- package/dist/agents.cjs.map +1 -1
- package/dist/agents.d.cts.map +1 -1
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +3 -2
- package/dist/agents.js.map +1 -1
- package/dist/caches/index.cjs +12 -13
- package/dist/caches/index.cjs.map +1 -1
- package/dist/caches/index.d.cts.map +1 -1
- package/dist/caches/index.d.ts.map +1 -1
- package/dist/caches/index.js +4 -6
- package/dist/caches/index.js.map +1 -1
- package/dist/callbacks/base.cjs +22 -26
- package/dist/callbacks/base.cjs.map +1 -1
- package/dist/callbacks/base.d.cts +100 -39
- package/dist/callbacks/base.d.cts.map +1 -1
- package/dist/callbacks/base.d.ts +100 -39
- package/dist/callbacks/base.d.ts.map +1 -1
- package/dist/callbacks/base.js +14 -20
- package/dist/callbacks/base.js.map +1 -1
- package/dist/callbacks/dispatch/index.cjs +11 -12
- package/dist/callbacks/dispatch/index.cjs.map +1 -1
- package/dist/callbacks/dispatch/index.d.cts +0 -2
- package/dist/callbacks/dispatch/index.d.cts.map +1 -1
- package/dist/callbacks/dispatch/index.d.ts +0 -3
- package/dist/callbacks/dispatch/index.d.ts.map +1 -1
- package/dist/callbacks/dispatch/index.js +5 -7
- package/dist/callbacks/dispatch/index.js.map +1 -1
- package/dist/callbacks/dispatch/web.cjs +3 -3
- package/dist/callbacks/dispatch/web.cjs.map +1 -1
- package/dist/callbacks/dispatch/web.d.cts +0 -2
- package/dist/callbacks/dispatch/web.d.cts.map +1 -1
- package/dist/callbacks/dispatch/web.d.ts +0 -3
- package/dist/callbacks/dispatch/web.d.ts.map +1 -1
- package/dist/callbacks/dispatch/web.js +1 -2
- package/dist/callbacks/dispatch/web.js.map +1 -1
- package/dist/callbacks/manager.cjs +94 -80
- package/dist/callbacks/manager.cjs.map +1 -1
- package/dist/callbacks/manager.d.cts +7 -2
- package/dist/callbacks/manager.d.cts.map +1 -1
- package/dist/callbacks/manager.d.ts +7 -2
- package/dist/callbacks/manager.d.ts.map +1 -1
- package/dist/callbacks/manager.js +74 -61
- package/dist/callbacks/manager.js.map +1 -1
- package/dist/callbacks/promises.cjs +10 -11
- package/dist/callbacks/promises.js +3 -5
- package/dist/chat_history.cjs +13 -14
- package/dist/chat_history.cjs.map +1 -1
- package/dist/chat_history.d.cts +0 -2
- package/dist/chat_history.d.cts.map +1 -1
- package/dist/chat_history.d.ts +0 -3
- package/dist/chat_history.d.ts.map +1 -1
- package/dist/chat_history.js +4 -6
- package/dist/chat_history.js.map +1 -1
- package/dist/context.cjs +14 -7
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +8 -2
- package/dist/context.js.map +1 -1
- package/dist/document_loaders/base.cjs +8 -10
- 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 +3 -5
- package/dist/document_loaders/base.js.map +1 -1
- package/dist/document_loaders/langsmith.cjs +11 -12
- package/dist/document_loaders/langsmith.cjs.map +1 -1
- package/dist/document_loaders/langsmith.d.cts.map +1 -1
- package/dist/document_loaders/langsmith.d.ts.map +1 -1
- package/dist/document_loaders/langsmith.js +3 -5
- package/dist/document_loaders/langsmith.js.map +1 -1
- package/dist/documents/document.cjs +1 -2
- 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 +1 -1
- package/dist/documents/document.js.map +1 -1
- package/dist/documents/index.cjs +11 -12
- package/dist/documents/index.js +3 -5
- package/dist/documents/transformers.cjs +2 -3
- 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 +1 -2
- package/dist/documents/transformers.js.map +1 -1
- package/dist/embeddings.cjs +10 -11
- 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 +3 -5
- package/dist/embeddings.js.map +1 -1
- package/dist/errors/index.cjs +165 -2
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +150 -0
- package/dist/errors/index.d.cts.map +1 -0
- package/dist/errors/index.d.ts +150 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +155 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/example_selectors/base.cjs +2 -3
- 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 +1 -2
- package/dist/example_selectors/base.js.map +1 -1
- package/dist/example_selectors/conditional.cjs +2 -4
- package/dist/example_selectors/conditional.cjs.map +1 -1
- package/dist/example_selectors/conditional.d.cts.map +1 -1
- package/dist/example_selectors/conditional.d.ts.map +1 -1
- package/dist/example_selectors/conditional.js +2 -3
- package/dist/example_selectors/conditional.js.map +1 -1
- package/dist/example_selectors/index.cjs +13 -14
- package/dist/example_selectors/index.js +3 -5
- package/dist/example_selectors/length_based.cjs +3 -5
- 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 +2 -4
- package/dist/example_selectors/length_based.js.map +1 -1
- package/dist/example_selectors/semantic_similarity.cjs +7 -12
- 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 +5 -10
- package/dist/example_selectors/semantic_similarity.js.map +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.js +3 -2
- package/dist/indexing/base.cjs +11 -17
- package/dist/indexing/base.cjs.map +1 -1
- package/dist/indexing/base.d.cts.map +1 -1
- package/dist/indexing/base.d.ts.map +1 -1
- package/dist/indexing/base.js +7 -12
- package/dist/indexing/base.js.map +1 -1
- package/dist/indexing/index.cjs +11 -12
- package/dist/indexing/index.js +3 -5
- package/dist/indexing/record_manager.cjs +2 -3
- package/dist/indexing/record_manager.cjs.map +1 -1
- package/dist/indexing/record_manager.d.cts.map +1 -1
- package/dist/indexing/record_manager.d.ts.map +1 -1
- package/dist/indexing/record_manager.js +1 -2
- package/dist/indexing/record_manager.js.map +1 -1
- package/dist/language_models/base.cjs +40 -26
- package/dist/language_models/base.cjs.map +1 -1
- package/dist/language_models/base.d.cts +22 -14
- package/dist/language_models/base.d.cts.map +1 -1
- package/dist/language_models/base.d.ts +22 -16
- package/dist/language_models/base.d.ts.map +1 -1
- package/dist/language_models/base.js +29 -16
- package/dist/language_models/base.js.map +1 -1
- package/dist/language_models/chat_models.cjs +173 -75
- package/dist/language_models/chat_models.cjs.map +1 -1
- package/dist/language_models/chat_models.d.cts +147 -10
- package/dist/language_models/chat_models.d.cts.map +1 -1
- package/dist/language_models/chat_models.d.ts +147 -13
- package/dist/language_models/chat_models.d.ts.map +1 -1
- package/dist/language_models/chat_models.js +155 -58
- package/dist/language_models/chat_models.js.map +1 -1
- package/dist/language_models/compat.cjs +412 -0
- package/dist/language_models/compat.cjs.map +1 -0
- package/dist/language_models/compat.d.cts +20 -0
- package/dist/language_models/compat.d.cts.map +1 -0
- package/dist/language_models/compat.d.ts +20 -0
- package/dist/language_models/compat.d.ts.map +1 -0
- package/dist/language_models/compat.js +404 -0
- package/dist/language_models/compat.js.map +1 -0
- package/dist/language_models/event.cjs +12 -0
- package/dist/language_models/event.cjs.map +1 -0
- package/dist/language_models/event.d.cts +185 -0
- package/dist/language_models/event.d.cts.map +1 -0
- package/dist/language_models/event.d.ts +185 -0
- package/dist/language_models/event.d.ts.map +1 -0
- package/dist/language_models/event.js +7 -0
- package/dist/language_models/event.js.map +1 -0
- package/dist/language_models/llms.cjs +41 -33
- package/dist/language_models/llms.cjs.map +1 -1
- package/dist/language_models/llms.d.cts +4 -4
- package/dist/language_models/llms.d.cts.map +1 -1
- package/dist/language_models/llms.d.ts +4 -5
- package/dist/language_models/llms.d.ts.map +1 -1
- package/dist/language_models/llms.js +30 -23
- package/dist/language_models/llms.js.map +1 -1
- package/dist/language_models/openai_completions_stream.cjs +308 -0
- package/dist/language_models/openai_completions_stream.cjs.map +1 -0
- package/dist/language_models/openai_completions_stream.d.cts +75 -0
- package/dist/language_models/openai_completions_stream.d.cts.map +1 -0
- package/dist/language_models/openai_completions_stream.d.ts +75 -0
- package/dist/language_models/openai_completions_stream.d.ts.map +1 -0
- package/dist/language_models/openai_completions_stream.js +301 -0
- package/dist/language_models/openai_completions_stream.js.map +1 -0
- package/dist/language_models/profile.cjs +8 -8
- package/dist/language_models/profile.d.cts.map +1 -1
- package/dist/language_models/profile.d.ts.map +1 -1
- package/dist/language_models/profile.js +3 -2
- package/dist/language_models/stream.cjs +506 -0
- package/dist/language_models/stream.cjs.map +1 -0
- package/dist/language_models/stream.d.cts +106 -0
- package/dist/language_models/stream.d.cts.map +1 -0
- package/dist/language_models/stream.d.ts +106 -0
- package/dist/language_models/stream.d.ts.map +1 -0
- package/dist/language_models/stream.js +495 -0
- package/dist/language_models/stream.js.map +1 -0
- package/dist/language_models/structured_output.cjs +87 -0
- package/dist/language_models/structured_output.cjs.map +1 -0
- package/dist/language_models/structured_output.d.cts +45 -0
- package/dist/language_models/structured_output.d.cts.map +1 -0
- package/dist/language_models/structured_output.d.ts +45 -0
- package/dist/language_models/structured_output.d.ts.map +1 -0
- package/dist/language_models/structured_output.js +78 -0
- package/dist/language_models/structured_output.js.map +1 -0
- package/dist/language_models/utils.cjs +1 -2
- package/dist/language_models/utils.cjs.map +1 -1
- package/dist/language_models/utils.js +1 -1
- package/dist/language_models/utils.js.map +1 -1
- package/dist/load/import_constants.cjs +1 -2
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js +1 -1
- package/dist/load/import_constants.js.map +1 -1
- package/dist/load/import_map.cjs +86 -66
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +49 -29
- 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 +179 -41
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.d.cts +126 -3
- package/dist/load/index.d.cts.map +1 -1
- package/dist/load/index.d.ts +126 -3
- package/dist/load/index.d.ts.map +1 -1
- package/dist/load/index.js +168 -31
- package/dist/load/index.js.map +1 -1
- package/dist/load/map_keys.cjs +14 -7
- 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 +12 -4
- package/dist/load/map_keys.js.map +1 -1
- package/dist/load/serializable.cjs +22 -26
- package/dist/load/serializable.cjs.map +1 -1
- package/dist/load/serializable.d.cts +15 -1
- package/dist/load/serializable.d.cts.map +1 -1
- package/dist/load/serializable.d.ts +15 -1
- package/dist/load/serializable.d.ts.map +1 -1
- package/dist/load/serializable.js +15 -20
- package/dist/load/serializable.js.map +1 -1
- package/dist/load/validation.cjs +120 -0
- package/dist/load/validation.cjs.map +1 -0
- package/dist/load/validation.js +118 -0
- package/dist/load/validation.js.map +1 -0
- package/dist/memory.cjs +10 -18
- package/dist/memory.cjs.map +1 -1
- package/dist/memory.d.cts +2 -2
- package/dist/memory.d.cts.map +1 -1
- package/dist/memory.d.ts +2 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +5 -13
- package/dist/memory.js.map +1 -1
- package/dist/messages/ai.cjs +27 -18
- package/dist/messages/ai.cjs.map +1 -1
- package/dist/messages/ai.d.cts +2 -2
- package/dist/messages/ai.d.cts.map +1 -1
- package/dist/messages/ai.d.ts +2 -2
- package/dist/messages/ai.d.ts.map +1 -1
- package/dist/messages/ai.js +22 -13
- package/dist/messages/ai.js.map +1 -1
- package/dist/messages/base.cjs +121 -44
- package/dist/messages/base.cjs.map +1 -1
- package/dist/messages/base.d.cts +58 -12
- package/dist/messages/base.d.cts.map +1 -1
- package/dist/messages/base.d.ts +58 -12
- package/dist/messages/base.d.ts.map +1 -1
- package/dist/messages/base.js +114 -38
- package/dist/messages/base.js.map +1 -1
- package/dist/messages/block_translators/anthropic.cjs +32 -38
- package/dist/messages/block_translators/anthropic.cjs.map +1 -1
- package/dist/messages/block_translators/anthropic.js +31 -37
- package/dist/messages/block_translators/anthropic.js.map +1 -1
- package/dist/messages/block_translators/bedrock_converse.cjs +40 -49
- package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
- package/dist/messages/block_translators/bedrock_converse.js +39 -48
- package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
- package/dist/messages/block_translators/data.cjs +3 -4
- package/dist/messages/block_translators/data.cjs.map +1 -1
- package/dist/messages/block_translators/data.js +1 -2
- package/dist/messages/block_translators/data.js.map +1 -1
- package/dist/messages/block_translators/deepseek.cjs +58 -0
- package/dist/messages/block_translators/deepseek.cjs.map +1 -0
- package/dist/messages/block_translators/deepseek.js +58 -0
- package/dist/messages/block_translators/deepseek.js.map +1 -0
- package/dist/messages/block_translators/google.cjs +97 -0
- package/dist/messages/block_translators/google.cjs.map +1 -0
- package/dist/messages/block_translators/google.js +97 -0
- package/dist/messages/block_translators/google.js.map +1 -0
- package/dist/messages/block_translators/google_genai.cjs +9 -3
- package/dist/messages/block_translators/google_genai.cjs.map +1 -1
- package/dist/messages/block_translators/google_genai.js +8 -2
- package/dist/messages/block_translators/google_genai.js.map +1 -1
- package/dist/messages/block_translators/google_vertexai.cjs +10 -6
- package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
- package/dist/messages/block_translators/google_vertexai.js +9 -5
- package/dist/messages/block_translators/google_vertexai.js.map +1 -1
- package/dist/messages/block_translators/groq.cjs +96 -0
- package/dist/messages/block_translators/groq.cjs.map +1 -0
- package/dist/messages/block_translators/groq.js +96 -0
- package/dist/messages/block_translators/groq.js.map +1 -0
- package/dist/messages/block_translators/index.cjs +19 -8
- package/dist/messages/block_translators/index.cjs.map +1 -1
- package/dist/messages/block_translators/index.js +14 -3
- package/dist/messages/block_translators/index.js.map +1 -1
- package/dist/messages/block_translators/ollama.cjs +58 -0
- package/dist/messages/block_translators/ollama.cjs.map +1 -0
- package/dist/messages/block_translators/ollama.js +58 -0
- package/dist/messages/block_translators/ollama.js.map +1 -0
- package/dist/messages/block_translators/openai.cjs +85 -26
- package/dist/messages/block_translators/openai.cjs.map +1 -1
- package/dist/messages/block_translators/openai.js +83 -24
- package/dist/messages/block_translators/openai.js.map +1 -1
- package/dist/messages/block_translators/openrouter.cjs +101 -0
- package/dist/messages/block_translators/openrouter.cjs.map +1 -0
- package/dist/messages/block_translators/openrouter.js +101 -0
- package/dist/messages/block_translators/openrouter.js.map +1 -0
- package/dist/messages/block_translators/utils.cjs +2 -3
- package/dist/messages/block_translators/utils.cjs.map +1 -1
- package/dist/messages/block_translators/utils.js +2 -2
- package/dist/messages/block_translators/utils.js.map +1 -1
- package/dist/messages/block_translators/xai.cjs +94 -0
- package/dist/messages/block_translators/xai.cjs.map +1 -0
- package/dist/messages/block_translators/xai.js +94 -0
- package/dist/messages/block_translators/xai.js.map +1 -0
- package/dist/messages/chat.cjs +2 -3
- package/dist/messages/chat.cjs.map +1 -1
- package/dist/messages/chat.d.cts.map +1 -1
- package/dist/messages/chat.d.ts.map +1 -1
- package/dist/messages/chat.js +1 -2
- 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 +2 -5
- package/dist/messages/content/data.cjs.map +1 -1
- package/dist/messages/content/data.d.cts +0 -1
- package/dist/messages/content/data.d.cts.map +1 -1
- package/dist/messages/content/data.d.ts +0 -1
- package/dist/messages/content/data.d.ts.map +1 -1
- package/dist/messages/content/data.js +2 -4
- package/dist/messages/content/data.js.map +1 -1
- package/dist/messages/content/index.cjs +5 -6
- package/dist/messages/content/index.cjs.map +1 -1
- package/dist/messages/content/index.d.cts +7 -3
- package/dist/messages/content/index.d.cts.map +1 -1
- package/dist/messages/content/index.d.ts +7 -3
- package/dist/messages/content/index.d.ts.map +1 -1
- package/dist/messages/content/index.js +7 -8
- package/dist/messages/content/index.js.map +1 -1
- package/dist/messages/content/multimodal.cjs +1 -2
- package/dist/messages/content/multimodal.cjs.map +1 -1
- package/dist/messages/content/multimodal.d.cts +4 -8
- package/dist/messages/content/multimodal.d.cts.map +1 -1
- package/dist/messages/content/multimodal.d.ts +4 -8
- package/dist/messages/content/multimodal.d.ts.map +1 -1
- package/dist/messages/content/multimodal.js +1 -1
- package/dist/messages/content/multimodal.js.map +1 -1
- package/dist/messages/content/tools.cjs +1 -2
- package/dist/messages/content/tools.cjs.map +1 -1
- package/dist/messages/content/tools.d.cts +1 -1
- package/dist/messages/content/tools.d.cts.map +1 -1
- package/dist/messages/content/tools.d.ts +1 -1
- package/dist/messages/content/tools.d.ts.map +1 -1
- package/dist/messages/content/tools.js +1 -1
- package/dist/messages/content/tools.js.map +1 -1
- package/dist/messages/format.cjs +1 -2
- 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 +1 -1
- package/dist/messages/format.js.map +1 -1
- package/dist/messages/function.cjs +2 -3
- package/dist/messages/function.cjs.map +1 -1
- package/dist/messages/function.d.cts.map +1 -1
- package/dist/messages/function.d.ts.map +1 -1
- package/dist/messages/function.js +1 -2
- package/dist/messages/function.js.map +1 -1
- package/dist/messages/human.cjs +2 -3
- package/dist/messages/human.cjs.map +1 -1
- package/dist/messages/human.d.cts.map +1 -1
- package/dist/messages/human.d.ts.map +1 -1
- package/dist/messages/human.js +1 -2
- package/dist/messages/human.js.map +1 -1
- package/dist/messages/index.cjs +25 -24
- package/dist/messages/index.d.cts +4 -4
- package/dist/messages/index.d.ts +4 -4
- package/dist/messages/index.js +7 -8
- package/dist/messages/message.cjs +1 -2
- package/dist/messages/message.cjs.map +1 -1
- package/dist/messages/message.d.cts +50 -27
- package/dist/messages/message.d.cts.map +1 -1
- package/dist/messages/message.d.ts +50 -27
- package/dist/messages/message.d.ts.map +1 -1
- package/dist/messages/message.js +1 -1
- package/dist/messages/message.js.map +1 -1
- package/dist/messages/metadata.cjs +3 -5
- package/dist/messages/metadata.cjs.map +1 -1
- package/dist/messages/metadata.d.cts.map +1 -1
- package/dist/messages/metadata.d.ts.map +1 -1
- package/dist/messages/metadata.js +2 -4
- package/dist/messages/metadata.js.map +1 -1
- package/dist/messages/modifier.cjs +8 -3
- package/dist/messages/modifier.cjs.map +1 -1
- package/dist/messages/modifier.d.cts +9 -4
- package/dist/messages/modifier.d.cts.map +1 -1
- package/dist/messages/modifier.d.ts +9 -4
- package/dist/messages/modifier.d.ts.map +1 -1
- package/dist/messages/modifier.js +7 -2
- package/dist/messages/modifier.js.map +1 -1
- package/dist/messages/system.cjs +10 -7
- package/dist/messages/system.cjs.map +1 -1
- package/dist/messages/system.d.cts.map +1 -1
- package/dist/messages/system.d.ts.map +1 -1
- package/dist/messages/system.js +9 -6
- package/dist/messages/system.js.map +1 -1
- package/dist/messages/tool.cjs +10 -11
- package/dist/messages/tool.cjs.map +1 -1
- package/dist/messages/tool.d.cts +1 -1
- package/dist/messages/tool.d.cts.map +1 -1
- package/dist/messages/tool.d.ts +1 -1
- package/dist/messages/tool.d.ts.map +1 -1
- package/dist/messages/tool.js +3 -5
- package/dist/messages/tool.js.map +1 -1
- package/dist/messages/transformers.cjs +18 -25
- package/dist/messages/transformers.cjs.map +1 -1
- package/dist/messages/transformers.d.cts.map +1 -1
- package/dist/messages/transformers.d.ts.map +1 -1
- package/dist/messages/transformers.js +9 -16
- package/dist/messages/transformers.js.map +1 -1
- package/dist/messages/utils.cjs +85 -32
- package/dist/messages/utils.cjs.map +1 -1
- package/dist/messages/utils.d.cts +25 -8
- package/dist/messages/utils.d.cts.map +1 -1
- package/dist/messages/utils.d.ts +25 -8
- package/dist/messages/utils.d.ts.map +1 -1
- package/dist/messages/utils.js +77 -24
- package/dist/messages/utils.js.map +1 -1
- package/dist/output_parsers/base.cjs +10 -11
- package/dist/output_parsers/base.cjs.map +1 -1
- package/dist/output_parsers/base.d.cts +0 -1
- package/dist/output_parsers/base.d.cts.map +1 -1
- package/dist/output_parsers/base.d.ts +0 -4
- package/dist/output_parsers/base.d.ts.map +1 -1
- package/dist/output_parsers/base.js +6 -7
- package/dist/output_parsers/base.js.map +1 -1
- package/dist/output_parsers/bytes.cjs +2 -3
- 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 +1 -2
- package/dist/output_parsers/bytes.js.map +1 -1
- package/dist/output_parsers/index.cjs +21 -19
- package/dist/output_parsers/index.cjs.map +1 -1
- package/dist/output_parsers/index.d.cts +2 -1
- package/dist/output_parsers/index.d.ts +2 -1
- package/dist/output_parsers/index.js +7 -7
- package/dist/output_parsers/index.js.map +1 -1
- package/dist/output_parsers/json.cjs +16 -7
- package/dist/output_parsers/json.cjs.map +1 -1
- package/dist/output_parsers/json.d.cts +9 -1
- package/dist/output_parsers/json.d.cts.map +1 -1
- package/dist/output_parsers/json.d.ts +9 -1
- package/dist/output_parsers/json.d.ts.map +1 -1
- package/dist/output_parsers/json.js +13 -4
- package/dist/output_parsers/json.js.map +1 -1
- package/dist/output_parsers/list.cjs +3 -4
- package/dist/output_parsers/list.cjs.map +1 -1
- package/dist/output_parsers/list.d.cts +0 -1
- package/dist/output_parsers/list.d.cts.map +1 -1
- package/dist/output_parsers/list.d.ts +0 -2
- package/dist/output_parsers/list.d.ts.map +1 -1
- package/dist/output_parsers/list.js +1 -2
- package/dist/output_parsers/list.js.map +1 -1
- package/dist/output_parsers/openai_functions/index.cjs +10 -11
- package/dist/output_parsers/openai_functions/index.js +3 -5
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +13 -17
- 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 -2
- 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 -2
- 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 +7 -11
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
- package/dist/output_parsers/openai_tools/index.cjs +10 -11
- package/dist/output_parsers/openai_tools/index.d.cts +2 -2
- package/dist/output_parsers/openai_tools/index.d.ts +2 -2
- package/dist/output_parsers/openai_tools/index.js +3 -5
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +29 -30
- 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 +10 -8
- 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 +10 -8
- 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 +23 -24
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
- package/dist/output_parsers/standard_schema.cjs +42 -0
- package/dist/output_parsers/standard_schema.cjs.map +1 -0
- package/dist/output_parsers/standard_schema.d.cts +18 -0
- package/dist/output_parsers/standard_schema.d.cts.map +1 -0
- package/dist/output_parsers/standard_schema.d.ts +18 -0
- package/dist/output_parsers/standard_schema.d.ts.map +1 -0
- package/dist/output_parsers/standard_schema.js +42 -0
- package/dist/output_parsers/standard_schema.js.map +1 -0
- package/dist/output_parsers/string.cjs +5 -3
- package/dist/output_parsers/string.cjs.map +1 -1
- package/dist/output_parsers/string.d.cts +0 -1
- package/dist/output_parsers/string.d.cts.map +1 -1
- package/dist/output_parsers/string.d.ts +0 -2
- package/dist/output_parsers/string.d.ts.map +1 -1
- package/dist/output_parsers/string.js +4 -2
- package/dist/output_parsers/string.js.map +1 -1
- package/dist/output_parsers/structured.cjs +17 -18
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.d.cts +2 -0
- package/dist/output_parsers/structured.d.cts.map +1 -1
- package/dist/output_parsers/structured.d.ts +2 -0
- package/dist/output_parsers/structured.d.ts.map +1 -1
- package/dist/output_parsers/structured.js +12 -13
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/output_parsers/transform.cjs +8 -9
- 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 +1 -2
- package/dist/output_parsers/transform.js.map +1 -1
- package/dist/output_parsers/xml.cjs +11 -15
- package/dist/output_parsers/xml.cjs.map +1 -1
- package/dist/output_parsers/xml.d.cts +1 -1
- package/dist/output_parsers/xml.d.cts.map +1 -1
- package/dist/output_parsers/xml.d.ts +1 -1
- package/dist/output_parsers/xml.d.ts.map +1 -1
- package/dist/output_parsers/xml.js +7 -11
- package/dist/output_parsers/xml.js.map +1 -1
- package/dist/outputs.cjs +8 -10
- package/dist/outputs.cjs.map +1 -1
- package/dist/outputs.d.cts.map +1 -1
- package/dist/outputs.d.ts.map +1 -1
- package/dist/outputs.js +3 -5
- package/dist/outputs.js.map +1 -1
- package/dist/prompt_values.cjs +12 -13
- package/dist/prompt_values.cjs.map +1 -1
- package/dist/prompt_values.d.cts +1 -3
- package/dist/prompt_values.d.cts.map +1 -1
- package/dist/prompt_values.d.ts +1 -3
- package/dist/prompt_values.d.ts.map +1 -1
- package/dist/prompt_values.js +3 -5
- package/dist/prompt_values.js.map +1 -1
- package/dist/prompts/base.cjs +4 -6
- package/dist/prompts/base.cjs.map +1 -1
- package/dist/prompts/base.d.cts +0 -1
- package/dist/prompts/base.d.cts.map +1 -1
- package/dist/prompts/base.d.ts +0 -2
- package/dist/prompts/base.d.ts.map +1 -1
- package/dist/prompts/base.js +3 -5
- package/dist/prompts/base.js.map +1 -1
- package/dist/prompts/chat.cjs +37 -53
- package/dist/prompts/chat.cjs.map +1 -1
- package/dist/prompts/chat.d.cts +1 -0
- package/dist/prompts/chat.d.cts.map +1 -1
- package/dist/prompts/chat.d.ts +1 -1
- package/dist/prompts/chat.d.ts.map +1 -1
- package/dist/prompts/chat.js +23 -39
- package/dist/prompts/chat.js.map +1 -1
- package/dist/prompts/dict.cjs +3 -4
- package/dist/prompts/dict.cjs.map +1 -1
- package/dist/prompts/dict.d.cts.map +1 -1
- package/dist/prompts/dict.d.ts.map +1 -1
- package/dist/prompts/dict.js +1 -2
- package/dist/prompts/dict.js.map +1 -1
- package/dist/prompts/few_shot.cjs +14 -20
- package/dist/prompts/few_shot.cjs.map +1 -1
- package/dist/prompts/few_shot.d.cts.map +1 -1
- package/dist/prompts/few_shot.d.ts +0 -1
- package/dist/prompts/few_shot.d.ts.map +1 -1
- package/dist/prompts/few_shot.js +10 -16
- package/dist/prompts/few_shot.js.map +1 -1
- package/dist/prompts/image.cjs +7 -10
- package/dist/prompts/image.cjs.map +1 -1
- package/dist/prompts/image.d.cts +0 -1
- package/dist/prompts/image.d.cts.map +1 -1
- package/dist/prompts/image.d.ts +0 -2
- package/dist/prompts/image.d.ts.map +1 -1
- package/dist/prompts/image.js +4 -7
- package/dist/prompts/image.js.map +1 -1
- package/dist/prompts/index.cjs +19 -20
- package/dist/prompts/index.js +3 -5
- package/dist/prompts/pipeline.cjs +3 -4
- 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 +1 -2
- package/dist/prompts/pipeline.js.map +1 -1
- package/dist/prompts/prompt.cjs +13 -17
- package/dist/prompts/prompt.cjs.map +1 -1
- package/dist/prompts/prompt.d.cts +1 -2
- package/dist/prompts/prompt.d.cts.map +1 -1
- package/dist/prompts/prompt.d.ts +1 -2
- package/dist/prompts/prompt.d.ts.map +1 -1
- package/dist/prompts/prompt.js +11 -15
- package/dist/prompts/prompt.js.map +1 -1
- package/dist/prompts/serde.d.cts +0 -1
- package/dist/prompts/serde.d.cts.map +1 -1
- package/dist/prompts/serde.d.ts +0 -2
- package/dist/prompts/serde.d.ts.map +1 -1
- package/dist/prompts/string.cjs +4 -6
- 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 +2 -4
- package/dist/prompts/string.js.map +1 -1
- package/dist/prompts/structured.cjs +3 -4
- package/dist/prompts/structured.cjs.map +1 -1
- package/dist/prompts/structured.d.cts +0 -1
- package/dist/prompts/structured.d.cts.map +1 -1
- package/dist/prompts/structured.d.ts +0 -1
- package/dist/prompts/structured.d.ts.map +1 -1
- package/dist/prompts/structured.js +1 -2
- package/dist/prompts/structured.js.map +1 -1
- package/dist/prompts/template.cjs +12 -23
- package/dist/prompts/template.cjs.map +1 -1
- package/dist/prompts/template.d.cts +0 -2
- package/dist/prompts/template.d.cts.map +1 -1
- package/dist/prompts/template.d.ts +0 -2
- package/dist/prompts/template.d.ts.map +1 -1
- package/dist/prompts/template.js +8 -20
- package/dist/prompts/template.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs +8 -10
- 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 +3 -5
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/index.cjs +13 -15
- package/dist/retrievers/index.cjs.map +1 -1
- package/dist/retrievers/index.d.cts +0 -1
- package/dist/retrievers/index.d.cts.map +1 -1
- package/dist/retrievers/index.d.ts +0 -2
- package/dist/retrievers/index.d.ts.map +1 -1
- package/dist/retrievers/index.js +4 -7
- package/dist/retrievers/index.js.map +1 -1
- package/dist/runnables/base.cjs +76 -100
- package/dist/runnables/base.cjs.map +1 -1
- package/dist/runnables/base.d.cts +46 -4
- package/dist/runnables/base.d.cts.map +1 -1
- package/dist/runnables/base.d.ts +46 -4
- package/dist/runnables/base.d.ts.map +1 -1
- package/dist/runnables/base.js +58 -82
- package/dist/runnables/base.js.map +1 -1
- package/dist/runnables/branch.cjs +8 -13
- package/dist/runnables/branch.cjs.map +1 -1
- package/dist/runnables/branch.d.cts +0 -1
- package/dist/runnables/branch.d.cts.map +1 -1
- package/dist/runnables/branch.d.ts +0 -2
- package/dist/runnables/branch.d.ts.map +1 -1
- package/dist/runnables/branch.js +5 -10
- package/dist/runnables/branch.js.map +1 -1
- package/dist/runnables/config.cjs +21 -16
- package/dist/runnables/config.cjs.map +1 -1
- package/dist/runnables/config.d.cts.map +1 -1
- package/dist/runnables/config.d.ts.map +1 -1
- package/dist/runnables/config.js +19 -13
- package/dist/runnables/config.js.map +1 -1
- package/dist/runnables/graph.cjs +19 -22
- package/dist/runnables/graph.cjs.map +1 -1
- package/dist/runnables/graph.d.cts.map +1 -1
- package/dist/runnables/graph.d.ts.map +1 -1
- package/dist/runnables/graph.js +6 -10
- package/dist/runnables/graph.js.map +1 -1
- package/dist/runnables/graph_mermaid.cjs +8 -12
- package/dist/runnables/graph_mermaid.cjs.map +1 -1
- package/dist/runnables/graph_mermaid.js +7 -11
- package/dist/runnables/graph_mermaid.js.map +1 -1
- package/dist/runnables/history.cjs +15 -17
- package/dist/runnables/history.cjs.map +1 -1
- package/dist/runnables/history.d.cts +5 -4
- package/dist/runnables/history.d.cts.map +1 -1
- package/dist/runnables/history.d.ts +5 -6
- package/dist/runnables/history.d.ts.map +1 -1
- package/dist/runnables/history.js +10 -12
- package/dist/runnables/history.js.map +1 -1
- package/dist/runnables/index.cjs +16 -17
- package/dist/runnables/index.js +3 -5
- package/dist/runnables/iter.cjs +21 -5
- package/dist/runnables/iter.cjs.map +1 -1
- package/dist/runnables/iter.js +17 -3
- package/dist/runnables/iter.js.map +1 -1
- package/dist/runnables/passthrough.cjs +5 -6
- package/dist/runnables/passthrough.cjs.map +1 -1
- package/dist/runnables/passthrough.d.cts.map +1 -1
- package/dist/runnables/passthrough.d.ts +0 -1
- package/dist/runnables/passthrough.d.ts.map +1 -1
- package/dist/runnables/passthrough.js +2 -3
- package/dist/runnables/passthrough.js.map +1 -1
- package/dist/runnables/router.cjs +5 -7
- package/dist/runnables/router.cjs.map +1 -1
- package/dist/runnables/router.d.cts.map +1 -1
- package/dist/runnables/router.d.ts +0 -1
- package/dist/runnables/router.d.ts.map +1 -1
- package/dist/runnables/router.js +3 -5
- package/dist/runnables/router.js.map +1 -1
- package/dist/runnables/types.d.cts +1 -2
- package/dist/runnables/types.d.cts.map +1 -1
- package/dist/runnables/types.d.ts +1 -2
- package/dist/runnables/types.d.ts.map +1 -1
- package/dist/runnables/utils.cjs +2 -4
- package/dist/runnables/utils.cjs.map +1 -1
- package/dist/runnables/utils.js +2 -3
- package/dist/runnables/utils.js.map +1 -1
- package/dist/runnables/wrappers.cjs +2 -3
- package/dist/runnables/wrappers.cjs.map +1 -1
- package/dist/runnables/wrappers.js +1 -2
- package/dist/runnables/wrappers.js.map +1 -1
- package/dist/singletons/async_local_storage/context.cjs +6 -8
- 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 +3 -5
- package/dist/singletons/async_local_storage/context.js.map +1 -1
- package/dist/singletons/async_local_storage/globals.cjs +1 -2
- 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 +8 -14
- package/dist/singletons/async_local_storage/index.cjs.map +1 -1
- package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
- package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
- package/dist/singletons/async_local_storage/index.js +4 -10
- package/dist/singletons/async_local_storage/index.js.map +1 -1
- package/dist/singletons/callbacks.cjs +7 -8
- package/dist/singletons/callbacks.cjs.map +1 -1
- package/dist/singletons/callbacks.d.cts +0 -1
- 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 +2 -4
- package/dist/singletons/callbacks.js.map +1 -1
- package/dist/singletons/index.cjs +11 -12
- package/dist/singletons/index.js +3 -5
- package/dist/singletons/tracer.cjs +5 -9
- package/dist/singletons/tracer.cjs.map +1 -1
- package/dist/singletons/tracer.js +2 -6
- package/dist/singletons/tracer.js.map +1 -1
- package/dist/stores.cjs +10 -11
- 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 +3 -5
- package/dist/stores.js.map +1 -1
- package/dist/structured_query/base.cjs +6 -7
- 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 +4 -5
- package/dist/structured_query/base.js.map +1 -1
- package/dist/structured_query/functional.cjs +7 -8
- 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 +4 -5
- package/dist/structured_query/functional.js.map +1 -1
- package/dist/structured_query/index.cjs +13 -14
- package/dist/structured_query/index.js +3 -5
- package/dist/structured_query/ir.cjs +1 -2
- 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 +1 -1
- package/dist/structured_query/ir.js.map +1 -1
- package/dist/structured_query/utils.cjs +1 -2
- 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 +1 -1
- package/dist/structured_query/utils.js.map +1 -1
- package/dist/testing/fake_model_builder.cjs +226 -0
- package/dist/testing/fake_model_builder.cjs.map +1 -0
- package/dist/testing/fake_model_builder.d.cts +137 -0
- package/dist/testing/fake_model_builder.d.cts.map +1 -0
- package/dist/testing/fake_model_builder.d.ts +137 -0
- package/dist/testing/fake_model_builder.d.ts.map +1 -0
- package/dist/testing/fake_model_builder.js +225 -0
- package/dist/testing/fake_model_builder.js.map +1 -0
- package/dist/testing/index.cjs +58 -0
- package/dist/testing/index.cjs.map +1 -0
- package/dist/testing/index.d.cts +5 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.js +32 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/matchers.cjs +214 -0
- package/dist/testing/matchers.cjs.map +1 -0
- package/dist/testing/matchers.d.cts +98 -0
- package/dist/testing/matchers.d.cts.map +1 -0
- package/dist/testing/matchers.d.ts +98 -0
- package/dist/testing/matchers.d.ts.map +1 -0
- package/dist/testing/matchers.js +204 -0
- package/dist/testing/matchers.js.map +1 -0
- package/dist/tools/index.cjs +51 -36
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.cts +31 -24
- package/dist/tools/index.d.cts.map +1 -1
- package/dist/tools/index.d.ts +31 -26
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +32 -18
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/types.cjs +3 -4
- package/dist/tools/types.cjs.map +1 -1
- package/dist/tools/types.d.cts +26 -11
- package/dist/tools/types.d.cts.map +1 -1
- package/dist/tools/types.d.ts +26 -13
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +1 -2
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.cjs +1 -2
- package/dist/tools/utils.cjs.map +1 -1
- package/dist/tools/utils.d.cts +0 -1
- package/dist/tools/utils.d.cts.map +1 -1
- package/dist/tools/utils.d.ts +0 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +1 -1
- package/dist/tools/utils.js.map +1 -1
- package/dist/tracers/base.cjs +20 -18
- package/dist/tracers/base.cjs.map +1 -1
- package/dist/tracers/base.d.cts +92 -98
- package/dist/tracers/base.d.cts.map +1 -1
- package/dist/tracers/base.d.ts +92 -98
- package/dist/tracers/base.d.ts.map +1 -1
- package/dist/tracers/base.js +11 -10
- package/dist/tracers/base.js.map +1 -1
- package/dist/tracers/console.cjs +44 -19
- 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 +35 -11
- package/dist/tracers/console.js.map +1 -1
- package/dist/tracers/event_stream.cjs +24 -10
- package/dist/tracers/event_stream.cjs.map +1 -1
- package/dist/tracers/event_stream.d.cts +7 -6
- package/dist/tracers/event_stream.d.cts.map +1 -1
- package/dist/tracers/event_stream.d.ts +7 -7
- package/dist/tracers/event_stream.d.ts.map +1 -1
- package/dist/tracers/event_stream.js +20 -6
- package/dist/tracers/event_stream.js.map +1 -1
- package/dist/tracers/log_stream.cjs +15 -16
- package/dist/tracers/log_stream.cjs.map +1 -1
- package/dist/tracers/log_stream.d.cts +14 -31
- package/dist/tracers/log_stream.d.cts.map +1 -1
- package/dist/tracers/log_stream.d.ts +14 -31
- package/dist/tracers/log_stream.d.ts.map +1 -1
- package/dist/tracers/log_stream.js +5 -7
- package/dist/tracers/log_stream.js.map +1 -1
- package/dist/tracers/root_listener.cjs +2 -3
- package/dist/tracers/root_listener.cjs.map +1 -1
- package/dist/tracers/root_listener.js +1 -2
- package/dist/tracers/root_listener.js.map +1 -1
- package/dist/tracers/run_collector.cjs +10 -11
- package/dist/tracers/run_collector.cjs.map +1 -1
- package/dist/tracers/run_collector.d.cts +0 -1
- package/dist/tracers/run_collector.d.cts.map +1 -1
- package/dist/tracers/run_collector.d.ts +0 -1
- package/dist/tracers/run_collector.d.ts.map +1 -1
- package/dist/tracers/run_collector.js +3 -5
- package/dist/tracers/run_collector.js.map +1 -1
- package/dist/tracers/tracer_langchain.cjs +112 -20
- package/dist/tracers/tracer_langchain.cjs.map +1 -1
- package/dist/tracers/tracer_langchain.d.cts +28 -2
- package/dist/tracers/tracer_langchain.d.cts.map +1 -1
- package/dist/tracers/tracer_langchain.d.ts +28 -2
- package/dist/tracers/tracer_langchain.d.ts.map +1 -1
- package/dist/tracers/tracer_langchain.js +102 -12
- 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.cjs +8 -8
- package/dist/types/stream.js +3 -2
- package/dist/types/type-utils.d.cts +2 -1
- package/dist/types/type-utils.d.cts.map +1 -1
- package/dist/types/type-utils.d.ts +2 -1
- package/dist/types/type-utils.d.ts.map +1 -1
- package/dist/utils/async_caller.cjs +28 -20
- 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 +18 -12
- package/dist/utils/async_caller.js.map +1 -1
- package/dist/utils/callbacks.cjs +4 -6
- package/dist/utils/callbacks.cjs.map +1 -1
- package/dist/utils/callbacks.js +3 -5
- package/dist/utils/callbacks.js.map +1 -1
- package/dist/utils/chunk_array.cjs +9 -12
- 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 +4 -7
- package/dist/utils/chunk_array.js.map +1 -1
- package/dist/utils/context.cjs +104 -0
- package/dist/utils/context.cjs.map +1 -0
- package/dist/utils/context.d.cts +44 -0
- package/dist/utils/context.d.cts.map +1 -0
- package/dist/utils/context.d.ts +44 -0
- package/dist/utils/context.d.ts.map +1 -0
- package/dist/utils/context.js +98 -0
- package/dist/utils/context.js.map +1 -0
- package/dist/utils/env.cjs +14 -19
- 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 +9 -14
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/event_source_parse.cjs +15 -23
- package/dist/utils/event_source_parse.cjs.map +1 -1
- package/dist/utils/event_source_parse.d.cts +2 -2
- package/dist/utils/event_source_parse.d.cts.map +1 -1
- package/dist/utils/event_source_parse.d.ts +2 -2
- package/dist/utils/event_source_parse.d.ts.map +1 -1
- package/dist/utils/event_source_parse.js +8 -17
- package/dist/utils/event_source_parse.js.map +1 -1
- package/dist/utils/fast-json-patch/index.cjs +5 -13
- package/dist/utils/fast-json-patch/index.cjs.map +1 -1
- package/dist/utils/fast-json-patch/index.js +6 -13
- package/dist/utils/fast-json-patch/index.js.map +1 -1
- package/dist/utils/fast-json-patch/src/core.cjs +16 -28
- package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/core.d.cts +0 -1
- package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
- package/dist/utils/fast-json-patch/src/core.d.ts +0 -1
- package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
- package/dist/utils/fast-json-patch/src/core.js +10 -22
- package/dist/utils/fast-json-patch/src/core.js.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.cjs +8 -7
- 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 +6 -5
- package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.cjs +5 -6
- package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.js +5 -5
- package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
- package/dist/utils/format.cjs +8 -8
- package/dist/utils/format.d.cts.map +1 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +3 -2
- package/dist/utils/function_calling.cjs +11 -12
- 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 +3 -5
- package/dist/utils/function_calling.js.map +1 -1
- package/dist/utils/hash.cjs +10 -11
- 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/hash.js +3 -5
- package/dist/utils/is-network-error/index.cjs +3 -5
- package/dist/utils/is-network-error/index.cjs.map +1 -1
- package/dist/utils/is-network-error/index.js +3 -4
- package/dist/utils/is-network-error/index.js.map +1 -1
- package/dist/utils/js-sha256/hash.cjs +42 -37
- 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 +42 -36
- package/dist/utils/js-sha256/hash.js.map +1 -1
- package/dist/utils/json.cjs +1 -2
- 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_patch.cjs +12 -13
- package/dist/utils/json_patch.js +3 -5
- package/dist/utils/json_schema.cjs +60 -37
- package/dist/utils/json_schema.cjs.map +1 -1
- package/dist/utils/json_schema.d.cts +4 -2
- package/dist/utils/json_schema.d.cts.map +1 -1
- package/dist/utils/json_schema.d.ts +4 -3
- package/dist/utils/json_schema.d.ts.map +1 -1
- package/dist/utils/json_schema.js +36 -14
- package/dist/utils/json_schema.js.map +1 -1
- package/dist/utils/math.cjs +16 -18
- 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 +9 -12
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/ml-distance/distances.cjs +1 -2
- package/dist/utils/ml-distance/distances.cjs.map +1 -1
- package/dist/utils/ml-distance/distances.js +1 -1
- package/dist/utils/ml-distance/distances.js.map +1 -1
- package/dist/utils/ml-distance/similarities.cjs +1 -2
- 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 +1 -1
- package/dist/utils/ml-distance/similarities.js.map +1 -1
- package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
- 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 +62 -0
- package/dist/utils/namespace.cjs.map +1 -0
- package/dist/utils/namespace.d.cts +73 -0
- package/dist/utils/namespace.d.cts.map +1 -0
- package/dist/utils/namespace.d.ts +73 -0
- package/dist/utils/namespace.d.ts.map +1 -0
- package/dist/utils/namespace.js +62 -0
- package/dist/utils/namespace.js.map +1 -0
- package/dist/utils/p-retry/index.cjs +4 -5
- package/dist/utils/p-retry/index.cjs.map +1 -1
- package/dist/utils/p-retry/index.js +3 -4
- package/dist/utils/p-retry/index.js.map +1 -1
- package/dist/utils/sax-js/sax.cjs +29 -36
- package/dist/utils/sax-js/sax.cjs.map +1 -1
- package/dist/utils/sax-js/sax.js +29 -35
- package/dist/utils/sax-js/sax.js.map +1 -1
- package/dist/utils/signal.cjs +3 -4
- 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 +3 -3
- package/dist/utils/signal.js.map +1 -1
- package/dist/utils/ssrf.cjs +267 -0
- package/dist/utils/ssrf.cjs.map +1 -0
- package/dist/utils/ssrf.d.cts +52 -0
- package/dist/utils/ssrf.d.cts.map +1 -0
- package/dist/utils/ssrf.d.ts +52 -0
- package/dist/utils/ssrf.d.ts.map +1 -0
- package/dist/utils/ssrf.js +256 -0
- package/dist/utils/ssrf.js.map +1 -0
- package/dist/utils/standard_schema.cjs +41 -0
- package/dist/utils/standard_schema.cjs.map +1 -0
- package/dist/utils/standard_schema.d.cts +27 -0
- package/dist/utils/standard_schema.d.cts.map +1 -0
- package/dist/utils/standard_schema.d.ts +27 -0
- package/dist/utils/standard_schema.d.ts.map +1 -0
- package/dist/utils/standard_schema.js +33 -0
- package/dist/utils/standard_schema.js.map +1 -0
- package/dist/utils/stream.cjs +15 -16
- package/dist/utils/stream.cjs.map +1 -1
- package/dist/utils/stream.d.cts.map +1 -1
- package/dist/utils/stream.d.ts.map +1 -1
- package/dist/utils/stream.js +5 -7
- package/dist/utils/stream.js.map +1 -1
- package/dist/utils/testing/chat_models.cjs +10 -13
- package/dist/utils/testing/chat_models.cjs.map +1 -1
- package/dist/utils/testing/chat_models.d.cts.map +1 -1
- package/dist/utils/testing/chat_models.d.ts +0 -1
- package/dist/utils/testing/chat_models.d.ts.map +1 -1
- package/dist/utils/testing/chat_models.js +4 -7
- package/dist/utils/testing/chat_models.js.map +1 -1
- package/dist/utils/testing/embeddings.cjs +4 -7
- 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 +3 -6
- package/dist/utils/testing/embeddings.js.map +1 -1
- package/dist/utils/testing/index.cjs +36 -21
- package/dist/utils/testing/index.cjs.map +1 -1
- package/dist/utils/testing/index.d.cts +3 -1
- package/dist/utils/testing/index.d.ts +3 -1
- package/dist/utils/testing/index.js +14 -7
- package/dist/utils/testing/index.js.map +1 -1
- package/dist/utils/testing/llms.cjs +2 -3
- package/dist/utils/testing/llms.cjs.map +1 -1
- package/dist/utils/testing/llms.d.cts.map +1 -1
- package/dist/utils/testing/llms.d.ts.map +1 -1
- package/dist/utils/testing/llms.js +1 -2
- package/dist/utils/testing/llms.js.map +1 -1
- package/dist/utils/testing/message_history.cjs +6 -7
- package/dist/utils/testing/message_history.cjs.map +1 -1
- package/dist/utils/testing/message_history.d.cts.map +1 -1
- package/dist/utils/testing/message_history.d.ts +0 -1
- package/dist/utils/testing/message_history.d.ts.map +1 -1
- package/dist/utils/testing/message_history.js +2 -3
- package/dist/utils/testing/message_history.js.map +1 -1
- package/dist/utils/testing/openai_stream_fixtures.cjs +160 -0
- package/dist/utils/testing/openai_stream_fixtures.cjs.map +1 -0
- package/dist/utils/testing/openai_stream_fixtures.d.cts +12 -0
- package/dist/utils/testing/openai_stream_fixtures.d.cts.map +1 -0
- package/dist/utils/testing/openai_stream_fixtures.d.ts +12 -0
- package/dist/utils/testing/openai_stream_fixtures.d.ts.map +1 -0
- package/dist/utils/testing/openai_stream_fixtures.js +155 -0
- package/dist/utils/testing/openai_stream_fixtures.js.map +1 -0
- package/dist/utils/testing/output_parsers.cjs +2 -3
- 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 +1 -2
- package/dist/utils/testing/output_parsers.js.map +1 -1
- package/dist/utils/testing/retrievers.cjs +3 -4
- package/dist/utils/testing/retrievers.cjs.map +1 -1
- package/dist/utils/testing/retrievers.d.cts.map +1 -1
- package/dist/utils/testing/retrievers.d.ts.map +1 -1
- package/dist/utils/testing/retrievers.js +2 -3
- package/dist/utils/testing/retrievers.js.map +1 -1
- package/dist/utils/testing/runnables.cjs +2 -3
- package/dist/utils/testing/runnables.cjs.map +1 -1
- package/dist/utils/testing/runnables.d.cts.map +1 -1
- package/dist/utils/testing/runnables.d.ts.map +1 -1
- package/dist/utils/testing/runnables.js +1 -2
- package/dist/utils/testing/runnables.js.map +1 -1
- package/dist/utils/testing/stream.cjs +136 -0
- package/dist/utils/testing/stream.cjs.map +1 -0
- package/dist/utils/testing/stream.d.cts +96 -0
- package/dist/utils/testing/stream.d.cts.map +1 -0
- package/dist/utils/testing/stream.d.ts +96 -0
- package/dist/utils/testing/stream.d.ts.map +1 -0
- package/dist/utils/testing/stream.js +136 -0
- package/dist/utils/testing/stream.js.map +1 -0
- package/dist/utils/testing/tools.cjs +2 -3
- package/dist/utils/testing/tools.cjs.map +1 -1
- package/dist/utils/testing/tools.d.cts.map +1 -1
- package/dist/utils/testing/tools.d.ts.map +1 -1
- package/dist/utils/testing/tools.js +1 -2
- package/dist/utils/testing/tools.js.map +1 -1
- package/dist/utils/testing/tracers.cjs +2 -3
- package/dist/utils/testing/tracers.cjs.map +1 -1
- package/dist/utils/testing/tracers.d.cts.map +1 -1
- package/dist/utils/testing/tracers.d.ts.map +1 -1
- package/dist/utils/testing/tracers.js +1 -2
- package/dist/utils/testing/tracers.js.map +1 -1
- package/dist/utils/testing/vectorstores.cjs +10 -15
- package/dist/utils/testing/vectorstores.cjs.map +1 -1
- package/dist/utils/testing/vectorstores.d.cts +0 -1
- package/dist/utils/testing/vectorstores.d.cts.map +1 -1
- package/dist/utils/testing/vectorstores.d.ts +0 -1
- package/dist/utils/testing/vectorstores.d.ts.map +1 -1
- package/dist/utils/testing/vectorstores.js +8 -13
- package/dist/utils/testing/vectorstores.js.map +1 -1
- package/dist/utils/tiktoken.cjs +11 -12
- package/dist/utils/tiktoken.cjs.map +1 -1
- package/dist/utils/tiktoken.d.cts.map +1 -1
- package/dist/utils/tiktoken.d.ts.map +1 -1
- package/dist/utils/tiktoken.js +3 -5
- package/dist/utils/tiktoken.js.map +1 -1
- package/dist/utils/types/index.cjs +10 -11
- package/dist/utils/types/index.cjs.map +1 -1
- package/dist/utils/types/index.d.cts +2 -3
- package/dist/utils/types/index.d.cts.map +1 -1
- package/dist/utils/types/index.d.ts +2 -3
- package/dist/utils/types/index.d.ts.map +1 -1
- package/dist/utils/types/index.js +3 -5
- package/dist/utils/types/index.js.map +1 -1
- package/dist/utils/types/zod.cjs +20 -36
- package/dist/utils/types/zod.cjs.map +1 -1
- package/dist/utils/types/zod.d.cts +144 -33
- package/dist/utils/types/zod.d.cts.map +1 -1
- package/dist/utils/types/zod.d.ts +144 -33
- package/dist/utils/types/zod.d.ts.map +1 -1
- package/dist/utils/types/zod.js +18 -34
- package/dist/utils/types/zod.js.map +1 -1
- package/dist/utils/uuid/index.cjs +58 -0
- package/dist/utils/uuid/index.cjs.map +1 -0
- package/dist/utils/uuid/index.d.cts +26 -0
- package/dist/utils/uuid/index.d.cts.map +1 -0
- package/dist/utils/uuid/index.d.ts +26 -0
- package/dist/utils/uuid/index.d.ts.map +1 -0
- package/dist/utils/uuid/index.js +41 -0
- package/dist/utils/uuid/index.js.map +1 -0
- package/dist/utils/uuid/max.cjs +6 -0
- package/dist/utils/uuid/max.cjs.map +1 -0
- package/dist/utils/uuid/max.js +6 -0
- package/dist/utils/uuid/max.js.map +1 -0
- package/dist/utils/uuid/nil.cjs +6 -0
- package/dist/utils/uuid/nil.cjs.map +1 -0
- package/dist/utils/uuid/nil.js +6 -0
- package/dist/utils/uuid/nil.js.map +1 -0
- package/dist/utils/uuid/parse.cjs +11 -0
- package/dist/utils/uuid/parse.cjs.map +1 -0
- package/dist/utils/uuid/parse.d.cts +7 -0
- package/dist/utils/uuid/parse.d.cts.map +1 -0
- package/dist/utils/uuid/parse.d.ts +7 -0
- package/dist/utils/uuid/parse.d.ts.map +1 -0
- package/dist/utils/uuid/parse.js +11 -0
- package/dist/utils/uuid/parse.js.map +1 -0
- package/dist/utils/uuid/regex.cjs +6 -0
- package/dist/utils/uuid/regex.cjs.map +1 -0
- package/dist/utils/uuid/regex.js +6 -0
- package/dist/utils/uuid/regex.js.map +1 -0
- package/dist/utils/uuid/rng.cjs +9 -0
- package/dist/utils/uuid/rng.cjs.map +1 -0
- package/dist/utils/uuid/rng.js +9 -0
- package/dist/utils/uuid/rng.js.map +1 -0
- package/dist/utils/uuid/sha1.cjs +71 -0
- package/dist/utils/uuid/sha1.cjs.map +1 -0
- package/dist/utils/uuid/sha1.js +71 -0
- package/dist/utils/uuid/sha1.js.map +1 -0
- package/dist/utils/uuid/stringify.cjs +21 -0
- package/dist/utils/uuid/stringify.cjs.map +1 -0
- package/dist/utils/uuid/stringify.d.cts +5 -0
- package/dist/utils/uuid/stringify.d.cts.map +1 -0
- package/dist/utils/uuid/stringify.d.ts +5 -0
- package/dist/utils/uuid/stringify.d.ts.map +1 -0
- package/dist/utils/uuid/stringify.js +20 -0
- package/dist/utils/uuid/stringify.js.map +1 -0
- package/dist/utils/uuid/types.d.cts +26 -0
- package/dist/utils/uuid/types.d.cts.map +1 -0
- package/dist/utils/uuid/types.d.ts +26 -0
- package/dist/utils/uuid/types.d.ts.map +1 -0
- package/dist/utils/uuid/v1.cjs +69 -0
- package/dist/utils/uuid/v1.cjs.map +1 -0
- package/dist/utils/uuid/v1.d.cts +8 -0
- package/dist/utils/uuid/v1.d.cts.map +1 -0
- package/dist/utils/uuid/v1.d.ts +8 -0
- package/dist/utils/uuid/v1.d.ts.map +1 -0
- package/dist/utils/uuid/v1.js +69 -0
- package/dist/utils/uuid/v1.js.map +1 -0
- package/dist/utils/uuid/v1ToV6.cjs +14 -0
- package/dist/utils/uuid/v1ToV6.cjs.map +1 -0
- package/dist/utils/uuid/v1ToV6.js +14 -0
- package/dist/utils/uuid/v1ToV6.js.map +1 -0
- package/dist/utils/uuid/v35.cjs +36 -0
- package/dist/utils/uuid/v35.cjs.map +1 -0
- package/dist/utils/uuid/v35.js +34 -0
- package/dist/utils/uuid/v35.js.map +1 -0
- package/dist/utils/uuid/v4.cjs +25 -0
- package/dist/utils/uuid/v4.cjs.map +1 -0
- package/dist/utils/uuid/v4.d.cts +8 -0
- package/dist/utils/uuid/v4.d.cts.map +1 -0
- package/dist/utils/uuid/v4.d.ts +8 -0
- package/dist/utils/uuid/v4.d.ts.map +1 -0
- package/dist/utils/uuid/v4.js +25 -0
- package/dist/utils/uuid/v4.js.map +1 -0
- package/dist/utils/uuid/v5.cjs +12 -0
- package/dist/utils/uuid/v5.cjs.map +1 -0
- package/dist/utils/uuid/v5.d.cts +14 -0
- package/dist/utils/uuid/v5.d.cts.map +1 -0
- package/dist/utils/uuid/v5.d.ts +14 -0
- package/dist/utils/uuid/v5.d.ts.map +1 -0
- package/dist/utils/uuid/v5.js +12 -0
- package/dist/utils/uuid/v5.js.map +1 -0
- package/dist/utils/uuid/v6.cjs +23 -0
- package/dist/utils/uuid/v6.cjs.map +1 -0
- package/dist/utils/uuid/v6.d.cts +8 -0
- package/dist/utils/uuid/v6.d.cts.map +1 -0
- package/dist/utils/uuid/v6.d.ts +8 -0
- package/dist/utils/uuid/v6.d.ts.map +1 -0
- package/dist/utils/uuid/v6.js +23 -0
- package/dist/utils/uuid/v6.js.map +1 -0
- package/dist/utils/uuid/v7.cjs +57 -0
- package/dist/utils/uuid/v7.cjs.map +1 -0
- package/dist/utils/uuid/v7.d.cts +8 -0
- package/dist/utils/uuid/v7.d.cts.map +1 -0
- package/dist/utils/uuid/v7.d.ts +8 -0
- package/dist/utils/uuid/v7.d.ts.map +1 -0
- package/dist/utils/uuid/v7.js +57 -0
- package/dist/utils/uuid/v7.js.map +1 -0
- package/dist/utils/uuid/validate.cjs +9 -0
- package/dist/utils/uuid/validate.cjs.map +1 -0
- package/dist/utils/uuid/validate.d.cts +5 -0
- package/dist/utils/uuid/validate.d.cts.map +1 -0
- package/dist/utils/uuid/validate.d.ts +5 -0
- package/dist/utils/uuid/validate.d.ts.map +1 -0
- package/dist/utils/uuid/validate.js +9 -0
- package/dist/utils/uuid/validate.js.map +1 -0
- package/dist/utils/uuid/version.cjs +10 -0
- package/dist/utils/uuid/version.cjs.map +1 -0
- package/dist/utils/uuid/version.d.cts +5 -0
- package/dist/utils/uuid/version.d.cts.map +1 -0
- package/dist/utils/uuid/version.d.ts +5 -0
- package/dist/utils/uuid/version.d.ts.map +1 -0
- package/dist/utils/uuid/version.js +10 -0
- package/dist/utils/uuid/version.js.map +1 -0
- package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
- package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/Options.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/Options.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/Options.js +1 -1
- package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
- package/dist/utils/zod-to-json-schema/Refs.cjs +2 -3
- package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/Refs.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/Refs.js +1 -2
- package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
- package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.cts +0 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.js +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
- package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
- package/dist/utils/zod-to-json-schema/index.cjs +37 -37
- package/dist/utils/zod-to-json-schema/index.d.cts +24 -0
- package/dist/utils/zod-to-json-schema/index.d.ts +1 -14
- package/dist/utils/zod-to-json-schema/index.js +38 -37
- package/dist/utils/zod-to-json-schema/parseDef.cjs +5 -6
- package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parseDef.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parseDef.js +1 -2
- package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
- package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.cjs +5 -6
- package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
- 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 +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 +2 -3
- package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.d.cts +0 -2
- 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 +0 -4
- package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/default.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/default.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/default.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.cjs +3 -4
- package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/effects.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.js +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 +3 -4
- package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.js +2 -3
- package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.js +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 +21 -24
- package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.d.cts +0 -2
- 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 +0 -4
- package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.js +18 -21
- package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +3 -5
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +3 -4
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.d.cts +0 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.js +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 +8 -9
- package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.js +6 -7
- package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.cjs +3 -4
- package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/optional.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +4 -6
- package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -4
- package/dist/utils/zod-to-json-schema/parsers/pipeline.js +3 -5
- package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.cjs +9 -10
- package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.js +3 -4
- package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.cjs +7 -9
- package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.js +5 -7
- package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.cjs +28 -3
- package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -2
- 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 +0 -4
- package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.js +27 -2
- package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +0 -1
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +0 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.cjs +5 -9
- package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.d.cts +1 -2
- 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 +0 -3
- package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.js +4 -8
- package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +0 -1
- 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 +0 -2
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
- package/dist/utils/zod-to-json-schema/selectParser.cjs +34 -35
- package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/selectParser.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/selectParser.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/selectParser.js +2 -3
- package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +7 -8
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.cts +1 -0
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +4 -5
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/dist/vectorstores.cjs +12 -14
- 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 +4 -7
- package/dist/vectorstores.js.map +1 -1
- package/document_loaders/base.cjs +1 -0
- package/document_loaders/base.d.cts +1 -0
- package/document_loaders/base.d.ts +1 -0
- package/document_loaders/base.js +1 -0
- package/document_loaders/langsmith.cjs +1 -0
- package/document_loaders/langsmith.d.cts +1 -0
- package/document_loaders/langsmith.d.ts +1 -0
- package/document_loaders/langsmith.js +1 -0
- package/documents.cjs +1 -0
- package/documents.d.cts +1 -0
- package/documents.d.ts +1 -0
- package/documents.js +1 -0
- package/embeddings.cjs +1 -0
- package/embeddings.d.cts +1 -0
- package/embeddings.d.ts +1 -0
- package/embeddings.js +1 -0
- package/errors.cjs +1 -0
- package/errors.d.cts +1 -0
- package/errors.d.ts +1 -0
- package/errors.js +1 -0
- package/example_selectors.cjs +1 -0
- package/example_selectors.d.cts +1 -0
- package/example_selectors.d.ts +1 -0
- package/example_selectors.js +1 -0
- package/indexing.cjs +1 -0
- package/indexing.d.cts +1 -0
- package/indexing.d.ts +1 -0
- package/indexing.js +1 -0
- package/language_models/base.cjs +1 -0
- package/language_models/base.d.cts +1 -0
- package/language_models/base.d.ts +1 -0
- package/language_models/base.js +1 -0
- package/language_models/chat_models.cjs +1 -0
- package/language_models/chat_models.d.cts +1 -0
- package/language_models/chat_models.d.ts +1 -0
- package/language_models/chat_models.js +1 -0
- package/language_models/compat.cjs +1 -0
- package/language_models/compat.d.cts +1 -0
- package/language_models/compat.d.ts +1 -0
- package/language_models/compat.js +1 -0
- package/language_models/event.cjs +1 -0
- package/language_models/event.d.cts +1 -0
- package/language_models/event.d.ts +1 -0
- package/language_models/event.js +1 -0
- package/language_models/llms.cjs +1 -0
- package/language_models/llms.d.cts +1 -0
- package/language_models/llms.d.ts +1 -0
- package/language_models/llms.js +1 -0
- package/language_models/openai_completions_stream.cjs +1 -0
- package/language_models/openai_completions_stream.d.cts +1 -0
- package/language_models/openai_completions_stream.d.ts +1 -0
- package/language_models/openai_completions_stream.js +1 -0
- package/language_models/profile.cjs +1 -0
- package/language_models/profile.d.cts +1 -0
- package/language_models/profile.d.ts +1 -0
- package/language_models/profile.js +1 -0
- package/language_models/stream.cjs +1 -0
- package/language_models/stream.d.cts +1 -0
- package/language_models/stream.d.ts +1 -0
- package/language_models/stream.js +1 -0
- package/language_models/structured_output.cjs +1 -0
- package/language_models/structured_output.d.cts +1 -0
- package/language_models/structured_output.d.ts +1 -0
- package/language_models/structured_output.js +1 -0
- package/load/serializable.cjs +1 -0
- package/load/serializable.d.cts +1 -0
- package/load/serializable.d.ts +1 -0
- package/load/serializable.js +1 -0
- package/load.cjs +1 -0
- package/load.d.cts +1 -0
- package/load.d.ts +1 -0
- package/load.js +1 -0
- package/memory.cjs +1 -0
- package/memory.d.cts +1 -0
- package/memory.d.ts +1 -0
- package/memory.js +1 -0
- package/messages/tool.cjs +1 -0
- package/messages/tool.d.cts +1 -0
- package/messages/tool.d.ts +1 -0
- package/messages/tool.js +1 -0
- package/messages.cjs +1 -0
- package/messages.d.cts +1 -0
- package/messages.d.ts +1 -0
- package/messages.js +1 -0
- package/output_parsers/openai_functions.cjs +1 -0
- package/output_parsers/openai_functions.d.cts +1 -0
- package/output_parsers/openai_functions.d.ts +1 -0
- package/output_parsers/openai_functions.js +1 -0
- package/output_parsers/openai_tools.cjs +1 -0
- package/output_parsers/openai_tools.d.cts +1 -0
- package/output_parsers/openai_tools.d.ts +1 -0
- package/output_parsers/openai_tools.js +1 -0
- package/output_parsers.cjs +1 -0
- package/output_parsers.d.cts +1 -0
- package/output_parsers.d.ts +1 -0
- package/output_parsers.js +1 -0
- package/outputs.cjs +1 -0
- package/outputs.d.cts +1 -0
- package/outputs.d.ts +1 -0
- package/outputs.js +1 -0
- package/package.json +144 -27
- package/prompt_values.cjs +1 -0
- package/prompt_values.d.cts +1 -0
- package/prompt_values.d.ts +1 -0
- package/prompt_values.js +1 -0
- package/prompts.cjs +1 -0
- package/prompts.d.cts +1 -0
- package/prompts.d.ts +1 -0
- package/prompts.js +1 -0
- package/retrievers/document_compressors.cjs +1 -0
- package/retrievers/document_compressors.d.cts +1 -0
- package/retrievers/document_compressors.d.ts +1 -0
- package/retrievers/document_compressors.js +1 -0
- package/retrievers.cjs +1 -0
- package/retrievers.d.cts +1 -0
- package/retrievers.d.ts +1 -0
- package/retrievers.js +1 -0
- package/runnables/graph.cjs +1 -0
- package/runnables/graph.d.cts +1 -0
- package/runnables/graph.d.ts +1 -0
- package/runnables/graph.js +1 -0
- package/runnables.cjs +1 -0
- package/runnables.d.cts +1 -0
- package/runnables.d.ts +1 -0
- package/runnables.js +1 -0
- package/singletons.cjs +1 -0
- package/singletons.d.cts +1 -0
- package/singletons.d.ts +1 -0
- package/singletons.js +1 -0
- package/stores.cjs +1 -0
- package/stores.d.cts +1 -0
- package/stores.d.ts +1 -0
- package/stores.js +1 -0
- package/structured_query.cjs +1 -0
- package/structured_query.d.cts +1 -0
- package/structured_query.d.ts +1 -0
- package/structured_query.js +1 -0
- package/testing.cjs +1 -0
- package/testing.d.cts +1 -0
- package/testing.d.ts +1 -0
- package/testing.js +1 -0
- package/tools.cjs +1 -0
- package/tools.d.cts +1 -0
- package/tools.d.ts +1 -0
- package/tools.js +1 -0
- package/tracers/base.cjs +1 -0
- package/tracers/base.d.cts +1 -0
- package/tracers/base.d.ts +1 -0
- package/tracers/base.js +1 -0
- package/tracers/console.cjs +1 -0
- package/tracers/console.d.cts +1 -0
- package/tracers/console.d.ts +1 -0
- package/tracers/console.js +1 -0
- package/tracers/log_stream.cjs +1 -0
- package/tracers/log_stream.d.cts +1 -0
- package/tracers/log_stream.d.ts +1 -0
- package/tracers/log_stream.js +1 -0
- package/tracers/run_collector.cjs +1 -0
- package/tracers/run_collector.d.cts +1 -0
- package/tracers/run_collector.d.ts +1 -0
- package/tracers/run_collector.js +1 -0
- package/tracers/tracer_langchain.cjs +1 -0
- package/tracers/tracer_langchain.d.cts +1 -0
- package/tracers/tracer_langchain.d.ts +1 -0
- package/tracers/tracer_langchain.js +1 -0
- package/types/stream.cjs +1 -0
- package/types/stream.d.cts +1 -0
- package/types/stream.d.ts +1 -0
- package/types/stream.js +1 -0
- package/utils/async_caller.cjs +1 -0
- package/utils/async_caller.d.cts +1 -0
- package/utils/async_caller.d.ts +1 -0
- package/utils/async_caller.js +1 -0
- package/utils/chunk_array.cjs +1 -0
- package/utils/chunk_array.d.cts +1 -0
- package/utils/chunk_array.d.ts +1 -0
- package/utils/chunk_array.js +1 -0
- package/utils/context.cjs +1 -0
- package/utils/context.d.cts +1 -0
- package/utils/context.d.ts +1 -0
- package/utils/context.js +1 -0
- package/utils/env.cjs +1 -0
- package/utils/env.d.cts +1 -0
- package/utils/env.d.ts +1 -0
- package/utils/env.js +1 -0
- package/utils/event_source_parse.cjs +1 -0
- package/utils/event_source_parse.d.cts +1 -0
- package/utils/event_source_parse.d.ts +1 -0
- package/utils/event_source_parse.js +1 -0
- package/utils/format.cjs +1 -0
- package/utils/format.d.cts +1 -0
- package/utils/format.d.ts +1 -0
- package/utils/format.js +1 -0
- package/utils/function_calling.cjs +1 -0
- package/utils/function_calling.d.cts +1 -0
- package/utils/function_calling.d.ts +1 -0
- package/utils/function_calling.js +1 -0
- package/utils/hash.cjs +1 -0
- package/utils/hash.d.cts +1 -0
- package/utils/hash.d.ts +1 -0
- package/utils/hash.js +1 -0
- package/utils/json_patch.cjs +1 -0
- package/utils/json_patch.d.cts +1 -0
- package/utils/json_patch.d.ts +1 -0
- package/utils/json_patch.js +1 -0
- package/utils/json_schema.cjs +1 -0
- package/utils/json_schema.d.cts +1 -0
- package/utils/json_schema.d.ts +1 -0
- package/utils/json_schema.js +1 -0
- package/utils/math.cjs +1 -0
- package/utils/math.d.cts +1 -0
- package/utils/math.d.ts +1 -0
- package/utils/math.js +1 -0
- package/utils/ssrf.cjs +1 -0
- package/utils/ssrf.d.cts +1 -0
- package/utils/ssrf.d.ts +1 -0
- package/utils/ssrf.js +1 -0
- package/utils/standard_schema.cjs +1 -0
- package/utils/standard_schema.d.cts +1 -0
- package/utils/standard_schema.d.ts +1 -0
- package/utils/standard_schema.js +1 -0
- package/utils/stream.cjs +1 -0
- package/utils/stream.d.cts +1 -0
- package/utils/stream.d.ts +1 -0
- package/utils/stream.js +1 -0
- package/utils/testing.cjs +1 -0
- package/utils/testing.d.cts +1 -0
- package/utils/testing.d.ts +1 -0
- package/utils/testing.js +1 -0
- package/utils/tiktoken.cjs +1 -0
- package/utils/tiktoken.d.cts +1 -0
- package/utils/tiktoken.d.ts +1 -0
- package/utils/tiktoken.js +1 -0
- package/utils/types.cjs +1 -0
- package/utils/types.d.cts +1 -0
- package/utils/types.d.ts +1 -0
- package/utils/types.js +1 -0
- package/utils/uuid.cjs +1 -0
- package/utils/uuid.d.cts +1 -0
- package/utils/uuid.d.ts +1 -0
- package/utils/uuid.js +1 -0
- package/vectorstores.cjs +1 -0
- package/vectorstores.d.cts +1 -0
- package/vectorstores.d.ts +1 -0
- package/vectorstores.js +1 -0
- package/dist/_virtual/rolldown_runtime.js +0 -11
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/utils/ssrf.ts
|
|
3
|
+
var ssrf_exports = /* @__PURE__ */ require("../_virtual/_rolldown/runtime.cjs").__exportAll({
|
|
4
|
+
isCloudMetadata: () => isCloudMetadata,
|
|
5
|
+
isLocalhost: () => isLocalhost,
|
|
6
|
+
isPrivateIp: () => isPrivateIp,
|
|
7
|
+
isSafeUrl: () => isSafeUrl,
|
|
8
|
+
isSameOrigin: () => isSameOrigin,
|
|
9
|
+
validateSafeUrl: () => validateSafeUrl
|
|
10
|
+
});
|
|
11
|
+
const PRIVATE_IP_RANGES = [
|
|
12
|
+
"10.0.0.0/8",
|
|
13
|
+
"172.16.0.0/12",
|
|
14
|
+
"192.168.0.0/16",
|
|
15
|
+
"127.0.0.0/8",
|
|
16
|
+
"169.254.0.0/16",
|
|
17
|
+
"0.0.0.0/8",
|
|
18
|
+
"::1/128",
|
|
19
|
+
"fc00::/7",
|
|
20
|
+
"fe80::/10",
|
|
21
|
+
"ff00::/8"
|
|
22
|
+
];
|
|
23
|
+
const CLOUD_METADATA_IPS = [
|
|
24
|
+
"169.254.169.254",
|
|
25
|
+
"169.254.170.2",
|
|
26
|
+
"100.100.100.200"
|
|
27
|
+
];
|
|
28
|
+
const CLOUD_METADATA_HOSTNAMES = [
|
|
29
|
+
"metadata.google.internal",
|
|
30
|
+
"metadata",
|
|
31
|
+
"instance-data"
|
|
32
|
+
];
|
|
33
|
+
const LOCALHOST_NAMES = ["localhost", "localhost.localdomain"];
|
|
34
|
+
/**
|
|
35
|
+
* IPv4 regex: four octets 0-255
|
|
36
|
+
*/
|
|
37
|
+
const IPV4_REGEX = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a string is a valid IPv4 address.
|
|
40
|
+
*/
|
|
41
|
+
function isIPv4(ip) {
|
|
42
|
+
return IPV4_REGEX.test(ip);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if a string is a valid IPv6 address.
|
|
46
|
+
* Uses expandIpv6 for validation.
|
|
47
|
+
*/
|
|
48
|
+
function isIPv6(ip) {
|
|
49
|
+
return expandIpv6(ip) !== null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if a string is a valid IP address (IPv4 or IPv6).
|
|
53
|
+
*/
|
|
54
|
+
function isIP(ip) {
|
|
55
|
+
return isIPv4(ip) || isIPv6(ip);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Parse an IP address string to an array of integers (for IPv4) or an array of 16-bit values (for IPv6)
|
|
59
|
+
* Returns null if the IP is invalid.
|
|
60
|
+
*/
|
|
61
|
+
function parseIp(ip) {
|
|
62
|
+
if (isIPv4(ip)) return ip.split(".").map((octet) => parseInt(octet, 10));
|
|
63
|
+
else if (isIPv6(ip)) {
|
|
64
|
+
const expanded = expandIpv6(ip);
|
|
65
|
+
if (!expanded) return null;
|
|
66
|
+
const parts = expanded.split(":");
|
|
67
|
+
const result = [];
|
|
68
|
+
for (const part of parts) result.push(parseInt(part, 16));
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Expand compressed IPv6 address to full form.
|
|
75
|
+
*/
|
|
76
|
+
function expandIpv6(ip) {
|
|
77
|
+
if (!ip || typeof ip !== "string") return null;
|
|
78
|
+
if (!ip.includes(":")) return null;
|
|
79
|
+
if (!/^[0-9a-fA-F:]+$/.test(ip)) return null;
|
|
80
|
+
let normalized = ip;
|
|
81
|
+
if (normalized.includes("::")) {
|
|
82
|
+
const parts = normalized.split("::");
|
|
83
|
+
if (parts.length > 2) return null;
|
|
84
|
+
const [left, right] = parts;
|
|
85
|
+
const leftParts = left ? left.split(":") : [];
|
|
86
|
+
const rightParts = right ? right.split(":") : [];
|
|
87
|
+
const missing = 8 - (leftParts.length + rightParts.length);
|
|
88
|
+
if (missing < 0) return null;
|
|
89
|
+
const zeros = Array(missing).fill("0");
|
|
90
|
+
normalized = [
|
|
91
|
+
...leftParts,
|
|
92
|
+
...zeros,
|
|
93
|
+
...rightParts
|
|
94
|
+
].filter((p) => p !== "").join(":");
|
|
95
|
+
}
|
|
96
|
+
const parts = normalized.split(":");
|
|
97
|
+
if (parts.length !== 8) return null;
|
|
98
|
+
for (const part of parts) {
|
|
99
|
+
if (part.length === 0 || part.length > 4) return null;
|
|
100
|
+
if (!/^[0-9a-fA-F]+$/.test(part)) return null;
|
|
101
|
+
}
|
|
102
|
+
return parts.map((p) => p.padStart(4, "0").toLowerCase()).join(":");
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Parse CIDR notation (e.g., "192.168.0.0/24") into network address and prefix length.
|
|
106
|
+
*/
|
|
107
|
+
function parseCidr(cidr) {
|
|
108
|
+
const [addrStr, prefixStr] = cidr.split("/");
|
|
109
|
+
if (!addrStr || !prefixStr) return null;
|
|
110
|
+
const addr = parseIp(addrStr);
|
|
111
|
+
if (!addr) return null;
|
|
112
|
+
const prefixLen = parseInt(prefixStr, 10);
|
|
113
|
+
if (isNaN(prefixLen)) return null;
|
|
114
|
+
const isIpv6 = isIPv6(addrStr);
|
|
115
|
+
if (isIpv6 && prefixLen > 128) return null;
|
|
116
|
+
if (!isIpv6 && prefixLen > 32) return null;
|
|
117
|
+
return {
|
|
118
|
+
addr,
|
|
119
|
+
prefixLen,
|
|
120
|
+
isIpv6
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if an IP address is in a given CIDR range.
|
|
125
|
+
*/
|
|
126
|
+
function isIpInCidr(ip, cidr) {
|
|
127
|
+
const ipParsed = parseIp(ip);
|
|
128
|
+
if (!ipParsed) return false;
|
|
129
|
+
const cidrParsed = parseCidr(cidr);
|
|
130
|
+
if (!cidrParsed) return false;
|
|
131
|
+
const isIpv6 = isIPv6(ip);
|
|
132
|
+
if (isIpv6 !== cidrParsed.isIpv6) return false;
|
|
133
|
+
const { addr: cidrAddr, prefixLen } = cidrParsed;
|
|
134
|
+
if (isIpv6) for (let i = 0; i < Math.ceil(prefixLen / 16); i++) {
|
|
135
|
+
const mask = 65535 << 16 - Math.min(16, prefixLen - i * 16) & 65535;
|
|
136
|
+
if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) return false;
|
|
137
|
+
}
|
|
138
|
+
else for (let i = 0; i < Math.ceil(prefixLen / 8); i++) {
|
|
139
|
+
const mask = 255 << 8 - Math.min(8, prefixLen - i * 8) & 255;
|
|
140
|
+
if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) return false;
|
|
141
|
+
}
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if an IP address is private (RFC 1918, loopback, link-local, etc.)
|
|
146
|
+
*/
|
|
147
|
+
function isPrivateIp(ip) {
|
|
148
|
+
if (!isIP(ip)) return false;
|
|
149
|
+
for (const range of PRIVATE_IP_RANGES) if (isIpInCidr(ip, range)) return true;
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if a hostname or IP is a known cloud metadata endpoint.
|
|
154
|
+
*/
|
|
155
|
+
function isCloudMetadata(hostname, ip) {
|
|
156
|
+
if (CLOUD_METADATA_IPS.includes(ip || "")) return true;
|
|
157
|
+
const lowerHostname = hostname.toLowerCase();
|
|
158
|
+
if (CLOUD_METADATA_HOSTNAMES.includes(lowerHostname)) return true;
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Check if a hostname or IP is localhost.
|
|
163
|
+
*/
|
|
164
|
+
function isLocalhost(hostname, ip) {
|
|
165
|
+
if (ip) {
|
|
166
|
+
if (ip === "127.0.0.1" || ip === "::1" || ip === "0.0.0.0") return true;
|
|
167
|
+
if (ip.startsWith("127.")) return true;
|
|
168
|
+
}
|
|
169
|
+
const lowerHostname = hostname.toLowerCase();
|
|
170
|
+
if (LOCALHOST_NAMES.includes(lowerHostname)) return true;
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Validate that a URL is safe to connect to.
|
|
175
|
+
* Performs static validation checks against hostnames and direct IP addresses.
|
|
176
|
+
* Does not perform DNS resolution.
|
|
177
|
+
*
|
|
178
|
+
* @param url URL to validate
|
|
179
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
180
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
181
|
+
* @returns The validated URL
|
|
182
|
+
* @throws Error if URL is not safe
|
|
183
|
+
*/
|
|
184
|
+
function validateSafeUrl(url, options) {
|
|
185
|
+
const allowPrivate = options?.allowPrivate ?? false;
|
|
186
|
+
const allowHttp = options?.allowHttp ?? false;
|
|
187
|
+
try {
|
|
188
|
+
let parsedUrl;
|
|
189
|
+
try {
|
|
190
|
+
parsedUrl = new URL(url);
|
|
191
|
+
} catch {
|
|
192
|
+
throw new Error(`Invalid URL: ${url}`);
|
|
193
|
+
}
|
|
194
|
+
const hostname = parsedUrl.hostname;
|
|
195
|
+
if (!hostname) throw new Error("URL missing hostname.");
|
|
196
|
+
if (isCloudMetadata(hostname)) throw new Error(`URL points to cloud metadata endpoint: ${hostname}`);
|
|
197
|
+
if (isLocalhost(hostname)) {
|
|
198
|
+
if (!allowPrivate) throw new Error(`URL points to localhost: ${hostname}`);
|
|
199
|
+
return url;
|
|
200
|
+
}
|
|
201
|
+
const scheme = parsedUrl.protocol;
|
|
202
|
+
if (scheme !== "http:" && scheme !== "https:") throw new Error(`Invalid URL scheme: ${scheme}. Only http and https are allowed.`);
|
|
203
|
+
if (scheme === "http:" && !allowHttp) throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");
|
|
204
|
+
if (isIP(hostname)) {
|
|
205
|
+
const ip = hostname;
|
|
206
|
+
if (isLocalhost(hostname, ip)) {
|
|
207
|
+
if (!allowPrivate) throw new Error(`URL points to localhost: ${hostname}`);
|
|
208
|
+
return url;
|
|
209
|
+
}
|
|
210
|
+
if (isCloudMetadata(hostname, ip)) throw new Error(`URL resolves to cloud metadata IP: ${ip} (${hostname})`);
|
|
211
|
+
if (isPrivateIp(ip)) {
|
|
212
|
+
if (!allowPrivate) throw new Error(`URL resolves to private IP: ${ip} (${hostname}). Set allowPrivate: true to allow.`);
|
|
213
|
+
}
|
|
214
|
+
return url;
|
|
215
|
+
}
|
|
216
|
+
return url;
|
|
217
|
+
} catch (error) {
|
|
218
|
+
if (error && typeof error === "object" && "message" in error) throw error;
|
|
219
|
+
throw new Error(`URL validation failed: ${error}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Check if a URL is safe to connect to (non-throwing version).
|
|
224
|
+
*
|
|
225
|
+
* @param url URL to check
|
|
226
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
227
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
228
|
+
* @returns true if URL is safe, false otherwise
|
|
229
|
+
*/
|
|
230
|
+
function isSafeUrl(url, options) {
|
|
231
|
+
try {
|
|
232
|
+
validateSafeUrl(url, options);
|
|
233
|
+
return true;
|
|
234
|
+
} catch {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Check if two URLs have the same origin (scheme, host, port).
|
|
240
|
+
* Uses semantic URL parsing to prevent SSRF bypasses via URL variations.
|
|
241
|
+
*
|
|
242
|
+
* @param url1 First URL
|
|
243
|
+
* @param url2 Second URL
|
|
244
|
+
* @returns true if both URLs have the same origin, false otherwise
|
|
245
|
+
*/
|
|
246
|
+
function isSameOrigin(url1, url2) {
|
|
247
|
+
try {
|
|
248
|
+
return new URL(url1).origin === new URL(url2).origin;
|
|
249
|
+
} catch {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//#endregion
|
|
254
|
+
exports.isCloudMetadata = isCloudMetadata;
|
|
255
|
+
exports.isLocalhost = isLocalhost;
|
|
256
|
+
exports.isPrivateIp = isPrivateIp;
|
|
257
|
+
exports.isSafeUrl = isSafeUrl;
|
|
258
|
+
exports.isSameOrigin = isSameOrigin;
|
|
259
|
+
Object.defineProperty(exports, "ssrf_exports", {
|
|
260
|
+
enumerable: true,
|
|
261
|
+
get: function() {
|
|
262
|
+
return ssrf_exports;
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
exports.validateSafeUrl = validateSafeUrl;
|
|
266
|
+
|
|
267
|
+
//# sourceMappingURL=ssrf.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.cjs","names":[],"sources":["../../src/utils/ssrf.ts"],"sourcesContent":["// Private IP ranges (RFC 1918, loopback, link-local, etc.)\nconst PRIVATE_IP_RANGES = [\n \"10.0.0.0/8\",\n \"172.16.0.0/12\",\n \"192.168.0.0/16\",\n \"127.0.0.0/8\",\n \"169.254.0.0/16\",\n \"0.0.0.0/8\",\n \"::1/128\",\n \"fc00::/7\",\n \"fe80::/10\",\n \"ff00::/8\",\n];\n\n// Cloud metadata IPs\nconst CLOUD_METADATA_IPS = [\n \"169.254.169.254\",\n \"169.254.170.2\",\n \"100.100.100.200\",\n];\n\n// Cloud metadata hostnames (case-insensitive)\nconst CLOUD_METADATA_HOSTNAMES = [\n \"metadata.google.internal\",\n \"metadata\",\n \"instance-data\",\n];\n\n// Localhost variations\nconst LOCALHOST_NAMES = [\"localhost\", \"localhost.localdomain\"];\n\n/**\n * IPv4 regex: four octets 0-255\n */\nconst IPV4_REGEX =\n /^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/;\n\n/**\n * Check if a string is a valid IPv4 address.\n */\nfunction isIPv4(ip: string): boolean {\n return IPV4_REGEX.test(ip);\n}\n\n/**\n * Check if a string is a valid IPv6 address.\n * Uses expandIpv6 for validation.\n */\nfunction isIPv6(ip: string): boolean {\n return expandIpv6(ip) !== null;\n}\n\n/**\n * Check if a string is a valid IP address (IPv4 or IPv6).\n */\nfunction isIP(ip: string): boolean {\n return isIPv4(ip) || isIPv6(ip);\n}\n\n/**\n * Parse an IP address string to an array of integers (for IPv4) or an array of 16-bit values (for IPv6)\n * Returns null if the IP is invalid.\n */\nfunction parseIp(ip: string): number[] | null {\n if (isIPv4(ip)) {\n return ip.split(\".\").map((octet) => parseInt(octet, 10));\n } else if (isIPv6(ip)) {\n // Normalize IPv6\n const expanded = expandIpv6(ip);\n if (!expanded) return null;\n const parts = expanded.split(\":\");\n const result: number[] = [];\n for (const part of parts) {\n result.push(parseInt(part, 16));\n }\n return result;\n }\n return null;\n}\n\n/**\n * Expand compressed IPv6 address to full form.\n */\nfunction expandIpv6(ip: string): string | null {\n // Basic structural validation\n if (!ip || typeof ip !== \"string\") return null;\n\n // Must contain at least one colon\n if (!ip.includes(\":\")) return null;\n\n // Check for invalid characters\n if (!/^[0-9a-fA-F:]+$/.test(ip)) return null;\n\n let normalized = ip;\n\n // Handle :: compression\n if (normalized.includes(\"::\")) {\n const parts = normalized.split(\"::\");\n if (parts.length > 2) return null; // Multiple :: is invalid\n\n const [left, right] = parts;\n const leftParts = left ? left.split(\":\") : [];\n const rightParts = right ? right.split(\":\") : [];\n const missing = 8 - (leftParts.length + rightParts.length);\n\n if (missing < 0) return null;\n\n const zeros = Array(missing).fill(\"0\");\n normalized = [...leftParts, ...zeros, ...rightParts]\n .filter((p) => p !== \"\")\n .join(\":\");\n }\n\n const parts = normalized.split(\":\");\n if (parts.length !== 8) return null;\n\n // Validate each part is a valid hex group (1-4 chars)\n for (const part of parts) {\n if (part.length === 0 || part.length > 4) return null;\n if (!/^[0-9a-fA-F]+$/.test(part)) return null;\n }\n\n return parts.map((p) => p.padStart(4, \"0\").toLowerCase()).join(\":\");\n}\n\n/**\n * Parse CIDR notation (e.g., \"192.168.0.0/24\") into network address and prefix length.\n */\nfunction parseCidr(\n cidr: string\n): { addr: number[]; prefixLen: number; isIpv6: boolean } | null {\n const [addrStr, prefixStr] = cidr.split(\"/\");\n if (!addrStr || !prefixStr) {\n return null;\n }\n\n const addr = parseIp(addrStr);\n if (!addr) {\n return null;\n }\n\n const prefixLen = parseInt(prefixStr, 10);\n if (isNaN(prefixLen)) {\n return null;\n }\n\n const isIpv6 = isIPv6(addrStr);\n\n if (isIpv6 && prefixLen > 128) {\n return null;\n }\n if (!isIpv6 && prefixLen > 32) {\n return null;\n }\n\n return { addr, prefixLen, isIpv6 };\n}\n\n/**\n * Check if an IP address is in a given CIDR range.\n */\nfunction isIpInCidr(ip: string, cidr: string): boolean {\n const ipParsed = parseIp(ip);\n if (!ipParsed) {\n return false;\n }\n\n const cidrParsed = parseCidr(cidr);\n if (!cidrParsed) {\n return false;\n }\n\n // Check IPv4 vs IPv6 mismatch\n const isIpv6 = isIPv6(ip);\n if (isIpv6 !== cidrParsed.isIpv6) {\n return false;\n }\n\n const { addr: cidrAddr, prefixLen } = cidrParsed;\n\n // Convert to bits and compare\n if (isIpv6) {\n // IPv6: each element is 16 bits\n for (let i = 0; i < Math.ceil(prefixLen / 16); i++) {\n const bitsToCheck = Math.min(16, prefixLen - i * 16);\n const mask = (0xffff << (16 - bitsToCheck)) & 0xffff;\n if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) {\n return false;\n }\n }\n } else {\n // IPv4: each element is 8 bits\n for (let i = 0; i < Math.ceil(prefixLen / 8); i++) {\n const bitsToCheck = Math.min(8, prefixLen - i * 8);\n const mask = (0xff << (8 - bitsToCheck)) & 0xff;\n if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n/**\n * Check if an IP address is private (RFC 1918, loopback, link-local, etc.)\n */\nexport function isPrivateIp(ip: string): boolean {\n // Validate it's a proper IP\n if (!isIP(ip)) {\n return false;\n }\n\n for (const range of PRIVATE_IP_RANGES) {\n if (isIpInCidr(ip, range)) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Check if a hostname or IP is a known cloud metadata endpoint.\n */\nexport function isCloudMetadata(hostname: string, ip?: string): boolean {\n // Check if it's a known metadata IP\n if (CLOUD_METADATA_IPS.includes(ip || \"\")) {\n return true;\n }\n\n // Check if hostname matches (case-insensitive)\n const lowerHostname = hostname.toLowerCase();\n if (CLOUD_METADATA_HOSTNAMES.includes(lowerHostname)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Check if a hostname or IP is localhost.\n */\nexport function isLocalhost(hostname: string, ip?: string): boolean {\n // Check if it's a localhost IP\n if (ip) {\n // Check for typical localhost IPs (loopback range)\n if (ip === \"127.0.0.1\" || ip === \"::1\" || ip === \"0.0.0.0\") {\n return true;\n }\n // Check if IP starts with 127. (entire loopback range)\n if (ip.startsWith(\"127.\")) {\n return true;\n }\n }\n\n // Check if hostname is localhost\n const lowerHostname = hostname.toLowerCase();\n if (LOCALHOST_NAMES.includes(lowerHostname)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Validate that a URL is safe to connect to.\n * Performs static validation checks against hostnames and direct IP addresses.\n * Does not perform DNS resolution.\n *\n * @param url URL to validate\n * @param options.allowPrivate Allow private IPs (default: false)\n * @param options.allowHttp Allow http:// scheme (default: false)\n * @returns The validated URL\n * @throws Error if URL is not safe\n */\nexport function validateSafeUrl(\n url: string,\n options?: { allowPrivate?: boolean; allowHttp?: boolean }\n): string {\n const allowPrivate = options?.allowPrivate ?? false;\n const allowHttp = options?.allowHttp ?? false;\n\n try {\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n throw new Error(`Invalid URL: ${url}`);\n }\n\n const hostname = parsedUrl.hostname;\n if (!hostname) {\n throw new Error(\"URL missing hostname.\");\n }\n\n // Check if it's a cloud metadata endpoint (always blocked)\n if (isCloudMetadata(hostname)) {\n throw new Error(`URL points to cloud metadata endpoint: ${hostname}`);\n }\n\n // Check if it's localhost (blocked unless allowPrivate is true)\n if (isLocalhost(hostname)) {\n if (!allowPrivate) {\n throw new Error(`URL points to localhost: ${hostname}`);\n }\n return url;\n }\n\n // Check scheme (after localhost checks to give better error messages)\n const scheme = parsedUrl.protocol;\n if (scheme !== \"http:\" && scheme !== \"https:\") {\n throw new Error(\n `Invalid URL scheme: ${scheme}. Only http and https are allowed.`\n );\n }\n\n if (scheme === \"http:\" && !allowHttp) {\n throw new Error(\n \"HTTP scheme not allowed. Use HTTPS or set allowHttp: true.\"\n );\n }\n\n // If hostname is already an IP, validate it directly\n if (isIP(hostname)) {\n const ip = hostname;\n\n // Check if it's localhost first (before private IP check)\n if (isLocalhost(hostname, ip)) {\n if (!allowPrivate) {\n throw new Error(`URL points to localhost: ${hostname}`);\n }\n return url;\n }\n\n // Cloud metadata is always blocked\n if (isCloudMetadata(hostname, ip)) {\n throw new Error(\n `URL resolves to cloud metadata IP: ${ip} (${hostname})`\n );\n }\n\n // Check private IPs\n if (isPrivateIp(ip)) {\n if (!allowPrivate) {\n throw new Error(\n `URL resolves to private IP: ${ip} (${hostname}). Set allowPrivate: true to allow.`\n );\n }\n }\n\n return url;\n }\n\n // For regular hostnames, we've already done all hostname-based checks above\n // (cloud metadata, localhost). If those passed, the URL is safe.\n // We don't perform DNS resolution in this environment-agnostic function.\n return url;\n } catch (error) {\n if (error && typeof error === \"object\" && \"message\" in error) {\n throw error;\n }\n throw new Error(`URL validation failed: ${error}`);\n }\n}\n\n/**\n * Check if a URL is safe to connect to (non-throwing version).\n *\n * @param url URL to check\n * @param options.allowPrivate Allow private IPs (default: false)\n * @param options.allowHttp Allow http:// scheme (default: false)\n * @returns true if URL is safe, false otherwise\n */\nexport function isSafeUrl(\n url: string,\n options?: { allowPrivate?: boolean; allowHttp?: boolean }\n): boolean {\n try {\n validateSafeUrl(url, options);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Check if two URLs have the same origin (scheme, host, port).\n * Uses semantic URL parsing to prevent SSRF bypasses via URL variations.\n *\n * @param url1 First URL\n * @param url2 Second URL\n * @returns true if both URLs have the same origin, false otherwise\n */\nexport function isSameOrigin(url1: string, url2: string): boolean {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch {\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;AACA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAGD,MAAM,qBAAqB;CACzB;CACA;CACA;CACD;AAGD,MAAM,2BAA2B;CAC/B;CACA;CACA;CACD;AAGD,MAAM,kBAAkB,CAAC,aAAa,wBAAwB;;;;AAK9D,MAAM,aACJ;;;;AAKF,SAAS,OAAO,IAAqB;AACnC,QAAO,WAAW,KAAK,GAAG;;;;;;AAO5B,SAAS,OAAO,IAAqB;AACnC,QAAO,WAAW,GAAG,KAAK;;;;;AAM5B,SAAS,KAAK,IAAqB;AACjC,QAAO,OAAO,GAAG,IAAI,OAAO,GAAG;;;;;;AAOjC,SAAS,QAAQ,IAA6B;AAC5C,KAAI,OAAO,GAAG,CACZ,QAAO,GAAG,MAAM,IAAI,CAAC,KAAK,UAAU,SAAS,OAAO,GAAG,CAAC;UAC/C,OAAO,GAAG,EAAE;EAErB,MAAM,WAAW,WAAW,GAAG;AAC/B,MAAI,CAAC,SAAU,QAAO;EACtB,MAAM,QAAQ,SAAS,MAAM,IAAI;EACjC,MAAM,SAAmB,EAAE;AAC3B,OAAK,MAAM,QAAQ,MACjB,QAAO,KAAK,SAAS,MAAM,GAAG,CAAC;AAEjC,SAAO;;AAET,QAAO;;;;;AAMT,SAAS,WAAW,IAA2B;AAE7C,KAAI,CAAC,MAAM,OAAO,OAAO,SAAU,QAAO;AAG1C,KAAI,CAAC,GAAG,SAAS,IAAI,CAAE,QAAO;AAG9B,KAAI,CAAC,kBAAkB,KAAK,GAAG,CAAE,QAAO;CAExC,IAAI,aAAa;AAGjB,KAAI,WAAW,SAAS,KAAK,EAAE;EAC7B,MAAM,QAAQ,WAAW,MAAM,KAAK;AACpC,MAAI,MAAM,SAAS,EAAG,QAAO;EAE7B,MAAM,CAAC,MAAM,SAAS;EACtB,MAAM,YAAY,OAAO,KAAK,MAAM,IAAI,GAAG,EAAE;EAC7C,MAAM,aAAa,QAAQ,MAAM,MAAM,IAAI,GAAG,EAAE;EAChD,MAAM,UAAU,KAAK,UAAU,SAAS,WAAW;AAEnD,MAAI,UAAU,EAAG,QAAO;EAExB,MAAM,QAAQ,MAAM,QAAQ,CAAC,KAAK,IAAI;AACtC,eAAa;GAAC,GAAG;GAAW,GAAG;GAAO,GAAG;GAAW,CACjD,QAAQ,MAAM,MAAM,GAAG,CACvB,KAAK,IAAI;;CAGd,MAAM,QAAQ,WAAW,MAAM,IAAI;AACnC,KAAI,MAAM,WAAW,EAAG,QAAO;AAG/B,MAAK,MAAM,QAAQ,OAAO;AACxB,MAAI,KAAK,WAAW,KAAK,KAAK,SAAS,EAAG,QAAO;AACjD,MAAI,CAAC,iBAAiB,KAAK,KAAK,CAAE,QAAO;;AAG3C,QAAO,MAAM,KAAK,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI;;;;;AAMrE,SAAS,UACP,MAC+D;CAC/D,MAAM,CAAC,SAAS,aAAa,KAAK,MAAM,IAAI;AAC5C,KAAI,CAAC,WAAW,CAAC,UACf,QAAO;CAGT,MAAM,OAAO,QAAQ,QAAQ;AAC7B,KAAI,CAAC,KACH,QAAO;CAGT,MAAM,YAAY,SAAS,WAAW,GAAG;AACzC,KAAI,MAAM,UAAU,CAClB,QAAO;CAGT,MAAM,SAAS,OAAO,QAAQ;AAE9B,KAAI,UAAU,YAAY,IACxB,QAAO;AAET,KAAI,CAAC,UAAU,YAAY,GACzB,QAAO;AAGT,QAAO;EAAE;EAAM;EAAW;EAAQ;;;;;AAMpC,SAAS,WAAW,IAAY,MAAuB;CACrD,MAAM,WAAW,QAAQ,GAAG;AAC5B,KAAI,CAAC,SACH,QAAO;CAGT,MAAM,aAAa,UAAU,KAAK;AAClC,KAAI,CAAC,WACH,QAAO;CAIT,MAAM,SAAS,OAAO,GAAG;AACzB,KAAI,WAAW,WAAW,OACxB,QAAO;CAGT,MAAM,EAAE,MAAM,UAAU,cAAc;AAGtC,KAAI,OAEF,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,YAAY,GAAG,EAAE,KAAK;EAElD,MAAM,OAAQ,SAAW,KADL,KAAK,IAAI,IAAI,YAAY,IAAI,GACR,GAAK;AAC9C,OAAK,SAAS,KAAK,WAAW,SAAS,KAAK,MAC1C,QAAO;;KAKX,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,YAAY,EAAE,EAAE,KAAK;EAEjD,MAAM,OAAQ,OAAS,IADH,KAAK,IAAI,GAAG,YAAY,IAAI,EACV,GAAK;AAC3C,OAAK,SAAS,KAAK,WAAW,SAAS,KAAK,MAC1C,QAAO;;AAKb,QAAO;;;;;AAMT,SAAgB,YAAY,IAAqB;AAE/C,KAAI,CAAC,KAAK,GAAG,CACX,QAAO;AAGT,MAAK,MAAM,SAAS,kBAClB,KAAI,WAAW,IAAI,MAAM,CACvB,QAAO;AAIX,QAAO;;;;;AAMT,SAAgB,gBAAgB,UAAkB,IAAsB;AAEtE,KAAI,mBAAmB,SAAS,MAAM,GAAG,CACvC,QAAO;CAIT,MAAM,gBAAgB,SAAS,aAAa;AAC5C,KAAI,yBAAyB,SAAS,cAAc,CAClD,QAAO;AAGT,QAAO;;;;;AAMT,SAAgB,YAAY,UAAkB,IAAsB;AAElE,KAAI,IAAI;AAEN,MAAI,OAAO,eAAe,OAAO,SAAS,OAAO,UAC/C,QAAO;AAGT,MAAI,GAAG,WAAW,OAAO,CACvB,QAAO;;CAKX,MAAM,gBAAgB,SAAS,aAAa;AAC5C,KAAI,gBAAgB,SAAS,cAAc,CACzC,QAAO;AAGT,QAAO;;;;;;;;;;;;;AAcT,SAAgB,gBACd,KACA,SACQ;CACR,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,YAAY,SAAS,aAAa;AAExC,KAAI;EACF,IAAI;AACJ,MAAI;AACF,eAAY,IAAI,IAAI,IAAI;UAClB;AACN,SAAM,IAAI,MAAM,gBAAgB,MAAM;;EAGxC,MAAM,WAAW,UAAU;AAC3B,MAAI,CAAC,SACH,OAAM,IAAI,MAAM,wBAAwB;AAI1C,MAAI,gBAAgB,SAAS,CAC3B,OAAM,IAAI,MAAM,0CAA0C,WAAW;AAIvE,MAAI,YAAY,SAAS,EAAE;AACzB,OAAI,CAAC,aACH,OAAM,IAAI,MAAM,4BAA4B,WAAW;AAEzD,UAAO;;EAIT,MAAM,SAAS,UAAU;AACzB,MAAI,WAAW,WAAW,WAAW,SACnC,OAAM,IAAI,MACR,uBAAuB,OAAO,oCAC/B;AAGH,MAAI,WAAW,WAAW,CAAC,UACzB,OAAM,IAAI,MACR,6DACD;AAIH,MAAI,KAAK,SAAS,EAAE;GAClB,MAAM,KAAK;AAGX,OAAI,YAAY,UAAU,GAAG,EAAE;AAC7B,QAAI,CAAC,aACH,OAAM,IAAI,MAAM,4BAA4B,WAAW;AAEzD,WAAO;;AAIT,OAAI,gBAAgB,UAAU,GAAG,CAC/B,OAAM,IAAI,MACR,sCAAsC,GAAG,IAAI,SAAS,GACvD;AAIH,OAAI,YAAY,GAAG;QACb,CAAC,aACH,OAAM,IAAI,MACR,+BAA+B,GAAG,IAAI,SAAS,qCAChD;;AAIL,UAAO;;AAMT,SAAO;UACA,OAAO;AACd,MAAI,SAAS,OAAO,UAAU,YAAY,aAAa,MACrD,OAAM;AAER,QAAM,IAAI,MAAM,0BAA0B,QAAQ;;;;;;;;;;;AAYtD,SAAgB,UACd,KACA,SACS;AACT,KAAI;AACF,kBAAgB,KAAK,QAAQ;AAC7B,SAAO;SACD;AACN,SAAO;;;;;;;;;;;AAYX,SAAgB,aAAa,MAAc,MAAuB;AAChE,KAAI;AACF,SAAO,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC;SACxC;AACN,SAAO"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region src/utils/ssrf.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Check if an IP address is private (RFC 1918, loopback, link-local, etc.)
|
|
4
|
+
*/
|
|
5
|
+
declare function isPrivateIp(ip: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Check if a hostname or IP is a known cloud metadata endpoint.
|
|
8
|
+
*/
|
|
9
|
+
declare function isCloudMetadata(hostname: string, ip?: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Check if a hostname or IP is localhost.
|
|
12
|
+
*/
|
|
13
|
+
declare function isLocalhost(hostname: string, ip?: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Validate that a URL is safe to connect to.
|
|
16
|
+
* Performs static validation checks against hostnames and direct IP addresses.
|
|
17
|
+
* Does not perform DNS resolution.
|
|
18
|
+
*
|
|
19
|
+
* @param url URL to validate
|
|
20
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
21
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
22
|
+
* @returns The validated URL
|
|
23
|
+
* @throws Error if URL is not safe
|
|
24
|
+
*/
|
|
25
|
+
declare function validateSafeUrl(url: string, options?: {
|
|
26
|
+
allowPrivate?: boolean;
|
|
27
|
+
allowHttp?: boolean;
|
|
28
|
+
}): string;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a URL is safe to connect to (non-throwing version).
|
|
31
|
+
*
|
|
32
|
+
* @param url URL to check
|
|
33
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
34
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
35
|
+
* @returns true if URL is safe, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
declare function isSafeUrl(url: string, options?: {
|
|
38
|
+
allowPrivate?: boolean;
|
|
39
|
+
allowHttp?: boolean;
|
|
40
|
+
}): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Check if two URLs have the same origin (scheme, host, port).
|
|
43
|
+
* Uses semantic URL parsing to prevent SSRF bypasses via URL variations.
|
|
44
|
+
*
|
|
45
|
+
* @param url1 First URL
|
|
46
|
+
* @param url2 Second URL
|
|
47
|
+
* @returns true if both URLs have the same origin, false otherwise
|
|
48
|
+
*/
|
|
49
|
+
declare function isSameOrigin(url1: string, url2: string): boolean;
|
|
50
|
+
//#endregion
|
|
51
|
+
export { isCloudMetadata, isLocalhost, isPrivateIp, isSafeUrl, isSameOrigin, validateSafeUrl };
|
|
52
|
+
//# sourceMappingURL=ssrf.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.d.cts","names":[],"sources":["../../src/utils/ssrf.ts"],"mappings":";;AA+MA;;iBAAgB,WAAA,CAAY,EAAA;;;AAkB5B;iBAAgB,eAAA,CAAgB,QAAA,UAAkB,EAAA;;;;iBAkBlC,WAAA,CAAY,QAAA,UAAkB,EAAA;;;;;AAiC9C;;;;;;;iBAAgB,eAAA,CACd,GAAA,UACA,OAAA;EAAY,YAAA;EAAwB,SAAA;AAAA;;;;;;;;;iBAgGtB,SAAA,CACd,GAAA,UACA,OAAA;EAAY,YAAA;EAAwB,SAAA;AAAA;;;;;;;;;iBAkBtB,YAAA,CAAa,IAAA,UAAc,IAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region src/utils/ssrf.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Check if an IP address is private (RFC 1918, loopback, link-local, etc.)
|
|
4
|
+
*/
|
|
5
|
+
declare function isPrivateIp(ip: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Check if a hostname or IP is a known cloud metadata endpoint.
|
|
8
|
+
*/
|
|
9
|
+
declare function isCloudMetadata(hostname: string, ip?: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Check if a hostname or IP is localhost.
|
|
12
|
+
*/
|
|
13
|
+
declare function isLocalhost(hostname: string, ip?: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Validate that a URL is safe to connect to.
|
|
16
|
+
* Performs static validation checks against hostnames and direct IP addresses.
|
|
17
|
+
* Does not perform DNS resolution.
|
|
18
|
+
*
|
|
19
|
+
* @param url URL to validate
|
|
20
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
21
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
22
|
+
* @returns The validated URL
|
|
23
|
+
* @throws Error if URL is not safe
|
|
24
|
+
*/
|
|
25
|
+
declare function validateSafeUrl(url: string, options?: {
|
|
26
|
+
allowPrivate?: boolean;
|
|
27
|
+
allowHttp?: boolean;
|
|
28
|
+
}): string;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a URL is safe to connect to (non-throwing version).
|
|
31
|
+
*
|
|
32
|
+
* @param url URL to check
|
|
33
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
34
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
35
|
+
* @returns true if URL is safe, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
declare function isSafeUrl(url: string, options?: {
|
|
38
|
+
allowPrivate?: boolean;
|
|
39
|
+
allowHttp?: boolean;
|
|
40
|
+
}): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Check if two URLs have the same origin (scheme, host, port).
|
|
43
|
+
* Uses semantic URL parsing to prevent SSRF bypasses via URL variations.
|
|
44
|
+
*
|
|
45
|
+
* @param url1 First URL
|
|
46
|
+
* @param url2 Second URL
|
|
47
|
+
* @returns true if both URLs have the same origin, false otherwise
|
|
48
|
+
*/
|
|
49
|
+
declare function isSameOrigin(url1: string, url2: string): boolean;
|
|
50
|
+
//#endregion
|
|
51
|
+
export { isCloudMetadata, isLocalhost, isPrivateIp, isSafeUrl, isSameOrigin, validateSafeUrl };
|
|
52
|
+
//# sourceMappingURL=ssrf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.d.ts","names":[],"sources":["../../src/utils/ssrf.ts"],"mappings":";;AA+MA;;iBAAgB,WAAA,CAAY,EAAA;;;AAkB5B;iBAAgB,eAAA,CAAgB,QAAA,UAAkB,EAAA;;;;iBAkBlC,WAAA,CAAY,QAAA,UAAkB,EAAA;;;;;AAiC9C;;;;;;;iBAAgB,eAAA,CACd,GAAA,UACA,OAAA;EAAY,YAAA;EAAwB,SAAA;AAAA;;;;;;;;;iBAgGtB,SAAA,CACd,GAAA,UACA,OAAA;EAAY,YAAA;EAAwB,SAAA;AAAA;;;;;;;;;iBAkBtB,YAAA,CAAa,IAAA,UAAc,IAAA"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region src/utils/ssrf.ts
|
|
3
|
+
var ssrf_exports = /* @__PURE__ */ __exportAll({
|
|
4
|
+
isCloudMetadata: () => isCloudMetadata,
|
|
5
|
+
isLocalhost: () => isLocalhost,
|
|
6
|
+
isPrivateIp: () => isPrivateIp,
|
|
7
|
+
isSafeUrl: () => isSafeUrl,
|
|
8
|
+
isSameOrigin: () => isSameOrigin,
|
|
9
|
+
validateSafeUrl: () => validateSafeUrl
|
|
10
|
+
});
|
|
11
|
+
const PRIVATE_IP_RANGES = [
|
|
12
|
+
"10.0.0.0/8",
|
|
13
|
+
"172.16.0.0/12",
|
|
14
|
+
"192.168.0.0/16",
|
|
15
|
+
"127.0.0.0/8",
|
|
16
|
+
"169.254.0.0/16",
|
|
17
|
+
"0.0.0.0/8",
|
|
18
|
+
"::1/128",
|
|
19
|
+
"fc00::/7",
|
|
20
|
+
"fe80::/10",
|
|
21
|
+
"ff00::/8"
|
|
22
|
+
];
|
|
23
|
+
const CLOUD_METADATA_IPS = [
|
|
24
|
+
"169.254.169.254",
|
|
25
|
+
"169.254.170.2",
|
|
26
|
+
"100.100.100.200"
|
|
27
|
+
];
|
|
28
|
+
const CLOUD_METADATA_HOSTNAMES = [
|
|
29
|
+
"metadata.google.internal",
|
|
30
|
+
"metadata",
|
|
31
|
+
"instance-data"
|
|
32
|
+
];
|
|
33
|
+
const LOCALHOST_NAMES = ["localhost", "localhost.localdomain"];
|
|
34
|
+
/**
|
|
35
|
+
* IPv4 regex: four octets 0-255
|
|
36
|
+
*/
|
|
37
|
+
const IPV4_REGEX = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a string is a valid IPv4 address.
|
|
40
|
+
*/
|
|
41
|
+
function isIPv4(ip) {
|
|
42
|
+
return IPV4_REGEX.test(ip);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if a string is a valid IPv6 address.
|
|
46
|
+
* Uses expandIpv6 for validation.
|
|
47
|
+
*/
|
|
48
|
+
function isIPv6(ip) {
|
|
49
|
+
return expandIpv6(ip) !== null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if a string is a valid IP address (IPv4 or IPv6).
|
|
53
|
+
*/
|
|
54
|
+
function isIP(ip) {
|
|
55
|
+
return isIPv4(ip) || isIPv6(ip);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Parse an IP address string to an array of integers (for IPv4) or an array of 16-bit values (for IPv6)
|
|
59
|
+
* Returns null if the IP is invalid.
|
|
60
|
+
*/
|
|
61
|
+
function parseIp(ip) {
|
|
62
|
+
if (isIPv4(ip)) return ip.split(".").map((octet) => parseInt(octet, 10));
|
|
63
|
+
else if (isIPv6(ip)) {
|
|
64
|
+
const expanded = expandIpv6(ip);
|
|
65
|
+
if (!expanded) return null;
|
|
66
|
+
const parts = expanded.split(":");
|
|
67
|
+
const result = [];
|
|
68
|
+
for (const part of parts) result.push(parseInt(part, 16));
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Expand compressed IPv6 address to full form.
|
|
75
|
+
*/
|
|
76
|
+
function expandIpv6(ip) {
|
|
77
|
+
if (!ip || typeof ip !== "string") return null;
|
|
78
|
+
if (!ip.includes(":")) return null;
|
|
79
|
+
if (!/^[0-9a-fA-F:]+$/.test(ip)) return null;
|
|
80
|
+
let normalized = ip;
|
|
81
|
+
if (normalized.includes("::")) {
|
|
82
|
+
const parts = normalized.split("::");
|
|
83
|
+
if (parts.length > 2) return null;
|
|
84
|
+
const [left, right] = parts;
|
|
85
|
+
const leftParts = left ? left.split(":") : [];
|
|
86
|
+
const rightParts = right ? right.split(":") : [];
|
|
87
|
+
const missing = 8 - (leftParts.length + rightParts.length);
|
|
88
|
+
if (missing < 0) return null;
|
|
89
|
+
const zeros = Array(missing).fill("0");
|
|
90
|
+
normalized = [
|
|
91
|
+
...leftParts,
|
|
92
|
+
...zeros,
|
|
93
|
+
...rightParts
|
|
94
|
+
].filter((p) => p !== "").join(":");
|
|
95
|
+
}
|
|
96
|
+
const parts = normalized.split(":");
|
|
97
|
+
if (parts.length !== 8) return null;
|
|
98
|
+
for (const part of parts) {
|
|
99
|
+
if (part.length === 0 || part.length > 4) return null;
|
|
100
|
+
if (!/^[0-9a-fA-F]+$/.test(part)) return null;
|
|
101
|
+
}
|
|
102
|
+
return parts.map((p) => p.padStart(4, "0").toLowerCase()).join(":");
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Parse CIDR notation (e.g., "192.168.0.0/24") into network address and prefix length.
|
|
106
|
+
*/
|
|
107
|
+
function parseCidr(cidr) {
|
|
108
|
+
const [addrStr, prefixStr] = cidr.split("/");
|
|
109
|
+
if (!addrStr || !prefixStr) return null;
|
|
110
|
+
const addr = parseIp(addrStr);
|
|
111
|
+
if (!addr) return null;
|
|
112
|
+
const prefixLen = parseInt(prefixStr, 10);
|
|
113
|
+
if (isNaN(prefixLen)) return null;
|
|
114
|
+
const isIpv6 = isIPv6(addrStr);
|
|
115
|
+
if (isIpv6 && prefixLen > 128) return null;
|
|
116
|
+
if (!isIpv6 && prefixLen > 32) return null;
|
|
117
|
+
return {
|
|
118
|
+
addr,
|
|
119
|
+
prefixLen,
|
|
120
|
+
isIpv6
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if an IP address is in a given CIDR range.
|
|
125
|
+
*/
|
|
126
|
+
function isIpInCidr(ip, cidr) {
|
|
127
|
+
const ipParsed = parseIp(ip);
|
|
128
|
+
if (!ipParsed) return false;
|
|
129
|
+
const cidrParsed = parseCidr(cidr);
|
|
130
|
+
if (!cidrParsed) return false;
|
|
131
|
+
const isIpv6 = isIPv6(ip);
|
|
132
|
+
if (isIpv6 !== cidrParsed.isIpv6) return false;
|
|
133
|
+
const { addr: cidrAddr, prefixLen } = cidrParsed;
|
|
134
|
+
if (isIpv6) for (let i = 0; i < Math.ceil(prefixLen / 16); i++) {
|
|
135
|
+
const mask = 65535 << 16 - Math.min(16, prefixLen - i * 16) & 65535;
|
|
136
|
+
if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) return false;
|
|
137
|
+
}
|
|
138
|
+
else for (let i = 0; i < Math.ceil(prefixLen / 8); i++) {
|
|
139
|
+
const mask = 255 << 8 - Math.min(8, prefixLen - i * 8) & 255;
|
|
140
|
+
if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) return false;
|
|
141
|
+
}
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if an IP address is private (RFC 1918, loopback, link-local, etc.)
|
|
146
|
+
*/
|
|
147
|
+
function isPrivateIp(ip) {
|
|
148
|
+
if (!isIP(ip)) return false;
|
|
149
|
+
for (const range of PRIVATE_IP_RANGES) if (isIpInCidr(ip, range)) return true;
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if a hostname or IP is a known cloud metadata endpoint.
|
|
154
|
+
*/
|
|
155
|
+
function isCloudMetadata(hostname, ip) {
|
|
156
|
+
if (CLOUD_METADATA_IPS.includes(ip || "")) return true;
|
|
157
|
+
const lowerHostname = hostname.toLowerCase();
|
|
158
|
+
if (CLOUD_METADATA_HOSTNAMES.includes(lowerHostname)) return true;
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Check if a hostname or IP is localhost.
|
|
163
|
+
*/
|
|
164
|
+
function isLocalhost(hostname, ip) {
|
|
165
|
+
if (ip) {
|
|
166
|
+
if (ip === "127.0.0.1" || ip === "::1" || ip === "0.0.0.0") return true;
|
|
167
|
+
if (ip.startsWith("127.")) return true;
|
|
168
|
+
}
|
|
169
|
+
const lowerHostname = hostname.toLowerCase();
|
|
170
|
+
if (LOCALHOST_NAMES.includes(lowerHostname)) return true;
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Validate that a URL is safe to connect to.
|
|
175
|
+
* Performs static validation checks against hostnames and direct IP addresses.
|
|
176
|
+
* Does not perform DNS resolution.
|
|
177
|
+
*
|
|
178
|
+
* @param url URL to validate
|
|
179
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
180
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
181
|
+
* @returns The validated URL
|
|
182
|
+
* @throws Error if URL is not safe
|
|
183
|
+
*/
|
|
184
|
+
function validateSafeUrl(url, options) {
|
|
185
|
+
const allowPrivate = options?.allowPrivate ?? false;
|
|
186
|
+
const allowHttp = options?.allowHttp ?? false;
|
|
187
|
+
try {
|
|
188
|
+
let parsedUrl;
|
|
189
|
+
try {
|
|
190
|
+
parsedUrl = new URL(url);
|
|
191
|
+
} catch {
|
|
192
|
+
throw new Error(`Invalid URL: ${url}`);
|
|
193
|
+
}
|
|
194
|
+
const hostname = parsedUrl.hostname;
|
|
195
|
+
if (!hostname) throw new Error("URL missing hostname.");
|
|
196
|
+
if (isCloudMetadata(hostname)) throw new Error(`URL points to cloud metadata endpoint: ${hostname}`);
|
|
197
|
+
if (isLocalhost(hostname)) {
|
|
198
|
+
if (!allowPrivate) throw new Error(`URL points to localhost: ${hostname}`);
|
|
199
|
+
return url;
|
|
200
|
+
}
|
|
201
|
+
const scheme = parsedUrl.protocol;
|
|
202
|
+
if (scheme !== "http:" && scheme !== "https:") throw new Error(`Invalid URL scheme: ${scheme}. Only http and https are allowed.`);
|
|
203
|
+
if (scheme === "http:" && !allowHttp) throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");
|
|
204
|
+
if (isIP(hostname)) {
|
|
205
|
+
const ip = hostname;
|
|
206
|
+
if (isLocalhost(hostname, ip)) {
|
|
207
|
+
if (!allowPrivate) throw new Error(`URL points to localhost: ${hostname}`);
|
|
208
|
+
return url;
|
|
209
|
+
}
|
|
210
|
+
if (isCloudMetadata(hostname, ip)) throw new Error(`URL resolves to cloud metadata IP: ${ip} (${hostname})`);
|
|
211
|
+
if (isPrivateIp(ip)) {
|
|
212
|
+
if (!allowPrivate) throw new Error(`URL resolves to private IP: ${ip} (${hostname}). Set allowPrivate: true to allow.`);
|
|
213
|
+
}
|
|
214
|
+
return url;
|
|
215
|
+
}
|
|
216
|
+
return url;
|
|
217
|
+
} catch (error) {
|
|
218
|
+
if (error && typeof error === "object" && "message" in error) throw error;
|
|
219
|
+
throw new Error(`URL validation failed: ${error}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Check if a URL is safe to connect to (non-throwing version).
|
|
224
|
+
*
|
|
225
|
+
* @param url URL to check
|
|
226
|
+
* @param options.allowPrivate Allow private IPs (default: false)
|
|
227
|
+
* @param options.allowHttp Allow http:// scheme (default: false)
|
|
228
|
+
* @returns true if URL is safe, false otherwise
|
|
229
|
+
*/
|
|
230
|
+
function isSafeUrl(url, options) {
|
|
231
|
+
try {
|
|
232
|
+
validateSafeUrl(url, options);
|
|
233
|
+
return true;
|
|
234
|
+
} catch {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Check if two URLs have the same origin (scheme, host, port).
|
|
240
|
+
* Uses semantic URL parsing to prevent SSRF bypasses via URL variations.
|
|
241
|
+
*
|
|
242
|
+
* @param url1 First URL
|
|
243
|
+
* @param url2 Second URL
|
|
244
|
+
* @returns true if both URLs have the same origin, false otherwise
|
|
245
|
+
*/
|
|
246
|
+
function isSameOrigin(url1, url2) {
|
|
247
|
+
try {
|
|
248
|
+
return new URL(url1).origin === new URL(url2).origin;
|
|
249
|
+
} catch {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//#endregion
|
|
254
|
+
export { isCloudMetadata, isLocalhost, isPrivateIp, isSafeUrl, isSameOrigin, ssrf_exports, validateSafeUrl };
|
|
255
|
+
|
|
256
|
+
//# sourceMappingURL=ssrf.js.map
|