langchain 0.0.130 → 0.0.132
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/dist/agents/agent.cjs +23 -0
- package/dist/agents/agent.d.ts +28 -0
- package/dist/agents/agent.js +23 -0
- package/dist/agents/chat/index.cjs +28 -0
- package/dist/agents/chat/index.d.ts +33 -0
- package/dist/agents/chat/index.js +28 -0
- package/dist/agents/chat/outputParser.cjs +19 -0
- package/dist/agents/chat/outputParser.d.ts +19 -0
- package/dist/agents/chat/outputParser.js +19 -0
- package/dist/agents/chat_convo/index.cjs +25 -0
- package/dist/agents/chat_convo/index.d.ts +32 -0
- package/dist/agents/chat_convo/index.js +25 -0
- package/dist/agents/chat_convo/outputParser.cjs +42 -0
- package/dist/agents/chat_convo/outputParser.d.ts +42 -0
- package/dist/agents/chat_convo/outputParser.js +42 -0
- package/dist/agents/executor.cjs +9 -0
- package/dist/agents/executor.d.ts +12 -0
- package/dist/agents/executor.js +9 -0
- package/dist/agents/initialize.d.ts +5 -0
- package/dist/agents/mrkl/index.cjs +20 -0
- package/dist/agents/mrkl/index.d.ts +25 -0
- package/dist/agents/mrkl/index.js +20 -0
- package/dist/agents/mrkl/outputParser.cjs +15 -0
- package/dist/agents/mrkl/outputParser.d.ts +15 -0
- package/dist/agents/mrkl/outputParser.js +15 -0
- package/dist/agents/openai/index.cjs +46 -0
- package/dist/agents/openai/index.d.ts +40 -0
- package/dist/agents/openai/index.js +46 -0
- package/dist/agents/structured_chat/index.cjs +35 -0
- package/dist/agents/structured_chat/index.d.ts +41 -0
- package/dist/agents/structured_chat/index.js +35 -0
- package/dist/agents/structured_chat/outputParser.cjs +44 -0
- package/dist/agents/structured_chat/outputParser.d.ts +48 -0
- package/dist/agents/structured_chat/outputParser.js +44 -0
- package/dist/agents/toolkits/aws_sfn.cjs +5 -0
- package/dist/agents/toolkits/aws_sfn.d.ts +9 -0
- package/dist/agents/toolkits/aws_sfn.js +5 -0
- package/dist/agents/toolkits/base.cjs +5 -0
- package/dist/agents/toolkits/base.d.ts +5 -0
- package/dist/agents/toolkits/base.js +5 -0
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +10 -0
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +10 -0
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +10 -0
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +17 -0
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +21 -0
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js +17 -0
- package/dist/agents/toolkits/json/json.cjs +15 -0
- package/dist/agents/toolkits/json/json.d.ts +15 -0
- package/dist/agents/toolkits/json/json.js +15 -0
- package/dist/agents/toolkits/openapi/openapi.cjs +21 -0
- package/dist/agents/toolkits/openapi/openapi.d.ts +21 -0
- package/dist/agents/toolkits/openapi/openapi.js +21 -0
- package/dist/agents/toolkits/sql/sql.cjs +4 -0
- package/dist/agents/toolkits/sql/sql.d.ts +8 -0
- package/dist/agents/toolkits/sql/sql.js +4 -0
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs +10 -0
- package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +14 -0
- package/dist/agents/toolkits/vectorstore/vectorstore.js +10 -0
- package/dist/agents/toolkits/zapier/zapier.cjs +12 -0
- package/dist/agents/toolkits/zapier/zapier.d.ts +12 -0
- package/dist/agents/toolkits/zapier/zapier.js +12 -0
- package/dist/agents/types.cjs +5 -0
- package/dist/agents/types.d.ts +28 -0
- package/dist/agents/types.js +5 -0
- package/dist/cache/index.cjs +21 -0
- package/dist/cache/index.d.ts +21 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/ioredis.cjs +16 -0
- package/dist/cache/ioredis.d.ts +16 -0
- package/dist/cache/ioredis.js +16 -0
- package/dist/cache/redis.cjs +21 -0
- package/dist/cache/redis.d.ts +25 -0
- package/dist/cache/redis.js +21 -0
- package/dist/callbacks/base.cjs +29 -0
- package/dist/callbacks/base.d.ts +35 -0
- package/dist/callbacks/base.js +30 -1
- package/dist/callbacks/handlers/console.cjs +87 -0
- package/dist/callbacks/handlers/console.d.ts +87 -0
- package/dist/callbacks/handlers/console.js +87 -0
- package/dist/callbacks/handlers/initialize.cjs +12 -0
- package/dist/callbacks/handlers/initialize.d.ts +12 -0
- package/dist/callbacks/handlers/initialize.js +12 -0
- package/dist/callbacks/manager.cjs +9 -0
- package/dist/callbacks/manager.d.ts +9 -0
- package/dist/callbacks/manager.js +9 -0
- package/dist/callbacks/promises.cjs +9 -0
- package/dist/callbacks/promises.d.ts +4 -0
- package/dist/callbacks/promises.js +9 -0
- package/dist/chains/analyze_documents_chain.cjs +3 -0
- package/dist/chains/analyze_documents_chain.d.ts +5 -0
- package/dist/chains/analyze_documents_chain.js +3 -0
- package/dist/chains/api/api_chain.cjs +12 -0
- package/dist/chains/api/api_chain.d.ts +19 -0
- package/dist/chains/api/api_chain.js +12 -0
- package/dist/chains/base.cjs +6 -0
- package/dist/chains/base.d.ts +6 -0
- package/dist/chains/base.js +6 -0
- package/dist/chains/chat_vector_db_chain.cjs +8 -0
- package/dist/chains/chat_vector_db_chain.d.ts +11 -0
- package/dist/chains/chat_vector_db_chain.js +8 -0
- package/dist/chains/combine_docs_chain.cjs +9 -0
- package/dist/chains/combine_docs_chain.d.ts +13 -0
- package/dist/chains/combine_docs_chain.js +9 -0
- package/dist/chains/constitutional_ai/constitutional_chain.cjs +20 -0
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts +21 -0
- package/dist/chains/constitutional_ai/constitutional_chain.js +20 -0
- package/dist/chains/constitutional_ai/constitutional_principle.cjs +4 -0
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts +4 -0
- package/dist/chains/constitutional_ai/constitutional_principle.js +4 -0
- package/dist/chains/conversation.cjs +7 -0
- package/dist/chains/conversation.d.ts +5 -0
- package/dist/chains/conversation.js +7 -0
- package/dist/chains/conversational_retrieval_chain.cjs +24 -0
- package/dist/chains/conversational_retrieval_chain.d.ts +27 -1
- package/dist/chains/conversational_retrieval_chain.js +24 -0
- package/dist/chains/llm_chain.cjs +3 -0
- package/dist/chains/llm_chain.d.ts +4 -0
- package/dist/chains/llm_chain.js +3 -0
- package/dist/chains/openai_functions/extraction.cjs +21 -0
- package/dist/chains/openai_functions/extraction.d.ts +15 -0
- package/dist/chains/openai_functions/extraction.js +21 -0
- package/dist/chains/openai_functions/openapi.cjs +30 -0
- package/dist/chains/openai_functions/openapi.d.ts +3 -0
- package/dist/chains/openai_functions/openapi.js +30 -0
- package/dist/chains/openai_functions/structured_output.cjs +12 -0
- package/dist/chains/openai_functions/structured_output.d.ts +18 -0
- package/dist/chains/openai_functions/structured_output.js +12 -0
- package/dist/chains/openai_functions/tagging.cjs +24 -0
- package/dist/chains/openai_functions/tagging.d.ts +21 -0
- package/dist/chains/openai_functions/tagging.js +24 -0
- package/dist/chains/openai_moderation.cjs +8 -0
- package/dist/chains/openai_moderation.d.ts +9 -0
- package/dist/chains/openai_moderation.js +8 -0
- package/dist/chains/query_constructor/index.cjs +17 -0
- package/dist/chains/query_constructor/index.d.ts +20 -0
- package/dist/chains/query_constructor/index.js +17 -0
- package/dist/chains/query_constructor/ir.cjs +24 -0
- package/dist/chains/query_constructor/ir.d.ts +71 -0
- package/dist/chains/query_constructor/ir.js +24 -0
- package/dist/chains/query_constructor/parser.cjs +21 -0
- package/dist/chains/query_constructor/parser.d.ts +25 -0
- package/dist/chains/query_constructor/parser.js +21 -0
- package/dist/chains/question_answering/load.cjs +21 -0
- package/dist/chains/question_answering/load.d.ts +34 -0
- package/dist/chains/question_answering/load.js +21 -0
- package/dist/chains/retrieval_qa.cjs +15 -0
- package/dist/chains/retrieval_qa.d.ts +16 -0
- package/dist/chains/retrieval_qa.js +15 -0
- package/dist/chains/router/llm_router.cjs +16 -0
- package/dist/chains/router/llm_router.d.ts +24 -0
- package/dist/chains/router/llm_router.js +16 -0
- package/dist/chains/router/multi_prompt.cjs +19 -0
- package/dist/chains/router/multi_prompt.d.ts +19 -0
- package/dist/chains/router/multi_prompt.js +19 -0
- package/dist/chains/router/multi_retrieval_qa.cjs +22 -0
- package/dist/chains/router/multi_retrieval_qa.d.ts +27 -0
- package/dist/chains/router/multi_retrieval_qa.js +22 -0
- package/dist/chains/router/multi_route.cjs +13 -0
- package/dist/chains/router/multi_route.d.ts +26 -0
- package/dist/chains/router/multi_route.js +13 -0
- package/dist/chains/sequential_chain.cjs +6 -0
- package/dist/chains/sequential_chain.d.ts +8 -0
- package/dist/chains/sequential_chain.js +6 -0
- package/dist/chains/serde.d.ts +58 -0
- package/dist/chains/sql_db/sql_db_chain.cjs +16 -0
- package/dist/chains/sql_db/sql_db_chain.d.ts +19 -0
- package/dist/chains/sql_db/sql_db_chain.js +16 -0
- package/dist/chains/summarization/load.d.ts +4 -0
- package/dist/chains/transform.cjs +9 -0
- package/dist/chains/transform.d.ts +12 -0
- package/dist/chains/transform.js +9 -0
- package/dist/chains/vector_db_qa.cjs +18 -0
- package/dist/chains/vector_db_qa.d.ts +22 -0
- package/dist/chains/vector_db_qa.js +18 -0
- package/dist/chat_models/anthropic.cjs +27 -4
- package/dist/chat_models/anthropic.d.ts +15 -0
- package/dist/chat_models/anthropic.js +27 -4
- package/dist/chat_models/baiduwenxin.cjs +19 -13
- package/dist/chat_models/baiduwenxin.d.ts +19 -3
- package/dist/chat_models/baiduwenxin.js +19 -13
- package/dist/chat_models/base.cjs +61 -0
- package/dist/chat_models/base.d.ts +73 -0
- package/dist/chat_models/base.js +61 -0
- package/dist/chat_models/googlepalm.cjs +12 -0
- package/dist/chat_models/googlepalm.d.ts +8 -0
- package/dist/chat_models/googlepalm.js +12 -0
- package/dist/chat_models/googlevertexai.cjs +41 -0
- package/dist/chat_models/googlevertexai.d.ts +51 -0
- package/dist/chat_models/googlevertexai.js +41 -0
- package/dist/chat_models/ollama.cjs +14 -0
- package/dist/chat_models/ollama.d.ts +16 -0
- package/dist/chat_models/ollama.js +14 -0
- package/dist/chat_models/openai.cjs +19 -5
- package/dist/chat_models/openai.d.ts +7 -5
- package/dist/chat_models/openai.js +19 -5
- package/dist/document_loaders/base.cjs +10 -0
- package/dist/document_loaders/base.d.ts +17 -0
- package/dist/document_loaders/base.js +10 -0
- package/dist/document_loaders/fs/buffer.cjs +21 -0
- package/dist/document_loaders/fs/buffer.d.ts +28 -0
- package/dist/document_loaders/fs/buffer.js +21 -0
- package/dist/document_loaders/fs/csv.cjs +19 -0
- package/dist/document_loaders/fs/csv.d.ts +19 -0
- package/dist/document_loaders/fs/csv.js +19 -0
- package/dist/document_loaders/fs/directory.cjs +21 -0
- package/dist/document_loaders/fs/directory.d.ts +29 -0
- package/dist/document_loaders/fs/directory.js +21 -0
- package/dist/document_loaders/fs/docx.cjs +16 -0
- package/dist/document_loaders/fs/docx.d.ts +16 -0
- package/dist/document_loaders/fs/docx.js +16 -0
- package/dist/document_loaders/fs/epub.cjs +16 -0
- package/dist/document_loaders/fs/epub.d.ts +16 -0
- package/dist/document_loaders/fs/epub.js +16 -0
- package/dist/document_loaders/fs/json.cjs +40 -0
- package/dist/document_loaders/fs/json.d.ts +40 -0
- package/dist/document_loaders/fs/json.js +40 -0
- package/dist/document_loaders/fs/notion.cjs +6 -0
- package/dist/document_loaders/fs/notion.d.ts +6 -0
- package/dist/document_loaders/fs/notion.js +6 -0
- package/dist/document_loaders/fs/pdf.cjs +21 -0
- package/dist/document_loaders/fs/pdf.d.ts +21 -0
- package/dist/document_loaders/fs/pdf.js +21 -0
- package/dist/document_loaders/fs/srt.cjs +19 -0
- package/dist/document_loaders/fs/srt.d.ts +19 -0
- package/dist/document_loaders/fs/srt.js +19 -0
- package/dist/document_loaders/fs/text.cjs +34 -0
- package/dist/document_loaders/fs/text.d.ts +34 -0
- package/dist/document_loaders/fs/text.js +34 -0
- package/dist/document_loaders/fs/unstructured.cjs +14 -0
- package/dist/document_loaders/fs/unstructured.d.ts +26 -0
- package/dist/document_loaders/fs/unstructured.js +14 -0
- package/dist/document_loaders/web/apify_dataset.cjs +11 -0
- package/dist/document_loaders/web/apify_dataset.d.ts +15 -0
- package/dist/document_loaders/web/apify_dataset.js +11 -0
- package/dist/document_loaders/web/azure_blob_storage_container.cjs +13 -0
- package/dist/document_loaders/web/azure_blob_storage_container.d.ts +26 -0
- package/dist/document_loaders/web/azure_blob_storage_container.js +13 -0
- package/dist/document_loaders/web/azure_blob_storage_file.cjs +12 -0
- package/dist/document_loaders/web/azure_blob_storage_file.d.ts +21 -0
- package/dist/document_loaders/web/azure_blob_storage_file.js +12 -0
- package/dist/document_loaders/web/cheerio.cjs +21 -0
- package/dist/document_loaders/web/cheerio.d.ts +26 -0
- package/dist/document_loaders/web/cheerio.js +21 -0
- package/dist/document_loaders/web/college_confidential.cjs +11 -0
- package/dist/document_loaders/web/college_confidential.d.ts +11 -0
- package/dist/document_loaders/web/college_confidential.js +11 -0
- package/dist/document_loaders/web/confluence.cjs +23 -0
- package/dist/document_loaders/web/confluence.d.ts +33 -0
- package/dist/document_loaders/web/confluence.js +23 -0
- package/dist/document_loaders/web/figma.cjs +21 -0
- package/dist/document_loaders/web/figma.d.ts +32 -0
- package/dist/document_loaders/web/figma.js +21 -0
- package/dist/document_loaders/web/gitbook.cjs +33 -0
- package/dist/document_loaders/web/gitbook.d.ts +38 -0
- package/dist/document_loaders/web/gitbook.js +33 -0
- package/dist/document_loaders/web/github.cjs +50 -0
- package/dist/document_loaders/web/github.d.ts +53 -0
- package/dist/document_loaders/web/github.js +50 -0
- package/dist/document_loaders/web/hn.cjs +31 -0
- package/dist/document_loaders/web/hn.d.ts +31 -0
- package/dist/document_loaders/web/hn.js +31 -0
- package/dist/document_loaders/web/imsdb.cjs +14 -0
- package/dist/document_loaders/web/imsdb.d.ts +14 -0
- package/dist/document_loaders/web/imsdb.js +14 -0
- package/dist/document_loaders/web/notionapi.cjs +39 -0
- package/dist/document_loaders/web/notionapi.d.ts +43 -0
- package/dist/document_loaders/web/notionapi.js +39 -0
- package/dist/document_loaders/web/notiondb.cjs +19 -0
- package/dist/document_loaders/web/notiondb.d.ts +24 -0
- package/dist/document_loaders/web/notiondb.js +19 -0
- package/dist/document_loaders/web/playwright.cjs +22 -0
- package/dist/document_loaders/web/playwright.d.ts +27 -0
- package/dist/document_loaders/web/playwright.js +22 -0
- package/dist/document_loaders/web/puppeteer.cjs +20 -0
- package/dist/document_loaders/web/puppeteer.d.ts +25 -0
- package/dist/document_loaders/web/puppeteer.js +20 -0
- package/dist/document_loaders/web/s3.cjs +9 -0
- package/dist/document_loaders/web/s3.d.ts +21 -0
- package/dist/document_loaders/web/s3.js +9 -0
- package/dist/document_loaders/web/serpapi.cjs +4 -0
- package/dist/document_loaders/web/serpapi.d.ts +8 -0
- package/dist/document_loaders/web/serpapi.js +4 -0
- package/dist/document_loaders/web/sonix_audio.cjs +10 -0
- package/dist/document_loaders/web/sonix_audio.d.ts +10 -0
- package/dist/document_loaders/web/sonix_audio.js +10 -0
- package/dist/document_loaders/web/sort_xyz_blockchain.cjs +10 -0
- package/dist/document_loaders/web/sort_xyz_blockchain.d.ts +17 -0
- package/dist/document_loaders/web/sort_xyz_blockchain.js +10 -0
- package/dist/document_loaders/web/youtube.cjs +23 -0
- package/dist/document_loaders/web/youtube.d.ts +27 -0
- package/dist/document_loaders/web/youtube.js +23 -0
- package/dist/document_transformers/html_to_text.cjs +6 -0
- package/dist/document_transformers/html_to_text.d.ts +4 -0
- package/dist/document_transformers/html_to_text.js +6 -0
- package/dist/document_transformers/mozilla_readability.cjs +7 -0
- package/dist/document_transformers/mozilla_readability.d.ts +5 -0
- package/dist/document_transformers/mozilla_readability.js +7 -0
- package/dist/document_transformers/openai_functions.cjs +6 -0
- package/dist/document_transformers/openai_functions.d.ts +4 -0
- package/dist/document_transformers/openai_functions.js +6 -0
- package/dist/embeddings/base.cjs +4 -0
- package/dist/embeddings/base.d.ts +21 -0
- package/dist/embeddings/base.js +4 -0
- package/dist/embeddings/cache_backed.d.ts +4 -0
- package/dist/embeddings/cohere.d.ts +4 -0
- package/dist/embeddings/fake.cjs +33 -0
- package/dist/embeddings/fake.d.ts +37 -0
- package/dist/embeddings/fake.js +33 -0
- package/dist/embeddings/googlepalm.cjs +18 -0
- package/dist/embeddings/googlepalm.d.ts +22 -0
- package/dist/embeddings/googlepalm.js +18 -0
- package/dist/embeddings/googlevertexai.cjs +15 -0
- package/dist/embeddings/googlevertexai.d.ts +20 -0
- package/dist/embeddings/googlevertexai.js +15 -0
- package/dist/embeddings/hf.cjs +20 -0
- package/dist/embeddings/hf.d.ts +24 -0
- package/dist/embeddings/hf.js +20 -0
- package/dist/embeddings/openai.cjs +25 -0
- package/dist/embeddings/openai.d.ts +29 -0
- package/dist/embeddings/openai.js +25 -0
- package/dist/embeddings/tensorflow.cjs +27 -0
- package/dist/embeddings/tensorflow.d.ts +31 -0
- package/dist/embeddings/tensorflow.js +27 -0
- package/dist/evaluation/qa/eval_chain.cjs +3 -0
- package/dist/evaluation/qa/eval_chain.d.ts +1 -0
- package/dist/evaluation/qa/eval_chain.js +3 -0
- package/dist/experimental/autogpt/agent.cjs +21 -0
- package/dist/experimental/autogpt/agent.d.ts +24 -0
- package/dist/experimental/autogpt/agent.js +21 -0
- package/dist/experimental/autogpt/output_parser.cjs +24 -0
- package/dist/experimental/autogpt/output_parser.d.ts +24 -0
- package/dist/experimental/autogpt/output_parser.js +24 -0
- package/dist/experimental/autogpt/prompt.cjs +25 -0
- package/dist/experimental/autogpt/prompt.d.ts +28 -0
- package/dist/experimental/autogpt/prompt.js +25 -0
- package/dist/experimental/autogpt/prompt_generator.cjs +32 -0
- package/dist/experimental/autogpt/prompt_generator.d.ts +32 -0
- package/dist/experimental/autogpt/prompt_generator.js +32 -0
- package/dist/experimental/autogpt/schema.d.ts +11 -0
- package/dist/experimental/babyagi/agent.cjs +68 -0
- package/dist/experimental/babyagi/agent.d.ts +76 -0
- package/dist/experimental/babyagi/agent.js +68 -0
- package/dist/experimental/babyagi/task_creation.cjs +13 -0
- package/dist/experimental/babyagi/task_creation.d.ts +11 -0
- package/dist/experimental/babyagi/task_creation.js +13 -0
- package/dist/experimental/babyagi/task_execution.cjs +12 -0
- package/dist/experimental/babyagi/task_execution.d.ts +10 -0
- package/dist/experimental/babyagi/task_execution.js +12 -0
- package/dist/experimental/babyagi/task_prioritization.cjs +11 -0
- package/dist/experimental/babyagi/task_prioritization.d.ts +9 -0
- package/dist/experimental/babyagi/task_prioritization.js +11 -0
- package/dist/experimental/generative_agents/generative_agent.cjs +77 -0
- package/dist/experimental/generative_agents/generative_agent.d.ts +80 -0
- package/dist/experimental/generative_agents/generative_agent.js +77 -0
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +116 -0
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts +114 -0
- package/dist/experimental/generative_agents/generative_agent_memory.js +116 -0
- package/dist/experimental/multimodal_embeddings/googlevertexai.cjs +46 -0
- package/dist/experimental/multimodal_embeddings/googlevertexai.d.ts +58 -0
- package/dist/experimental/multimodal_embeddings/googlevertexai.js +46 -0
- package/dist/experimental/plan_and_execute/agent_executor.cjs +35 -0
- package/dist/experimental/plan_and_execute/agent_executor.d.ts +38 -0
- package/dist/experimental/plan_and_execute/agent_executor.js +35 -0
- package/dist/experimental/plan_and_execute/base.cjs +26 -0
- package/dist/experimental/plan_and_execute/base.d.ts +38 -0
- package/dist/experimental/plan_and_execute/base.js +26 -0
- package/dist/experimental/plan_and_execute/outputParser.cjs +18 -0
- package/dist/experimental/plan_and_execute/outputParser.d.ts +18 -0
- package/dist/experimental/plan_and_execute/outputParser.js +18 -0
- package/dist/llms/ai21.cjs +13 -0
- package/dist/llms/ai21.d.ts +19 -0
- package/dist/llms/ai21.js +13 -0
- package/dist/llms/aleph_alpha.cjs +10 -0
- package/dist/llms/aleph_alpha.d.ts +13 -0
- package/dist/llms/aleph_alpha.js +10 -0
- package/dist/llms/base.cjs +32 -0
- package/dist/llms/base.d.ts +32 -0
- package/dist/llms/base.js +32 -0
- package/dist/llms/bedrock.cjs +21 -0
- package/dist/llms/bedrock.d.ts +9 -0
- package/dist/llms/bedrock.js +21 -0
- package/dist/llms/cohere.cjs +7 -0
- package/dist/llms/cohere.d.ts +8 -0
- package/dist/llms/cohere.js +7 -0
- package/dist/llms/googlevertexai.cjs +23 -0
- package/dist/llms/googlevertexai.d.ts +38 -0
- package/dist/llms/googlevertexai.js +23 -0
- package/dist/llms/hf.cjs +4 -0
- package/dist/llms/hf.d.ts +8 -0
- package/dist/llms/hf.js +4 -0
- package/dist/llms/ollama.cjs +7 -0
- package/dist/llms/ollama.d.ts +5 -0
- package/dist/llms/ollama.js +7 -0
- package/dist/llms/openai-chat.cjs +35 -4
- package/dist/llms/openai-chat.d.ts +28 -4
- package/dist/llms/openai-chat.js +35 -4
- package/dist/llms/openai.cjs +26 -6
- package/dist/llms/openai.d.ts +11 -3
- package/dist/llms/openai.js +26 -6
- package/dist/llms/replicate.cjs +9 -0
- package/dist/llms/replicate.d.ts +12 -0
- package/dist/llms/replicate.js +9 -0
- package/dist/llms/sagemaker_endpoint.cjs +11 -0
- package/dist/llms/sagemaker_endpoint.d.ts +17 -0
- package/dist/llms/sagemaker_endpoint.js +11 -0
- package/dist/load/index.cjs +7 -1
- package/dist/load/index.js +7 -1
- package/dist/load/serializable.cjs +42 -3
- package/dist/load/serializable.d.ts +16 -0
- package/dist/load/serializable.js +40 -2
- package/dist/memory/base.cjs +11 -0
- package/dist/memory/base.d.ts +40 -0
- package/dist/memory/base.js +11 -0
- package/dist/memory/buffer_memory.cjs +19 -0
- package/dist/memory/buffer_memory.d.ts +22 -0
- package/dist/memory/buffer_memory.js +19 -0
- package/dist/memory/buffer_window_memory.cjs +15 -0
- package/dist/memory/buffer_window_memory.d.ts +18 -0
- package/dist/memory/buffer_window_memory.js +15 -0
- package/dist/memory/chat_memory.cjs +16 -0
- package/dist/memory/chat_memory.d.ts +19 -0
- package/dist/memory/chat_memory.js +16 -0
- package/dist/memory/combined_memory.cjs +28 -0
- package/dist/memory/combined_memory.d.ts +33 -0
- package/dist/memory/combined_memory.js +28 -0
- package/dist/memory/entity_memory.cjs +21 -0
- package/dist/memory/entity_memory.d.ts +24 -0
- package/dist/memory/entity_memory.js +21 -0
- package/dist/memory/motorhead_memory.cjs +25 -0
- package/dist/memory/motorhead_memory.d.ts +29 -0
- package/dist/memory/motorhead_memory.js +25 -0
- package/dist/memory/stores/entity/in_memory.cjs +29 -0
- package/dist/memory/stores/entity/in_memory.d.ts +29 -0
- package/dist/memory/stores/entity/in_memory.js +29 -0
- package/dist/memory/summary.cjs +31 -0
- package/dist/memory/summary.d.ts +39 -0
- package/dist/memory/summary.js +31 -0
- package/dist/memory/summary_buffer.cjs +33 -0
- package/dist/memory/summary_buffer.d.ts +37 -0
- package/dist/memory/summary_buffer.js +33 -0
- package/dist/memory/vector_store.cjs +22 -0
- package/dist/memory/vector_store.d.ts +26 -0
- package/dist/memory/vector_store.js +22 -0
- package/dist/memory/zep.cjs +22 -0
- package/dist/memory/zep.d.ts +27 -0
- package/dist/memory/zep.js +22 -0
- package/dist/output_parsers/combining.cjs +15 -0
- package/dist/output_parsers/combining.d.ts +19 -0
- package/dist/output_parsers/combining.js +15 -0
- package/dist/output_parsers/expression.cjs +12 -0
- package/dist/output_parsers/expression.d.ts +12 -0
- package/dist/output_parsers/expression.js +12 -0
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +18 -0
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.d.ts +18 -0
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +18 -0
- package/dist/output_parsers/expression_type_handlers/base.cjs +68 -0
- package/dist/output_parsers/expression_type_handlers/base.d.ts +79 -0
- package/dist/output_parsers/expression_type_handlers/base.js +68 -0
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +18 -0
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.d.ts +18 -0
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +18 -0
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +22 -0
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.d.ts +22 -0
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +22 -0
- package/dist/output_parsers/expression_type_handlers/factory.cjs +20 -0
- package/dist/output_parsers/expression_type_handlers/factory.d.ts +20 -0
- package/dist/output_parsers/expression_type_handlers/factory.js +20 -0
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +19 -0
- package/dist/output_parsers/expression_type_handlers/identifier_handler.d.ts +19 -0
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js +19 -0
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +17 -0
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.d.ts +17 -0
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +17 -0
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +16 -0
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.d.ts +16 -0
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +16 -0
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +16 -0
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.d.ts +16 -0
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +16 -0
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +17 -0
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.d.ts +17 -0
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +17 -0
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +16 -0
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.d.ts +16 -0
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +16 -0
- package/dist/output_parsers/expression_type_handlers/types.d.ts +50 -0
- package/dist/output_parsers/fix.cjs +28 -0
- package/dist/output_parsers/fix.d.ts +26 -0
- package/dist/output_parsers/fix.js +28 -0
- package/dist/output_parsers/list.cjs +27 -0
- package/dist/output_parsers/list.d.ts +25 -0
- package/dist/output_parsers/list.js +27 -0
- package/dist/output_parsers/noop.cjs +21 -0
- package/dist/output_parsers/noop.d.ts +19 -0
- package/dist/output_parsers/noop.js +21 -0
- package/dist/output_parsers/openai_functions.cjs +40 -0
- package/dist/output_parsers/openai_functions.d.ts +37 -0
- package/dist/output_parsers/openai_functions.js +40 -0
- package/dist/output_parsers/regex.cjs +15 -0
- package/dist/output_parsers/regex.d.ts +16 -0
- package/dist/output_parsers/regex.js +15 -0
- package/dist/output_parsers/router.cjs +15 -0
- package/dist/output_parsers/router.d.ts +19 -0
- package/dist/output_parsers/router.js +15 -0
- package/dist/output_parsers/structured.cjs +36 -0
- package/dist/output_parsers/structured.d.ts +38 -0
- package/dist/output_parsers/structured.js +36 -0
- package/dist/prompts/base.cjs +26 -0
- package/dist/prompts/base.d.ts +36 -0
- package/dist/prompts/base.js +26 -0
- package/dist/prompts/chat.cjs +69 -0
- package/dist/prompts/chat.d.ts +76 -0
- package/dist/prompts/chat.js +69 -0
- package/dist/prompts/few_shot.cjs +5 -0
- package/dist/prompts/few_shot.d.ts +5 -0
- package/dist/prompts/few_shot.js +5 -0
- package/dist/prompts/pipeline.cjs +29 -0
- package/dist/prompts/pipeline.d.ts +35 -0
- package/dist/prompts/pipeline.js +29 -0
- package/dist/prompts/prompt.cjs +13 -0
- package/dist/prompts/prompt.d.ts +11 -0
- package/dist/prompts/prompt.js +13 -0
- package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +32 -0
- package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +33 -0
- package/dist/prompts/selectors/LengthBasedExampleSelector.js +32 -0
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +31 -0
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +35 -0
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +31 -0
- package/dist/prompts/selectors/conditional.cjs +30 -0
- package/dist/prompts/selectors/conditional.d.ts +37 -0
- package/dist/prompts/selectors/conditional.js +30 -0
- package/dist/prompts/serde.d.ts +24 -0
- package/dist/prompts/template.d.ts +17 -0
- package/dist/retrievers/amazon_kendra.cjs +65 -0
- package/dist/retrievers/amazon_kendra.d.ts +67 -0
- package/dist/retrievers/amazon_kendra.js +65 -0
- package/dist/retrievers/contextual_compression.cjs +8 -0
- package/dist/retrievers/contextual_compression.d.ts +11 -0
- package/dist/retrievers/contextual_compression.js +8 -0
- package/dist/retrievers/databerry.cjs +8 -0
- package/dist/retrievers/databerry.d.ts +10 -0
- package/dist/retrievers/databerry.js +8 -0
- package/dist/retrievers/document_compressors/chain_extract.cjs +18 -0
- package/dist/retrievers/document_compressors/chain_extract.d.ts +22 -0
- package/dist/retrievers/document_compressors/chain_extract.js +18 -0
- package/dist/retrievers/document_compressors/index.d.ts +9 -0
- package/dist/retrievers/hyde.cjs +12 -0
- package/dist/retrievers/hyde.d.ts +18 -0
- package/dist/retrievers/hyde.js +12 -0
- package/dist/retrievers/metal.cjs +10 -0
- package/dist/retrievers/metal.d.ts +13 -0
- package/dist/retrievers/metal.js +10 -0
- package/dist/retrievers/parent_document.cjs +20 -1
- package/dist/retrievers/parent_document.d.ts +16 -0
- package/dist/retrievers/parent_document.js +20 -1
- package/dist/retrievers/remote/base.cjs +4 -0
- package/dist/retrievers/remote/base.d.ts +28 -0
- package/dist/retrievers/remote/base.js +4 -0
- package/dist/retrievers/remote/chatgpt-plugin.cjs +17 -0
- package/dist/retrievers/remote/chatgpt-plugin.d.ts +21 -0
- package/dist/retrievers/remote/chatgpt-plugin.js +17 -0
- package/dist/retrievers/remote/remote-retriever.cjs +20 -0
- package/dist/retrievers/remote/remote-retriever.d.ts +20 -0
- package/dist/retrievers/remote/remote-retriever.js +20 -0
- package/dist/retrievers/self_query/base.cjs +28 -0
- package/dist/retrievers/self_query/base.d.ts +45 -0
- package/dist/retrievers/self_query/base.js +28 -0
- package/dist/retrievers/self_query/chroma.cjs +6 -0
- package/dist/retrievers/self_query/chroma.d.ts +6 -0
- package/dist/retrievers/self_query/chroma.js +6 -0
- package/dist/retrievers/self_query/functional.cjs +40 -0
- package/dist/retrievers/self_query/functional.d.ts +49 -0
- package/dist/retrievers/self_query/functional.js +40 -0
- package/dist/retrievers/self_query/index.cjs +17 -0
- package/dist/retrievers/self_query/index.d.ts +19 -0
- package/dist/retrievers/self_query/index.js +17 -0
- package/dist/retrievers/self_query/pinecone.cjs +7 -0
- package/dist/retrievers/self_query/pinecone.d.ts +7 -0
- package/dist/retrievers/self_query/pinecone.js +7 -0
- package/dist/retrievers/self_query/supabase.cjs +91 -7
- package/dist/retrievers/self_query/supabase.d.ts +69 -2
- package/dist/retrievers/self_query/supabase.js +92 -8
- package/dist/retrievers/self_query/supabase_utils.cjs +255 -0
- package/dist/retrievers/self_query/supabase_utils.d.ts +102 -0
- package/dist/retrievers/self_query/supabase_utils.js +250 -0
- package/dist/retrievers/self_query/utils.cjs +36 -3
- package/dist/retrievers/self_query/utils.d.ts +20 -0
- package/dist/retrievers/self_query/utils.js +32 -2
- package/dist/retrievers/self_query/weaviate.cjs +45 -14
- package/dist/retrievers/self_query/weaviate.d.ts +42 -0
- package/dist/retrievers/self_query/weaviate.js +43 -12
- package/dist/retrievers/supabase.cjs +33 -0
- package/dist/retrievers/supabase.d.ts +31 -0
- package/dist/retrievers/supabase.js +33 -0
- package/dist/retrievers/time_weighted.cjs +11 -0
- package/dist/retrievers/time_weighted.d.ts +13 -0
- package/dist/retrievers/time_weighted.js +11 -0
- package/dist/retrievers/vespa.cjs +21 -0
- package/dist/retrievers/vespa.d.ts +19 -0
- package/dist/retrievers/vespa.js +21 -0
- package/dist/retrievers/zep.cjs +7 -0
- package/dist/retrievers/zep.d.ts +9 -0
- package/dist/retrievers/zep.js +7 -0
- package/dist/schema/document.cjs +7 -0
- package/dist/schema/document.d.ts +7 -0
- package/dist/schema/document.js +7 -0
- package/dist/schema/index.cjs +100 -0
- package/dist/schema/index.d.ts +80 -0
- package/dist/schema/index.js +100 -0
- package/dist/schema/output_parser.cjs +49 -0
- package/dist/schema/output_parser.d.ts +53 -0
- package/dist/schema/output_parser.js +49 -0
- package/dist/schema/query_constructor.cjs +5 -0
- package/dist/schema/query_constructor.d.ts +5 -0
- package/dist/schema/query_constructor.js +5 -0
- package/dist/schema/retriever.cjs +18 -0
- package/dist/schema/retriever.d.ts +18 -0
- package/dist/schema/retriever.js +18 -0
- package/dist/schema/runnable.cjs +25 -7
- package/dist/schema/runnable.d.ts +6 -0
- package/dist/schema/runnable.js +25 -7
- package/dist/schema/storage.d.ts +20 -0
- package/dist/storage/encoder_backed.cjs +27 -0
- package/dist/storage/encoder_backed.d.ts +27 -0
- package/dist/storage/encoder_backed.js +27 -0
- package/dist/storage/in_memory.cjs +25 -0
- package/dist/storage/in_memory.d.ts +25 -0
- package/dist/storage/in_memory.js +25 -0
- package/dist/storage/ioredis.cjs +25 -0
- package/dist/storage/ioredis.d.ts +25 -0
- package/dist/storage/ioredis.js +25 -0
- package/dist/stores/doc/gcs.cjs +28 -0
- package/dist/stores/doc/gcs.d.ts +33 -0
- package/dist/stores/doc/gcs.js +28 -0
- package/dist/stores/doc/in_memory.cjs +27 -0
- package/dist/stores/doc/in_memory.d.ts +27 -0
- package/dist/stores/doc/in_memory.js +27 -0
- package/dist/stores/file/in_memory.cjs +20 -0
- package/dist/stores/file/in_memory.d.ts +20 -0
- package/dist/stores/file/in_memory.js +20 -0
- package/dist/stores/file/node.cjs +15 -0
- package/dist/stores/file/node.d.ts +15 -0
- package/dist/stores/file/node.js +15 -0
- package/dist/stores/message/dynamodb.cjs +17 -0
- package/dist/stores/message/dynamodb.d.ts +23 -0
- package/dist/stores/message/dynamodb.js +17 -0
- package/dist/stores/message/firestore.cjs +19 -0
- package/dist/stores/message/firestore.d.ts +24 -0
- package/dist/stores/message/firestore.js +19 -0
- package/dist/stores/message/in_memory.cjs +19 -0
- package/dist/stores/message/in_memory.d.ts +19 -0
- package/dist/stores/message/in_memory.js +19 -0
- package/dist/stores/message/ioredis.cjs +17 -0
- package/dist/stores/message/ioredis.d.ts +22 -0
- package/dist/stores/message/ioredis.js +17 -0
- package/dist/stores/message/momento.cjs +18 -0
- package/dist/stores/message/momento.d.ts +18 -0
- package/dist/stores/message/momento.js +18 -0
- package/dist/stores/message/planetscale.cjs +26 -0
- package/dist/stores/message/planetscale.d.ts +30 -0
- package/dist/stores/message/planetscale.js +26 -0
- package/dist/stores/message/redis.cjs +24 -0
- package/dist/stores/message/redis.d.ts +27 -0
- package/dist/stores/message/redis.js +24 -0
- package/dist/stores/message/upstash_redis.cjs +17 -0
- package/dist/stores/message/upstash_redis.d.ts +21 -0
- package/dist/stores/message/upstash_redis.js +17 -0
- package/dist/stores/message/utils.cjs +21 -0
- package/dist/stores/message/utils.d.ts +21 -0
- package/dist/stores/message/utils.js +21 -0
- package/dist/stores/message/xata.cjs +25 -0
- package/dist/stores/message/xata.d.ts +29 -0
- package/dist/stores/message/xata.js +25 -0
- package/dist/text_splitter.cjs +9 -0
- package/dist/text_splitter.d.ts +3 -0
- package/dist/text_splitter.js +9 -0
- package/dist/tools/IFTTTWebhook.cjs +9 -0
- package/dist/tools/IFTTTWebhook.d.ts +7 -0
- package/dist/tools/IFTTTWebhook.js +9 -0
- package/dist/tools/aiplugin.cjs +15 -0
- package/dist/tools/aiplugin.d.ts +17 -0
- package/dist/tools/aiplugin.js +15 -0
- package/dist/tools/aws_lambda.cjs +9 -0
- package/dist/tools/aws_lambda.d.ts +7 -0
- package/dist/tools/aws_lambda.js +9 -0
- package/dist/tools/aws_sfn.cjs +28 -0
- package/dist/tools/aws_sfn.d.ts +22 -0
- package/dist/tools/aws_sfn.js +28 -0
- package/dist/tools/base.cjs +22 -0
- package/dist/tools/base.d.ts +25 -0
- package/dist/tools/base.js +22 -0
- package/dist/tools/bingserpapi.cjs +13 -0
- package/dist/tools/bingserpapi.d.ts +11 -0
- package/dist/tools/bingserpapi.js +13 -0
- package/dist/tools/brave_search.cjs +9 -0
- package/dist/tools/brave_search.d.ts +11 -0
- package/dist/tools/brave_search.js +9 -0
- package/dist/tools/calculator.cjs +7 -0
- package/dist/tools/calculator.d.ts +5 -0
- package/dist/tools/calculator.js +7 -0
- package/dist/tools/chain.cjs +9 -0
- package/dist/tools/chain.d.ts +12 -0
- package/dist/tools/chain.js +9 -0
- package/dist/tools/convert_to_openai.cjs +6 -0
- package/dist/tools/convert_to_openai.d.ts +6 -0
- package/dist/tools/convert_to_openai.js +6 -0
- package/dist/tools/dadjokeapi.cjs +9 -0
- package/dist/tools/dadjokeapi.d.ts +7 -0
- package/dist/tools/dadjokeapi.js +9 -0
- package/dist/tools/dataforseo_api_search.cjs +3 -0
- package/dist/tools/dataforseo_api_search.d.ts +10 -0
- package/dist/tools/dataforseo_api_search.js +3 -0
- package/dist/tools/dynamic.cjs +12 -0
- package/dist/tools/dynamic.d.ts +14 -0
- package/dist/tools/dynamic.js +12 -0
- package/dist/tools/fs.cjs +14 -0
- package/dist/tools/fs.d.ts +16 -0
- package/dist/tools/fs.js +14 -0
- package/dist/tools/google_custom_search.cjs +8 -0
- package/dist/tools/google_custom_search.d.ts +9 -0
- package/dist/tools/google_custom_search.js +8 -0
- package/dist/tools/json.cjs +29 -1
- package/dist/tools/json.d.ts +24 -0
- package/dist/tools/json.js +29 -1
- package/dist/tools/requests.cjs +19 -2
- package/dist/tools/requests.d.ts +17 -0
- package/dist/tools/requests.js +19 -2
- package/dist/tools/searxng_search.cjs +10 -0
- package/dist/tools/searxng_search.d.ts +11 -0
- package/dist/tools/searxng_search.js +10 -0
- package/dist/tools/serpapi.cjs +10 -0
- package/dist/tools/serpapi.d.ts +8 -0
- package/dist/tools/serpapi.js +10 -0
- package/dist/tools/serper.cjs +8 -0
- package/dist/tools/serper.d.ts +10 -0
- package/dist/tools/serper.js +8 -0
- package/dist/tools/sql.cjs +37 -0
- package/dist/tools/sql.d.ts +36 -0
- package/dist/tools/sql.js +37 -0
- package/dist/tools/vectorstore.cjs +14 -0
- package/dist/tools/vectorstore.d.ts +15 -0
- package/dist/tools/vectorstore.js +14 -0
- package/dist/tools/webbrowser.cjs +9 -0
- package/dist/tools/webbrowser.d.ts +13 -0
- package/dist/tools/webbrowser.js +9 -0
- package/dist/tools/wikipedia_query_run.cjs +19 -0
- package/dist/tools/wikipedia_query_run.d.ts +25 -0
- package/dist/tools/wikipedia_query_run.js +19 -0
- package/dist/tools/zapier.cjs +15 -0
- package/dist/tools/zapier.d.ts +13 -0
- package/dist/tools/zapier.js +15 -0
- package/dist/vectorstores/analyticdb.cjs +76 -0
- package/dist/vectorstores/analyticdb.d.ts +80 -0
- package/dist/vectorstores/analyticdb.js +76 -0
- package/dist/vectorstores/base.cjs +16 -0
- package/dist/vectorstores/base.d.ts +27 -0
- package/dist/vectorstores/base.js +16 -0
- package/dist/vectorstores/chroma.cjs +73 -0
- package/dist/vectorstores/chroma.d.ts +84 -0
- package/dist/vectorstores/chroma.js +73 -0
- package/dist/vectorstores/elasticsearch.cjs +74 -0
- package/dist/vectorstores/elasticsearch.d.ts +90 -0
- package/dist/vectorstores/elasticsearch.js +74 -0
- package/dist/vectorstores/faiss.cjs +65 -0
- package/dist/vectorstores/faiss.d.ts +69 -0
- package/dist/vectorstores/faiss.js +65 -0
- package/dist/vectorstores/hnswlib.cjs +71 -0
- package/dist/vectorstores/hnswlib.d.ts +80 -0
- package/dist/vectorstores/hnswlib.js +71 -0
- package/dist/vectorstores/lancedb.cjs +38 -0
- package/dist/vectorstores/lancedb.d.ts +42 -0
- package/dist/vectorstores/lancedb.js +38 -0
- package/dist/vectorstores/memory.cjs +56 -0
- package/dist/vectorstores/memory.d.ts +66 -0
- package/dist/vectorstores/memory.js +56 -0
- package/dist/vectorstores/milvus.cjs +91 -7
- package/dist/vectorstores/milvus.d.ts +80 -1
- package/dist/vectorstores/milvus.js +91 -7
- package/dist/vectorstores/mongo.cjs +45 -0
- package/dist/vectorstores/mongo.d.ts +49 -0
- package/dist/vectorstores/mongo.js +45 -0
- package/dist/vectorstores/mongodb_atlas.cjs +48 -0
- package/dist/vectorstores/mongodb_atlas.d.ts +59 -0
- package/dist/vectorstores/mongodb_atlas.js +48 -0
- package/dist/vectorstores/myscale.cjs +66 -0
- package/dist/vectorstores/myscale.d.ts +80 -0
- package/dist/vectorstores/myscale.js +66 -0
- package/dist/vectorstores/opensearch.cjs +60 -0
- package/dist/vectorstores/opensearch.d.ts +74 -0
- package/dist/vectorstores/opensearch.js +60 -0
- package/dist/vectorstores/pinecone.cjs +54 -0
- package/dist/vectorstores/pinecone.d.ts +58 -0
- package/dist/vectorstores/pinecone.js +54 -0
- package/dist/vectorstores/prisma.cjs +66 -0
- package/dist/vectorstores/prisma.d.ts +66 -0
- package/dist/vectorstores/prisma.js +66 -0
- package/dist/vectorstores/qdrant.cjs +60 -0
- package/dist/vectorstores/qdrant.d.ts +66 -0
- package/dist/vectorstores/qdrant.js +60 -0
- package/dist/vectorstores/redis.cjs +62 -0
- package/dist/vectorstores/redis.d.ts +88 -0
- package/dist/vectorstores/redis.js +62 -0
- package/dist/vectorstores/singlestore.cjs +46 -0
- package/dist/vectorstores/singlestore.d.ts +46 -0
- package/dist/vectorstores/singlestore.js +46 -0
- package/dist/vectorstores/supabase.cjs +50 -0
- package/dist/vectorstores/supabase.d.ts +54 -2
- package/dist/vectorstores/supabase.js +50 -0
- package/dist/vectorstores/tigris.cjs +49 -0
- package/dist/vectorstores/tigris.d.ts +53 -0
- package/dist/vectorstores/tigris.js +49 -0
- package/dist/vectorstores/typeorm.cjs +71 -0
- package/dist/vectorstores/typeorm.d.ts +76 -0
- package/dist/vectorstores/typeorm.js +71 -0
- package/dist/vectorstores/typesense.cjs +5 -0
- package/dist/vectorstores/typesense.d.ts +5 -0
- package/dist/vectorstores/typesense.js +5 -0
- package/dist/vectorstores/usearch.cjs +50 -0
- package/dist/vectorstores/usearch.d.ts +55 -0
- package/dist/vectorstores/usearch.js +50 -0
- package/dist/vectorstores/vectara.cjs +104 -0
- package/dist/vectorstores/vectara.d.ts +72 -0
- package/dist/vectorstores/vectara.js +104 -0
- package/dist/vectorstores/weaviate.cjs +61 -0
- package/dist/vectorstores/weaviate.d.ts +70 -0
- package/dist/vectorstores/weaviate.js +61 -0
- package/dist/vectorstores/xata.cjs +36 -0
- package/dist/vectorstores/xata.d.ts +43 -0
- package/dist/vectorstores/xata.js +36 -0
- package/dist/vectorstores/zep.d.ts +11 -0
- package/package.json +2 -2
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertObjectFilterToStructuredQuery = exports.ProxyParamsDuplicator = void 0;
|
|
4
|
+
const ir_js_1 = require("../../chains/query_constructor/ir.cjs");
|
|
5
|
+
/**
|
|
6
|
+
* Utility class used to duplicate parameters for a proxy object,
|
|
7
|
+
* specifically designed to work with `SupabaseFilter` objects. It
|
|
8
|
+
* contains methods to handle different types of operations such as "or",
|
|
9
|
+
* "filter", "in", "contains", "textSearch", "match", "not", and default
|
|
10
|
+
* operations.
|
|
11
|
+
*/
|
|
12
|
+
class ProxyParamsDuplicator {
|
|
13
|
+
constructor() {
|
|
14
|
+
Object.defineProperty(this, "duplicationAllowedOps", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: [
|
|
19
|
+
"eq",
|
|
20
|
+
"neq",
|
|
21
|
+
"lt",
|
|
22
|
+
"lte",
|
|
23
|
+
"gt",
|
|
24
|
+
"gte",
|
|
25
|
+
"like",
|
|
26
|
+
"ilike",
|
|
27
|
+
"or",
|
|
28
|
+
"in",
|
|
29
|
+
"contains",
|
|
30
|
+
"match",
|
|
31
|
+
"not",
|
|
32
|
+
"textSearch",
|
|
33
|
+
"filter",
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(this, "values", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
configurable: true,
|
|
39
|
+
writable: true,
|
|
40
|
+
value: []
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a proxy handler for a `SupabaseFilter` object. The handler
|
|
45
|
+
* intercepts get operations and applies specific logic based on the
|
|
46
|
+
* property being accessed.
|
|
47
|
+
* @returns A proxy handler for a `SupabaseFilter` object.
|
|
48
|
+
*/
|
|
49
|
+
buildProxyHandler() {
|
|
50
|
+
const proxyHandler = {
|
|
51
|
+
get: (target, prop, receiver) => {
|
|
52
|
+
if (typeof target[prop] === "function") {
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
+
return (...args) => {
|
|
55
|
+
if (this.duplicationAllowedOps.includes(String(prop))) {
|
|
56
|
+
switch (String(prop)) {
|
|
57
|
+
case "or":
|
|
58
|
+
// args[0]: filters, args[1]: { foreignTable }
|
|
59
|
+
this.addOrClause(args[0], args[1]);
|
|
60
|
+
break;
|
|
61
|
+
case "filter":
|
|
62
|
+
// args[0]: column, args[1]: operator, args[2]: value
|
|
63
|
+
this.addFilterClause(args[0], args[1], args[2]);
|
|
64
|
+
break;
|
|
65
|
+
case "in":
|
|
66
|
+
// args[0]: column, args[1]: values
|
|
67
|
+
this.addInClause(args[0], args[1]);
|
|
68
|
+
break;
|
|
69
|
+
case "contains":
|
|
70
|
+
// args[0]: column, args[1]: value
|
|
71
|
+
this.addContainsClause(args[0], args[1]);
|
|
72
|
+
break;
|
|
73
|
+
case "textSearch":
|
|
74
|
+
// args[0]: column, args[1]: query, args[2]: { config, type }
|
|
75
|
+
this.addTextSearchClause(args[0], args[1], args[2]);
|
|
76
|
+
break;
|
|
77
|
+
case "match":
|
|
78
|
+
// args[0]: query
|
|
79
|
+
this.addMatchClause(args[0]);
|
|
80
|
+
break;
|
|
81
|
+
case "not":
|
|
82
|
+
// args[0]: column, args[1]: operator, args[2]: value
|
|
83
|
+
this.addNotClause(args[0], args[1], args[2]);
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
// args[0]: column, args[1]: value
|
|
87
|
+
this.addDefaultOpClause(prop, args[0], args[1]);
|
|
88
|
+
}
|
|
89
|
+
return new Proxy(target, proxyHandler);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new Error("Filter operation not supported for 'or' mergeFiltersOperator");
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return Reflect.get(target, prop, receiver);
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
return proxyHandler;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Removes type annotations from a value string.
|
|
105
|
+
* @param value The value string to clean.
|
|
106
|
+
* @returns The cleaned value string.
|
|
107
|
+
*/
|
|
108
|
+
removeType(value) {
|
|
109
|
+
let cleanedValue = value;
|
|
110
|
+
if (cleanedValue.includes("::float")) {
|
|
111
|
+
cleanedValue = cleanedValue.replace("::float", "");
|
|
112
|
+
}
|
|
113
|
+
if (cleanedValue.includes("::int")) {
|
|
114
|
+
cleanedValue = cleanedValue.replace("::int", "");
|
|
115
|
+
}
|
|
116
|
+
return cleanedValue;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Adds a default operation clause to the values array.
|
|
120
|
+
* @param prop The operation property.
|
|
121
|
+
* @param column The column to apply the operation to.
|
|
122
|
+
* @param value The value for the operation.
|
|
123
|
+
*/
|
|
124
|
+
addDefaultOpClause(prop, column, value) {
|
|
125
|
+
this.values.push([this.removeType(column), `${String(prop)}.${value}`]);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Adds an 'or' clause to the values array.
|
|
129
|
+
* @param filters The filters for the 'or' clause.
|
|
130
|
+
* @param foreignTable Optional foreign table for the 'or' clause.
|
|
131
|
+
*/
|
|
132
|
+
addOrClause(filters, { foreignTable } = {}) {
|
|
133
|
+
const key = foreignTable ? `${foreignTable}.or` : "or";
|
|
134
|
+
this.values.push([this.removeType(key), `(${filters})`]);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Adds a 'filter' clause to the values array.
|
|
138
|
+
* @param column The column to apply the filter to.
|
|
139
|
+
* @param operator The operator for the filter.
|
|
140
|
+
* @param value The value for the filter.
|
|
141
|
+
*/
|
|
142
|
+
addFilterClause(column, operator, value) {
|
|
143
|
+
this.values.push([this.removeType(column), `${operator}.${value}`]);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Adds an 'in' clause to the values array.
|
|
147
|
+
* @param column The column to apply the 'in' clause to.
|
|
148
|
+
* @param values The values for the 'in' clause.
|
|
149
|
+
*/
|
|
150
|
+
addInClause(column, values) {
|
|
151
|
+
const cleanedValues = values
|
|
152
|
+
.map((s) => {
|
|
153
|
+
if (typeof s === "string" && /[,()]/.test(s))
|
|
154
|
+
return `"${s}"`;
|
|
155
|
+
else
|
|
156
|
+
return `${s}`;
|
|
157
|
+
})
|
|
158
|
+
.join(",");
|
|
159
|
+
this.values.push([this.removeType(column), `in.(${cleanedValues})`]);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Adds a 'contains' clause to the values array.
|
|
163
|
+
* @param column The column to apply the 'contains' clause to.
|
|
164
|
+
* @param value The value for the 'contains' clause.
|
|
165
|
+
*/
|
|
166
|
+
addContainsClause(column, value) {
|
|
167
|
+
if (typeof value === "string") {
|
|
168
|
+
this.values.push([this.removeType(column), `cs.${value}`]);
|
|
169
|
+
}
|
|
170
|
+
else if (Array.isArray(value)) {
|
|
171
|
+
this.values.push([this.removeType(column), `cs.{${value.join(",")}}`]);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.values.push([
|
|
175
|
+
this.removeType(column),
|
|
176
|
+
`cs.${JSON.stringify(value)}`,
|
|
177
|
+
]);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Adds a 'textSearch' clause to the values array.
|
|
182
|
+
* @param column The column to apply the 'textSearch' clause to.
|
|
183
|
+
* @param query The query for the 'textSearch' clause.
|
|
184
|
+
* @param config Optional configuration for the 'textSearch' clause.
|
|
185
|
+
* @param type Optional type for the 'textSearch' clause.
|
|
186
|
+
*/
|
|
187
|
+
addTextSearchClause(column, query, { config, type, } = {}) {
|
|
188
|
+
let typePart = "";
|
|
189
|
+
if (type === "plain") {
|
|
190
|
+
typePart = "pl";
|
|
191
|
+
}
|
|
192
|
+
else if (type === "phrase") {
|
|
193
|
+
typePart = "ph";
|
|
194
|
+
}
|
|
195
|
+
else if (type === "websearch") {
|
|
196
|
+
typePart = "w";
|
|
197
|
+
}
|
|
198
|
+
const configPart = config === undefined ? "" : `(${config})`;
|
|
199
|
+
this.values.push([
|
|
200
|
+
this.removeType(column),
|
|
201
|
+
`${typePart}fts${configPart}.${query}`,
|
|
202
|
+
]);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Adds a 'not' clause to the values array.
|
|
206
|
+
* @param column The column to apply the 'not' clause to.
|
|
207
|
+
* @param operator The operator for the 'not' clause.
|
|
208
|
+
* @param value The value for the 'not' clause.
|
|
209
|
+
*/
|
|
210
|
+
addNotClause(column, operator, value) {
|
|
211
|
+
this.values.push([column, `not.${operator}.${value}`]);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Adds a 'match' clause to the values array.
|
|
215
|
+
* @param query The query for the 'match' clause.
|
|
216
|
+
*/
|
|
217
|
+
addMatchClause(query) {
|
|
218
|
+
Object.entries(query).forEach(([column, value]) => {
|
|
219
|
+
this.values.push([column, `eq.${value}`]);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Returns the flattened parameters as a string.
|
|
224
|
+
* @returns The flattened parameters as a string.
|
|
225
|
+
*/
|
|
226
|
+
flattenedParams() {
|
|
227
|
+
const mapped = this.values.map(([k, v]) => `${k}.${v}`);
|
|
228
|
+
if (mapped.length === 1)
|
|
229
|
+
return mapped[0];
|
|
230
|
+
return `and(${mapped.join(",")})`;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Gets flattened parameters from a `SupabaseFilter` and a
|
|
234
|
+
* `SupabaseFilterRPCCall`.
|
|
235
|
+
* @param rpc The `SupabaseFilter` object.
|
|
236
|
+
* @param filter The `SupabaseFilterRPCCall` object.
|
|
237
|
+
* @returns The flattened parameters as a string.
|
|
238
|
+
*/
|
|
239
|
+
static getFlattenedParams(rpc, filter) {
|
|
240
|
+
const proxiedDuplicator = new ProxyParamsDuplicator();
|
|
241
|
+
const proxiedRpc = new Proxy(rpc, proxiedDuplicator.buildProxyHandler());
|
|
242
|
+
void filter(proxiedRpc);
|
|
243
|
+
return proxiedDuplicator.flattenedParams();
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
exports.ProxyParamsDuplicator = ProxyParamsDuplicator;
|
|
247
|
+
/**
|
|
248
|
+
* Converts a `SupabaseMetadata` object into a `StructuredQuery` object.
|
|
249
|
+
* The function creates a new `StructuredQuery` object and uses the
|
|
250
|
+
* `Operation` and `Comparison` classes to build the query.
|
|
251
|
+
*/
|
|
252
|
+
function convertObjectFilterToStructuredQuery(objFilter) {
|
|
253
|
+
return new ir_js_1.StructuredQuery("", new ir_js_1.Operation(ir_js_1.Operators.and, Object.entries(objFilter).map(([column, value]) => new ir_js_1.Comparison(ir_js_1.Comparators.eq, column, value))));
|
|
254
|
+
}
|
|
255
|
+
exports.convertObjectFilterToStructuredQuery = convertObjectFilterToStructuredQuery;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { StructuredQuery } from "../../chains/query_constructor/ir.js";
|
|
2
|
+
import type { SupabaseFilter, SupabaseFilterRPCCall, SupabaseMetadata } from "../../vectorstores/supabase.js";
|
|
3
|
+
/**
|
|
4
|
+
* Utility class used to duplicate parameters for a proxy object,
|
|
5
|
+
* specifically designed to work with `SupabaseFilter` objects. It
|
|
6
|
+
* contains methods to handle different types of operations such as "or",
|
|
7
|
+
* "filter", "in", "contains", "textSearch", "match", "not", and default
|
|
8
|
+
* operations.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ProxyParamsDuplicator {
|
|
11
|
+
duplicationAllowedOps: string[];
|
|
12
|
+
values: [string, string][];
|
|
13
|
+
/**
|
|
14
|
+
* Creates a proxy handler for a `SupabaseFilter` object. The handler
|
|
15
|
+
* intercepts get operations and applies specific logic based on the
|
|
16
|
+
* property being accessed.
|
|
17
|
+
* @returns A proxy handler for a `SupabaseFilter` object.
|
|
18
|
+
*/
|
|
19
|
+
buildProxyHandler(): ProxyHandler<SupabaseFilter>;
|
|
20
|
+
/**
|
|
21
|
+
* Removes type annotations from a value string.
|
|
22
|
+
* @param value The value string to clean.
|
|
23
|
+
* @returns The cleaned value string.
|
|
24
|
+
*/
|
|
25
|
+
removeType(value: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Adds a default operation clause to the values array.
|
|
28
|
+
* @param prop The operation property.
|
|
29
|
+
* @param column The column to apply the operation to.
|
|
30
|
+
* @param value The value for the operation.
|
|
31
|
+
*/
|
|
32
|
+
addDefaultOpClause(prop: string, column: string, value: unknown): void;
|
|
33
|
+
/**
|
|
34
|
+
* Adds an 'or' clause to the values array.
|
|
35
|
+
* @param filters The filters for the 'or' clause.
|
|
36
|
+
* @param foreignTable Optional foreign table for the 'or' clause.
|
|
37
|
+
*/
|
|
38
|
+
addOrClause(filters: string, { foreignTable }?: {
|
|
39
|
+
foreignTable?: string;
|
|
40
|
+
}): void;
|
|
41
|
+
/**
|
|
42
|
+
* Adds a 'filter' clause to the values array.
|
|
43
|
+
* @param column The column to apply the filter to.
|
|
44
|
+
* @param operator The operator for the filter.
|
|
45
|
+
* @param value The value for the filter.
|
|
46
|
+
*/
|
|
47
|
+
addFilterClause(column: string, operator: string, value: unknown): void;
|
|
48
|
+
/**
|
|
49
|
+
* Adds an 'in' clause to the values array.
|
|
50
|
+
* @param column The column to apply the 'in' clause to.
|
|
51
|
+
* @param values The values for the 'in' clause.
|
|
52
|
+
*/
|
|
53
|
+
addInClause(column: string, values: unknown[]): void;
|
|
54
|
+
/**
|
|
55
|
+
* Adds a 'contains' clause to the values array.
|
|
56
|
+
* @param column The column to apply the 'contains' clause to.
|
|
57
|
+
* @param value The value for the 'contains' clause.
|
|
58
|
+
*/
|
|
59
|
+
addContainsClause(column: string, value: unknown): void;
|
|
60
|
+
/**
|
|
61
|
+
* Adds a 'textSearch' clause to the values array.
|
|
62
|
+
* @param column The column to apply the 'textSearch' clause to.
|
|
63
|
+
* @param query The query for the 'textSearch' clause.
|
|
64
|
+
* @param config Optional configuration for the 'textSearch' clause.
|
|
65
|
+
* @param type Optional type for the 'textSearch' clause.
|
|
66
|
+
*/
|
|
67
|
+
addTextSearchClause(column: string, query: string[], { config, type, }?: {
|
|
68
|
+
config?: string;
|
|
69
|
+
type?: "plain" | "phrase" | "websearch";
|
|
70
|
+
}): void;
|
|
71
|
+
/**
|
|
72
|
+
* Adds a 'not' clause to the values array.
|
|
73
|
+
* @param column The column to apply the 'not' clause to.
|
|
74
|
+
* @param operator The operator for the 'not' clause.
|
|
75
|
+
* @param value The value for the 'not' clause.
|
|
76
|
+
*/
|
|
77
|
+
addNotClause(column: string, operator: string, value: unknown): void;
|
|
78
|
+
/**
|
|
79
|
+
* Adds a 'match' clause to the values array.
|
|
80
|
+
* @param query The query for the 'match' clause.
|
|
81
|
+
*/
|
|
82
|
+
addMatchClause(query: Record<string, unknown>): void;
|
|
83
|
+
/**
|
|
84
|
+
* Returns the flattened parameters as a string.
|
|
85
|
+
* @returns The flattened parameters as a string.
|
|
86
|
+
*/
|
|
87
|
+
flattenedParams(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Gets flattened parameters from a `SupabaseFilter` and a
|
|
90
|
+
* `SupabaseFilterRPCCall`.
|
|
91
|
+
* @param rpc The `SupabaseFilter` object.
|
|
92
|
+
* @param filter The `SupabaseFilterRPCCall` object.
|
|
93
|
+
* @returns The flattened parameters as a string.
|
|
94
|
+
*/
|
|
95
|
+
static getFlattenedParams(rpc: SupabaseFilter, filter: SupabaseFilterRPCCall): string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Converts a `SupabaseMetadata` object into a `StructuredQuery` object.
|
|
99
|
+
* The function creates a new `StructuredQuery` object and uses the
|
|
100
|
+
* `Operation` and `Comparison` classes to build the query.
|
|
101
|
+
*/
|
|
102
|
+
export declare function convertObjectFilterToStructuredQuery(objFilter: SupabaseMetadata): StructuredQuery;
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { Comparators, Comparison, Operation, Operators, StructuredQuery, } from "../../chains/query_constructor/ir.js";
|
|
2
|
+
/**
|
|
3
|
+
* Utility class used to duplicate parameters for a proxy object,
|
|
4
|
+
* specifically designed to work with `SupabaseFilter` objects. It
|
|
5
|
+
* contains methods to handle different types of operations such as "or",
|
|
6
|
+
* "filter", "in", "contains", "textSearch", "match", "not", and default
|
|
7
|
+
* operations.
|
|
8
|
+
*/
|
|
9
|
+
export class ProxyParamsDuplicator {
|
|
10
|
+
constructor() {
|
|
11
|
+
Object.defineProperty(this, "duplicationAllowedOps", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: [
|
|
16
|
+
"eq",
|
|
17
|
+
"neq",
|
|
18
|
+
"lt",
|
|
19
|
+
"lte",
|
|
20
|
+
"gt",
|
|
21
|
+
"gte",
|
|
22
|
+
"like",
|
|
23
|
+
"ilike",
|
|
24
|
+
"or",
|
|
25
|
+
"in",
|
|
26
|
+
"contains",
|
|
27
|
+
"match",
|
|
28
|
+
"not",
|
|
29
|
+
"textSearch",
|
|
30
|
+
"filter",
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "values", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: []
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates a proxy handler for a `SupabaseFilter` object. The handler
|
|
42
|
+
* intercepts get operations and applies specific logic based on the
|
|
43
|
+
* property being accessed.
|
|
44
|
+
* @returns A proxy handler for a `SupabaseFilter` object.
|
|
45
|
+
*/
|
|
46
|
+
buildProxyHandler() {
|
|
47
|
+
const proxyHandler = {
|
|
48
|
+
get: (target, prop, receiver) => {
|
|
49
|
+
if (typeof target[prop] === "function") {
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
return (...args) => {
|
|
52
|
+
if (this.duplicationAllowedOps.includes(String(prop))) {
|
|
53
|
+
switch (String(prop)) {
|
|
54
|
+
case "or":
|
|
55
|
+
// args[0]: filters, args[1]: { foreignTable }
|
|
56
|
+
this.addOrClause(args[0], args[1]);
|
|
57
|
+
break;
|
|
58
|
+
case "filter":
|
|
59
|
+
// args[0]: column, args[1]: operator, args[2]: value
|
|
60
|
+
this.addFilterClause(args[0], args[1], args[2]);
|
|
61
|
+
break;
|
|
62
|
+
case "in":
|
|
63
|
+
// args[0]: column, args[1]: values
|
|
64
|
+
this.addInClause(args[0], args[1]);
|
|
65
|
+
break;
|
|
66
|
+
case "contains":
|
|
67
|
+
// args[0]: column, args[1]: value
|
|
68
|
+
this.addContainsClause(args[0], args[1]);
|
|
69
|
+
break;
|
|
70
|
+
case "textSearch":
|
|
71
|
+
// args[0]: column, args[1]: query, args[2]: { config, type }
|
|
72
|
+
this.addTextSearchClause(args[0], args[1], args[2]);
|
|
73
|
+
break;
|
|
74
|
+
case "match":
|
|
75
|
+
// args[0]: query
|
|
76
|
+
this.addMatchClause(args[0]);
|
|
77
|
+
break;
|
|
78
|
+
case "not":
|
|
79
|
+
// args[0]: column, args[1]: operator, args[2]: value
|
|
80
|
+
this.addNotClause(args[0], args[1], args[2]);
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
// args[0]: column, args[1]: value
|
|
84
|
+
this.addDefaultOpClause(prop, args[0], args[1]);
|
|
85
|
+
}
|
|
86
|
+
return new Proxy(target, proxyHandler);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new Error("Filter operation not supported for 'or' mergeFiltersOperator");
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return Reflect.get(target, prop, receiver);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
return proxyHandler;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Removes type annotations from a value string.
|
|
102
|
+
* @param value The value string to clean.
|
|
103
|
+
* @returns The cleaned value string.
|
|
104
|
+
*/
|
|
105
|
+
removeType(value) {
|
|
106
|
+
let cleanedValue = value;
|
|
107
|
+
if (cleanedValue.includes("::float")) {
|
|
108
|
+
cleanedValue = cleanedValue.replace("::float", "");
|
|
109
|
+
}
|
|
110
|
+
if (cleanedValue.includes("::int")) {
|
|
111
|
+
cleanedValue = cleanedValue.replace("::int", "");
|
|
112
|
+
}
|
|
113
|
+
return cleanedValue;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Adds a default operation clause to the values array.
|
|
117
|
+
* @param prop The operation property.
|
|
118
|
+
* @param column The column to apply the operation to.
|
|
119
|
+
* @param value The value for the operation.
|
|
120
|
+
*/
|
|
121
|
+
addDefaultOpClause(prop, column, value) {
|
|
122
|
+
this.values.push([this.removeType(column), `${String(prop)}.${value}`]);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Adds an 'or' clause to the values array.
|
|
126
|
+
* @param filters The filters for the 'or' clause.
|
|
127
|
+
* @param foreignTable Optional foreign table for the 'or' clause.
|
|
128
|
+
*/
|
|
129
|
+
addOrClause(filters, { foreignTable } = {}) {
|
|
130
|
+
const key = foreignTable ? `${foreignTable}.or` : "or";
|
|
131
|
+
this.values.push([this.removeType(key), `(${filters})`]);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Adds a 'filter' clause to the values array.
|
|
135
|
+
* @param column The column to apply the filter to.
|
|
136
|
+
* @param operator The operator for the filter.
|
|
137
|
+
* @param value The value for the filter.
|
|
138
|
+
*/
|
|
139
|
+
addFilterClause(column, operator, value) {
|
|
140
|
+
this.values.push([this.removeType(column), `${operator}.${value}`]);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Adds an 'in' clause to the values array.
|
|
144
|
+
* @param column The column to apply the 'in' clause to.
|
|
145
|
+
* @param values The values for the 'in' clause.
|
|
146
|
+
*/
|
|
147
|
+
addInClause(column, values) {
|
|
148
|
+
const cleanedValues = values
|
|
149
|
+
.map((s) => {
|
|
150
|
+
if (typeof s === "string" && /[,()]/.test(s))
|
|
151
|
+
return `"${s}"`;
|
|
152
|
+
else
|
|
153
|
+
return `${s}`;
|
|
154
|
+
})
|
|
155
|
+
.join(",");
|
|
156
|
+
this.values.push([this.removeType(column), `in.(${cleanedValues})`]);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Adds a 'contains' clause to the values array.
|
|
160
|
+
* @param column The column to apply the 'contains' clause to.
|
|
161
|
+
* @param value The value for the 'contains' clause.
|
|
162
|
+
*/
|
|
163
|
+
addContainsClause(column, value) {
|
|
164
|
+
if (typeof value === "string") {
|
|
165
|
+
this.values.push([this.removeType(column), `cs.${value}`]);
|
|
166
|
+
}
|
|
167
|
+
else if (Array.isArray(value)) {
|
|
168
|
+
this.values.push([this.removeType(column), `cs.{${value.join(",")}}`]);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
this.values.push([
|
|
172
|
+
this.removeType(column),
|
|
173
|
+
`cs.${JSON.stringify(value)}`,
|
|
174
|
+
]);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Adds a 'textSearch' clause to the values array.
|
|
179
|
+
* @param column The column to apply the 'textSearch' clause to.
|
|
180
|
+
* @param query The query for the 'textSearch' clause.
|
|
181
|
+
* @param config Optional configuration for the 'textSearch' clause.
|
|
182
|
+
* @param type Optional type for the 'textSearch' clause.
|
|
183
|
+
*/
|
|
184
|
+
addTextSearchClause(column, query, { config, type, } = {}) {
|
|
185
|
+
let typePart = "";
|
|
186
|
+
if (type === "plain") {
|
|
187
|
+
typePart = "pl";
|
|
188
|
+
}
|
|
189
|
+
else if (type === "phrase") {
|
|
190
|
+
typePart = "ph";
|
|
191
|
+
}
|
|
192
|
+
else if (type === "websearch") {
|
|
193
|
+
typePart = "w";
|
|
194
|
+
}
|
|
195
|
+
const configPart = config === undefined ? "" : `(${config})`;
|
|
196
|
+
this.values.push([
|
|
197
|
+
this.removeType(column),
|
|
198
|
+
`${typePart}fts${configPart}.${query}`,
|
|
199
|
+
]);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Adds a 'not' clause to the values array.
|
|
203
|
+
* @param column The column to apply the 'not' clause to.
|
|
204
|
+
* @param operator The operator for the 'not' clause.
|
|
205
|
+
* @param value The value for the 'not' clause.
|
|
206
|
+
*/
|
|
207
|
+
addNotClause(column, operator, value) {
|
|
208
|
+
this.values.push([column, `not.${operator}.${value}`]);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Adds a 'match' clause to the values array.
|
|
212
|
+
* @param query The query for the 'match' clause.
|
|
213
|
+
*/
|
|
214
|
+
addMatchClause(query) {
|
|
215
|
+
Object.entries(query).forEach(([column, value]) => {
|
|
216
|
+
this.values.push([column, `eq.${value}`]);
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Returns the flattened parameters as a string.
|
|
221
|
+
* @returns The flattened parameters as a string.
|
|
222
|
+
*/
|
|
223
|
+
flattenedParams() {
|
|
224
|
+
const mapped = this.values.map(([k, v]) => `${k}.${v}`);
|
|
225
|
+
if (mapped.length === 1)
|
|
226
|
+
return mapped[0];
|
|
227
|
+
return `and(${mapped.join(",")})`;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Gets flattened parameters from a `SupabaseFilter` and a
|
|
231
|
+
* `SupabaseFilterRPCCall`.
|
|
232
|
+
* @param rpc The `SupabaseFilter` object.
|
|
233
|
+
* @param filter The `SupabaseFilterRPCCall` object.
|
|
234
|
+
* @returns The flattened parameters as a string.
|
|
235
|
+
*/
|
|
236
|
+
static getFlattenedParams(rpc, filter) {
|
|
237
|
+
const proxiedDuplicator = new ProxyParamsDuplicator();
|
|
238
|
+
const proxiedRpc = new Proxy(rpc, proxiedDuplicator.buildProxyHandler());
|
|
239
|
+
void filter(proxiedRpc);
|
|
240
|
+
return proxiedDuplicator.flattenedParams();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Converts a `SupabaseMetadata` object into a `StructuredQuery` object.
|
|
245
|
+
* The function creates a new `StructuredQuery` object and uses the
|
|
246
|
+
* `Operation` and `Comparison` classes to build the query.
|
|
247
|
+
*/
|
|
248
|
+
export function convertObjectFilterToStructuredQuery(objFilter) {
|
|
249
|
+
return new StructuredQuery("", new Operation(Operators.and, Object.entries(objFilter).map(([column, value]) => new Comparison(Comparators.eq, column, value))));
|
|
250
|
+
}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFilterEmpty = exports.isObject = void 0;
|
|
4
|
-
|
|
3
|
+
exports.isString = exports.isFloat = exports.isInt = exports.isFilterEmpty = exports.isObject = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Checks if the provided argument is an object and not an array.
|
|
6
|
+
*/
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
8
|
function isObject(obj) {
|
|
6
9
|
return obj && typeof obj === "object" && !Array.isArray(obj);
|
|
7
10
|
}
|
|
8
11
|
exports.isObject = isObject;
|
|
9
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Checks if a provided filter is empty. The filter can be a function, an
|
|
14
|
+
* object, a string, or undefined.
|
|
15
|
+
*/
|
|
16
|
+
function isFilterEmpty(
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
+
filter) {
|
|
10
19
|
if (!filter)
|
|
11
20
|
return true;
|
|
12
21
|
// for Milvus
|
|
@@ -19,3 +28,27 @@ function isFilterEmpty(filter) {
|
|
|
19
28
|
return isObject(filter) && Object.keys(filter).length === 0;
|
|
20
29
|
}
|
|
21
30
|
exports.isFilterEmpty = isFilterEmpty;
|
|
31
|
+
/**
|
|
32
|
+
* Checks if the provided value is an integer.
|
|
33
|
+
*/
|
|
34
|
+
function isInt(value) {
|
|
35
|
+
const numberValue = parseFloat(value);
|
|
36
|
+
return !Number.isNaN(numberValue) && numberValue % 1 === 0;
|
|
37
|
+
}
|
|
38
|
+
exports.isInt = isInt;
|
|
39
|
+
/**
|
|
40
|
+
* Checks if the provided value is a floating-point number.
|
|
41
|
+
*/
|
|
42
|
+
function isFloat(value) {
|
|
43
|
+
const numberValue = parseFloat(value);
|
|
44
|
+
return !Number.isNaN(numberValue) && numberValue % 1 !== 0;
|
|
45
|
+
}
|
|
46
|
+
exports.isFloat = isFloat;
|
|
47
|
+
/**
|
|
48
|
+
* Checks if the provided value is a string that cannot be parsed into a
|
|
49
|
+
* number.
|
|
50
|
+
*/
|
|
51
|
+
function isString(value) {
|
|
52
|
+
return typeof value === "string" && Number.isNaN(parseFloat(value));
|
|
53
|
+
}
|
|
54
|
+
exports.isString = isString;
|
|
@@ -1,2 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if the provided argument is an object and not an array.
|
|
3
|
+
*/
|
|
1
4
|
export declare function isObject(obj: any): obj is object;
|
|
5
|
+
/**
|
|
6
|
+
* Checks if a provided filter is empty. The filter can be a function, an
|
|
7
|
+
* object, a string, or undefined.
|
|
8
|
+
*/
|
|
2
9
|
export declare function isFilterEmpty(filter: ((q: any) => any) | object | string | undefined): filter is undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Checks if the provided value is an integer.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isInt(value: unknown): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the provided value is a floating-point number.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isFloat(value: unknown): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if the provided value is a string that cannot be parsed into a
|
|
20
|
+
* number.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isString(value: unknown): boolean;
|