@langchain/classic 1.0.23 → 1.0.24-dev-1773698445534
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/_virtual/_rolldown/runtime.cjs +12 -22
- package/dist/_virtual/_rolldown/runtime.js +12 -21
- package/dist/agents/agent.cjs +2 -3
- package/dist/agents/agent.cjs.map +1 -1
- package/dist/agents/agent.js +1 -2
- package/dist/agents/agent.js.map +1 -1
- package/dist/agents/chat/index.cjs +6 -7
- package/dist/agents/chat/index.cjs.map +1 -1
- package/dist/agents/chat/index.js +1 -2
- package/dist/agents/chat/index.js.map +1 -1
- package/dist/agents/chat/outputParser.cjs +5 -6
- package/dist/agents/chat/outputParser.cjs.map +1 -1
- package/dist/agents/chat/outputParser.js +2 -3
- package/dist/agents/chat/outputParser.js.map +1 -1
- package/dist/agents/chat/prompt.cjs +1 -2
- package/dist/agents/chat/prompt.cjs.map +1 -1
- package/dist/agents/chat/prompt.js +1 -1
- package/dist/agents/chat_convo/index.cjs +6 -7
- package/dist/agents/chat_convo/index.cjs.map +1 -1
- package/dist/agents/chat_convo/index.js +1 -2
- package/dist/agents/chat_convo/index.js.map +1 -1
- package/dist/agents/chat_convo/outputParser.cjs +5 -6
- package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
- package/dist/agents/chat_convo/outputParser.js +1 -2
- package/dist/agents/chat_convo/outputParser.js.map +1 -1
- package/dist/agents/chat_convo/prompt.cjs +1 -2
- package/dist/agents/chat_convo/prompt.cjs.map +1 -1
- package/dist/agents/chat_convo/prompt.js +1 -1
- package/dist/agents/executor.cjs +4 -5
- package/dist/agents/executor.cjs.map +1 -1
- package/dist/agents/executor.js +1 -2
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/format_scratchpad/log.cjs +8 -10
- package/dist/agents/format_scratchpad/log.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log.js +1 -2
- package/dist/agents/format_scratchpad/log.js.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.cjs +8 -9
- package/dist/agents/format_scratchpad/log_to_message.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.js +1 -2
- package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.cjs +9 -10
- package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.js +1 -2
- package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_tools.cjs +9 -10
- package/dist/agents/format_scratchpad/openai_tools.js +1 -2
- package/dist/agents/format_scratchpad/tool_calling.cjs +2 -3
- package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.js +1 -2
- package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
- package/dist/agents/format_scratchpad/xml.cjs +8 -10
- package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
- package/dist/agents/format_scratchpad/xml.js +1 -2
- package/dist/agents/format_scratchpad/xml.js.map +1 -1
- package/dist/agents/helpers.cjs +2 -3
- package/dist/agents/helpers.cjs.map +1 -1
- package/dist/agents/helpers.js +1 -2
- package/dist/agents/helpers.js.map +1 -1
- package/dist/agents/index.cjs +35 -36
- package/dist/agents/index.d.ts +0 -1
- package/dist/agents/index.js +1 -2
- package/dist/agents/initialize.cjs +9 -10
- package/dist/agents/initialize.cjs.map +1 -1
- package/dist/agents/initialize.js +1 -2
- package/dist/agents/initialize.js.map +1 -1
- package/dist/agents/load.cjs +12 -13
- package/dist/agents/load.cjs.map +1 -1
- package/dist/agents/load.js +1 -2
- package/dist/agents/load.js.map +1 -1
- package/dist/agents/mrkl/index.cjs +7 -8
- package/dist/agents/mrkl/index.cjs.map +1 -1
- package/dist/agents/mrkl/index.js +1 -2
- package/dist/agents/mrkl/index.js.map +1 -1
- package/dist/agents/mrkl/outputParser.cjs +5 -8
- package/dist/agents/mrkl/outputParser.cjs.map +1 -1
- package/dist/agents/mrkl/outputParser.d.cts +1 -1
- package/dist/agents/mrkl/outputParser.js +2 -5
- package/dist/agents/mrkl/outputParser.js.map +1 -1
- package/dist/agents/mrkl/prompt.cjs +1 -2
- package/dist/agents/mrkl/prompt.cjs.map +1 -1
- package/dist/agents/mrkl/prompt.js +1 -1
- package/dist/agents/openai/output_parser.cjs +10 -11
- package/dist/agents/openai/output_parser.js +1 -2
- package/dist/agents/openai_functions/index.cjs +8 -9
- package/dist/agents/openai_functions/index.cjs.map +1 -1
- package/dist/agents/openai_functions/index.d.ts +0 -1
- package/dist/agents/openai_functions/index.d.ts.map +1 -1
- package/dist/agents/openai_functions/index.js +1 -2
- package/dist/agents/openai_functions/index.js.map +1 -1
- package/dist/agents/openai_functions/output_parser.cjs +3 -4
- package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
- package/dist/agents/openai_functions/output_parser.js +1 -2
- package/dist/agents/openai_functions/output_parser.js.map +1 -1
- package/dist/agents/openai_functions/prompt.cjs +1 -2
- package/dist/agents/openai_functions/prompt.cjs.map +1 -1
- package/dist/agents/openai_functions/prompt.js +1 -1
- package/dist/agents/openai_tools/index.cjs +6 -7
- package/dist/agents/openai_tools/index.cjs.map +1 -1
- package/dist/agents/openai_tools/index.js +1 -2
- package/dist/agents/openai_tools/index.js.map +1 -1
- package/dist/agents/openai_tools/output_parser.cjs +3 -4
- package/dist/agents/openai_tools/output_parser.cjs.map +1 -1
- package/dist/agents/openai_tools/output_parser.js +1 -2
- package/dist/agents/openai_tools/output_parser.js.map +1 -1
- package/dist/agents/react/index.cjs +6 -7
- package/dist/agents/react/index.cjs.map +1 -1
- package/dist/agents/react/index.js +1 -2
- package/dist/agents/react/index.js.map +1 -1
- package/dist/agents/react/output_parser.cjs +10 -11
- package/dist/agents/react/output_parser.cjs.map +1 -1
- package/dist/agents/react/output_parser.js +1 -2
- package/dist/agents/react/output_parser.js.map +1 -1
- package/dist/agents/react/prompt.cjs +1 -2
- package/dist/agents/react/prompt.cjs.map +1 -1
- package/dist/agents/react/prompt.js +1 -1
- package/dist/agents/structured_chat/index.cjs +8 -9
- package/dist/agents/structured_chat/index.cjs.map +1 -1
- package/dist/agents/structured_chat/index.js +1 -2
- package/dist/agents/structured_chat/index.js.map +1 -1
- package/dist/agents/structured_chat/outputParser.cjs +5 -6
- package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
- package/dist/agents/structured_chat/outputParser.js +1 -2
- package/dist/agents/structured_chat/outputParser.js.map +1 -1
- package/dist/agents/structured_chat/prompt.cjs +1 -2
- package/dist/agents/structured_chat/prompt.cjs.map +1 -1
- package/dist/agents/structured_chat/prompt.js +1 -1
- package/dist/agents/tool_calling/index.cjs +5 -6
- package/dist/agents/tool_calling/index.cjs.map +1 -1
- package/dist/agents/tool_calling/index.js +1 -2
- package/dist/agents/tool_calling/index.js.map +1 -1
- package/dist/agents/tool_calling/output_parser.cjs +3 -4
- package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
- package/dist/agents/tool_calling/output_parser.d.ts +0 -1
- package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
- package/dist/agents/tool_calling/output_parser.js +1 -2
- package/dist/agents/tool_calling/output_parser.js.map +1 -1
- package/dist/agents/toolkits/base.cjs +2 -2
- package/dist/agents/toolkits/base.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +4 -5
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +4 -5
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs +3 -4
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
- package/dist/agents/toolkits/index.cjs +14 -15
- package/dist/agents/toolkits/index.js +1 -2
- package/dist/agents/toolkits/json/json.cjs +7 -8
- package/dist/agents/toolkits/json/json.cjs.map +1 -1
- package/dist/agents/toolkits/json/json.js +1 -2
- package/dist/agents/toolkits/json/json.js.map +1 -1
- package/dist/agents/toolkits/json/prompt.cjs +1 -2
- package/dist/agents/toolkits/json/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/json/prompt.js +1 -1
- package/dist/agents/toolkits/openapi/openapi.cjs +8 -9
- package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.js +1 -2
- package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
- package/dist/agents/toolkits/openapi/prompt.cjs +1 -2
- package/dist/agents/toolkits/openapi/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/prompt.js +1 -1
- package/dist/agents/toolkits/sql/index.cjs +10 -11
- package/dist/agents/toolkits/sql/index.js +1 -2
- package/dist/agents/toolkits/sql/prompt.cjs +1 -2
- package/dist/agents/toolkits/sql/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/sql/prompt.js +1 -1
- package/dist/agents/toolkits/sql/sql.cjs +7 -8
- package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
- package/dist/agents/toolkits/sql/sql.js +1 -2
- package/dist/agents/toolkits/sql/sql.js.map +1 -1
- package/dist/agents/toolkits/vectorstore/prompt.cjs +1 -2
- package/dist/agents/toolkits/vectorstore/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/prompt.js +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs +8 -9
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.js +1 -2
- package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
- package/dist/agents/types.cjs +2 -3
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.js +1 -2
- package/dist/agents/types.js.map +1 -1
- package/dist/agents/xml/index.cjs +8 -9
- package/dist/agents/xml/index.cjs.map +1 -1
- package/dist/agents/xml/index.js +1 -2
- package/dist/agents/xml/index.js.map +1 -1
- package/dist/agents/xml/output_parser.cjs +9 -10
- package/dist/agents/xml/output_parser.cjs.map +1 -1
- package/dist/agents/xml/output_parser.js +1 -2
- package/dist/agents/xml/output_parser.js.map +1 -1
- package/dist/agents/xml/prompt.cjs +1 -2
- package/dist/agents/xml/prompt.cjs.map +1 -1
- package/dist/agents/xml/prompt.js +1 -1
- package/dist/cache/file_system.cjs +8 -9
- package/dist/cache/file_system.cjs.map +1 -1
- package/dist/cache/file_system.js +1 -2
- package/dist/cache/file_system.js.map +1 -1
- package/dist/callbacks/handlers/console.cjs +13 -13
- package/dist/callbacks/handlers/console.d.cts +0 -1
- package/dist/callbacks/handlers/console.d.ts +0 -1
- package/dist/callbacks/handlers/console.js +2 -4
- package/dist/callbacks/handlers/run_collector.cjs +13 -13
- package/dist/callbacks/handlers/run_collector.d.cts +0 -1
- package/dist/callbacks/handlers/run_collector.d.ts +0 -1
- package/dist/callbacks/handlers/run_collector.js +2 -4
- package/dist/callbacks/handlers/tracer.cjs +13 -13
- package/dist/callbacks/handlers/tracer.d.cts +0 -1
- package/dist/callbacks/handlers/tracer.d.ts +0 -1
- package/dist/callbacks/handlers/tracer.js +2 -4
- package/dist/callbacks/handlers/tracer_langchain.cjs +13 -13
- package/dist/callbacks/handlers/tracer_langchain.d.cts +0 -1
- package/dist/callbacks/handlers/tracer_langchain.d.ts +0 -1
- package/dist/callbacks/handlers/tracer_langchain.js +2 -4
- package/dist/callbacks/index.cjs +49 -50
- package/dist/callbacks/index.js +1 -2
- package/dist/callbacks/promises.cjs +13 -13
- package/dist/callbacks/promises.d.cts +0 -1
- package/dist/callbacks/promises.d.ts +0 -1
- package/dist/callbacks/promises.js +2 -4
- package/dist/chains/analyze_documents_chain.cjs +3 -4
- package/dist/chains/analyze_documents_chain.cjs.map +1 -1
- package/dist/chains/analyze_documents_chain.js +1 -2
- package/dist/chains/analyze_documents_chain.js.map +1 -1
- package/dist/chains/api/api_chain.cjs +4 -5
- package/dist/chains/api/api_chain.cjs.map +1 -1
- package/dist/chains/api/api_chain.js +1 -2
- package/dist/chains/api/api_chain.js.map +1 -1
- package/dist/chains/api/prompts.cjs +2 -3
- package/dist/chains/api/prompts.cjs.map +1 -1
- package/dist/chains/api/prompts.js +10 -12
- package/dist/chains/api/prompts.js.map +1 -1
- package/dist/chains/base.cjs +2 -3
- package/dist/chains/base.cjs.map +1 -1
- package/dist/chains/base.js +1 -2
- package/dist/chains/base.js.map +1 -1
- package/dist/chains/chat_vector_db_chain.cjs +5 -6
- package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
- package/dist/chains/chat_vector_db_chain.js +1 -2
- package/dist/chains/chat_vector_db_chain.js.map +1 -1
- package/dist/chains/combine_docs_chain.cjs +4 -5
- package/dist/chains/combine_docs_chain.cjs.map +1 -1
- package/dist/chains/combine_docs_chain.js +1 -2
- package/dist/chains/combine_docs_chain.js.map +1 -1
- package/dist/chains/combine_documents/base.cjs +2 -5
- package/dist/chains/combine_documents/base.cjs.map +1 -1
- package/dist/chains/combine_documents/base.js +2 -4
- package/dist/chains/combine_documents/base.js.map +1 -1
- package/dist/chains/combine_documents/index.cjs +9 -10
- package/dist/chains/combine_documents/index.js +1 -2
- package/dist/chains/combine_documents/reduce.cjs +8 -10
- package/dist/chains/combine_documents/reduce.cjs.map +1 -1
- package/dist/chains/combine_documents/reduce.js +1 -2
- package/dist/chains/combine_documents/reduce.js.map +1 -1
- package/dist/chains/combine_documents/stuff.cjs +5 -6
- package/dist/chains/combine_documents/stuff.cjs.map +1 -1
- package/dist/chains/combine_documents/stuff.js +4 -5
- package/dist/chains/combine_documents/stuff.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.cjs +5 -6
- package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.js +1 -2
- package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.cjs +1 -2
- package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.js +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -8
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.js +4 -7
- package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
- package/dist/chains/conversation.cjs +4 -5
- package/dist/chains/conversation.cjs.map +1 -1
- package/dist/chains/conversation.js +1 -2
- package/dist/chains/conversation.js.map +1 -1
- package/dist/chains/conversational_retrieval_chain.cjs +5 -6
- package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
- package/dist/chains/conversational_retrieval_chain.js +1 -2
- package/dist/chains/conversational_retrieval_chain.js.map +1 -1
- package/dist/chains/graph_qa/cypher.cjs +12 -13
- package/dist/chains/graph_qa/cypher.cjs.map +1 -1
- package/dist/chains/graph_qa/cypher.js +1 -2
- package/dist/chains/graph_qa/cypher.js.map +1 -1
- package/dist/chains/graph_qa/prompts.cjs +8 -12
- package/dist/chains/graph_qa/prompts.cjs.map +1 -1
- package/dist/chains/graph_qa/prompts.js +7 -11
- package/dist/chains/graph_qa/prompts.js.map +1 -1
- package/dist/chains/history_aware_retriever.cjs +8 -9
- package/dist/chains/history_aware_retriever.cjs.map +1 -1
- package/dist/chains/history_aware_retriever.js +1 -2
- package/dist/chains/history_aware_retriever.js.map +1 -1
- package/dist/chains/index.cjs +32 -33
- package/dist/chains/index.js +1 -2
- package/dist/chains/llm_chain.cjs +4 -5
- package/dist/chains/llm_chain.cjs.map +1 -1
- package/dist/chains/llm_chain.js +1 -2
- package/dist/chains/llm_chain.js.map +1 -1
- package/dist/chains/load.cjs +12 -13
- package/dist/chains/load.cjs.map +1 -1
- package/dist/chains/load.js +1 -2
- package/dist/chains/load.js.map +1 -1
- package/dist/chains/openai_functions/base.cjs +3 -4
- package/dist/chains/openai_functions/base.cjs.map +1 -1
- package/dist/chains/openai_functions/base.js +1 -2
- package/dist/chains/openai_functions/base.js.map +1 -1
- package/dist/chains/openai_functions/extraction.cjs +4 -5
- package/dist/chains/openai_functions/extraction.cjs.map +1 -1
- package/dist/chains/openai_functions/extraction.js +1 -2
- package/dist/chains/openai_functions/extraction.js.map +1 -1
- package/dist/chains/openai_functions/index.cjs +12 -13
- package/dist/chains/openai_functions/index.js +1 -2
- package/dist/chains/openai_functions/openapi.cjs +7 -8
- package/dist/chains/openai_functions/openapi.cjs.map +1 -1
- package/dist/chains/openai_functions/openapi.js +1 -2
- package/dist/chains/openai_functions/openapi.js.map +1 -1
- package/dist/chains/openai_functions/tagging.cjs +4 -5
- package/dist/chains/openai_functions/tagging.cjs.map +1 -1
- package/dist/chains/openai_functions/tagging.js +1 -2
- package/dist/chains/openai_functions/tagging.js.map +1 -1
- package/dist/chains/openai_moderation.cjs +3 -4
- package/dist/chains/openai_moderation.cjs.map +1 -1
- package/dist/chains/openai_moderation.js +1 -2
- package/dist/chains/openai_moderation.js.map +1 -1
- package/dist/chains/query_constructor/index.cjs +11 -12
- package/dist/chains/query_constructor/index.cjs.map +1 -1
- package/dist/chains/query_constructor/index.js +1 -2
- package/dist/chains/query_constructor/index.js.map +1 -1
- package/dist/chains/query_constructor/ir.cjs +14 -14
- package/dist/chains/query_constructor/ir.js +2 -4
- package/dist/chains/query_constructor/parser.cjs +3 -4
- package/dist/chains/query_constructor/parser.cjs.map +1 -1
- package/dist/chains/query_constructor/parser.js +1 -2
- package/dist/chains/query_constructor/parser.js.map +1 -1
- package/dist/chains/query_constructor/prompt.cjs +23 -27
- package/dist/chains/query_constructor/prompt.cjs.map +1 -1
- package/dist/chains/query_constructor/prompt.js +22 -26
- package/dist/chains/query_constructor/prompt.js.map +1 -1
- package/dist/chains/question_answering/load.cjs +6 -7
- package/dist/chains/question_answering/load.cjs.map +1 -1
- package/dist/chains/question_answering/load.js +1 -2
- package/dist/chains/question_answering/load.js.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.cjs +6 -10
- package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.js +7 -13
- package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
- package/dist/chains/question_answering/refine_prompts.cjs +14 -18
- package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/refine_prompts.js +15 -21
- package/dist/chains/question_answering/refine_prompts.js.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.cjs +2 -3
- package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.js +2 -4
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
- package/dist/chains/retrieval.cjs +8 -9
- package/dist/chains/retrieval.cjs.map +1 -1
- package/dist/chains/retrieval.js +1 -2
- package/dist/chains/retrieval.js.map +1 -1
- package/dist/chains/retrieval_qa.cjs +3 -4
- package/dist/chains/retrieval_qa.cjs.map +1 -1
- package/dist/chains/retrieval_qa.js +1 -2
- package/dist/chains/retrieval_qa.js.map +1 -1
- package/dist/chains/router/llm_router.cjs +3 -4
- package/dist/chains/router/llm_router.cjs.map +1 -1
- package/dist/chains/router/llm_router.js +1 -2
- package/dist/chains/router/llm_router.js.map +1 -1
- package/dist/chains/router/multi_prompt.cjs +9 -10
- package/dist/chains/router/multi_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt.js +1 -2
- package/dist/chains/router/multi_prompt.js.map +1 -1
- package/dist/chains/router/multi_prompt_prompt.cjs +1 -2
- package/dist/chains/router/multi_prompt_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt_prompt.js +1 -1
- package/dist/chains/router/multi_retrieval_prompt.cjs +1 -2
- package/dist/chains/router/multi_retrieval_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_prompt.js +1 -1
- package/dist/chains/router/multi_retrieval_qa.cjs +9 -10
- package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.js +1 -2
- package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
- package/dist/chains/router/multi_route.cjs +2 -3
- package/dist/chains/router/multi_route.cjs.map +1 -1
- package/dist/chains/router/multi_route.js +1 -2
- package/dist/chains/router/multi_route.js.map +1 -1
- package/dist/chains/router/utils.cjs +1 -2
- package/dist/chains/router/utils.cjs.map +1 -1
- package/dist/chains/router/utils.js +1 -1
- package/dist/chains/sequential_chain.cjs +3 -4
- package/dist/chains/sequential_chain.cjs.map +1 -1
- package/dist/chains/sequential_chain.js +1 -2
- package/dist/chains/sequential_chain.js.map +1 -1
- package/dist/chains/sql_db/index.cjs +10 -11
- package/dist/chains/sql_db/index.js +1 -2
- package/dist/chains/sql_db/sql_db_chain.cjs +6 -7
- package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.js +1 -2
- package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.cjs +2 -3
- package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.js +1 -2
- package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
- package/dist/chains/summarization/load.cjs +5 -6
- package/dist/chains/summarization/load.cjs.map +1 -1
- package/dist/chains/summarization/load.js +1 -2
- package/dist/chains/summarization/load.js.map +1 -1
- package/dist/chains/summarization/refine_prompts.cjs +5 -9
- package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
- package/dist/chains/summarization/refine_prompts.js +4 -7
- package/dist/chains/summarization/refine_prompts.js.map +1 -1
- package/dist/chains/summarization/stuff_prompts.cjs +5 -9
- package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
- package/dist/chains/summarization/stuff_prompts.js +4 -7
- package/dist/chains/summarization/stuff_prompts.js.map +1 -1
- package/dist/chains/transform.cjs +2 -3
- package/dist/chains/transform.cjs.map +1 -1
- package/dist/chains/transform.js +1 -2
- package/dist/chains/transform.js.map +1 -1
- package/dist/chains/vector_db_qa.cjs +3 -4
- package/dist/chains/vector_db_qa.cjs.map +1 -1
- package/dist/chains/vector_db_qa.js +1 -2
- package/dist/chains/vector_db_qa.js.map +1 -1
- package/dist/chat_models/universal.cjs +8 -9
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.js +1 -2
- package/dist/chat_models/universal.js.map +1 -1
- package/dist/document.cjs +13 -14
- package/dist/document.js +1 -2
- package/dist/document_loaders/base.cjs +14 -14
- package/dist/document_loaders/base.js +2 -4
- package/dist/document_loaders/fs/buffer.cjs +8 -9
- package/dist/document_loaders/fs/buffer.cjs.map +1 -1
- package/dist/document_loaders/fs/buffer.js +1 -2
- package/dist/document_loaders/fs/buffer.js.map +1 -1
- package/dist/document_loaders/fs/directory.cjs +8 -9
- package/dist/document_loaders/fs/directory.cjs.map +1 -1
- package/dist/document_loaders/fs/directory.js +1 -2
- package/dist/document_loaders/fs/directory.js.map +1 -1
- package/dist/document_loaders/fs/json.cjs +9 -10
- package/dist/document_loaders/fs/json.cjs.map +1 -1
- package/dist/document_loaders/fs/json.js +1 -2
- package/dist/document_loaders/fs/json.js.map +1 -1
- package/dist/document_loaders/fs/multi_file.cjs +9 -10
- package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
- package/dist/document_loaders/fs/multi_file.js +1 -2
- package/dist/document_loaders/fs/multi_file.js.map +1 -1
- package/dist/document_loaders/fs/text.cjs +8 -9
- package/dist/document_loaders/fs/text.cjs.map +1 -1
- package/dist/document_loaders/fs/text.js +1 -2
- package/dist/document_loaders/fs/text.js.map +1 -1
- package/dist/document_transformers/openai_functions.cjs +10 -11
- package/dist/document_transformers/openai_functions.cjs.map +1 -1
- package/dist/document_transformers/openai_functions.d.ts +0 -1
- package/dist/document_transformers/openai_functions.d.ts.map +1 -1
- package/dist/document_transformers/openai_functions.js +1 -2
- package/dist/document_transformers/openai_functions.js.map +1 -1
- package/dist/embeddings/cache_backed.cjs +9 -10
- package/dist/embeddings/cache_backed.cjs.map +1 -1
- package/dist/embeddings/cache_backed.js +1 -2
- package/dist/embeddings/cache_backed.js.map +1 -1
- package/dist/embeddings/fake.cjs +14 -14
- package/dist/embeddings/fake.js +2 -4
- package/dist/evaluation/agents/index.cjs +1 -1
- package/dist/evaluation/agents/index.js +2 -3
- package/dist/evaluation/agents/prompt.cjs +8 -10
- package/dist/evaluation/agents/prompt.cjs.map +1 -1
- package/dist/evaluation/agents/prompt.js +7 -9
- package/dist/evaluation/agents/prompt.js.map +1 -1
- package/dist/evaluation/agents/trajectory.cjs +4 -5
- package/dist/evaluation/agents/trajectory.cjs.map +1 -1
- package/dist/evaluation/agents/trajectory.js +1 -2
- package/dist/evaluation/agents/trajectory.js.map +1 -1
- package/dist/evaluation/base.cjs +4 -5
- package/dist/evaluation/base.cjs.map +1 -1
- package/dist/evaluation/base.d.ts +0 -1
- package/dist/evaluation/base.d.ts.map +1 -1
- package/dist/evaluation/base.js +1 -2
- package/dist/evaluation/base.js.map +1 -1
- package/dist/evaluation/comparison/index.cjs +1 -1
- package/dist/evaluation/comparison/index.js +2 -3
- package/dist/evaluation/comparison/pairwise.cjs +6 -7
- package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
- package/dist/evaluation/comparison/pairwise.js +1 -2
- package/dist/evaluation/comparison/pairwise.js.map +1 -1
- package/dist/evaluation/comparison/prompt.cjs +16 -27
- package/dist/evaluation/comparison/prompt.cjs.map +1 -1
- package/dist/evaluation/comparison/prompt.js +15 -26
- package/dist/evaluation/comparison/prompt.js.map +1 -1
- package/dist/evaluation/criteria/criteria.cjs +5 -6
- package/dist/evaluation/criteria/criteria.cjs.map +1 -1
- package/dist/evaluation/criteria/criteria.js +1 -2
- package/dist/evaluation/criteria/criteria.js.map +1 -1
- package/dist/evaluation/criteria/index.cjs +1 -1
- package/dist/evaluation/criteria/index.js +2 -3
- package/dist/evaluation/criteria/prompt.cjs +16 -20
- package/dist/evaluation/criteria/prompt.cjs.map +1 -1
- package/dist/evaluation/criteria/prompt.js +15 -19
- package/dist/evaluation/criteria/prompt.js.map +1 -1
- package/dist/evaluation/embedding_distance/base.cjs +5 -6
- package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
- package/dist/evaluation/embedding_distance/base.js +1 -2
- package/dist/evaluation/embedding_distance/base.js.map +1 -1
- package/dist/evaluation/embedding_distance/index.cjs +1 -1
- package/dist/evaluation/embedding_distance/index.js +2 -3
- package/dist/evaluation/index.cjs +19 -20
- package/dist/evaluation/index.d.ts +0 -5
- package/dist/evaluation/index.js +1 -2
- package/dist/evaluation/loader.cjs +10 -11
- package/dist/evaluation/loader.cjs.map +1 -1
- package/dist/evaluation/loader.d.ts +0 -2
- package/dist/evaluation/loader.d.ts.map +1 -1
- package/dist/evaluation/loader.js +1 -2
- package/dist/evaluation/loader.js.map +1 -1
- package/dist/evaluation/qa/eval_chain.cjs +3 -4
- package/dist/evaluation/qa/eval_chain.cjs.map +1 -1
- package/dist/evaluation/qa/eval_chain.js +1 -2
- package/dist/evaluation/qa/eval_chain.js.map +1 -1
- package/dist/evaluation/qa/index.cjs +1 -1
- package/dist/evaluation/qa/index.js +2 -3
- package/dist/evaluation/qa/prompt.cjs +10 -14
- package/dist/evaluation/qa/prompt.cjs.map +1 -1
- package/dist/evaluation/qa/prompt.js +9 -12
- package/dist/evaluation/qa/prompt.js.map +1 -1
- package/dist/experimental/autogpt/agent.cjs +8 -9
- package/dist/experimental/autogpt/agent.cjs.map +1 -1
- package/dist/experimental/autogpt/agent.js +3 -4
- package/dist/experimental/autogpt/agent.js.map +1 -1
- package/dist/experimental/autogpt/index.cjs +11 -12
- package/dist/experimental/autogpt/index.js +1 -2
- package/dist/experimental/autogpt/output_parser.cjs +2 -3
- package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
- package/dist/experimental/autogpt/output_parser.js +1 -2
- package/dist/experimental/autogpt/output_parser.js.map +1 -1
- package/dist/experimental/autogpt/prompt.cjs +3 -4
- package/dist/experimental/autogpt/prompt.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt.js +1 -2
- package/dist/experimental/autogpt/prompt.js.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.cjs +3 -4
- package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.js +1 -2
- package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
- package/dist/experimental/autogpt/schema.cjs +1 -2
- package/dist/experimental/autogpt/schema.cjs.map +1 -1
- package/dist/experimental/autogpt/schema.js +1 -1
- package/dist/experimental/babyagi/agent.cjs +6 -7
- package/dist/experimental/babyagi/agent.cjs.map +1 -1
- package/dist/experimental/babyagi/agent.js +1 -2
- package/dist/experimental/babyagi/agent.js.map +1 -1
- package/dist/experimental/babyagi/index.cjs +12 -13
- package/dist/experimental/babyagi/index.js +1 -2
- package/dist/experimental/babyagi/task_creation.cjs +3 -4
- package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
- package/dist/experimental/babyagi/task_creation.js +1 -2
- package/dist/experimental/babyagi/task_creation.js.map +1 -1
- package/dist/experimental/babyagi/task_execution.cjs +3 -4
- package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
- package/dist/experimental/babyagi/task_execution.js +1 -2
- package/dist/experimental/babyagi/task_execution.js.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.cjs +3 -4
- package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.js +1 -2
- package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/index.cjs +9 -10
- package/dist/experimental/chains/violation_of_expectations/index.js +1 -2
- package/dist/experimental/chains/violation_of_expectations/types.cjs +1 -2
- package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.js +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +6 -7
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js +1 -2
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs +2 -3
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js +1 -2
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.cjs +4 -5
- package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.js +1 -2
- package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +4 -5
- package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.js +1 -2
- package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
- package/dist/experimental/generative_agents/index.cjs +10 -11
- package/dist/experimental/generative_agents/index.js +1 -2
- package/dist/experimental/masking/index.cjs +11 -12
- package/dist/experimental/masking/index.js +1 -2
- package/dist/experimental/masking/parser.cjs +1 -2
- package/dist/experimental/masking/parser.cjs.map +1 -1
- package/dist/experimental/masking/parser.js +1 -1
- package/dist/experimental/masking/parser.js.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.cjs +2 -3
- package/dist/experimental/masking/regex_masking_transformer.cjs.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.js +1 -2
- package/dist/experimental/masking/regex_masking_transformer.js.map +1 -1
- package/dist/experimental/masking/transformer.cjs +1 -2
- package/dist/experimental/masking/transformer.cjs.map +1 -1
- package/dist/experimental/masking/transformer.js +1 -1
- package/dist/experimental/openai_assistant/index.cjs +9 -10
- package/dist/experimental/openai_assistant/index.cjs.map +1 -1
- package/dist/experimental/openai_assistant/index.js +1 -2
- package/dist/experimental/openai_assistant/index.js.map +1 -1
- package/dist/experimental/openai_files/index.cjs +8 -9
- package/dist/experimental/openai_files/index.cjs.map +1 -1
- package/dist/experimental/openai_files/index.js +1 -2
- package/dist/experimental/openai_files/index.js.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.cjs +10 -11
- package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.js +1 -2
- package/dist/experimental/plan_and_execute/agent_executor.js.map +1 -1
- package/dist/experimental/plan_and_execute/base.cjs +1 -2
- package/dist/experimental/plan_and_execute/base.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/base.js +1 -1
- package/dist/experimental/plan_and_execute/base.js.map +1 -1
- package/dist/experimental/plan_and_execute/index.cjs +11 -12
- package/dist/experimental/plan_and_execute/index.js +1 -2
- package/dist/experimental/plan_and_execute/outputParser.cjs +3 -4
- package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.js +1 -2
- package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.cjs +2 -3
- package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.js +1 -2
- package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
- package/dist/experimental/prompts/custom_format.cjs +8 -9
- package/dist/experimental/prompts/custom_format.cjs.map +1 -1
- package/dist/experimental/prompts/custom_format.js +1 -2
- package/dist/experimental/prompts/custom_format.js.map +1 -1
- package/dist/experimental/prompts/handlebars.cjs +9 -10
- package/dist/experimental/prompts/handlebars.cjs.map +1 -1
- package/dist/experimental/prompts/handlebars.js +1 -2
- package/dist/experimental/prompts/handlebars.js.map +1 -1
- package/dist/hub/base.cjs +1 -2
- package/dist/hub/base.cjs.map +1 -1
- package/dist/hub/base.js +1 -1
- package/dist/hub/base.js.map +1 -1
- package/dist/hub/index.cjs +4 -5
- package/dist/hub/index.cjs.map +1 -1
- package/dist/hub/index.js +1 -2
- package/dist/hub/index.js.map +1 -1
- package/dist/hub/node.cjs +5 -6
- package/dist/hub/node.cjs.map +1 -1
- package/dist/hub/node.js +1 -2
- package/dist/hub/node.js.map +1 -1
- package/dist/index.cjs +8 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +8 -9
- package/dist/indexes/index.js +1 -2
- package/dist/load/import_constants.cjs +1 -2
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js +1 -1
- package/dist/load/import_map.cjs +98 -99
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +1 -2
- package/dist/load/import_map.js.map +1 -1
- package/dist/load/index.cjs +5 -6
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.js +1 -2
- package/dist/load/index.js.map +1 -1
- package/dist/load/serializable.cjs +14 -14
- package/dist/load/serializable.js +2 -4
- package/dist/memory/buffer_memory.cjs +3 -4
- package/dist/memory/buffer_memory.cjs.map +1 -1
- package/dist/memory/buffer_memory.js +1 -2
- package/dist/memory/buffer_memory.js.map +1 -1
- package/dist/memory/buffer_token_memory.cjs +3 -4
- package/dist/memory/buffer_token_memory.cjs.map +1 -1
- package/dist/memory/buffer_token_memory.js +1 -2
- package/dist/memory/buffer_token_memory.js.map +1 -1
- package/dist/memory/buffer_window_memory.cjs +3 -4
- package/dist/memory/buffer_window_memory.cjs.map +1 -1
- package/dist/memory/buffer_window_memory.js +1 -2
- package/dist/memory/buffer_window_memory.js.map +1 -1
- package/dist/memory/chat_memory.cjs +8 -9
- package/dist/memory/chat_memory.cjs.map +1 -1
- package/dist/memory/chat_memory.js +1 -2
- package/dist/memory/chat_memory.js.map +1 -1
- package/dist/memory/combined_memory.cjs +2 -3
- package/dist/memory/combined_memory.cjs.map +1 -1
- package/dist/memory/combined_memory.js +1 -2
- package/dist/memory/combined_memory.js.map +1 -1
- package/dist/memory/entity_memory.cjs +6 -7
- package/dist/memory/entity_memory.cjs.map +1 -1
- package/dist/memory/entity_memory.js +1 -2
- package/dist/memory/entity_memory.js.map +1 -1
- package/dist/memory/index.cjs +43 -44
- package/dist/memory/index.js +1 -2
- package/dist/memory/prompt.cjs +27 -33
- package/dist/memory/prompt.cjs.map +1 -1
- package/dist/memory/prompt.js +26 -32
- package/dist/memory/prompt.js.map +1 -1
- package/dist/memory/stores/entity/base.cjs +2 -3
- package/dist/memory/stores/entity/base.cjs.map +1 -1
- package/dist/memory/stores/entity/base.js +1 -2
- package/dist/memory/stores/entity/base.js.map +1 -1
- package/dist/memory/stores/entity/in_memory.cjs +2 -3
- package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
- package/dist/memory/stores/entity/in_memory.js +1 -2
- package/dist/memory/stores/entity/in_memory.js.map +1 -1
- package/dist/memory/summary.cjs +5 -6
- package/dist/memory/summary.cjs.map +1 -1
- package/dist/memory/summary.js +1 -2
- package/dist/memory/summary.js.map +1 -1
- package/dist/memory/summary_buffer.cjs +3 -4
- package/dist/memory/summary_buffer.cjs.map +1 -1
- package/dist/memory/summary_buffer.js +1 -2
- package/dist/memory/summary_buffer.js.map +1 -1
- package/dist/memory/vector_store.cjs +3 -4
- package/dist/memory/vector_store.cjs.map +1 -1
- package/dist/memory/vector_store.js +1 -2
- package/dist/memory/vector_store.js.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.cts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.ts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.cts +1 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.ts +1 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.cts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.ts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.cts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.ts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.cts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.ts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.cts +1 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.ts +1 -2
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.cts +1 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.ts +1 -1
- package/dist/output_parsers/combining.cjs +2 -3
- package/dist/output_parsers/combining.cjs.map +1 -1
- package/dist/output_parsers/combining.js +1 -2
- package/dist/output_parsers/combining.js.map +1 -1
- package/dist/output_parsers/datetime.cjs +2 -3
- package/dist/output_parsers/datetime.cjs.map +1 -1
- package/dist/output_parsers/datetime.js +1 -2
- package/dist/output_parsers/datetime.js.map +1 -1
- package/dist/output_parsers/expression.cjs +10 -11
- package/dist/output_parsers/expression.cjs.map +1 -1
- package/dist/output_parsers/expression.js +1 -2
- package/dist/output_parsers/expression.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.js +1 -2
- package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.cjs +11 -12
- package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.js +1 -2
- package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +1 -2
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +3 -4
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +1 -1
- package/dist/output_parsers/fix.cjs +4 -5
- package/dist/output_parsers/fix.cjs.map +1 -1
- package/dist/output_parsers/fix.js +1 -2
- package/dist/output_parsers/fix.js.map +1 -1
- package/dist/output_parsers/http_response.cjs +2 -3
- package/dist/output_parsers/http_response.cjs.map +1 -1
- package/dist/output_parsers/http_response.js +1 -2
- package/dist/output_parsers/http_response.js.map +1 -1
- package/dist/output_parsers/index.cjs +32 -33
- package/dist/output_parsers/index.js +1 -2
- package/dist/output_parsers/noop.cjs +2 -3
- package/dist/output_parsers/noop.cjs.map +1 -1
- package/dist/output_parsers/noop.js +1 -2
- package/dist/output_parsers/noop.js.map +1 -1
- package/dist/output_parsers/openai_functions.cjs +2 -3
- package/dist/output_parsers/openai_functions.cjs.map +1 -1
- package/dist/output_parsers/openai_functions.js +1 -2
- package/dist/output_parsers/openai_functions.js.map +1 -1
- package/dist/output_parsers/openai_tools.cjs +2 -3
- package/dist/output_parsers/openai_tools.cjs.map +1 -1
- package/dist/output_parsers/openai_tools.js +1 -2
- package/dist/output_parsers/openai_tools.js.map +1 -1
- package/dist/output_parsers/prompts.cjs +4 -8
- package/dist/output_parsers/prompts.cjs.map +1 -1
- package/dist/output_parsers/prompts.js +3 -6
- package/dist/output_parsers/prompts.js.map +1 -1
- package/dist/output_parsers/regex.cjs +2 -3
- package/dist/output_parsers/regex.cjs.map +1 -1
- package/dist/output_parsers/regex.js +1 -2
- package/dist/output_parsers/regex.js.map +1 -1
- package/dist/output_parsers/router.cjs +3 -4
- package/dist/output_parsers/router.cjs.map +1 -1
- package/dist/output_parsers/router.js +1 -2
- package/dist/output_parsers/router.js.map +1 -1
- package/dist/output_parsers/structured.cjs +2 -3
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.js +1 -2
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/retrievers/contextual_compression.cjs +8 -9
- package/dist/retrievers/contextual_compression.cjs.map +1 -1
- package/dist/retrievers/contextual_compression.js +1 -2
- package/dist/retrievers/contextual_compression.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.cjs +11 -12
- package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.js +1 -2
- package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +1 -2
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.js +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.cjs +9 -10
- package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.js +1 -2
- package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs +8 -10
- package/dist/retrievers/document_compressors/index.cjs.map +1 -1
- package/dist/retrievers/document_compressors/index.js +1 -2
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/ensemble.cjs +8 -9
- package/dist/retrievers/ensemble.cjs.map +1 -1
- package/dist/retrievers/ensemble.js +1 -2
- package/dist/retrievers/ensemble.js.map +1 -1
- package/dist/retrievers/hyde.cjs +8 -9
- package/dist/retrievers/hyde.cjs.map +1 -1
- package/dist/retrievers/hyde.js +1 -2
- package/dist/retrievers/hyde.js.map +1 -1
- package/dist/retrievers/matryoshka_retriever.cjs +8 -9
- package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
- package/dist/retrievers/matryoshka_retriever.js +1 -2
- package/dist/retrievers/matryoshka_retriever.js.map +1 -1
- package/dist/retrievers/multi_query.cjs +9 -10
- package/dist/retrievers/multi_query.cjs.map +1 -1
- package/dist/retrievers/multi_query.js +1 -2
- package/dist/retrievers/multi_query.js.map +1 -1
- package/dist/retrievers/multi_vector.cjs +9 -10
- package/dist/retrievers/multi_vector.cjs.map +1 -1
- package/dist/retrievers/multi_vector.js +1 -2
- package/dist/retrievers/multi_vector.js.map +1 -1
- package/dist/retrievers/parent_document.cjs +9 -10
- package/dist/retrievers/parent_document.cjs.map +1 -1
- package/dist/retrievers/parent_document.js +1 -2
- package/dist/retrievers/parent_document.js.map +1 -1
- package/dist/retrievers/score_threshold.cjs +8 -9
- package/dist/retrievers/score_threshold.cjs.map +1 -1
- package/dist/retrievers/score_threshold.js +1 -2
- package/dist/retrievers/score_threshold.js.map +1 -1
- package/dist/retrievers/self_query/functional.cjs +13 -14
- package/dist/retrievers/self_query/functional.js +1 -2
- package/dist/retrievers/self_query/index.cjs +24 -25
- package/dist/retrievers/self_query/index.cjs.map +1 -1
- package/dist/retrievers/self_query/index.js +1 -2
- package/dist/retrievers/self_query/index.js.map +1 -1
- package/dist/retrievers/time_weighted.cjs +9 -10
- package/dist/retrievers/time_weighted.cjs.map +1 -1
- package/dist/retrievers/time_weighted.js +2 -3
- package/dist/retrievers/time_weighted.js.map +1 -1
- package/dist/schema/prompt_template.cjs +8 -10
- package/dist/schema/prompt_template.cjs.map +1 -1
- package/dist/schema/prompt_template.js +1 -2
- package/dist/schema/prompt_template.js.map +1 -1
- package/dist/schema/query_constructor.cjs +8 -10
- package/dist/schema/query_constructor.cjs.map +1 -1
- package/dist/schema/query_constructor.js +1 -2
- package/dist/schema/query_constructor.js.map +1 -1
- package/dist/smith/config.cjs +1 -2
- package/dist/smith/config.cjs.map +1 -1
- package/dist/smith/config.d.cts +0 -1
- package/dist/smith/config.d.cts.map +1 -1
- package/dist/smith/config.d.ts +0 -2
- package/dist/smith/config.d.ts.map +1 -1
- package/dist/smith/config.js +1 -1
- package/dist/smith/index.cjs +10 -11
- package/dist/smith/index.js +1 -2
- package/dist/smith/name_generation.cjs +1 -2
- package/dist/smith/name_generation.cjs.map +1 -1
- package/dist/smith/name_generation.js +1 -1
- package/dist/smith/progress.cjs +1 -2
- package/dist/smith/progress.cjs.map +1 -1
- package/dist/smith/progress.js +1 -1
- package/dist/smith/progress.js.map +1 -1
- package/dist/smith/runner_utils.cjs +6 -7
- package/dist/smith/runner_utils.cjs.map +1 -1
- package/dist/smith/runner_utils.d.cts +0 -1
- package/dist/smith/runner_utils.d.cts.map +1 -1
- package/dist/smith/runner_utils.d.ts +0 -1
- package/dist/smith/runner_utils.d.ts.map +1 -1
- package/dist/smith/runner_utils.js +1 -2
- package/dist/smith/runner_utils.js.map +1 -1
- package/dist/sql_db.cjs +9 -10
- package/dist/sql_db.cjs.map +1 -1
- package/dist/sql_db.js +1 -2
- package/dist/sql_db.js.map +1 -1
- package/dist/storage/encoder_backed.cjs +8 -9
- package/dist/storage/encoder_backed.cjs.map +1 -1
- package/dist/storage/encoder_backed.js +1 -2
- package/dist/storage/encoder_backed.js.map +1 -1
- package/dist/storage/file_system.cjs +8 -9
- package/dist/storage/file_system.cjs.map +1 -1
- package/dist/storage/file_system.js +1 -2
- package/dist/storage/file_system.js.map +1 -1
- package/dist/storage/in_memory.cjs +13 -14
- package/dist/storage/in_memory.js +1 -2
- package/dist/stores/doc/base.cjs +8 -10
- package/dist/stores/doc/base.cjs.map +1 -1
- package/dist/stores/doc/base.js +1 -2
- package/dist/stores/doc/base.js.map +1 -1
- package/dist/stores/doc/in_memory.cjs +9 -10
- package/dist/stores/doc/in_memory.cjs.map +1 -1
- package/dist/stores/doc/in_memory.js +1 -2
- package/dist/stores/doc/in_memory.js.map +1 -1
- package/dist/stores/file/base.cjs +2 -3
- package/dist/stores/file/base.cjs.map +1 -1
- package/dist/stores/file/base.js +1 -2
- package/dist/stores/file/base.js.map +1 -1
- package/dist/stores/file/in_memory.cjs +9 -10
- package/dist/stores/file/in_memory.cjs.map +1 -1
- package/dist/stores/file/in_memory.js +1 -2
- package/dist/stores/file/in_memory.js.map +1 -1
- package/dist/stores/file/node.cjs +9 -10
- package/dist/stores/file/node.cjs.map +1 -1
- package/dist/stores/file/node.js +1 -2
- package/dist/stores/file/node.js.map +1 -1
- package/dist/stores/message/in_memory.cjs +13 -14
- package/dist/stores/message/in_memory.js +1 -2
- package/dist/text_splitter.cjs +14 -14
- package/dist/text_splitter.d.cts +0 -1
- package/dist/text_splitter.d.ts +0 -1
- package/dist/text_splitter.js +2 -4
- package/dist/tools/chain.cjs +8 -9
- package/dist/tools/chain.cjs.map +1 -1
- package/dist/tools/chain.js +1 -2
- package/dist/tools/chain.js.map +1 -1
- package/dist/tools/fs.cjs +2 -3
- package/dist/tools/fs.cjs.map +1 -1
- package/dist/tools/fs.js +1 -2
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/index.cjs +33 -34
- package/dist/tools/index.js +1 -2
- package/dist/tools/json.cjs +2 -3
- package/dist/tools/json.cjs.map +1 -1
- package/dist/tools/json.js +1 -2
- package/dist/tools/json.js.map +1 -1
- package/dist/tools/render.cjs +8 -9
- package/dist/tools/render.cjs.map +1 -1
- package/dist/tools/render.js +1 -2
- package/dist/tools/render.js.map +1 -1
- package/dist/tools/requests.cjs +2 -3
- package/dist/tools/requests.cjs.map +1 -1
- package/dist/tools/requests.js +1 -2
- package/dist/tools/requests.js.map +1 -1
- package/dist/tools/retriever.cjs +9 -10
- package/dist/tools/retriever.cjs.map +1 -1
- package/dist/tools/retriever.js +1 -2
- package/dist/tools/retriever.js.map +1 -1
- package/dist/tools/sql.cjs +9 -10
- package/dist/tools/sql.cjs.map +1 -1
- package/dist/tools/sql.js +1 -2
- package/dist/tools/sql.js.map +1 -1
- package/dist/tools/vectorstore.cjs +3 -4
- package/dist/tools/vectorstore.cjs.map +1 -1
- package/dist/tools/vectorstore.js +1 -2
- package/dist/tools/vectorstore.js.map +1 -1
- package/dist/tools/webbrowser.cjs +10 -11
- package/dist/tools/webbrowser.cjs.map +1 -1
- package/dist/tools/webbrowser.js +1 -2
- package/dist/tools/webbrowser.js.map +1 -1
- package/dist/util/document.cjs +8 -10
- package/dist/util/document.cjs.map +1 -1
- package/dist/util/document.js +1 -2
- package/dist/util/document.js.map +1 -1
- package/dist/util/entrypoint_deprecation.cjs +1 -1
- package/dist/util/entrypoint_deprecation.js +1 -2
- package/dist/util/env.cjs +2 -2
- package/dist/util/env.js +1 -2
- package/dist/util/extname.cjs +1 -2
- package/dist/util/extname.cjs.map +1 -1
- package/dist/util/extname.js +1 -1
- package/dist/util/hub.cjs +4 -5
- package/dist/util/hub.cjs.map +1 -1
- package/dist/util/hub.js +1 -2
- package/dist/util/hub.js.map +1 -1
- package/dist/util/is-network-error/index.cjs +1 -2
- package/dist/util/is-network-error/index.cjs.map +1 -1
- package/dist/util/is-network-error/index.js +1 -1
- package/dist/util/is-network-error/index.js.map +1 -1
- package/dist/util/load.cjs +1 -2
- package/dist/util/load.cjs.map +1 -1
- package/dist/util/load.js +1 -1
- package/dist/util/math.cjs +14 -14
- package/dist/util/math.js +2 -4
- package/dist/util/ml-distance/distances.cjs +1 -2
- package/dist/util/ml-distance/distances.cjs.map +1 -1
- package/dist/util/ml-distance/distances.js +1 -1
- package/dist/util/ml-distance/similarities.cjs +1 -2
- package/dist/util/ml-distance/similarities.cjs.map +1 -1
- package/dist/util/ml-distance/similarities.js +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.cjs +1 -2
- package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.js +1 -1
- package/dist/util/openapi.cjs +2 -3
- package/dist/util/openapi.cjs.map +1 -1
- package/dist/util/openapi.js +1 -2
- package/dist/util/openapi.js.map +1 -1
- package/dist/util/p-retry/index.cjs +2 -3
- package/dist/util/p-retry/index.cjs.map +1 -1
- package/dist/util/p-retry/index.js +1 -2
- package/dist/util/p-retry/index.js.map +1 -1
- package/dist/util/parse.cjs +3 -4
- package/dist/util/parse.cjs.map +1 -1
- package/dist/util/parse.js +1 -2
- package/dist/util/parse.js.map +1 -1
- package/dist/util/set.cjs +1 -2
- package/dist/util/set.cjs.map +1 -1
- package/dist/util/set.js +1 -1
- package/dist/util/sql_utils.cjs +2 -3
- package/dist/util/sql_utils.cjs.map +1 -1
- package/dist/util/sql_utils.js +1 -2
- package/dist/util/sql_utils.js.map +1 -1
- package/dist/util/time.cjs +8 -10
- package/dist/util/time.cjs.map +1 -1
- package/dist/util/time.js +1 -2
- package/dist/util/time.js.map +1 -1
- package/dist/vectorstores/memory.cjs +9 -10
- package/dist/vectorstores/memory.cjs.map +1 -1
- package/dist/vectorstores/memory.js +1 -2
- package/dist/vectorstores/memory.js.map +1 -1
- package/package.json +21 -17
- package/agents/format_scratchpad/log.cjs +0 -1
- package/agents/format_scratchpad/log.d.cts +0 -1
- package/agents/format_scratchpad/log.d.ts +0 -1
- package/agents/format_scratchpad/log.js +0 -1
- package/agents/format_scratchpad/log_to_message.cjs +0 -1
- package/agents/format_scratchpad/log_to_message.d.cts +0 -1
- package/agents/format_scratchpad/log_to_message.d.ts +0 -1
- package/agents/format_scratchpad/log_to_message.js +0 -1
- package/agents/format_scratchpad/openai_functions.cjs +0 -1
- package/agents/format_scratchpad/openai_functions.d.cts +0 -1
- package/agents/format_scratchpad/openai_functions.d.ts +0 -1
- package/agents/format_scratchpad/openai_functions.js +0 -1
- package/agents/format_scratchpad/openai_tools.cjs +0 -1
- package/agents/format_scratchpad/openai_tools.d.cts +0 -1
- package/agents/format_scratchpad/openai_tools.d.ts +0 -1
- package/agents/format_scratchpad/openai_tools.js +0 -1
- package/agents/format_scratchpad/xml.cjs +0 -1
- package/agents/format_scratchpad/xml.d.cts +0 -1
- package/agents/format_scratchpad/xml.d.ts +0 -1
- package/agents/format_scratchpad/xml.js +0 -1
- package/agents/load.cjs +0 -1
- package/agents/load.d.cts +0 -1
- package/agents/load.d.ts +0 -1
- package/agents/load.js +0 -1
- package/agents/openai/output_parser.cjs +0 -1
- package/agents/openai/output_parser.d.cts +0 -1
- package/agents/openai/output_parser.d.ts +0 -1
- package/agents/openai/output_parser.js +0 -1
- package/agents/react/output_parser.cjs +0 -1
- package/agents/react/output_parser.d.cts +0 -1
- package/agents/react/output_parser.d.ts +0 -1
- package/agents/react/output_parser.js +0 -1
- package/agents/toolkits/sql.cjs +0 -1
- package/agents/toolkits/sql.d.cts +0 -1
- package/agents/toolkits/sql.d.ts +0 -1
- package/agents/toolkits/sql.js +0 -1
- package/agents/toolkits.cjs +0 -1
- package/agents/toolkits.d.cts +0 -1
- package/agents/toolkits.d.ts +0 -1
- package/agents/toolkits.js +0 -1
- package/agents/xml/output_parser.cjs +0 -1
- package/agents/xml/output_parser.d.cts +0 -1
- package/agents/xml/output_parser.d.ts +0 -1
- package/agents/xml/output_parser.js +0 -1
- package/agents.cjs +0 -1
- package/agents.d.cts +0 -1
- package/agents.d.ts +0 -1
- package/agents.js +0 -1
- package/cache/file_system.cjs +0 -1
- package/cache/file_system.d.cts +0 -1
- package/cache/file_system.d.ts +0 -1
- package/cache/file_system.js +0 -1
- package/callbacks.cjs +0 -1
- package/callbacks.d.cts +0 -1
- package/callbacks.d.ts +0 -1
- package/callbacks.js +0 -1
- package/chains/combine_documents/reduce.cjs +0 -1
- package/chains/combine_documents/reduce.d.cts +0 -1
- package/chains/combine_documents/reduce.d.ts +0 -1
- package/chains/combine_documents/reduce.js +0 -1
- package/chains/combine_documents.cjs +0 -1
- package/chains/combine_documents.d.cts +0 -1
- package/chains/combine_documents.d.ts +0 -1
- package/chains/combine_documents.js +0 -1
- package/chains/graph_qa/cypher.cjs +0 -1
- package/chains/graph_qa/cypher.d.cts +0 -1
- package/chains/graph_qa/cypher.d.ts +0 -1
- package/chains/graph_qa/cypher.js +0 -1
- package/chains/history_aware_retriever.cjs +0 -1
- package/chains/history_aware_retriever.d.cts +0 -1
- package/chains/history_aware_retriever.d.ts +0 -1
- package/chains/history_aware_retriever.js +0 -1
- package/chains/load.cjs +0 -1
- package/chains/load.d.cts +0 -1
- package/chains/load.d.ts +0 -1
- package/chains/load.js +0 -1
- package/chains/openai_functions.cjs +0 -1
- package/chains/openai_functions.d.cts +0 -1
- package/chains/openai_functions.d.ts +0 -1
- package/chains/openai_functions.js +0 -1
- package/chains/query_constructor/ir.cjs +0 -1
- package/chains/query_constructor/ir.d.cts +0 -1
- package/chains/query_constructor/ir.d.ts +0 -1
- package/chains/query_constructor/ir.js +0 -1
- package/chains/query_constructor.cjs +0 -1
- package/chains/query_constructor.d.cts +0 -1
- package/chains/query_constructor.d.ts +0 -1
- package/chains/query_constructor.js +0 -1
- package/chains/retrieval.cjs +0 -1
- package/chains/retrieval.d.cts +0 -1
- package/chains/retrieval.d.ts +0 -1
- package/chains/retrieval.js +0 -1
- package/chains/sql_db.cjs +0 -1
- package/chains/sql_db.d.cts +0 -1
- package/chains/sql_db.d.ts +0 -1
- package/chains/sql_db.js +0 -1
- package/chains.cjs +0 -1
- package/chains.d.cts +0 -1
- package/chains.d.ts +0 -1
- package/chains.js +0 -1
- package/chat_models/universal.cjs +0 -1
- package/chat_models/universal.d.cts +0 -1
- package/chat_models/universal.d.ts +0 -1
- package/chat_models/universal.js +0 -1
- package/document.cjs +0 -1
- package/document.d.cts +0 -1
- package/document.d.ts +0 -1
- package/document.js +0 -1
- package/document_loaders/base.cjs +0 -1
- package/document_loaders/base.d.cts +0 -1
- package/document_loaders/base.d.ts +0 -1
- package/document_loaders/base.js +0 -1
- package/document_loaders/fs/buffer.cjs +0 -1
- package/document_loaders/fs/buffer.d.cts +0 -1
- package/document_loaders/fs/buffer.d.ts +0 -1
- package/document_loaders/fs/buffer.js +0 -1
- package/document_loaders/fs/directory.cjs +0 -1
- package/document_loaders/fs/directory.d.cts +0 -1
- package/document_loaders/fs/directory.d.ts +0 -1
- package/document_loaders/fs/directory.js +0 -1
- package/document_loaders/fs/json.cjs +0 -1
- package/document_loaders/fs/json.d.cts +0 -1
- package/document_loaders/fs/json.d.ts +0 -1
- package/document_loaders/fs/json.js +0 -1
- package/document_loaders/fs/multi_file.cjs +0 -1
- package/document_loaders/fs/multi_file.d.cts +0 -1
- package/document_loaders/fs/multi_file.d.ts +0 -1
- package/document_loaders/fs/multi_file.js +0 -1
- package/document_loaders/fs/text.cjs +0 -1
- package/document_loaders/fs/text.d.cts +0 -1
- package/document_loaders/fs/text.d.ts +0 -1
- package/document_loaders/fs/text.js +0 -1
- package/document_transformers/openai_functions.cjs +0 -1
- package/document_transformers/openai_functions.d.cts +0 -1
- package/document_transformers/openai_functions.d.ts +0 -1
- package/document_transformers/openai_functions.js +0 -1
- package/embeddings/cache_backed.cjs +0 -1
- package/embeddings/cache_backed.d.cts +0 -1
- package/embeddings/cache_backed.d.ts +0 -1
- package/embeddings/cache_backed.js +0 -1
- package/embeddings/fake.cjs +0 -1
- package/embeddings/fake.d.cts +0 -1
- package/embeddings/fake.d.ts +0 -1
- package/embeddings/fake.js +0 -1
- package/evaluation.cjs +0 -1
- package/evaluation.d.cts +0 -1
- package/evaluation.d.ts +0 -1
- package/evaluation.js +0 -1
- package/experimental/autogpt.cjs +0 -1
- package/experimental/autogpt.d.cts +0 -1
- package/experimental/autogpt.d.ts +0 -1
- package/experimental/autogpt.js +0 -1
- package/experimental/babyagi.cjs +0 -1
- package/experimental/babyagi.d.cts +0 -1
- package/experimental/babyagi.d.ts +0 -1
- package/experimental/babyagi.js +0 -1
- package/experimental/chains/violation_of_expectations.cjs +0 -1
- package/experimental/chains/violation_of_expectations.d.cts +0 -1
- package/experimental/chains/violation_of_expectations.d.ts +0 -1
- package/experimental/chains/violation_of_expectations.js +0 -1
- package/experimental/generative_agents.cjs +0 -1
- package/experimental/generative_agents.d.cts +0 -1
- package/experimental/generative_agents.d.ts +0 -1
- package/experimental/generative_agents.js +0 -1
- package/experimental/masking.cjs +0 -1
- package/experimental/masking.d.cts +0 -1
- package/experimental/masking.d.ts +0 -1
- package/experimental/masking.js +0 -1
- package/experimental/openai_assistant.cjs +0 -1
- package/experimental/openai_assistant.d.cts +0 -1
- package/experimental/openai_assistant.d.ts +0 -1
- package/experimental/openai_assistant.js +0 -1
- package/experimental/openai_files.cjs +0 -1
- package/experimental/openai_files.d.cts +0 -1
- package/experimental/openai_files.d.ts +0 -1
- package/experimental/openai_files.js +0 -1
- package/experimental/plan_and_execute.cjs +0 -1
- package/experimental/plan_and_execute.d.cts +0 -1
- package/experimental/plan_and_execute.d.ts +0 -1
- package/experimental/plan_and_execute.js +0 -1
- package/experimental/prompts/custom_format.cjs +0 -1
- package/experimental/prompts/custom_format.d.cts +0 -1
- package/experimental/prompts/custom_format.d.ts +0 -1
- package/experimental/prompts/custom_format.js +0 -1
- package/experimental/prompts/handlebars.cjs +0 -1
- package/experimental/prompts/handlebars.d.cts +0 -1
- package/experimental/prompts/handlebars.d.ts +0 -1
- package/experimental/prompts/handlebars.js +0 -1
- package/hub/node.cjs +0 -1
- package/hub/node.d.cts +0 -1
- package/hub/node.d.ts +0 -1
- package/hub/node.js +0 -1
- package/hub.cjs +0 -1
- package/hub.d.cts +0 -1
- package/hub.d.ts +0 -1
- package/hub.js +0 -1
- package/indexes.cjs +0 -1
- package/indexes.d.cts +0 -1
- package/indexes.d.ts +0 -1
- package/indexes.js +0 -1
- package/load/serializable.cjs +0 -1
- package/load/serializable.d.cts +0 -1
- package/load/serializable.d.ts +0 -1
- package/load/serializable.js +0 -1
- package/load.cjs +0 -1
- package/load.d.cts +0 -1
- package/load.d.ts +0 -1
- package/load.js +0 -1
- package/memory/chat_memory.cjs +0 -1
- package/memory/chat_memory.d.cts +0 -1
- package/memory/chat_memory.d.ts +0 -1
- package/memory/chat_memory.js +0 -1
- package/memory.cjs +0 -1
- package/memory.d.cts +0 -1
- package/memory.d.ts +0 -1
- package/memory.js +0 -1
- package/output_parsers/expression.cjs +0 -1
- package/output_parsers/expression.d.cts +0 -1
- package/output_parsers/expression.d.ts +0 -1
- package/output_parsers/expression.js +0 -1
- package/output_parsers.cjs +0 -1
- package/output_parsers.d.cts +0 -1
- package/output_parsers.d.ts +0 -1
- package/output_parsers.js +0 -1
- package/retrievers/contextual_compression.cjs +0 -1
- package/retrievers/contextual_compression.d.cts +0 -1
- package/retrievers/contextual_compression.d.ts +0 -1
- package/retrievers/contextual_compression.js +0 -1
- package/retrievers/document_compressors/chain_extract.cjs +0 -1
- package/retrievers/document_compressors/chain_extract.d.cts +0 -1
- package/retrievers/document_compressors/chain_extract.d.ts +0 -1
- package/retrievers/document_compressors/chain_extract.js +0 -1
- package/retrievers/document_compressors/embeddings_filter.cjs +0 -1
- package/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
- package/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
- package/retrievers/document_compressors/embeddings_filter.js +0 -1
- package/retrievers/document_compressors.cjs +0 -1
- package/retrievers/document_compressors.d.cts +0 -1
- package/retrievers/document_compressors.d.ts +0 -1
- package/retrievers/document_compressors.js +0 -1
- package/retrievers/ensemble.cjs +0 -1
- package/retrievers/ensemble.d.cts +0 -1
- package/retrievers/ensemble.d.ts +0 -1
- package/retrievers/ensemble.js +0 -1
- package/retrievers/hyde.cjs +0 -1
- package/retrievers/hyde.d.cts +0 -1
- package/retrievers/hyde.d.ts +0 -1
- package/retrievers/hyde.js +0 -1
- package/retrievers/matryoshka_retriever.cjs +0 -1
- package/retrievers/matryoshka_retriever.d.cts +0 -1
- package/retrievers/matryoshka_retriever.d.ts +0 -1
- package/retrievers/matryoshka_retriever.js +0 -1
- package/retrievers/multi_query.cjs +0 -1
- package/retrievers/multi_query.d.cts +0 -1
- package/retrievers/multi_query.d.ts +0 -1
- package/retrievers/multi_query.js +0 -1
- package/retrievers/multi_vector.cjs +0 -1
- package/retrievers/multi_vector.d.cts +0 -1
- package/retrievers/multi_vector.d.ts +0 -1
- package/retrievers/multi_vector.js +0 -1
- package/retrievers/parent_document.cjs +0 -1
- package/retrievers/parent_document.d.cts +0 -1
- package/retrievers/parent_document.d.ts +0 -1
- package/retrievers/parent_document.js +0 -1
- package/retrievers/score_threshold.cjs +0 -1
- package/retrievers/score_threshold.d.cts +0 -1
- package/retrievers/score_threshold.d.ts +0 -1
- package/retrievers/score_threshold.js +0 -1
- package/retrievers/self_query/functional.cjs +0 -1
- package/retrievers/self_query/functional.d.cts +0 -1
- package/retrievers/self_query/functional.d.ts +0 -1
- package/retrievers/self_query/functional.js +0 -1
- package/retrievers/self_query.cjs +0 -1
- package/retrievers/self_query.d.cts +0 -1
- package/retrievers/self_query.d.ts +0 -1
- package/retrievers/self_query.js +0 -1
- package/retrievers/time_weighted.cjs +0 -1
- package/retrievers/time_weighted.d.cts +0 -1
- package/retrievers/time_weighted.d.ts +0 -1
- package/retrievers/time_weighted.js +0 -1
- package/schema/prompt_template.cjs +0 -1
- package/schema/prompt_template.d.cts +0 -1
- package/schema/prompt_template.d.ts +0 -1
- package/schema/prompt_template.js +0 -1
- package/schema/query_constructor.cjs +0 -1
- package/schema/query_constructor.d.cts +0 -1
- package/schema/query_constructor.d.ts +0 -1
- package/schema/query_constructor.js +0 -1
- package/smith.cjs +0 -1
- package/smith.d.cts +0 -1
- package/smith.d.ts +0 -1
- package/smith.js +0 -1
- package/sql_db.cjs +0 -1
- package/sql_db.d.cts +0 -1
- package/sql_db.d.ts +0 -1
- package/sql_db.js +0 -1
- package/storage/encoder_backed.cjs +0 -1
- package/storage/encoder_backed.d.cts +0 -1
- package/storage/encoder_backed.d.ts +0 -1
- package/storage/encoder_backed.js +0 -1
- package/storage/file_system.cjs +0 -1
- package/storage/file_system.d.cts +0 -1
- package/storage/file_system.d.ts +0 -1
- package/storage/file_system.js +0 -1
- package/storage/in_memory.cjs +0 -1
- package/storage/in_memory.d.cts +0 -1
- package/storage/in_memory.d.ts +0 -1
- package/storage/in_memory.js +0 -1
- package/stores/doc/base.cjs +0 -1
- package/stores/doc/base.d.cts +0 -1
- package/stores/doc/base.d.ts +0 -1
- package/stores/doc/base.js +0 -1
- package/stores/doc/in_memory.cjs +0 -1
- package/stores/doc/in_memory.d.cts +0 -1
- package/stores/doc/in_memory.d.ts +0 -1
- package/stores/doc/in_memory.js +0 -1
- package/stores/file/in_memory.cjs +0 -1
- package/stores/file/in_memory.d.cts +0 -1
- package/stores/file/in_memory.d.ts +0 -1
- package/stores/file/in_memory.js +0 -1
- package/stores/file/node.cjs +0 -1
- package/stores/file/node.d.cts +0 -1
- package/stores/file/node.d.ts +0 -1
- package/stores/file/node.js +0 -1
- package/stores/message/in_memory.cjs +0 -1
- package/stores/message/in_memory.d.cts +0 -1
- package/stores/message/in_memory.d.ts +0 -1
- package/stores/message/in_memory.js +0 -1
- package/text_splitter.cjs +0 -1
- package/text_splitter.d.cts +0 -1
- package/text_splitter.d.ts +0 -1
- package/text_splitter.js +0 -1
- package/tools/chain.cjs +0 -1
- package/tools/chain.d.cts +0 -1
- package/tools/chain.d.ts +0 -1
- package/tools/chain.js +0 -1
- package/tools/render.cjs +0 -1
- package/tools/render.d.cts +0 -1
- package/tools/render.d.ts +0 -1
- package/tools/render.js +0 -1
- package/tools/retriever.cjs +0 -1
- package/tools/retriever.d.cts +0 -1
- package/tools/retriever.d.ts +0 -1
- package/tools/retriever.js +0 -1
- package/tools/sql.cjs +0 -1
- package/tools/sql.d.cts +0 -1
- package/tools/sql.d.ts +0 -1
- package/tools/sql.js +0 -1
- package/tools/webbrowser.cjs +0 -1
- package/tools/webbrowser.d.cts +0 -1
- package/tools/webbrowser.d.ts +0 -1
- package/tools/webbrowser.js +0 -1
- package/tools.cjs +0 -1
- package/tools.d.cts +0 -1
- package/tools.d.ts +0 -1
- package/tools.js +0 -1
- package/util/document.cjs +0 -1
- package/util/document.d.cts +0 -1
- package/util/document.d.ts +0 -1
- package/util/document.js +0 -1
- package/util/math.cjs +0 -1
- package/util/math.d.cts +0 -1
- package/util/math.d.ts +0 -1
- package/util/math.js +0 -1
- package/util/time.cjs +0 -1
- package/util/time.d.cts +0 -1
- package/util/time.d.ts +0 -1
- package/util/time.js +0 -1
- package/vectorstores/memory.cjs +0 -1
- package/vectorstores/memory.d.cts +0 -1
- package/vectorstores/memory.d.ts +0 -1
- package/vectorstores/memory.js +0 -1
package/dist/util/parse.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { extname } from "./extname.js";
|
|
2
2
|
import * as yaml from "yaml";
|
|
3
|
-
|
|
4
3
|
//#region src/util/parse.ts
|
|
5
4
|
const loadFileContents = (contents, format) => {
|
|
6
5
|
switch (format) {
|
|
@@ -15,7 +14,7 @@ const parseFileConfig = (text, path, supportedTypes) => {
|
|
|
15
14
|
if (![".json", ".yaml"].includes(suffix) || supportedTypes && !supportedTypes.includes(suffix)) throw new Error(`Unsupported filetype ${suffix}`);
|
|
16
15
|
return loadFileContents(text, suffix);
|
|
17
16
|
};
|
|
18
|
-
|
|
19
17
|
//#endregion
|
|
20
18
|
export { parseFileConfig };
|
|
19
|
+
|
|
21
20
|
//# sourceMappingURL=parse.js.map
|
package/dist/util/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","names":[],"sources":["../../src/util/parse.ts"],"sourcesContent":["import * as yaml from \"yaml\";\nimport { extname } from \"./extname.js\";\n\nexport const loadFileContents = (contents: string, format: string) => {\n switch (format) {\n case \".json\":\n return JSON.parse(contents);\n case \".yml\":\n case \".yaml\":\n return yaml.parse(contents);\n default:\n throw new Error(`Unsupported filetype ${format}`);\n }\n};\n\nexport const parseFileConfig = (\n text: string,\n path: string,\n supportedTypes?: string[]\n) => {\n const suffix = extname(path);\n\n if (\n ![\".json\", \".yaml\"].includes(suffix) ||\n (supportedTypes && !supportedTypes.includes(suffix))\n ) {\n throw new Error(`Unsupported filetype ${suffix}`);\n }\n\n return loadFileContents(text, suffix);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.js","names":[],"sources":["../../src/util/parse.ts"],"sourcesContent":["import * as yaml from \"yaml\";\nimport { extname } from \"./extname.js\";\n\nexport const loadFileContents = (contents: string, format: string) => {\n switch (format) {\n case \".json\":\n return JSON.parse(contents);\n case \".yml\":\n case \".yaml\":\n return yaml.parse(contents);\n default:\n throw new Error(`Unsupported filetype ${format}`);\n }\n};\n\nexport const parseFileConfig = (\n text: string,\n path: string,\n supportedTypes?: string[]\n) => {\n const suffix = extname(path);\n\n if (\n ![\".json\", \".yaml\"].includes(suffix) ||\n (supportedTypes && !supportedTypes.includes(suffix))\n ) {\n throw new Error(`Unsupported filetype ${suffix}`);\n }\n\n return loadFileContents(text, suffix);\n};\n"],"mappings":";;;AAGA,MAAa,oBAAoB,UAAkB,WAAmB;AACpE,SAAQ,QAAR;EACE,KAAK,QACH,QAAO,KAAK,MAAM,SAAS;EAC7B,KAAK;EACL,KAAK,QACH,QAAO,KAAK,MAAM,SAAS;EAC7B,QACE,OAAM,IAAI,MAAM,wBAAwB,SAAS;;;AAIvD,MAAa,mBACX,MACA,MACA,mBACG;CACH,MAAM,SAAS,QAAQ,KAAK;AAE5B,KACE,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,OAAO,IACnC,kBAAkB,CAAC,eAAe,SAAS,OAAO,CAEnD,OAAM,IAAI,MAAM,wBAAwB,SAAS;AAGnD,QAAO,iBAAiB,MAAM,OAAO"}
|
package/dist/util/set.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/util/set.ts
|
|
3
2
|
/**
|
|
4
3
|
* Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations
|
|
@@ -27,9 +26,9 @@ function difference(setA, setB) {
|
|
|
27
26
|
for (const elem of setB) _difference.delete(elem);
|
|
28
27
|
return _difference;
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
//#endregion
|
|
32
30
|
exports.difference = difference;
|
|
33
31
|
exports.intersection = intersection;
|
|
34
32
|
exports.union = union;
|
|
33
|
+
|
|
35
34
|
//# sourceMappingURL=set.cjs.map
|
package/dist/util/set.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.cjs","names":[],"sources":["../../src/util/set.ts"],"sourcesContent":["/**\n * Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations\n */\n\n/**\n * returns intersection of two sets\n */\nexport function intersection<T>(setA: Set<T>, setB: Set<T>) {\n const _intersection = new Set<T>();\n for (const elem of setB) {\n if (setA.has(elem)) {\n _intersection.add(elem);\n }\n }\n return _intersection;\n}\n\n/**\n * returns union of two sets\n */\nexport function union<T>(setA: Set<T>, setB: Set<T>) {\n const _union = new Set(setA);\n for (const elem of setB) {\n _union.add(elem);\n }\n return _union;\n}\n\n/**\n * returns difference of two sets\n */\nexport function difference<T>(setA: Set<T>, setB: Set<T>) {\n const _difference = new Set(setA);\n for (const elem of setB) {\n _difference.delete(elem);\n }\n return _difference;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"set.cjs","names":[],"sources":["../../src/util/set.ts"],"sourcesContent":["/**\n * Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations\n */\n\n/**\n * returns intersection of two sets\n */\nexport function intersection<T>(setA: Set<T>, setB: Set<T>) {\n const _intersection = new Set<T>();\n for (const elem of setB) {\n if (setA.has(elem)) {\n _intersection.add(elem);\n }\n }\n return _intersection;\n}\n\n/**\n * returns union of two sets\n */\nexport function union<T>(setA: Set<T>, setB: Set<T>) {\n const _union = new Set(setA);\n for (const elem of setB) {\n _union.add(elem);\n }\n return _union;\n}\n\n/**\n * returns difference of two sets\n */\nexport function difference<T>(setA: Set<T>, setB: Set<T>) {\n const _difference = new Set(setA);\n for (const elem of setB) {\n _difference.delete(elem);\n }\n return _difference;\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,aAAgB,MAAc,MAAc;CAC1D,MAAM,gCAAgB,IAAI,KAAQ;AAClC,MAAK,MAAM,QAAQ,KACjB,KAAI,KAAK,IAAI,KAAK,CAChB,eAAc,IAAI,KAAK;AAG3B,QAAO;;;;;AAMT,SAAgB,MAAS,MAAc,MAAc;CACnD,MAAM,SAAS,IAAI,IAAI,KAAK;AAC5B,MAAK,MAAM,QAAQ,KACjB,QAAO,IAAI,KAAK;AAElB,QAAO;;;;;AAMT,SAAgB,WAAc,MAAc,MAAc;CACxD,MAAM,cAAc,IAAI,IAAI,KAAK;AACjC,MAAK,MAAM,QAAQ,KACjB,aAAY,OAAO,KAAK;AAE1B,QAAO"}
|
package/dist/util/set.js
CHANGED
package/dist/util/sql_utils.cjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
const require_sql_db_prompt = require(
|
|
2
|
-
|
|
1
|
+
const require_sql_db_prompt = require("../chains/sql_db/sql_db_prompt.cjs");
|
|
3
2
|
//#region src/util/sql_utils.ts
|
|
4
3
|
const verifyListTablesExistInDatabase = (tablesFromDatabase, listTables, errorPrefixMsg) => {
|
|
5
4
|
const onlyTableNames = tablesFromDatabase.map((table) => table.tableName);
|
|
@@ -156,7 +155,6 @@ const getPromptTemplateFromDataSource = (appDataSource) => {
|
|
|
156
155
|
if (appDataSource.options.type === "oracle") return require_sql_db_prompt.SQL_ORACLE_PROMPT;
|
|
157
156
|
return require_sql_db_prompt.DEFAULT_SQL_DATABASE_PROMPT;
|
|
158
157
|
};
|
|
159
|
-
|
|
160
158
|
//#endregion
|
|
161
159
|
exports.generateTableInfoFromTables = generateTableInfoFromTables;
|
|
162
160
|
exports.getPromptTemplateFromDataSource = getPromptTemplateFromDataSource;
|
|
@@ -164,4 +162,5 @@ exports.getTableAndColumnsName = getTableAndColumnsName;
|
|
|
164
162
|
exports.verifyIgnoreTablesExistInDatabase = verifyIgnoreTablesExistInDatabase;
|
|
165
163
|
exports.verifyIncludeTablesExistInDatabase = verifyIncludeTablesExistInDatabase;
|
|
166
164
|
exports.verifyListTablesExistInDatabase = verifyListTablesExistInDatabase;
|
|
165
|
+
|
|
167
166
|
//# sourceMappingURL=sql_utils.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql_utils.cjs","names":["SQL_POSTGRES_PROMPT","SQL_SQLITE_PROMPT","SQL_MYSQL_PROMPT","SQL_MSSQL_PROMPT","SQL_SAP_HANA_PROMPT","SQL_ORACLE_PROMPT","DEFAULT_SQL_DATABASE_PROMPT"],"sources":["../../src/util/sql_utils.ts"],"sourcesContent":["import type { DataSource, DataSourceOptions } from \"typeorm\";\nimport type { PromptTemplate } from \"@langchain/core/prompts\";\nimport {\n DEFAULT_SQL_DATABASE_PROMPT,\n SQL_SAP_HANA_PROMPT,\n SQL_MSSQL_PROMPT,\n SQL_MYSQL_PROMPT,\n SQL_POSTGRES_PROMPT,\n SQL_SQLITE_PROMPT,\n SQL_ORACLE_PROMPT,\n} from \"../chains/sql_db/sql_db_prompt.js\";\n\ninterface RawResultTableAndColumn {\n table_name: string;\n column_name: string;\n data_type: string | undefined;\n is_nullable: string;\n}\n\nexport interface SqlDatabaseParams {\n includesTables?: Array<string>;\n ignoreTables?: Array<string>;\n sampleRowsInTableInfo?: number;\n customDescription?: Record<string, string>;\n}\n\nexport interface SqlDatabaseOptionsParams extends SqlDatabaseParams {\n appDataSourceOptions: DataSourceOptions;\n}\n\nexport interface SqlDatabaseDataSourceParams extends SqlDatabaseParams {\n appDataSource: DataSource;\n}\n\nexport type SerializedSqlDatabase = SqlDatabaseOptionsParams & {\n _type: string;\n};\n\nexport interface SqlTable {\n tableName: string;\n columns: SqlColumn[];\n}\n\nexport interface SqlColumn {\n columnName: string;\n dataType?: string;\n isNullable?: boolean;\n}\n\nexport const verifyListTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n listTables: Array<string>,\n errorPrefixMsg: string\n): void => {\n const onlyTableNames: Array<string> = tablesFromDatabase.map(\n (table: SqlTable) => table.tableName\n );\n if (listTables.length > 0) {\n for (const tableName of listTables) {\n if (!onlyTableNames.includes(tableName)) {\n throw new Error(\n `${errorPrefixMsg} the table ${tableName} was not found in the database`\n );\n }\n }\n }\n};\n\nexport const verifyIncludeTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n includeTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n includeTables,\n \"Include tables not found in database:\"\n );\n};\n\nexport const verifyIgnoreTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n ignoreTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n ignoreTables,\n \"Ignore tables not found in database:\"\n );\n};\n\nconst formatToSqlTable = (\n rawResultsTableAndColumn: Array<RawResultTableAndColumn>\n): Array<SqlTable> => {\n const sqlTable: Array<SqlTable> = [];\n for (const oneResult of rawResultsTableAndColumn) {\n const sqlColumn = {\n columnName: oneResult.column_name,\n dataType: oneResult.data_type,\n isNullable: oneResult.is_nullable === \"YES\",\n };\n const currentTable = sqlTable.find(\n (oneTable) => oneTable.tableName === oneResult.table_name\n );\n if (currentTable) {\n currentTable.columns.push(sqlColumn);\n } else {\n const newTable = {\n tableName: oneResult.table_name,\n columns: [sqlColumn],\n };\n sqlTable.push(newTable);\n }\n }\n\n return sqlTable;\n};\n\nexport const getTableAndColumnsName = async (\n appDataSource: DataSource\n): Promise<Array<SqlTable>> => {\n let sql;\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sql = `SELECT \n t.table_name, \n c.* \n FROM \n information_schema.tables t \n JOIN information_schema.columns c \n ON t.table_name = c.table_name \n WHERE \n t.table_schema = '${schema}' \n AND c.table_schema = '${schema}' \n ORDER BY \n t.table_name,\n c.ordinal_position;`;\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"sqlite\" ||\n appDataSource.options.type === \"better-sqlite3\" ||\n appDataSource.options.type === \"sqljs\"\n ) {\n sql =\n \"SELECT \\n\" +\n \" m.name AS table_name,\\n\" +\n \" p.name AS column_name,\\n\" +\n \" p.type AS data_type,\\n\" +\n \" CASE \\n\" +\n \" WHEN p.\\\"notnull\\\" = 0 THEN 'YES' \\n\" +\n \" ELSE 'NO' \\n\" +\n \" END AS is_nullable \\n\" +\n \"FROM \\n\" +\n \" sqlite_master m \\n\" +\n \"JOIN \\n\" +\n \" pragma_table_info(m.name) p \\n\" +\n \"WHERE \\n\" +\n \" m.type = 'table' AND \\n\" +\n \" m.name NOT LIKE 'sqlite_%';\\n\";\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"mysql\" ||\n appDataSource.options.type === \"aurora-mysql\"\n ) {\n sql =\n \"SELECT \" +\n \"TABLE_NAME AS table_name, \" +\n \"COLUMN_NAME AS column_name, \" +\n \"DATA_TYPE AS data_type, \" +\n \"IS_NULLABLE AS is_nullable \" +\n \"FROM INFORMATION_SCHEMA.COLUMNS \" +\n `WHERE TABLE_SCHEMA = '${appDataSource.options.database}';`;\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n const sql = `SELECT\n TABLE_NAME AS table_name,\n COLUMN_NAME AS column_name,\n DATA_TYPE AS data_type,\n IS_NULLABLE AS is_nullable\n FROM INFORMATION_SCHEMA.COLUMNS\n ${schema && `WHERE TABLE_SCHEMA = '${schema}'`} \nORDER BY TABLE_NAME, ORDINAL_POSITION;`;\n\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"sap\") {\n const schema = appDataSource.options?.schema ?? \"public\";\n sql = `SELECT\n TABLE_NAME,\n COLUMN_NAME,\n DATA_TYPE_NAME AS data_type,\n CASE WHEN IS_NULLABLE='TRUE' THEN 'YES' ELSE 'NO' END AS is_nullable\n FROM TABLE_COLUMNS\n WHERE SCHEMA_NAME='${schema}'`;\n\n const rep: Array<{ [key: string]: string }> =\n await appDataSource.query(sql);\n\n const repLowerCase: Array<RawResultTableAndColumn> = [];\n rep.forEach((_rep) =>\n repLowerCase.push({\n table_name: _rep.TABLE_NAME,\n column_name: _rep.COLUMN_NAME,\n data_type: _rep.DATA_TYPE,\n is_nullable: _rep.IS_NULLABLE,\n })\n );\n\n return formatToSqlTable(repLowerCase);\n }\n if (appDataSource.options.type === \"oracle\") {\n const schemaName = appDataSource.options.schema;\n const sql = ` \n SELECT\n TABLE_NAME AS \"table_name\",\n COLUMN_NAME AS \"column_name\",\n DATA_TYPE AS \"data_type\",\n NULLABLE AS \"is_nullable\"\n FROM ALL_TAB_COLS\n WHERE\n OWNER = UPPER('${schemaName}')`;\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n throw new Error(\"Database type not implemented yet\");\n};\n\nconst formatSqlResponseToSimpleTableString = (rawResult: unknown): string => {\n if (!rawResult || !Array.isArray(rawResult) || rawResult.length === 0) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const oneRow of rawResult) {\n globalString += `${Object.values(oneRow).reduce(\n (completeString, columnValue) => `${completeString} ${columnValue}`,\n \"\"\n )}\\n`;\n }\n\n return globalString;\n};\n\nexport const generateTableInfoFromTables = async (\n tables: Array<SqlTable> | undefined,\n appDataSource: DataSource,\n nbSampleRow: number,\n customDescription?: Record<string, string>\n): Promise<string> => {\n if (!tables) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const currentTable of tables) {\n // Add the custom info of the table\n const tableCustomDescription =\n customDescription &&\n Object.keys(customDescription).includes(currentTable.tableName)\n ? `${customDescription[currentTable.tableName]}\\n`\n : \"\";\n // Add the creation of the table in SQL\n let schema = null;\n if (appDataSource.options.type === \"postgres\") {\n schema = appDataSource.options?.schema ?? \"public\";\n } else if (appDataSource.options.type === \"aurora-postgres\") {\n schema = \"public\";\n } else if (appDataSource.options.type === \"mssql\") {\n schema = appDataSource.options?.schema;\n } else if (appDataSource.options.type === \"sap\") {\n schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n } else if (appDataSource.options.type === \"oracle\") {\n schema = appDataSource.options.schema;\n }\n let sqlCreateTableQuery = schema\n ? `CREATE TABLE \"${schema}\".\"${currentTable.tableName}\" (\\n`\n : `CREATE TABLE ${currentTable.tableName} (\\n`;\n for (const [key, currentColumn] of currentTable.columns.entries()) {\n if (key > 0) {\n sqlCreateTableQuery += \", \";\n }\n sqlCreateTableQuery += `${currentColumn.columnName} ${\n currentColumn.dataType\n } ${currentColumn.isNullable ? \"\" : \"NOT NULL\"}`;\n }\n sqlCreateTableQuery += \") \\n\";\n\n let sqlSelectInfoQuery;\n if (appDataSource.options.type === \"mysql\") {\n // We use backticks to quote the table names and thus allow for example spaces in table names\n sqlSelectInfoQuery = `SELECT * FROM \\`${currentTable.tableName}\\` LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"postgres\") {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n sqlSelectInfoQuery = schema\n ? `SELECT TOP ${nbSampleRow} * FROM ${schema}.[${currentTable.tableName}];\\n`\n : `SELECT TOP ${nbSampleRow} * FROM [${currentTable.tableName}];\\n`;\n } else if (appDataSource.options.type === \"sap\") {\n const schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"oracle\") {\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" WHERE ROWNUM <= '${nbSampleRow}'`;\n } else {\n sqlSelectInfoQuery = `SELECT * FROM \"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n }\n\n const columnNamesConcatString = `${currentTable.columns.reduce(\n (completeString, column) => `${completeString} ${column.columnName}`,\n \"\"\n )}\\n`;\n\n let sample = \"\";\n try {\n const infoObjectResult = nbSampleRow\n ? await appDataSource.query(sqlSelectInfoQuery)\n : null;\n sample = formatSqlResponseToSimpleTableString(infoObjectResult);\n } catch (error) {\n // If the request fails we catch it and only display a log message\n console.log(error);\n }\n\n globalString = globalString.concat(\n tableCustomDescription +\n sqlCreateTableQuery +\n sqlSelectInfoQuery +\n columnNamesConcatString +\n sample\n );\n }\n\n return globalString;\n};\n\nexport const getPromptTemplateFromDataSource = (\n appDataSource: DataSource\n): PromptTemplate => {\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n return SQL_POSTGRES_PROMPT;\n }\n\n if (appDataSource.options.type === \"sqlite\") {\n return SQL_SQLITE_PROMPT;\n }\n\n if (appDataSource.options.type === \"mysql\") {\n return SQL_MYSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"mssql\") {\n return SQL_MSSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"sap\") {\n return SQL_SAP_HANA_PROMPT;\n }\n\n if (appDataSource.options.type === \"oracle\") {\n return SQL_ORACLE_PROMPT;\n }\n\n return DEFAULT_SQL_DATABASE_PROMPT;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql_utils.cjs","names":["SQL_POSTGRES_PROMPT","SQL_SQLITE_PROMPT","SQL_MYSQL_PROMPT","SQL_MSSQL_PROMPT","SQL_SAP_HANA_PROMPT","SQL_ORACLE_PROMPT","DEFAULT_SQL_DATABASE_PROMPT"],"sources":["../../src/util/sql_utils.ts"],"sourcesContent":["import type { DataSource, DataSourceOptions } from \"typeorm\";\nimport type { PromptTemplate } from \"@langchain/core/prompts\";\nimport {\n DEFAULT_SQL_DATABASE_PROMPT,\n SQL_SAP_HANA_PROMPT,\n SQL_MSSQL_PROMPT,\n SQL_MYSQL_PROMPT,\n SQL_POSTGRES_PROMPT,\n SQL_SQLITE_PROMPT,\n SQL_ORACLE_PROMPT,\n} from \"../chains/sql_db/sql_db_prompt.js\";\n\ninterface RawResultTableAndColumn {\n table_name: string;\n column_name: string;\n data_type: string | undefined;\n is_nullable: string;\n}\n\nexport interface SqlDatabaseParams {\n includesTables?: Array<string>;\n ignoreTables?: Array<string>;\n sampleRowsInTableInfo?: number;\n customDescription?: Record<string, string>;\n}\n\nexport interface SqlDatabaseOptionsParams extends SqlDatabaseParams {\n appDataSourceOptions: DataSourceOptions;\n}\n\nexport interface SqlDatabaseDataSourceParams extends SqlDatabaseParams {\n appDataSource: DataSource;\n}\n\nexport type SerializedSqlDatabase = SqlDatabaseOptionsParams & {\n _type: string;\n};\n\nexport interface SqlTable {\n tableName: string;\n columns: SqlColumn[];\n}\n\nexport interface SqlColumn {\n columnName: string;\n dataType?: string;\n isNullable?: boolean;\n}\n\nexport const verifyListTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n listTables: Array<string>,\n errorPrefixMsg: string\n): void => {\n const onlyTableNames: Array<string> = tablesFromDatabase.map(\n (table: SqlTable) => table.tableName\n );\n if (listTables.length > 0) {\n for (const tableName of listTables) {\n if (!onlyTableNames.includes(tableName)) {\n throw new Error(\n `${errorPrefixMsg} the table ${tableName} was not found in the database`\n );\n }\n }\n }\n};\n\nexport const verifyIncludeTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n includeTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n includeTables,\n \"Include tables not found in database:\"\n );\n};\n\nexport const verifyIgnoreTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n ignoreTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n ignoreTables,\n \"Ignore tables not found in database:\"\n );\n};\n\nconst formatToSqlTable = (\n rawResultsTableAndColumn: Array<RawResultTableAndColumn>\n): Array<SqlTable> => {\n const sqlTable: Array<SqlTable> = [];\n for (const oneResult of rawResultsTableAndColumn) {\n const sqlColumn = {\n columnName: oneResult.column_name,\n dataType: oneResult.data_type,\n isNullable: oneResult.is_nullable === \"YES\",\n };\n const currentTable = sqlTable.find(\n (oneTable) => oneTable.tableName === oneResult.table_name\n );\n if (currentTable) {\n currentTable.columns.push(sqlColumn);\n } else {\n const newTable = {\n tableName: oneResult.table_name,\n columns: [sqlColumn],\n };\n sqlTable.push(newTable);\n }\n }\n\n return sqlTable;\n};\n\nexport const getTableAndColumnsName = async (\n appDataSource: DataSource\n): Promise<Array<SqlTable>> => {\n let sql;\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sql = `SELECT \n t.table_name, \n c.* \n FROM \n information_schema.tables t \n JOIN information_schema.columns c \n ON t.table_name = c.table_name \n WHERE \n t.table_schema = '${schema}' \n AND c.table_schema = '${schema}' \n ORDER BY \n t.table_name,\n c.ordinal_position;`;\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"sqlite\" ||\n appDataSource.options.type === \"better-sqlite3\" ||\n appDataSource.options.type === \"sqljs\"\n ) {\n sql =\n \"SELECT \\n\" +\n \" m.name AS table_name,\\n\" +\n \" p.name AS column_name,\\n\" +\n \" p.type AS data_type,\\n\" +\n \" CASE \\n\" +\n \" WHEN p.\\\"notnull\\\" = 0 THEN 'YES' \\n\" +\n \" ELSE 'NO' \\n\" +\n \" END AS is_nullable \\n\" +\n \"FROM \\n\" +\n \" sqlite_master m \\n\" +\n \"JOIN \\n\" +\n \" pragma_table_info(m.name) p \\n\" +\n \"WHERE \\n\" +\n \" m.type = 'table' AND \\n\" +\n \" m.name NOT LIKE 'sqlite_%';\\n\";\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"mysql\" ||\n appDataSource.options.type === \"aurora-mysql\"\n ) {\n sql =\n \"SELECT \" +\n \"TABLE_NAME AS table_name, \" +\n \"COLUMN_NAME AS column_name, \" +\n \"DATA_TYPE AS data_type, \" +\n \"IS_NULLABLE AS is_nullable \" +\n \"FROM INFORMATION_SCHEMA.COLUMNS \" +\n `WHERE TABLE_SCHEMA = '${appDataSource.options.database}';`;\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n const sql = `SELECT\n TABLE_NAME AS table_name,\n COLUMN_NAME AS column_name,\n DATA_TYPE AS data_type,\n IS_NULLABLE AS is_nullable\n FROM INFORMATION_SCHEMA.COLUMNS\n ${schema && `WHERE TABLE_SCHEMA = '${schema}'`} \nORDER BY TABLE_NAME, ORDINAL_POSITION;`;\n\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"sap\") {\n const schema = appDataSource.options?.schema ?? \"public\";\n sql = `SELECT\n TABLE_NAME,\n COLUMN_NAME,\n DATA_TYPE_NAME AS data_type,\n CASE WHEN IS_NULLABLE='TRUE' THEN 'YES' ELSE 'NO' END AS is_nullable\n FROM TABLE_COLUMNS\n WHERE SCHEMA_NAME='${schema}'`;\n\n const rep: Array<{ [key: string]: string }> =\n await appDataSource.query(sql);\n\n const repLowerCase: Array<RawResultTableAndColumn> = [];\n rep.forEach((_rep) =>\n repLowerCase.push({\n table_name: _rep.TABLE_NAME,\n column_name: _rep.COLUMN_NAME,\n data_type: _rep.DATA_TYPE,\n is_nullable: _rep.IS_NULLABLE,\n })\n );\n\n return formatToSqlTable(repLowerCase);\n }\n if (appDataSource.options.type === \"oracle\") {\n const schemaName = appDataSource.options.schema;\n const sql = ` \n SELECT\n TABLE_NAME AS \"table_name\",\n COLUMN_NAME AS \"column_name\",\n DATA_TYPE AS \"data_type\",\n NULLABLE AS \"is_nullable\"\n FROM ALL_TAB_COLS\n WHERE\n OWNER = UPPER('${schemaName}')`;\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n throw new Error(\"Database type not implemented yet\");\n};\n\nconst formatSqlResponseToSimpleTableString = (rawResult: unknown): string => {\n if (!rawResult || !Array.isArray(rawResult) || rawResult.length === 0) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const oneRow of rawResult) {\n globalString += `${Object.values(oneRow).reduce(\n (completeString, columnValue) => `${completeString} ${columnValue}`,\n \"\"\n )}\\n`;\n }\n\n return globalString;\n};\n\nexport const generateTableInfoFromTables = async (\n tables: Array<SqlTable> | undefined,\n appDataSource: DataSource,\n nbSampleRow: number,\n customDescription?: Record<string, string>\n): Promise<string> => {\n if (!tables) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const currentTable of tables) {\n // Add the custom info of the table\n const tableCustomDescription =\n customDescription &&\n Object.keys(customDescription).includes(currentTable.tableName)\n ? `${customDescription[currentTable.tableName]}\\n`\n : \"\";\n // Add the creation of the table in SQL\n let schema = null;\n if (appDataSource.options.type === \"postgres\") {\n schema = appDataSource.options?.schema ?? \"public\";\n } else if (appDataSource.options.type === \"aurora-postgres\") {\n schema = \"public\";\n } else if (appDataSource.options.type === \"mssql\") {\n schema = appDataSource.options?.schema;\n } else if (appDataSource.options.type === \"sap\") {\n schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n } else if (appDataSource.options.type === \"oracle\") {\n schema = appDataSource.options.schema;\n }\n let sqlCreateTableQuery = schema\n ? `CREATE TABLE \"${schema}\".\"${currentTable.tableName}\" (\\n`\n : `CREATE TABLE ${currentTable.tableName} (\\n`;\n for (const [key, currentColumn] of currentTable.columns.entries()) {\n if (key > 0) {\n sqlCreateTableQuery += \", \";\n }\n sqlCreateTableQuery += `${currentColumn.columnName} ${\n currentColumn.dataType\n } ${currentColumn.isNullable ? \"\" : \"NOT NULL\"}`;\n }\n sqlCreateTableQuery += \") \\n\";\n\n let sqlSelectInfoQuery;\n if (appDataSource.options.type === \"mysql\") {\n // We use backticks to quote the table names and thus allow for example spaces in table names\n sqlSelectInfoQuery = `SELECT * FROM \\`${currentTable.tableName}\\` LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"postgres\") {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n sqlSelectInfoQuery = schema\n ? `SELECT TOP ${nbSampleRow} * FROM ${schema}.[${currentTable.tableName}];\\n`\n : `SELECT TOP ${nbSampleRow} * FROM [${currentTable.tableName}];\\n`;\n } else if (appDataSource.options.type === \"sap\") {\n const schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"oracle\") {\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" WHERE ROWNUM <= '${nbSampleRow}'`;\n } else {\n sqlSelectInfoQuery = `SELECT * FROM \"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n }\n\n const columnNamesConcatString = `${currentTable.columns.reduce(\n (completeString, column) => `${completeString} ${column.columnName}`,\n \"\"\n )}\\n`;\n\n let sample = \"\";\n try {\n const infoObjectResult = nbSampleRow\n ? await appDataSource.query(sqlSelectInfoQuery)\n : null;\n sample = formatSqlResponseToSimpleTableString(infoObjectResult);\n } catch (error) {\n // If the request fails we catch it and only display a log message\n console.log(error);\n }\n\n globalString = globalString.concat(\n tableCustomDescription +\n sqlCreateTableQuery +\n sqlSelectInfoQuery +\n columnNamesConcatString +\n sample\n );\n }\n\n return globalString;\n};\n\nexport const getPromptTemplateFromDataSource = (\n appDataSource: DataSource\n): PromptTemplate => {\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n return SQL_POSTGRES_PROMPT;\n }\n\n if (appDataSource.options.type === \"sqlite\") {\n return SQL_SQLITE_PROMPT;\n }\n\n if (appDataSource.options.type === \"mysql\") {\n return SQL_MYSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"mssql\") {\n return SQL_MSSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"sap\") {\n return SQL_SAP_HANA_PROMPT;\n }\n\n if (appDataSource.options.type === \"oracle\") {\n return SQL_ORACLE_PROMPT;\n }\n\n return DEFAULT_SQL_DATABASE_PROMPT;\n};\n"],"mappings":"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"}
|
package/dist/util/sql_utils.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DEFAULT_SQL_DATABASE_PROMPT, SQL_MSSQL_PROMPT, SQL_MYSQL_PROMPT, SQL_ORACLE_PROMPT, SQL_POSTGRES_PROMPT, SQL_SAP_HANA_PROMPT, SQL_SQLITE_PROMPT } from "../chains/sql_db/sql_db_prompt.js";
|
|
2
|
-
|
|
3
2
|
//#region src/util/sql_utils.ts
|
|
4
3
|
const verifyListTablesExistInDatabase = (tablesFromDatabase, listTables, errorPrefixMsg) => {
|
|
5
4
|
const onlyTableNames = tablesFromDatabase.map((table) => table.tableName);
|
|
@@ -156,7 +155,7 @@ const getPromptTemplateFromDataSource = (appDataSource) => {
|
|
|
156
155
|
if (appDataSource.options.type === "oracle") return SQL_ORACLE_PROMPT;
|
|
157
156
|
return DEFAULT_SQL_DATABASE_PROMPT;
|
|
158
157
|
};
|
|
159
|
-
|
|
160
158
|
//#endregion
|
|
161
159
|
export { generateTableInfoFromTables, getPromptTemplateFromDataSource, getTableAndColumnsName, verifyIgnoreTablesExistInDatabase, verifyIncludeTablesExistInDatabase, verifyListTablesExistInDatabase };
|
|
160
|
+
|
|
162
161
|
//# sourceMappingURL=sql_utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql_utils.js","names":[],"sources":["../../src/util/sql_utils.ts"],"sourcesContent":["import type { DataSource, DataSourceOptions } from \"typeorm\";\nimport type { PromptTemplate } from \"@langchain/core/prompts\";\nimport {\n DEFAULT_SQL_DATABASE_PROMPT,\n SQL_SAP_HANA_PROMPT,\n SQL_MSSQL_PROMPT,\n SQL_MYSQL_PROMPT,\n SQL_POSTGRES_PROMPT,\n SQL_SQLITE_PROMPT,\n SQL_ORACLE_PROMPT,\n} from \"../chains/sql_db/sql_db_prompt.js\";\n\ninterface RawResultTableAndColumn {\n table_name: string;\n column_name: string;\n data_type: string | undefined;\n is_nullable: string;\n}\n\nexport interface SqlDatabaseParams {\n includesTables?: Array<string>;\n ignoreTables?: Array<string>;\n sampleRowsInTableInfo?: number;\n customDescription?: Record<string, string>;\n}\n\nexport interface SqlDatabaseOptionsParams extends SqlDatabaseParams {\n appDataSourceOptions: DataSourceOptions;\n}\n\nexport interface SqlDatabaseDataSourceParams extends SqlDatabaseParams {\n appDataSource: DataSource;\n}\n\nexport type SerializedSqlDatabase = SqlDatabaseOptionsParams & {\n _type: string;\n};\n\nexport interface SqlTable {\n tableName: string;\n columns: SqlColumn[];\n}\n\nexport interface SqlColumn {\n columnName: string;\n dataType?: string;\n isNullable?: boolean;\n}\n\nexport const verifyListTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n listTables: Array<string>,\n errorPrefixMsg: string\n): void => {\n const onlyTableNames: Array<string> = tablesFromDatabase.map(\n (table: SqlTable) => table.tableName\n );\n if (listTables.length > 0) {\n for (const tableName of listTables) {\n if (!onlyTableNames.includes(tableName)) {\n throw new Error(\n `${errorPrefixMsg} the table ${tableName} was not found in the database`\n );\n }\n }\n }\n};\n\nexport const verifyIncludeTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n includeTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n includeTables,\n \"Include tables not found in database:\"\n );\n};\n\nexport const verifyIgnoreTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n ignoreTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n ignoreTables,\n \"Ignore tables not found in database:\"\n );\n};\n\nconst formatToSqlTable = (\n rawResultsTableAndColumn: Array<RawResultTableAndColumn>\n): Array<SqlTable> => {\n const sqlTable: Array<SqlTable> = [];\n for (const oneResult of rawResultsTableAndColumn) {\n const sqlColumn = {\n columnName: oneResult.column_name,\n dataType: oneResult.data_type,\n isNullable: oneResult.is_nullable === \"YES\",\n };\n const currentTable = sqlTable.find(\n (oneTable) => oneTable.tableName === oneResult.table_name\n );\n if (currentTable) {\n currentTable.columns.push(sqlColumn);\n } else {\n const newTable = {\n tableName: oneResult.table_name,\n columns: [sqlColumn],\n };\n sqlTable.push(newTable);\n }\n }\n\n return sqlTable;\n};\n\nexport const getTableAndColumnsName = async (\n appDataSource: DataSource\n): Promise<Array<SqlTable>> => {\n let sql;\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sql = `SELECT \n t.table_name, \n c.* \n FROM \n information_schema.tables t \n JOIN information_schema.columns c \n ON t.table_name = c.table_name \n WHERE \n t.table_schema = '${schema}' \n AND c.table_schema = '${schema}' \n ORDER BY \n t.table_name,\n c.ordinal_position;`;\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"sqlite\" ||\n appDataSource.options.type === \"better-sqlite3\" ||\n appDataSource.options.type === \"sqljs\"\n ) {\n sql =\n \"SELECT \\n\" +\n \" m.name AS table_name,\\n\" +\n \" p.name AS column_name,\\n\" +\n \" p.type AS data_type,\\n\" +\n \" CASE \\n\" +\n \" WHEN p.\\\"notnull\\\" = 0 THEN 'YES' \\n\" +\n \" ELSE 'NO' \\n\" +\n \" END AS is_nullable \\n\" +\n \"FROM \\n\" +\n \" sqlite_master m \\n\" +\n \"JOIN \\n\" +\n \" pragma_table_info(m.name) p \\n\" +\n \"WHERE \\n\" +\n \" m.type = 'table' AND \\n\" +\n \" m.name NOT LIKE 'sqlite_%';\\n\";\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"mysql\" ||\n appDataSource.options.type === \"aurora-mysql\"\n ) {\n sql =\n \"SELECT \" +\n \"TABLE_NAME AS table_name, \" +\n \"COLUMN_NAME AS column_name, \" +\n \"DATA_TYPE AS data_type, \" +\n \"IS_NULLABLE AS is_nullable \" +\n \"FROM INFORMATION_SCHEMA.COLUMNS \" +\n `WHERE TABLE_SCHEMA = '${appDataSource.options.database}';`;\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n const sql = `SELECT\n TABLE_NAME AS table_name,\n COLUMN_NAME AS column_name,\n DATA_TYPE AS data_type,\n IS_NULLABLE AS is_nullable\n FROM INFORMATION_SCHEMA.COLUMNS\n ${schema && `WHERE TABLE_SCHEMA = '${schema}'`} \nORDER BY TABLE_NAME, ORDINAL_POSITION;`;\n\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"sap\") {\n const schema = appDataSource.options?.schema ?? \"public\";\n sql = `SELECT\n TABLE_NAME,\n COLUMN_NAME,\n DATA_TYPE_NAME AS data_type,\n CASE WHEN IS_NULLABLE='TRUE' THEN 'YES' ELSE 'NO' END AS is_nullable\n FROM TABLE_COLUMNS\n WHERE SCHEMA_NAME='${schema}'`;\n\n const rep: Array<{ [key: string]: string }> =\n await appDataSource.query(sql);\n\n const repLowerCase: Array<RawResultTableAndColumn> = [];\n rep.forEach((_rep) =>\n repLowerCase.push({\n table_name: _rep.TABLE_NAME,\n column_name: _rep.COLUMN_NAME,\n data_type: _rep.DATA_TYPE,\n is_nullable: _rep.IS_NULLABLE,\n })\n );\n\n return formatToSqlTable(repLowerCase);\n }\n if (appDataSource.options.type === \"oracle\") {\n const schemaName = appDataSource.options.schema;\n const sql = ` \n SELECT\n TABLE_NAME AS \"table_name\",\n COLUMN_NAME AS \"column_name\",\n DATA_TYPE AS \"data_type\",\n NULLABLE AS \"is_nullable\"\n FROM ALL_TAB_COLS\n WHERE\n OWNER = UPPER('${schemaName}')`;\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n throw new Error(\"Database type not implemented yet\");\n};\n\nconst formatSqlResponseToSimpleTableString = (rawResult: unknown): string => {\n if (!rawResult || !Array.isArray(rawResult) || rawResult.length === 0) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const oneRow of rawResult) {\n globalString += `${Object.values(oneRow).reduce(\n (completeString, columnValue) => `${completeString} ${columnValue}`,\n \"\"\n )}\\n`;\n }\n\n return globalString;\n};\n\nexport const generateTableInfoFromTables = async (\n tables: Array<SqlTable> | undefined,\n appDataSource: DataSource,\n nbSampleRow: number,\n customDescription?: Record<string, string>\n): Promise<string> => {\n if (!tables) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const currentTable of tables) {\n // Add the custom info of the table\n const tableCustomDescription =\n customDescription &&\n Object.keys(customDescription).includes(currentTable.tableName)\n ? `${customDescription[currentTable.tableName]}\\n`\n : \"\";\n // Add the creation of the table in SQL\n let schema = null;\n if (appDataSource.options.type === \"postgres\") {\n schema = appDataSource.options?.schema ?? \"public\";\n } else if (appDataSource.options.type === \"aurora-postgres\") {\n schema = \"public\";\n } else if (appDataSource.options.type === \"mssql\") {\n schema = appDataSource.options?.schema;\n } else if (appDataSource.options.type === \"sap\") {\n schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n } else if (appDataSource.options.type === \"oracle\") {\n schema = appDataSource.options.schema;\n }\n let sqlCreateTableQuery = schema\n ? `CREATE TABLE \"${schema}\".\"${currentTable.tableName}\" (\\n`\n : `CREATE TABLE ${currentTable.tableName} (\\n`;\n for (const [key, currentColumn] of currentTable.columns.entries()) {\n if (key > 0) {\n sqlCreateTableQuery += \", \";\n }\n sqlCreateTableQuery += `${currentColumn.columnName} ${\n currentColumn.dataType\n } ${currentColumn.isNullable ? \"\" : \"NOT NULL\"}`;\n }\n sqlCreateTableQuery += \") \\n\";\n\n let sqlSelectInfoQuery;\n if (appDataSource.options.type === \"mysql\") {\n // We use backticks to quote the table names and thus allow for example spaces in table names\n sqlSelectInfoQuery = `SELECT * FROM \\`${currentTable.tableName}\\` LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"postgres\") {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n sqlSelectInfoQuery = schema\n ? `SELECT TOP ${nbSampleRow} * FROM ${schema}.[${currentTable.tableName}];\\n`\n : `SELECT TOP ${nbSampleRow} * FROM [${currentTable.tableName}];\\n`;\n } else if (appDataSource.options.type === \"sap\") {\n const schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"oracle\") {\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" WHERE ROWNUM <= '${nbSampleRow}'`;\n } else {\n sqlSelectInfoQuery = `SELECT * FROM \"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n }\n\n const columnNamesConcatString = `${currentTable.columns.reduce(\n (completeString, column) => `${completeString} ${column.columnName}`,\n \"\"\n )}\\n`;\n\n let sample = \"\";\n try {\n const infoObjectResult = nbSampleRow\n ? await appDataSource.query(sqlSelectInfoQuery)\n : null;\n sample = formatSqlResponseToSimpleTableString(infoObjectResult);\n } catch (error) {\n // If the request fails we catch it and only display a log message\n console.log(error);\n }\n\n globalString = globalString.concat(\n tableCustomDescription +\n sqlCreateTableQuery +\n sqlSelectInfoQuery +\n columnNamesConcatString +\n sample\n );\n }\n\n return globalString;\n};\n\nexport const getPromptTemplateFromDataSource = (\n appDataSource: DataSource\n): PromptTemplate => {\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n return SQL_POSTGRES_PROMPT;\n }\n\n if (appDataSource.options.type === \"sqlite\") {\n return SQL_SQLITE_PROMPT;\n }\n\n if (appDataSource.options.type === \"mysql\") {\n return SQL_MYSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"mssql\") {\n return SQL_MSSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"sap\") {\n return SQL_SAP_HANA_PROMPT;\n }\n\n if (appDataSource.options.type === \"oracle\") {\n return SQL_ORACLE_PROMPT;\n }\n\n return DEFAULT_SQL_DATABASE_PROMPT;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql_utils.js","names":[],"sources":["../../src/util/sql_utils.ts"],"sourcesContent":["import type { DataSource, DataSourceOptions } from \"typeorm\";\nimport type { PromptTemplate } from \"@langchain/core/prompts\";\nimport {\n DEFAULT_SQL_DATABASE_PROMPT,\n SQL_SAP_HANA_PROMPT,\n SQL_MSSQL_PROMPT,\n SQL_MYSQL_PROMPT,\n SQL_POSTGRES_PROMPT,\n SQL_SQLITE_PROMPT,\n SQL_ORACLE_PROMPT,\n} from \"../chains/sql_db/sql_db_prompt.js\";\n\ninterface RawResultTableAndColumn {\n table_name: string;\n column_name: string;\n data_type: string | undefined;\n is_nullable: string;\n}\n\nexport interface SqlDatabaseParams {\n includesTables?: Array<string>;\n ignoreTables?: Array<string>;\n sampleRowsInTableInfo?: number;\n customDescription?: Record<string, string>;\n}\n\nexport interface SqlDatabaseOptionsParams extends SqlDatabaseParams {\n appDataSourceOptions: DataSourceOptions;\n}\n\nexport interface SqlDatabaseDataSourceParams extends SqlDatabaseParams {\n appDataSource: DataSource;\n}\n\nexport type SerializedSqlDatabase = SqlDatabaseOptionsParams & {\n _type: string;\n};\n\nexport interface SqlTable {\n tableName: string;\n columns: SqlColumn[];\n}\n\nexport interface SqlColumn {\n columnName: string;\n dataType?: string;\n isNullable?: boolean;\n}\n\nexport const verifyListTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n listTables: Array<string>,\n errorPrefixMsg: string\n): void => {\n const onlyTableNames: Array<string> = tablesFromDatabase.map(\n (table: SqlTable) => table.tableName\n );\n if (listTables.length > 0) {\n for (const tableName of listTables) {\n if (!onlyTableNames.includes(tableName)) {\n throw new Error(\n `${errorPrefixMsg} the table ${tableName} was not found in the database`\n );\n }\n }\n }\n};\n\nexport const verifyIncludeTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n includeTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n includeTables,\n \"Include tables not found in database:\"\n );\n};\n\nexport const verifyIgnoreTablesExistInDatabase = (\n tablesFromDatabase: Array<SqlTable>,\n ignoreTables: Array<string>\n): void => {\n verifyListTablesExistInDatabase(\n tablesFromDatabase,\n ignoreTables,\n \"Ignore tables not found in database:\"\n );\n};\n\nconst formatToSqlTable = (\n rawResultsTableAndColumn: Array<RawResultTableAndColumn>\n): Array<SqlTable> => {\n const sqlTable: Array<SqlTable> = [];\n for (const oneResult of rawResultsTableAndColumn) {\n const sqlColumn = {\n columnName: oneResult.column_name,\n dataType: oneResult.data_type,\n isNullable: oneResult.is_nullable === \"YES\",\n };\n const currentTable = sqlTable.find(\n (oneTable) => oneTable.tableName === oneResult.table_name\n );\n if (currentTable) {\n currentTable.columns.push(sqlColumn);\n } else {\n const newTable = {\n tableName: oneResult.table_name,\n columns: [sqlColumn],\n };\n sqlTable.push(newTable);\n }\n }\n\n return sqlTable;\n};\n\nexport const getTableAndColumnsName = async (\n appDataSource: DataSource\n): Promise<Array<SqlTable>> => {\n let sql;\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sql = `SELECT \n t.table_name, \n c.* \n FROM \n information_schema.tables t \n JOIN information_schema.columns c \n ON t.table_name = c.table_name \n WHERE \n t.table_schema = '${schema}' \n AND c.table_schema = '${schema}' \n ORDER BY \n t.table_name,\n c.ordinal_position;`;\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"sqlite\" ||\n appDataSource.options.type === \"better-sqlite3\" ||\n appDataSource.options.type === \"sqljs\"\n ) {\n sql =\n \"SELECT \\n\" +\n \" m.name AS table_name,\\n\" +\n \" p.name AS column_name,\\n\" +\n \" p.type AS data_type,\\n\" +\n \" CASE \\n\" +\n \" WHEN p.\\\"notnull\\\" = 0 THEN 'YES' \\n\" +\n \" ELSE 'NO' \\n\" +\n \" END AS is_nullable \\n\" +\n \"FROM \\n\" +\n \" sqlite_master m \\n\" +\n \"JOIN \\n\" +\n \" pragma_table_info(m.name) p \\n\" +\n \"WHERE \\n\" +\n \" m.type = 'table' AND \\n\" +\n \" m.name NOT LIKE 'sqlite_%';\\n\";\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (\n appDataSource.options.type === \"mysql\" ||\n appDataSource.options.type === \"aurora-mysql\"\n ) {\n sql =\n \"SELECT \" +\n \"TABLE_NAME AS table_name, \" +\n \"COLUMN_NAME AS column_name, \" +\n \"DATA_TYPE AS data_type, \" +\n \"IS_NULLABLE AS is_nullable \" +\n \"FROM INFORMATION_SCHEMA.COLUMNS \" +\n `WHERE TABLE_SCHEMA = '${appDataSource.options.database}';`;\n\n const rep = await appDataSource.query(sql);\n\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n const sql = `SELECT\n TABLE_NAME AS table_name,\n COLUMN_NAME AS column_name,\n DATA_TYPE AS data_type,\n IS_NULLABLE AS is_nullable\n FROM INFORMATION_SCHEMA.COLUMNS\n ${schema && `WHERE TABLE_SCHEMA = '${schema}'`} \nORDER BY TABLE_NAME, ORDINAL_POSITION;`;\n\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n\n if (appDataSource.options.type === \"sap\") {\n const schema = appDataSource.options?.schema ?? \"public\";\n sql = `SELECT\n TABLE_NAME,\n COLUMN_NAME,\n DATA_TYPE_NAME AS data_type,\n CASE WHEN IS_NULLABLE='TRUE' THEN 'YES' ELSE 'NO' END AS is_nullable\n FROM TABLE_COLUMNS\n WHERE SCHEMA_NAME='${schema}'`;\n\n const rep: Array<{ [key: string]: string }> =\n await appDataSource.query(sql);\n\n const repLowerCase: Array<RawResultTableAndColumn> = [];\n rep.forEach((_rep) =>\n repLowerCase.push({\n table_name: _rep.TABLE_NAME,\n column_name: _rep.COLUMN_NAME,\n data_type: _rep.DATA_TYPE,\n is_nullable: _rep.IS_NULLABLE,\n })\n );\n\n return formatToSqlTable(repLowerCase);\n }\n if (appDataSource.options.type === \"oracle\") {\n const schemaName = appDataSource.options.schema;\n const sql = ` \n SELECT\n TABLE_NAME AS \"table_name\",\n COLUMN_NAME AS \"column_name\",\n DATA_TYPE AS \"data_type\",\n NULLABLE AS \"is_nullable\"\n FROM ALL_TAB_COLS\n WHERE\n OWNER = UPPER('${schemaName}')`;\n const rep = await appDataSource.query(sql);\n return formatToSqlTable(rep);\n }\n throw new Error(\"Database type not implemented yet\");\n};\n\nconst formatSqlResponseToSimpleTableString = (rawResult: unknown): string => {\n if (!rawResult || !Array.isArray(rawResult) || rawResult.length === 0) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const oneRow of rawResult) {\n globalString += `${Object.values(oneRow).reduce(\n (completeString, columnValue) => `${completeString} ${columnValue}`,\n \"\"\n )}\\n`;\n }\n\n return globalString;\n};\n\nexport const generateTableInfoFromTables = async (\n tables: Array<SqlTable> | undefined,\n appDataSource: DataSource,\n nbSampleRow: number,\n customDescription?: Record<string, string>\n): Promise<string> => {\n if (!tables) {\n return \"\";\n }\n\n let globalString = \"\";\n for (const currentTable of tables) {\n // Add the custom info of the table\n const tableCustomDescription =\n customDescription &&\n Object.keys(customDescription).includes(currentTable.tableName)\n ? `${customDescription[currentTable.tableName]}\\n`\n : \"\";\n // Add the creation of the table in SQL\n let schema = null;\n if (appDataSource.options.type === \"postgres\") {\n schema = appDataSource.options?.schema ?? \"public\";\n } else if (appDataSource.options.type === \"aurora-postgres\") {\n schema = \"public\";\n } else if (appDataSource.options.type === \"mssql\") {\n schema = appDataSource.options?.schema;\n } else if (appDataSource.options.type === \"sap\") {\n schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n } else if (appDataSource.options.type === \"oracle\") {\n schema = appDataSource.options.schema;\n }\n let sqlCreateTableQuery = schema\n ? `CREATE TABLE \"${schema}\".\"${currentTable.tableName}\" (\\n`\n : `CREATE TABLE ${currentTable.tableName} (\\n`;\n for (const [key, currentColumn] of currentTable.columns.entries()) {\n if (key > 0) {\n sqlCreateTableQuery += \", \";\n }\n sqlCreateTableQuery += `${currentColumn.columnName} ${\n currentColumn.dataType\n } ${currentColumn.isNullable ? \"\" : \"NOT NULL\"}`;\n }\n sqlCreateTableQuery += \") \\n\";\n\n let sqlSelectInfoQuery;\n if (appDataSource.options.type === \"mysql\") {\n // We use backticks to quote the table names and thus allow for example spaces in table names\n sqlSelectInfoQuery = `SELECT * FROM \\`${currentTable.tableName}\\` LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"postgres\") {\n const schema =\n appDataSource.options.type === \"postgres\"\n ? (appDataSource.options?.schema ?? \"public\")\n : \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"mssql\") {\n const schema = appDataSource.options?.schema;\n sqlSelectInfoQuery = schema\n ? `SELECT TOP ${nbSampleRow} * FROM ${schema}.[${currentTable.tableName}];\\n`\n : `SELECT TOP ${nbSampleRow} * FROM [${currentTable.tableName}];\\n`;\n } else if (appDataSource.options.type === \"sap\") {\n const schema =\n appDataSource.options?.schema ??\n appDataSource.options?.username ??\n \"public\";\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n } else if (appDataSource.options.type === \"oracle\") {\n sqlSelectInfoQuery = `SELECT * FROM \"${schema}\".\"${currentTable.tableName}\" WHERE ROWNUM <= '${nbSampleRow}'`;\n } else {\n sqlSelectInfoQuery = `SELECT * FROM \"${currentTable.tableName}\" LIMIT ${nbSampleRow};\\n`;\n }\n\n const columnNamesConcatString = `${currentTable.columns.reduce(\n (completeString, column) => `${completeString} ${column.columnName}`,\n \"\"\n )}\\n`;\n\n let sample = \"\";\n try {\n const infoObjectResult = nbSampleRow\n ? await appDataSource.query(sqlSelectInfoQuery)\n : null;\n sample = formatSqlResponseToSimpleTableString(infoObjectResult);\n } catch (error) {\n // If the request fails we catch it and only display a log message\n console.log(error);\n }\n\n globalString = globalString.concat(\n tableCustomDescription +\n sqlCreateTableQuery +\n sqlSelectInfoQuery +\n columnNamesConcatString +\n sample\n );\n }\n\n return globalString;\n};\n\nexport const getPromptTemplateFromDataSource = (\n appDataSource: DataSource\n): PromptTemplate => {\n if (\n appDataSource.options.type === \"postgres\" ||\n appDataSource.options.type === \"aurora-postgres\"\n ) {\n return SQL_POSTGRES_PROMPT;\n }\n\n if (appDataSource.options.type === \"sqlite\") {\n return SQL_SQLITE_PROMPT;\n }\n\n if (appDataSource.options.type === \"mysql\") {\n return SQL_MYSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"mssql\") {\n return SQL_MSSQL_PROMPT;\n }\n\n if (appDataSource.options.type === \"sap\") {\n return SQL_SAP_HANA_PROMPT;\n }\n\n if (appDataSource.options.type === \"oracle\") {\n return SQL_ORACLE_PROMPT;\n }\n\n return DEFAULT_SQL_DATABASE_PROMPT;\n};\n"],"mappings":"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"}
|
package/dist/util/time.cjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
2
|
//#region src/util/time.ts
|
|
5
|
-
var time_exports = /* @__PURE__ */
|
|
3
|
+
var time_exports = /* @__PURE__ */ require("../_virtual/_rolldown/runtime.cjs").__exportAll({ sleep: () => sleep });
|
|
6
4
|
/**
|
|
7
5
|
* Sleep for a given amount of time.
|
|
8
6
|
* @param ms - The number of milliseconds to sleep for. Defaults to 1000.
|
|
@@ -13,13 +11,13 @@ async function sleep(ms = 1e3) {
|
|
|
13
11
|
setTimeout(resolve, ms);
|
|
14
12
|
});
|
|
15
13
|
}
|
|
16
|
-
|
|
17
14
|
//#endregion
|
|
18
15
|
exports.sleep = sleep;
|
|
19
|
-
Object.defineProperty(exports,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
Object.defineProperty(exports, "time_exports", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function() {
|
|
19
|
+
return time_exports;
|
|
20
|
+
}
|
|
24
21
|
});
|
|
22
|
+
|
|
25
23
|
//# sourceMappingURL=time.cjs.map
|
package/dist/util/time.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.cjs","names":[],"sources":["../../src/util/time.ts"],"sourcesContent":["/**\n * Sleep for a given amount of time.\n * @param ms - The number of milliseconds to sleep for. Defaults to 1000.\n * @returns A promise that resolves when the sleep is complete.\n */\nexport async function sleep(ms = 1000): Promise<void> {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, ms);\n });\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.cjs","names":[],"sources":["../../src/util/time.ts"],"sourcesContent":["/**\n * Sleep for a given amount of time.\n * @param ms - The number of milliseconds to sleep for. Defaults to 1000.\n * @returns A promise that resolves when the sleep is complete.\n */\nexport async function sleep(ms = 1000): Promise<void> {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, ms);\n });\n}\n"],"mappings":";;;;;;;;AAKA,eAAsB,MAAM,KAAK,KAAqB;AACpD,QAAO,IAAI,SAAe,YAAY;AACpC,aAAW,SAAS,GAAG;GACvB"}
|
package/dist/util/time.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
-
|
|
3
2
|
//#region src/util/time.ts
|
|
4
3
|
var time_exports = /* @__PURE__ */ __exportAll({ sleep: () => sleep });
|
|
5
4
|
/**
|
|
@@ -12,7 +11,7 @@ async function sleep(ms = 1e3) {
|
|
|
12
11
|
setTimeout(resolve, ms);
|
|
13
12
|
});
|
|
14
13
|
}
|
|
15
|
-
|
|
16
14
|
//#endregion
|
|
17
15
|
export { sleep, time_exports };
|
|
16
|
+
|
|
18
17
|
//# sourceMappingURL=time.js.map
|
package/dist/util/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","names":[],"sources":["../../src/util/time.ts"],"sourcesContent":["/**\n * Sleep for a given amount of time.\n * @param ms - The number of milliseconds to sleep for. Defaults to 1000.\n * @returns A promise that resolves when the sleep is complete.\n */\nexport async function sleep(ms = 1000): Promise<void> {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, ms);\n });\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.js","names":[],"sources":["../../src/util/time.ts"],"sourcesContent":["/**\n * Sleep for a given amount of time.\n * @param ms - The number of milliseconds to sleep for. Defaults to 1000.\n * @returns A promise that resolves when the sleep is complete.\n */\nexport async function sleep(ms = 1000): Promise<void> {\n return new Promise<void>((resolve) => {\n setTimeout(resolve, ms);\n });\n}\n"],"mappings":";;;;;;;;AAKA,eAAsB,MAAM,KAAK,KAAqB;AACpD,QAAO,IAAI,SAAe,YAAY;AACpC,aAAW,SAAS,GAAG;GACvB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
3
|
-
const require_similarities = require(
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_similarities = require("../util/ml-distance/similarities.cjs");
|
|
4
4
|
let _langchain_core_documents = require("@langchain/core/documents");
|
|
5
5
|
let _langchain_core_utils_math = require("@langchain/core/utils/math");
|
|
6
6
|
let _langchain_core_vectorstores = require("@langchain/core/vectorstores");
|
|
7
|
-
|
|
8
7
|
//#region src/vectorstores/memory.ts
|
|
9
8
|
var memory_exports = /* @__PURE__ */ require_runtime.__exportAll({ MemoryVectorStore: () => MemoryVectorStore });
|
|
10
9
|
/**
|
|
@@ -246,13 +245,13 @@ var MemoryVectorStore = class MemoryVectorStore extends _langchain_core_vectorst
|
|
|
246
245
|
return new this(embeddings, dbConfig);
|
|
247
246
|
}
|
|
248
247
|
};
|
|
249
|
-
|
|
250
248
|
//#endregion
|
|
251
249
|
exports.MemoryVectorStore = MemoryVectorStore;
|
|
252
|
-
Object.defineProperty(exports,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
250
|
+
Object.defineProperty(exports, "memory_exports", {
|
|
251
|
+
enumerable: true,
|
|
252
|
+
get: function() {
|
|
253
|
+
return memory_exports;
|
|
254
|
+
}
|
|
257
255
|
});
|
|
256
|
+
|
|
258
257
|
//# sourceMappingURL=memory.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.cjs","names":["VectorStore","cosine","Document"],"sources":["../../src/vectorstores/memory.ts"],"sourcesContent":["import {\n MaxMarginalRelevanceSearchOptions,\n VectorStore,\n} from \"@langchain/core/vectorstores\";\nimport type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport { Document, DocumentInterface } from \"@langchain/core/documents\";\nimport { maximalMarginalRelevance } from \"@langchain/core/utils/math\";\nimport { cosine } from \"../util/ml-distance/similarities.js\";\n\n/**\n * Interface representing a vector in memory. It includes the content\n * (text), the corresponding embedding (vector), and any associated\n * metadata.\n */\ninterface MemoryVector {\n content: string;\n embedding: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n id?: string;\n}\n\n/**\n * Interface for the arguments that can be passed to the\n * `MemoryVectorStore` constructor. It includes an optional `similarity`\n * function.\n */\nexport interface MemoryVectorStoreArgs {\n similarity?: typeof cosine;\n}\n\n/**\n * In-memory, ephemeral vector store.\n *\n * Setup:\n * Install `langchain`:\n *\n * ```bash\n * npm install langchain\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/langchain.vectorstores_memory.MemoryVectorStore.html#constructor)\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { MemoryVectorStore } from 'langchain/vectorstores/memory';\n * // Or other embeddings\n * import { OpenAIEmbeddings } from '@langchain/openai';\n *\n * const embeddings = new OpenAIEmbeddings({\n * model: \"text-embedding-3-small\",\n * });\n *\n * const vectorStore = new MemoryVectorStore(embeddings);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Add documents</strong></summary>\n *\n * ```typescript\n * import type { Document } from '@langchain/core/documents';\n *\n * const document1 = { pageContent: \"foo\", metadata: { baz: \"bar\" } };\n * const document2 = { pageContent: \"thud\", metadata: { bar: \"baz\" } };\n * const document3 = { pageContent: \"i will be deleted :(\", metadata: {} };\n *\n * const documents: Document[] = [document1, document2, document3];\n *\n * await vectorStore.addDocuments(documents);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Similarity search</strong></summary>\n *\n * ```typescript\n * const results = await vectorStore.similaritySearch(\"thud\", 1);\n * for (const doc of results) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * thud [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with filter</strong></summary>\n *\n * ```typescript\n * const resultsWithFilter = await vectorStore.similaritySearch(\"thud\", 1, { baz: \"bar\" });\n *\n * for (const doc of resultsWithFilter) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * foo [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with score</strong></summary>\n *\n * ```typescript\n * const resultsWithScore = await vectorStore.similaritySearchWithScore(\"qux\", 1);\n * for (const [doc, score] of resultsWithScore) {\n * console.log(`* [SIM=${score.toFixed(6)}] ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * [SIM=0.000000] qux [{\"bar\":\"baz\",\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>As a retriever</strong></summary>\n *\n * ```typescript\n * const retriever = vectorStore.asRetriever({\n * searchType: \"mmr\", // Leave blank for standard similarity search\n * k: 1,\n * });\n * const resultAsRetriever = await retriever.invoke(\"thud\");\n * console.log(resultAsRetriever);\n *\n * // Output: [Document({ metadata: { \"baz\":\"bar\" }, pageContent: \"thud\" })]\n * ```\n * </details>\n *\n * <br />\n */\nexport class MemoryVectorStore extends VectorStore {\n declare FilterType: (doc: Document) => boolean;\n\n memoryVectors: MemoryVector[] = [];\n\n similarity: typeof cosine;\n\n _vectorstoreType(): string {\n return \"memory\";\n }\n\n constructor(\n embeddings: EmbeddingsInterface,\n { similarity, ...rest }: MemoryVectorStoreArgs = {}\n ) {\n super(embeddings, rest);\n\n this.similarity = similarity ?? cosine;\n }\n\n /**\n * Method to add documents to the memory vector store. It extracts the\n * text from each document, generates embeddings for them, and adds the\n * resulting vectors to the store.\n * @param documents Array of `Document` instances to be added to the store.\n * @returns Promise that resolves when all documents have been added.\n */\n async addDocuments(documents: Document[]): Promise<void> {\n const texts = documents.map(({ pageContent }) => pageContent);\n return this.addVectors(\n await this.embeddings.embedDocuments(texts),\n documents\n );\n }\n\n /**\n * Method to add vectors to the memory vector store. It creates\n * `MemoryVector` instances for each vector and document pair and adds\n * them to the store.\n * @param vectors Array of vectors to be added to the store.\n * @param documents Array of `Document` instances corresponding to the vectors.\n * @returns Promise that resolves when all vectors have been added.\n */\n async addVectors(vectors: number[][], documents: Document[]): Promise<void> {\n const memoryVectors = vectors.map((embedding, idx) => ({\n content: documents[idx].pageContent,\n embedding,\n metadata: documents[idx].metadata,\n id: documents[idx].id,\n }));\n\n this.memoryVectors = this.memoryVectors.concat(memoryVectors);\n }\n\n protected async _queryVectors(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ) {\n const filterFunction = (memoryVector: MemoryVector) => {\n if (!filter) {\n return true;\n }\n\n const doc = new Document({\n metadata: memoryVector.metadata,\n pageContent: memoryVector.content,\n id: memoryVector.id,\n });\n return filter(doc);\n };\n const filteredMemoryVectors = this.memoryVectors.filter(filterFunction);\n return filteredMemoryVectors\n .map((vector, index) => ({\n similarity: this.similarity(query, vector.embedding),\n index,\n metadata: vector.metadata,\n content: vector.content,\n embedding: vector.embedding,\n id: vector.id,\n }))\n .sort((a, b) => (a.similarity > b.similarity ? -1 : 0))\n .slice(0, k);\n }\n\n /**\n * Method to perform a similarity search in the memory vector store. It\n * calculates the similarity between the query vector and each vector in\n * the store, sorts the results by similarity, and returns the top `k`\n * results along with their scores.\n * @param query Query vector to compare against the vectors in the store.\n * @param k Number of top results to return.\n * @param filter Optional filter function to apply to the vectors before performing the search.\n * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.\n */\n async similaritySearchVectorWithScore(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ): Promise<[Document, number][]> {\n const searches = await this._queryVectors(query, k, filter);\n const result: [Document, number][] = searches.map((search) => [\n new Document({\n metadata: search.metadata,\n pageContent: search.content,\n id: search.id,\n }),\n search.similarity,\n ]);\n\n return result;\n }\n\n async maxMarginalRelevanceSearch(\n query: string,\n options: MaxMarginalRelevanceSearchOptions<this[\"FilterType\"]>\n ): Promise<DocumentInterface[]> {\n const queryEmbedding = await this.embeddings.embedQuery(query);\n\n const searches = await this._queryVectors(\n queryEmbedding,\n options.fetchK ?? 20,\n options.filter\n );\n\n const embeddingList = searches.map((searchResp) => searchResp.embedding);\n\n const mmrIndexes = maximalMarginalRelevance(\n queryEmbedding,\n embeddingList,\n options.lambda,\n options.k\n );\n\n return mmrIndexes.map(\n (idx) =>\n new Document({\n metadata: searches[idx].metadata,\n pageContent: searches[idx].content,\n id: searches[idx].id,\n })\n );\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * texts. It creates a `Document` for each text and metadata pair, and\n * adds them to the store.\n * @param texts Array of texts to be added to the store.\n * @param metadatas Array or single object of metadata corresponding to the texts.\n * @param embeddings `Embeddings` instance used to generate embeddings for the texts.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromTexts(\n texts: string[],\n metadatas: object[] | object,\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const docs: Document[] = [];\n for (let i = 0; i < texts.length; i += 1) {\n const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;\n const newDoc = new Document({\n pageContent: texts[i],\n metadata,\n });\n docs.push(newDoc);\n }\n return MemoryVectorStore.fromDocuments(docs, embeddings, dbConfig);\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * `Document` instances. It adds the documents to the store.\n * @param docs Array of `Document` instances to be added to the store.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromDocuments(\n docs: Document[],\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n await instance.addDocuments(docs);\n return instance;\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an existing\n * index. It creates a new `MemoryVectorStore` instance without adding any\n * documents or vectors.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromExistingIndex(\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n return instance;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,IAAa,oBAAb,MAAa,0BAA0BA,yCAAY;CAGjD,gBAAgC,EAAE;CAElC;CAEA,mBAA2B;AACzB,SAAO;;CAGT,YACE,YACA,EAAE,YAAY,GAAG,SAAgC,EAAE,EACnD;AACA,QAAM,YAAY,KAAK;AAEvB,OAAK,aAAa,cAAcC;;;;;;;;;CAUlC,MAAM,aAAa,WAAsC;EACvD,MAAM,QAAQ,UAAU,KAAK,EAAE,kBAAkB,YAAY;AAC7D,SAAO,KAAK,WACV,MAAM,KAAK,WAAW,eAAe,MAAM,EAC3C,UACD;;;;;;;;;;CAWH,MAAM,WAAW,SAAqB,WAAsC;EAC1E,MAAM,gBAAgB,QAAQ,KAAK,WAAW,SAAS;GACrD,SAAS,UAAU,KAAK;GACxB;GACA,UAAU,UAAU,KAAK;GACzB,IAAI,UAAU,KAAK;GACpB,EAAE;AAEH,OAAK,gBAAgB,KAAK,cAAc,OAAO,cAAc;;CAG/D,MAAgB,cACd,OACA,GACA,QACA;EACA,MAAM,kBAAkB,iBAA+B;AACrD,OAAI,CAAC,OACH,QAAO;AAQT,UAAO,OALK,IAAIC,mCAAS;IACvB,UAAU,aAAa;IACvB,aAAa,aAAa;IAC1B,IAAI,aAAa;IAClB,CAAC,CACgB;;AAGpB,SAD8B,KAAK,cAAc,OAAO,eAAe,CAEpE,KAAK,QAAQ,WAAW;GACvB,YAAY,KAAK,WAAW,OAAO,OAAO,UAAU;GACpD;GACA,UAAU,OAAO;GACjB,SAAS,OAAO;GAChB,WAAW,OAAO;GAClB,IAAI,OAAO;GACZ,EAAE,CACF,MAAM,GAAG,MAAO,EAAE,aAAa,EAAE,aAAa,KAAK,EAAG,CACtD,MAAM,GAAG,EAAE;;;;;;;;;;;;CAahB,MAAM,gCACJ,OACA,GACA,QAC+B;AAW/B,UAViB,MAAM,KAAK,cAAc,OAAO,GAAG,OAAO,EACb,KAAK,WAAW,CAC5D,IAAIA,mCAAS;GACX,UAAU,OAAO;GACjB,aAAa,OAAO;GACpB,IAAI,OAAO;GACZ,CAAC,EACF,OAAO,WACR,CAAC;;CAKJ,MAAM,2BACJ,OACA,SAC8B;EAC9B,MAAM,iBAAiB,MAAM,KAAK,WAAW,WAAW,MAAM;EAE9D,MAAM,WAAW,MAAM,KAAK,cAC1B,gBACA,QAAQ,UAAU,IAClB,QAAQ,OACT;AAWD,kEANE,gBAHoB,SAAS,KAAK,eAAe,WAAW,UAAU,EAKtE,QAAQ,QACR,QAAQ,EACT,CAEiB,KACf,QACC,IAAIA,mCAAS;GACX,UAAU,SAAS,KAAK;GACxB,aAAa,SAAS,KAAK;GAC3B,IAAI,SAAS,KAAK;GACnB,CAAC,CACL;;;;;;;;;;;;CAaH,aAAa,UACX,OACA,WACA,YACA,UAC4B;EAC5B,MAAM,OAAmB,EAAE;AAC3B,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;GACxC,MAAM,WAAW,MAAM,QAAQ,UAAU,GAAG,UAAU,KAAK;GAC3D,MAAM,SAAS,IAAIA,mCAAS;IAC1B,aAAa,MAAM;IACnB;IACD,CAAC;AACF,QAAK,KAAK,OAAO;;AAEnB,SAAO,kBAAkB,cAAc,MAAM,YAAY,SAAS;;;;;;;;;;CAWpE,aAAa,cACX,MACA,YACA,UAC4B;EAC5B,MAAM,WAAW,IAAI,KAAK,YAAY,SAAS;AAC/C,QAAM,SAAS,aAAa,KAAK;AACjC,SAAO;;;;;;;;;;CAWT,aAAa,kBACX,YACA,UAC4B;AAE5B,SADiB,IAAI,KAAK,YAAY,SAAS"}
|
|
1
|
+
{"version":3,"file":"memory.cjs","names":["VectorStore","cosine","Document"],"sources":["../../src/vectorstores/memory.ts"],"sourcesContent":["import {\n MaxMarginalRelevanceSearchOptions,\n VectorStore,\n} from \"@langchain/core/vectorstores\";\nimport type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport { Document, DocumentInterface } from \"@langchain/core/documents\";\nimport { maximalMarginalRelevance } from \"@langchain/core/utils/math\";\nimport { cosine } from \"../util/ml-distance/similarities.js\";\n\n/**\n * Interface representing a vector in memory. It includes the content\n * (text), the corresponding embedding (vector), and any associated\n * metadata.\n */\ninterface MemoryVector {\n content: string;\n embedding: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n id?: string;\n}\n\n/**\n * Interface for the arguments that can be passed to the\n * `MemoryVectorStore` constructor. It includes an optional `similarity`\n * function.\n */\nexport interface MemoryVectorStoreArgs {\n similarity?: typeof cosine;\n}\n\n/**\n * In-memory, ephemeral vector store.\n *\n * Setup:\n * Install `langchain`:\n *\n * ```bash\n * npm install langchain\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/langchain.vectorstores_memory.MemoryVectorStore.html#constructor)\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { MemoryVectorStore } from 'langchain/vectorstores/memory';\n * // Or other embeddings\n * import { OpenAIEmbeddings } from '@langchain/openai';\n *\n * const embeddings = new OpenAIEmbeddings({\n * model: \"text-embedding-3-small\",\n * });\n *\n * const vectorStore = new MemoryVectorStore(embeddings);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Add documents</strong></summary>\n *\n * ```typescript\n * import type { Document } from '@langchain/core/documents';\n *\n * const document1 = { pageContent: \"foo\", metadata: { baz: \"bar\" } };\n * const document2 = { pageContent: \"thud\", metadata: { bar: \"baz\" } };\n * const document3 = { pageContent: \"i will be deleted :(\", metadata: {} };\n *\n * const documents: Document[] = [document1, document2, document3];\n *\n * await vectorStore.addDocuments(documents);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Similarity search</strong></summary>\n *\n * ```typescript\n * const results = await vectorStore.similaritySearch(\"thud\", 1);\n * for (const doc of results) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * thud [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with filter</strong></summary>\n *\n * ```typescript\n * const resultsWithFilter = await vectorStore.similaritySearch(\"thud\", 1, { baz: \"bar\" });\n *\n * for (const doc of resultsWithFilter) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * foo [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with score</strong></summary>\n *\n * ```typescript\n * const resultsWithScore = await vectorStore.similaritySearchWithScore(\"qux\", 1);\n * for (const [doc, score] of resultsWithScore) {\n * console.log(`* [SIM=${score.toFixed(6)}] ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * [SIM=0.000000] qux [{\"bar\":\"baz\",\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>As a retriever</strong></summary>\n *\n * ```typescript\n * const retriever = vectorStore.asRetriever({\n * searchType: \"mmr\", // Leave blank for standard similarity search\n * k: 1,\n * });\n * const resultAsRetriever = await retriever.invoke(\"thud\");\n * console.log(resultAsRetriever);\n *\n * // Output: [Document({ metadata: { \"baz\":\"bar\" }, pageContent: \"thud\" })]\n * ```\n * </details>\n *\n * <br />\n */\nexport class MemoryVectorStore extends VectorStore {\n declare FilterType: (doc: Document) => boolean;\n\n memoryVectors: MemoryVector[] = [];\n\n similarity: typeof cosine;\n\n _vectorstoreType(): string {\n return \"memory\";\n }\n\n constructor(\n embeddings: EmbeddingsInterface,\n { similarity, ...rest }: MemoryVectorStoreArgs = {}\n ) {\n super(embeddings, rest);\n\n this.similarity = similarity ?? cosine;\n }\n\n /**\n * Method to add documents to the memory vector store. It extracts the\n * text from each document, generates embeddings for them, and adds the\n * resulting vectors to the store.\n * @param documents Array of `Document` instances to be added to the store.\n * @returns Promise that resolves when all documents have been added.\n */\n async addDocuments(documents: Document[]): Promise<void> {\n const texts = documents.map(({ pageContent }) => pageContent);\n return this.addVectors(\n await this.embeddings.embedDocuments(texts),\n documents\n );\n }\n\n /**\n * Method to add vectors to the memory vector store. It creates\n * `MemoryVector` instances for each vector and document pair and adds\n * them to the store.\n * @param vectors Array of vectors to be added to the store.\n * @param documents Array of `Document` instances corresponding to the vectors.\n * @returns Promise that resolves when all vectors have been added.\n */\n async addVectors(vectors: number[][], documents: Document[]): Promise<void> {\n const memoryVectors = vectors.map((embedding, idx) => ({\n content: documents[idx].pageContent,\n embedding,\n metadata: documents[idx].metadata,\n id: documents[idx].id,\n }));\n\n this.memoryVectors = this.memoryVectors.concat(memoryVectors);\n }\n\n protected async _queryVectors(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ) {\n const filterFunction = (memoryVector: MemoryVector) => {\n if (!filter) {\n return true;\n }\n\n const doc = new Document({\n metadata: memoryVector.metadata,\n pageContent: memoryVector.content,\n id: memoryVector.id,\n });\n return filter(doc);\n };\n const filteredMemoryVectors = this.memoryVectors.filter(filterFunction);\n return filteredMemoryVectors\n .map((vector, index) => ({\n similarity: this.similarity(query, vector.embedding),\n index,\n metadata: vector.metadata,\n content: vector.content,\n embedding: vector.embedding,\n id: vector.id,\n }))\n .sort((a, b) => (a.similarity > b.similarity ? -1 : 0))\n .slice(0, k);\n }\n\n /**\n * Method to perform a similarity search in the memory vector store. It\n * calculates the similarity between the query vector and each vector in\n * the store, sorts the results by similarity, and returns the top `k`\n * results along with their scores.\n * @param query Query vector to compare against the vectors in the store.\n * @param k Number of top results to return.\n * @param filter Optional filter function to apply to the vectors before performing the search.\n * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.\n */\n async similaritySearchVectorWithScore(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ): Promise<[Document, number][]> {\n const searches = await this._queryVectors(query, k, filter);\n const result: [Document, number][] = searches.map((search) => [\n new Document({\n metadata: search.metadata,\n pageContent: search.content,\n id: search.id,\n }),\n search.similarity,\n ]);\n\n return result;\n }\n\n async maxMarginalRelevanceSearch(\n query: string,\n options: MaxMarginalRelevanceSearchOptions<this[\"FilterType\"]>\n ): Promise<DocumentInterface[]> {\n const queryEmbedding = await this.embeddings.embedQuery(query);\n\n const searches = await this._queryVectors(\n queryEmbedding,\n options.fetchK ?? 20,\n options.filter\n );\n\n const embeddingList = searches.map((searchResp) => searchResp.embedding);\n\n const mmrIndexes = maximalMarginalRelevance(\n queryEmbedding,\n embeddingList,\n options.lambda,\n options.k\n );\n\n return mmrIndexes.map(\n (idx) =>\n new Document({\n metadata: searches[idx].metadata,\n pageContent: searches[idx].content,\n id: searches[idx].id,\n })\n );\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * texts. It creates a `Document` for each text and metadata pair, and\n * adds them to the store.\n * @param texts Array of texts to be added to the store.\n * @param metadatas Array or single object of metadata corresponding to the texts.\n * @param embeddings `Embeddings` instance used to generate embeddings for the texts.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromTexts(\n texts: string[],\n metadatas: object[] | object,\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const docs: Document[] = [];\n for (let i = 0; i < texts.length; i += 1) {\n const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;\n const newDoc = new Document({\n pageContent: texts[i],\n metadata,\n });\n docs.push(newDoc);\n }\n return MemoryVectorStore.fromDocuments(docs, embeddings, dbConfig);\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * `Document` instances. It adds the documents to the store.\n * @param docs Array of `Document` instances to be added to the store.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromDocuments(\n docs: Document[],\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n await instance.addDocuments(docs);\n return instance;\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an existing\n * index. It creates a new `MemoryVectorStore` instance without adding any\n * documents or vectors.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromExistingIndex(\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n return instance;\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { cosine } from "../util/ml-distance/similarities.js";
|
|
|
3
3
|
import { Document } from "@langchain/core/documents";
|
|
4
4
|
import { maximalMarginalRelevance } from "@langchain/core/utils/math";
|
|
5
5
|
import { VectorStore } from "@langchain/core/vectorstores";
|
|
6
|
-
|
|
7
6
|
//#region src/vectorstores/memory.ts
|
|
8
7
|
var memory_exports = /* @__PURE__ */ __exportAll({ MemoryVectorStore: () => MemoryVectorStore });
|
|
9
8
|
/**
|
|
@@ -245,7 +244,7 @@ var MemoryVectorStore = class MemoryVectorStore extends VectorStore {
|
|
|
245
244
|
return new this(embeddings, dbConfig);
|
|
246
245
|
}
|
|
247
246
|
};
|
|
248
|
-
|
|
249
247
|
//#endregion
|
|
250
248
|
export { MemoryVectorStore, memory_exports };
|
|
249
|
+
|
|
251
250
|
//# sourceMappingURL=memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","names":[],"sources":["../../src/vectorstores/memory.ts"],"sourcesContent":["import {\n MaxMarginalRelevanceSearchOptions,\n VectorStore,\n} from \"@langchain/core/vectorstores\";\nimport type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport { Document, DocumentInterface } from \"@langchain/core/documents\";\nimport { maximalMarginalRelevance } from \"@langchain/core/utils/math\";\nimport { cosine } from \"../util/ml-distance/similarities.js\";\n\n/**\n * Interface representing a vector in memory. It includes the content\n * (text), the corresponding embedding (vector), and any associated\n * metadata.\n */\ninterface MemoryVector {\n content: string;\n embedding: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n id?: string;\n}\n\n/**\n * Interface for the arguments that can be passed to the\n * `MemoryVectorStore` constructor. It includes an optional `similarity`\n * function.\n */\nexport interface MemoryVectorStoreArgs {\n similarity?: typeof cosine;\n}\n\n/**\n * In-memory, ephemeral vector store.\n *\n * Setup:\n * Install `langchain`:\n *\n * ```bash\n * npm install langchain\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/langchain.vectorstores_memory.MemoryVectorStore.html#constructor)\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { MemoryVectorStore } from 'langchain/vectorstores/memory';\n * // Or other embeddings\n * import { OpenAIEmbeddings } from '@langchain/openai';\n *\n * const embeddings = new OpenAIEmbeddings({\n * model: \"text-embedding-3-small\",\n * });\n *\n * const vectorStore = new MemoryVectorStore(embeddings);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Add documents</strong></summary>\n *\n * ```typescript\n * import type { Document } from '@langchain/core/documents';\n *\n * const document1 = { pageContent: \"foo\", metadata: { baz: \"bar\" } };\n * const document2 = { pageContent: \"thud\", metadata: { bar: \"baz\" } };\n * const document3 = { pageContent: \"i will be deleted :(\", metadata: {} };\n *\n * const documents: Document[] = [document1, document2, document3];\n *\n * await vectorStore.addDocuments(documents);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Similarity search</strong></summary>\n *\n * ```typescript\n * const results = await vectorStore.similaritySearch(\"thud\", 1);\n * for (const doc of results) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * thud [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with filter</strong></summary>\n *\n * ```typescript\n * const resultsWithFilter = await vectorStore.similaritySearch(\"thud\", 1, { baz: \"bar\" });\n *\n * for (const doc of resultsWithFilter) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * foo [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with score</strong></summary>\n *\n * ```typescript\n * const resultsWithScore = await vectorStore.similaritySearchWithScore(\"qux\", 1);\n * for (const [doc, score] of resultsWithScore) {\n * console.log(`* [SIM=${score.toFixed(6)}] ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * [SIM=0.000000] qux [{\"bar\":\"baz\",\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>As a retriever</strong></summary>\n *\n * ```typescript\n * const retriever = vectorStore.asRetriever({\n * searchType: \"mmr\", // Leave blank for standard similarity search\n * k: 1,\n * });\n * const resultAsRetriever = await retriever.invoke(\"thud\");\n * console.log(resultAsRetriever);\n *\n * // Output: [Document({ metadata: { \"baz\":\"bar\" }, pageContent: \"thud\" })]\n * ```\n * </details>\n *\n * <br />\n */\nexport class MemoryVectorStore extends VectorStore {\n declare FilterType: (doc: Document) => boolean;\n\n memoryVectors: MemoryVector[] = [];\n\n similarity: typeof cosine;\n\n _vectorstoreType(): string {\n return \"memory\";\n }\n\n constructor(\n embeddings: EmbeddingsInterface,\n { similarity, ...rest }: MemoryVectorStoreArgs = {}\n ) {\n super(embeddings, rest);\n\n this.similarity = similarity ?? cosine;\n }\n\n /**\n * Method to add documents to the memory vector store. It extracts the\n * text from each document, generates embeddings for them, and adds the\n * resulting vectors to the store.\n * @param documents Array of `Document` instances to be added to the store.\n * @returns Promise that resolves when all documents have been added.\n */\n async addDocuments(documents: Document[]): Promise<void> {\n const texts = documents.map(({ pageContent }) => pageContent);\n return this.addVectors(\n await this.embeddings.embedDocuments(texts),\n documents\n );\n }\n\n /**\n * Method to add vectors to the memory vector store. It creates\n * `MemoryVector` instances for each vector and document pair and adds\n * them to the store.\n * @param vectors Array of vectors to be added to the store.\n * @param documents Array of `Document` instances corresponding to the vectors.\n * @returns Promise that resolves when all vectors have been added.\n */\n async addVectors(vectors: number[][], documents: Document[]): Promise<void> {\n const memoryVectors = vectors.map((embedding, idx) => ({\n content: documents[idx].pageContent,\n embedding,\n metadata: documents[idx].metadata,\n id: documents[idx].id,\n }));\n\n this.memoryVectors = this.memoryVectors.concat(memoryVectors);\n }\n\n protected async _queryVectors(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ) {\n const filterFunction = (memoryVector: MemoryVector) => {\n if (!filter) {\n return true;\n }\n\n const doc = new Document({\n metadata: memoryVector.metadata,\n pageContent: memoryVector.content,\n id: memoryVector.id,\n });\n return filter(doc);\n };\n const filteredMemoryVectors = this.memoryVectors.filter(filterFunction);\n return filteredMemoryVectors\n .map((vector, index) => ({\n similarity: this.similarity(query, vector.embedding),\n index,\n metadata: vector.metadata,\n content: vector.content,\n embedding: vector.embedding,\n id: vector.id,\n }))\n .sort((a, b) => (a.similarity > b.similarity ? -1 : 0))\n .slice(0, k);\n }\n\n /**\n * Method to perform a similarity search in the memory vector store. It\n * calculates the similarity between the query vector and each vector in\n * the store, sorts the results by similarity, and returns the top `k`\n * results along with their scores.\n * @param query Query vector to compare against the vectors in the store.\n * @param k Number of top results to return.\n * @param filter Optional filter function to apply to the vectors before performing the search.\n * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.\n */\n async similaritySearchVectorWithScore(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ): Promise<[Document, number][]> {\n const searches = await this._queryVectors(query, k, filter);\n const result: [Document, number][] = searches.map((search) => [\n new Document({\n metadata: search.metadata,\n pageContent: search.content,\n id: search.id,\n }),\n search.similarity,\n ]);\n\n return result;\n }\n\n async maxMarginalRelevanceSearch(\n query: string,\n options: MaxMarginalRelevanceSearchOptions<this[\"FilterType\"]>\n ): Promise<DocumentInterface[]> {\n const queryEmbedding = await this.embeddings.embedQuery(query);\n\n const searches = await this._queryVectors(\n queryEmbedding,\n options.fetchK ?? 20,\n options.filter\n );\n\n const embeddingList = searches.map((searchResp) => searchResp.embedding);\n\n const mmrIndexes = maximalMarginalRelevance(\n queryEmbedding,\n embeddingList,\n options.lambda,\n options.k\n );\n\n return mmrIndexes.map(\n (idx) =>\n new Document({\n metadata: searches[idx].metadata,\n pageContent: searches[idx].content,\n id: searches[idx].id,\n })\n );\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * texts. It creates a `Document` for each text and metadata pair, and\n * adds them to the store.\n * @param texts Array of texts to be added to the store.\n * @param metadatas Array or single object of metadata corresponding to the texts.\n * @param embeddings `Embeddings` instance used to generate embeddings for the texts.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromTexts(\n texts: string[],\n metadatas: object[] | object,\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const docs: Document[] = [];\n for (let i = 0; i < texts.length; i += 1) {\n const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;\n const newDoc = new Document({\n pageContent: texts[i],\n metadata,\n });\n docs.push(newDoc);\n }\n return MemoryVectorStore.fromDocuments(docs, embeddings, dbConfig);\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * `Document` instances. It adds the documents to the store.\n * @param docs Array of `Document` instances to be added to the store.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromDocuments(\n docs: Document[],\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n await instance.addDocuments(docs);\n return instance;\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an existing\n * index. It creates a new `MemoryVectorStore` instance without adding any\n * documents or vectors.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromExistingIndex(\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n return instance;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,IAAa,oBAAb,MAAa,0BAA0B,YAAY;CAGjD,gBAAgC,EAAE;CAElC;CAEA,mBAA2B;AACzB,SAAO;;CAGT,YACE,YACA,EAAE,YAAY,GAAG,SAAgC,EAAE,EACnD;AACA,QAAM,YAAY,KAAK;AAEvB,OAAK,aAAa,cAAc;;;;;;;;;CAUlC,MAAM,aAAa,WAAsC;EACvD,MAAM,QAAQ,UAAU,KAAK,EAAE,kBAAkB,YAAY;AAC7D,SAAO,KAAK,WACV,MAAM,KAAK,WAAW,eAAe,MAAM,EAC3C,UACD;;;;;;;;;;CAWH,MAAM,WAAW,SAAqB,WAAsC;EAC1E,MAAM,gBAAgB,QAAQ,KAAK,WAAW,SAAS;GACrD,SAAS,UAAU,KAAK;GACxB;GACA,UAAU,UAAU,KAAK;GACzB,IAAI,UAAU,KAAK;GACpB,EAAE;AAEH,OAAK,gBAAgB,KAAK,cAAc,OAAO,cAAc;;CAG/D,MAAgB,cACd,OACA,GACA,QACA;EACA,MAAM,kBAAkB,iBAA+B;AACrD,OAAI,CAAC,OACH,QAAO;AAQT,UAAO,OALK,IAAI,SAAS;IACvB,UAAU,aAAa;IACvB,aAAa,aAAa;IAC1B,IAAI,aAAa;IAClB,CAAC,CACgB;;AAGpB,SAD8B,KAAK,cAAc,OAAO,eAAe,CAEpE,KAAK,QAAQ,WAAW;GACvB,YAAY,KAAK,WAAW,OAAO,OAAO,UAAU;GACpD;GACA,UAAU,OAAO;GACjB,SAAS,OAAO;GAChB,WAAW,OAAO;GAClB,IAAI,OAAO;GACZ,EAAE,CACF,MAAM,GAAG,MAAO,EAAE,aAAa,EAAE,aAAa,KAAK,EAAG,CACtD,MAAM,GAAG,EAAE;;;;;;;;;;;;CAahB,MAAM,gCACJ,OACA,GACA,QAC+B;AAW/B,UAViB,MAAM,KAAK,cAAc,OAAO,GAAG,OAAO,EACb,KAAK,WAAW,CAC5D,IAAI,SAAS;GACX,UAAU,OAAO;GACjB,aAAa,OAAO;GACpB,IAAI,OAAO;GACZ,CAAC,EACF,OAAO,WACR,CAAC;;CAKJ,MAAM,2BACJ,OACA,SAC8B;EAC9B,MAAM,iBAAiB,MAAM,KAAK,WAAW,WAAW,MAAM;EAE9D,MAAM,WAAW,MAAM,KAAK,cAC1B,gBACA,QAAQ,UAAU,IAClB,QAAQ,OACT;AAWD,SAPmB,yBACjB,gBAHoB,SAAS,KAAK,eAAe,WAAW,UAAU,EAKtE,QAAQ,QACR,QAAQ,EACT,CAEiB,KACf,QACC,IAAI,SAAS;GACX,UAAU,SAAS,KAAK;GACxB,aAAa,SAAS,KAAK;GAC3B,IAAI,SAAS,KAAK;GACnB,CAAC,CACL;;;;;;;;;;;;CAaH,aAAa,UACX,OACA,WACA,YACA,UAC4B;EAC5B,MAAM,OAAmB,EAAE;AAC3B,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;GACxC,MAAM,WAAW,MAAM,QAAQ,UAAU,GAAG,UAAU,KAAK;GAC3D,MAAM,SAAS,IAAI,SAAS;IAC1B,aAAa,MAAM;IACnB;IACD,CAAC;AACF,QAAK,KAAK,OAAO;;AAEnB,SAAO,kBAAkB,cAAc,MAAM,YAAY,SAAS;;;;;;;;;;CAWpE,aAAa,cACX,MACA,YACA,UAC4B;EAC5B,MAAM,WAAW,IAAI,KAAK,YAAY,SAAS;AAC/C,QAAM,SAAS,aAAa,KAAK;AACjC,SAAO;;;;;;;;;;CAWT,aAAa,kBACX,YACA,UAC4B;AAE5B,SADiB,IAAI,KAAK,YAAY,SAAS"}
|
|
1
|
+
{"version":3,"file":"memory.js","names":[],"sources":["../../src/vectorstores/memory.ts"],"sourcesContent":["import {\n MaxMarginalRelevanceSearchOptions,\n VectorStore,\n} from \"@langchain/core/vectorstores\";\nimport type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport { Document, DocumentInterface } from \"@langchain/core/documents\";\nimport { maximalMarginalRelevance } from \"@langchain/core/utils/math\";\nimport { cosine } from \"../util/ml-distance/similarities.js\";\n\n/**\n * Interface representing a vector in memory. It includes the content\n * (text), the corresponding embedding (vector), and any associated\n * metadata.\n */\ninterface MemoryVector {\n content: string;\n embedding: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n id?: string;\n}\n\n/**\n * Interface for the arguments that can be passed to the\n * `MemoryVectorStore` constructor. It includes an optional `similarity`\n * function.\n */\nexport interface MemoryVectorStoreArgs {\n similarity?: typeof cosine;\n}\n\n/**\n * In-memory, ephemeral vector store.\n *\n * Setup:\n * Install `langchain`:\n *\n * ```bash\n * npm install langchain\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/langchain.vectorstores_memory.MemoryVectorStore.html#constructor)\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { MemoryVectorStore } from 'langchain/vectorstores/memory';\n * // Or other embeddings\n * import { OpenAIEmbeddings } from '@langchain/openai';\n *\n * const embeddings = new OpenAIEmbeddings({\n * model: \"text-embedding-3-small\",\n * });\n *\n * const vectorStore = new MemoryVectorStore(embeddings);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Add documents</strong></summary>\n *\n * ```typescript\n * import type { Document } from '@langchain/core/documents';\n *\n * const document1 = { pageContent: \"foo\", metadata: { baz: \"bar\" } };\n * const document2 = { pageContent: \"thud\", metadata: { bar: \"baz\" } };\n * const document3 = { pageContent: \"i will be deleted :(\", metadata: {} };\n *\n * const documents: Document[] = [document1, document2, document3];\n *\n * await vectorStore.addDocuments(documents);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Similarity search</strong></summary>\n *\n * ```typescript\n * const results = await vectorStore.similaritySearch(\"thud\", 1);\n * for (const doc of results) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * thud [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with filter</strong></summary>\n *\n * ```typescript\n * const resultsWithFilter = await vectorStore.similaritySearch(\"thud\", 1, { baz: \"bar\" });\n *\n * for (const doc of resultsWithFilter) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * foo [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with score</strong></summary>\n *\n * ```typescript\n * const resultsWithScore = await vectorStore.similaritySearchWithScore(\"qux\", 1);\n * for (const [doc, score] of resultsWithScore) {\n * console.log(`* [SIM=${score.toFixed(6)}] ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output: * [SIM=0.000000] qux [{\"bar\":\"baz\",\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>As a retriever</strong></summary>\n *\n * ```typescript\n * const retriever = vectorStore.asRetriever({\n * searchType: \"mmr\", // Leave blank for standard similarity search\n * k: 1,\n * });\n * const resultAsRetriever = await retriever.invoke(\"thud\");\n * console.log(resultAsRetriever);\n *\n * // Output: [Document({ metadata: { \"baz\":\"bar\" }, pageContent: \"thud\" })]\n * ```\n * </details>\n *\n * <br />\n */\nexport class MemoryVectorStore extends VectorStore {\n declare FilterType: (doc: Document) => boolean;\n\n memoryVectors: MemoryVector[] = [];\n\n similarity: typeof cosine;\n\n _vectorstoreType(): string {\n return \"memory\";\n }\n\n constructor(\n embeddings: EmbeddingsInterface,\n { similarity, ...rest }: MemoryVectorStoreArgs = {}\n ) {\n super(embeddings, rest);\n\n this.similarity = similarity ?? cosine;\n }\n\n /**\n * Method to add documents to the memory vector store. It extracts the\n * text from each document, generates embeddings for them, and adds the\n * resulting vectors to the store.\n * @param documents Array of `Document` instances to be added to the store.\n * @returns Promise that resolves when all documents have been added.\n */\n async addDocuments(documents: Document[]): Promise<void> {\n const texts = documents.map(({ pageContent }) => pageContent);\n return this.addVectors(\n await this.embeddings.embedDocuments(texts),\n documents\n );\n }\n\n /**\n * Method to add vectors to the memory vector store. It creates\n * `MemoryVector` instances for each vector and document pair and adds\n * them to the store.\n * @param vectors Array of vectors to be added to the store.\n * @param documents Array of `Document` instances corresponding to the vectors.\n * @returns Promise that resolves when all vectors have been added.\n */\n async addVectors(vectors: number[][], documents: Document[]): Promise<void> {\n const memoryVectors = vectors.map((embedding, idx) => ({\n content: documents[idx].pageContent,\n embedding,\n metadata: documents[idx].metadata,\n id: documents[idx].id,\n }));\n\n this.memoryVectors = this.memoryVectors.concat(memoryVectors);\n }\n\n protected async _queryVectors(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ) {\n const filterFunction = (memoryVector: MemoryVector) => {\n if (!filter) {\n return true;\n }\n\n const doc = new Document({\n metadata: memoryVector.metadata,\n pageContent: memoryVector.content,\n id: memoryVector.id,\n });\n return filter(doc);\n };\n const filteredMemoryVectors = this.memoryVectors.filter(filterFunction);\n return filteredMemoryVectors\n .map((vector, index) => ({\n similarity: this.similarity(query, vector.embedding),\n index,\n metadata: vector.metadata,\n content: vector.content,\n embedding: vector.embedding,\n id: vector.id,\n }))\n .sort((a, b) => (a.similarity > b.similarity ? -1 : 0))\n .slice(0, k);\n }\n\n /**\n * Method to perform a similarity search in the memory vector store. It\n * calculates the similarity between the query vector and each vector in\n * the store, sorts the results by similarity, and returns the top `k`\n * results along with their scores.\n * @param query Query vector to compare against the vectors in the store.\n * @param k Number of top results to return.\n * @param filter Optional filter function to apply to the vectors before performing the search.\n * @returns Promise that resolves with an array of tuples, each containing a `Document` and its similarity score.\n */\n async similaritySearchVectorWithScore(\n query: number[],\n k: number,\n filter?: this[\"FilterType\"]\n ): Promise<[Document, number][]> {\n const searches = await this._queryVectors(query, k, filter);\n const result: [Document, number][] = searches.map((search) => [\n new Document({\n metadata: search.metadata,\n pageContent: search.content,\n id: search.id,\n }),\n search.similarity,\n ]);\n\n return result;\n }\n\n async maxMarginalRelevanceSearch(\n query: string,\n options: MaxMarginalRelevanceSearchOptions<this[\"FilterType\"]>\n ): Promise<DocumentInterface[]> {\n const queryEmbedding = await this.embeddings.embedQuery(query);\n\n const searches = await this._queryVectors(\n queryEmbedding,\n options.fetchK ?? 20,\n options.filter\n );\n\n const embeddingList = searches.map((searchResp) => searchResp.embedding);\n\n const mmrIndexes = maximalMarginalRelevance(\n queryEmbedding,\n embeddingList,\n options.lambda,\n options.k\n );\n\n return mmrIndexes.map(\n (idx) =>\n new Document({\n metadata: searches[idx].metadata,\n pageContent: searches[idx].content,\n id: searches[idx].id,\n })\n );\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * texts. It creates a `Document` for each text and metadata pair, and\n * adds them to the store.\n * @param texts Array of texts to be added to the store.\n * @param metadatas Array or single object of metadata corresponding to the texts.\n * @param embeddings `Embeddings` instance used to generate embeddings for the texts.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromTexts(\n texts: string[],\n metadatas: object[] | object,\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const docs: Document[] = [];\n for (let i = 0; i < texts.length; i += 1) {\n const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;\n const newDoc = new Document({\n pageContent: texts[i],\n metadata,\n });\n docs.push(newDoc);\n }\n return MemoryVectorStore.fromDocuments(docs, embeddings, dbConfig);\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an array of\n * `Document` instances. It adds the documents to the store.\n * @param docs Array of `Document` instances to be added to the store.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromDocuments(\n docs: Document[],\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n await instance.addDocuments(docs);\n return instance;\n }\n\n /**\n * Static method to create a `MemoryVectorStore` instance from an existing\n * index. It creates a new `MemoryVectorStore` instance without adding any\n * documents or vectors.\n * @param embeddings `Embeddings` instance used to generate embeddings for the documents.\n * @param dbConfig Optional `MemoryVectorStoreArgs` to configure the `MemoryVectorStore` instance.\n * @returns Promise that resolves with a new `MemoryVectorStore` instance.\n */\n static async fromExistingIndex(\n embeddings: EmbeddingsInterface,\n dbConfig?: MemoryVectorStoreArgs\n ): Promise<MemoryVectorStore> {\n const instance = new this(embeddings, dbConfig);\n return instance;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,IAAa,oBAAb,MAAa,0BAA0B,YAAY;CAGjD,gBAAgC,EAAE;CAElC;CAEA,mBAA2B;AACzB,SAAO;;CAGT,YACE,YACA,EAAE,YAAY,GAAG,SAAgC,EAAE,EACnD;AACA,QAAM,YAAY,KAAK;AAEvB,OAAK,aAAa,cAAc;;;;;;;;;CAUlC,MAAM,aAAa,WAAsC;EACvD,MAAM,QAAQ,UAAU,KAAK,EAAE,kBAAkB,YAAY;AAC7D,SAAO,KAAK,WACV,MAAM,KAAK,WAAW,eAAe,MAAM,EAC3C,UACD;;;;;;;;;;CAWH,MAAM,WAAW,SAAqB,WAAsC;EAC1E,MAAM,gBAAgB,QAAQ,KAAK,WAAW,SAAS;GACrD,SAAS,UAAU,KAAK;GACxB;GACA,UAAU,UAAU,KAAK;GACzB,IAAI,UAAU,KAAK;GACpB,EAAE;AAEH,OAAK,gBAAgB,KAAK,cAAc,OAAO,cAAc;;CAG/D,MAAgB,cACd,OACA,GACA,QACA;EACA,MAAM,kBAAkB,iBAA+B;AACrD,OAAI,CAAC,OACH,QAAO;AAQT,UAAO,OALK,IAAI,SAAS;IACvB,UAAU,aAAa;IACvB,aAAa,aAAa;IAC1B,IAAI,aAAa;IAClB,CAAC,CACgB;;AAGpB,SAD8B,KAAK,cAAc,OAAO,eAAe,CAEpE,KAAK,QAAQ,WAAW;GACvB,YAAY,KAAK,WAAW,OAAO,OAAO,UAAU;GACpD;GACA,UAAU,OAAO;GACjB,SAAS,OAAO;GAChB,WAAW,OAAO;GAClB,IAAI,OAAO;GACZ,EAAE,CACF,MAAM,GAAG,MAAO,EAAE,aAAa,EAAE,aAAa,KAAK,EAAG,CACtD,MAAM,GAAG,EAAE;;;;;;;;;;;;CAahB,MAAM,gCACJ,OACA,GACA,QAC+B;AAW/B,UAViB,MAAM,KAAK,cAAc,OAAO,GAAG,OAAO,EACb,KAAK,WAAW,CAC5D,IAAI,SAAS;GACX,UAAU,OAAO;GACjB,aAAa,OAAO;GACpB,IAAI,OAAO;GACZ,CAAC,EACF,OAAO,WACR,CAAC;;CAKJ,MAAM,2BACJ,OACA,SAC8B;EAC9B,MAAM,iBAAiB,MAAM,KAAK,WAAW,WAAW,MAAM;EAE9D,MAAM,WAAW,MAAM,KAAK,cAC1B,gBACA,QAAQ,UAAU,IAClB,QAAQ,OACT;AAWD,SAPmB,yBACjB,gBAHoB,SAAS,KAAK,eAAe,WAAW,UAAU,EAKtE,QAAQ,QACR,QAAQ,EACT,CAEiB,KACf,QACC,IAAI,SAAS;GACX,UAAU,SAAS,KAAK;GACxB,aAAa,SAAS,KAAK;GAC3B,IAAI,SAAS,KAAK;GACnB,CAAC,CACL;;;;;;;;;;;;CAaH,aAAa,UACX,OACA,WACA,YACA,UAC4B;EAC5B,MAAM,OAAmB,EAAE;AAC3B,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;GACxC,MAAM,WAAW,MAAM,QAAQ,UAAU,GAAG,UAAU,KAAK;GAC3D,MAAM,SAAS,IAAI,SAAS;IAC1B,aAAa,MAAM;IACnB;IACD,CAAC;AACF,QAAK,KAAK,OAAO;;AAEnB,SAAO,kBAAkB,cAAc,MAAM,YAAY,SAAS;;;;;;;;;;CAWpE,aAAa,cACX,MACA,YACA,UAC4B;EAC5B,MAAM,WAAW,IAAI,KAAK,YAAY,SAAS;AAC/C,QAAM,SAAS,aAAa,KAAK;AACjC,SAAO;;;;;;;;;;CAWT,aAAa,kBACX,YACA,UAC4B;AAE5B,SADiB,IAAI,KAAK,YAAY,SAAS"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@langchain/classic",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24-dev-1773698445534",
|
|
4
4
|
"description": "Old abstractions from LangChain.js",
|
|
5
5
|
"author": "LangChain",
|
|
6
6
|
"license": "MIT",
|
|
@@ -170,40 +170,40 @@
|
|
|
170
170
|
"voy-search": "0.6.3",
|
|
171
171
|
"weaviate-client": "^3.8.0",
|
|
172
172
|
"zod-to-json-schema": "^3.24.6",
|
|
173
|
-
"@langchain/
|
|
174
|
-
"@langchain/aws": "1.3.1",
|
|
173
|
+
"@langchain/aws": "1.4.0-dev-1773698445534",
|
|
175
174
|
"@langchain/azure-cosmosdb": "1.2.0",
|
|
176
|
-
"@langchain/
|
|
175
|
+
"@langchain/anthropic": "1.3.24-dev-1773698445534",
|
|
177
176
|
"@langchain/baidu-qianfan": "1.0.3",
|
|
177
|
+
"@langchain/azure-dynamic-sessions": "1.0.1",
|
|
178
178
|
"@langchain/cloudflare": "1.0.4",
|
|
179
|
-
"@langchain/cohere": "1.0.4",
|
|
180
|
-
"@langchain/core": "^1.1.32",
|
|
181
|
-
"@langchain/deepseek": "1.0.17",
|
|
182
179
|
"@langchain/eslint": "0.1.1",
|
|
183
180
|
"@langchain/exa": "1.0.1",
|
|
181
|
+
"@langchain/deepseek": "1.0.18-dev-1773698445534",
|
|
182
|
+
"@langchain/google-common": "2.1.26-dev-1773698445534",
|
|
183
|
+
"@langchain/google-genai": "2.1.26-dev-1773698445534",
|
|
184
|
+
"@langchain/google-vertexai": "2.1.26-dev-1773698445534",
|
|
184
185
|
"@langchain/google-cloud-sql-pg": "1.0.22",
|
|
185
|
-
"@langchain/google-
|
|
186
|
-
"@langchain/
|
|
187
|
-
"@langchain/google-vertexai": "2.1.25",
|
|
188
|
-
"@langchain/google-vertexai-web": "2.1.25",
|
|
186
|
+
"@langchain/google-vertexai-web": "2.1.26-dev-1773698445534",
|
|
187
|
+
"@langchain/cohere": "1.0.4",
|
|
189
188
|
"@langchain/groq": "1.1.5",
|
|
190
189
|
"@langchain/mistralai": "1.0.7",
|
|
191
190
|
"@langchain/mongodb": "1.1.0",
|
|
191
|
+
"@langchain/core": "^1.1.33-dev-1773698445534",
|
|
192
192
|
"@langchain/nomic": "1.0.1",
|
|
193
193
|
"@langchain/ollama": "1.2.6",
|
|
194
194
|
"@langchain/pinecone": "1.0.1",
|
|
195
195
|
"@langchain/qdrant": "1.0.1",
|
|
196
|
-
"@langchain/redis": "1.1.0",
|
|
197
196
|
"@langchain/tavily": "1.2.0",
|
|
198
197
|
"@langchain/textsplitters": "1.0.1",
|
|
198
|
+
"@langchain/redis": "1.1.0",
|
|
199
199
|
"@langchain/weaviate": "1.0.1",
|
|
200
|
-
"@langchain/xai": "1.3.
|
|
200
|
+
"@langchain/xai": "1.3.10-dev-1773698445534",
|
|
201
201
|
"@langchain/yandex": "1.0.3",
|
|
202
202
|
"@langchain/tsconfig": "0.0.1",
|
|
203
|
-
"langchain": "1.2.
|
|
203
|
+
"langchain": "1.2.33-dev-1773698445534"
|
|
204
204
|
},
|
|
205
205
|
"peerDependencies": {
|
|
206
|
-
"@langchain/core": "
|
|
206
|
+
"@langchain/core": "1.1.33-dev-1773698445534",
|
|
207
207
|
"cheerio": "*",
|
|
208
208
|
"peggy": "^5.1.0",
|
|
209
209
|
"typeorm": "*"
|
|
@@ -227,8 +227,8 @@
|
|
|
227
227
|
"uuid": "^10.0.0",
|
|
228
228
|
"yaml": "^2.2.1",
|
|
229
229
|
"zod": "^3.25.76 || ^4",
|
|
230
|
-
"@langchain/
|
|
231
|
-
"@langchain/
|
|
230
|
+
"@langchain/textsplitters": "1.0.1",
|
|
231
|
+
"@langchain/openai": "1.3.0-dev-1773698445534"
|
|
232
232
|
},
|
|
233
233
|
"optionalDependencies": {
|
|
234
234
|
"langsmith": ">=0.4.0 <1.0.0"
|
|
@@ -1290,6 +1290,10 @@
|
|
|
1290
1290
|
"./package.json": "./package.json"
|
|
1291
1291
|
},
|
|
1292
1292
|
"module": "./dist/index.js",
|
|
1293
|
+
"inlinedDependencies": {
|
|
1294
|
+
"langsmith": "0.5.9",
|
|
1295
|
+
"p-queue": "6.6.2"
|
|
1296
|
+
},
|
|
1293
1297
|
"scripts": {
|
|
1294
1298
|
"build": "turbo build:compile --filter @langchain/classic --output-logs new-only",
|
|
1295
1299
|
"build:compile": "tsdown",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("../../dist/agents/format_scratchpad/log.cjs");
|