@langchain/classic 1.0.39 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/agents/agent.cjs +1 -1
- package/dist/agents/agent.cjs.map +1 -1
- package/dist/agents/agent.d.cts +1 -2
- package/dist/agents/agent.d.cts.map +1 -1
- package/dist/agents/agent.d.ts +1 -2
- package/dist/agents/agent.d.ts.map +1 -1
- package/dist/agents/agent.js +1 -1
- package/dist/agents/agent.js.map +1 -1
- package/dist/agents/chat/index.cjs +8 -7
- package/dist/agents/chat/index.cjs.map +1 -1
- package/dist/agents/chat/index.d.cts +0 -1
- package/dist/agents/chat/index.d.cts.map +1 -1
- package/dist/agents/chat/index.d.ts +0 -1
- package/dist/agents/chat/index.d.ts.map +1 -1
- package/dist/agents/chat/index.js +8 -6
- package/dist/agents/chat/index.js.map +1 -1
- package/dist/agents/chat/outputParser.cjs +1 -1
- package/dist/agents/chat/outputParser.cjs.map +1 -1
- package/dist/agents/chat/outputParser.d.cts +0 -1
- package/dist/agents/chat/outputParser.d.cts.map +1 -1
- package/dist/agents/chat/outputParser.d.ts +0 -1
- package/dist/agents/chat/outputParser.d.ts.map +1 -1
- package/dist/agents/chat/outputParser.js +1 -1
- package/dist/agents/chat/outputParser.js.map +1 -1
- package/dist/agents/chat_convo/index.cjs +9 -9
- package/dist/agents/chat_convo/index.cjs.map +1 -1
- package/dist/agents/chat_convo/index.d.cts +0 -1
- package/dist/agents/chat_convo/index.d.cts.map +1 -1
- package/dist/agents/chat_convo/index.d.ts +0 -1
- package/dist/agents/chat_convo/index.d.ts.map +1 -1
- package/dist/agents/chat_convo/index.js +9 -8
- package/dist/agents/chat_convo/index.js.map +1 -1
- package/dist/agents/chat_convo/outputParser.cjs +2 -2
- package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
- package/dist/agents/chat_convo/outputParser.d.cts +0 -1
- package/dist/agents/chat_convo/outputParser.d.cts.map +1 -1
- package/dist/agents/chat_convo/outputParser.d.ts +0 -1
- package/dist/agents/chat_convo/outputParser.d.ts.map +1 -1
- package/dist/agents/chat_convo/outputParser.js +2 -1
- package/dist/agents/chat_convo/outputParser.js.map +1 -1
- package/dist/agents/executor.cjs +2 -1
- package/dist/agents/executor.cjs.map +1 -1
- package/dist/agents/executor.d.cts +10 -10
- package/dist/agents/executor.d.cts.map +1 -1
- package/dist/agents/executor.d.ts +10 -10
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +1 -1
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/format_scratchpad/log.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log.d.cts +0 -1
- package/dist/agents/format_scratchpad/log.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/log.d.ts +0 -1
- package/dist/agents/format_scratchpad/log.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/log.js.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.d.cts +0 -1
- package/dist/agents/format_scratchpad/log_to_message.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.d.ts +0 -1
- package/dist/agents/format_scratchpad/log_to_message.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.d.cts +0 -1
- package/dist/agents/format_scratchpad/openai_functions.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.d.ts +0 -1
- package/dist/agents/format_scratchpad/openai_functions.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.cjs +1 -1
- package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.d.cts +0 -1
- package/dist/agents/format_scratchpad/tool_calling.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.d.ts +0 -1
- package/dist/agents/format_scratchpad/tool_calling.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.js +1 -1
- package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
- package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
- package/dist/agents/format_scratchpad/xml.d.cts +0 -1
- package/dist/agents/format_scratchpad/xml.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/xml.d.ts +0 -1
- package/dist/agents/format_scratchpad/xml.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/xml.js.map +1 -1
- package/dist/agents/helpers.cjs.map +1 -1
- package/dist/agents/helpers.js.map +1 -1
- package/dist/agents/index.d.cts +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/initialize.cjs.map +1 -1
- package/dist/agents/initialize.d.cts +0 -1
- package/dist/agents/initialize.d.cts.map +1 -1
- package/dist/agents/initialize.d.ts +0 -1
- package/dist/agents/initialize.d.ts.map +1 -1
- package/dist/agents/initialize.js.map +1 -1
- package/dist/agents/load.cjs +1 -1
- package/dist/agents/load.cjs.map +1 -1
- package/dist/agents/load.d.cts +0 -1
- package/dist/agents/load.d.cts.map +1 -1
- package/dist/agents/load.d.ts +0 -1
- package/dist/agents/load.d.ts.map +1 -1
- package/dist/agents/load.js +1 -1
- package/dist/agents/load.js.map +1 -1
- package/dist/agents/mrkl/index.cjs +6 -6
- package/dist/agents/mrkl/index.cjs.map +1 -1
- package/dist/agents/mrkl/index.d.cts +0 -1
- package/dist/agents/mrkl/index.d.cts.map +1 -1
- package/dist/agents/mrkl/index.d.ts +0 -1
- package/dist/agents/mrkl/index.d.ts.map +1 -1
- package/dist/agents/mrkl/index.js +6 -5
- package/dist/agents/mrkl/index.js.map +1 -1
- package/dist/agents/mrkl/outputParser.cjs +3 -1
- package/dist/agents/mrkl/outputParser.cjs.map +1 -1
- package/dist/agents/mrkl/outputParser.d.cts +1 -2
- package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
- package/dist/agents/mrkl/outputParser.d.ts +1 -2
- package/dist/agents/mrkl/outputParser.d.ts.map +1 -1
- package/dist/agents/mrkl/outputParser.js +3 -1
- package/dist/agents/mrkl/outputParser.js.map +1 -1
- package/dist/agents/openai/output_parser.d.cts +1 -1
- package/dist/agents/openai/output_parser.d.ts +1 -1
- package/dist/agents/openai_functions/index.cjs +6 -6
- package/dist/agents/openai_functions/index.cjs.map +1 -1
- package/dist/agents/openai_functions/index.d.cts +6 -9
- package/dist/agents/openai_functions/index.d.cts.map +1 -1
- package/dist/agents/openai_functions/index.d.ts +6 -9
- package/dist/agents/openai_functions/index.d.ts.map +1 -1
- package/dist/agents/openai_functions/index.js +6 -5
- package/dist/agents/openai_functions/index.js.map +1 -1
- package/dist/agents/openai_functions/output_parser.cjs +0 -1
- package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
- package/dist/agents/openai_functions/output_parser.d.cts +0 -1
- package/dist/agents/openai_functions/output_parser.d.cts.map +1 -1
- package/dist/agents/openai_functions/output_parser.d.ts +0 -1
- package/dist/agents/openai_functions/output_parser.d.ts.map +1 -1
- package/dist/agents/openai_functions/output_parser.js.map +1 -1
- package/dist/agents/openai_tools/index.cjs +1 -1
- package/dist/agents/openai_tools/index.cjs.map +1 -1
- package/dist/agents/openai_tools/index.d.cts +7 -12
- package/dist/agents/openai_tools/index.d.cts.map +1 -1
- package/dist/agents/openai_tools/index.d.ts +7 -12
- package/dist/agents/openai_tools/index.d.ts.map +1 -1
- package/dist/agents/openai_tools/index.js +1 -1
- package/dist/agents/openai_tools/index.js.map +1 -1
- package/dist/agents/openai_tools/output_parser.cjs +0 -1
- package/dist/agents/openai_tools/output_parser.cjs.map +1 -1
- package/dist/agents/openai_tools/output_parser.d.cts +1 -2
- package/dist/agents/openai_tools/output_parser.d.cts.map +1 -1
- package/dist/agents/openai_tools/output_parser.d.ts +1 -2
- package/dist/agents/openai_tools/output_parser.d.ts.map +1 -1
- package/dist/agents/openai_tools/output_parser.js.map +1 -1
- package/dist/agents/react/index.cjs +0 -1
- package/dist/agents/react/index.cjs.map +1 -1
- package/dist/agents/react/index.d.cts +5 -10
- package/dist/agents/react/index.d.cts.map +1 -1
- package/dist/agents/react/index.d.ts +5 -10
- package/dist/agents/react/index.d.ts.map +1 -1
- package/dist/agents/react/index.js.map +1 -1
- package/dist/agents/react/output_parser.cjs.map +1 -1
- package/dist/agents/react/output_parser.d.cts +0 -1
- package/dist/agents/react/output_parser.d.cts.map +1 -1
- package/dist/agents/react/output_parser.d.ts +0 -1
- package/dist/agents/react/output_parser.d.ts.map +1 -1
- package/dist/agents/react/output_parser.js.map +1 -1
- package/dist/agents/structured_chat/index.cjs +6 -6
- package/dist/agents/structured_chat/index.cjs.map +1 -1
- package/dist/agents/structured_chat/index.d.cts +5 -10
- package/dist/agents/structured_chat/index.d.cts.map +1 -1
- package/dist/agents/structured_chat/index.d.ts +5 -10
- package/dist/agents/structured_chat/index.d.ts.map +1 -1
- package/dist/agents/structured_chat/index.js +6 -5
- package/dist/agents/structured_chat/index.js.map +1 -1
- package/dist/agents/structured_chat/outputParser.cjs +2 -2
- package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
- package/dist/agents/structured_chat/outputParser.d.cts +0 -1
- package/dist/agents/structured_chat/outputParser.d.cts.map +1 -1
- package/dist/agents/structured_chat/outputParser.d.ts +0 -1
- package/dist/agents/structured_chat/outputParser.d.ts.map +1 -1
- package/dist/agents/structured_chat/outputParser.js +2 -1
- package/dist/agents/structured_chat/outputParser.js.map +1 -1
- package/dist/agents/tool_calling/index.cjs +0 -1
- package/dist/agents/tool_calling/index.cjs.map +1 -1
- package/dist/agents/tool_calling/index.d.cts +6 -11
- package/dist/agents/tool_calling/index.d.cts.map +1 -1
- package/dist/agents/tool_calling/index.d.ts +6 -11
- package/dist/agents/tool_calling/index.d.ts.map +1 -1
- package/dist/agents/tool_calling/index.js.map +1 -1
- package/dist/agents/tool_calling/output_parser.cjs +1 -1
- package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
- package/dist/agents/tool_calling/output_parser.d.cts +1 -1
- package/dist/agents/tool_calling/output_parser.d.cts.map +1 -1
- package/dist/agents/tool_calling/output_parser.d.ts +1 -1
- package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
- package/dist/agents/tool_calling/output_parser.js +1 -1
- package/dist/agents/tool_calling/output_parser.js.map +1 -1
- package/dist/agents/toolkits/base.cjs +0 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts +0 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +0 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +0 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts +2 -4
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +2 -4
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs +0 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.cts +0 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.ts +0 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.ts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
- package/dist/agents/toolkits/json/json.cjs +1 -1
- package/dist/agents/toolkits/json/json.cjs.map +1 -1
- package/dist/agents/toolkits/json/json.d.cts +0 -1
- package/dist/agents/toolkits/json/json.d.cts.map +1 -1
- package/dist/agents/toolkits/json/json.d.ts +0 -1
- package/dist/agents/toolkits/json/json.d.ts.map +1 -1
- package/dist/agents/toolkits/json/json.js +1 -0
- package/dist/agents/toolkits/json/json.js.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.cjs +0 -1
- package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.d.cts +0 -1
- package/dist/agents/toolkits/openapi/openapi.d.cts.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.d.ts +0 -1
- package/dist/agents/toolkits/openapi/openapi.d.ts.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
- package/dist/agents/toolkits/sql/prompt.d.cts.map +1 -1
- package/dist/agents/toolkits/sql/prompt.d.ts.map +1 -1
- package/dist/agents/toolkits/sql/sql.cjs +0 -1
- package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
- package/dist/agents/toolkits/sql/sql.d.cts +0 -1
- package/dist/agents/toolkits/sql/sql.d.cts.map +1 -1
- package/dist/agents/toolkits/sql/sql.d.ts +0 -1
- package/dist/agents/toolkits/sql/sql.d.ts.map +1 -1
- package/dist/agents/toolkits/sql/sql.js.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs +0 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.cts +0 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.cts.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +0 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.ts.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
- package/dist/agents/types.cjs +0 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +1 -2
- package/dist/agents/types.d.cts.map +1 -1
- package/dist/agents/types.d.ts +1 -2
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js.map +1 -1
- package/dist/agents/xml/index.cjs +6 -6
- package/dist/agents/xml/index.cjs.map +1 -1
- package/dist/agents/xml/index.d.cts +4 -8
- package/dist/agents/xml/index.d.cts.map +1 -1
- package/dist/agents/xml/index.d.ts +4 -8
- package/dist/agents/xml/index.d.ts.map +1 -1
- package/dist/agents/xml/index.js +6 -5
- package/dist/agents/xml/index.js.map +1 -1
- package/dist/agents/xml/output_parser.cjs.map +1 -1
- package/dist/agents/xml/output_parser.d.cts +0 -1
- package/dist/agents/xml/output_parser.d.cts.map +1 -1
- package/dist/agents/xml/output_parser.d.ts +0 -1
- package/dist/agents/xml/output_parser.d.ts.map +1 -1
- package/dist/agents/xml/output_parser.js.map +1 -1
- package/dist/cache/file_system.cjs.map +1 -1
- package/dist/cache/file_system.d.cts +0 -1
- package/dist/cache/file_system.d.cts.map +1 -1
- package/dist/cache/file_system.d.ts +0 -1
- package/dist/cache/file_system.d.ts.map +1 -1
- package/dist/cache/file_system.js.map +1 -1
- package/dist/callbacks/handlers/console.d.cts +0 -3
- package/dist/callbacks/handlers/console.d.ts +0 -3
- package/dist/callbacks/handlers/run_collector.d.cts +0 -3
- package/dist/callbacks/handlers/run_collector.d.ts +0 -3
- package/dist/callbacks/handlers/tracer.d.cts +0 -3
- package/dist/callbacks/handlers/tracer.d.ts +0 -3
- package/dist/callbacks/handlers/tracer_langchain.d.cts +0 -3
- package/dist/callbacks/handlers/tracer_langchain.d.ts +0 -3
- package/dist/callbacks/promises.d.cts +0 -3
- package/dist/callbacks/promises.d.ts +0 -3
- package/dist/chains/analyze_documents_chain.cjs +0 -1
- package/dist/chains/analyze_documents_chain.cjs.map +1 -1
- package/dist/chains/analyze_documents_chain.d.cts +1 -2
- package/dist/chains/analyze_documents_chain.d.cts.map +1 -1
- package/dist/chains/analyze_documents_chain.d.ts +1 -2
- package/dist/chains/analyze_documents_chain.d.ts.map +1 -1
- package/dist/chains/analyze_documents_chain.js.map +1 -1
- package/dist/chains/api/api_chain.cjs.map +1 -1
- package/dist/chains/api/api_chain.d.cts +0 -1
- package/dist/chains/api/api_chain.d.cts.map +1 -1
- package/dist/chains/api/api_chain.d.ts +0 -1
- package/dist/chains/api/api_chain.d.ts.map +1 -1
- package/dist/chains/api/api_chain.js.map +1 -1
- package/dist/chains/api/prompts.cjs +4 -3
- package/dist/chains/api/prompts.cjs.map +1 -1
- package/dist/chains/api/prompts.js +12 -11
- package/dist/chains/api/prompts.js.map +1 -1
- package/dist/chains/base.cjs +0 -1
- package/dist/chains/base.cjs.map +1 -1
- package/dist/chains/base.d.cts +7 -8
- package/dist/chains/base.d.cts.map +1 -1
- package/dist/chains/base.d.ts +7 -8
- package/dist/chains/base.d.ts.map +1 -1
- package/dist/chains/base.js.map +1 -1
- package/dist/chains/chat_vector_db_chain.cjs +0 -1
- package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
- package/dist/chains/chat_vector_db_chain.d.cts +1 -2
- package/dist/chains/chat_vector_db_chain.d.cts.map +1 -1
- package/dist/chains/chat_vector_db_chain.d.ts +1 -2
- package/dist/chains/chat_vector_db_chain.d.ts.map +1 -1
- package/dist/chains/chat_vector_db_chain.js.map +1 -1
- package/dist/chains/combine_docs_chain.cjs +1 -2
- package/dist/chains/combine_docs_chain.cjs.map +1 -1
- package/dist/chains/combine_docs_chain.d.cts +1 -3
- package/dist/chains/combine_docs_chain.d.cts.map +1 -1
- package/dist/chains/combine_docs_chain.d.ts +1 -3
- package/dist/chains/combine_docs_chain.d.ts.map +1 -1
- package/dist/chains/combine_docs_chain.js +1 -1
- package/dist/chains/combine_docs_chain.js.map +1 -1
- package/dist/chains/combine_documents/base.cjs +1 -2
- package/dist/chains/combine_documents/base.cjs.map +1 -1
- package/dist/chains/combine_documents/base.js +1 -1
- package/dist/chains/combine_documents/base.js.map +1 -1
- package/dist/chains/combine_documents/reduce.cjs.map +1 -1
- package/dist/chains/combine_documents/reduce.d.cts +0 -1
- package/dist/chains/combine_documents/reduce.d.cts.map +1 -1
- package/dist/chains/combine_documents/reduce.d.ts +0 -1
- package/dist/chains/combine_documents/reduce.d.ts.map +1 -1
- package/dist/chains/combine_documents/reduce.js.map +1 -1
- package/dist/chains/combine_documents/stuff.cjs +0 -1
- package/dist/chains/combine_documents/stuff.cjs.map +1 -1
- package/dist/chains/combine_documents/stuff.d.cts +1 -8
- package/dist/chains/combine_documents/stuff.d.cts.map +1 -1
- package/dist/chains/combine_documents/stuff.d.ts +1 -8
- package/dist/chains/combine_documents/stuff.d.ts.map +1 -1
- package/dist/chains/combine_documents/stuff.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.cjs +54 -54
- package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.cts +1 -6
- package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts +1 -6
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.js +54 -54
- package/dist/chains/constitutional_ai/constitutional_principle.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -4
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.js +4 -4
- package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
- package/dist/chains/conversation.cjs +0 -1
- package/dist/chains/conversation.cjs.map +1 -1
- package/dist/chains/conversation.d.cts +1 -7
- package/dist/chains/conversation.d.cts.map +1 -1
- package/dist/chains/conversation.d.ts +1 -7
- package/dist/chains/conversation.d.ts.map +1 -1
- package/dist/chains/conversation.js.map +1 -1
- package/dist/chains/conversational_retrieval_chain.cjs +0 -1
- package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
- package/dist/chains/conversational_retrieval_chain.d.cts +5 -4
- package/dist/chains/conversational_retrieval_chain.d.cts.map +1 -1
- package/dist/chains/conversational_retrieval_chain.d.ts +5 -4
- package/dist/chains/conversational_retrieval_chain.d.ts.map +1 -1
- package/dist/chains/conversational_retrieval_chain.js.map +1 -1
- package/dist/chains/graph_qa/cypher.cjs +5 -4
- package/dist/chains/graph_qa/cypher.cjs.map +1 -1
- package/dist/chains/graph_qa/cypher.d.cts +0 -1
- package/dist/chains/graph_qa/cypher.d.cts.map +1 -1
- package/dist/chains/graph_qa/cypher.d.ts +0 -1
- package/dist/chains/graph_qa/cypher.d.ts.map +1 -1
- package/dist/chains/graph_qa/cypher.js +5 -4
- package/dist/chains/graph_qa/cypher.js.map +1 -1
- package/dist/chains/graph_qa/prompts.cjs +2 -3
- package/dist/chains/graph_qa/prompts.cjs.map +1 -1
- package/dist/chains/graph_qa/prompts.js +2 -2
- package/dist/chains/graph_qa/prompts.js.map +1 -1
- package/dist/chains/history_aware_retriever.cjs.map +1 -1
- package/dist/chains/history_aware_retriever.d.cts +1 -6
- package/dist/chains/history_aware_retriever.d.cts.map +1 -1
- package/dist/chains/history_aware_retriever.d.ts +1 -6
- package/dist/chains/history_aware_retriever.d.ts.map +1 -1
- package/dist/chains/history_aware_retriever.js.map +1 -1
- package/dist/chains/llm_chain.cjs +0 -1
- package/dist/chains/llm_chain.cjs.map +1 -1
- package/dist/chains/llm_chain.d.cts +0 -1
- package/dist/chains/llm_chain.d.cts.map +1 -1
- package/dist/chains/llm_chain.d.ts +0 -1
- package/dist/chains/llm_chain.d.ts.map +1 -1
- package/dist/chains/llm_chain.js.map +1 -1
- package/dist/chains/load.cjs +1 -1
- package/dist/chains/load.cjs.map +1 -1
- package/dist/chains/load.d.cts +0 -1
- package/dist/chains/load.d.cts.map +1 -1
- package/dist/chains/load.d.ts +0 -1
- package/dist/chains/load.d.ts.map +1 -1
- package/dist/chains/load.js +1 -1
- package/dist/chains/load.js.map +1 -1
- package/dist/chains/openai_functions/base.cjs +0 -1
- package/dist/chains/openai_functions/base.cjs.map +1 -1
- package/dist/chains/openai_functions/base.d.cts +6 -4
- package/dist/chains/openai_functions/base.d.cts.map +1 -1
- package/dist/chains/openai_functions/base.d.ts +6 -4
- package/dist/chains/openai_functions/base.d.ts.map +1 -1
- package/dist/chains/openai_functions/base.js.map +1 -1
- package/dist/chains/openai_functions/extraction.cjs +0 -1
- package/dist/chains/openai_functions/extraction.cjs.map +1 -1
- package/dist/chains/openai_functions/extraction.d.cts +0 -1
- package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
- package/dist/chains/openai_functions/extraction.d.ts +0 -1
- package/dist/chains/openai_functions/extraction.d.ts.map +1 -1
- package/dist/chains/openai_functions/extraction.js.map +1 -1
- package/dist/chains/openai_functions/openapi.cjs +1 -1
- package/dist/chains/openai_functions/openapi.cjs.map +1 -1
- package/dist/chains/openai_functions/openapi.d.cts +0 -7
- package/dist/chains/openai_functions/openapi.d.cts.map +1 -1
- package/dist/chains/openai_functions/openapi.d.ts +0 -7
- package/dist/chains/openai_functions/openapi.d.ts.map +1 -1
- package/dist/chains/openai_functions/openapi.js +1 -1
- package/dist/chains/openai_functions/openapi.js.map +1 -1
- package/dist/chains/openai_functions/tagging.cjs +0 -1
- package/dist/chains/openai_functions/tagging.cjs.map +1 -1
- package/dist/chains/openai_functions/tagging.d.cts +0 -1
- package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
- package/dist/chains/openai_functions/tagging.d.ts +0 -1
- package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
- package/dist/chains/openai_functions/tagging.js.map +1 -1
- package/dist/chains/openai_moderation.cjs +0 -1
- package/dist/chains/openai_moderation.cjs.map +1 -1
- package/dist/chains/openai_moderation.d.cts +0 -1
- package/dist/chains/openai_moderation.d.cts.map +1 -1
- package/dist/chains/openai_moderation.d.ts +0 -1
- package/dist/chains/openai_moderation.d.ts.map +1 -1
- package/dist/chains/openai_moderation.js.map +1 -1
- package/dist/chains/query_constructor/index.cjs +6 -3
- package/dist/chains/query_constructor/index.cjs.map +1 -1
- package/dist/chains/query_constructor/index.d.cts +1 -5
- package/dist/chains/query_constructor/index.d.cts.map +1 -1
- package/dist/chains/query_constructor/index.d.ts +1 -5
- package/dist/chains/query_constructor/index.d.ts.map +1 -1
- package/dist/chains/query_constructor/index.js +6 -3
- package/dist/chains/query_constructor/index.js.map +1 -1
- package/dist/chains/query_constructor/parser.cjs +2 -1
- package/dist/chains/query_constructor/parser.cjs.map +1 -1
- package/dist/chains/query_constructor/parser.d.cts +0 -1
- package/dist/chains/query_constructor/parser.d.cts.map +1 -1
- package/dist/chains/query_constructor/parser.d.ts +0 -1
- package/dist/chains/query_constructor/parser.d.ts.map +1 -1
- package/dist/chains/query_constructor/parser.js +2 -0
- package/dist/chains/query_constructor/parser.js.map +1 -1
- package/dist/chains/query_constructor/prompt.cjs +28 -22
- package/dist/chains/query_constructor/prompt.cjs.map +1 -1
- package/dist/chains/query_constructor/prompt.d.cts +0 -1
- package/dist/chains/query_constructor/prompt.d.cts.map +1 -1
- package/dist/chains/query_constructor/prompt.d.ts +0 -1
- package/dist/chains/query_constructor/prompt.d.ts.map +1 -1
- package/dist/chains/query_constructor/prompt.js +25 -22
- package/dist/chains/query_constructor/prompt.js.map +1 -1
- package/dist/chains/question_answering/load.cjs.map +1 -1
- package/dist/chains/question_answering/load.d.cts +0 -1
- package/dist/chains/question_answering/load.d.cts.map +1 -1
- package/dist/chains/question_answering/load.d.ts +0 -1
- package/dist/chains/question_answering/load.d.ts.map +1 -1
- package/dist/chains/question_answering/load.js.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.cjs +12 -11
- package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.js +9 -9
- package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
- package/dist/chains/question_answering/refine_prompts.cjs +30 -22
- package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/refine_prompts.js +25 -20
- package/dist/chains/question_answering/refine_prompts.js.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.cjs +6 -6
- package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.js +5 -5
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
- package/dist/chains/retrieval.cjs.map +1 -1
- package/dist/chains/retrieval.d.cts +1 -5
- package/dist/chains/retrieval.d.cts.map +1 -1
- package/dist/chains/retrieval.d.ts +1 -5
- package/dist/chains/retrieval.d.ts.map +1 -1
- package/dist/chains/retrieval.js.map +1 -1
- package/dist/chains/retrieval_qa.cjs.map +1 -1
- package/dist/chains/retrieval_qa.d.cts +1 -2
- package/dist/chains/retrieval_qa.d.cts.map +1 -1
- package/dist/chains/retrieval_qa.d.ts +1 -2
- package/dist/chains/retrieval_qa.d.ts.map +1 -1
- package/dist/chains/retrieval_qa.js.map +1 -1
- package/dist/chains/router/llm_router.cjs.map +1 -1
- package/dist/chains/router/llm_router.d.cts +0 -1
- package/dist/chains/router/llm_router.d.cts.map +1 -1
- package/dist/chains/router/llm_router.d.ts +0 -1
- package/dist/chains/router/llm_router.d.ts.map +1 -1
- package/dist/chains/router/llm_router.js.map +1 -1
- package/dist/chains/router/multi_prompt.cjs +0 -1
- package/dist/chains/router/multi_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt.d.cts +1 -10
- package/dist/chains/router/multi_prompt.d.cts.map +1 -1
- package/dist/chains/router/multi_prompt.d.ts +1 -10
- package/dist/chains/router/multi_prompt.d.ts.map +1 -1
- package/dist/chains/router/multi_prompt.js.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.cjs +0 -1
- package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.d.cts +2 -11
- package/dist/chains/router/multi_retrieval_qa.d.cts.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.d.ts +2 -11
- package/dist/chains/router/multi_retrieval_qa.d.ts.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
- package/dist/chains/router/multi_route.cjs.map +1 -1
- package/dist/chains/router/multi_route.d.cts +1 -2
- package/dist/chains/router/multi_route.d.cts.map +1 -1
- package/dist/chains/router/multi_route.d.ts +1 -2
- package/dist/chains/router/multi_route.d.ts.map +1 -1
- package/dist/chains/router/multi_route.js.map +1 -1
- package/dist/chains/router/utils.cjs.map +1 -1
- package/dist/chains/router/utils.js.map +1 -1
- package/dist/chains/sequential_chain.cjs.map +1 -1
- package/dist/chains/sequential_chain.d.cts +0 -4
- package/dist/chains/sequential_chain.d.cts.map +1 -1
- package/dist/chains/sequential_chain.d.ts +0 -4
- package/dist/chains/sequential_chain.d.ts.map +1 -1
- package/dist/chains/sequential_chain.js.map +1 -1
- package/dist/chains/serde.d.cts +1 -2
- package/dist/chains/serde.d.cts.map +1 -1
- package/dist/chains/serde.d.ts +1 -2
- package/dist/chains/serde.d.ts.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.cjs +1 -2
- package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.d.cts +9 -8
- package/dist/chains/sql_db/sql_db_chain.d.cts.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.d.ts +9 -8
- package/dist/chains/sql_db/sql_db_chain.d.ts.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.js +1 -1
- package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.cjs +7 -8
- package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -1
- package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -1
- package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.js +7 -7
- package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
- package/dist/chains/summarization/load.cjs.map +1 -1
- package/dist/chains/summarization/load.d.cts +0 -1
- package/dist/chains/summarization/load.d.cts.map +1 -1
- package/dist/chains/summarization/load.d.ts +0 -1
- package/dist/chains/summarization/load.d.ts.map +1 -1
- package/dist/chains/summarization/load.js.map +1 -1
- package/dist/chains/summarization/refine_prompts.cjs +1 -2
- package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
- package/dist/chains/summarization/refine_prompts.js +1 -1
- package/dist/chains/summarization/refine_prompts.js.map +1 -1
- package/dist/chains/summarization/stuff_prompts.cjs +1 -2
- package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
- package/dist/chains/summarization/stuff_prompts.js +1 -1
- package/dist/chains/summarization/stuff_prompts.js.map +1 -1
- package/dist/chains/transform.cjs.map +1 -1
- package/dist/chains/transform.d.cts +0 -1
- package/dist/chains/transform.d.cts.map +1 -1
- package/dist/chains/transform.d.ts +0 -1
- package/dist/chains/transform.d.ts.map +1 -1
- package/dist/chains/transform.js.map +1 -1
- package/dist/chains/vector_db_qa.cjs.map +1 -1
- package/dist/chains/vector_db_qa.d.cts +1 -2
- package/dist/chains/vector_db_qa.d.cts.map +1 -1
- package/dist/chains/vector_db_qa.d.ts +1 -2
- package/dist/chains/vector_db_qa.d.ts.map +1 -1
- package/dist/chains/vector_db_qa.js.map +1 -1
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.d.cts +0 -1
- package/dist/chat_models/universal.d.cts.map +1 -1
- package/dist/chat_models/universal.d.ts +0 -1
- package/dist/chat_models/universal.d.ts.map +1 -1
- package/dist/chat_models/universal.js.map +1 -1
- package/dist/document_loaders/fs/buffer.cjs +1 -0
- package/dist/document_loaders/fs/buffer.cjs.map +1 -1
- package/dist/document_loaders/fs/buffer.d.cts +0 -1
- package/dist/document_loaders/fs/buffer.d.cts.map +1 -1
- package/dist/document_loaders/fs/buffer.d.ts +0 -1
- package/dist/document_loaders/fs/buffer.d.ts.map +1 -1
- package/dist/document_loaders/fs/buffer.js +1 -0
- package/dist/document_loaders/fs/buffer.js.map +1 -1
- package/dist/document_loaders/fs/directory.cjs +4 -0
- package/dist/document_loaders/fs/directory.cjs.map +1 -1
- package/dist/document_loaders/fs/directory.d.cts +0 -1
- package/dist/document_loaders/fs/directory.d.cts.map +1 -1
- package/dist/document_loaders/fs/directory.d.ts +0 -1
- package/dist/document_loaders/fs/directory.d.ts.map +1 -1
- package/dist/document_loaders/fs/directory.js +4 -0
- package/dist/document_loaders/fs/directory.js.map +1 -1
- package/dist/document_loaders/fs/json.cjs +1 -0
- package/dist/document_loaders/fs/json.cjs.map +1 -1
- package/dist/document_loaders/fs/json.d.cts +0 -1
- package/dist/document_loaders/fs/json.d.cts.map +1 -1
- package/dist/document_loaders/fs/json.d.ts +0 -1
- package/dist/document_loaders/fs/json.d.ts.map +1 -1
- package/dist/document_loaders/fs/json.js +1 -0
- package/dist/document_loaders/fs/json.js.map +1 -1
- package/dist/document_loaders/fs/multi_file.cjs +3 -0
- package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
- package/dist/document_loaders/fs/multi_file.d.cts +0 -1
- package/dist/document_loaders/fs/multi_file.d.cts.map +1 -1
- package/dist/document_loaders/fs/multi_file.d.ts +0 -1
- package/dist/document_loaders/fs/multi_file.d.ts.map +1 -1
- package/dist/document_loaders/fs/multi_file.js +3 -0
- package/dist/document_loaders/fs/multi_file.js.map +1 -1
- package/dist/document_loaders/fs/text.cjs +1 -0
- package/dist/document_loaders/fs/text.cjs.map +1 -1
- package/dist/document_loaders/fs/text.d.cts +0 -1
- package/dist/document_loaders/fs/text.d.cts.map +1 -1
- package/dist/document_loaders/fs/text.d.ts +0 -1
- package/dist/document_loaders/fs/text.d.ts.map +1 -1
- package/dist/document_loaders/fs/text.js +1 -0
- package/dist/document_loaders/fs/text.js.map +1 -1
- package/dist/document_transformers/openai_functions.cjs.map +1 -1
- package/dist/document_transformers/openai_functions.d.cts +1 -1
- package/dist/document_transformers/openai_functions.d.cts.map +1 -1
- package/dist/document_transformers/openai_functions.d.ts +1 -1
- package/dist/document_transformers/openai_functions.d.ts.map +1 -1
- package/dist/document_transformers/openai_functions.js.map +1 -1
- package/dist/embeddings/cache_backed.cjs.map +1 -1
- package/dist/embeddings/cache_backed.d.cts +0 -1
- package/dist/embeddings/cache_backed.d.cts.map +1 -1
- package/dist/embeddings/cache_backed.d.ts +0 -1
- package/dist/embeddings/cache_backed.d.ts.map +1 -1
- package/dist/embeddings/cache_backed.js.map +1 -1
- package/dist/evaluation/agents/index.cjs +3 -1
- package/dist/evaluation/agents/index.d.cts +2 -1
- package/dist/evaluation/agents/index.d.ts +2 -1
- package/dist/evaluation/agents/index.js +2 -2
- package/dist/evaluation/agents/prompt.cjs +10 -11
- package/dist/evaluation/agents/prompt.cjs.map +1 -1
- package/dist/evaluation/agents/prompt.js +10 -10
- package/dist/evaluation/agents/prompt.js.map +1 -1
- package/dist/evaluation/agents/trajectory.cjs +0 -1
- package/dist/evaluation/agents/trajectory.cjs.map +1 -1
- package/dist/evaluation/agents/trajectory.d.cts +1 -3
- package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
- package/dist/evaluation/agents/trajectory.d.ts +1 -3
- package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
- package/dist/evaluation/agents/trajectory.js.map +1 -1
- package/dist/evaluation/base.cjs +2 -0
- package/dist/evaluation/base.cjs.map +1 -1
- package/dist/evaluation/base.d.cts +2 -2
- package/dist/evaluation/base.d.cts.map +1 -1
- package/dist/evaluation/base.d.ts +2 -2
- package/dist/evaluation/base.d.ts.map +1 -1
- package/dist/evaluation/base.js +1 -1
- package/dist/evaluation/base.js.map +1 -1
- package/dist/evaluation/comparison/index.cjs +4 -1
- package/dist/evaluation/comparison/index.d.cts +2 -1
- package/dist/evaluation/comparison/index.d.ts +2 -1
- package/dist/evaluation/comparison/index.js +2 -2
- package/dist/evaluation/comparison/pairwise.cjs +2 -3
- package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.cts +2 -4
- package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.ts +2 -4
- package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
- package/dist/evaluation/comparison/pairwise.js +2 -2
- package/dist/evaluation/comparison/pairwise.js.map +1 -1
- package/dist/evaluation/comparison/prompt.cjs +2 -3
- package/dist/evaluation/comparison/prompt.cjs.map +1 -1
- package/dist/evaluation/comparison/prompt.js +2 -2
- package/dist/evaluation/comparison/prompt.js.map +1 -1
- package/dist/evaluation/criteria/criteria.cjs +2 -3
- package/dist/evaluation/criteria/criteria.cjs.map +1 -1
- package/dist/evaluation/criteria/criteria.d.cts +3 -9
- package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.ts +3 -9
- package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
- package/dist/evaluation/criteria/criteria.js +2 -2
- package/dist/evaluation/criteria/criteria.js.map +1 -1
- package/dist/evaluation/criteria/index.cjs +4 -1
- package/dist/evaluation/criteria/index.d.cts +2 -1
- package/dist/evaluation/criteria/index.d.ts +2 -1
- package/dist/evaluation/criteria/index.js +2 -2
- package/dist/evaluation/criteria/prompt.cjs +2 -3
- package/dist/evaluation/criteria/prompt.cjs.map +1 -1
- package/dist/evaluation/criteria/prompt.js +2 -2
- package/dist/evaluation/criteria/prompt.js.map +1 -1
- package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
- package/dist/evaluation/embedding_distance/base.d.cts +0 -1
- package/dist/evaluation/embedding_distance/base.d.cts.map +1 -1
- package/dist/evaluation/embedding_distance/base.d.ts +0 -1
- package/dist/evaluation/embedding_distance/base.d.ts.map +1 -1
- package/dist/evaluation/embedding_distance/base.js.map +1 -1
- package/dist/evaluation/embedding_distance/index.cjs +5 -1
- package/dist/evaluation/embedding_distance/index.d.cts +2 -1
- package/dist/evaluation/embedding_distance/index.d.ts +2 -1
- package/dist/evaluation/embedding_distance/index.js +2 -2
- package/dist/evaluation/index.d.cts +5 -0
- package/dist/evaluation/index.d.ts +5 -0
- package/dist/evaluation/loader.cjs +0 -1
- package/dist/evaluation/loader.cjs.map +1 -1
- package/dist/evaluation/loader.d.cts +2 -1
- package/dist/evaluation/loader.d.cts.map +1 -1
- package/dist/evaluation/loader.d.ts +2 -1
- package/dist/evaluation/loader.d.ts.map +1 -1
- package/dist/evaluation/loader.js.map +1 -1
- package/dist/evaluation/qa/eval_chain.cjs +3 -2
- package/dist/evaluation/qa/eval_chain.cjs.map +1 -1
- package/dist/evaluation/qa/eval_chain.d.cts +1 -2
- package/dist/evaluation/qa/eval_chain.d.cts.map +1 -1
- package/dist/evaluation/qa/eval_chain.d.ts +1 -2
- package/dist/evaluation/qa/eval_chain.d.ts.map +1 -1
- package/dist/evaluation/qa/eval_chain.js +3 -2
- package/dist/evaluation/qa/eval_chain.js.map +1 -1
- package/dist/evaluation/qa/index.cjs +2 -1
- package/dist/evaluation/qa/index.d.cts +2 -1
- package/dist/evaluation/qa/index.d.ts +2 -1
- package/dist/evaluation/qa/index.js +2 -2
- package/dist/evaluation/qa/prompt.cjs +1 -2
- package/dist/evaluation/qa/prompt.cjs.map +1 -1
- package/dist/evaluation/qa/prompt.js +1 -1
- package/dist/evaluation/qa/prompt.js.map +1 -1
- package/dist/evaluation/types.d.cts +0 -1
- package/dist/evaluation/types.d.cts.map +1 -1
- package/dist/evaluation/types.d.ts +0 -1
- package/dist/evaluation/types.d.ts.map +1 -1
- package/dist/experimental/autogpt/agent.cjs +11 -11
- package/dist/experimental/autogpt/agent.cjs.map +1 -1
- package/dist/experimental/autogpt/agent.d.cts +2 -17
- package/dist/experimental/autogpt/agent.d.cts.map +1 -1
- package/dist/experimental/autogpt/agent.d.ts +2 -17
- package/dist/experimental/autogpt/agent.d.ts.map +1 -1
- package/dist/experimental/autogpt/agent.js +11 -10
- package/dist/experimental/autogpt/agent.js.map +1 -1
- package/dist/experimental/autogpt/output_parser.cjs +0 -1
- package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
- package/dist/experimental/autogpt/output_parser.d.cts +0 -1
- package/dist/experimental/autogpt/output_parser.d.cts.map +1 -1
- package/dist/experimental/autogpt/output_parser.d.ts +0 -1
- package/dist/experimental/autogpt/output_parser.d.ts.map +1 -1
- package/dist/experimental/autogpt/output_parser.js.map +1 -1
- package/dist/experimental/autogpt/prompt.cjs +0 -1
- package/dist/experimental/autogpt/prompt.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt.d.cts +2 -9
- package/dist/experimental/autogpt/prompt.d.cts.map +1 -1
- package/dist/experimental/autogpt/prompt.d.ts +2 -9
- package/dist/experimental/autogpt/prompt.d.ts.map +1 -1
- package/dist/experimental/autogpt/prompt.js.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.cjs +1 -1
- package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.js +1 -1
- package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
- package/dist/experimental/autogpt/schema.d.cts +0 -1
- package/dist/experimental/autogpt/schema.d.cts.map +1 -1
- package/dist/experimental/autogpt/schema.d.ts +0 -1
- package/dist/experimental/autogpt/schema.d.ts.map +1 -1
- package/dist/experimental/babyagi/agent.cjs +12 -11
- package/dist/experimental/babyagi/agent.cjs.map +1 -1
- package/dist/experimental/babyagi/agent.d.cts +3 -22
- package/dist/experimental/babyagi/agent.d.cts.map +1 -1
- package/dist/experimental/babyagi/agent.d.ts +3 -22
- package/dist/experimental/babyagi/agent.d.ts.map +1 -1
- package/dist/experimental/babyagi/agent.js +12 -10
- package/dist/experimental/babyagi/agent.js.map +1 -1
- package/dist/experimental/babyagi/task_creation.cjs +10 -10
- package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
- package/dist/experimental/babyagi/task_creation.d.cts +0 -1
- package/dist/experimental/babyagi/task_creation.d.cts.map +1 -1
- package/dist/experimental/babyagi/task_creation.d.ts +0 -1
- package/dist/experimental/babyagi/task_creation.d.ts.map +1 -1
- package/dist/experimental/babyagi/task_creation.js +10 -9
- package/dist/experimental/babyagi/task_creation.js.map +1 -1
- package/dist/experimental/babyagi/task_execution.cjs +9 -9
- package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
- package/dist/experimental/babyagi/task_execution.d.cts +0 -1
- package/dist/experimental/babyagi/task_execution.d.cts.map +1 -1
- package/dist/experimental/babyagi/task_execution.d.ts +0 -1
- package/dist/experimental/babyagi/task_execution.d.ts.map +1 -1
- package/dist/experimental/babyagi/task_execution.js +9 -8
- package/dist/experimental/babyagi/task_execution.js.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.cjs +9 -9
- package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.d.cts +0 -1
- package/dist/experimental/babyagi/task_prioritization.d.cts.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.d.ts +0 -1
- package/dist/experimental/babyagi/task_prioritization.d.ts.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.js +9 -8
- package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.cts +0 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.cts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.ts +0 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.ts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +0 -1
- 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.d.cts +53 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts +53 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts.map +1 -1
- 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 +4 -5
- 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 +4 -4
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.cjs +0 -1
- package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.d.cts +1 -2
- package/dist/experimental/generative_agents/generative_agent.d.cts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.d.ts +1 -2
- package/dist/experimental/generative_agents/generative_agent.d.ts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +0 -1
- package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.d.cts +1 -2
- package/dist/experimental/generative_agents/generative_agent_memory.d.cts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts +1 -2
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
- package/dist/experimental/masking/parser.cjs.map +1 -1
- package/dist/experimental/masking/parser.d.cts +0 -1
- package/dist/experimental/masking/parser.d.cts.map +1 -1
- package/dist/experimental/masking/parser.d.ts +0 -1
- package/dist/experimental/masking/parser.d.ts.map +1 -1
- package/dist/experimental/masking/parser.js.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.cjs.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.d.cts +0 -1
- package/dist/experimental/masking/regex_masking_transformer.d.cts.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.d.ts +0 -1
- package/dist/experimental/masking/regex_masking_transformer.d.ts.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.js.map +1 -1
- package/dist/experimental/masking/transformer.cjs.map +1 -1
- package/dist/experimental/masking/transformer.d.cts.map +1 -1
- package/dist/experimental/masking/transformer.d.ts.map +1 -1
- package/dist/experimental/masking/transformer.js.map +1 -1
- package/dist/experimental/masking/types.d.cts +0 -1
- package/dist/experimental/masking/types.d.cts.map +1 -1
- package/dist/experimental/masking/types.d.ts +0 -1
- package/dist/experimental/masking/types.d.ts.map +1 -1
- package/dist/experimental/openai_assistant/index.cjs.map +1 -1
- package/dist/experimental/openai_assistant/index.d.cts +2 -18
- package/dist/experimental/openai_assistant/index.d.cts.map +1 -1
- package/dist/experimental/openai_assistant/index.d.ts +2 -18
- package/dist/experimental/openai_assistant/index.d.ts.map +1 -1
- package/dist/experimental/openai_assistant/index.js.map +1 -1
- package/dist/experimental/openai_assistant/schema.d.cts +0 -1
- package/dist/experimental/openai_assistant/schema.d.cts.map +1 -1
- package/dist/experimental/openai_assistant/schema.d.ts +0 -1
- package/dist/experimental/openai_assistant/schema.d.ts.map +1 -1
- package/dist/experimental/openai_files/index.cjs.map +1 -1
- package/dist/experimental/openai_files/index.d.cts +4 -18
- package/dist/experimental/openai_files/index.d.cts.map +1 -1
- package/dist/experimental/openai_files/index.d.ts +4 -18
- package/dist/experimental/openai_files/index.d.ts.map +1 -1
- package/dist/experimental/openai_files/index.js.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.cjs +1 -0
- package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.d.cts +4 -16
- package/dist/experimental/plan_and_execute/agent_executor.d.cts.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.d.ts +4 -16
- package/dist/experimental/plan_and_execute/agent_executor.d.ts.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.js +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.js.map +1 -1
- package/dist/experimental/plan_and_execute/base.cjs +3 -0
- package/dist/experimental/plan_and_execute/base.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/base.d.cts +0 -1
- package/dist/experimental/plan_and_execute/base.d.cts.map +1 -1
- package/dist/experimental/plan_and_execute/base.d.ts +0 -1
- package/dist/experimental/plan_and_execute/base.d.ts.map +1 -1
- package/dist/experimental/plan_and_execute/base.js +3 -0
- package/dist/experimental/plan_and_execute/base.js.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.cjs +0 -1
- package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.d.cts +0 -1
- package/dist/experimental/plan_and_execute/outputParser.d.cts.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.d.ts +0 -1
- package/dist/experimental/plan_and_execute/outputParser.d.ts.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.cjs +1 -2
- package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.js +1 -1
- package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
- package/dist/experimental/prompts/custom_format.cjs.map +1 -1
- package/dist/experimental/prompts/custom_format.d.cts +1 -5
- package/dist/experimental/prompts/custom_format.d.cts.map +1 -1
- package/dist/experimental/prompts/custom_format.d.ts +1 -5
- package/dist/experimental/prompts/custom_format.d.ts.map +1 -1
- package/dist/experimental/prompts/custom_format.js.map +1 -1
- package/dist/experimental/prompts/handlebars.cjs.map +1 -1
- package/dist/experimental/prompts/handlebars.d.cts +0 -1
- package/dist/experimental/prompts/handlebars.d.cts.map +1 -1
- package/dist/experimental/prompts/handlebars.d.ts +0 -1
- package/dist/experimental/prompts/handlebars.d.ts.map +1 -1
- package/dist/experimental/prompts/handlebars.js.map +1 -1
- package/dist/hub/base.cjs.map +1 -1
- package/dist/hub/base.d.cts +5 -2
- package/dist/hub/base.d.cts.map +1 -1
- package/dist/hub/base.d.ts +5 -2
- package/dist/hub/base.d.ts.map +1 -1
- package/dist/hub/base.js.map +1 -1
- package/dist/hub/index.cjs.map +1 -1
- package/dist/hub/index.d.cts +0 -1
- package/dist/hub/index.d.cts.map +1 -1
- package/dist/hub/index.d.ts +0 -1
- package/dist/hub/index.d.ts.map +1 -1
- package/dist/hub/index.js.map +1 -1
- package/dist/hub/node.cjs.map +1 -1
- package/dist/hub/node.d.cts +0 -1
- package/dist/hub/node.d.cts.map +1 -1
- package/dist/hub/node.d.ts +0 -1
- package/dist/hub/node.d.ts.map +1 -1
- package/dist/hub/node.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js.map +1 -1
- package/dist/load/import_map.cjs +547 -0
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +1 -1
- package/dist/load/import_map.js.map +1 -1
- package/dist/load/import_type.d.cts.map +1 -1
- package/dist/load/import_type.d.ts.map +1 -1
- package/dist/load/index.cjs +0 -1
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.d.cts +0 -1
- package/dist/load/index.d.cts.map +1 -1
- package/dist/load/index.d.ts +0 -1
- package/dist/load/index.d.ts.map +1 -1
- package/dist/load/index.js.map +1 -1
- package/dist/load/map_keys.d.cts.map +1 -1
- package/dist/load/map_keys.d.ts.map +1 -1
- package/dist/memory/buffer_memory.cjs +0 -1
- package/dist/memory/buffer_memory.cjs.map +1 -1
- package/dist/memory/buffer_memory.d.cts +0 -1
- package/dist/memory/buffer_memory.d.cts.map +1 -1
- package/dist/memory/buffer_memory.d.ts +0 -1
- package/dist/memory/buffer_memory.d.ts.map +1 -1
- package/dist/memory/buffer_memory.js.map +1 -1
- package/dist/memory/buffer_token_memory.cjs +0 -1
- package/dist/memory/buffer_token_memory.cjs.map +1 -1
- package/dist/memory/buffer_token_memory.d.cts +0 -1
- package/dist/memory/buffer_token_memory.d.cts.map +1 -1
- package/dist/memory/buffer_token_memory.d.ts +0 -1
- package/dist/memory/buffer_token_memory.d.ts.map +1 -1
- package/dist/memory/buffer_token_memory.js.map +1 -1
- package/dist/memory/buffer_window_memory.cjs +0 -1
- package/dist/memory/buffer_window_memory.cjs.map +1 -1
- package/dist/memory/buffer_window_memory.d.cts +0 -1
- package/dist/memory/buffer_window_memory.d.cts.map +1 -1
- package/dist/memory/buffer_window_memory.d.ts +0 -1
- package/dist/memory/buffer_window_memory.d.ts.map +1 -1
- package/dist/memory/buffer_window_memory.js.map +1 -1
- package/dist/memory/chat_memory.cjs.map +1 -1
- package/dist/memory/chat_memory.d.cts +0 -1
- package/dist/memory/chat_memory.d.cts.map +1 -1
- package/dist/memory/chat_memory.d.ts +0 -1
- package/dist/memory/chat_memory.d.ts.map +1 -1
- package/dist/memory/chat_memory.js.map +1 -1
- package/dist/memory/combined_memory.cjs.map +1 -1
- package/dist/memory/combined_memory.d.cts +0 -1
- package/dist/memory/combined_memory.d.cts.map +1 -1
- package/dist/memory/combined_memory.d.ts +0 -1
- package/dist/memory/combined_memory.d.ts.map +1 -1
- package/dist/memory/combined_memory.js.map +1 -1
- package/dist/memory/entity_memory.cjs +0 -1
- package/dist/memory/entity_memory.cjs.map +1 -1
- package/dist/memory/entity_memory.d.cts +1 -2
- package/dist/memory/entity_memory.d.cts.map +1 -1
- package/dist/memory/entity_memory.d.ts +1 -2
- package/dist/memory/entity_memory.d.ts.map +1 -1
- package/dist/memory/entity_memory.js.map +1 -1
- package/dist/memory/prompt.cjs +28 -23
- package/dist/memory/prompt.cjs.map +1 -1
- package/dist/memory/prompt.d.cts +0 -1
- package/dist/memory/prompt.d.cts.map +1 -1
- package/dist/memory/prompt.d.ts +0 -1
- package/dist/memory/prompt.d.ts.map +1 -1
- package/dist/memory/prompt.js +26 -23
- package/dist/memory/prompt.js.map +1 -1
- package/dist/memory/stores/entity/base.cjs +0 -1
- package/dist/memory/stores/entity/base.cjs.map +1 -1
- package/dist/memory/stores/entity/base.d.cts +0 -1
- package/dist/memory/stores/entity/base.d.cts.map +1 -1
- package/dist/memory/stores/entity/base.d.ts +0 -1
- package/dist/memory/stores/entity/base.d.ts.map +1 -1
- package/dist/memory/stores/entity/base.js.map +1 -1
- package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
- package/dist/memory/stores/entity/in_memory.js.map +1 -1
- package/dist/memory/summary.cjs +0 -1
- package/dist/memory/summary.cjs.map +1 -1
- package/dist/memory/summary.d.cts +0 -1
- package/dist/memory/summary.d.cts.map +1 -1
- package/dist/memory/summary.d.ts +0 -1
- package/dist/memory/summary.d.ts.map +1 -1
- package/dist/memory/summary.js.map +1 -1
- package/dist/memory/summary_buffer.cjs +0 -1
- package/dist/memory/summary_buffer.cjs.map +1 -1
- package/dist/memory/summary_buffer.d.cts +0 -1
- package/dist/memory/summary_buffer.d.cts.map +1 -1
- package/dist/memory/summary_buffer.d.ts +0 -1
- package/dist/memory/summary_buffer.d.ts.map +1 -1
- package/dist/memory/summary_buffer.js.map +1 -1
- package/dist/memory/vector_store.cjs +0 -1
- package/dist/memory/vector_store.cjs.map +1 -1
- package/dist/memory/vector_store.d.cts +0 -1
- package/dist/memory/vector_store.d.cts.map +1 -1
- package/dist/memory/vector_store.d.ts +0 -1
- package/dist/memory/vector_store.d.ts.map +1 -1
- package/dist/memory/vector_store.js.map +1 -1
- package/dist/output_parsers/combining.cjs +0 -1
- package/dist/output_parsers/combining.cjs.map +1 -1
- package/dist/output_parsers/combining.d.cts +1 -2
- package/dist/output_parsers/combining.d.cts.map +1 -1
- package/dist/output_parsers/combining.d.ts +1 -2
- package/dist/output_parsers/combining.d.ts.map +1 -1
- package/dist/output_parsers/combining.js.map +1 -1
- package/dist/output_parsers/datetime.cjs +0 -1
- package/dist/output_parsers/datetime.cjs.map +1 -1
- package/dist/output_parsers/datetime.d.cts +0 -1
- package/dist/output_parsers/datetime.d.cts.map +1 -1
- package/dist/output_parsers/datetime.d.ts +0 -1
- package/dist/output_parsers/datetime.d.ts.map +1 -1
- package/dist/output_parsers/datetime.js.map +1 -1
- package/dist/output_parsers/expression.cjs.map +1 -1
- package/dist/output_parsers/expression.d.cts +0 -1
- package/dist/output_parsers/expression.d.cts.map +1 -1
- package/dist/output_parsers/expression.d.ts +0 -1
- package/dist/output_parsers/expression.d.ts.map +1 -1
- package/dist/output_parsers/expression.js.map +1 -1
- 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.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.cjs +1 -0
- package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -1
- package/dist/output_parsers/expression_type_handlers/base.d.cts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -1
- package/dist/output_parsers/expression_type_handlers/base.d.ts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.js +1 -0
- package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/output_parsers/expression_type_handlers/types.d.cts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/types.d.ts.map +1 -1
- package/dist/output_parsers/fix.cjs +5 -5
- package/dist/output_parsers/fix.cjs.map +1 -1
- package/dist/output_parsers/fix.d.cts +1 -5
- package/dist/output_parsers/fix.d.cts.map +1 -1
- package/dist/output_parsers/fix.d.ts +1 -5
- package/dist/output_parsers/fix.d.ts.map +1 -1
- package/dist/output_parsers/fix.js +5 -4
- package/dist/output_parsers/fix.js.map +1 -1
- package/dist/output_parsers/http_response.cjs +0 -1
- package/dist/output_parsers/http_response.cjs.map +1 -1
- package/dist/output_parsers/http_response.d.cts +0 -1
- package/dist/output_parsers/http_response.d.cts.map +1 -1
- package/dist/output_parsers/http_response.d.ts +0 -1
- package/dist/output_parsers/http_response.d.ts.map +1 -1
- package/dist/output_parsers/http_response.js.map +1 -1
- package/dist/output_parsers/noop.cjs +0 -1
- package/dist/output_parsers/noop.cjs.map +1 -1
- package/dist/output_parsers/noop.js.map +1 -1
- package/dist/output_parsers/openai_functions.cjs +0 -1
- package/dist/output_parsers/openai_functions.cjs.map +1 -1
- package/dist/output_parsers/openai_functions.d.cts +0 -1
- package/dist/output_parsers/openai_functions.d.cts.map +1 -1
- package/dist/output_parsers/openai_functions.d.ts +0 -1
- package/dist/output_parsers/openai_functions.d.ts.map +1 -1
- package/dist/output_parsers/openai_functions.js.map +1 -1
- package/dist/output_parsers/openai_tools.cjs +0 -1
- package/dist/output_parsers/openai_tools.cjs.map +1 -1
- package/dist/output_parsers/openai_tools.d.cts +8 -5
- package/dist/output_parsers/openai_tools.d.cts.map +1 -1
- package/dist/output_parsers/openai_tools.d.ts +8 -5
- package/dist/output_parsers/openai_tools.d.ts.map +1 -1
- package/dist/output_parsers/openai_tools.js.map +1 -1
- package/dist/output_parsers/prompts.cjs +6 -3
- package/dist/output_parsers/prompts.cjs.map +1 -1
- package/dist/output_parsers/prompts.js +5 -3
- package/dist/output_parsers/prompts.js.map +1 -1
- package/dist/output_parsers/regex.cjs +0 -1
- package/dist/output_parsers/regex.cjs.map +1 -1
- package/dist/output_parsers/regex.d.cts +1 -2
- package/dist/output_parsers/regex.d.cts.map +1 -1
- package/dist/output_parsers/regex.d.ts +1 -2
- package/dist/output_parsers/regex.d.ts.map +1 -1
- package/dist/output_parsers/regex.js.map +1 -1
- package/dist/output_parsers/router.cjs +0 -1
- package/dist/output_parsers/router.cjs.map +1 -1
- package/dist/output_parsers/router.d.cts +0 -1
- package/dist/output_parsers/router.d.cts.map +1 -1
- package/dist/output_parsers/router.d.ts +0 -1
- package/dist/output_parsers/router.d.ts.map +1 -1
- package/dist/output_parsers/router.js.map +1 -1
- package/dist/output_parsers/structured.cjs +1 -1
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.d.cts +3 -7
- package/dist/output_parsers/structured.d.cts.map +1 -1
- package/dist/output_parsers/structured.d.ts +3 -7
- package/dist/output_parsers/structured.d.ts.map +1 -1
- package/dist/output_parsers/structured.js +1 -0
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/retrievers/contextual_compression.cjs.map +1 -1
- package/dist/retrievers/contextual_compression.d.cts +0 -1
- package/dist/retrievers/contextual_compression.d.cts.map +1 -1
- package/dist/retrievers/contextual_compression.d.ts +0 -1
- package/dist/retrievers/contextual_compression.d.ts.map +1 -1
- package/dist/retrievers/contextual_compression.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.cjs +5 -4
- package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.d.cts +1 -5
- package/dist/retrievers/document_compressors/chain_extract.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.d.ts +1 -5
- package/dist/retrievers/document_compressors/chain_extract.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.js +5 -4
- package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs.map +1 -1
- package/dist/retrievers/document_compressors/index.d.cts +0 -1
- package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/index.d.ts +0 -1
- package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/ensemble.cjs.map +1 -1
- package/dist/retrievers/ensemble.d.cts +0 -1
- package/dist/retrievers/ensemble.d.cts.map +1 -1
- package/dist/retrievers/ensemble.d.ts +0 -1
- package/dist/retrievers/ensemble.d.ts.map +1 -1
- package/dist/retrievers/ensemble.js.map +1 -1
- package/dist/retrievers/hyde.cjs.map +1 -1
- package/dist/retrievers/hyde.d.cts +0 -1
- package/dist/retrievers/hyde.d.cts.map +1 -1
- package/dist/retrievers/hyde.d.ts +0 -1
- package/dist/retrievers/hyde.d.ts.map +1 -1
- package/dist/retrievers/hyde.js.map +1 -1
- package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
- package/dist/retrievers/matryoshka_retriever.d.cts +0 -1
- package/dist/retrievers/matryoshka_retriever.d.cts.map +1 -1
- package/dist/retrievers/matryoshka_retriever.d.ts +0 -1
- package/dist/retrievers/matryoshka_retriever.d.ts.map +1 -1
- package/dist/retrievers/matryoshka_retriever.js.map +1 -1
- package/dist/retrievers/multi_query.cjs +1 -1
- package/dist/retrievers/multi_query.cjs.map +1 -1
- package/dist/retrievers/multi_query.d.cts +0 -1
- package/dist/retrievers/multi_query.d.cts.map +1 -1
- package/dist/retrievers/multi_query.d.ts +0 -1
- package/dist/retrievers/multi_query.d.ts.map +1 -1
- package/dist/retrievers/multi_query.js +1 -1
- package/dist/retrievers/multi_query.js.map +1 -1
- package/dist/retrievers/multi_vector.cjs.map +1 -1
- package/dist/retrievers/multi_vector.d.cts +0 -1
- package/dist/retrievers/multi_vector.d.cts.map +1 -1
- package/dist/retrievers/multi_vector.d.ts +0 -1
- package/dist/retrievers/multi_vector.d.ts.map +1 -1
- package/dist/retrievers/multi_vector.js.map +1 -1
- package/dist/retrievers/parent_document.cjs.map +1 -1
- package/dist/retrievers/parent_document.d.cts +0 -1
- package/dist/retrievers/parent_document.d.cts.map +1 -1
- package/dist/retrievers/parent_document.d.ts +0 -1
- package/dist/retrievers/parent_document.d.ts.map +1 -1
- package/dist/retrievers/parent_document.js.map +1 -1
- package/dist/retrievers/score_threshold.cjs.map +1 -1
- package/dist/retrievers/score_threshold.d.cts +0 -1
- package/dist/retrievers/score_threshold.d.cts.map +1 -1
- package/dist/retrievers/score_threshold.d.ts +0 -1
- package/dist/retrievers/score_threshold.d.ts.map +1 -1
- package/dist/retrievers/score_threshold.js.map +1 -1
- package/dist/retrievers/self_query/index.cjs.map +1 -1
- package/dist/retrievers/self_query/index.d.cts +0 -1
- package/dist/retrievers/self_query/index.d.cts.map +1 -1
- package/dist/retrievers/self_query/index.d.ts +0 -1
- package/dist/retrievers/self_query/index.d.ts.map +1 -1
- package/dist/retrievers/self_query/index.js.map +1 -1
- package/dist/retrievers/time_weighted.cjs.map +1 -1
- package/dist/retrievers/time_weighted.d.cts +5 -1
- package/dist/retrievers/time_weighted.d.cts.map +1 -1
- package/dist/retrievers/time_weighted.d.ts +5 -1
- package/dist/retrievers/time_weighted.d.ts.map +1 -1
- package/dist/retrievers/time_weighted.js.map +1 -1
- package/dist/schema/prompt_template.cjs.map +1 -1
- package/dist/schema/prompt_template.d.cts +0 -1
- package/dist/schema/prompt_template.d.cts.map +1 -1
- package/dist/schema/prompt_template.d.ts +0 -1
- package/dist/schema/prompt_template.d.ts.map +1 -1
- package/dist/schema/prompt_template.js.map +1 -1
- package/dist/schema/query_constructor.cjs +3 -0
- package/dist/schema/query_constructor.cjs.map +1 -1
- package/dist/schema/query_constructor.d.cts.map +1 -1
- package/dist/schema/query_constructor.d.ts.map +1 -1
- package/dist/schema/query_constructor.js +3 -0
- package/dist/schema/query_constructor.js.map +1 -1
- package/dist/smith/config.cjs.map +1 -1
- package/dist/smith/config.d.cts +2 -7
- package/dist/smith/config.d.cts.map +1 -1
- package/dist/smith/config.d.ts +2 -7
- package/dist/smith/config.d.ts.map +1 -1
- package/dist/smith/config.js.map +1 -1
- package/dist/smith/name_generation.cjs.map +1 -1
- package/dist/smith/name_generation.js.map +1 -1
- package/dist/smith/progress.cjs.map +1 -1
- package/dist/smith/progress.js.map +1 -1
- package/dist/smith/runner_utils.cjs +11 -8
- package/dist/smith/runner_utils.cjs.map +1 -1
- package/dist/smith/runner_utils.d.cts +1 -2
- package/dist/smith/runner_utils.d.cts.map +1 -1
- package/dist/smith/runner_utils.d.ts +1 -2
- package/dist/smith/runner_utils.d.ts.map +1 -1
- package/dist/smith/runner_utils.js +11 -7
- package/dist/smith/runner_utils.js.map +1 -1
- package/dist/sql_db.cjs.map +1 -1
- package/dist/sql_db.d.cts +1 -3
- package/dist/sql_db.d.cts.map +1 -1
- package/dist/sql_db.d.ts +1 -3
- package/dist/sql_db.d.ts.map +1 -1
- package/dist/sql_db.js.map +1 -1
- package/dist/storage/encoder_backed.cjs.map +1 -1
- package/dist/storage/encoder_backed.d.cts +0 -1
- package/dist/storage/encoder_backed.d.cts.map +1 -1
- package/dist/storage/encoder_backed.d.ts +0 -1
- package/dist/storage/encoder_backed.d.ts.map +1 -1
- package/dist/storage/encoder_backed.js.map +1 -1
- package/dist/storage/file_system.cjs.map +1 -1
- package/dist/storage/file_system.d.cts +20 -1
- package/dist/storage/file_system.d.cts.map +1 -1
- package/dist/storage/file_system.d.ts +20 -1
- package/dist/storage/file_system.d.ts.map +1 -1
- package/dist/storage/file_system.js.map +1 -1
- package/dist/stores/doc/base.cjs.map +1 -1
- package/dist/stores/doc/base.d.cts +0 -1
- package/dist/stores/doc/base.d.cts.map +1 -1
- package/dist/stores/doc/base.d.ts +0 -1
- package/dist/stores/doc/base.d.ts.map +1 -1
- package/dist/stores/doc/base.js.map +1 -1
- package/dist/stores/doc/in_memory.cjs.map +1 -1
- package/dist/stores/doc/in_memory.d.cts +0 -1
- package/dist/stores/doc/in_memory.d.cts.map +1 -1
- package/dist/stores/doc/in_memory.d.ts +0 -1
- package/dist/stores/doc/in_memory.d.ts.map +1 -1
- package/dist/stores/doc/in_memory.js.map +1 -1
- package/dist/stores/file/base.cjs +0 -1
- package/dist/stores/file/base.cjs.map +1 -1
- package/dist/stores/file/base.d.cts +0 -1
- package/dist/stores/file/base.d.cts.map +1 -1
- package/dist/stores/file/base.d.ts +0 -1
- package/dist/stores/file/base.d.ts.map +1 -1
- package/dist/stores/file/base.js.map +1 -1
- package/dist/stores/file/in_memory.cjs.map +1 -1
- package/dist/stores/file/in_memory.d.cts +0 -1
- package/dist/stores/file/in_memory.d.cts.map +1 -1
- package/dist/stores/file/in_memory.d.ts +0 -1
- package/dist/stores/file/in_memory.d.ts.map +1 -1
- package/dist/stores/file/in_memory.js.map +1 -1
- package/dist/stores/file/node.cjs +1 -0
- package/dist/stores/file/node.cjs.map +1 -1
- package/dist/stores/file/node.d.cts +0 -1
- package/dist/stores/file/node.d.cts.map +1 -1
- package/dist/stores/file/node.d.ts +0 -1
- package/dist/stores/file/node.d.ts.map +1 -1
- package/dist/stores/file/node.js +1 -0
- package/dist/stores/file/node.js.map +1 -1
- package/dist/text_splitter.d.cts +0 -3
- package/dist/text_splitter.d.ts +0 -3
- package/dist/tools/chain.cjs.map +1 -1
- package/dist/tools/chain.d.cts +1 -5
- package/dist/tools/chain.d.cts.map +1 -1
- package/dist/tools/chain.d.ts +1 -5
- package/dist/tools/chain.d.ts.map +1 -1
- package/dist/tools/chain.js.map +1 -1
- package/dist/tools/fs.cjs +0 -1
- package/dist/tools/fs.cjs.map +1 -1
- package/dist/tools/fs.d.cts +4 -15
- package/dist/tools/fs.d.cts.map +1 -1
- package/dist/tools/fs.d.ts +4 -15
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/json.cjs +1 -0
- package/dist/tools/json.cjs.map +1 -1
- package/dist/tools/json.d.cts +1 -2
- package/dist/tools/json.d.cts.map +1 -1
- package/dist/tools/json.d.ts +1 -2
- package/dist/tools/json.d.ts.map +1 -1
- package/dist/tools/json.js +1 -0
- package/dist/tools/json.js.map +1 -1
- package/dist/tools/render.cjs.map +1 -1
- package/dist/tools/render.d.cts +0 -1
- package/dist/tools/render.d.cts.map +1 -1
- package/dist/tools/render.d.ts +0 -1
- package/dist/tools/render.d.ts.map +1 -1
- package/dist/tools/render.js.map +1 -1
- package/dist/tools/requests.cjs +2 -1
- package/dist/tools/requests.cjs.map +1 -1
- package/dist/tools/requests.d.cts +3 -8
- package/dist/tools/requests.d.cts.map +1 -1
- package/dist/tools/requests.d.ts +3 -8
- package/dist/tools/requests.d.ts.map +1 -1
- package/dist/tools/requests.js +2 -0
- package/dist/tools/requests.js.map +1 -1
- package/dist/tools/retriever.cjs.map +1 -1
- package/dist/tools/retriever.d.cts +0 -1
- package/dist/tools/retriever.d.cts.map +1 -1
- package/dist/tools/retriever.d.ts +0 -1
- package/dist/tools/retriever.d.ts.map +1 -1
- package/dist/tools/retriever.js.map +1 -1
- package/dist/tools/sql.cjs.map +1 -1
- package/dist/tools/sql.d.cts +0 -1
- package/dist/tools/sql.d.cts.map +1 -1
- package/dist/tools/sql.d.ts +0 -1
- package/dist/tools/sql.d.ts.map +1 -1
- package/dist/tools/sql.js.map +1 -1
- package/dist/tools/vectorstore.cjs +0 -1
- package/dist/tools/vectorstore.cjs.map +1 -1
- package/dist/tools/vectorstore.d.cts +0 -1
- package/dist/tools/vectorstore.d.cts.map +1 -1
- package/dist/tools/vectorstore.d.ts +0 -1
- package/dist/tools/vectorstore.d.ts.map +1 -1
- package/dist/tools/vectorstore.js.map +1 -1
- package/dist/tools/webbrowser.cjs +2 -1
- package/dist/tools/webbrowser.cjs.map +1 -1
- package/dist/tools/webbrowser.d.cts +1 -8
- package/dist/tools/webbrowser.d.cts.map +1 -1
- package/dist/tools/webbrowser.d.ts +1 -8
- package/dist/tools/webbrowser.d.ts.map +1 -1
- package/dist/tools/webbrowser.js +2 -1
- package/dist/tools/webbrowser.js.map +1 -1
- package/dist/types/expression-parser.d.cts +1 -1
- package/dist/types/expression-parser.d.cts.map +1 -1
- package/dist/types/expression-parser.d.ts +1 -1
- package/dist/types/expression-parser.d.ts.map +1 -1
- package/dist/types/type-utils.d.cts.map +1 -1
- package/dist/types/type-utils.d.ts.map +1 -1
- package/dist/util/document.cjs.map +1 -1
- package/dist/util/document.d.cts +0 -1
- package/dist/util/document.d.cts.map +1 -1
- package/dist/util/document.d.ts +0 -1
- package/dist/util/document.d.ts.map +1 -1
- package/dist/util/document.js.map +1 -1
- package/dist/util/env.cjs +0 -1
- package/dist/util/extname.cjs.map +1 -1
- package/dist/util/extname.js.map +1 -1
- package/dist/util/hub.cjs +0 -1
- package/dist/util/hub.cjs.map +1 -1
- package/dist/util/hub.js.map +1 -1
- package/dist/util/is-network-error/index.cjs +1 -1
- 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.map +1 -1
- package/dist/util/load.d.cts.map +1 -1
- package/dist/util/load.d.ts.map +1 -1
- package/dist/util/load.js.map +1 -1
- package/dist/util/ml-distance/distances.cjs.map +1 -1
- package/dist/util/ml-distance/distances.js.map +1 -1
- package/dist/util/ml-distance/similarities.cjs.map +1 -1
- package/dist/util/ml-distance/similarities.d.cts.map +1 -1
- package/dist/util/ml-distance/similarities.d.ts.map +1 -1
- package/dist/util/ml-distance/similarities.js.map +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.cjs +1 -0
- package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.js +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.js.map +1 -1
- package/dist/util/openapi.cjs +1 -0
- package/dist/util/openapi.cjs.map +1 -1
- package/dist/util/openapi.d.cts +0 -1
- package/dist/util/openapi.d.cts.map +1 -1
- package/dist/util/openapi.d.ts +0 -1
- package/dist/util/openapi.d.ts.map +1 -1
- package/dist/util/openapi.js +1 -0
- package/dist/util/openapi.js.map +1 -1
- package/dist/util/p-retry/index.cjs +1 -0
- package/dist/util/p-retry/index.cjs.map +1 -1
- package/dist/util/p-retry/index.js +1 -1
- package/dist/util/p-retry/index.js.map +1 -1
- package/dist/util/parse.cjs +1 -0
- package/dist/util/parse.cjs.map +1 -1
- package/dist/util/parse.js +1 -1
- package/dist/util/parse.js.map +1 -1
- package/dist/util/set.cjs.map +1 -1
- package/dist/util/set.js.map +1 -1
- package/dist/util/sql_utils.cjs +12 -6
- package/dist/util/sql_utils.cjs.map +1 -1
- package/dist/util/sql_utils.d.cts +1 -2
- package/dist/util/sql_utils.d.cts.map +1 -1
- package/dist/util/sql_utils.d.ts +1 -2
- package/dist/util/sql_utils.d.ts.map +1 -1
- package/dist/util/sql_utils.js +12 -6
- package/dist/util/sql_utils.js.map +1 -1
- package/dist/util/time.cjs.map +1 -1
- package/dist/util/time.d.cts.map +1 -1
- package/dist/util/time.d.ts.map +1 -1
- package/dist/util/time.js.map +1 -1
- package/dist/vectorstores/memory.cjs.map +1 -1
- package/dist/vectorstores/memory.d.cts +1 -5
- package/dist/vectorstores/memory.d.cts.map +1 -1
- package/dist/vectorstores/memory.d.ts +1 -5
- package/dist/vectorstores/memory.d.ts.map +1 -1
- package/dist/vectorstores/memory.js.map +1 -1
- package/package.json +30 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/experimental/masking/types.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/experimental/masking/types.ts"],"mappings":";;;;;KAKY;EACV,eAAe;EACf,sBAAsB;EACtB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;EACrB,mBAAmB;;;;;KAMT;EACV,OAAO;EACP;EACA,QAAQ;;KAGE,iBACN,oBAAoB,mBACpB;;;;KAKM,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["Runnable","OpenAIClient","StructuredTool","sleep"],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Runnable","OpenAIClient","StructuredTool","sleep"],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { Runnable, RunnableConfig } from "@langchain/core/runnables";
|
|
|
3
3
|
import { ToolDefinition } from "@langchain/core/language_models/base";
|
|
4
4
|
import { StructuredTool, StructuredToolInterface } from "@langchain/core/tools";
|
|
5
5
|
import { ClientOptions, OpenAIChatModelId, OpenAIClient } from "@langchain/openai";
|
|
6
|
-
|
|
7
6
|
//#region src/experimental/openai_assistant/index.d.ts
|
|
8
7
|
type ThreadMessage = any;
|
|
9
8
|
type RequiredActionFunctionToolCall = any;
|
|
@@ -22,17 +21,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
|
|
|
22
21
|
pollIntervalMs: number;
|
|
23
22
|
asAgent?: AsAgent;
|
|
24
23
|
constructor(fields: OpenAIAssistantRunnableInput<AsAgent>);
|
|
25
|
-
static createAssistant<AsAgent extends boolean>({
|
|
26
|
-
model,
|
|
27
|
-
name,
|
|
28
|
-
instructions,
|
|
29
|
-
tools,
|
|
30
|
-
client,
|
|
31
|
-
clientOptions,
|
|
32
|
-
asAgent,
|
|
33
|
-
pollIntervalMs,
|
|
34
|
-
fileIds
|
|
35
|
-
}: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
|
|
24
|
+
static createAssistant<AsAgent extends boolean>({ model, name, instructions, tools, client, clientOptions, asAgent, pollIntervalMs, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
|
|
36
25
|
model: OpenAIChatModelId;
|
|
37
26
|
name?: string;
|
|
38
27
|
instructions?: string;
|
|
@@ -64,12 +53,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
|
|
|
64
53
|
* @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}
|
|
65
54
|
* @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}
|
|
66
55
|
*/
|
|
67
|
-
modifyAssistant<AsAgent extends boolean>({
|
|
68
|
-
model,
|
|
69
|
-
name,
|
|
70
|
-
instructions,
|
|
71
|
-
fileIds
|
|
72
|
-
}: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
|
|
56
|
+
modifyAssistant<AsAgent extends boolean>({ model, name, instructions, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
|
|
73
57
|
model?: OpenAIChatModelId;
|
|
74
58
|
name?: string;
|
|
75
59
|
instructions?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":";;;;;;KAkBK;KAEA;KAEA,iBAAiB,uCACpB,uBACI,wBAAwB,0BACxB,kBAAkB;KAEZ,6BACV;EAEA,SAAS;EACT,gBAAgB;EAChB;EACA;EACA,UAAU;;cAGC,wBACX,qCAEA,iBAAiB,sBAAsB,6BAC/B,SAAS,UAAU,iBAAiB;EAC5C;UAEQ;EAER;EAEA;EAEA,UAAU;EAEV,YAAY,QAAQ,6BAA6B;SAOpC,gBAAgB,2BAC3B,OACA,MACA,cACA,OACA,QACA,eACA,SACA,gBACA,WACC,KAAK,6BAA6B;IACnC,OAAO;IACP;IACA;IACA,QAAQ,iBAAiB,MAAM;IAC/B;MACD,QAAA,wBAAA,SAAA;EA2BK,OACJ,OAAO,UACP,WAAW,iBACV,QAAQ,iBAAiB;;;;;;;EAuDf,mBAAe,QAAA,aAAA,KAAA;;;;;;;;;EAUf,gBAAY,QAAA,aAAA,KAAA;;;;;;;;;EAUZ,gBAAgB,2BAC3B,OACA,MACA,cACA,WACC,KAAK,6BAA6B;IACnC,QAAQ;IACR;IACA;IACA;MACD,QAAA,aAAA,KAAA;;;UAUa;UA8BA;UAiBA;UAwBA;UAgBA;;iBAoEA,4BACd,MAAM,0BACL"}
|
|
@@ -3,7 +3,6 @@ import { Runnable, RunnableConfig } from "@langchain/core/runnables";
|
|
|
3
3
|
import { StructuredTool, StructuredToolInterface } from "@langchain/core/tools";
|
|
4
4
|
import { ToolDefinition } from "@langchain/core/language_models/base";
|
|
5
5
|
import { ClientOptions, OpenAIChatModelId, OpenAIClient } from "@langchain/openai";
|
|
6
|
-
|
|
7
6
|
//#region src/experimental/openai_assistant/index.d.ts
|
|
8
7
|
type ThreadMessage = any;
|
|
9
8
|
type RequiredActionFunctionToolCall = any;
|
|
@@ -22,17 +21,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
|
|
|
22
21
|
pollIntervalMs: number;
|
|
23
22
|
asAgent?: AsAgent;
|
|
24
23
|
constructor(fields: OpenAIAssistantRunnableInput<AsAgent>);
|
|
25
|
-
static createAssistant<AsAgent extends boolean>({
|
|
26
|
-
model,
|
|
27
|
-
name,
|
|
28
|
-
instructions,
|
|
29
|
-
tools,
|
|
30
|
-
client,
|
|
31
|
-
clientOptions,
|
|
32
|
-
asAgent,
|
|
33
|
-
pollIntervalMs,
|
|
34
|
-
fileIds
|
|
35
|
-
}: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
|
|
24
|
+
static createAssistant<AsAgent extends boolean>({ model, name, instructions, tools, client, clientOptions, asAgent, pollIntervalMs, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
|
|
36
25
|
model: OpenAIChatModelId;
|
|
37
26
|
name?: string;
|
|
38
27
|
instructions?: string;
|
|
@@ -64,12 +53,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
|
|
|
64
53
|
* @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}
|
|
65
54
|
* @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}
|
|
66
55
|
*/
|
|
67
|
-
modifyAssistant<AsAgent extends boolean>({
|
|
68
|
-
model,
|
|
69
|
-
name,
|
|
70
|
-
instructions,
|
|
71
|
-
fileIds
|
|
72
|
-
}: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
|
|
56
|
+
modifyAssistant<AsAgent extends boolean>({ model, name, instructions, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
|
|
73
57
|
model?: OpenAIChatModelId;
|
|
74
58
|
name?: string;
|
|
75
59
|
instructions?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":";;;;;;KAkBK;KAEA;KAEA,iBAAiB,uCACpB,uBACI,wBAAwB,0BACxB,kBAAkB;KAEZ,6BACV;EAEA,SAAS;EACT,gBAAgB;EAChB;EACA;EACA,UAAU;;cAGC,wBACX,qCAEA,iBAAiB,sBAAsB,6BAC/B,SAAS,UAAU,iBAAiB;EAC5C;UAEQ;EAER;EAEA;EAEA,UAAU;EAEV,YAAY,QAAQ,6BAA6B;SAOpC,gBAAgB,2BAC3B,OACA,MACA,cACA,OACA,QACA,eACA,SACA,gBACA,WACC,KAAK,6BAA6B;IACnC,OAAO;IACP;IACA;IACA,QAAQ,iBAAiB,MAAM;IAC/B;MACD,QAAA,wBAAA,SAAA;EA2BK,OACJ,OAAO,UACP,WAAW,iBACV,QAAQ,iBAAiB;;;;;;;EAuDf,mBAAe,QAAA,aAAA,KAAA;;;;;;;;;EAUf,gBAAY,QAAA,aAAA,KAAA;;;;;;;;;EAUZ,gBAAgB,2BAC3B,OACA,MACA,cACA,WACC,KAAK,6BAA6B;IACnC,QAAQ;IACR;IACA;IACA;MACD,QAAA,aAAA,KAAA;;;UAUa;UA8BA;UAiBA;UAwBA;UAgBA;;iBAoEA,4BACd,MAAM,0BACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;AAqCA,IAAa,0BAAb,cAIU,SAA8C;CACtD,eAAe;EAAC;EAAa;EAAgB;CAAkB;CAE/D;CAEA;CAEA,iBAAiB;CAEjB;CAEA,YAAY,QAA+C;EACzD,MAAM,MAAM;EACZ,KAAK,SAAS,OAAO,UAAU,IAAI,aAAa,QAAQ,aAAa;EACrE,KAAK,cAAc,OAAO;EAC1B,KAAK,UAAU,OAAO,WAAW,KAAK;CACxC;CAEA,aAAa,gBAAyC,EACpD,OACA,MACA,cACA,OACA,QACA,eACA,SACA,gBACA,WAOC;EACD,MAAM,iBACJ,OAAO,KAAK,SAAS;GAEnB,IAAI,gBAAgB,gBAClB,OAAO,4BAA4B,IAAI;GAEzC,OAAO;EACT,CAAC,KAAK,CAAC;EACT,MAAM,YAAY,UAAU,IAAI,aAAa,aAAa;EAC1D,MAAM,YAAY,MAAM,UAAU,KAAK,WAAW,OAAO;GACvD;GACA;GACA,OAAO;GACP;GACA,UAAU;EAEZ,CAAQ;EAER,OAAO,IAAI,KAAK;GACd,QAAQ;GACR,aAAa,UAAU;GACvB;GACA;EACF,CAAC;CACH;CAEA,MAAM,OACJ,OACA,UACoC;EAEpC,IAAI;EACJ,IAAI,KAAK,WAAW,MAAM,SAAS,MAAM,MAAM,SAAS,GAAG;GACzD,MAAM,mBAAmB,MAAM,KAAK,iBAAiB,KAAK;GAC1D,MAAM,MAAM,KAAK,OAAO,KAAK,QAAQ,KAAK,kBACxC,iBAAiB,OACjB;IACE,WAAW,iBAAiB;IAC5B,cAAc,iBAAiB;GACjC,CACF;EACF,OAAO,IAAI,EAAE,cAAc,QAAQ;GACjC,MAAM,SAAS;IACb,UAAU,CACR;KACE,MAAM;KACN,SAAS,MAAM;KACf,aAAa,MAAM;KACnB,UAAU,MAAM;IAClB,CACF;IACA,UAAU,MAAM;GAClB;GACA,MAAM,MAAM,KAAK,oBAAoB;IACnC,GAAG;IACH;GACF,CAAC;EACH,OAAO,IAAI,EAAE,WAAW,QAAQ;GAC9B,MAAM,KAAK,OAAO,KAAK,QAAQ,SAAS,OAAO,MAAM,UAAU;IAC7D,SAAS,MAAM;IACf,MAAM;IACN,aAAa,MAAM;IACnB,UAAU,MAAM;GAElB,CAAQ;GACR,MAAM,MAAM,KAAK,WAAW,KAAK;EACnC,OAGE,MAAM,MAAM,KAAK,OAAO,KAAK,QAAQ,KAAK,kBAAkB,MAAM,OAAO;GACvE,WAAW,MAAM;GACjB,cAAc,MAAM;EACtB,CAAC;EAGH,OAAO,KAAK,aAAa,IAAI,IAAI,IAAI,SAAS;CAChD;;;;;;;CAQA,MAAa,kBAAkB;EAC7B,OAAO,MAAM,KAAK,OAAO,KAAK,WAAW,OAAO,KAAK,WAAW;CAClE;;;;;;;CAQA,MAAa,eAAe;EAC1B,OAAO,MAAM,KAAK,OAAO,KAAK,WAAW,SAAS,KAAK,WAAW;CACpE;;;;;;;CAQA,MAAa,gBAAyC,EACpD,OACA,MACA,cACA,WAMC;EACD,OAAO,MAAM,KAAK,OAAO,KAAK,WAAW,OAAO,KAAK,aAAa;GAChE;GACA;GACA;GACA,UAAU;EAEZ,CAAQ;CACV;CAEA,MAAc,iBAAiB,OAAoC;EACjE,MAAM,EACJ,QAAQ,EAAE,OAAO,eACf,MAAM,MAAM,MAAM,MAAM,SAAS;EAErC,MAAM,aAAY,MADA,KAAK,YAAY,OAAO,QAAQ,EAAA,CAC5B,iBAAiB,oBAAoB;EAC3D,IAAI,CAAC,WACH,OAAO;EAoBT,OAAO;GAAE,aAjBW,UAAU,SAAS,aAAkB;IACvD,MAAM,gBACJ,MAAM,MAIN,MAAM,SAAS,KAAK,OAAO,eAAe,SAAS,EAAE;IAEvD,OAAO,gBACH,CACE;KACE,QAAQ,cAAc;KACtB,cAAc,cAAc,OAAO;IACrC,CACF,IACA,CAAC;GACP,CACmB;GAAG;GAAO;EAAS;CACxC;CAEA,MAAc,WAAW,EACvB,cACA,OACA,OACA,UACA,YACW;EAQX,OAPY,KAAK,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;GACzD,cAAc,KAAK;GACnB;GACA;GACA;GACA;EACF,CACS;CACX;CAEA,MAAc,oBAAoB,OAAiB;EACjD,MAAM,SAAkC;GACtC;GACA;GACA;GACA;EACF,CAAC,CACE,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAC7B,QACE,KAAK,QAAQ;GACZ,MAAM,SAAS;GACf,OAAO,OAAO,MAAM;GACpB,OAAO;EACT,GACA,CAAC,CACH;EAMF,OALY,KAAK,OAAO,KAAK,QAAQ,aAAa;GAChD,GAAG;GACH,QAAQ,MAAM;GACd,cAAc,KAAK;EACrB,CACS;CACX;CAEA,MAAc,YAAY,OAAe,UAAkB;EACzD,IAAI,aAAa;EAEjB,IAAI,MAAM,CAAC;EACX,OAAO,YAAY;GACjB,MAAM,MAAM,KAAK,OAAO,KAAK,QAAQ,KAAK,SAAS,OAAO,EACxD,WAAW,SACb,CAAC;GACD,aAAa,CAAC,eAAe,QAAQ,CAAC,CAAC,SAAS,IAAI,MAAM;GAC1D,IAAI,YACF,MAAM,MAAM,KAAK,cAAc;EAEnC;EACA,OAAO;CACT;CAOA,MAAc,aACZ,OACA,UAMA;EACA,MAAM,MAAM,MAAM,KAAK,YAAY,OAAO,QAAQ;EAClD,IAAI,IAAI,WAAW,aAAa;GAI9B,MAAM,eAAc,MAHG,KAAK,OAAO,KAAK,QAAQ,SAAS,KAAK,UAAU,EACtE,OAAO,OACT,CAAC,EAAA,CAC4B,KAAK,QAAQ,QAAQ,IAAI,WAAW,KAAK;GACtE,IAAI,CAAC,KAAK,SACR,OAAO;GAET,MAAM,SAAS,YAAY,SAAS,QAAQ,IAAI,OAAO;GACvD,IAAI,OAAO,OAAO,SAAS,KAAK,SAAS,MAAM,GAI7C,OAAO;IACL,cAAc;KACZ,QALiB,OAClB,KAAK,SAAS,KAAK,SAAS,UAAU,KAAK,KAAK,KAAK,CAAC,CACtD,KAAK,IAGe;KACnB;KACA;IACF;IACA,KAAK;IACL;IACA;GACF;EAEJ,OAAO,IAAI,IAAI,WAAW,mBAAmB;GAC3C,IAAI,CAAC,KAAK,SACR,OAAO,IAAI,iBAAiB,oBAAoB,cAAc,CAAC;GAEjE,MAAM,UAAmC,CAAC;GAC1C,IAAI,iBAAiB,oBAAoB,WAAW,SAEjD,SAAc;IACb,MAAM,eAAe,KAAK;IAC1B,MAAM,OAAO,KAAK,MAAM,aAAa,SAAS;IAC9C,QAAQ,KAAK;KACX,MAAM,aAAa;KACnB,WAAW;KACX,YAAY,KAAK;KACjB,KAAK;KACL;KACA;IACF,CAAC;GACH,CACF;GACA,OAAO;EACT;EACA,MAAM,UAAU,KAAK,UAAU,KAAK,MAAM,CAAC;EAC3C,MAAM,IAAI,MACR,yBAAyB,IAAI,OAAO,uBAAuB,SAC7D;CACF;AACF;AAEA,SAAgB,4BACd,MACgB;CAChB,OAAO;EACL,MAAM;EACN,UAAU;GACR,MAAM,KAAK;GACX,aAAa,KAAK;GAClB,YAAY,mBAAmB,KAAK,MAAM,IACtC,aAAa,KAAK,MAAM,IACxB,KAAK;EACX;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":";;KAEY,wBAAwB;EAClC;EAEA;;KAGU,wBAAwB;EAClC;EAEA;EAEA;;KAIU,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":";;KAEY,wBAAwB;EAClC;EAEA;;KAGU,wBAAwB;EAClC;EAEA;EAEA;;KAIU,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["Serializable","OpenAIClient"],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,cAAb,cAAiCA,kCAAAA,aAAa;CAC5C,eAAe,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Serializable","OpenAIClient"],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,cAAb,cAAiCA,kCAAAA,aAAa;CAC5C,eAAe,CAAC,aAAa,cAAc;CAE3C;CAEA,YAAY,QAA2B;EACrC,MAAM,MAAM;EACZ,KAAK,YAAY,QAAQ,UAAU,IAAIC,kBAAAA,aAAa,QAAQ,aAAa;CAC3E;;;;;;;;;;;;;CAcA,MAAM,WAAW,EACf,MACA,SACA,WAGC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO;GAAE;GAAM;EAAQ,GAAG,OAAO;CAC/D;;;;;;;;;CAUA,MAAM,WAAW,EACf,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,OAAO;CACpD;;;;;;;;;;CAWA,MAAM,UAAU,OAGb;EACD,OAAO,KAAK,UAAU,MAAM,KAAK,OAAO,OAAO,OAAO,OAAO;CAC/D;;;;;;;;;;CAWA,MAAM,aAAa,EACjB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;;;;;;;;;;;;CAaA,MAAM,oBAAoB,EACxB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;AACF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Serializable } from "@langchain/core/load/serializable";
|
|
2
2
|
import { ClientOptions, OpenAIClient } from "@langchain/openai";
|
|
3
|
-
|
|
4
3
|
//#region src/experimental/openai_files/index.d.ts
|
|
5
4
|
type OpenAIFilesInput = {
|
|
6
5
|
client?: OpenAIClient;
|
|
@@ -22,11 +21,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
22
21
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
23
22
|
* @returns {Promise<OpenAIClient.Files.FileObject>}
|
|
24
23
|
*/
|
|
25
|
-
createFile({
|
|
26
|
-
file,
|
|
27
|
-
purpose,
|
|
28
|
-
options
|
|
29
|
-
}: OpenAIClient.FileCreateParams & {
|
|
24
|
+
createFile({ file, purpose, options }: OpenAIClient.FileCreateParams & {
|
|
30
25
|
options?: OpenAIClient.RequestOptions;
|
|
31
26
|
}): Promise<OpenAIClient.FileObject & {
|
|
32
27
|
_request_id?: string | null;
|
|
@@ -39,10 +34,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
39
34
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
40
35
|
* @returns {Promise<OpenAIClient.Files.FileDeleted>}
|
|
41
36
|
*/
|
|
42
|
-
deleteFile({
|
|
43
|
-
fileId,
|
|
44
|
-
options
|
|
45
|
-
}: {
|
|
37
|
+
deleteFile({ fileId, options }: {
|
|
46
38
|
fileId: string;
|
|
47
39
|
options?: OpenAIClient.RequestOptions;
|
|
48
40
|
}): Promise<OpenAIClient.FileDeleted & {
|
|
@@ -70,10 +62,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
70
62
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
71
63
|
* @returns {Promise<OpenAIClient.Files.FileObject>}
|
|
72
64
|
*/
|
|
73
|
-
retrieveFile({
|
|
74
|
-
fileId,
|
|
75
|
-
options
|
|
76
|
-
}: {
|
|
65
|
+
retrieveFile({ fileId, options }: {
|
|
77
66
|
fileId: string;
|
|
78
67
|
options?: OpenAIClient.RequestOptions;
|
|
79
68
|
}): Promise<OpenAIClient.FileObject & {
|
|
@@ -90,10 +79,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
90
79
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
91
80
|
* @returns {Promise<string>}
|
|
92
81
|
*/
|
|
93
|
-
retrieveFileContent({
|
|
94
|
-
fileId,
|
|
95
|
-
options
|
|
96
|
-
}: {
|
|
82
|
+
retrieveFileContent({ fileId, options }: {
|
|
97
83
|
fileId: string;
|
|
98
84
|
options?: OpenAIClient.RequestOptions;
|
|
99
85
|
}): Promise<OpenAIClient.FileObject & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":";;;KAGY;EACV,SAAS;EACT,gBAAgB;;cAGL,oBAAoB;EAC/B;UAEQ;EAER,YAAY,SAAS;;;;;;;;;;;;;EAiBf,aACJ,MACA,SACA,WACC,aAAa;IACd,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;EAYK,aACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;EAaK,UAAU;IACd,QAAQ,aAAa,MAAM;IAC3B,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;EAaK,eACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;;;EAeK,sBACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Serializable } from "@langchain/core/load/serializable";
|
|
2
2
|
import { ClientOptions, OpenAIClient } from "@langchain/openai";
|
|
3
|
-
|
|
4
3
|
//#region src/experimental/openai_files/index.d.ts
|
|
5
4
|
type OpenAIFilesInput = {
|
|
6
5
|
client?: OpenAIClient;
|
|
@@ -22,11 +21,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
22
21
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
23
22
|
* @returns {Promise<OpenAIClient.Files.FileObject>}
|
|
24
23
|
*/
|
|
25
|
-
createFile({
|
|
26
|
-
file,
|
|
27
|
-
purpose,
|
|
28
|
-
options
|
|
29
|
-
}: OpenAIClient.FileCreateParams & {
|
|
24
|
+
createFile({ file, purpose, options }: OpenAIClient.FileCreateParams & {
|
|
30
25
|
options?: OpenAIClient.RequestOptions;
|
|
31
26
|
}): Promise<OpenAIClient.FileObject & {
|
|
32
27
|
_request_id?: string | null;
|
|
@@ -39,10 +34,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
39
34
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
40
35
|
* @returns {Promise<OpenAIClient.Files.FileDeleted>}
|
|
41
36
|
*/
|
|
42
|
-
deleteFile({
|
|
43
|
-
fileId,
|
|
44
|
-
options
|
|
45
|
-
}: {
|
|
37
|
+
deleteFile({ fileId, options }: {
|
|
46
38
|
fileId: string;
|
|
47
39
|
options?: OpenAIClient.RequestOptions;
|
|
48
40
|
}): Promise<OpenAIClient.FileDeleted & {
|
|
@@ -70,10 +62,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
70
62
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
71
63
|
* @returns {Promise<OpenAIClient.Files.FileObject>}
|
|
72
64
|
*/
|
|
73
|
-
retrieveFile({
|
|
74
|
-
fileId,
|
|
75
|
-
options
|
|
76
|
-
}: {
|
|
65
|
+
retrieveFile({ fileId, options }: {
|
|
77
66
|
fileId: string;
|
|
78
67
|
options?: OpenAIClient.RequestOptions;
|
|
79
68
|
}): Promise<OpenAIClient.FileObject & {
|
|
@@ -90,10 +79,7 @@ declare class OpenAIFiles extends Serializable {
|
|
|
90
79
|
* @param {OpenAIClient.RequestOptions | undefined} options
|
|
91
80
|
* @returns {Promise<string>}
|
|
92
81
|
*/
|
|
93
|
-
retrieveFileContent({
|
|
94
|
-
fileId,
|
|
95
|
-
options
|
|
96
|
-
}: {
|
|
82
|
+
retrieveFileContent({ fileId, options }: {
|
|
97
83
|
fileId: string;
|
|
98
84
|
options?: OpenAIClient.RequestOptions;
|
|
99
85
|
}): Promise<OpenAIClient.FileObject & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":";;;KAGY;EACV,SAAS;EACT,gBAAgB;;cAGL,oBAAoB;EAC/B;UAEQ;EAER,YAAY,SAAS;;;;;;;;;;;;;EAiBf,aACJ,MACA,SACA,WACC,aAAa;IACd,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;EAYK,aACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;EAaK,UAAU;IACd,QAAQ,aAAa,MAAM;IAC3B,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;EAaK,eACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;;;EAeK,sBACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;AAQA,IAAa,cAAb,cAAiC,aAAa;CAC5C,eAAe,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;AAQA,IAAa,cAAb,cAAiC,aAAa;CAC5C,eAAe,CAAC,aAAa,cAAc;CAE3C;CAEA,YAAY,QAA2B;EACrC,MAAM,MAAM;EACZ,KAAK,YAAY,QAAQ,UAAU,IAAI,aAAa,QAAQ,aAAa;CAC3E;;;;;;;;;;;;;CAcA,MAAM,WAAW,EACf,MACA,SACA,WAGC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO;GAAE;GAAM;EAAQ,GAAG,OAAO;CAC/D;;;;;;;;;CAUA,MAAM,WAAW,EACf,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,OAAO;CACpD;;;;;;;;;;CAWA,MAAM,UAAU,OAGb;EACD,OAAO,KAAK,UAAU,MAAM,KAAK,OAAO,OAAO,OAAO,OAAO;CAC/D;;;;;;;;;;CAWA,MAAM,aAAa,EACjB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;;;;;;;;;;;;CAaA,MAAM,oBAAoB,EACxB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;AACF"}
|
|
@@ -137,5 +137,6 @@ var PlanAndExecuteAgentExecutor = class PlanAndExecuteAgentExecutor extends requ
|
|
|
137
137
|
};
|
|
138
138
|
//#endregion
|
|
139
139
|
exports.PlanAndExecuteAgentExecutor = PlanAndExecuteAgentExecutor;
|
|
140
|
+
exports.isDynamicStructuredTool = isDynamicStructuredTool;
|
|
140
141
|
|
|
141
142
|
//# sourceMappingURL=agent_executor.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_executor.cjs","names":["BaseChain","ListStepContainer","LLMPlanner","LLMChain","getPlannerChatPrompt","PlanOutputParser","DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE","StructuredChatAgent","ChainStepExecutor","AgentExecutor","ChatAgent"],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { Tool, DynamicStructuredTool } from \"@langchain/core/tools\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\nimport {\n BasePlanner,\n BaseStepContainer,\n BaseStepExecutor,\n ListStepContainer,\n LLMPlanner,\n ChainStepExecutor,\n} from \"./base.js\";\nimport { AgentExecutor } from \"../../agents/executor.js\";\nimport {\n DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n getPlannerChatPrompt,\n} from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { PlanOutputParser } from \"./outputParser.js\";\nimport { ChatAgent } from \"../../agents/chat/index.js\";\nimport { StructuredChatAgent } from \"../../agents/index.js\";\nimport { SerializedLLMChain } from \"../../chains/serde.js\";\n\n/**\n * A utility function to distiguish a dynamicstructuredtool over other tools.\n * @param tool the tool to test\n * @returns bool\n */\nexport function isDynamicStructuredTool(\n tool: Tool | DynamicStructuredTool\n): tool is DynamicStructuredTool {\n // We check for the existence of the static lc_name method in the object's constructor\n return (\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (tool.constructor as any).lc_name === \"function\" &&\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (tool.constructor as any).lc_name() === \"DynamicStructuredTool\"\n );\n}\n\n/**\n * Interface for the input to the PlanAndExecuteAgentExecutor class. It\n * extends ChainInputs and includes additional properties for the planner,\n * step executor, step container, and input and output keys.\n */\nexport interface PlanAndExecuteAgentExecutorInput extends ChainInputs {\n planner: BasePlanner;\n stepExecutor: BaseStepExecutor;\n stepContainer?: BaseStepContainer;\n inputKey?: string;\n outputKey?: string;\n}\n\n/**\n * Class representing a plan-and-execute agent executor. This agent\n * decides on the full sequence of actions upfront, then executes them all\n * without updating the plan. This is suitable for complex or long-running\n * tasks that require maintaining long-term objectives and focus.\n */\nexport class PlanAndExecuteAgentExecutor extends BaseChain {\n static lc_name() {\n return \"PlanAndExecuteAgentExecutor\";\n }\n\n private planner: BasePlanner;\n\n private stepExecutor: BaseStepExecutor;\n\n private stepContainer: BaseStepContainer = new ListStepContainer();\n\n private inputKey = \"input\";\n\n private outputKey = \"output\";\n\n constructor(input: PlanAndExecuteAgentExecutorInput) {\n super(input);\n this.planner = input.planner;\n this.stepExecutor = input.stepExecutor;\n this.stepContainer = input.stepContainer ?? this.stepContainer;\n this.inputKey = input.inputKey ?? this.inputKey;\n this.outputKey = input.outputKey ?? this.outputKey;\n }\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n /**\n * Static method that returns a default planner for the agent. It creates\n * a new LLMChain with a given LLM and a fixed prompt, and uses it to\n * create a new LLMPlanner with a PlanOutputParser.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @returns A new LLMPlanner instance.\n */\n\n static async getDefaultPlanner({\n llm,\n tools,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n }) {\n const plannerLlmChain = new LLMChain({\n llm,\n prompt: await getPlannerChatPrompt(tools),\n });\n return new LLMPlanner(plannerLlmChain, new PlanOutputParser());\n }\n\n /**\n * Static method that returns a default step executor for the agent. It\n * creates a new ChatAgent from a given LLM and a set of tools, and uses\n * it to create a new ChainStepExecutor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new ChainStepExecutor instance.\n */\n static getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate = DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n }) {\n let agent;\n\n if (tools.length > 0 && isDynamicStructuredTool(tools[0])) {\n agent = StructuredChatAgent.fromLLMAndTools(llm, tools, {\n humanMessageTemplate,\n inputVariables: [\"previous_steps\", \"current_step\", \"agent_scratchpad\"],\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n agent = ChatAgent.fromLLMAndTools(llm, tools as Tool[], {\n humanMessageTemplate,\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n /**\n * Static method that creates a new PlanAndExecuteAgentExecutor from a\n * given LLM, a set of tools, and optionally a human message template. It\n * uses the getDefaultPlanner and getDefaultStepExecutor methods to create\n * the planner and step executor for the new agent executor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new PlanAndExecuteAgentExecutor instance.\n */\n static async fromLLMAndTools({\n llm,\n tools,\n humanMessageTemplate,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n } & Omit<PlanAndExecuteAgentExecutorInput, \"planner\" | \"stepExecutor\">) {\n const executor = new PlanAndExecuteAgentExecutor({\n planner: await PlanAndExecuteAgentExecutor.getDefaultPlanner({\n llm,\n tools,\n }),\n stepExecutor: PlanAndExecuteAgentExecutor.getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate,\n }),\n });\n return executor;\n }\n\n /** @ignore */\n async _call(\n inputs: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const plan = await this.planner.plan(inputs.input, runManager?.getChild());\n if (!plan.steps?.length) {\n throw new Error(\n \"Could not create and parse a plan to answer your question - please try again.\"\n );\n }\n plan.steps[plan.steps.length - 1].text +=\n ` The original question was: ${inputs.input}.`;\n for (const step of plan.steps) {\n const newInputs = {\n ...inputs,\n previous_steps: JSON.stringify(this.stepContainer.getSteps()),\n current_step: step.text,\n };\n const response = await this.stepExecutor.step(\n newInputs,\n runManager?.getChild()\n );\n this.stepContainer.addStep(step, response);\n }\n return { [this.outputKey]: this.stepContainer.getFinalResponse() };\n }\n\n _chainType() {\n return \"agent_executor\" as const;\n }\n\n serialize(): SerializedLLMChain {\n throw new Error(\"Cannot serialize an AgentExecutor\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6BA,SAAgB,wBACd,MAC+B;
|
|
1
|
+
{"version":3,"file":"agent_executor.cjs","names":["BaseChain","ListStepContainer","LLMPlanner","LLMChain","getPlannerChatPrompt","PlanOutputParser","DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE","StructuredChatAgent","ChainStepExecutor","AgentExecutor","ChatAgent"],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { Tool, DynamicStructuredTool } from \"@langchain/core/tools\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\nimport {\n BasePlanner,\n BaseStepContainer,\n BaseStepExecutor,\n ListStepContainer,\n LLMPlanner,\n ChainStepExecutor,\n} from \"./base.js\";\nimport { AgentExecutor } from \"../../agents/executor.js\";\nimport {\n DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n getPlannerChatPrompt,\n} from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { PlanOutputParser } from \"./outputParser.js\";\nimport { ChatAgent } from \"../../agents/chat/index.js\";\nimport { StructuredChatAgent } from \"../../agents/index.js\";\nimport { SerializedLLMChain } from \"../../chains/serde.js\";\n\n/**\n * A utility function to distiguish a dynamicstructuredtool over other tools.\n * @param tool the tool to test\n * @returns bool\n */\nexport function isDynamicStructuredTool(\n tool: Tool | DynamicStructuredTool\n): tool is DynamicStructuredTool {\n // We check for the existence of the static lc_name method in the object's constructor\n return (\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (tool.constructor as any).lc_name === \"function\" &&\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (tool.constructor as any).lc_name() === \"DynamicStructuredTool\"\n );\n}\n\n/**\n * Interface for the input to the PlanAndExecuteAgentExecutor class. It\n * extends ChainInputs and includes additional properties for the planner,\n * step executor, step container, and input and output keys.\n */\nexport interface PlanAndExecuteAgentExecutorInput extends ChainInputs {\n planner: BasePlanner;\n stepExecutor: BaseStepExecutor;\n stepContainer?: BaseStepContainer;\n inputKey?: string;\n outputKey?: string;\n}\n\n/**\n * Class representing a plan-and-execute agent executor. This agent\n * decides on the full sequence of actions upfront, then executes them all\n * without updating the plan. This is suitable for complex or long-running\n * tasks that require maintaining long-term objectives and focus.\n */\nexport class PlanAndExecuteAgentExecutor extends BaseChain {\n static lc_name() {\n return \"PlanAndExecuteAgentExecutor\";\n }\n\n private planner: BasePlanner;\n\n private stepExecutor: BaseStepExecutor;\n\n private stepContainer: BaseStepContainer = new ListStepContainer();\n\n private inputKey = \"input\";\n\n private outputKey = \"output\";\n\n constructor(input: PlanAndExecuteAgentExecutorInput) {\n super(input);\n this.planner = input.planner;\n this.stepExecutor = input.stepExecutor;\n this.stepContainer = input.stepContainer ?? this.stepContainer;\n this.inputKey = input.inputKey ?? this.inputKey;\n this.outputKey = input.outputKey ?? this.outputKey;\n }\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n /**\n * Static method that returns a default planner for the agent. It creates\n * a new LLMChain with a given LLM and a fixed prompt, and uses it to\n * create a new LLMPlanner with a PlanOutputParser.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @returns A new LLMPlanner instance.\n */\n\n static async getDefaultPlanner({\n llm,\n tools,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n }) {\n const plannerLlmChain = new LLMChain({\n llm,\n prompt: await getPlannerChatPrompt(tools),\n });\n return new LLMPlanner(plannerLlmChain, new PlanOutputParser());\n }\n\n /**\n * Static method that returns a default step executor for the agent. It\n * creates a new ChatAgent from a given LLM and a set of tools, and uses\n * it to create a new ChainStepExecutor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new ChainStepExecutor instance.\n */\n static getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate = DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n }) {\n let agent;\n\n if (tools.length > 0 && isDynamicStructuredTool(tools[0])) {\n agent = StructuredChatAgent.fromLLMAndTools(llm, tools, {\n humanMessageTemplate,\n inputVariables: [\"previous_steps\", \"current_step\", \"agent_scratchpad\"],\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n agent = ChatAgent.fromLLMAndTools(llm, tools as Tool[], {\n humanMessageTemplate,\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n /**\n * Static method that creates a new PlanAndExecuteAgentExecutor from a\n * given LLM, a set of tools, and optionally a human message template. It\n * uses the getDefaultPlanner and getDefaultStepExecutor methods to create\n * the planner and step executor for the new agent executor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new PlanAndExecuteAgentExecutor instance.\n */\n static async fromLLMAndTools({\n llm,\n tools,\n humanMessageTemplate,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n } & Omit<PlanAndExecuteAgentExecutorInput, \"planner\" | \"stepExecutor\">) {\n const executor = new PlanAndExecuteAgentExecutor({\n planner: await PlanAndExecuteAgentExecutor.getDefaultPlanner({\n llm,\n tools,\n }),\n stepExecutor: PlanAndExecuteAgentExecutor.getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate,\n }),\n });\n return executor;\n }\n\n /** @ignore */\n async _call(\n inputs: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const plan = await this.planner.plan(inputs.input, runManager?.getChild());\n if (!plan.steps?.length) {\n throw new Error(\n \"Could not create and parse a plan to answer your question - please try again.\"\n );\n }\n plan.steps[plan.steps.length - 1].text +=\n ` The original question was: ${inputs.input}.`;\n for (const step of plan.steps) {\n const newInputs = {\n ...inputs,\n previous_steps: JSON.stringify(this.stepContainer.getSteps()),\n current_step: step.text,\n };\n const response = await this.stepExecutor.step(\n newInputs,\n runManager?.getChild()\n );\n this.stepContainer.addStep(step, response);\n }\n return { [this.outputKey]: this.stepContainer.getFinalResponse() };\n }\n\n _chainType() {\n return \"agent_executor\" as const;\n }\n\n serialize(): SerializedLLMChain {\n throw new Error(\"Cannot serialize an AgentExecutor\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6BA,SAAgB,wBACd,MAC+B;CAE/B,OAEE,OAAQ,KAAK,YAAoB,YAAY,cAE5C,KAAK,YAAoB,QAAQ,MAAM;AAE5C;;;;;;;AAqBA,IAAa,8BAAb,MAAa,oCAAoCA,aAAAA,UAAU;CACzD,OAAO,UAAU;EACf,OAAO;CACT;CAEA;CAEA;CAEA,gBAA2C,IAAIC,eAAAA,kBAAkB;CAEjE,WAAmB;CAEnB,YAAoB;CAEpB,YAAY,OAAyC;EACnD,MAAM,KAAK;EACX,KAAK,UAAU,MAAM;EACrB,KAAK,eAAe,MAAM;EAC1B,KAAK,gBAAgB,MAAM,iBAAiB,KAAK;EACjD,KAAK,WAAW,MAAM,YAAY,KAAK;EACvC,KAAK,YAAY,MAAM,aAAa,KAAK;CAC3C;CAEA,IAAI,YAAY;EACd,OAAO,CAAC,KAAK,QAAQ;CACvB;CAEA,IAAI,aAAa;EACf,OAAO,CAAC,KAAK,SAAS;CACxB;;;;;;;;CAUA,aAAa,kBAAkB,EAC7B,KACA,SAIC;EAKD,OAAO,IAAIC,eAAAA,WAAW,IAJMC,kBAAAA,SAAS;GACnC;GACA,QAAQ,MAAMC,eAAAA,qBAAqB,KAAK;EAC1C,CACoC,GAAG,IAAIC,qBAAAA,iBAAiB,CAAC;CAC/D;;;;;;;;;;CAWA,OAAO,uBAAuB,EAC5B,KACA,OACA,uBAAuBC,eAAAA,qDAKtB;EACD,IAAI;EAEJ,IAAI,MAAM,SAAS,KAAK,wBAAwB,MAAM,EAAE,GAAG;GACzD,QAAQC,gBAAAA,oBAAoB,gBAAgB,KAAK,OAAO;IACtD;IACA,gBAAgB;KAAC;KAAkB;KAAgB;IAAkB;GACvE,CAAC;GACD,OAAO,IAAIC,eAAAA,kBACTC,iBAAAA,cAAc,kBAAkB;IAC9B;IACA;GACF,CAAC,CACH;EACF;EAEA,QAAQC,cAAAA,UAAU,gBAAgB,KAAK,OAAiB,EACtD,qBACF,CAAC;EACD,OAAO,IAAIF,eAAAA,kBACTC,iBAAAA,cAAc,kBAAkB;GAC9B;GACA;EACF,CAAC,CACH;CACF;;;;;;;;;;;CAYA,aAAa,gBAAgB,EAC3B,KACA,OACA,wBAKsE;EAYtE,OAAO,IAXc,4BAA4B;GAC/C,SAAS,MAAM,4BAA4B,kBAAkB;IAC3D;IACA;GACF,CAAC;GACD,cAAc,4BAA4B,uBAAuB;IAC/D;IACA;IACA;GACF,CAAC;EACH,CACc;CAChB;;CAGA,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,OAAO,MAAM,KAAK,QAAQ,KAAK,OAAO,OAAO,YAAY,SAAS,CAAC;EACzE,IAAI,CAAC,KAAK,OAAO,QACf,MAAM,IAAI,MACR,+EACF;EAEF,KAAK,MAAM,KAAK,MAAM,SAAS,EAAE,CAAC,QAChC,+BAA+B,OAAO,MAAM;EAC9C,KAAK,MAAM,QAAQ,KAAK,OAAO;GAC7B,MAAM,YAAY;IAChB,GAAG;IACH,gBAAgB,KAAK,UAAU,KAAK,cAAc,SAAS,CAAC;IAC5D,cAAc,KAAK;GACrB;GACA,MAAM,WAAW,MAAM,KAAK,aAAa,KACvC,WACA,YAAY,SAAS,CACvB;GACA,KAAK,cAAc,QAAQ,MAAM,QAAQ;EAC3C;EACA,OAAO,GAAG,KAAK,YAAY,KAAK,cAAc,iBAAiB,EAAE;CACnE;CAEA,aAAa;EACX,OAAO;CACT;CAEA,YAAgC;EAC9B,MAAM,IAAI,MAAM,mCAAmC;CACrD;AACF"}
|
|
@@ -5,7 +5,6 @@ import { ChainValues } from "@langchain/core/utils/types";
|
|
|
5
5
|
import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
|
|
6
6
|
import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
|
|
7
7
|
import { DynamicStructuredTool, Tool } from "@langchain/core/tools";
|
|
8
|
-
|
|
9
8
|
//#region src/experimental/plan_and_execute/agent_executor.d.ts
|
|
10
9
|
/**
|
|
11
10
|
* Interface for the input to the PlanAndExecuteAgentExecutor class. It
|
|
@@ -42,10 +41,7 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
|
|
|
42
41
|
* @param llm The Large Language Model (LLM) used to generate responses.
|
|
43
42
|
* @returns A new LLMPlanner instance.
|
|
44
43
|
*/
|
|
45
|
-
static getDefaultPlanner({
|
|
46
|
-
llm,
|
|
47
|
-
tools
|
|
48
|
-
}: {
|
|
44
|
+
static getDefaultPlanner({ llm, tools }: {
|
|
49
45
|
llm: BaseLanguageModelInterface;
|
|
50
46
|
tools: Tool[] | DynamicStructuredTool[];
|
|
51
47
|
}): Promise<LLMPlanner>;
|
|
@@ -58,11 +54,7 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
|
|
|
58
54
|
* @param humanMessageTemplate The template for human messages. If not provided, a default template is used.
|
|
59
55
|
* @returns A new ChainStepExecutor instance.
|
|
60
56
|
*/
|
|
61
|
-
static getDefaultStepExecutor({
|
|
62
|
-
llm,
|
|
63
|
-
tools,
|
|
64
|
-
humanMessageTemplate
|
|
65
|
-
}: {
|
|
57
|
+
static getDefaultStepExecutor({ llm, tools, humanMessageTemplate }: {
|
|
66
58
|
llm: BaseLanguageModelInterface;
|
|
67
59
|
tools: Tool[] | DynamicStructuredTool[];
|
|
68
60
|
humanMessageTemplate?: string;
|
|
@@ -77,11 +69,7 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
|
|
|
77
69
|
* @param humanMessageTemplate The template for human messages. If not provided, a default template is used.
|
|
78
70
|
* @returns A new PlanAndExecuteAgentExecutor instance.
|
|
79
71
|
*/
|
|
80
|
-
static fromLLMAndTools({
|
|
81
|
-
llm,
|
|
82
|
-
tools,
|
|
83
|
-
humanMessageTemplate
|
|
84
|
-
}: {
|
|
72
|
+
static fromLLMAndTools({ llm, tools, humanMessageTemplate }: {
|
|
85
73
|
llm: BaseLanguageModelInterface;
|
|
86
74
|
tools: Tool[] | DynamicStructuredTool[];
|
|
87
75
|
humanMessageTemplate?: string;
|
|
@@ -92,5 +80,5 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
|
|
|
92
80
|
serialize(): SerializedLLMChain;
|
|
93
81
|
}
|
|
94
82
|
//#endregion
|
|
95
|
-
export { PlanAndExecuteAgentExecutor };
|
|
83
|
+
export { PlanAndExecuteAgentExecutor, PlanAndExecuteAgentExecutorInput };
|
|
96
84
|
//# sourceMappingURL=agent_executor.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_executor.d.cts","names":[],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent_executor.d.cts","names":[],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"mappings":";;;;;;;;;;;;;UA8CiB,yCAAyC;EACxD,SAAS;EACT,cAAc;EACd,gBAAgB;EAChB;EACA;;;;;;;;cASW,oCAAoC;SACxC;UAIC;UAEA;UAEA;UAEA;UAEA;EAER,YAAY,OAAO;MASf;MAIA;;;;;;;;SAYS,oBACX,KACA;IAEA,KAAK;IACL,OAAO,SAAS;MACjB,QAAA;;;;;;;;;;SAiBM,yBACL,KACA,OACA;IAEA,KAAK;IACL,OAAO,SAAS;IAChB;MACD;;;;;;;;;;;SAqCY,kBACX,KACA,OACA;IAEA,KAAK;IACL,OAAO,SAAS;IAChB;MACE,KAAK,gEAA6D,QAAA;;EAgBhE,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAwBX;EAIA,aAAa"}
|