langchain 1.0.0-alpha.4 → 1.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/ReactAgent.cjs +5 -5
- package/dist/agents/ReactAgent.cjs.map +1 -1
- package/dist/agents/ReactAgent.d.cts +1 -3
- package/dist/agents/ReactAgent.d.cts.map +1 -1
- package/dist/agents/ReactAgent.d.ts +1 -3
- package/dist/agents/ReactAgent.d.ts.map +1 -1
- package/dist/agents/ReactAgent.js +6 -6
- package/dist/agents/ReactAgent.js.map +1 -1
- package/dist/agents/RunnableCallable.cjs +5 -0
- package/dist/agents/RunnableCallable.cjs.map +1 -1
- package/dist/agents/RunnableCallable.d.cts +2 -0
- package/dist/agents/RunnableCallable.d.cts.map +1 -1
- package/dist/agents/RunnableCallable.d.ts +2 -0
- package/dist/agents/RunnableCallable.d.ts.map +1 -1
- package/dist/agents/RunnableCallable.js +5 -0
- package/dist/agents/RunnableCallable.js.map +1 -1
- package/dist/agents/annotation.cjs.map +1 -1
- package/dist/agents/annotation.d.cts +5 -7
- package/dist/agents/annotation.d.cts.map +1 -1
- package/dist/agents/annotation.d.ts +4 -6
- package/dist/agents/annotation.d.ts.map +1 -1
- package/dist/agents/annotation.js.map +1 -1
- package/dist/agents/createAgent.cjs +10 -0
- package/dist/agents/createAgent.cjs.map +1 -0
- package/dist/agents/createAgent.js +10 -0
- package/dist/agents/createAgent.js.map +1 -0
- package/dist/agents/index.cjs +23 -4
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +84 -21
- package/dist/agents/index.d.cts.map +1 -1
- package/dist/agents/index.d.ts +84 -21
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +23 -4
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/middlewareAgent/ReactAgent.cjs +255 -0
- package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -0
- package/dist/agents/middlewareAgent/ReactAgent.d.cts +67 -0
- package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/ReactAgent.d.ts +67 -0
- package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/ReactAgent.js +254 -0
- package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -0
- package/dist/agents/middlewareAgent/annotation.cjs +39 -0
- package/dist/agents/middlewareAgent/annotation.cjs.map +1 -0
- package/dist/agents/middlewareAgent/annotation.js +38 -0
- package/dist/agents/middlewareAgent/annotation.js.map +1 -0
- package/dist/agents/middlewareAgent/index.cjs +11 -0
- package/dist/agents/middlewareAgent/index.cjs.map +1 -0
- package/dist/agents/middlewareAgent/index.js +11 -0
- package/dist/agents/middlewareAgent/index.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/hitl.cjs +235 -0
- package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/hitl.d.cts +199 -0
- package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/hitl.d.ts +199 -0
- package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/hitl.js +234 -0
- package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/index.cjs +26 -0
- package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/index.d.cts +4 -0
- package/dist/agents/middlewareAgent/middleware/index.d.ts +4 -0
- package/dist/agents/middlewareAgent/middleware/index.js +17 -0
- package/dist/agents/middlewareAgent/middleware/index.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.cjs +182 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts +152 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts +152 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.js +181 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/summarization.cjs +262 -0
- package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/summarization.d.cts +89 -0
- package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/summarization.d.ts +89 -0
- package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/summarization.js +260 -0
- package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware.cjs +47 -0
- package/dist/agents/middlewareAgent/middleware.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware.d.cts +46 -0
- package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware.d.ts +46 -0
- package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware.js +46 -0
- package/dist/agents/middlewareAgent/middleware.js.map +1 -0
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +29 -0
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -0
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +29 -0
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -0
- package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +325 -0
- package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -0
- package/dist/agents/middlewareAgent/nodes/AgentNode.js +324 -0
- package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -0
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +27 -0
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -0
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +27 -0
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -0
- package/dist/agents/middlewareAgent/nodes/middleware.cjs +73 -0
- package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -0
- package/dist/agents/middlewareAgent/nodes/middleware.js +73 -0
- package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -0
- package/dist/agents/middlewareAgent/nodes/utils.cjs +74 -0
- package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -0
- package/dist/agents/middlewareAgent/nodes/utils.js +70 -0
- package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -0
- package/dist/agents/middlewareAgent/types.d.cts +380 -0
- package/dist/agents/middlewareAgent/types.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/types.d.ts +380 -0
- package/dist/agents/middlewareAgent/types.d.ts.map +1 -0
- package/dist/agents/nodes/AgentNode.cjs +4 -4
- package/dist/agents/nodes/AgentNode.cjs.map +1 -1
- package/dist/agents/nodes/AgentNode.js +4 -4
- package/dist/agents/nodes/AgentNode.js.map +1 -1
- package/dist/agents/nodes/ToolNode.cjs +3 -3
- package/dist/agents/nodes/ToolNode.cjs.map +1 -1
- package/dist/agents/nodes/ToolNode.d.cts +4 -5
- package/dist/agents/nodes/ToolNode.d.cts.map +1 -1
- package/dist/agents/nodes/ToolNode.d.ts +1 -2
- package/dist/agents/nodes/ToolNode.d.ts.map +1 -1
- package/dist/agents/nodes/ToolNode.js +4 -4
- package/dist/agents/nodes/ToolNode.js.map +1 -1
- package/dist/agents/responses.cjs +1 -1
- package/dist/agents/responses.cjs.map +1 -1
- package/dist/agents/responses.d.cts.map +1 -1
- package/dist/agents/responses.d.ts.map +1 -1
- package/dist/agents/responses.js +1 -1
- package/dist/agents/responses.js.map +1 -1
- package/dist/agents/types.d.cts +5 -7
- package/dist/agents/types.d.cts.map +1 -1
- package/dist/agents/types.d.ts +1 -3
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/utils.cjs +6 -6
- package/dist/agents/utils.cjs.map +1 -1
- package/dist/agents/utils.js +7 -7
- package/dist/agents/utils.js.map +1 -1
- package/dist/agents/withAgentName.cjs.map +1 -1
- package/dist/agents/withAgentName.js.map +1 -1
- package/dist/chains/api/api_chain.d.cts +1 -1
- package/dist/chains/api/prompts.cjs.map +1 -1
- package/dist/chains/api/prompts.js.map +1 -1
- package/dist/chains/base.d.cts +1 -1
- package/dist/chains/combine_docs_chain.d.cts +1 -1
- package/dist/chains/combine_documents/stuff.d.cts +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
- package/dist/chains/conversational_retrieval_chain.d.cts +1 -1
- package/dist/chains/graph_qa/cypher.d.cts +1 -1
- package/dist/chains/history_aware_retriever.d.cts +2 -2
- package/dist/chains/index.cjs +0 -3
- package/dist/chains/index.cjs.map +1 -1
- package/dist/chains/index.d.cts +1 -2
- package/dist/chains/index.d.ts +1 -2
- package/dist/chains/index.js +1 -3
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/llm_chain.d.cts +3 -3
- package/dist/chains/openai_functions/base.d.cts +3 -3
- package/dist/chains/openai_functions/extraction.cjs.map +1 -1
- package/dist/chains/openai_functions/extraction.d.cts +1 -3
- package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
- package/dist/chains/openai_functions/extraction.d.ts +1 -3
- 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/index.cjs +0 -5
- package/dist/chains/openai_functions/index.cjs.map +1 -1
- package/dist/chains/openai_functions/index.d.cts +1 -2
- package/dist/chains/openai_functions/index.d.ts +1 -2
- package/dist/chains/openai_functions/index.js +1 -4
- package/dist/chains/openai_functions/index.js.map +1 -1
- package/dist/chains/openai_functions/openapi.cjs +4 -4
- package/dist/chains/openai_functions/openapi.cjs.map +1 -1
- package/dist/chains/openai_functions/openapi.d.cts +2 -2
- package/dist/chains/openai_functions/openapi.js +4 -4
- package/dist/chains/openai_functions/openapi.js.map +1 -1
- package/dist/chains/openai_functions/tagging.cjs.map +1 -1
- package/dist/chains/openai_functions/tagging.d.cts +2 -4
- package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
- package/dist/chains/openai_functions/tagging.d.ts +1 -3
- package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
- package/dist/chains/openai_functions/tagging.js.map +1 -1
- package/dist/chains/query_constructor/index.cjs +4 -4
- package/dist/chains/query_constructor/index.cjs.map +1 -1
- package/dist/chains/query_constructor/index.d.cts +5 -3
- package/dist/chains/query_constructor/index.d.cts.map +1 -1
- package/dist/chains/query_constructor/index.d.ts +4 -2
- package/dist/chains/query_constructor/index.d.ts.map +1 -1
- package/dist/chains/query_constructor/index.js +1 -1
- package/dist/chains/query_constructor/index.js.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
- package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/refine_prompts.js.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
- package/dist/chains/retrieval.d.cts +1 -1
- package/dist/chains/router/llm_router.d.cts +1 -1
- package/dist/chains/router/multi_prompt.cjs +4 -4
- package/dist/chains/router/multi_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt.js +1 -1
- package/dist/chains/router/multi_prompt.js.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.cjs +4 -4
- package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.js +1 -1
- package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.d.cts +2 -2
- package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
- package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
- package/dist/chains/summarization/stuff_prompts.js.map +1 -1
- package/dist/chat_models/universal.cjs +8 -5
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.d.cts +4 -4
- package/dist/chat_models/universal.d.cts.map +1 -1
- package/dist/chat_models/universal.d.ts +2 -2
- package/dist/chat_models/universal.d.ts.map +1 -1
- package/dist/chat_models/universal.js +8 -5
- package/dist/chat_models/universal.js.map +1 -1
- 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.map +1 -1
- package/dist/document_loaders/fs/json.cjs +7 -1
- package/dist/document_loaders/fs/json.cjs.map +1 -1
- package/dist/document_loaders/fs/json.js +7 -1
- package/dist/document_loaders/fs/json.js.map +1 -1
- package/dist/embeddings/cache_backed.cjs +1 -1
- package/dist/embeddings/cache_backed.cjs.map +1 -1
- package/dist/embeddings/cache_backed.d.cts +1 -1
- package/dist/embeddings/cache_backed.d.ts +1 -1
- package/dist/embeddings/cache_backed.js +2 -2
- package/dist/embeddings/cache_backed.js.map +1 -1
- package/dist/evaluation/agents/trajectory.d.cts +3 -3
- package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
- package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.cts +1 -1
- package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.cts +1 -1
- package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
- package/dist/evaluation/embedding_distance/base.cjs +2 -4
- package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
- package/dist/evaluation/embedding_distance/base.js +2 -3
- package/dist/evaluation/embedding_distance/base.js.map +1 -1
- package/dist/evaluation/loader.cjs +7 -12
- package/dist/evaluation/loader.cjs.map +1 -1
- package/dist/evaluation/loader.d.cts +8 -2
- package/dist/evaluation/loader.d.cts.map +1 -1
- package/dist/evaluation/loader.d.ts +8 -2
- package/dist/evaluation/loader.d.ts.map +1 -1
- package/dist/evaluation/loader.js +7 -12
- package/dist/evaluation/loader.js.map +1 -1
- package/dist/evaluation/qa/eval_chain.d.cts +1 -1
- package/dist/hub/base.cjs.map +1 -1
- package/dist/hub/base.js.map +1 -1
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -4
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/langchain-core/dist/load/serializable.d.cts.map +1 -1
- package/dist/langchain-core/dist/messages/base.d.cts +24 -33
- package/dist/langchain-core/dist/messages/base.d.cts.map +1 -1
- package/dist/langchain-core/dist/messages/content/index.d.cts +1 -1
- package/dist/langchain-core/dist/messages/content/index.d.cts.map +1 -1
- package/dist/langchain-core/dist/messages/message.d.cts +598 -0
- package/dist/langchain-core/dist/messages/message.d.cts.map +1 -0
- package/dist/langchain-core/dist/messages/metadata.d.cts +97 -0
- package/dist/langchain-core/dist/messages/metadata.d.cts.map +1 -0
- package/dist/langchain-core/dist/messages/utils.d.cts +75 -0
- package/dist/langchain-core/dist/messages/utils.d.cts.map +1 -0
- package/dist/langchain-core/dist/prompt_values.d.cts.map +1 -1
- package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +1 -1
- package/dist/libs/langchain-core/dist/messages/base.d.ts +24 -33
- package/dist/libs/langchain-core/dist/messages/base.d.ts.map +1 -1
- package/dist/libs/langchain-core/dist/messages/content/index.d.ts +1 -1
- package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +1 -1
- package/dist/libs/langchain-core/dist/messages/message.d.ts +598 -0
- package/dist/libs/langchain-core/dist/messages/message.d.ts.map +1 -0
- package/dist/libs/langchain-core/dist/messages/metadata.d.ts +97 -0
- package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +1 -0
- package/dist/libs/langchain-core/dist/messages/utils.d.ts +75 -0
- package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +1 -0
- package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +1 -1
- package/dist/libs/langchain-core/dist/utils/types/index.d.ts +2 -0
- package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +1 -1
- package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +1 -0
- package/dist/load/import_map.cjs +2 -13
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +2 -13
- package/dist/load/import_map.js.map +1 -1
- package/dist/memory/prompt.cjs.map +1 -1
- package/dist/memory/prompt.d.cts.map +1 -1
- package/dist/memory/prompt.d.ts.map +1 -1
- package/dist/memory/prompt.js.map +1 -1
- package/dist/memory/summary.d.cts +1 -1
- package/dist/output_parsers/combining.cjs +1 -1
- package/dist/output_parsers/combining.cjs.map +1 -1
- package/dist/output_parsers/combining.js +1 -1
- package/dist/output_parsers/combining.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 -1
- package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.js +1 -1
- package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
- package/dist/output_parsers/fix.d.cts +1 -1
- package/dist/output_parsers/http_response.d.cts +1 -1
- package/dist/output_parsers/regex.cjs.map +1 -1
- package/dist/output_parsers/regex.js.map +1 -1
- package/dist/output_parsers/structured.cjs +4 -4
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.d.cts +2 -2
- package/dist/output_parsers/structured.d.cts.map +1 -1
- package/dist/output_parsers/structured.d.ts +1 -1
- package/dist/output_parsers/structured.d.ts.map +1 -1
- package/dist/output_parsers/structured.js +2 -2
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/retrievers/ensemble.cjs.map +1 -1
- package/dist/retrievers/ensemble.js.map +1 -1
- package/dist/storage/file_system.cjs +1 -1
- package/dist/storage/file_system.cjs.map +1 -1
- package/dist/storage/file_system.js +1 -1
- package/dist/storage/file_system.js.map +1 -1
- package/dist/tools/fs.cjs +5 -5
- package/dist/tools/fs.cjs.map +1 -1
- package/dist/tools/fs.d.cts +1 -1
- package/dist/tools/fs.d.cts.map +1 -1
- package/dist/tools/fs.d.ts +1 -1
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +1 -1
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/json.d.cts +1 -1
- package/dist/tools/retriever.cjs +2 -2
- package/dist/tools/retriever.cjs.map +1 -1
- package/dist/tools/retriever.d.cts +2 -2
- package/dist/tools/retriever.d.cts.map +1 -1
- package/dist/tools/retriever.d.ts +1 -1
- package/dist/tools/retriever.d.ts.map +1 -1
- package/dist/tools/retriever.js +1 -1
- package/dist/tools/retriever.js.map +1 -1
- package/dist/tools/sql.cjs +1 -2
- package/dist/tools/sql.cjs.map +1 -1
- package/dist/tools/sql.d.cts +1 -1
- package/dist/tools/sql.d.cts.map +1 -1
- package/dist/tools/sql.d.ts +1 -1
- package/dist/tools/sql.d.ts.map +1 -1
- package/dist/tools/sql.js +1 -2
- package/dist/tools/sql.js.map +1 -1
- package/dist/tools/vectorstore.d.cts +1 -1
- package/dist/tools/webbrowser.d.cts +1 -1
- package/dist/types/expression-parser.d.cts +2 -0
- package/dist/types/expression-parser.d.cts.map +1 -1
- package/dist/types/expression-parser.d.ts +2 -0
- package/dist/types/expression-parser.d.ts.map +1 -1
- package/dist/util/hub.cjs +1 -1
- package/dist/util/hub.js +1 -1
- package/dist/util/openapi.cjs +1 -1
- package/dist/util/openapi.cjs.map +1 -1
- package/dist/util/openapi.js +1 -1
- package/dist/util/openapi.js.map +1 -1
- package/package.json +21 -16
- package/dist/chains/openai_functions/structured_output.cjs +0 -107
- package/dist/chains/openai_functions/structured_output.cjs.map +0 -1
- package/dist/chains/openai_functions/structured_output.d.cts +0 -38
- package/dist/chains/openai_functions/structured_output.d.cts.map +0 -1
- package/dist/chains/openai_functions/structured_output.d.ts +0 -38
- package/dist/chains/openai_functions/structured_output.d.ts.map +0 -1
- package/dist/chains/openai_functions/structured_output.js +0 -105
- package/dist/chains/openai_functions/structured_output.js.map +0 -1
- package/dist/chains/openai_moderation.cjs +0 -107
- package/dist/chains/openai_moderation.cjs.map +0 -1
- package/dist/chains/openai_moderation.d.cts +0 -74
- package/dist/chains/openai_moderation.d.cts.map +0 -1
- package/dist/chains/openai_moderation.d.ts +0 -74
- package/dist/chains/openai_moderation.d.ts.map +0 -1
- package/dist/chains/openai_moderation.js +0 -106
- package/dist/chains/openai_moderation.js.map +0 -1
package/dist/tools/sql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.js","names":["db: SqlDatabase","input: string","_: string","selectedTables: SqlTable[]","table: SqlTable","llmChainOrOptions?: LLMChain | QueryCheckerToolArgs"],"sources":["../../src/tools/sql.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport {
|
|
1
|
+
{"version":3,"file":"sql.js","names":["db: SqlDatabase","input: string","_: string","selectedTables: SqlTable[]","table: SqlTable","llmChainOrOptions?: LLMChain | QueryCheckerToolArgs"],"sources":["../../src/tools/sql.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { Tool } from \"@langchain/core/tools\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { LLMChain } from \"../chains/llm_chain.js\";\nimport type { SqlDatabase } from \"../sql_db.js\";\nimport { SqlTable } from \"../util/sql_utils.js\";\n\n/**\n * Interface for SQL tools. It has a `db` property which is a SQL\n * database.\n */\ninterface SqlTool {\n db: SqlDatabase;\n}\n\n/**\n * A tool for executing SQL queries. It takes a SQL database as a\n * parameter and assigns it to the `db` property. The `_call` method is\n * used to run the SQL query and return the result. If the query is\n * incorrect, an error message is returned.\n */\nexport class QuerySqlTool extends Tool implements SqlTool {\n static lc_name() {\n return \"QuerySqlTool\";\n }\n\n name = \"query-sql\";\n\n db: SqlDatabase;\n\n constructor(db: SqlDatabase) {\n super(...arguments);\n this.db = db;\n }\n\n /** @ignore */\n async _call(input: string) {\n try {\n return await this.db.run(input);\n } catch (error) {\n return `${error}`;\n }\n }\n\n description = `Input to this tool is a detailed and correct SQL query, output is a result from the database.\n If the query is not correct, an error message will be returned.\n If an error is returned, rewrite the query, check the query, and try again.`;\n}\n\n/**\n * A tool for retrieving information about SQL tables. It takes a SQL\n * database as a parameter and assigns it to the `db` property. The\n * `_call` method is used to retrieve the schema and sample rows for the\n * specified tables. If the tables do not exist, an error message is\n * returned.\n */\nexport class InfoSqlTool extends Tool implements SqlTool {\n static lc_name() {\n return \"InfoSqlTool\";\n }\n\n name = \"info-sql\";\n\n db: SqlDatabase;\n\n constructor(db: SqlDatabase) {\n super();\n this.db = db;\n }\n\n /** @ignore */\n async _call(input: string) {\n try {\n const tables = input.split(\",\").map((table) => table.trim());\n return await this.db.getTableInfo(tables);\n } catch (error) {\n return `${error}`;\n }\n }\n\n description = `Input to this tool is a comma-separated list of tables, output is the schema and sample rows for those tables.\n Be sure that the tables actually exist by calling list-tables-sql first!\n\n Example Input: \"table1, table2, table3.`;\n}\n\n/**\n * A tool for listing all tables in a SQL database. It takes a SQL\n * database as a parameter and assigns it to the `db` property. The\n * `_call` method is used to return a comma-separated list of all tables\n * in the database.\n */\nexport class ListTablesSqlTool extends Tool implements SqlTool {\n static lc_name() {\n return \"ListTablesSqlTool\";\n }\n\n name = \"list-tables-sql\";\n\n db: SqlDatabase;\n\n constructor(db: SqlDatabase) {\n super();\n this.db = db;\n }\n\n async _call(_: string) {\n try {\n let selectedTables: SqlTable[] = this.db.allTables;\n\n if (this.db.includesTables.length > 0) {\n selectedTables = selectedTables.filter((currentTable) =>\n this.db.includesTables.includes(currentTable.tableName)\n );\n }\n\n if (this.db.ignoreTables.length > 0) {\n selectedTables = selectedTables.filter(\n (currentTable) =>\n !this.db.ignoreTables.includes(currentTable.tableName)\n );\n }\n\n const tables = selectedTables.map((table: SqlTable) => table.tableName);\n return tables.join(\", \");\n } catch (error) {\n return `${error}`;\n }\n }\n\n description = `Input is an empty string, output is a comma-separated list of tables in the database.`;\n}\n\n/**\n * Arguments for the QueryCheckerTool class.\n */\ntype QueryCheckerToolArgs = {\n llmChain?: LLMChain;\n llm: BaseLanguageModelInterface;\n _chainType?: never;\n};\n\n/**\n * A tool for checking SQL queries for common mistakes. It takes a\n * LLMChain or QueryCheckerToolArgs as a parameter. The `_call` method is\n * used to check the input query for common mistakes and returns a\n * prediction.\n */\nexport class QueryCheckerTool extends Tool {\n static lc_name() {\n return \"QueryCheckerTool\";\n }\n\n name = \"query-checker\";\n\n template = `\n {query}\nDouble check the SQL query above for common mistakes, including:\n- Using NOT IN with NULL values\n- Using UNION when UNION ALL should have been used\n- Using BETWEEN for exclusive ranges\n- Data type mismatch in predicates\n- Properly quoting identifiers\n- Using the correct number of arguments for functions\n- Casting to the correct data type\n- Using the proper columns for joins\n\nIf there are any of the above mistakes, rewrite the query. If there are no mistakes, just reproduce the original query.`;\n\n llmChain: LLMChain;\n\n constructor(llmChainOrOptions?: LLMChain | QueryCheckerToolArgs) {\n super();\n if (typeof llmChainOrOptions?._chainType === \"function\") {\n this.llmChain = llmChainOrOptions as LLMChain;\n } else {\n const options = llmChainOrOptions as QueryCheckerToolArgs;\n if (options?.llmChain !== undefined) {\n this.llmChain = options.llmChain;\n } else {\n const prompt = new PromptTemplate({\n template: this.template,\n inputVariables: [\"query\"],\n });\n const llm = options.llm;\n this.llmChain = new LLMChain({ llm, prompt });\n }\n }\n }\n\n /** @ignore */\n async _call(input: string) {\n return this.llmChain.predict({ query: input });\n }\n\n description = `Use this tool to double check if your query is correct before executing it.\n Always use this tool before executing a query with query-sql!`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,IAAa,eAAb,cAAkC,KAAwB;CACxD,OAAO,UAAU;AACf,SAAO;CACR;CAED,OAAO;CAEP;CAEA,YAAYA,IAAiB;EAC3B,MAAM,GAAG,UAAU;EACnB,KAAK,KAAK;CACX;;CAGD,MAAM,MAAMC,OAAe;AACzB,MAAI;AACF,UAAO,MAAM,KAAK,GAAG,IAAI,MAAM;EAChC,SAAQ,OAAO;AACd,UAAO,GAAG,OAAO;EAClB;CACF;CAED,cAAc,CAAC;;6EAE4D,CAAC;AAC7E;;;;;;;;AASD,IAAa,cAAb,cAAiC,KAAwB;CACvD,OAAO,UAAU;AACf,SAAO;CACR;CAED,OAAO;CAEP;CAEA,YAAYD,IAAiB;EAC3B,OAAO;EACP,KAAK,KAAK;CACX;;CAGD,MAAM,MAAMC,OAAe;AACzB,MAAI;GACF,MAAM,SAAS,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,MAAM,CAAC;AAC5D,UAAO,MAAM,KAAK,GAAG,aAAa,OAAO;EAC1C,SAAQ,OAAO;AACd,UAAO,GAAG,OAAO;EAClB;CACF;CAED,cAAc,CAAC;;;2CAG0B,CAAC;AAC3C;;;;;;;AAQD,IAAa,oBAAb,cAAuC,KAAwB;CAC7D,OAAO,UAAU;AACf,SAAO;CACR;CAED,OAAO;CAEP;CAEA,YAAYD,IAAiB;EAC3B,OAAO;EACP,KAAK,KAAK;CACX;CAED,MAAM,MAAME,GAAW;AACrB,MAAI;GACF,IAAIC,iBAA6B,KAAK,GAAG;AAEzC,OAAI,KAAK,GAAG,eAAe,SAAS,GAClC,iBAAiB,eAAe,OAAO,CAAC,iBACtC,KAAK,GAAG,eAAe,SAAS,aAAa,UAAU,CACxD;AAGH,OAAI,KAAK,GAAG,aAAa,SAAS,GAChC,iBAAiB,eAAe,OAC9B,CAAC,iBACC,CAAC,KAAK,GAAG,aAAa,SAAS,aAAa,UAAU,CACzD;GAGH,MAAM,SAAS,eAAe,IAAI,CAACC,UAAoB,MAAM,UAAU;AACvE,UAAO,OAAO,KAAK,KAAK;EACzB,SAAQ,OAAO;AACd,UAAO,GAAG,OAAO;EAClB;CACF;CAED,cAAc,CAAC,qFAAqF,CAAC;AACtG;;;;;;;AAiBD,IAAa,mBAAb,cAAsC,KAAK;CACzC,OAAO,UAAU;AACf,SAAO;CACR;CAED,OAAO;CAEP,WAAW,CAAC;;;;;;;;;;;;uHAYyG,CAAC;CAEtH;CAEA,YAAYC,mBAAqD;EAC/D,OAAO;AACP,MAAI,OAAO,mBAAmB,eAAe,YAC3C,KAAK,WAAW;OACX;GACL,MAAM,UAAU;AAChB,OAAI,SAAS,aAAa,QACxB,KAAK,WAAW,QAAQ;QACnB;IACL,MAAM,SAAS,IAAI,eAAe;KAChC,UAAU,KAAK;KACf,gBAAgB,CAAC,OAAQ;IAC1B;IACD,MAAM,MAAM,QAAQ;IACpB,KAAK,WAAW,IAAI,SAAS;KAAE;KAAK;IAAQ;GAC7C;EACF;CACF;;CAGD,MAAM,MAAMJ,OAAe;AACzB,SAAO,KAAK,SAAS,QAAQ,EAAE,OAAO,MAAO,EAAC;CAC/C;CAED,cAAc,CAAC;iEACgD,CAAC;AACjE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VectorDBQAChain } from "../chains/vector_db_qa.cjs";
|
|
2
2
|
import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
|
|
3
|
-
import { VectorStoreInterface } from "@langchain/core/vectorstores";
|
|
4
3
|
import { Tool } from "@langchain/core/tools";
|
|
4
|
+
import { VectorStoreInterface } from "@langchain/core/vectorstores";
|
|
5
5
|
|
|
6
6
|
//#region src/tools/vectorstore.d.ts
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
|
|
2
|
+
import { Tool, ToolParams } from "@langchain/core/tools";
|
|
2
3
|
import { CallbackManager, CallbackManagerForToolRun } from "@langchain/core/callbacks/manager";
|
|
3
4
|
import { TextSplitter } from "@langchain/textsplitters";
|
|
4
|
-
import { Tool, ToolParams } from "@langchain/core/tools";
|
|
5
5
|
import { EmbeddingsInterface } from "@langchain/core/embeddings";
|
|
6
6
|
|
|
7
7
|
//#region src/tools/webbrowser.d.ts
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
interface ParseOptions {
|
|
3
3
|
filename?: string;
|
|
4
4
|
startRule?: "Start";
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
6
|
tracer?: any;
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
8
|
[key: string]: any;
|
|
7
9
|
}
|
|
8
10
|
type ParseFunction = <Options extends ParseOptions>(input: string, options?: Options) => Options extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-parser.d.cts","names":["ParseOptions","ParseFunction","Options","StartRule","Start","Program","Identifier","IdentifierName","Literal","NullLiteral","BooleanLiteral","NumericLiteral","StringLiteral","DecimalLiteral","PrimaryExpression","ArrayExpression","ObjectExpression","Expression","ElementList","PropertyNameAndValueList","PropertyAssignment","PropertyName","MemberExpression","CallExpression","Arguments","ExpressionStatement","ExpressionNode"],"sources":["../../src/types/expression-parser.d.ts"],"sourcesContent":["export interface ParseOptions {\n filename?: string;\n startRule?: \"Start\";\n tracer?: any;\n [key: string]: any;\n}\nexport type ParseFunction = <Options extends ParseOptions>(input: string, options?: Options) => Options extends {\n startRule: infer StartRule;\n} ? StartRule extends \"Start\" ? Start : Start : Start;\n// These types were autogenerated by ts-pegjs\nexport type Start = Program;\nexport type Identifier = IdentifierName;\nexport type IdentifierName = {\n type: \"Identifier\";\n name: string;\n};\nexport type Literal = NullLiteral | BooleanLiteral | NumericLiteral | StringLiteral;\nexport type NullLiteral = {\n type: \"NullLiteral\";\n value: null;\n};\nexport type BooleanLiteral = {\n type: \"BooleanLiteral\";\n value: true;\n} | {\n type: \"BooleanLiteral\";\n value: false;\n};\nexport type NumericLiteral = DecimalLiteral;\nexport type DecimalLiteral = {\n type: \"NumericLiteral\";\n value: number;\n};\nexport type StringLiteral = {\n type: \"StringLiteral\";\n value: string;\n};\nexport type PrimaryExpression = Identifier | Literal | ArrayExpression | ObjectExpression | Expression;\nexport type ArrayExpression = {\n type: \"ArrayExpression\";\n elements: ElementList;\n};\nexport type ElementList = PrimaryExpression[];\nexport type ObjectExpression = {\n type: \"ObjectExpression\";\n properties: [];\n} | {\n type: \"ObjectExpression\";\n properties: PropertyNameAndValueList;\n};\nexport type PropertyNameAndValueList = PrimaryExpression[];\nexport type PropertyAssignment = {\n type: \"PropertyAssignment\";\n key: PropertyName;\n value: Expression;\n kind: \"init\";\n};\nexport type PropertyName = IdentifierName | StringLiteral | NumericLiteral;\nexport type MemberExpression = {\n type: \"MemberExpression\";\n property: StringLiteral;\n computed: true;\n object: MemberExpression | Identifier | StringLiteral;\n} | {\n type: \"MemberExpression\";\n property: Identifier;\n computed: false;\n object: MemberExpression | Identifier | StringLiteral;\n};\nexport type CallExpression = {\n type: \"CallExpression\";\n arguments: Arguments;\n callee: MemberExpression | Identifier;\n};\nexport type Arguments = PrimaryExpression[];\nexport type Expression = CallExpression | MemberExpression;\nexport type ExpressionStatement = {\n type: \"ExpressionStatement\";\n expression: Expression;\n};\nexport type Program = {\n type: \"Program\";\n body: ExpressionStatement;\n};\nexport type ExpressionNode = Program | ExpressionStatement | ArrayExpression | BooleanLiteral | CallExpression | Identifier | MemberExpression | NumericLiteral | ObjectExpression | PropertyAssignment | NullLiteral | StringLiteral;\n"],"mappings":";UAAiBA,YAAAA;EAAAA,QAAAA,CAAAA,EAAAA,MAAY;
|
|
1
|
+
{"version":3,"file":"expression-parser.d.cts","names":["ParseOptions","ParseFunction","Options","StartRule","Start","Program","Identifier","IdentifierName","Literal","NullLiteral","BooleanLiteral","NumericLiteral","StringLiteral","DecimalLiteral","PrimaryExpression","ArrayExpression","ObjectExpression","Expression","ElementList","PropertyNameAndValueList","PropertyAssignment","PropertyName","MemberExpression","CallExpression","Arguments","ExpressionStatement","ExpressionNode"],"sources":["../../src/types/expression-parser.d.ts"],"sourcesContent":["export interface ParseOptions {\n filename?: string;\n startRule?: \"Start\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tracer?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\nexport type ParseFunction = <Options extends ParseOptions>(input: string, options?: Options) => Options extends {\n startRule: infer StartRule;\n} ? StartRule extends \"Start\" ? Start : Start : Start;\n// These types were autogenerated by ts-pegjs\nexport type Start = Program;\nexport type Identifier = IdentifierName;\nexport type IdentifierName = {\n type: \"Identifier\";\n name: string;\n};\nexport type Literal = NullLiteral | BooleanLiteral | NumericLiteral | StringLiteral;\nexport type NullLiteral = {\n type: \"NullLiteral\";\n value: null;\n};\nexport type BooleanLiteral = {\n type: \"BooleanLiteral\";\n value: true;\n} | {\n type: \"BooleanLiteral\";\n value: false;\n};\nexport type NumericLiteral = DecimalLiteral;\nexport type DecimalLiteral = {\n type: \"NumericLiteral\";\n value: number;\n};\nexport type StringLiteral = {\n type: \"StringLiteral\";\n value: string;\n};\nexport type PrimaryExpression = Identifier | Literal | ArrayExpression | ObjectExpression | Expression;\nexport type ArrayExpression = {\n type: \"ArrayExpression\";\n elements: ElementList;\n};\nexport type ElementList = PrimaryExpression[];\nexport type ObjectExpression = {\n type: \"ObjectExpression\";\n properties: [];\n} | {\n type: \"ObjectExpression\";\n properties: PropertyNameAndValueList;\n};\nexport type PropertyNameAndValueList = PrimaryExpression[];\nexport type PropertyAssignment = {\n type: \"PropertyAssignment\";\n key: PropertyName;\n value: Expression;\n kind: \"init\";\n};\nexport type PropertyName = IdentifierName | StringLiteral | NumericLiteral;\nexport type MemberExpression = {\n type: \"MemberExpression\";\n property: StringLiteral;\n computed: true;\n object: MemberExpression | Identifier | StringLiteral;\n} | {\n type: \"MemberExpression\";\n property: Identifier;\n computed: false;\n object: MemberExpression | Identifier | StringLiteral;\n};\nexport type CallExpression = {\n type: \"CallExpression\";\n arguments: Arguments;\n callee: MemberExpression | Identifier;\n};\nexport type Arguments = PrimaryExpression[];\nexport type Expression = CallExpression | MemberExpression;\nexport type ExpressionStatement = {\n type: \"ExpressionStatement\";\n expression: Expression;\n};\nexport type Program = {\n type: \"Program\";\n body: ExpressionStatement;\n};\nexport type ExpressionNode = Program | ExpressionStatement | ArrayExpression | BooleanLiteral | CallExpression | Identifier | MemberExpression | NumericLiteral | ObjectExpression | PropertyAssignment | NullLiteral | StringLiteral;\n"],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
interface ParseOptions {
|
|
3
3
|
filename?: string;
|
|
4
4
|
startRule?: "Start";
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
6
|
tracer?: any;
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
8
|
[key: string]: any;
|
|
7
9
|
}
|
|
8
10
|
type ParseFunction = <Options extends ParseOptions>(input: string, options?: Options) => Options extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-parser.d.ts","names":["ParseOptions","ParseFunction","Options","StartRule","Start","Program","Identifier","IdentifierName","Literal","NullLiteral","BooleanLiteral","NumericLiteral","StringLiteral","DecimalLiteral","PrimaryExpression","ArrayExpression","ObjectExpression","Expression","ElementList","PropertyNameAndValueList","PropertyAssignment","PropertyName","MemberExpression","CallExpression","Arguments","ExpressionStatement","ExpressionNode"],"sources":["../../src/types/expression-parser.d.ts"],"sourcesContent":["export interface ParseOptions {\n filename?: string;\n startRule?: \"Start\";\n tracer?: any;\n [key: string]: any;\n}\nexport type ParseFunction = <Options extends ParseOptions>(input: string, options?: Options) => Options extends {\n startRule: infer StartRule;\n} ? StartRule extends \"Start\" ? Start : Start : Start;\n// These types were autogenerated by ts-pegjs\nexport type Start = Program;\nexport type Identifier = IdentifierName;\nexport type IdentifierName = {\n type: \"Identifier\";\n name: string;\n};\nexport type Literal = NullLiteral | BooleanLiteral | NumericLiteral | StringLiteral;\nexport type NullLiteral = {\n type: \"NullLiteral\";\n value: null;\n};\nexport type BooleanLiteral = {\n type: \"BooleanLiteral\";\n value: true;\n} | {\n type: \"BooleanLiteral\";\n value: false;\n};\nexport type NumericLiteral = DecimalLiteral;\nexport type DecimalLiteral = {\n type: \"NumericLiteral\";\n value: number;\n};\nexport type StringLiteral = {\n type: \"StringLiteral\";\n value: string;\n};\nexport type PrimaryExpression = Identifier | Literal | ArrayExpression | ObjectExpression | Expression;\nexport type ArrayExpression = {\n type: \"ArrayExpression\";\n elements: ElementList;\n};\nexport type ElementList = PrimaryExpression[];\nexport type ObjectExpression = {\n type: \"ObjectExpression\";\n properties: [];\n} | {\n type: \"ObjectExpression\";\n properties: PropertyNameAndValueList;\n};\nexport type PropertyNameAndValueList = PrimaryExpression[];\nexport type PropertyAssignment = {\n type: \"PropertyAssignment\";\n key: PropertyName;\n value: Expression;\n kind: \"init\";\n};\nexport type PropertyName = IdentifierName | StringLiteral | NumericLiteral;\nexport type MemberExpression = {\n type: \"MemberExpression\";\n property: StringLiteral;\n computed: true;\n object: MemberExpression | Identifier | StringLiteral;\n} | {\n type: \"MemberExpression\";\n property: Identifier;\n computed: false;\n object: MemberExpression | Identifier | StringLiteral;\n};\nexport type CallExpression = {\n type: \"CallExpression\";\n arguments: Arguments;\n callee: MemberExpression | Identifier;\n};\nexport type Arguments = PrimaryExpression[];\nexport type Expression = CallExpression | MemberExpression;\nexport type ExpressionStatement = {\n type: \"ExpressionStatement\";\n expression: Expression;\n};\nexport type Program = {\n type: \"Program\";\n body: ExpressionStatement;\n};\nexport type ExpressionNode = Program | ExpressionStatement | ArrayExpression | BooleanLiteral | CallExpression | Identifier | MemberExpression | NumericLiteral | ObjectExpression | PropertyAssignment | NullLiteral | StringLiteral;\n"],"mappings":";UAAiBA,YAAAA;EAAAA,QAAAA,CAAAA,EAAAA,MAAY;
|
|
1
|
+
{"version":3,"file":"expression-parser.d.ts","names":["ParseOptions","ParseFunction","Options","StartRule","Start","Program","Identifier","IdentifierName","Literal","NullLiteral","BooleanLiteral","NumericLiteral","StringLiteral","DecimalLiteral","PrimaryExpression","ArrayExpression","ObjectExpression","Expression","ElementList","PropertyNameAndValueList","PropertyAssignment","PropertyName","MemberExpression","CallExpression","Arguments","ExpressionStatement","ExpressionNode"],"sources":["../../src/types/expression-parser.d.ts"],"sourcesContent":["export interface ParseOptions {\n filename?: string;\n startRule?: \"Start\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tracer?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\nexport type ParseFunction = <Options extends ParseOptions>(input: string, options?: Options) => Options extends {\n startRule: infer StartRule;\n} ? StartRule extends \"Start\" ? Start : Start : Start;\n// These types were autogenerated by ts-pegjs\nexport type Start = Program;\nexport type Identifier = IdentifierName;\nexport type IdentifierName = {\n type: \"Identifier\";\n name: string;\n};\nexport type Literal = NullLiteral | BooleanLiteral | NumericLiteral | StringLiteral;\nexport type NullLiteral = {\n type: \"NullLiteral\";\n value: null;\n};\nexport type BooleanLiteral = {\n type: \"BooleanLiteral\";\n value: true;\n} | {\n type: \"BooleanLiteral\";\n value: false;\n};\nexport type NumericLiteral = DecimalLiteral;\nexport type DecimalLiteral = {\n type: \"NumericLiteral\";\n value: number;\n};\nexport type StringLiteral = {\n type: \"StringLiteral\";\n value: string;\n};\nexport type PrimaryExpression = Identifier | Literal | ArrayExpression | ObjectExpression | Expression;\nexport type ArrayExpression = {\n type: \"ArrayExpression\";\n elements: ElementList;\n};\nexport type ElementList = PrimaryExpression[];\nexport type ObjectExpression = {\n type: \"ObjectExpression\";\n properties: [];\n} | {\n type: \"ObjectExpression\";\n properties: PropertyNameAndValueList;\n};\nexport type PropertyNameAndValueList = PrimaryExpression[];\nexport type PropertyAssignment = {\n type: \"PropertyAssignment\";\n key: PropertyName;\n value: Expression;\n kind: \"init\";\n};\nexport type PropertyName = IdentifierName | StringLiteral | NumericLiteral;\nexport type MemberExpression = {\n type: \"MemberExpression\";\n property: StringLiteral;\n computed: true;\n object: MemberExpression | Identifier | StringLiteral;\n} | {\n type: \"MemberExpression\";\n property: Identifier;\n computed: false;\n object: MemberExpression | Identifier | StringLiteral;\n};\nexport type CallExpression = {\n type: \"CallExpression\";\n arguments: Arguments;\n callee: MemberExpression | Identifier;\n};\nexport type Arguments = PrimaryExpression[];\nexport type Expression = CallExpression | MemberExpression;\nexport type ExpressionStatement = {\n type: \"ExpressionStatement\";\n expression: Expression;\n};\nexport type Program = {\n type: \"Program\";\n body: ExpressionStatement;\n};\nexport type ExpressionNode = Program | ExpressionStatement | ArrayExpression | BooleanLiteral | CallExpression | Identifier | MemberExpression | NumericLiteral | ObjectExpression | PropertyAssignment | NullLiteral | StringLiteral;\n"],"mappings":"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"}
|
package/dist/util/hub.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_extname = require('./extname.cjs');
|
|
3
|
-
const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
|
|
4
3
|
const p_retry = require_rolldown_runtime.__toESM(require("p-retry"));
|
|
4
|
+
const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
|
|
5
5
|
|
|
6
6
|
//#region src/util/hub.ts
|
|
7
7
|
const fetchWithTimeout = async (url, init) => {
|
package/dist/util/hub.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { extname } from "./extname.js";
|
|
2
|
-
import { getEnvironmentVariable } from "@langchain/core/utils/env";
|
|
3
2
|
import pRetry from "p-retry";
|
|
3
|
+
import { getEnvironmentVariable } from "@langchain/core/utils/env";
|
|
4
4
|
|
|
5
5
|
//#region src/util/hub.ts
|
|
6
6
|
const fetchWithTimeout = async (url, init) => {
|
package/dist/util/openapi.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.cjs","names":["document: OpenAPIV3_1.Document","path: string","ref: OpenAPIV3_1.ReferenceObject","schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject","method: OpenAPIV3.HttpMethods","operation: OpenAPIV3_1.OperationObject","method: OpenAPIV3_1.HttpMethods","document: Record<string, any>","rawString: string","yaml","url: string"],"sources":["../../src/util/openapi.ts"],"sourcesContent":["import * as yaml from \"js-yaml\";\nimport { OpenAPIV3, OpenAPIV3_1 } from \"openapi-types\";\n\nexport class OpenAPISpec {\n constructor(public document: OpenAPIV3_1.Document) {}\n\n get baseUrl() {\n return this.document.servers ? this.document.servers[0].url : undefined;\n }\n\n getPathsStrict() {\n if (!this.document.paths) {\n throw new Error(\"No paths found in spec\");\n }\n return this.document.paths;\n }\n\n getParametersStrict() {\n if (!this.document.components?.parameters) {\n throw new Error(\"No parameters found in spec\");\n }\n return this.document.components.parameters;\n }\n\n getSchemasStrict() {\n if (!this.document.components?.schemas) {\n throw new Error(\"No schemas found in spec.\");\n }\n return this.document.components.schemas;\n }\n\n getRequestBodiesStrict() {\n if (!this.document.components?.requestBodies) {\n throw new Error(\"No request body found in spec.\");\n }\n return this.document.components.requestBodies;\n }\n\n getPathStrict(path: string) {\n const pathItem = this.getPathsStrict()[path];\n if (pathItem === undefined) {\n throw new Error(`No path found for \"${path}\".`);\n }\n return pathItem;\n }\n\n getReferencedParameter(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n if (this.getParametersStrict()[refName] === undefined) {\n throw new Error(`No parameter found for \"${refName}\".`);\n }\n return this.getParametersStrict()[refName];\n }\n\n getRootReferencedParameter(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.ParameterObject {\n let parameter = this.getReferencedParameter(ref);\n while ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n parameter = this.getReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedSchema(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.SchemaObject {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const schema = this.getSchemasStrict()[refName];\n if (schema === undefined) {\n throw new Error(`No schema found for \"${refName}\".`);\n }\n return schema;\n }\n\n getSchema(\n schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject\n ): OpenAPIV3_1.SchemaObject {\n if ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema;\n }\n\n getRootReferencedSchema(ref: OpenAPIV3_1.ReferenceObject) {\n let schema = this.getReferencedSchema(ref);\n while ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n schema = this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const requestBodies = this.getRequestBodiesStrict();\n if (requestBodies[refName] === undefined) {\n throw new Error(`No request body found for \"${refName}\"`);\n }\n return requestBodies[refName];\n }\n\n getRootReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n let requestBody = this.getReferencedRequestBody(ref);\n while ((requestBody as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n requestBody = this.getReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n getMethodsForPath(path: string): OpenAPIV3.HttpMethods[] {\n const pathItem = this.getPathStrict(path);\n // This is an enum in the underlying package.\n // Werestate here to allow \"import type\" above and not cause warnings in certain envs.\n const possibleMethods = [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n ];\n return possibleMethods.filter(\n (possibleMethod) =>\n pathItem[possibleMethod as OpenAPIV3.HttpMethods] !== undefined\n ) as OpenAPIV3.HttpMethods[];\n }\n\n getParametersForPath(path: string) {\n const pathItem = this.getPathStrict(path);\n if (pathItem.parameters === undefined) {\n return [];\n }\n return pathItem.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getOperation(path: string, method: OpenAPIV3.HttpMethods) {\n const pathItem = this.getPathStrict(path);\n if (pathItem[method] === undefined) {\n throw new Error(`No ${method} method found for \"path\".`);\n }\n return pathItem[method];\n }\n\n getParametersForOperation(operation: OpenAPIV3_1.OperationObject) {\n if (operation.parameters === undefined) {\n return [];\n }\n return operation.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getRequestBodyForOperation(\n operation: OpenAPIV3_1.OperationObject\n ): OpenAPIV3_1.RequestBodyObject {\n const { requestBody } = operation;\n if ((requestBody as OpenAPIV3_1.ReferenceObject)?.$ref !== undefined) {\n return this.getRootReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n static getCleanedOperationId(\n operation: OpenAPIV3_1.OperationObject,\n path: string,\n method: OpenAPIV3_1.HttpMethods\n ) {\n let { operationId } = operation;\n if (operationId === undefined) {\n const updatedPath = path.replaceAll(/[^a-zA-Z0-9]/g, \"_\");\n operationId = `${\n updatedPath.startsWith(\"/\") ? updatedPath.slice(1) : updatedPath\n }_${method}`;\n }\n return operationId\n .replaceAll(/-/g, \"_\")\n .replaceAll(/\\./g, \"_\")\n .replaceAll(/\\//g, \"_\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static alertUnsupportedSpec(document: Record<string, any>) {\n const warningMessage =\n \"This may result in degraded performance. Convert your OpenAPI spec to 3.1.0 for better support.\";\n const swaggerVersion = document.swagger;\n const openAPIVersion = document.openapi;\n if (openAPIVersion !== undefined && openAPIVersion !== \"3.1.0\") {\n console.warn(\n `Attempting to load an OpenAPI ${openAPIVersion} spec. ${warningMessage}`\n );\n } else if (swaggerVersion !== undefined) {\n console.warn(\n `Attempting to load a Swagger ${swaggerVersion} spec. ${warningMessage}`\n );\n } else {\n throw new Error(\n `Attempting to load an unsupported spec:\\n\\n${JSON.stringify(\n document,\n null,\n 2\n )}.`\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static fromObject(document: Record<string, any>) {\n OpenAPISpec.alertUnsupportedSpec(document);\n return new OpenAPISpec(document as OpenAPIV3_1.Document);\n }\n\n static fromString(rawString: string) {\n let document;\n try {\n document = JSON.parse(rawString);\n } catch (e) {\n document = yaml.load(rawString);\n }\n return OpenAPISpec.fromObject(document);\n }\n\n static async fromURL(url: string) {\n const response = await fetch(url);\n const rawDocument = await response.text();\n return OpenAPISpec.fromString(rawDocument);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.cjs","names":["document: OpenAPIV3_1.Document","path: string","ref: OpenAPIV3_1.ReferenceObject","schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject","method: OpenAPIV3.HttpMethods","operation: OpenAPIV3_1.OperationObject","method: OpenAPIV3_1.HttpMethods","document: Record<string, any>","rawString: string","yaml","url: string"],"sources":["../../src/util/openapi.ts"],"sourcesContent":["import * as yaml from \"js-yaml\";\nimport { OpenAPIV3, OpenAPIV3_1 } from \"openapi-types\";\n\nexport class OpenAPISpec {\n constructor(public document: OpenAPIV3_1.Document) {}\n\n get baseUrl() {\n return this.document.servers ? this.document.servers[0].url : undefined;\n }\n\n getPathsStrict() {\n if (!this.document.paths) {\n throw new Error(\"No paths found in spec\");\n }\n return this.document.paths;\n }\n\n getParametersStrict() {\n if (!this.document.components?.parameters) {\n throw new Error(\"No parameters found in spec\");\n }\n return this.document.components.parameters;\n }\n\n getSchemasStrict() {\n if (!this.document.components?.schemas) {\n throw new Error(\"No schemas found in spec.\");\n }\n return this.document.components.schemas;\n }\n\n getRequestBodiesStrict() {\n if (!this.document.components?.requestBodies) {\n throw new Error(\"No request body found in spec.\");\n }\n return this.document.components.requestBodies;\n }\n\n getPathStrict(path: string) {\n const pathItem = this.getPathsStrict()[path];\n if (pathItem === undefined) {\n throw new Error(`No path found for \"${path}\".`);\n }\n return pathItem;\n }\n\n getReferencedParameter(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n if (this.getParametersStrict()[refName] === undefined) {\n throw new Error(`No parameter found for \"${refName}\".`);\n }\n return this.getParametersStrict()[refName];\n }\n\n getRootReferencedParameter(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.ParameterObject {\n let parameter = this.getReferencedParameter(ref);\n while ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n parameter = this.getReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedSchema(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.SchemaObject {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const schema = this.getSchemasStrict()[refName];\n if (schema === undefined) {\n throw new Error(`No schema found for \"${refName}\".`);\n }\n return schema;\n }\n\n getSchema(\n schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject\n ): OpenAPIV3_1.SchemaObject {\n if ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema;\n }\n\n getRootReferencedSchema(ref: OpenAPIV3_1.ReferenceObject) {\n let schema = this.getReferencedSchema(ref);\n while ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n schema = this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const requestBodies = this.getRequestBodiesStrict();\n if (requestBodies[refName] === undefined) {\n throw new Error(`No request body found for \"${refName}\"`);\n }\n return requestBodies[refName];\n }\n\n getRootReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n let requestBody = this.getReferencedRequestBody(ref);\n while ((requestBody as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n requestBody = this.getReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n getMethodsForPath(path: string): OpenAPIV3.HttpMethods[] {\n const pathItem = this.getPathStrict(path);\n // This is an enum in the underlying package.\n // Werestate here to allow \"import type\" above and not cause warnings in certain envs.\n const possibleMethods = [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n ];\n return possibleMethods.filter(\n (possibleMethod) =>\n pathItem[possibleMethod as OpenAPIV3.HttpMethods] !== undefined\n ) as OpenAPIV3.HttpMethods[];\n }\n\n getParametersForPath(path: string) {\n const pathItem = this.getPathStrict(path);\n if (pathItem.parameters === undefined) {\n return [];\n }\n return pathItem.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getOperation(path: string, method: OpenAPIV3.HttpMethods) {\n const pathItem = this.getPathStrict(path);\n if (pathItem[method] === undefined) {\n throw new Error(`No ${method} method found for \"path\".`);\n }\n return pathItem[method];\n }\n\n getParametersForOperation(operation: OpenAPIV3_1.OperationObject) {\n if (operation.parameters === undefined) {\n return [];\n }\n return operation.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getRequestBodyForOperation(\n operation: OpenAPIV3_1.OperationObject\n ): OpenAPIV3_1.RequestBodyObject {\n const { requestBody } = operation;\n if ((requestBody as OpenAPIV3_1.ReferenceObject)?.$ref !== undefined) {\n return this.getRootReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n static getCleanedOperationId(\n operation: OpenAPIV3_1.OperationObject,\n path: string,\n method: OpenAPIV3_1.HttpMethods\n ) {\n let { operationId } = operation;\n if (operationId === undefined) {\n const updatedPath = path.replaceAll(/[^a-zA-Z0-9]/g, \"_\");\n operationId = `${\n updatedPath.startsWith(\"/\") ? updatedPath.slice(1) : updatedPath\n }_${method}`;\n }\n return operationId\n .replaceAll(/-/g, \"_\")\n .replaceAll(/\\./g, \"_\")\n .replaceAll(/\\//g, \"_\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static alertUnsupportedSpec(document: Record<string, any>) {\n const warningMessage =\n \"This may result in degraded performance. Convert your OpenAPI spec to 3.1.0 for better support.\";\n const swaggerVersion = document.swagger;\n const openAPIVersion = document.openapi;\n if (openAPIVersion !== undefined && openAPIVersion !== \"3.1.0\") {\n console.warn(\n `Attempting to load an OpenAPI ${openAPIVersion} spec. ${warningMessage}`\n );\n } else if (swaggerVersion !== undefined) {\n console.warn(\n `Attempting to load a Swagger ${swaggerVersion} spec. ${warningMessage}`\n );\n } else {\n throw new Error(\n `Attempting to load an unsupported spec:\\n\\n${JSON.stringify(\n document,\n null,\n 2\n )}.`\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static fromObject(document: Record<string, any>) {\n OpenAPISpec.alertUnsupportedSpec(document);\n return new OpenAPISpec(document as OpenAPIV3_1.Document);\n }\n\n static fromString(rawString: string) {\n let document;\n try {\n document = JSON.parse(rawString);\n } catch {\n document = yaml.load(rawString);\n }\n return OpenAPISpec.fromObject(document);\n }\n\n static async fromURL(url: string) {\n const response = await fetch(url);\n const rawDocument = await response.text();\n return OpenAPISpec.fromString(rawDocument);\n }\n}\n"],"mappings":"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"}
|
package/dist/util/openapi.js
CHANGED
package/dist/util/openapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","names":["document: OpenAPIV3_1.Document","path: string","ref: OpenAPIV3_1.ReferenceObject","schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject","method: OpenAPIV3.HttpMethods","operation: OpenAPIV3_1.OperationObject","method: OpenAPIV3_1.HttpMethods","document: Record<string, any>","rawString: string","url: string"],"sources":["../../src/util/openapi.ts"],"sourcesContent":["import * as yaml from \"js-yaml\";\nimport { OpenAPIV3, OpenAPIV3_1 } from \"openapi-types\";\n\nexport class OpenAPISpec {\n constructor(public document: OpenAPIV3_1.Document) {}\n\n get baseUrl() {\n return this.document.servers ? this.document.servers[0].url : undefined;\n }\n\n getPathsStrict() {\n if (!this.document.paths) {\n throw new Error(\"No paths found in spec\");\n }\n return this.document.paths;\n }\n\n getParametersStrict() {\n if (!this.document.components?.parameters) {\n throw new Error(\"No parameters found in spec\");\n }\n return this.document.components.parameters;\n }\n\n getSchemasStrict() {\n if (!this.document.components?.schemas) {\n throw new Error(\"No schemas found in spec.\");\n }\n return this.document.components.schemas;\n }\n\n getRequestBodiesStrict() {\n if (!this.document.components?.requestBodies) {\n throw new Error(\"No request body found in spec.\");\n }\n return this.document.components.requestBodies;\n }\n\n getPathStrict(path: string) {\n const pathItem = this.getPathsStrict()[path];\n if (pathItem === undefined) {\n throw new Error(`No path found for \"${path}\".`);\n }\n return pathItem;\n }\n\n getReferencedParameter(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n if (this.getParametersStrict()[refName] === undefined) {\n throw new Error(`No parameter found for \"${refName}\".`);\n }\n return this.getParametersStrict()[refName];\n }\n\n getRootReferencedParameter(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.ParameterObject {\n let parameter = this.getReferencedParameter(ref);\n while ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n parameter = this.getReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedSchema(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.SchemaObject {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const schema = this.getSchemasStrict()[refName];\n if (schema === undefined) {\n throw new Error(`No schema found for \"${refName}\".`);\n }\n return schema;\n }\n\n getSchema(\n schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject\n ): OpenAPIV3_1.SchemaObject {\n if ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema;\n }\n\n getRootReferencedSchema(ref: OpenAPIV3_1.ReferenceObject) {\n let schema = this.getReferencedSchema(ref);\n while ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n schema = this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const requestBodies = this.getRequestBodiesStrict();\n if (requestBodies[refName] === undefined) {\n throw new Error(`No request body found for \"${refName}\"`);\n }\n return requestBodies[refName];\n }\n\n getRootReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n let requestBody = this.getReferencedRequestBody(ref);\n while ((requestBody as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n requestBody = this.getReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n getMethodsForPath(path: string): OpenAPIV3.HttpMethods[] {\n const pathItem = this.getPathStrict(path);\n // This is an enum in the underlying package.\n // Werestate here to allow \"import type\" above and not cause warnings in certain envs.\n const possibleMethods = [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n ];\n return possibleMethods.filter(\n (possibleMethod) =>\n pathItem[possibleMethod as OpenAPIV3.HttpMethods] !== undefined\n ) as OpenAPIV3.HttpMethods[];\n }\n\n getParametersForPath(path: string) {\n const pathItem = this.getPathStrict(path);\n if (pathItem.parameters === undefined) {\n return [];\n }\n return pathItem.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getOperation(path: string, method: OpenAPIV3.HttpMethods) {\n const pathItem = this.getPathStrict(path);\n if (pathItem[method] === undefined) {\n throw new Error(`No ${method} method found for \"path\".`);\n }\n return pathItem[method];\n }\n\n getParametersForOperation(operation: OpenAPIV3_1.OperationObject) {\n if (operation.parameters === undefined) {\n return [];\n }\n return operation.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getRequestBodyForOperation(\n operation: OpenAPIV3_1.OperationObject\n ): OpenAPIV3_1.RequestBodyObject {\n const { requestBody } = operation;\n if ((requestBody as OpenAPIV3_1.ReferenceObject)?.$ref !== undefined) {\n return this.getRootReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n static getCleanedOperationId(\n operation: OpenAPIV3_1.OperationObject,\n path: string,\n method: OpenAPIV3_1.HttpMethods\n ) {\n let { operationId } = operation;\n if (operationId === undefined) {\n const updatedPath = path.replaceAll(/[^a-zA-Z0-9]/g, \"_\");\n operationId = `${\n updatedPath.startsWith(\"/\") ? updatedPath.slice(1) : updatedPath\n }_${method}`;\n }\n return operationId\n .replaceAll(/-/g, \"_\")\n .replaceAll(/\\./g, \"_\")\n .replaceAll(/\\//g, \"_\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static alertUnsupportedSpec(document: Record<string, any>) {\n const warningMessage =\n \"This may result in degraded performance. Convert your OpenAPI spec to 3.1.0 for better support.\";\n const swaggerVersion = document.swagger;\n const openAPIVersion = document.openapi;\n if (openAPIVersion !== undefined && openAPIVersion !== \"3.1.0\") {\n console.warn(\n `Attempting to load an OpenAPI ${openAPIVersion} spec. ${warningMessage}`\n );\n } else if (swaggerVersion !== undefined) {\n console.warn(\n `Attempting to load a Swagger ${swaggerVersion} spec. ${warningMessage}`\n );\n } else {\n throw new Error(\n `Attempting to load an unsupported spec:\\n\\n${JSON.stringify(\n document,\n null,\n 2\n )}.`\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static fromObject(document: Record<string, any>) {\n OpenAPISpec.alertUnsupportedSpec(document);\n return new OpenAPISpec(document as OpenAPIV3_1.Document);\n }\n\n static fromString(rawString: string) {\n let document;\n try {\n document = JSON.parse(rawString);\n } catch (e) {\n document = yaml.load(rawString);\n }\n return OpenAPISpec.fromObject(document);\n }\n\n static async fromURL(url: string) {\n const response = await fetch(url);\n const rawDocument = await response.text();\n return OpenAPISpec.fromString(rawDocument);\n }\n}\n"],"mappings":";;;AAGA,IAAa,cAAb,MAAa,YAAY;CACvB,YAAmBA,UAAgC;EAAhC;CAAkC;CAErD,IAAI,UAAU;AACZ,SAAO,KAAK,SAAS,UAAU,KAAK,SAAS,QAAQ,GAAG,MAAM;CAC/D;CAED,iBAAiB;AACf,MAAI,CAAC,KAAK,SAAS,MACjB,OAAM,IAAI,MAAM;AAElB,SAAO,KAAK,SAAS;CACtB;CAED,sBAAsB;AACpB,MAAI,CAAC,KAAK,SAAS,YAAY,WAC7B,OAAM,IAAI,MAAM;AAElB,SAAO,KAAK,SAAS,WAAW;CACjC;CAED,mBAAmB;AACjB,MAAI,CAAC,KAAK,SAAS,YAAY,QAC7B,OAAM,IAAI,MAAM;AAElB,SAAO,KAAK,SAAS,WAAW;CACjC;CAED,yBAAyB;AACvB,MAAI,CAAC,KAAK,SAAS,YAAY,cAC7B,OAAM,IAAI,MAAM;AAElB,SAAO,KAAK,SAAS,WAAW;CACjC;CAED,cAAcC,MAAc;EAC1B,MAAM,WAAW,KAAK,gBAAgB,CAAC;AACvC,MAAI,aAAa,OACf,OAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC;AAEhD,SAAO;CACR;CAED,uBAAuBC,KAAkC;EACvD,MAAM,gBAAgB,IAAI,KAAK,MAAM,IAAI;EACzC,MAAM,UAAU,cAAc,cAAc,SAAS;AACrD,MAAI,KAAK,qBAAqB,CAAC,aAAa,OAC1C,OAAM,IAAI,MAAM,CAAC,wBAAwB,EAAE,QAAQ,EAAE,CAAC;AAExD,SAAO,KAAK,qBAAqB,CAAC;CACnC;CAED,2BACEA,KAC6B;EAC7B,IAAI,YAAY,KAAK,uBAAuB,IAAI;AAChD,SAAQ,UAA0C,SAAS,QACzD,YAAY,KAAK,uBACf,UACD;AAEH,SAAO;CACR;CAED,oBACEA,KAC0B;EAC1B,MAAM,gBAAgB,IAAI,KAAK,MAAM,IAAI;EACzC,MAAM,UAAU,cAAc,cAAc,SAAS;EACrD,MAAM,SAAS,KAAK,kBAAkB,CAAC;AACvC,MAAI,WAAW,OACb,OAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,QAAQ,EAAE,CAAC;AAErD,SAAO;CACR;CAED,UACEC,QAC0B;AAC1B,MAAK,OAAuC,SAAS,OACnD,QAAO,KAAK,oBAAoB,OAAsC;AAExE,SAAO;CACR;CAED,wBAAwBD,KAAkC;EACxD,IAAI,SAAS,KAAK,oBAAoB,IAAI;AAC1C,SAAQ,OAAuC,SAAS,QACtD,SAAS,KAAK,oBAAoB,OAAsC;AAE1E,SAAO;CACR;CAED,yBAAyBA,KAAkC;EACzD,MAAM,gBAAgB,IAAI,KAAK,MAAM,IAAI;EACzC,MAAM,UAAU,cAAc,cAAc,SAAS;EACrD,MAAM,gBAAgB,KAAK,wBAAwB;AACnD,MAAI,cAAc,aAAa,OAC7B,OAAM,IAAI,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;AAE1D,SAAO,cAAc;CACtB;CAED,6BAA6BA,KAAkC;EAC7D,IAAI,cAAc,KAAK,yBAAyB,IAAI;AACpD,SAAQ,YAA4C,SAAS,QAC3D,cAAc,KAAK,yBACjB,YACD;AAEH,SAAO;CACR;CAED,kBAAkBD,MAAuC;EACvD,MAAM,WAAW,KAAK,cAAc,KAAK;EAGzC,MAAM,kBAAkB;GACtB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACD;AACD,SAAO,gBAAgB,OACrB,CAAC,mBACC,SAAS,oBAA6C,OACzD;CACF;CAED,qBAAqBA,MAAc;EACjC,MAAM,WAAW,KAAK,cAAc,KAAK;AACzC,MAAI,SAAS,eAAe,OAC1B,QAAO,CAAE;AAEX,SAAO,SAAS,WAAW,IAAI,CAAC,cAAc;AAC5C,OAAK,UAA0C,SAAS,OACtD,QAAO,KAAK,2BACV,UACD;AAEH,UAAO;EACR,EAAC;CACH;CAED,aAAaA,MAAcG,QAA+B;EACxD,MAAM,WAAW,KAAK,cAAc,KAAK;AACzC,MAAI,SAAS,YAAY,OACvB,OAAM,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,yBAAyB,CAAC;AAEzD,SAAO,SAAS;CACjB;CAED,0BAA0BC,WAAwC;AAChE,MAAI,UAAU,eAAe,OAC3B,QAAO,CAAE;AAEX,SAAO,UAAU,WAAW,IAAI,CAAC,cAAc;AAC7C,OAAK,UAA0C,SAAS,OACtD,QAAO,KAAK,2BACV,UACD;AAEH,UAAO;EACR,EAAC;CACH;CAED,2BACEA,WAC+B;EAC/B,MAAM,EAAE,aAAa,GAAG;AACxB,MAAK,aAA6C,SAAS,OACzD,QAAO,KAAK,6BACV,YACD;AAEH,SAAO;CACR;CAED,OAAO,sBACLA,WACAJ,MACAK,QACA;EACA,IAAI,EAAE,aAAa,GAAG;AACtB,MAAI,gBAAgB,QAAW;GAC7B,MAAM,cAAc,KAAK,WAAW,iBAAiB,IAAI;GACzD,cAAc,GACZ,YAAY,WAAW,IAAI,GAAG,YAAY,MAAM,EAAE,GAAG,YACtD,CAAC,EAAE,QAAQ;EACb;AACD,SAAO,YACJ,WAAW,MAAM,IAAI,CACrB,WAAW,OAAO,IAAI,CACtB,WAAW,OAAO,IAAI;CAC1B;CAGD,OAAO,qBAAqBC,UAA+B;EACzD,MAAM,iBACJ;EACF,MAAM,iBAAiB,SAAS;EAChC,MAAM,iBAAiB,SAAS;AAChC,MAAI,mBAAmB,UAAa,mBAAmB,SACrD,QAAQ,KACN,CAAC,8BAA8B,EAAE,eAAe,OAAO,EAAE,gBAAgB,CAC1E;WACQ,mBAAmB,QAC5B,QAAQ,KACN,CAAC,6BAA6B,EAAE,eAAe,OAAO,EAAE,gBAAgB,CACzE;MAED,OAAM,IAAI,MACR,CAAC,2CAA2C,EAAE,KAAK,UACjD,UACA,MACA,EACD,CAAC,CAAC,CAAC;CAGT;CAGD,OAAO,WAAWA,UAA+B;EAC/C,YAAY,qBAAqB,SAAS;AAC1C,SAAO,IAAI,YAAY;CACxB;CAED,OAAO,WAAWC,WAAmB;EACnC,IAAI;AACJ,MAAI;GACF,WAAW,KAAK,MAAM,UAAU;EACjC,SAAQ,GAAG;GACV,WAAW,KAAK,KAAK,UAAU;EAChC;AACD,SAAO,YAAY,WAAW,SAAS;CACxC;CAED,aAAa,QAAQC,KAAa;EAChC,MAAM,WAAW,MAAM,MAAM,IAAI;EACjC,MAAM,cAAc,MAAM,SAAS,MAAM;AACzC,SAAO,YAAY,WAAW,YAAY;CAC3C;AACF"}
|
|
1
|
+
{"version":3,"file":"openapi.js","names":["document: OpenAPIV3_1.Document","path: string","ref: OpenAPIV3_1.ReferenceObject","schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject","method: OpenAPIV3.HttpMethods","operation: OpenAPIV3_1.OperationObject","method: OpenAPIV3_1.HttpMethods","document: Record<string, any>","rawString: string","url: string"],"sources":["../../src/util/openapi.ts"],"sourcesContent":["import * as yaml from \"js-yaml\";\nimport { OpenAPIV3, OpenAPIV3_1 } from \"openapi-types\";\n\nexport class OpenAPISpec {\n constructor(public document: OpenAPIV3_1.Document) {}\n\n get baseUrl() {\n return this.document.servers ? this.document.servers[0].url : undefined;\n }\n\n getPathsStrict() {\n if (!this.document.paths) {\n throw new Error(\"No paths found in spec\");\n }\n return this.document.paths;\n }\n\n getParametersStrict() {\n if (!this.document.components?.parameters) {\n throw new Error(\"No parameters found in spec\");\n }\n return this.document.components.parameters;\n }\n\n getSchemasStrict() {\n if (!this.document.components?.schemas) {\n throw new Error(\"No schemas found in spec.\");\n }\n return this.document.components.schemas;\n }\n\n getRequestBodiesStrict() {\n if (!this.document.components?.requestBodies) {\n throw new Error(\"No request body found in spec.\");\n }\n return this.document.components.requestBodies;\n }\n\n getPathStrict(path: string) {\n const pathItem = this.getPathsStrict()[path];\n if (pathItem === undefined) {\n throw new Error(`No path found for \"${path}\".`);\n }\n return pathItem;\n }\n\n getReferencedParameter(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n if (this.getParametersStrict()[refName] === undefined) {\n throw new Error(`No parameter found for \"${refName}\".`);\n }\n return this.getParametersStrict()[refName];\n }\n\n getRootReferencedParameter(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.ParameterObject {\n let parameter = this.getReferencedParameter(ref);\n while ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n parameter = this.getReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedSchema(\n ref: OpenAPIV3_1.ReferenceObject\n ): OpenAPIV3_1.SchemaObject {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const schema = this.getSchemasStrict()[refName];\n if (schema === undefined) {\n throw new Error(`No schema found for \"${refName}\".`);\n }\n return schema;\n }\n\n getSchema(\n schema: OpenAPIV3_1.ReferenceObject | OpenAPIV3_1.SchemaObject\n ): OpenAPIV3_1.SchemaObject {\n if ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema;\n }\n\n getRootReferencedSchema(ref: OpenAPIV3_1.ReferenceObject) {\n let schema = this.getReferencedSchema(ref);\n while ((schema as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n schema = this.getReferencedSchema(schema as OpenAPIV3_1.ReferenceObject);\n }\n return schema as OpenAPIV3_1.ParameterObject;\n }\n\n getReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n const refComponents = ref.$ref.split(\"/\");\n const refName = refComponents[refComponents.length - 1];\n const requestBodies = this.getRequestBodiesStrict();\n if (requestBodies[refName] === undefined) {\n throw new Error(`No request body found for \"${refName}\"`);\n }\n return requestBodies[refName];\n }\n\n getRootReferencedRequestBody(ref: OpenAPIV3_1.ReferenceObject) {\n let requestBody = this.getReferencedRequestBody(ref);\n while ((requestBody as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n requestBody = this.getReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n getMethodsForPath(path: string): OpenAPIV3.HttpMethods[] {\n const pathItem = this.getPathStrict(path);\n // This is an enum in the underlying package.\n // Werestate here to allow \"import type\" above and not cause warnings in certain envs.\n const possibleMethods = [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n ];\n return possibleMethods.filter(\n (possibleMethod) =>\n pathItem[possibleMethod as OpenAPIV3.HttpMethods] !== undefined\n ) as OpenAPIV3.HttpMethods[];\n }\n\n getParametersForPath(path: string) {\n const pathItem = this.getPathStrict(path);\n if (pathItem.parameters === undefined) {\n return [];\n }\n return pathItem.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getOperation(path: string, method: OpenAPIV3.HttpMethods) {\n const pathItem = this.getPathStrict(path);\n if (pathItem[method] === undefined) {\n throw new Error(`No ${method} method found for \"path\".`);\n }\n return pathItem[method];\n }\n\n getParametersForOperation(operation: OpenAPIV3_1.OperationObject) {\n if (operation.parameters === undefined) {\n return [];\n }\n return operation.parameters.map((parameter) => {\n if ((parameter as OpenAPIV3_1.ReferenceObject).$ref !== undefined) {\n return this.getRootReferencedParameter(\n parameter as OpenAPIV3_1.ReferenceObject\n );\n }\n return parameter as OpenAPIV3_1.ParameterObject;\n });\n }\n\n getRequestBodyForOperation(\n operation: OpenAPIV3_1.OperationObject\n ): OpenAPIV3_1.RequestBodyObject {\n const { requestBody } = operation;\n if ((requestBody as OpenAPIV3_1.ReferenceObject)?.$ref !== undefined) {\n return this.getRootReferencedRequestBody(\n requestBody as OpenAPIV3_1.ReferenceObject\n );\n }\n return requestBody as OpenAPIV3_1.RequestBodyObject;\n }\n\n static getCleanedOperationId(\n operation: OpenAPIV3_1.OperationObject,\n path: string,\n method: OpenAPIV3_1.HttpMethods\n ) {\n let { operationId } = operation;\n if (operationId === undefined) {\n const updatedPath = path.replaceAll(/[^a-zA-Z0-9]/g, \"_\");\n operationId = `${\n updatedPath.startsWith(\"/\") ? updatedPath.slice(1) : updatedPath\n }_${method}`;\n }\n return operationId\n .replaceAll(/-/g, \"_\")\n .replaceAll(/\\./g, \"_\")\n .replaceAll(/\\//g, \"_\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static alertUnsupportedSpec(document: Record<string, any>) {\n const warningMessage =\n \"This may result in degraded performance. Convert your OpenAPI spec to 3.1.0 for better support.\";\n const swaggerVersion = document.swagger;\n const openAPIVersion = document.openapi;\n if (openAPIVersion !== undefined && openAPIVersion !== \"3.1.0\") {\n console.warn(\n `Attempting to load an OpenAPI ${openAPIVersion} spec. ${warningMessage}`\n );\n } else if (swaggerVersion !== undefined) {\n console.warn(\n `Attempting to load a Swagger ${swaggerVersion} spec. ${warningMessage}`\n );\n } else {\n throw new Error(\n `Attempting to load an unsupported spec:\\n\\n${JSON.stringify(\n document,\n null,\n 2\n )}.`\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static fromObject(document: Record<string, any>) {\n OpenAPISpec.alertUnsupportedSpec(document);\n return new OpenAPISpec(document as OpenAPIV3_1.Document);\n }\n\n static fromString(rawString: string) {\n let document;\n try {\n document = JSON.parse(rawString);\n } catch {\n document = yaml.load(rawString);\n }\n return OpenAPISpec.fromObject(document);\n }\n\n static async fromURL(url: string) {\n const response = await fetch(url);\n const rawDocument = await response.text();\n return OpenAPISpec.fromString(rawDocument);\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "langchain",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.6",
|
|
4
4
|
"description": "Typescript bindings for langchain",
|
|
5
5
|
"author": "LangChain",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
],
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|
|
16
|
-
"url": "git@github.com
|
|
16
|
+
"url": "git+ssh://git@github.com/langchain-ai/langchainjs.git"
|
|
17
17
|
},
|
|
18
18
|
"homepage": "https://github.com/langchain-ai/langchainjs/tree/main/langchain/",
|
|
19
19
|
"devDependencies": {
|
|
@@ -22,18 +22,11 @@
|
|
|
22
22
|
"@types/jsdom": "^21.1.1",
|
|
23
23
|
"@types/uuid": "^9",
|
|
24
24
|
"@types/ws": "^8",
|
|
25
|
-
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
|
26
|
-
"@typescript-eslint/parser": "^5.58.0",
|
|
27
25
|
"@vitest/coverage-v8": "^3.2.4",
|
|
28
26
|
"cheerio": "1.0.0-rc.12",
|
|
29
27
|
"dotenv": "^16.0.3",
|
|
30
28
|
"dpdm": "^3.14.0",
|
|
31
|
-
"eslint": "^
|
|
32
|
-
"eslint-config-airbnb-base": "^15.0.0",
|
|
33
|
-
"eslint-config-prettier": "^8.6.0",
|
|
34
|
-
"eslint-plugin-import": "^2.27.5",
|
|
35
|
-
"eslint-plugin-no-instanceof": "^1.0.1",
|
|
36
|
-
"eslint-plugin-prettier": "^4.2.1",
|
|
29
|
+
"eslint": "^9.34.0",
|
|
37
30
|
"langsmith": "^0.3.64",
|
|
38
31
|
"openai": "^5.1.0",
|
|
39
32
|
"peggy": "^3.0.2",
|
|
@@ -46,12 +39,14 @@
|
|
|
46
39
|
"typeorm": "^0.3.20",
|
|
47
40
|
"typescript": "~5.8.3",
|
|
48
41
|
"vitest": "^3.2.4",
|
|
49
|
-
"@langchain/core": "1.0.0-alpha.
|
|
42
|
+
"@langchain/core": "1.0.0-alpha.4",
|
|
43
|
+
"@langchain/openai": "1.0.0-alpha.1",
|
|
50
44
|
"@langchain/cohere": "0.3.4",
|
|
45
|
+
"@langchain/eslint": "0.1.0",
|
|
51
46
|
"@langchain/anthropic": "1.0.0-alpha.1"
|
|
52
47
|
},
|
|
53
48
|
"peerDependencies": {
|
|
54
|
-
"@langchain/core": "^1.0.0-alpha.
|
|
49
|
+
"@langchain/core": "^1.0.0-alpha.3 <2.0.0",
|
|
55
50
|
"cheerio": "*",
|
|
56
51
|
"peggy": "^3.0.2",
|
|
57
52
|
"typeorm": "*"
|
|
@@ -76,9 +71,8 @@
|
|
|
76
71
|
"p-retry": "4",
|
|
77
72
|
"uuid": "^10.0.0",
|
|
78
73
|
"yaml": "^2.2.1",
|
|
79
|
-
"zod": "^3.25.
|
|
80
|
-
"@langchain/textsplitters": "1.0.0-alpha.1"
|
|
81
|
-
"@langchain/openai": "1.0.0-alpha.1"
|
|
74
|
+
"zod": "^3.25.76 || ^4",
|
|
75
|
+
"@langchain/textsplitters": "1.0.0-alpha.1"
|
|
82
76
|
},
|
|
83
77
|
"optionalDependencies": {
|
|
84
78
|
"langsmith": "^0.3.64"
|
|
@@ -400,6 +394,17 @@
|
|
|
400
394
|
},
|
|
401
395
|
"input": "./src/memory/chat_memory.ts"
|
|
402
396
|
},
|
|
397
|
+
"./middleware": {
|
|
398
|
+
"import": {
|
|
399
|
+
"types": "./dist/agents/middlewareAgent/middleware/index.d.ts",
|
|
400
|
+
"default": "./dist/agents/middlewareAgent/middleware/index.js"
|
|
401
|
+
},
|
|
402
|
+
"require": {
|
|
403
|
+
"types": "./dist/agents/middlewareAgent/middleware/index.d.cts",
|
|
404
|
+
"default": "./dist/agents/middlewareAgent/middleware/index.cjs"
|
|
405
|
+
},
|
|
406
|
+
"input": "./src/agents/middlewareAgent/middleware/index.ts"
|
|
407
|
+
},
|
|
403
408
|
"./document": {
|
|
404
409
|
"import": {
|
|
405
410
|
"types": "./dist/document.d.ts",
|
|
@@ -822,7 +827,7 @@
|
|
|
822
827
|
},
|
|
823
828
|
"scripts": {
|
|
824
829
|
"build": "pnpm --filter @langchain/build compile langchain",
|
|
825
|
-
"lint:eslint": "
|
|
830
|
+
"lint:eslint": "eslint --cache src/",
|
|
826
831
|
"lint:dpdm": "dpdm --skip-dynamic-imports circular --exit-code circular:1 --no-warning --no-tree src/*.ts src/**/*.ts",
|
|
827
832
|
"lint": "pnpm lint:eslint && pnpm lint:dpdm",
|
|
828
833
|
"lint:fix": "pnpm lint:eslint --fix && pnpm lint:dpdm",
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_llm_chain = require('../llm_chain.cjs');
|
|
3
|
-
const require_openai_functions = require('../../output_parsers/openai_functions.cjs');
|
|
4
|
-
const __langchain_core_utils_types = require_rolldown_runtime.__toESM(require("@langchain/core/utils/types"));
|
|
5
|
-
const __langchain_core_utils_json_schema = require_rolldown_runtime.__toESM(require("@langchain/core/utils/json_schema"));
|
|
6
|
-
const __langchain_core_output_parsers = require_rolldown_runtime.__toESM(require("@langchain/core/output_parsers"));
|
|
7
|
-
const __langchain_openai = require_rolldown_runtime.__toESM(require("@langchain/openai"));
|
|
8
|
-
|
|
9
|
-
//#region src/chains/openai_functions/structured_output.ts
|
|
10
|
-
function isJsonSchema7Type(x) {
|
|
11
|
-
return x.jsonSchema === void 0 && x.zodSchema === void 0;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Class that extends the BaseLLMOutputParser class. It provides
|
|
15
|
-
* functionality for parsing the structured output based on a JSON schema.
|
|
16
|
-
*/
|
|
17
|
-
var FunctionCallStructuredOutputParser = class extends __langchain_core_output_parsers.BaseLLMOutputParser {
|
|
18
|
-
lc_namespace = [
|
|
19
|
-
"langchain",
|
|
20
|
-
"chains",
|
|
21
|
-
"openai_functions"
|
|
22
|
-
];
|
|
23
|
-
functionOutputParser = new require_openai_functions.OutputFunctionsParser();
|
|
24
|
-
jsonSchemaValidator;
|
|
25
|
-
zodSchema;
|
|
26
|
-
constructor(fieldsOrSchema) {
|
|
27
|
-
let fields;
|
|
28
|
-
if (isJsonSchema7Type(fieldsOrSchema)) fields = { jsonSchema: fieldsOrSchema };
|
|
29
|
-
else fields = fieldsOrSchema;
|
|
30
|
-
if (fields.jsonSchema === void 0 && fields.zodSchema === void 0) throw new Error(`Must provide at least one of "jsonSchema" or "zodSchema".`);
|
|
31
|
-
super(fields);
|
|
32
|
-
if (fields.jsonSchema !== void 0) this.jsonSchemaValidator = new __langchain_core_utils_json_schema.Validator(fields.jsonSchema, "7");
|
|
33
|
-
if (fields.zodSchema !== void 0) this.zodSchema = fields.zodSchema;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Method to parse the result of chat generations. It first parses the
|
|
37
|
-
* result using the functionOutputParser, then parses the result against a
|
|
38
|
-
* zod schema if the zod schema is available which allows the result to undergo
|
|
39
|
-
* Zod preprocessing, then it parses that result against the JSON schema.
|
|
40
|
-
* If the result is valid, it returns the parsed result. Otherwise, it throws
|
|
41
|
-
* an OutputParserException.
|
|
42
|
-
* @param generations Array of ChatGeneration instances to be parsed.
|
|
43
|
-
* @returns The parsed result if it is valid according to the JSON schema.
|
|
44
|
-
*/
|
|
45
|
-
async parseResult(generations) {
|
|
46
|
-
const initialResult = await this.functionOutputParser.parseResult(generations);
|
|
47
|
-
const parsedResult = JSON.parse(initialResult, (_, value) => {
|
|
48
|
-
if (value === null) return void 0;
|
|
49
|
-
return value;
|
|
50
|
-
});
|
|
51
|
-
if (this.zodSchema) {
|
|
52
|
-
const zodParsedResult = await (0, __langchain_core_utils_types.interopSafeParseAsync)(this.zodSchema, parsedResult);
|
|
53
|
-
if (zodParsedResult.success) return zodParsedResult.data;
|
|
54
|
-
else throw new __langchain_core_output_parsers.OutputParserException(`Failed to parse. Text: "${initialResult}". Error: ${JSON.stringify(zodParsedResult.error.issues)}`, initialResult);
|
|
55
|
-
} else if (this.jsonSchemaValidator !== void 0) {
|
|
56
|
-
const result = this.jsonSchemaValidator.validate(parsedResult);
|
|
57
|
-
if (result.valid) return parsedResult;
|
|
58
|
-
else throw new __langchain_core_output_parsers.OutputParserException(`Failed to parse. Text: "${initialResult}". Error: ${JSON.stringify(result.errors)}`, initialResult);
|
|
59
|
-
} else throw new Error("This parser requires an input JSON Schema or an input Zod schema.");
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead
|
|
64
|
-
* Create a chain that returns output matching a JSON Schema.
|
|
65
|
-
* @param input Object that includes all LLMChainInput fields except "outputParser"
|
|
66
|
-
* as well as an additional required "outputSchema" JSON Schema object.
|
|
67
|
-
* @returns OpenAPIChain
|
|
68
|
-
*/
|
|
69
|
-
function createStructuredOutputChain(input) {
|
|
70
|
-
const { outputSchema, llm = new __langchain_openai.ChatOpenAI({
|
|
71
|
-
model: "gpt-3.5-turbo-0613",
|
|
72
|
-
temperature: 0
|
|
73
|
-
}), outputKey = "output", llmKwargs = {}, zodSchema,...rest } = input;
|
|
74
|
-
if (outputSchema === void 0 && zodSchema === void 0) throw new Error(`Must provide one of "outputSchema" or "zodSchema".`);
|
|
75
|
-
const functionName = "output_formatter";
|
|
76
|
-
return new require_llm_chain.LLMChain({
|
|
77
|
-
llm,
|
|
78
|
-
llmKwargs: {
|
|
79
|
-
...llmKwargs,
|
|
80
|
-
functions: [{
|
|
81
|
-
name: functionName,
|
|
82
|
-
description: `Output formatter. Should always be used to format your response to the user.`,
|
|
83
|
-
parameters: outputSchema
|
|
84
|
-
}],
|
|
85
|
-
function_call: { name: functionName }
|
|
86
|
-
},
|
|
87
|
-
outputKey,
|
|
88
|
-
outputParser: new FunctionCallStructuredOutputParser({
|
|
89
|
-
jsonSchema: outputSchema,
|
|
90
|
-
zodSchema
|
|
91
|
-
}),
|
|
92
|
-
...rest
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
/** @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead */
|
|
96
|
-
function createStructuredOutputChainFromZod(zodSchema, input) {
|
|
97
|
-
return createStructuredOutputChain({
|
|
98
|
-
...input,
|
|
99
|
-
outputSchema: (0, __langchain_core_utils_json_schema.toJsonSchema)(zodSchema),
|
|
100
|
-
zodSchema
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
//#endregion
|
|
105
|
-
exports.createStructuredOutputChain = createStructuredOutputChain;
|
|
106
|
-
exports.createStructuredOutputChainFromZod = createStructuredOutputChainFromZod;
|
|
107
|
-
//# sourceMappingURL=structured_output.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"structured_output.cjs","names":["x: JsonSchema7Type | FunctionCallStructuredOutputParserFields","BaseLLMOutputParser","OutputFunctionsParser","fieldsOrSchema:\n | JsonSchema7Type\n | FunctionCallStructuredOutputParserFields<T>","Validator","generations: ChatGeneration[]","OutputParserException","input: StructuredOutputChainInput<T>","ChatOpenAI","LLMChain","zodSchema: T","input: Omit<StructuredOutputChainInput<T>, \"outputSchema\">"],"sources":["../../../src/chains/openai_functions/structured_output.ts"],"sourcesContent":["import {\n type JsonSchema7Type,\n Validator,\n toJsonSchema,\n} from \"@langchain/core/utils/json_schema\";\nimport { ChatOpenAI } from \"@langchain/openai\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n BaseLLMOutputParser,\n OutputParserException,\n} from \"@langchain/core/output_parsers\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { AIMessageChunk } from \"@langchain/core/messages\";\nimport type { BaseChatModel } from \"@langchain/core/language_models/chat_models\";\nimport type { BaseFunctionCallOptions } from \"@langchain/core/language_models/base\";\nimport {\n InferInteropZodOutput,\n interopSafeParseAsync,\n InteropZodObject,\n} from \"@langchain/core/utils/types\";\nimport { LLMChain, type LLMChainInput } from \"../llm_chain.js\";\nimport { OutputFunctionsParser } from \"../../output_parsers/openai_functions.js\";\n\n/**\n * Type representing the input for creating a structured output chain. It\n * extends the LLMChainInput type and includes an additional\n * 'outputSchema' field representing the JSON schema for the expected\n * output.\n */\nexport type StructuredOutputChainInput<\n T extends InteropZodObject = InteropZodObject\n> = Omit<LLMChainInput, \"outputParser\" | \"llm\"> & {\n outputSchema?: JsonSchema7Type;\n prompt: BasePromptTemplate;\n llm?: BaseChatModel<BaseFunctionCallOptions>;\n zodSchema?: T;\n};\n\nexport type FunctionCallStructuredOutputParserFields<\n T extends InteropZodObject = InteropZodObject\n> = {\n jsonSchema?: JsonSchema7Type;\n zodSchema?: T;\n};\n\nfunction isJsonSchema7Type(\n x: JsonSchema7Type | FunctionCallStructuredOutputParserFields\n): x is JsonSchema7Type {\n return (\n (x as FunctionCallStructuredOutputParserFields).jsonSchema === undefined &&\n (x as FunctionCallStructuredOutputParserFields).zodSchema === undefined\n );\n}\n\n/**\n * Class that extends the BaseLLMOutputParser class. It provides\n * functionality for parsing the structured output based on a JSON schema.\n */\nexport class FunctionCallStructuredOutputParser<\n T extends InteropZodObject\n> extends BaseLLMOutputParser<InferInteropZodOutput<T>> {\n lc_namespace = [\"langchain\", \"chains\", \"openai_functions\"];\n\n protected functionOutputParser = new OutputFunctionsParser();\n\n protected jsonSchemaValidator?: Validator;\n\n protected zodSchema?: T;\n\n constructor(fieldsOrSchema: JsonSchema7Type);\n\n constructor(fieldsOrSchema: FunctionCallStructuredOutputParserFields<T>);\n\n constructor(\n fieldsOrSchema:\n | JsonSchema7Type\n | FunctionCallStructuredOutputParserFields<T>\n ) {\n let fields;\n if (isJsonSchema7Type(fieldsOrSchema)) {\n fields = { jsonSchema: fieldsOrSchema };\n } else {\n fields = fieldsOrSchema;\n }\n if (fields.jsonSchema === undefined && fields.zodSchema === undefined) {\n throw new Error(\n `Must provide at least one of \"jsonSchema\" or \"zodSchema\".`\n );\n }\n super(fields);\n if (fields.jsonSchema !== undefined) {\n this.jsonSchemaValidator = new Validator(\n fields.jsonSchema as Record<string, unknown>,\n \"7\"\n );\n }\n if (fields.zodSchema !== undefined) {\n this.zodSchema = fields.zodSchema;\n }\n }\n\n /**\n * Method to parse the result of chat generations. It first parses the\n * result using the functionOutputParser, then parses the result against a\n * zod schema if the zod schema is available which allows the result to undergo\n * Zod preprocessing, then it parses that result against the JSON schema.\n * If the result is valid, it returns the parsed result. Otherwise, it throws\n * an OutputParserException.\n * @param generations Array of ChatGeneration instances to be parsed.\n * @returns The parsed result if it is valid according to the JSON schema.\n */\n async parseResult(generations: ChatGeneration[]) {\n const initialResult = await this.functionOutputParser.parseResult(\n generations\n );\n const parsedResult = JSON.parse(initialResult, (_, value) => {\n if (value === null) {\n return undefined;\n }\n return value;\n });\n if (this.zodSchema) {\n const zodParsedResult = await interopSafeParseAsync(\n this.zodSchema,\n parsedResult\n );\n if (zodParsedResult.success) {\n return zodParsedResult.data;\n } else {\n throw new OutputParserException(\n `Failed to parse. Text: \"${initialResult}\". Error: ${JSON.stringify(\n zodParsedResult.error.issues\n )}`,\n initialResult\n );\n }\n } else if (this.jsonSchemaValidator !== undefined) {\n const result = this.jsonSchemaValidator.validate(parsedResult);\n if (result.valid) {\n return parsedResult;\n } else {\n throw new OutputParserException(\n `Failed to parse. Text: \"${initialResult}\". Error: ${JSON.stringify(\n result.errors\n )}`,\n initialResult\n );\n }\n } else {\n throw new Error(\n \"This parser requires an input JSON Schema or an input Zod schema.\"\n );\n }\n }\n}\n\n/**\n * @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead\n * Create a chain that returns output matching a JSON Schema.\n * @param input Object that includes all LLMChainInput fields except \"outputParser\"\n * as well as an additional required \"outputSchema\" JSON Schema object.\n * @returns OpenAPIChain\n */\nexport function createStructuredOutputChain<\n T extends InteropZodObject = InteropZodObject\n>(\n input: StructuredOutputChainInput<T>\n): LLMChain<\n any,\n | BaseChatModel<BaseFunctionCallOptions, AIMessageChunk>\n | ChatOpenAI<BaseFunctionCallOptions>\n> {\n const {\n outputSchema,\n llm = new ChatOpenAI({ model: \"gpt-3.5-turbo-0613\", temperature: 0 }),\n outputKey = \"output\",\n llmKwargs = {},\n zodSchema,\n ...rest\n } = input;\n if (outputSchema === undefined && zodSchema === undefined) {\n throw new Error(`Must provide one of \"outputSchema\" or \"zodSchema\".`);\n }\n const functionName = \"output_formatter\";\n return new LLMChain({\n llm,\n llmKwargs: {\n ...llmKwargs,\n functions: [\n {\n name: functionName,\n description: `Output formatter. Should always be used to format your response to the user.`,\n parameters: outputSchema,\n },\n ],\n function_call: {\n name: functionName,\n },\n },\n outputKey,\n outputParser: new FunctionCallStructuredOutputParser<T>({\n jsonSchema: outputSchema,\n zodSchema,\n }),\n ...rest,\n });\n}\n\n/** @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead */\nexport function createStructuredOutputChainFromZod<T extends InteropZodObject>(\n zodSchema: T,\n input: Omit<StructuredOutputChainInput<T>, \"outputSchema\">\n): LLMChain<\n any,\n | BaseChatModel<BaseFunctionCallOptions, AIMessageChunk>\n | ChatOpenAI<BaseFunctionCallOptions>\n> {\n return createStructuredOutputChain<T>({\n ...input,\n outputSchema: toJsonSchema(zodSchema),\n zodSchema,\n });\n}\n"],"mappings":";;;;;;;;;AA6CA,SAAS,kBACPA,GACsB;AACtB,QACG,EAA+C,eAAe,UAC9D,EAA+C,cAAc;AAEjE;;;;;AAMD,IAAa,qCAAb,cAEUC,oDAA8C;CACtD,eAAe;EAAC;EAAa;EAAU;CAAmB;CAE1D,AAAU,uBAAuB,IAAIC;CAErC,AAAU;CAEV,AAAU;CAMV,YACEC,gBAGA;EACA,IAAI;AACJ,MAAI,kBAAkB,eAAe,EACnC,SAAS,EAAE,YAAY,eAAgB;OAEvC,SAAS;AAEX,MAAI,OAAO,eAAe,UAAa,OAAO,cAAc,OAC1D,OAAM,IAAI,MACR,CAAC,yDAAyD,CAAC;EAG/D,MAAM,OAAO;AACb,MAAI,OAAO,eAAe,QACxB,KAAK,sBAAsB,IAAIC,6CAC7B,OAAO,YACP;AAGJ,MAAI,OAAO,cAAc,QACvB,KAAK,YAAY,OAAO;CAE3B;;;;;;;;;;;CAYD,MAAM,YAAYC,aAA+B;EAC/C,MAAM,gBAAgB,MAAM,KAAK,qBAAqB,YACpD,YACD;EACD,MAAM,eAAe,KAAK,MAAM,eAAe,CAAC,GAAG,UAAU;AAC3D,OAAI,UAAU,KACZ,QAAO;AAET,UAAO;EACR,EAAC;AACF,MAAI,KAAK,WAAW;GAClB,MAAM,kBAAkB,8DACtB,KAAK,WACL,aACD;AACD,OAAI,gBAAgB,QAClB,QAAO,gBAAgB;OAEvB,OAAM,IAAIC,sDACR,CAAC,wBAAwB,EAAE,cAAc,UAAU,EAAE,KAAK,UACxD,gBAAgB,MAAM,OACvB,EAAE,EACH;EAGL,WAAU,KAAK,wBAAwB,QAAW;GACjD,MAAM,SAAS,KAAK,oBAAoB,SAAS,aAAa;AAC9D,OAAI,OAAO,MACT,QAAO;OAEP,OAAM,IAAIA,sDACR,CAAC,wBAAwB,EAAE,cAAc,UAAU,EAAE,KAAK,UACxD,OAAO,OACR,EAAE,EACH;EAGL,MACC,OAAM,IAAI,MACR;CAGL;AACF;;;;;;;;AASD,SAAgB,4BAGdC,OAKA;CACA,MAAM,EACJ,cACA,MAAM,IAAIC,8BAAW;EAAE,OAAO;EAAsB,aAAa;CAAG,IACpE,YAAY,UACZ,YAAY,CAAE,GACd,UACA,GAAG,MACJ,GAAG;AACJ,KAAI,iBAAiB,UAAa,cAAc,OAC9C,OAAM,IAAI,MAAM,CAAC,kDAAkD,CAAC;CAEtE,MAAM,eAAe;AACrB,QAAO,IAAIC,2BAAS;EAClB;EACA,WAAW;GACT,GAAG;GACH,WAAW,CACT;IACE,MAAM;IACN,aAAa,CAAC,4EAA4E,CAAC;IAC3F,YAAY;GACb,CACF;GACD,eAAe,EACb,MAAM,aACP;EACF;EACD;EACA,cAAc,IAAI,mCAAsC;GACtD,YAAY;GACZ;EACD;EACD,GAAG;CACJ;AACF;;AAGD,SAAgB,mCACdC,WACAC,OAKA;AACA,QAAO,4BAA+B;EACpC,GAAG;EACH,mEAA2B,UAAU;EACrC;CACD,EAAC;AACH"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { LLMChain, LLMChainInput } from "../llm_chain.cjs";
|
|
2
|
-
import { BaseFunctionCallOptions } from "@langchain/core/language_models/base";
|
|
3
|
-
import { BaseLLMOutputParser } from "@langchain/core/output_parsers";
|
|
4
|
-
import { BasePromptTemplate } from "@langchain/core/prompts";
|
|
5
|
-
import { InferInteropZodOutput, InteropZodObject } from "@langchain/core/utils/types";
|
|
6
|
-
import { ChatGeneration } from "@langchain/core/outputs";
|
|
7
|
-
import { AIMessageChunk } from "@langchain/core/messages";
|
|
8
|
-
import { ChatOpenAI } from "@langchain/openai";
|
|
9
|
-
import { BaseChatModel } from "@langchain/core/language_models/chat_models";
|
|
10
|
-
import { JsonSchema7Type } from "@langchain/core/utils/json_schema";
|
|
11
|
-
|
|
12
|
-
//#region src/chains/openai_functions/structured_output.d.ts
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Type representing the input for creating a structured output chain. It
|
|
16
|
-
* extends the LLMChainInput type and includes an additional
|
|
17
|
-
* 'outputSchema' field representing the JSON schema for the expected
|
|
18
|
-
* output.
|
|
19
|
-
*/
|
|
20
|
-
type StructuredOutputChainInput<T extends InteropZodObject = InteropZodObject> = Omit<LLMChainInput, "outputParser" | "llm"> & {
|
|
21
|
-
outputSchema?: JsonSchema7Type;
|
|
22
|
-
prompt: BasePromptTemplate;
|
|
23
|
-
llm?: BaseChatModel<BaseFunctionCallOptions>;
|
|
24
|
-
zodSchema?: T;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead
|
|
28
|
-
* Create a chain that returns output matching a JSON Schema.
|
|
29
|
-
* @param input Object that includes all LLMChainInput fields except "outputParser"
|
|
30
|
-
* as well as an additional required "outputSchema" JSON Schema object.
|
|
31
|
-
* @returns OpenAPIChain
|
|
32
|
-
*/
|
|
33
|
-
declare function createStructuredOutputChain<T extends InteropZodObject = InteropZodObject>(input: StructuredOutputChainInput<T>): LLMChain<any, BaseChatModel<BaseFunctionCallOptions, AIMessageChunk> | ChatOpenAI<BaseFunctionCallOptions>>;
|
|
34
|
-
/** @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead */
|
|
35
|
-
declare function createStructuredOutputChainFromZod<T extends InteropZodObject>(zodSchema: T, input: Omit<StructuredOutputChainInput<T>, "outputSchema">): LLMChain<any, BaseChatModel<BaseFunctionCallOptions, AIMessageChunk> | ChatOpenAI<BaseFunctionCallOptions>>;
|
|
36
|
-
//#endregion
|
|
37
|
-
export { StructuredOutputChainInput, createStructuredOutputChain, createStructuredOutputChainFromZod };
|
|
38
|
-
//# sourceMappingURL=structured_output.d.cts.map
|