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
|
@@ -4,6 +4,12 @@ exports.SupabaseTranslator = void 0;
|
|
|
4
4
|
const ir_js_1 = require("../../chains/query_constructor/ir.cjs");
|
|
5
5
|
const base_js_1 = require("./base.cjs");
|
|
6
6
|
const utils_js_1 = require("./utils.cjs");
|
|
7
|
+
const supabase_utils_js_1 = require("./supabase_utils.cjs");
|
|
8
|
+
/**
|
|
9
|
+
* A specialized translator designed to work with Supabase, extending the
|
|
10
|
+
* BaseTranslator class. It translates structured queries into a format
|
|
11
|
+
* that can be understood by the Supabase database.
|
|
12
|
+
*/
|
|
7
13
|
class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
8
14
|
constructor() {
|
|
9
15
|
super(...arguments);
|
|
@@ -30,6 +36,13 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
30
36
|
formatFunction() {
|
|
31
37
|
throw new Error("Not implemented");
|
|
32
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns a function that applies the appropriate comparator operation on
|
|
41
|
+
* the attribute and value provided. The function returned is used to
|
|
42
|
+
* filter data in a Supabase database.
|
|
43
|
+
* @param comparator The comparator to be used in the operation.
|
|
44
|
+
* @returns A function that applies the comparator operation on the attribute and value provided.
|
|
45
|
+
*/
|
|
33
46
|
getComparatorFunction(comparator) {
|
|
34
47
|
switch (comparator) {
|
|
35
48
|
case ir_js_1.Comparators.eq: {
|
|
@@ -55,19 +68,37 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
55
68
|
}
|
|
56
69
|
}
|
|
57
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Builds a column name based on the attribute and value provided. The
|
|
73
|
+
* column name is used in filtering data in a Supabase database.
|
|
74
|
+
* @param attr The attribute to be used in the column name.
|
|
75
|
+
* @param value The value to be used in the column name.
|
|
76
|
+
* @param includeType Whether to include the data type in the column name.
|
|
77
|
+
* @returns The built column name.
|
|
78
|
+
*/
|
|
58
79
|
buildColumnName(attr, value, includeType = true) {
|
|
59
80
|
let column = "";
|
|
60
|
-
if (
|
|
81
|
+
if ((0, utils_js_1.isString)(value)) {
|
|
61
82
|
column = `metadata->>${attr}`;
|
|
62
83
|
}
|
|
63
|
-
else if (
|
|
84
|
+
else if ((0, utils_js_1.isInt)(value)) {
|
|
64
85
|
column = `metadata->${attr}${includeType ? "::int" : ""}`;
|
|
65
86
|
}
|
|
87
|
+
else if ((0, utils_js_1.isFloat)(value)) {
|
|
88
|
+
column = `metadata->${attr}${includeType ? "::float" : ""}`;
|
|
89
|
+
}
|
|
66
90
|
else {
|
|
67
91
|
throw new Error("Data type not supported");
|
|
68
92
|
}
|
|
69
93
|
return column;
|
|
70
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Visits an operation and returns a string representation of it. This is
|
|
97
|
+
* used in translating a structured query into a format that can be
|
|
98
|
+
* understood by Supabase.
|
|
99
|
+
* @param operation The operation to be visited.
|
|
100
|
+
* @returns A string representation of the operation.
|
|
101
|
+
*/
|
|
71
102
|
visitOperationAsString(operation) {
|
|
72
103
|
const { args } = operation;
|
|
73
104
|
if (!args) {
|
|
@@ -86,6 +117,13 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
86
117
|
}, [])
|
|
87
118
|
.join(",");
|
|
88
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Visits an operation and returns a function that applies the operation
|
|
122
|
+
* on a Supabase database. This is used in translating a structured query
|
|
123
|
+
* into a format that can be understood by Supabase.
|
|
124
|
+
* @param operation The operation to be visited.
|
|
125
|
+
* @returns A function that applies the operation on a Supabase database.
|
|
126
|
+
*/
|
|
89
127
|
visitOperation(operation) {
|
|
90
128
|
const { operator, args } = operation;
|
|
91
129
|
if (this.allowedOperators.includes(operator)) {
|
|
@@ -110,6 +148,13 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
110
148
|
throw new Error("Operator not allowed");
|
|
111
149
|
}
|
|
112
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Visits a comparison and returns a string representation of it. This is
|
|
153
|
+
* used in translating a structured query into a format that can be
|
|
154
|
+
* understood by Supabase.
|
|
155
|
+
* @param comparison The comparison to be visited.
|
|
156
|
+
* @returns A string representation of the comparison.
|
|
157
|
+
*/
|
|
113
158
|
visitComparisonAsString(comparison) {
|
|
114
159
|
let { value } = comparison;
|
|
115
160
|
const { comparator: _comparator, attribute } = comparison;
|
|
@@ -128,6 +173,13 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
128
173
|
}
|
|
129
174
|
return `${this.buildColumnName(attribute, value, false)}.${comparator}.${value}}`;
|
|
130
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Visits a comparison and returns a function that applies the comparison
|
|
178
|
+
* on a Supabase database. This is used in translating a structured query
|
|
179
|
+
* into a format that can be understood by Supabase.
|
|
180
|
+
* @param comparison The comparison to be visited.
|
|
181
|
+
* @returns A function that applies the comparison on a Supabase database.
|
|
182
|
+
*/
|
|
131
183
|
visitComparison(comparison) {
|
|
132
184
|
const { comparator, attribute, value } = comparison;
|
|
133
185
|
if (this.allowedComparators.includes(comparator)) {
|
|
@@ -138,6 +190,13 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
138
190
|
throw new Error("Comparator not allowed");
|
|
139
191
|
}
|
|
140
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Visits a structured query and returns a function that applies the query
|
|
195
|
+
* on a Supabase database. This is used in translating a structured query
|
|
196
|
+
* into a format that can be understood by Supabase.
|
|
197
|
+
* @param query The structured query to be visited.
|
|
198
|
+
* @returns A function that applies the query on a Supabase database.
|
|
199
|
+
*/
|
|
141
200
|
visitStructuredQuery(query) {
|
|
142
201
|
if (!query.filter) {
|
|
143
202
|
return {};
|
|
@@ -145,10 +204,15 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
145
204
|
const filterFunction = query.filter?.accept(this);
|
|
146
205
|
return { filter: filterFunction ?? {} };
|
|
147
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Merges two filters into one. The merged filter can be used to filter
|
|
209
|
+
* data in a Supabase database.
|
|
210
|
+
* @param defaultFilter The default filter to be merged.
|
|
211
|
+
* @param generatedFilter The generated filter to be merged.
|
|
212
|
+
* @param mergeType The type of merge to be performed. It can be 'and', 'or', or 'replace'.
|
|
213
|
+
* @returns The merged filter.
|
|
214
|
+
*/
|
|
148
215
|
mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
|
|
149
|
-
if (mergeType === "or") {
|
|
150
|
-
throw new Error("Supabase self-query filter does not support merging two filters with the OR operator");
|
|
151
|
-
}
|
|
152
216
|
if ((0, utils_js_1.isFilterEmpty)(defaultFilter) && (0, utils_js_1.isFilterEmpty)(generatedFilter)) {
|
|
153
217
|
return undefined;
|
|
154
218
|
}
|
|
@@ -164,8 +228,28 @@ class SupabaseTranslator extends base_js_1.BaseTranslator {
|
|
|
164
228
|
}
|
|
165
229
|
return defaultFilter;
|
|
166
230
|
}
|
|
167
|
-
|
|
168
|
-
|
|
231
|
+
let myDefaultFilter = defaultFilter;
|
|
232
|
+
if ((0, utils_js_1.isObject)(defaultFilter)) {
|
|
233
|
+
const { filter } = this.visitStructuredQuery((0, supabase_utils_js_1.convertObjectFilterToStructuredQuery)(defaultFilter));
|
|
234
|
+
// just in case the built filter is empty somehow
|
|
235
|
+
if ((0, utils_js_1.isFilterEmpty)(filter)) {
|
|
236
|
+
if ((0, utils_js_1.isFilterEmpty)(generatedFilter)) {
|
|
237
|
+
return undefined;
|
|
238
|
+
}
|
|
239
|
+
return generatedFilter;
|
|
240
|
+
}
|
|
241
|
+
myDefaultFilter = filter;
|
|
242
|
+
}
|
|
243
|
+
// After this point, myDefaultFilter will always be SupabaseFilterRPCCall
|
|
244
|
+
if (mergeType === "or") {
|
|
245
|
+
return (rpc) => {
|
|
246
|
+
const defaultFlattenedParams = supabase_utils_js_1.ProxyParamsDuplicator.getFlattenedParams(rpc, myDefaultFilter);
|
|
247
|
+
const generatedFlattenedParams = supabase_utils_js_1.ProxyParamsDuplicator.getFlattenedParams(rpc, generatedFilter);
|
|
248
|
+
return rpc.or(`${defaultFlattenedParams},${generatedFlattenedParams}`);
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
else if (mergeType === "and") {
|
|
252
|
+
return (rpc) => generatedFilter(myDefaultFilter(rpc));
|
|
169
253
|
}
|
|
170
254
|
else {
|
|
171
255
|
throw new Error("Unknown merge type");
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Comparator, Comparison, Operation, Operator, StructuredQuery } from "../../chains/query_constructor/ir.js";
|
|
2
|
-
import { SupabaseFilterRPCCall, SupabaseVectorStore } from "../../vectorstores/supabase.js";
|
|
2
|
+
import type { SupabaseFilterRPCCall, SupabaseMetadata, SupabaseVectorStore } from "../../vectorstores/supabase.js";
|
|
3
3
|
import { BaseTranslator } from "./base.js";
|
|
4
|
+
/**
|
|
5
|
+
* Represents the possible values that can be used in a comparison in a
|
|
6
|
+
* structured query. It can be a string or a number.
|
|
7
|
+
*/
|
|
4
8
|
type ValueType = {
|
|
5
9
|
eq: string | number;
|
|
6
10
|
ne: string | number;
|
|
@@ -9,19 +13,82 @@ type ValueType = {
|
|
|
9
13
|
gt: string | number;
|
|
10
14
|
gte: string | number;
|
|
11
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* A specialized translator designed to work with Supabase, extending the
|
|
18
|
+
* BaseTranslator class. It translates structured queries into a format
|
|
19
|
+
* that can be understood by the Supabase database.
|
|
20
|
+
*/
|
|
12
21
|
export declare class SupabaseTranslator<T extends SupabaseVectorStore> extends BaseTranslator<T> {
|
|
13
22
|
VisitOperationOutput: SupabaseFilterRPCCall;
|
|
14
23
|
VisitComparisonOutput: SupabaseFilterRPCCall;
|
|
15
24
|
allowedOperators: Operator[];
|
|
16
25
|
allowedComparators: Comparator[];
|
|
17
26
|
formatFunction(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Returns a function that applies the appropriate comparator operation on
|
|
29
|
+
* the attribute and value provided. The function returned is used to
|
|
30
|
+
* filter data in a Supabase database.
|
|
31
|
+
* @param comparator The comparator to be used in the operation.
|
|
32
|
+
* @returns A function that applies the comparator operation on the attribute and value provided.
|
|
33
|
+
*/
|
|
18
34
|
getComparatorFunction<C extends Comparator>(comparator: Comparator): (attr: string, value: ValueType[C]) => SupabaseFilterRPCCall;
|
|
35
|
+
/**
|
|
36
|
+
* Builds a column name based on the attribute and value provided. The
|
|
37
|
+
* column name is used in filtering data in a Supabase database.
|
|
38
|
+
* @param attr The attribute to be used in the column name.
|
|
39
|
+
* @param value The value to be used in the column name.
|
|
40
|
+
* @param includeType Whether to include the data type in the column name.
|
|
41
|
+
* @returns The built column name.
|
|
42
|
+
*/
|
|
19
43
|
buildColumnName(attr: string, value: string | number, includeType?: boolean): string;
|
|
44
|
+
/**
|
|
45
|
+
* Visits an operation and returns a string representation of it. This is
|
|
46
|
+
* used in translating a structured query into a format that can be
|
|
47
|
+
* understood by Supabase.
|
|
48
|
+
* @param operation The operation to be visited.
|
|
49
|
+
* @returns A string representation of the operation.
|
|
50
|
+
*/
|
|
20
51
|
visitOperationAsString(operation: Operation): string;
|
|
52
|
+
/**
|
|
53
|
+
* Visits an operation and returns a function that applies the operation
|
|
54
|
+
* on a Supabase database. This is used in translating a structured query
|
|
55
|
+
* into a format that can be understood by Supabase.
|
|
56
|
+
* @param operation The operation to be visited.
|
|
57
|
+
* @returns A function that applies the operation on a Supabase database.
|
|
58
|
+
*/
|
|
21
59
|
visitOperation(operation: Operation): this["VisitOperationOutput"];
|
|
60
|
+
/**
|
|
61
|
+
* Visits a comparison and returns a string representation of it. This is
|
|
62
|
+
* used in translating a structured query into a format that can be
|
|
63
|
+
* understood by Supabase.
|
|
64
|
+
* @param comparison The comparison to be visited.
|
|
65
|
+
* @returns A string representation of the comparison.
|
|
66
|
+
*/
|
|
22
67
|
visitComparisonAsString(comparison: Comparison): string;
|
|
68
|
+
/**
|
|
69
|
+
* Visits a comparison and returns a function that applies the comparison
|
|
70
|
+
* on a Supabase database. This is used in translating a structured query
|
|
71
|
+
* into a format that can be understood by Supabase.
|
|
72
|
+
* @param comparison The comparison to be visited.
|
|
73
|
+
* @returns A function that applies the comparison on a Supabase database.
|
|
74
|
+
*/
|
|
23
75
|
visitComparison(comparison: Comparison): this["VisitComparisonOutput"];
|
|
76
|
+
/**
|
|
77
|
+
* Visits a structured query and returns a function that applies the query
|
|
78
|
+
* on a Supabase database. This is used in translating a structured query
|
|
79
|
+
* into a format that can be understood by Supabase.
|
|
80
|
+
* @param query The structured query to be visited.
|
|
81
|
+
* @returns A function that applies the query on a Supabase database.
|
|
82
|
+
*/
|
|
24
83
|
visitStructuredQuery(query: StructuredQuery): this["VisitStructuredQueryOutput"];
|
|
25
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Merges two filters into one. The merged filter can be used to filter
|
|
86
|
+
* data in a Supabase database.
|
|
87
|
+
* @param defaultFilter The default filter to be merged.
|
|
88
|
+
* @param generatedFilter The generated filter to be merged.
|
|
89
|
+
* @param mergeType The type of merge to be performed. It can be 'and', 'or', or 'replace'.
|
|
90
|
+
* @returns The merged filter.
|
|
91
|
+
*/
|
|
92
|
+
mergeFilters(defaultFilter: SupabaseFilterRPCCall | SupabaseMetadata | undefined, generatedFilter: SupabaseFilterRPCCall | undefined, mergeType?: string): SupabaseFilterRPCCall | SupabaseMetadata | undefined;
|
|
26
93
|
}
|
|
27
94
|
export {};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { Comparators, Operators, } from "../../chains/query_constructor/ir.js";
|
|
2
2
|
import { BaseTranslator } from "./base.js";
|
|
3
|
-
import { isFilterEmpty } from "./utils.js";
|
|
3
|
+
import { isFilterEmpty, isFloat, isInt, isObject, isString } from "./utils.js";
|
|
4
|
+
import { ProxyParamsDuplicator, convertObjectFilterToStructuredQuery, } from "./supabase_utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* A specialized translator designed to work with Supabase, extending the
|
|
7
|
+
* BaseTranslator class. It translates structured queries into a format
|
|
8
|
+
* that can be understood by the Supabase database.
|
|
9
|
+
*/
|
|
4
10
|
export class SupabaseTranslator extends BaseTranslator {
|
|
5
11
|
constructor() {
|
|
6
12
|
super(...arguments);
|
|
@@ -27,6 +33,13 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
27
33
|
formatFunction() {
|
|
28
34
|
throw new Error("Not implemented");
|
|
29
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns a function that applies the appropriate comparator operation on
|
|
38
|
+
* the attribute and value provided. The function returned is used to
|
|
39
|
+
* filter data in a Supabase database.
|
|
40
|
+
* @param comparator The comparator to be used in the operation.
|
|
41
|
+
* @returns A function that applies the comparator operation on the attribute and value provided.
|
|
42
|
+
*/
|
|
30
43
|
getComparatorFunction(comparator) {
|
|
31
44
|
switch (comparator) {
|
|
32
45
|
case Comparators.eq: {
|
|
@@ -52,19 +65,37 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
52
65
|
}
|
|
53
66
|
}
|
|
54
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Builds a column name based on the attribute and value provided. The
|
|
70
|
+
* column name is used in filtering data in a Supabase database.
|
|
71
|
+
* @param attr The attribute to be used in the column name.
|
|
72
|
+
* @param value The value to be used in the column name.
|
|
73
|
+
* @param includeType Whether to include the data type in the column name.
|
|
74
|
+
* @returns The built column name.
|
|
75
|
+
*/
|
|
55
76
|
buildColumnName(attr, value, includeType = true) {
|
|
56
77
|
let column = "";
|
|
57
|
-
if (
|
|
78
|
+
if (isString(value)) {
|
|
58
79
|
column = `metadata->>${attr}`;
|
|
59
80
|
}
|
|
60
|
-
else if (
|
|
81
|
+
else if (isInt(value)) {
|
|
61
82
|
column = `metadata->${attr}${includeType ? "::int" : ""}`;
|
|
62
83
|
}
|
|
84
|
+
else if (isFloat(value)) {
|
|
85
|
+
column = `metadata->${attr}${includeType ? "::float" : ""}`;
|
|
86
|
+
}
|
|
63
87
|
else {
|
|
64
88
|
throw new Error("Data type not supported");
|
|
65
89
|
}
|
|
66
90
|
return column;
|
|
67
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Visits an operation and returns a string representation of it. This is
|
|
94
|
+
* used in translating a structured query into a format that can be
|
|
95
|
+
* understood by Supabase.
|
|
96
|
+
* @param operation The operation to be visited.
|
|
97
|
+
* @returns A string representation of the operation.
|
|
98
|
+
*/
|
|
68
99
|
visitOperationAsString(operation) {
|
|
69
100
|
const { args } = operation;
|
|
70
101
|
if (!args) {
|
|
@@ -83,6 +114,13 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
83
114
|
}, [])
|
|
84
115
|
.join(",");
|
|
85
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Visits an operation and returns a function that applies the operation
|
|
119
|
+
* on a Supabase database. This is used in translating a structured query
|
|
120
|
+
* into a format that can be understood by Supabase.
|
|
121
|
+
* @param operation The operation to be visited.
|
|
122
|
+
* @returns A function that applies the operation on a Supabase database.
|
|
123
|
+
*/
|
|
86
124
|
visitOperation(operation) {
|
|
87
125
|
const { operator, args } = operation;
|
|
88
126
|
if (this.allowedOperators.includes(operator)) {
|
|
@@ -107,6 +145,13 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
107
145
|
throw new Error("Operator not allowed");
|
|
108
146
|
}
|
|
109
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Visits a comparison and returns a string representation of it. This is
|
|
150
|
+
* used in translating a structured query into a format that can be
|
|
151
|
+
* understood by Supabase.
|
|
152
|
+
* @param comparison The comparison to be visited.
|
|
153
|
+
* @returns A string representation of the comparison.
|
|
154
|
+
*/
|
|
110
155
|
visitComparisonAsString(comparison) {
|
|
111
156
|
let { value } = comparison;
|
|
112
157
|
const { comparator: _comparator, attribute } = comparison;
|
|
@@ -125,6 +170,13 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
125
170
|
}
|
|
126
171
|
return `${this.buildColumnName(attribute, value, false)}.${comparator}.${value}}`;
|
|
127
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Visits a comparison and returns a function that applies the comparison
|
|
175
|
+
* on a Supabase database. This is used in translating a structured query
|
|
176
|
+
* into a format that can be understood by Supabase.
|
|
177
|
+
* @param comparison The comparison to be visited.
|
|
178
|
+
* @returns A function that applies the comparison on a Supabase database.
|
|
179
|
+
*/
|
|
128
180
|
visitComparison(comparison) {
|
|
129
181
|
const { comparator, attribute, value } = comparison;
|
|
130
182
|
if (this.allowedComparators.includes(comparator)) {
|
|
@@ -135,6 +187,13 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
135
187
|
throw new Error("Comparator not allowed");
|
|
136
188
|
}
|
|
137
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Visits a structured query and returns a function that applies the query
|
|
192
|
+
* on a Supabase database. This is used in translating a structured query
|
|
193
|
+
* into a format that can be understood by Supabase.
|
|
194
|
+
* @param query The structured query to be visited.
|
|
195
|
+
* @returns A function that applies the query on a Supabase database.
|
|
196
|
+
*/
|
|
138
197
|
visitStructuredQuery(query) {
|
|
139
198
|
if (!query.filter) {
|
|
140
199
|
return {};
|
|
@@ -142,10 +201,15 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
142
201
|
const filterFunction = query.filter?.accept(this);
|
|
143
202
|
return { filter: filterFunction ?? {} };
|
|
144
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Merges two filters into one. The merged filter can be used to filter
|
|
206
|
+
* data in a Supabase database.
|
|
207
|
+
* @param defaultFilter The default filter to be merged.
|
|
208
|
+
* @param generatedFilter The generated filter to be merged.
|
|
209
|
+
* @param mergeType The type of merge to be performed. It can be 'and', 'or', or 'replace'.
|
|
210
|
+
* @returns The merged filter.
|
|
211
|
+
*/
|
|
145
212
|
mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
|
|
146
|
-
if (mergeType === "or") {
|
|
147
|
-
throw new Error("Supabase self-query filter does not support merging two filters with the OR operator");
|
|
148
|
-
}
|
|
149
213
|
if (isFilterEmpty(defaultFilter) && isFilterEmpty(generatedFilter)) {
|
|
150
214
|
return undefined;
|
|
151
215
|
}
|
|
@@ -161,8 +225,28 @@ export class SupabaseTranslator extends BaseTranslator {
|
|
|
161
225
|
}
|
|
162
226
|
return defaultFilter;
|
|
163
227
|
}
|
|
164
|
-
|
|
165
|
-
|
|
228
|
+
let myDefaultFilter = defaultFilter;
|
|
229
|
+
if (isObject(defaultFilter)) {
|
|
230
|
+
const { filter } = this.visitStructuredQuery(convertObjectFilterToStructuredQuery(defaultFilter));
|
|
231
|
+
// just in case the built filter is empty somehow
|
|
232
|
+
if (isFilterEmpty(filter)) {
|
|
233
|
+
if (isFilterEmpty(generatedFilter)) {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
return generatedFilter;
|
|
237
|
+
}
|
|
238
|
+
myDefaultFilter = filter;
|
|
239
|
+
}
|
|
240
|
+
// After this point, myDefaultFilter will always be SupabaseFilterRPCCall
|
|
241
|
+
if (mergeType === "or") {
|
|
242
|
+
return (rpc) => {
|
|
243
|
+
const defaultFlattenedParams = ProxyParamsDuplicator.getFlattenedParams(rpc, myDefaultFilter);
|
|
244
|
+
const generatedFlattenedParams = ProxyParamsDuplicator.getFlattenedParams(rpc, generatedFilter);
|
|
245
|
+
return rpc.or(`${defaultFlattenedParams},${generatedFlattenedParams}`);
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
else if (mergeType === "and") {
|
|
249
|
+
return (rpc) => generatedFilter(myDefaultFilter(rpc));
|
|
166
250
|
}
|
|
167
251
|
else {
|
|
168
252
|
throw new Error("Unknown merge type");
|