@langchain/core 1.1.3 → 1.1.5-dev-1765431816670
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/dist/agents.d.cts.map +1 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/caches/index.d.cts.map +1 -0
- package/dist/caches/index.d.ts.map +1 -0
- package/dist/callbacks/base.cjs +1 -1
- package/dist/callbacks/base.cjs.map +1 -1
- package/dist/callbacks/base.d.cts.map +1 -0
- package/dist/callbacks/base.d.ts.map +1 -0
- package/dist/callbacks/base.js +1 -1
- package/dist/callbacks/base.js.map +1 -1
- package/dist/callbacks/dispatch/index.d.cts.map +1 -0
- package/dist/callbacks/dispatch/index.d.ts.map +1 -0
- package/dist/callbacks/dispatch/web.d.cts.map +1 -0
- package/dist/callbacks/dispatch/web.d.ts.map +1 -0
- package/dist/callbacks/manager.cjs +6 -6
- package/dist/callbacks/manager.cjs.map +1 -1
- package/dist/callbacks/manager.d.cts.map +1 -0
- package/dist/callbacks/manager.d.ts.map +1 -0
- package/dist/callbacks/manager.js +7 -7
- package/dist/callbacks/manager.js.map +1 -1
- package/dist/chat_history.d.cts.map +1 -0
- package/dist/chat_history.d.ts.map +1 -0
- package/dist/context.d.cts.map +1 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/document_loaders/base.d.cts.map +1 -0
- package/dist/document_loaders/base.d.ts.map +1 -0
- package/dist/document_loaders/langsmith.d.cts.map +1 -0
- package/dist/document_loaders/langsmith.d.ts.map +1 -0
- package/dist/documents/document.d.cts.map +1 -0
- package/dist/documents/document.d.ts.map +1 -0
- package/dist/documents/transformers.d.cts.map +1 -0
- package/dist/documents/transformers.d.ts.map +1 -0
- package/dist/embeddings.d.cts.map +1 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/example_selectors/base.d.cts.map +1 -0
- package/dist/example_selectors/base.d.ts.map +1 -0
- package/dist/example_selectors/conditional.d.cts.map +1 -0
- package/dist/example_selectors/conditional.d.ts.map +1 -0
- package/dist/example_selectors/length_based.d.cts.map +1 -0
- package/dist/example_selectors/length_based.d.ts.map +1 -0
- package/dist/example_selectors/semantic_similarity.d.cts.map +1 -0
- package/dist/example_selectors/semantic_similarity.d.ts.map +1 -0
- package/dist/indexing/base.d.cts.map +1 -0
- package/dist/indexing/base.d.ts.map +1 -0
- package/dist/indexing/record_manager.d.cts.map +1 -0
- package/dist/indexing/record_manager.d.ts.map +1 -0
- package/dist/language_models/base.d.cts.map +1 -0
- package/dist/language_models/base.d.ts.map +1 -0
- package/dist/language_models/chat_models.d.cts.map +1 -0
- package/dist/language_models/chat_models.d.ts.map +1 -0
- package/dist/language_models/llms.d.cts.map +1 -0
- package/dist/language_models/llms.d.ts.map +1 -0
- package/dist/language_models/profile.d.cts.map +1 -0
- package/dist/language_models/profile.d.ts.map +1 -0
- package/dist/load/import_type.d.cts.map +1 -0
- package/dist/load/import_type.d.ts.map +1 -0
- package/dist/load/index.d.cts.map +1 -0
- package/dist/load/index.d.ts.map +1 -0
- package/dist/load/map_keys.cjs +5 -4
- package/dist/load/map_keys.cjs.map +1 -1
- package/dist/load/map_keys.d.cts.map +1 -0
- package/dist/load/map_keys.d.ts.map +1 -0
- package/dist/load/map_keys.js +3 -3
- package/dist/load/map_keys.js.map +1 -1
- package/dist/load/serializable.d.cts.map +1 -0
- package/dist/load/serializable.d.ts.map +1 -0
- package/dist/memory.d.cts.map +1 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/messages/ai.d.cts.map +1 -0
- package/dist/messages/ai.d.ts.map +1 -0
- package/dist/messages/base.d.cts.map +1 -0
- package/dist/messages/base.d.ts.map +1 -0
- package/dist/messages/chat.d.cts.map +1 -0
- package/dist/messages/chat.d.ts.map +1 -0
- package/dist/messages/content/base.d.cts.map +1 -0
- package/dist/messages/content/base.d.ts.map +1 -0
- package/dist/messages/content/data.d.cts.map +1 -0
- package/dist/messages/content/data.d.ts.map +1 -0
- package/dist/messages/content/index.d.cts.map +1 -0
- package/dist/messages/content/index.d.ts.map +1 -0
- package/dist/messages/content/multimodal.d.cts.map +1 -0
- package/dist/messages/content/multimodal.d.ts.map +1 -0
- package/dist/messages/content/tools.d.cts.map +1 -0
- package/dist/messages/content/tools.d.ts.map +1 -0
- package/dist/messages/format.d.cts.map +1 -0
- package/dist/messages/format.d.ts.map +1 -0
- package/dist/messages/function.d.cts.map +1 -0
- package/dist/messages/function.d.ts.map +1 -0
- package/dist/messages/human.d.cts.map +1 -0
- package/dist/messages/human.d.ts.map +1 -0
- package/dist/messages/message.d.cts.map +1 -0
- package/dist/messages/message.d.ts.map +1 -0
- package/dist/messages/metadata.d.cts.map +1 -0
- package/dist/messages/metadata.d.ts.map +1 -0
- package/dist/messages/modifier.d.cts.map +1 -0
- package/dist/messages/modifier.d.ts.map +1 -0
- package/dist/messages/system.d.cts.map +1 -0
- package/dist/messages/system.d.ts.map +1 -0
- package/dist/messages/tool.d.cts.map +1 -0
- package/dist/messages/tool.d.ts.map +1 -0
- package/dist/messages/transformers.d.cts.map +1 -0
- package/dist/messages/transformers.d.ts.map +1 -0
- package/dist/messages/utils.d.cts.map +1 -0
- package/dist/messages/utils.d.ts.map +1 -0
- package/dist/output_parsers/base.d.cts.map +1 -0
- package/dist/output_parsers/base.d.ts.map +1 -0
- package/dist/output_parsers/bytes.d.cts.map +1 -0
- package/dist/output_parsers/bytes.d.ts.map +1 -0
- package/dist/output_parsers/json.d.cts.map +1 -0
- package/dist/output_parsers/json.d.ts.map +1 -0
- package/dist/output_parsers/list.d.cts.map +1 -0
- package/dist/output_parsers/list.d.ts.map +1 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -0
- package/dist/output_parsers/string.d.cts.map +1 -0
- package/dist/output_parsers/string.d.ts.map +1 -0
- package/dist/output_parsers/structured.d.cts.map +1 -0
- package/dist/output_parsers/structured.d.ts.map +1 -0
- package/dist/output_parsers/transform.d.cts.map +1 -0
- package/dist/output_parsers/transform.d.ts.map +1 -0
- package/dist/output_parsers/xml.d.cts.map +1 -0
- package/dist/output_parsers/xml.d.ts.map +1 -0
- package/dist/outputs.d.cts.map +1 -0
- package/dist/outputs.d.ts.map +1 -0
- package/dist/prompt_values.d.cts.map +1 -0
- package/dist/prompt_values.d.ts.map +1 -0
- package/dist/prompts/base.d.cts.map +1 -0
- package/dist/prompts/base.d.ts.map +1 -0
- package/dist/prompts/chat.d.cts.map +1 -0
- package/dist/prompts/chat.d.ts.map +1 -0
- package/dist/prompts/dict.d.cts.map +1 -0
- package/dist/prompts/dict.d.ts.map +1 -0
- package/dist/prompts/few_shot.d.cts.map +1 -0
- package/dist/prompts/few_shot.d.ts.map +1 -0
- package/dist/prompts/image.d.cts.map +1 -0
- package/dist/prompts/image.d.ts.map +1 -0
- package/dist/prompts/pipeline.d.cts.map +1 -0
- package/dist/prompts/pipeline.d.ts.map +1 -0
- package/dist/prompts/prompt.d.cts.map +1 -0
- package/dist/prompts/prompt.d.ts.map +1 -0
- package/dist/prompts/serde.d.cts.map +1 -0
- package/dist/prompts/serde.d.ts.map +1 -0
- package/dist/prompts/string.d.cts.map +1 -0
- package/dist/prompts/string.d.ts.map +1 -0
- package/dist/prompts/structured.d.cts.map +1 -0
- package/dist/prompts/structured.d.ts.map +1 -0
- package/dist/prompts/template.d.cts.map +1 -0
- package/dist/prompts/template.d.ts.map +1 -0
- package/dist/retrievers/document_compressors/index.d.cts.map +1 -0
- package/dist/retrievers/document_compressors/index.d.ts.map +1 -0
- package/dist/retrievers/index.d.cts.map +1 -0
- package/dist/retrievers/index.d.ts.map +1 -0
- package/dist/runnables/base.cjs +7 -7
- package/dist/runnables/base.cjs.map +1 -1
- package/dist/runnables/base.d.cts.map +1 -0
- package/dist/runnables/base.d.ts.map +1 -0
- package/dist/runnables/base.js +1 -1
- package/dist/runnables/base.js.map +1 -1
- package/dist/runnables/branch.d.cts.map +1 -0
- package/dist/runnables/branch.d.ts.map +1 -0
- package/dist/runnables/config.cjs +15 -1
- package/dist/runnables/config.cjs.map +1 -1
- package/dist/runnables/config.d.cts.map +1 -0
- package/dist/runnables/config.d.ts.map +1 -0
- package/dist/runnables/config.js +15 -1
- package/dist/runnables/config.js.map +1 -1
- package/dist/runnables/graph.d.cts.map +1 -0
- package/dist/runnables/graph.d.ts.map +1 -0
- package/dist/runnables/history.d.cts.map +1 -0
- package/dist/runnables/history.d.ts.map +1 -0
- package/dist/runnables/passthrough.d.cts.map +1 -0
- package/dist/runnables/passthrough.d.ts.map +1 -0
- package/dist/runnables/router.d.cts.map +1 -0
- package/dist/runnables/router.d.ts.map +1 -0
- package/dist/runnables/types.d.cts.map +1 -0
- package/dist/runnables/types.d.ts.map +1 -0
- package/dist/singletons/async_local_storage/context.d.cts.map +1 -0
- package/dist/singletons/async_local_storage/context.d.ts.map +1 -0
- package/dist/singletons/async_local_storage/globals.d.cts.map +1 -0
- package/dist/singletons/async_local_storage/globals.d.ts.map +1 -0
- package/dist/singletons/async_local_storage/index.d.cts.map +1 -0
- package/dist/singletons/async_local_storage/index.d.ts.map +1 -0
- package/dist/singletons/callbacks.cjs.map +1 -1
- package/dist/singletons/callbacks.d.cts.map +1 -0
- package/dist/singletons/callbacks.d.ts.map +1 -0
- package/dist/singletons/callbacks.js.map +1 -1
- package/dist/stores.d.cts.map +1 -0
- package/dist/stores.d.ts.map +1 -0
- package/dist/structured_query/base.d.cts.map +1 -0
- package/dist/structured_query/base.d.ts.map +1 -0
- package/dist/structured_query/functional.d.cts.map +1 -0
- package/dist/structured_query/functional.d.ts.map +1 -0
- package/dist/structured_query/ir.d.cts.map +1 -0
- package/dist/structured_query/ir.d.ts.map +1 -0
- package/dist/structured_query/utils.d.cts.map +1 -0
- package/dist/structured_query/utils.d.ts.map +1 -0
- package/dist/tools/index.d.cts.map +1 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/types.d.cts.map +1 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/utils.d.cts.map +1 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tracers/base.d.cts.map +1 -0
- package/dist/tracers/base.d.ts.map +1 -0
- package/dist/tracers/console.cjs +3 -3
- package/dist/tracers/console.cjs.map +1 -1
- package/dist/tracers/console.d.cts.map +1 -0
- package/dist/tracers/console.d.ts.map +1 -0
- package/dist/tracers/console.js +3 -3
- package/dist/tracers/console.js.map +1 -1
- package/dist/tracers/event_stream.d.cts.map +1 -0
- package/dist/tracers/event_stream.d.ts.map +1 -0
- package/dist/tracers/log_stream.d.cts.map +1 -0
- package/dist/tracers/log_stream.d.ts.map +1 -0
- package/dist/tracers/run_collector.d.cts.map +1 -0
- package/dist/tracers/run_collector.d.ts.map +1 -0
- package/dist/tracers/tracer_langchain.d.cts.map +1 -0
- package/dist/tracers/tracer_langchain.d.ts.map +1 -0
- package/dist/types/_internal.d.cts.map +1 -0
- package/dist/types/_internal.d.ts.map +1 -0
- package/dist/types/type-utils.d.cts.map +1 -0
- package/dist/types/type-utils.d.ts.map +1 -0
- package/dist/utils/async_caller.cjs +1 -1
- package/dist/utils/async_caller.cjs.map +1 -1
- package/dist/utils/async_caller.d.cts.map +1 -0
- package/dist/utils/async_caller.d.ts.map +1 -0
- package/dist/utils/async_caller.js +1 -1
- package/dist/utils/async_caller.js.map +1 -1
- package/dist/utils/chunk_array.d.cts.map +1 -0
- package/dist/utils/chunk_array.d.ts.map +1 -0
- package/dist/utils/env.d.cts.map +1 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/event_source_parse.d.cts.map +1 -0
- package/dist/utils/event_source_parse.d.ts.map +1 -0
- package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -0
- package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -0
- package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -0
- package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -0
- package/dist/utils/format.d.cts.map +1 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/function_calling.d.cts.map +1 -0
- package/dist/utils/function_calling.d.ts.map +1 -0
- package/dist/utils/hash.d.cts.map +1 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/{node_modules/.pnpm/is-network-error@1.3.0/node_modules → utils}/is-network-error/index.cjs +1 -1
- package/dist/utils/is-network-error/index.cjs.map +1 -0
- package/dist/{node_modules/.pnpm/is-network-error@1.3.0/node_modules → utils}/is-network-error/index.js +1 -1
- package/dist/utils/is-network-error/index.js.map +1 -0
- package/dist/utils/js-sha256/hash.d.cts.map +1 -0
- package/dist/utils/js-sha256/hash.d.ts.map +1 -0
- package/dist/utils/json.d.cts.map +1 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json_schema.d.cts.map +1 -0
- package/dist/utils/json_schema.d.ts.map +1 -0
- package/dist/utils/math.d.cts.map +1 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/ml-distance/similarities.d.cts.map +1 -0
- package/dist/utils/ml-distance/similarities.d.ts.map +1 -0
- package/dist/{node_modules/.pnpm/p-retry@7.1.0/node_modules → utils}/p-retry/index.cjs +2 -2
- package/dist/utils/p-retry/index.cjs.map +1 -0
- package/dist/{node_modules/.pnpm/p-retry@7.1.0/node_modules → utils}/p-retry/index.js +2 -2
- package/dist/utils/p-retry/index.js.map +1 -0
- package/dist/utils/signal.d.cts.map +1 -0
- package/dist/utils/signal.d.ts.map +1 -0
- package/dist/utils/stream.d.cts.map +1 -0
- package/dist/utils/stream.d.ts.map +1 -0
- package/dist/utils/testing/chat_models.cjs +11 -5
- package/dist/utils/testing/chat_models.cjs.map +1 -1
- package/dist/utils/testing/chat_models.d.cts +8 -1
- package/dist/utils/testing/chat_models.d.cts.map +1 -0
- package/dist/utils/testing/chat_models.d.ts +8 -1
- package/dist/utils/testing/chat_models.d.ts.map +1 -0
- package/dist/utils/testing/chat_models.js +11 -5
- package/dist/utils/testing/chat_models.js.map +1 -1
- package/dist/utils/testing/embeddings.d.cts.map +1 -0
- package/dist/utils/testing/embeddings.d.ts.map +1 -0
- package/dist/utils/testing/llms.d.cts.map +1 -0
- package/dist/utils/testing/llms.d.ts.map +1 -0
- package/dist/utils/testing/message_history.d.cts.map +1 -0
- package/dist/utils/testing/message_history.d.ts.map +1 -0
- package/dist/utils/testing/output_parsers.d.cts.map +1 -0
- package/dist/utils/testing/output_parsers.d.ts.map +1 -0
- package/dist/utils/testing/retrievers.d.cts.map +1 -0
- package/dist/utils/testing/retrievers.d.ts.map +1 -0
- package/dist/utils/testing/runnables.d.cts.map +1 -0
- package/dist/utils/testing/runnables.d.ts.map +1 -0
- package/dist/utils/testing/tools.d.cts.map +1 -0
- package/dist/utils/testing/tools.d.ts.map +1 -0
- package/dist/utils/testing/tracers.d.cts.map +1 -0
- package/dist/utils/testing/tracers.d.ts.map +1 -0
- package/dist/utils/testing/vectorstores.d.cts.map +1 -0
- package/dist/utils/testing/vectorstores.d.ts.map +1 -0
- package/dist/utils/tiktoken.d.cts.map +1 -0
- package/dist/utils/tiktoken.d.ts.map +1 -0
- package/dist/utils/types/index.d.cts.map +1 -0
- package/dist/utils/types/index.d.ts.map +1 -0
- package/dist/utils/types/zod.d.cts.map +1 -0
- package/dist/utils/types/zod.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -0
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -0
- package/dist/vectorstores.d.cts.map +1 -0
- package/dist/vectorstores.d.ts.map +1 -0
- package/package.json +10 -10
- package/agents.cjs +0 -1
- package/agents.d.cts +0 -1
- package/agents.d.ts +0 -1
- package/agents.js +0 -1
- package/caches.cjs +0 -1
- package/caches.d.cts +0 -1
- package/caches.d.ts +0 -1
- package/caches.js +0 -1
- package/callbacks/base.cjs +0 -1
- package/callbacks/base.d.cts +0 -1
- package/callbacks/base.d.ts +0 -1
- package/callbacks/base.js +0 -1
- package/callbacks/dispatch/web.cjs +0 -1
- package/callbacks/dispatch/web.d.cts +0 -1
- package/callbacks/dispatch/web.d.ts +0 -1
- package/callbacks/dispatch/web.js +0 -1
- package/callbacks/dispatch.cjs +0 -1
- package/callbacks/dispatch.d.cts +0 -1
- package/callbacks/dispatch.d.ts +0 -1
- package/callbacks/dispatch.js +0 -1
- package/callbacks/manager.cjs +0 -1
- package/callbacks/manager.d.cts +0 -1
- package/callbacks/manager.d.ts +0 -1
- package/callbacks/manager.js +0 -1
- package/callbacks/promises.cjs +0 -1
- package/callbacks/promises.d.cts +0 -1
- package/callbacks/promises.d.ts +0 -1
- package/callbacks/promises.js +0 -1
- package/chat_history.cjs +0 -1
- package/chat_history.d.cts +0 -1
- package/chat_history.d.ts +0 -1
- package/chat_history.js +0 -1
- package/context.cjs +0 -1
- package/context.d.cts +0 -1
- package/context.d.ts +0 -1
- package/context.js +0 -1
- package/dist/node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.cjs +0 -169
- package/dist/node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.js +0 -168
- package/dist/node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.js.map +0 -1
- package/dist/node_modules/.pnpm/camelcase@9.0.0/node_modules/camelcase/index.cjs +0 -122
- package/dist/node_modules/.pnpm/camelcase@9.0.0/node_modules/camelcase/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/camelcase@9.0.0/node_modules/camelcase/index.js +0 -121
- package/dist/node_modules/.pnpm/camelcase@9.0.0/node_modules/camelcase/index.js.map +0 -1
- package/dist/node_modules/.pnpm/decamelize@6.0.1/node_modules/decamelize/index.cjs +0 -18
- package/dist/node_modules/.pnpm/decamelize@6.0.1/node_modules/decamelize/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/decamelize@6.0.1/node_modules/decamelize/index.js +0 -17
- package/dist/node_modules/.pnpm/decamelize@6.0.1/node_modules/decamelize/index.js.map +0 -1
- package/dist/node_modules/.pnpm/is-network-error@1.3.0/node_modules/is-network-error/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/is-network-error@1.3.0/node_modules/is-network-error/index.js.map +0 -1
- package/dist/node_modules/.pnpm/p-retry@7.1.0/node_modules/p-retry/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/p-retry@7.1.0/node_modules/p-retry/index.js.map +0 -1
- package/document_loaders/base.cjs +0 -1
- package/document_loaders/base.d.cts +0 -1
- package/document_loaders/base.d.ts +0 -1
- package/document_loaders/base.js +0 -1
- package/document_loaders/langsmith.cjs +0 -1
- package/document_loaders/langsmith.d.cts +0 -1
- package/document_loaders/langsmith.d.ts +0 -1
- package/document_loaders/langsmith.js +0 -1
- package/documents.cjs +0 -1
- package/documents.d.cts +0 -1
- package/documents.d.ts +0 -1
- package/documents.js +0 -1
- package/embeddings.cjs +0 -1
- package/embeddings.d.cts +0 -1
- package/embeddings.d.ts +0 -1
- package/embeddings.js +0 -1
- package/example_selectors.cjs +0 -1
- package/example_selectors.d.cts +0 -1
- package/example_selectors.d.ts +0 -1
- package/example_selectors.js +0 -1
- package/indexing.cjs +0 -1
- package/indexing.d.cts +0 -1
- package/indexing.d.ts +0 -1
- package/indexing.js +0 -1
- package/language_models/base.cjs +0 -1
- package/language_models/base.d.cts +0 -1
- package/language_models/base.d.ts +0 -1
- package/language_models/base.js +0 -1
- package/language_models/chat_models.cjs +0 -1
- package/language_models/chat_models.d.cts +0 -1
- package/language_models/chat_models.d.ts +0 -1
- package/language_models/chat_models.js +0 -1
- package/language_models/llms.cjs +0 -1
- package/language_models/llms.d.cts +0 -1
- package/language_models/llms.d.ts +0 -1
- package/language_models/llms.js +0 -1
- package/language_models/profile.cjs +0 -1
- package/language_models/profile.d.cts +0 -1
- package/language_models/profile.d.ts +0 -1
- package/language_models/profile.js +0 -1
- package/load/serializable.cjs +0 -1
- package/load/serializable.d.cts +0 -1
- package/load/serializable.d.ts +0 -1
- package/load/serializable.js +0 -1
- package/load.cjs +0 -1
- package/load.d.cts +0 -1
- package/load.d.ts +0 -1
- package/load.js +0 -1
- package/memory.cjs +0 -1
- package/memory.d.cts +0 -1
- package/memory.d.ts +0 -1
- package/memory.js +0 -1
- package/messages/tool.cjs +0 -1
- package/messages/tool.d.cts +0 -1
- package/messages/tool.d.ts +0 -1
- package/messages/tool.js +0 -1
- package/messages.cjs +0 -1
- package/messages.d.cts +0 -1
- package/messages.d.ts +0 -1
- package/messages.js +0 -1
- package/output_parsers/openai_functions.cjs +0 -1
- package/output_parsers/openai_functions.d.cts +0 -1
- package/output_parsers/openai_functions.d.ts +0 -1
- package/output_parsers/openai_functions.js +0 -1
- package/output_parsers/openai_tools.cjs +0 -1
- package/output_parsers/openai_tools.d.cts +0 -1
- package/output_parsers/openai_tools.d.ts +0 -1
- package/output_parsers/openai_tools.js +0 -1
- package/output_parsers.cjs +0 -1
- package/output_parsers.d.cts +0 -1
- package/output_parsers.d.ts +0 -1
- package/output_parsers.js +0 -1
- package/outputs.cjs +0 -1
- package/outputs.d.cts +0 -1
- package/outputs.d.ts +0 -1
- package/outputs.js +0 -1
- package/prompt_values.cjs +0 -1
- package/prompt_values.d.cts +0 -1
- package/prompt_values.d.ts +0 -1
- package/prompt_values.js +0 -1
- package/prompts.cjs +0 -1
- package/prompts.d.cts +0 -1
- package/prompts.d.ts +0 -1
- package/prompts.js +0 -1
- package/retrievers/document_compressors.cjs +0 -1
- package/retrievers/document_compressors.d.cts +0 -1
- package/retrievers/document_compressors.d.ts +0 -1
- package/retrievers/document_compressors.js +0 -1
- package/retrievers.cjs +0 -1
- package/retrievers.d.cts +0 -1
- package/retrievers.d.ts +0 -1
- package/retrievers.js +0 -1
- package/runnables/graph.cjs +0 -1
- package/runnables/graph.d.cts +0 -1
- package/runnables/graph.d.ts +0 -1
- package/runnables/graph.js +0 -1
- package/runnables.cjs +0 -1
- package/runnables.d.cts +0 -1
- package/runnables.d.ts +0 -1
- package/runnables.js +0 -1
- package/singletons.cjs +0 -1
- package/singletons.d.cts +0 -1
- package/singletons.d.ts +0 -1
- package/singletons.js +0 -1
- package/stores.cjs +0 -1
- package/stores.d.cts +0 -1
- package/stores.d.ts +0 -1
- package/stores.js +0 -1
- package/structured_query.cjs +0 -1
- package/structured_query.d.cts +0 -1
- package/structured_query.d.ts +0 -1
- package/structured_query.js +0 -1
- package/tools.cjs +0 -1
- package/tools.d.cts +0 -1
- package/tools.d.ts +0 -1
- package/tools.js +0 -1
- package/tracers/base.cjs +0 -1
- package/tracers/base.d.cts +0 -1
- package/tracers/base.d.ts +0 -1
- package/tracers/base.js +0 -1
- package/tracers/console.cjs +0 -1
- package/tracers/console.d.cts +0 -1
- package/tracers/console.d.ts +0 -1
- package/tracers/console.js +0 -1
- package/tracers/log_stream.cjs +0 -1
- package/tracers/log_stream.d.cts +0 -1
- package/tracers/log_stream.d.ts +0 -1
- package/tracers/log_stream.js +0 -1
- package/tracers/run_collector.cjs +0 -1
- package/tracers/run_collector.d.cts +0 -1
- package/tracers/run_collector.d.ts +0 -1
- package/tracers/run_collector.js +0 -1
- package/tracers/tracer_langchain.cjs +0 -1
- package/tracers/tracer_langchain.d.cts +0 -1
- package/tracers/tracer_langchain.d.ts +0 -1
- package/tracers/tracer_langchain.js +0 -1
- package/types/stream.cjs +0 -1
- package/types/stream.d.cts +0 -1
- package/types/stream.d.ts +0 -1
- package/types/stream.js +0 -1
- package/utils/async_caller.cjs +0 -1
- package/utils/async_caller.d.cts +0 -1
- package/utils/async_caller.d.ts +0 -1
- package/utils/async_caller.js +0 -1
- package/utils/chunk_array.cjs +0 -1
- package/utils/chunk_array.d.cts +0 -1
- package/utils/chunk_array.d.ts +0 -1
- package/utils/chunk_array.js +0 -1
- package/utils/env.cjs +0 -1
- package/utils/env.d.cts +0 -1
- package/utils/env.d.ts +0 -1
- package/utils/env.js +0 -1
- package/utils/event_source_parse.cjs +0 -1
- package/utils/event_source_parse.d.cts +0 -1
- package/utils/event_source_parse.d.ts +0 -1
- package/utils/event_source_parse.js +0 -1
- package/utils/format.cjs +0 -1
- package/utils/format.d.cts +0 -1
- package/utils/format.d.ts +0 -1
- package/utils/format.js +0 -1
- package/utils/function_calling.cjs +0 -1
- package/utils/function_calling.d.cts +0 -1
- package/utils/function_calling.d.ts +0 -1
- package/utils/function_calling.js +0 -1
- package/utils/hash.cjs +0 -1
- package/utils/hash.d.cts +0 -1
- package/utils/hash.d.ts +0 -1
- package/utils/hash.js +0 -1
- package/utils/json_patch.cjs +0 -1
- package/utils/json_patch.d.cts +0 -1
- package/utils/json_patch.d.ts +0 -1
- package/utils/json_patch.js +0 -1
- package/utils/json_schema.cjs +0 -1
- package/utils/json_schema.d.cts +0 -1
- package/utils/json_schema.d.ts +0 -1
- package/utils/json_schema.js +0 -1
- package/utils/math.cjs +0 -1
- package/utils/math.d.cts +0 -1
- package/utils/math.d.ts +0 -1
- package/utils/math.js +0 -1
- package/utils/stream.cjs +0 -1
- package/utils/stream.d.cts +0 -1
- package/utils/stream.d.ts +0 -1
- package/utils/stream.js +0 -1
- package/utils/testing.cjs +0 -1
- package/utils/testing.d.cts +0 -1
- package/utils/testing.d.ts +0 -1
- package/utils/testing.js +0 -1
- package/utils/tiktoken.cjs +0 -1
- package/utils/tiktoken.d.cts +0 -1
- package/utils/tiktoken.d.ts +0 -1
- package/utils/tiktoken.js +0 -1
- package/utils/types.cjs +0 -1
- package/utils/types.d.cts +0 -1
- package/utils/types.d.ts +0 -1
- package/utils/types.js +0 -1
- package/vectorstores.cjs +0 -1
- package/vectorstores.d.cts +0 -1
- package/vectorstores.d.ts +0 -1
- package/vectorstores.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.d.cts","names":["Runnable","RunnableLike","RunnableConfig","CallbackManagerForChainRun","Branch","RunInput","RunOutput","BranchLike","RunnableBranch","Partial","Promise","Awaited","AsyncGenerator"],"sources":["../../src/runnables/branch.d.ts"],"sourcesContent":["import { Runnable, RunnableLike } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\nimport { CallbackManagerForChainRun } from \"../callbacks/manager.js\";\n/**\n * Type for a branch in the RunnableBranch. It consists of a condition\n * runnable and a branch runnable. The condition runnable is used to\n * determine whether the branch should be executed, and the branch runnable\n * is executed if the condition is true.\n */\nexport type Branch<RunInput, RunOutput> = [\n Runnable<RunInput, boolean>,\n Runnable<RunInput, RunOutput>\n];\nexport type BranchLike<RunInput, RunOutput> = [\n RunnableLike<RunInput, boolean>,\n RunnableLike<RunInput, RunOutput>\n];\n/**\n * Class that represents a runnable branch. The RunnableBranch is\n * initialized with an array of branches and a default branch. When invoked,\n * it evaluates the condition of each branch in order and executes the\n * corresponding branch if the condition is true. If none of the conditions\n * are true, it executes the default branch.\n * @example\n * ```typescript\n * const branch = RunnableBranch.from([\n * [\n * (x: { topic: string; question: string }) =>\n * x.topic.toLowerCase().includes(\"anthropic\"),\n * anthropicChain,\n * ],\n * [\n * (x: { topic: string; question: string }) =>\n * x.topic.toLowerCase().includes(\"langchain\"),\n * langChainChain,\n * ],\n * generalChain,\n * ]);\n *\n * const fullChain = RunnableSequence.from([\n * {\n * topic: classificationChain,\n * question: (input: { question: string }) => input.question,\n * },\n * branch,\n * ]);\n *\n * const result = await fullChain.invoke({\n * question: \"how do I use LangChain?\",\n * });\n * ```\n */\nexport declare class RunnableBranch<RunInput = any, RunOutput = any> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n default: Runnable<RunInput, RunOutput>;\n branches: Branch<RunInput, RunOutput>[];\n constructor(fields: {\n branches: Branch<RunInput, RunOutput>[];\n default: Runnable<RunInput, RunOutput>;\n });\n /**\n * Convenience method for instantiating a RunnableBranch from\n * RunnableLikes (objects, functions, or Runnables).\n *\n * Each item in the input except for the last one should be a\n * tuple with two items. The first is a \"condition\" RunnableLike that\n * returns \"true\" if the second RunnableLike in the tuple should run.\n *\n * The final item in the input should be a RunnableLike that acts as a\n * default branch if no other branches match.\n *\n * @example\n * ```ts\n * import { RunnableBranch } from \"@langchain/core/runnables\";\n *\n * const branch = RunnableBranch.from([\n * [(x: number) => x > 0, (x: number) => x + 1],\n * [(x: number) => x < 0, (x: number) => x - 1],\n * (x: number) => x\n * ]);\n * ```\n * @param branches An array where the every item except the last is a tuple of [condition, runnable]\n * pairs. The last item is a default runnable which is invoked if no other condition matches.\n * @returns A new RunnableBranch.\n */\n static from<RunInput = any, RunOutput = any>(branches: [\n ...BranchLike<RunInput, RunOutput>[],\n RunnableLike<RunInput, RunOutput>\n ]): RunnableBranch<RunInput, RunOutput>;\n _invoke(input: RunInput, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<RunOutput>;\n invoke(input: RunInput, config?: RunnableConfig): Promise<RunOutput>;\n _streamIterator(input: RunInput, config?: Partial<RunnableConfig>): AsyncGenerator<Awaited<RunOutput>, void, unknown>;\n}\n//# sourceMappingURL=branch.d.ts.map"],"mappings":";;;;;;;;AASA;;;;AAEuBM,KAFXF,MAEWE,CAAAA,QAAAA,EAAAA,SAAAA,CAAAA,GAAAA,CADnBN,QACAA,CADSK,QACTL,EAAAA,OAAAA,CAAAA,EAAAA,QAAQ,CAACK,QAAD,EAAWC,SAAX,CAAA,CAEZ;AACiBD,KADLE,UACKF,CAAAA,QAAAA,EAAAA,SAAAA,CAAAA,GAAAA,CAAbJ,YAAAA,CAAaI,QAAbJ,EAAAA,OAAAA,CAAAA,EACAA,YAAaI,CAAAA,QAAAA,EAAUC,SAAVD,CAAAA,CAAUC;;AAAX;AAqChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCsDI,cAxCjCF,cAwCiCE,CAAAA,WAAAA,GAAAA,EAAAA,YAAAA,GAAAA,CAAAA,SAxCuBV,QAwCvBU,CAxCgCL,QAwChCK,EAxC0CJ,SAwC1CI,CAAAA,CAAAA;EAC3BL,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAA2BH,YAAAA,EAAAA,MAAAA,EAAAA;EAARO,eAAAA,EAAAA,OAAAA;EAAiDH,OAAAA,EArClFN,QAqCkFM,CArCzED,QAqCyEC,EArC/DA,SAqC+DA,CAAAA;EAARK,QAAAA,EApCzEP,MAoCyEO,CApClEN,QAoCkEM,EApCxDL,SAoCwDK,CAAAA,EAAAA;EAAfC,WAAAA,CAAAA,MAAAA,EAAAA;IAzCKZ,QAAAA,EAO3DI,MAP2DJ,CAOpDK,QAPoDL,EAO1CM,SAP0CN,CAAAA,EAAAA;IAAQ,OAAA,EAQpEA,QARoE,CAQ3DK,QAR2D,EAQjDC,SARiD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAoC1EC,WAAWF,UAAUC,cACxBL,aAAaI,UAAUC,cACvBE,eAAeH,UAAUC;iBACdD,mBAAmBI,QAAQP,8BAA8BC,6BAA6BO,QAAQJ;gBAC/FD,mBAAmBH,iBAAiBQ,QAAQJ;yBACnCD,mBAAmBI,QAAQP,kBAAkBU,eAAeD,QAAQL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.d.ts","names":["Runnable","RunnableLike","RunnableConfig","CallbackManagerForChainRun","Branch","RunInput","RunOutput","BranchLike","RunnableBranch","Partial","Promise","Awaited","AsyncGenerator"],"sources":["../../src/runnables/branch.d.ts"],"sourcesContent":["import { Runnable, RunnableLike } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\nimport { CallbackManagerForChainRun } from \"../callbacks/manager.js\";\n/**\n * Type for a branch in the RunnableBranch. It consists of a condition\n * runnable and a branch runnable. The condition runnable is used to\n * determine whether the branch should be executed, and the branch runnable\n * is executed if the condition is true.\n */\nexport type Branch<RunInput, RunOutput> = [\n Runnable<RunInput, boolean>,\n Runnable<RunInput, RunOutput>\n];\nexport type BranchLike<RunInput, RunOutput> = [\n RunnableLike<RunInput, boolean>,\n RunnableLike<RunInput, RunOutput>\n];\n/**\n * Class that represents a runnable branch. The RunnableBranch is\n * initialized with an array of branches and a default branch. When invoked,\n * it evaluates the condition of each branch in order and executes the\n * corresponding branch if the condition is true. If none of the conditions\n * are true, it executes the default branch.\n * @example\n * ```typescript\n * const branch = RunnableBranch.from([\n * [\n * (x: { topic: string; question: string }) =>\n * x.topic.toLowerCase().includes(\"anthropic\"),\n * anthropicChain,\n * ],\n * [\n * (x: { topic: string; question: string }) =>\n * x.topic.toLowerCase().includes(\"langchain\"),\n * langChainChain,\n * ],\n * generalChain,\n * ]);\n *\n * const fullChain = RunnableSequence.from([\n * {\n * topic: classificationChain,\n * question: (input: { question: string }) => input.question,\n * },\n * branch,\n * ]);\n *\n * const result = await fullChain.invoke({\n * question: \"how do I use LangChain?\",\n * });\n * ```\n */\nexport declare class RunnableBranch<RunInput = any, RunOutput = any> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n default: Runnable<RunInput, RunOutput>;\n branches: Branch<RunInput, RunOutput>[];\n constructor(fields: {\n branches: Branch<RunInput, RunOutput>[];\n default: Runnable<RunInput, RunOutput>;\n });\n /**\n * Convenience method for instantiating a RunnableBranch from\n * RunnableLikes (objects, functions, or Runnables).\n *\n * Each item in the input except for the last one should be a\n * tuple with two items. The first is a \"condition\" RunnableLike that\n * returns \"true\" if the second RunnableLike in the tuple should run.\n *\n * The final item in the input should be a RunnableLike that acts as a\n * default branch if no other branches match.\n *\n * @example\n * ```ts\n * import { RunnableBranch } from \"@langchain/core/runnables\";\n *\n * const branch = RunnableBranch.from([\n * [(x: number) => x > 0, (x: number) => x + 1],\n * [(x: number) => x < 0, (x: number) => x - 1],\n * (x: number) => x\n * ]);\n * ```\n * @param branches An array where the every item except the last is a tuple of [condition, runnable]\n * pairs. The last item is a default runnable which is invoked if no other condition matches.\n * @returns A new RunnableBranch.\n */\n static from<RunInput = any, RunOutput = any>(branches: [\n ...BranchLike<RunInput, RunOutput>[],\n RunnableLike<RunInput, RunOutput>\n ]): RunnableBranch<RunInput, RunOutput>;\n _invoke(input: RunInput, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<RunOutput>;\n invoke(input: RunInput, config?: RunnableConfig): Promise<RunOutput>;\n _streamIterator(input: RunInput, config?: Partial<RunnableConfig>): AsyncGenerator<Awaited<RunOutput>, void, unknown>;\n}\n//# sourceMappingURL=branch.d.ts.map"],"mappings":";;;;;;;;;;AASA;;;AAEaK,KAFDD,MAECC,CAAAA,QAAAA,EAAAA,SAAAA,CAAAA,GAAAA,CADTL,QACmBM,CADVD,QACUC,EAAAA,OAAAA,CAAAA,EAAnBN,QAAAA,CAASK,QAATL,EAAmBM,SAAnBN,CAAAA,CAAQ;AAEAO,KAAAA,UAAU,CAAA,QAAAF,EAAAA,SAAAC,CAAAA,GAAAA,CAClBL,YAAaI,CAAAA,QAAAA,EAAAA,OAAAA,CAAAA,EACbJ,YADAA,CACaI,QADbJ,EACuBK,SADvBL,CAAAA,CACaI;;;AAAD;AAqChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwC8DC,cAxCzCE,cAwCyCF,CAAAA,WAAAA,GAAAA,EAAAA,YAAAA,GAAAA,CAAAA,SAxCeN,QAwCfM,CAxCwBD,QAwCxBC,EAxCkCA,SAwClCA,CAAAA,CAAAA;EAARI,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAC3BL,YAAAA,EAAAA,MAAAA,EAAAA;EAA2BH,eAAAA,EAAAA,OAAAA;EAARO,OAAAA,EArCjCT,QAqCiCS,CArCxBJ,QAqCwBI,EArCdH,SAqCcG,CAAAA;EAAiDH,QAAAA,EApCjFF,MAoCiFE,CApC1ED,QAoC0EC,EApChEA,SAoCgEA,CAAAA,EAAAA;EAARK,WAAAA,CAAAA,MAAAA,EAAAA;IAAfC,QAAAA,EAlCtDR,MAkCsDQ,CAlC/CP,QAkC+CO,EAlCrCN,SAkCqCM,CAAAA,EAAAA;IAzCKZ,OAAAA,EAQ5DA,QAR4DA,CAQnDK,QARmDL,EAQzCM,SARyCN,CAAAA;EAAQ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;6DAoC1EO,WAAWF,UAAUC,cACxBL,aAAaI,UAAUC,cACvBE,eAAeH,UAAUC;iBACdD,mBAAmBI,QAAQP,8BAA8BC,6BAA6BO,QAAQJ;gBAC/FD,mBAAmBH,iBAAiBQ,QAAQJ;yBACnCD,mBAAmBI,QAAQP,kBAAkBU,eAAeD,QAAQL"}
|
|
@@ -93,10 +93,24 @@ function ensureConfig(config) {
|
|
|
93
93
|
}
|
|
94
94
|
if (empty.timeout !== void 0) {
|
|
95
95
|
if (empty.timeout <= 0) throw new Error("Timeout must be a positive number");
|
|
96
|
-
const
|
|
96
|
+
const originalTimeoutMs = empty.timeout;
|
|
97
|
+
const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);
|
|
98
|
+
if (!empty.metadata) empty.metadata = {};
|
|
99
|
+
if (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;
|
|
97
100
|
if (empty.signal !== void 0) {
|
|
98
101
|
if ("any" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);
|
|
99
102
|
} else empty.signal = timeoutSignal;
|
|
103
|
+
/**
|
|
104
|
+
* We are deleting the timeout key for the following reasons:
|
|
105
|
+
* - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,
|
|
106
|
+
* each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.
|
|
107
|
+
* - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two
|
|
108
|
+
* competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.
|
|
109
|
+
* - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing
|
|
110
|
+
* repeated re-normalization and stacked timeouts.
|
|
111
|
+
* - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;
|
|
112
|
+
* changing that would be a breaking change.
|
|
113
|
+
*/
|
|
100
114
|
delete empty.timeout;
|
|
101
115
|
}
|
|
102
116
|
return empty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.cjs","names":["config?: RunnableConfig","CallbackManager","copy: Partial<CallOptions>","baseKeys: string[]","ensureHandler","config?: CallOptions","AsyncLocalStorageProviderSingleton","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const timeoutSignal = AbortSignal.timeout(empty.timeout);\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.cjs","names":["config?: RunnableConfig","CallbackManager","copy: Partial<CallOptions>","baseKeys: string[]","ensureHandler","config?: CallOptions","AsyncLocalStorageProviderSingleton","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const originalTimeoutMs = empty.timeout;\n const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);\n // Preserve the numeric timeout for downstream consumers that need to pass\n // an explicit timeout value to underlying SDKs in addition to an AbortSignal.\n // We store it in metadata to avoid changing the public config shape.\n if (!empty.metadata) {\n empty.metadata = {};\n }\n // Do not overwrite if already set upstream.\n if (empty.metadata.timeoutMs === undefined) {\n empty.metadata.timeoutMs = originalTimeoutMs;\n }\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n\n /**\n * We are deleting the timeout key for the following reasons:\n * - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,\n * each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.\n * - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two\n * competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.\n * - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing\n * repeated re-normalization and stacked timeouts.\n * - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;\n * changing that would be a breaking change.\n */\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.cts","names":["CallbackManager","RunnableConfig","DEFAULT_RECURSION_LIMIT","getCallbackManagerForConfig","Promise","mergeConfigs","CallOptions","Partial","ensureConfig","patchConfig","callbacks","maxConcurrency","recursionLimit","runName","configurable","runId","pickRunnableConfigKeys","Record"],"sources":["../../src/runnables/config.d.ts"],"sourcesContent":["import { CallbackManager } from \"../callbacks/manager.js\";\nimport { RunnableConfig } from \"./types.js\";\nexport declare const DEFAULT_RECURSION_LIMIT = 25;\nexport { type RunnableConfig };\nexport declare function getCallbackManagerForConfig(config?: RunnableConfig): Promise<CallbackManager | undefined>;\nexport declare function mergeConfigs<CallOptions extends RunnableConfig>(...configs: (CallOptions | RunnableConfig | undefined | null)[]): Partial<CallOptions>;\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport declare function ensureConfig<CallOptions extends RunnableConfig>(config?: CallOptions): CallOptions;\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport declare function patchConfig<CallOptions extends RunnableConfig>(config?: Partial<CallOptions>, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId }?: RunnableConfig): Partial<CallOptions>;\nexport declare function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(config?: CallOptions): Partial<RunnableConfig> | undefined;\n//# sourceMappingURL=config.d.ts.map"],"mappings":";;;;AAIwBG,iBAAAA,2BAAAA,CAA2B,MAAA,CAAA,EAAUF,cAAV,CAAA,EAA2BG,OAA3B,CAAmCJ,eAAnC,GAAA,SAAA,CAAA;AAAUC,iBACrCI,YADqCJ,CAAAA,oBACJA,cADIA,CAAAA,CAAAA,GAAAA,OAAAA,EAAAA,CACyBK,WADzBL,GACuCA,cADvCA,GAAAA,SAAAA,GAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAC8EM,OAD9EN,CACsFK,WADtFL,CAAAA;;;AAAwB;AAC7DI,iBAIAG,YAJYF,CAAAA,oBAIqBL,cAJrB,CAAA,CAAA,MAAA,CAAA,EAI8CK,WAJ9C,CAAA,EAI4DA,WAJ5D;;;;AAA+GA,iBAQ3HG,WAR2HH,CAAAA,oBAQ3FL,cAR2FK,CAAAA,CAAAA,MAAAA,CAAAA,EAQlEC,OARkED,CAQ1DA,WAR0DA,CAAAA,EAAAA;EAAAA,SAAAA;EAAAA,cAAAA;EAAAA,cAAAA;EAAAA,OAAAA;EAAAA,YAAAA;EAAAA;AAAAA,CAAAA,CAAAA,EAQkCL,cARlCK,CAAAA,EAQmDC,OARnDD,CAQ2DA,WAR3DA,CAAAA;AAARC,iBASnHS,sBATmHT,CAAAA,oBASxEU,MATwEV,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAS1CD,WAT0CC,CAAAA,EAS5BA,OAT4BA,CASpBN,cAToBM,CAAAA,GAAAA,SAAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","names":["CallbackManager","RunnableConfig","DEFAULT_RECURSION_LIMIT","getCallbackManagerForConfig","Promise","mergeConfigs","CallOptions","Partial","ensureConfig","patchConfig","callbacks","maxConcurrency","recursionLimit","runName","configurable","runId","pickRunnableConfigKeys","Record"],"sources":["../../src/runnables/config.d.ts"],"sourcesContent":["import { CallbackManager } from \"../callbacks/manager.js\";\nimport { RunnableConfig } from \"./types.js\";\nexport declare const DEFAULT_RECURSION_LIMIT = 25;\nexport { type RunnableConfig };\nexport declare function getCallbackManagerForConfig(config?: RunnableConfig): Promise<CallbackManager | undefined>;\nexport declare function mergeConfigs<CallOptions extends RunnableConfig>(...configs: (CallOptions | RunnableConfig | undefined | null)[]): Partial<CallOptions>;\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport declare function ensureConfig<CallOptions extends RunnableConfig>(config?: CallOptions): CallOptions;\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport declare function patchConfig<CallOptions extends RunnableConfig>(config?: Partial<CallOptions>, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId }?: RunnableConfig): Partial<CallOptions>;\nexport declare function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(config?: CallOptions): Partial<RunnableConfig> | undefined;\n//# sourceMappingURL=config.d.ts.map"],"mappings":";;;;AAIwBG,iBAAAA,2BAAAA,CAA2B,MAAA,CAAA,EAAUF,cAAV,CAAA,EAA2BG,OAA3B,CAAmCJ,eAAnC,GAAA,SAAA,CAAA;AAAUC,iBACrCI,YADqCJ,CAAAA,oBACJA,cADIA,CAAAA,CAAAA,GAAAA,OAAAA,EAAAA,CACyBK,WADzBL,GACuCA,cADvCA,GAAAA,SAAAA,GAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAC8EM,OAD9EN,CACsFK,WADtFL,CAAAA;;;AAAwB;AAC7DI,iBAIAG,YAJYF,CAAAA,oBAIqBL,cAJrB,CAAA,CAAA,MAAA,CAAA,EAI8CK,WAJ9C,CAAA,EAI4DA,WAJ5D;;;;AAA+GA,iBAQ3HG,WAR2HH,CAAAA,oBAQ3FL,cAR2FK,CAAAA,CAAAA,MAAAA,CAAAA,EAQlEC,OARkED,CAQ1DA,WAR0DA,CAAAA,EAAAA;EAAAA,SAAAA;EAAAA,cAAAA;EAAAA,cAAAA;EAAAA,OAAAA;EAAAA,YAAAA;EAAAA;AAAAA,CAAAA,CAAAA,EAQkCL,cARlCK,CAAAA,EAQmDC,OARnDD,CAQ2DA,WAR3DA,CAAAA;AAARC,iBASnHS,sBATmHT,CAAAA,oBASxEU,MATwEV,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAS1CD,WAT0CC,CAAAA,EAS5BA,OAT4BA,CASpBN,cAToBM,CAAAA,GAAAA,SAAAA"}
|
package/dist/runnables/config.js
CHANGED
|
@@ -93,10 +93,24 @@ function ensureConfig(config) {
|
|
|
93
93
|
}
|
|
94
94
|
if (empty.timeout !== void 0) {
|
|
95
95
|
if (empty.timeout <= 0) throw new Error("Timeout must be a positive number");
|
|
96
|
-
const
|
|
96
|
+
const originalTimeoutMs = empty.timeout;
|
|
97
|
+
const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);
|
|
98
|
+
if (!empty.metadata) empty.metadata = {};
|
|
99
|
+
if (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;
|
|
97
100
|
if (empty.signal !== void 0) {
|
|
98
101
|
if ("any" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);
|
|
99
102
|
} else empty.signal = timeoutSignal;
|
|
103
|
+
/**
|
|
104
|
+
* We are deleting the timeout key for the following reasons:
|
|
105
|
+
* - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,
|
|
106
|
+
* each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.
|
|
107
|
+
* - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two
|
|
108
|
+
* competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.
|
|
109
|
+
* - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing
|
|
110
|
+
* repeated re-normalization and stacked timeouts.
|
|
111
|
+
* - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;
|
|
112
|
+
* changing that would be a breaking change.
|
|
113
|
+
*/
|
|
100
114
|
delete empty.timeout;
|
|
101
115
|
}
|
|
102
116
|
return empty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["config?: RunnableConfig","copy: Partial<CallOptions>","baseKeys: string[]","config?: CallOptions","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const timeoutSignal = AbortSignal.timeout(empty.timeout);\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","names":["config?: RunnableConfig","copy: Partial<CallOptions>","baseKeys: string[]","config?: CallOptions","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const originalTimeoutMs = empty.timeout;\n const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);\n // Preserve the numeric timeout for downstream consumers that need to pass\n // an explicit timeout value to underlying SDKs in addition to an AbortSignal.\n // We store it in metadata to avoid changing the public config shape.\n if (!empty.metadata) {\n empty.metadata = {};\n }\n // Do not overwrite if already set upstream.\n if (empty.metadata.timeoutMs === undefined) {\n empty.metadata.timeoutMs = originalTimeoutMs;\n }\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n\n /**\n * We are deleting the timeout key for the following reasons:\n * - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,\n * each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.\n * - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two\n * competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.\n * - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing\n * repeated re-normalization and stacked timeouts.\n * - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;\n * changing that would be a breaking change.\n */\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.cts","names":["RunnableInterface","RunnableIOSchema","Node","Edge","Graph","Record","__types_js0","RunnableConfig","Blob","Promise"],"sources":["../../src/runnables/graph.d.ts"],"sourcesContent":["import type { RunnableInterface, RunnableIOSchema, Node, Edge } from \"./types.js\";\nexport { Node, Edge };\nexport declare class Graph {\n nodes: Record<string, Node>;\n edges: Edge[];\n constructor(params?: {\n nodes: Record<string, Node>;\n edges: Edge[];\n });\n toJSON(): Record<string, any>;\n addNode(data: RunnableInterface | RunnableIOSchema, id?: string, metadata?: Record<string, any>): Node;\n removeNode(node: Node): void;\n addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;\n firstNode(): Node | undefined;\n lastNode(): Node | undefined;\n /**\n * Add all nodes and edges from another graph.\n * Note this doesn't check for duplicates, nor does it connect the graphs.\n */\n extend(graph: Graph, prefix?: string): ({\n id: string;\n data: RunnableIOSchema | RunnableInterface<any, any, import(\"./types.js\").RunnableConfig<Record<string, any>>>;\n } | undefined)[];\n trimFirstNode(): void;\n trimLastNode(): void;\n /**\n * Return a new graph with all nodes re-identified,\n * using their unique, readable names where possible.\n */\n reid(): Graph;\n drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n }): string;\n drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }): Promise<Blob>;\n}\n//# sourceMappingURL=graph.d.ts.map"],"mappings":";;;cAEqBI,KAAAA;EAAAA,KAAAA,EACVC,MADe,CAAA,MAAA,EACAH,IADA,CAAA;EACAA,KAAAA,EACfC,IADeD,EAAAA;EAAfG,WAAAA,CAAAA,MAGIA,CAHJA,EAAAA;IACAF,KAAAA,EAEIE,MAFJF,CAAAA,MAAAA,EAEmBD,IAFnBC,CAAAA;IAEmBD,KAAAA,EACfC,IADeD,EAAAA;EAAfG,CAAAA;EACAF,MAAAA,CAAAA,CAAAA,EAEDE,MAFCF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAEDE,OAAAA,CAAAA,IAAAA,EACIL,iBADJK,GACwBJ,gBADxBI,EAAAA,EAAAA,CAAAA,EAAAA,MAAAA,EAAAA,QAAAA,CAAAA,EACkEA,MADlEA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,EACwFH,IADxFG;EACIL,UAAAA,CAAAA,IAAAA,EACGE,IADHF,CAAAA,EAAAA,IAAAA;EAAoBC,OAAAA,CAAAA,MAAAA,EAElBC,IAFkBD,EAAAA,MAAAA,EAEJC,IAFID,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,WAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEyCE,IAFzCF;EAA0CI,SAAAA,CAAAA,CAAAA,EAG/DH,IAH+DG,GAAAA,SAAAA;EAAsBH,QAAAA,CAAAA,CAAAA,EAItFA,IAJsFA,GAAAA,SAAAA;EACjFA;;;;EAEJA,MAAAA,CAAAA,KAAAA,EAMCE,KANDF,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,CAAAA;IACDA,EAAAA,EAAAA,MAAAA;IAKEE,IAAAA,EAEJH,gBAFIG,GAEeJ,iBAFfI,CAAAA,GAAAA,EAAAA,GAAAA,gBAAAA,CAE+EC,MAF/ED,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA;EAEJH,CAAAA,GAAAA,SAAAA,CAAAA,EAAAA;EAAmFI,aAAAA,CAAAA,CAAAA,EAAAA,IAAAA;;EAAhEL;;;;EAqBjBQ,IAAAA,CAAAA,CAAAA,EAbJJ,KAaII;EAARC,WAAAA,CAAAA,OAAAA,EAAAA;IAAO,UAAA,CAAA,EAAA,OAAA;;iBATMJ;;;;;;iBAMAA;;;MAGbI,QAAQD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","names":["RunnableInterface","RunnableIOSchema","Node","Edge","Graph","Record","__types_js0","RunnableConfig","Blob","Promise"],"sources":["../../src/runnables/graph.d.ts"],"sourcesContent":["import type { RunnableInterface, RunnableIOSchema, Node, Edge } from \"./types.js\";\nexport { Node, Edge };\nexport declare class Graph {\n nodes: Record<string, Node>;\n edges: Edge[];\n constructor(params?: {\n nodes: Record<string, Node>;\n edges: Edge[];\n });\n toJSON(): Record<string, any>;\n addNode(data: RunnableInterface | RunnableIOSchema, id?: string, metadata?: Record<string, any>): Node;\n removeNode(node: Node): void;\n addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;\n firstNode(): Node | undefined;\n lastNode(): Node | undefined;\n /**\n * Add all nodes and edges from another graph.\n * Note this doesn't check for duplicates, nor does it connect the graphs.\n */\n extend(graph: Graph, prefix?: string): ({\n id: string;\n data: RunnableIOSchema | RunnableInterface<any, any, import(\"./types.js\").RunnableConfig<Record<string, any>>>;\n } | undefined)[];\n trimFirstNode(): void;\n trimLastNode(): void;\n /**\n * Return a new graph with all nodes re-identified,\n * using their unique, readable names where possible.\n */\n reid(): Graph;\n drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n }): string;\n drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }): Promise<Blob>;\n}\n//# sourceMappingURL=graph.d.ts.map"],"mappings":";;;cAEqBI,KAAAA;EAAAA,KAAAA,EACVC,MADe,CAAA,MAAA,EACAH,IADA,CAAA;EACAA,KAAAA,EACfC,IADeD,EAAAA;EAAfG,WAAAA,CAAAA,MAGIA,CAHJA,EAAAA;IACAF,KAAAA,EAEIE,MAFJF,CAAAA,MAAAA,EAEmBD,IAFnBC,CAAAA;IAEmBD,KAAAA,EACfC,IADeD,EAAAA;EAAfG,CAAAA;EACAF,MAAAA,CAAAA,CAAAA,EAEDE,MAFCF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAEDE,OAAAA,CAAAA,IAAAA,EACIL,iBADJK,GACwBJ,gBADxBI,EAAAA,EAAAA,CAAAA,EAAAA,MAAAA,EAAAA,QAAAA,CAAAA,EACkEA,MADlEA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,EACwFH,IADxFG;EACIL,UAAAA,CAAAA,IAAAA,EACGE,IADHF,CAAAA,EAAAA,IAAAA;EAAoBC,OAAAA,CAAAA,MAAAA,EAElBC,IAFkBD,EAAAA,MAAAA,EAEJC,IAFID,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,WAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEyCE,IAFzCF;EAA0CI,SAAAA,CAAAA,CAAAA,EAG/DH,IAH+DG,GAAAA,SAAAA;EAAsBH,QAAAA,CAAAA,CAAAA,EAItFA,IAJsFA,GAAAA,SAAAA;EACjFA;;;;EAEJA,MAAAA,CAAAA,KAAAA,EAMCE,KANDF,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,CAAAA;IACDA,EAAAA,EAAAA,MAAAA;IAKEE,IAAAA,EAEJH,gBAFIG,GAEeJ,iBAFfI,CAAAA,GAAAA,EAAAA,GAAAA,gBAAAA,CAE+EC,MAF/ED,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA;EAEJH,CAAAA,GAAAA,SAAAA,CAAAA,EAAAA;EAAmFI,aAAAA,CAAAA,CAAAA,EAAAA,IAAAA;;EAAhEL;;;;EAqBjBQ,IAAAA,CAAAA,CAAAA,EAbJJ,KAaII;EAARC,WAAAA,CAAAA,OAAAA,EAAAA;IAAO,UAAA,CAAA,EAAA,OAAA;;iBATMJ;;;;;;iBAMAA;;;MAGbI,QAAQD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.cts","names":["BaseChatMessageHistory","BaseListChatMessageHistory","BaseMessage","Run","Runnable","RunnableBinding","RunnableBindingArgs","RunnableConfig","GetSessionHistoryCallable","Array","Promise","RunnableWithMessageHistoryInputs","RunInput","RunOutput","Omit","RunnableWithMessageHistory","Record","Partial"],"sources":["../../src/runnables/history.d.ts"],"sourcesContent":["import { BaseChatMessageHistory, BaseListChatMessageHistory } from \"../chat_history.js\";\nimport { BaseMessage } from \"../messages/index.js\";\nimport { Run } from \"../tracers/base.js\";\nimport { Runnable, RunnableBinding, type RunnableBindingArgs } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\ntype GetSessionHistoryCallable = (...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;\nexport interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, \"bound\" | \"config\"> {\n runnable: Runnable<RunInput, RunOutput>;\n getMessageHistory: GetSessionHistoryCallable;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n config?: RunnableConfig;\n}\n/**\n * Wraps a LCEL chain and manages history. It appends input messages\n * and chain outputs as history, and adds the current history messages to\n * the chain input.\n * @example\n * ```typescript\n * // pnpm install @langchain/anthropic @langchain/community @upstash/redis\n *\n * import {\n * ChatPromptTemplate,\n * MessagesPlaceholder,\n * } from \"@langchain/core/prompts\";\n * import { ChatAnthropic } from \"@langchain/anthropic\";\n * import { UpstashRedisChatMessageHistory } from \"@langchain/community/stores/message/upstash_redis\";\n * // For demos, you can also use an in-memory store:\n * // import { ChatMessageHistory } from \"@langchain/classic/stores/message/in_memory\";\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"system\", \"You're an assistant who's good at {ability}\"],\n * new MessagesPlaceholder(\"history\"),\n * [\"human\", \"{question}\"],\n * ]);\n *\n * const chain = prompt.pipe(new ChatAnthropic({}));\n *\n * const chainWithHistory = new RunnableWithMessageHistory({\n * runnable: chain,\n * getMessageHistory: (sessionId) =>\n * new UpstashRedisChatMessageHistory({\n * sessionId,\n * config: {\n * url: process.env.UPSTASH_REDIS_REST_URL!,\n * token: process.env.UPSTASH_REDIS_REST_TOKEN!,\n * },\n * }),\n * inputMessagesKey: \"question\",\n * historyMessagesKey: \"history\",\n * });\n *\n * const result = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What does cosine mean?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n *\n * const result2 = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What's its inverse?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n * ```\n */\nexport declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBinding<RunInput, RunOutput> {\n runnable: Runnable<RunInput, RunOutput>;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n getMessageHistory: GetSessionHistoryCallable;\n constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);\n _getInputMessages(inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _getOutputMessages(outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _enterHistory(input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;\n _exitHistory(run: Run, config: RunnableConfig): Promise<void>;\n _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;\n}\nexport {};\n//# sourceMappingURL=history.d.ts.map"],"mappings":";;;;;;;KAKKQ,yBAAAA,aAAsCC,eAAeC,QAAQV,yBAAyBC,8BAA8BD,yBAAyBC;UACjIU,8DAA8DG,KAAKR,oBAAoBM,UAAUC;EAD7GL,QAAAA,EAESJ,QAFTI,CAEkBI,QAFlBJ,EAE4BK,SAFH,CAAA;EAAaJ,iBAAAA,EAGpBD,yBAHoBC;EAAuBT,gBAAAA,CAAAA,EAAAA,MAAAA;EAAyBC,iBAAAA,CAAAA,EAAAA,MAAAA;EAAjCS,kBAAAA,CAAAA,EAAAA,MAAAA;EAA+DV,MAAAA,CAAAA,EAO5GO,cAP4GP;;AAAmD;AAC5K;;;;;;;;;;AAAmF;AAwEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4F;;;;;;;;;;;;;;;;;cAAvEe,wDAAwDV,gBAAgBO,UAAUC;YACzFT,SAASQ,UAAUC;;;;qBAIVL;sBACCG,iCAAiCC,UAAUC;yCACxBX,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;2CAC7DA,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;qCACrEK,iBAAiBG,QAAQR;oBAC1CC,aAAaI,iBAAiBG;2BACvBD,MAAMF,8BAA8BG,QAAQO,QAAQV,eAAeS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","names":["BaseChatMessageHistory","BaseListChatMessageHistory","BaseMessage","Run","Runnable","RunnableBinding","RunnableBindingArgs","RunnableConfig","GetSessionHistoryCallable","Array","Promise","RunnableWithMessageHistoryInputs","RunInput","RunOutput","Omit","RunnableWithMessageHistory","Record","Partial"],"sources":["../../src/runnables/history.d.ts"],"sourcesContent":["import { BaseChatMessageHistory, BaseListChatMessageHistory } from \"../chat_history.js\";\nimport { BaseMessage } from \"../messages/index.js\";\nimport { Run } from \"../tracers/base.js\";\nimport { Runnable, RunnableBinding, type RunnableBindingArgs } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\ntype GetSessionHistoryCallable = (...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;\nexport interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, \"bound\" | \"config\"> {\n runnable: Runnable<RunInput, RunOutput>;\n getMessageHistory: GetSessionHistoryCallable;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n config?: RunnableConfig;\n}\n/**\n * Wraps a LCEL chain and manages history. It appends input messages\n * and chain outputs as history, and adds the current history messages to\n * the chain input.\n * @example\n * ```typescript\n * // pnpm install @langchain/anthropic @langchain/community @upstash/redis\n *\n * import {\n * ChatPromptTemplate,\n * MessagesPlaceholder,\n * } from \"@langchain/core/prompts\";\n * import { ChatAnthropic } from \"@langchain/anthropic\";\n * import { UpstashRedisChatMessageHistory } from \"@langchain/community/stores/message/upstash_redis\";\n * // For demos, you can also use an in-memory store:\n * // import { ChatMessageHistory } from \"@langchain/classic/stores/message/in_memory\";\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"system\", \"You're an assistant who's good at {ability}\"],\n * new MessagesPlaceholder(\"history\"),\n * [\"human\", \"{question}\"],\n * ]);\n *\n * const chain = prompt.pipe(new ChatAnthropic({}));\n *\n * const chainWithHistory = new RunnableWithMessageHistory({\n * runnable: chain,\n * getMessageHistory: (sessionId) =>\n * new UpstashRedisChatMessageHistory({\n * sessionId,\n * config: {\n * url: process.env.UPSTASH_REDIS_REST_URL!,\n * token: process.env.UPSTASH_REDIS_REST_TOKEN!,\n * },\n * }),\n * inputMessagesKey: \"question\",\n * historyMessagesKey: \"history\",\n * });\n *\n * const result = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What does cosine mean?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n *\n * const result2 = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What's its inverse?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n * ```\n */\nexport declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBinding<RunInput, RunOutput> {\n runnable: Runnable<RunInput, RunOutput>;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n getMessageHistory: GetSessionHistoryCallable;\n constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);\n _getInputMessages(inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _getOutputMessages(outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _enterHistory(input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;\n _exitHistory(run: Run, config: RunnableConfig): Promise<void>;\n _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;\n}\nexport {};\n//# sourceMappingURL=history.d.ts.map"],"mappings":";;;;;;;;;KAKKQ,yBAAAA,aAAsCC,eAAeC,QAAQV,yBAAyBC,8BAA8BD,yBAAyBC;UACjIU,8DAA8DG,KAAKR,oBAAoBM,UAAUC;YACpGT,SAASQ,UAAUC;qBACVL;EAHlBA,gBAAAA,CAAAA,EAAAA,MAAAA;EAAsCC,iBAAAA,CAAAA,EAAAA,MAAAA;EAAuBT,kBAAAA,CAAAA,EAAAA,MAAAA;EAAyBC,MAAAA,CAAAA,EAO9EM,cAP8EN;;;;AAAiF;AAC5K;;;;;;;;;;AAAmF;AAwEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4F;;;;;;;;;;;;;;;cAAvEc,wDAAwDV,gBAAgBO,UAAUC;YACzFT,SAASQ,UAAUC;;;;qBAIVL;sBACCG,iCAAiCC,UAAUC;yCACxBX,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;2CAC7DA,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;qCACrEK,iBAAiBG,QAAQR;oBAC1CC,aAAaI,iBAAiBG;2BACvBD,MAAMF,8BAA8BG,QAAQO,QAAQV,eAAeS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passthrough.d.cts","names":["Runnable","RunnableAssign","RunnableMapLike","RunnableConfig","RunnablePassthroughFunc","RunInput","Promise","RunnablePassthrough","RunOutput","Partial","AsyncGenerator","Record"],"sources":["../../src/runnables/passthrough.d.ts"],"sourcesContent":["import { Runnable, RunnableAssign, RunnableMapLike } from \"./base.js\";\nimport { type RunnableConfig } from \"./config.js\";\ntype RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);\n/**\n * A runnable to passthrough inputs unchanged or with additional keys.\n *\n * This runnable behaves almost like the identity function, except that it\n * can be configured to add additional keys to the output, if the input is\n * an object.\n *\n * The example below demonstrates how to use `RunnablePassthrough to\n * passthrough the input from the `.invoke()`\n *\n * @example\n * ```typescript\n * const chain = RunnableSequence.from([\n * {\n * question: new RunnablePassthrough(),\n * context: async () => loadContextFromStore(),\n * },\n * prompt,\n * llm,\n * outputParser,\n * ]);\n * const response = await chain.invoke(\n * \"I can pass a single string instead of an object since I'm using `RunnablePassthrough`.\"\n * );\n * ```\n */\nexport declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n func?: RunnablePassthroughFunc<RunInput>;\n constructor(fields?: {\n func?: RunnablePassthroughFunc<RunInput>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunInput>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<RunnableConfig>): AsyncGenerator<RunInput>;\n /**\n * A runnable that assigns key-value pairs to the input.\n *\n * The example below shows how you could use it with an inline function.\n *\n * @example\n * ```typescript\n * const prompt =\n * PromptTemplate.fromTemplate(`Write a SQL query to answer the question using the following schema: {schema}\n * Question: {question}\n * SQL Query:`);\n *\n * // The `RunnablePassthrough.assign()` is used here to passthrough the input from the `.invoke()`\n * // call (in this example it's the question), along with any inputs passed to the `.assign()` method.\n * // In this case, we're passing the schema.\n * const sqlQueryGeneratorChain = RunnableSequence.from([\n * RunnablePassthrough.assign({\n * schema: async () => db.getTableInfo(),\n * }),\n * prompt,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }).withConfig({ stop: [\"\\nSQLResult:\"] }),\n * new StringOutputParser(),\n * ]);\n * const result = await sqlQueryGeneratorChain.invoke({\n * question: \"How many employees are there?\",\n * });\n * ```\n */\n static assign<RunInput extends Record<string, unknown> = Record<string, unknown>, RunOutput extends Record<string, unknown> = Record<string, unknown>>(mapping: RunnableMapLike<RunInput, RunOutput>): RunnableAssign<RunInput, RunInput & RunOutput>;\n}\nexport {};\n//# sourceMappingURL=passthrough.d.ts.map"],"mappings":";;;;KAEKI,mDAAmDC,8BAA8BA,mBAAmBF,oCAAoCE,aAAaC,0BAA0BD,mBAAmBF,mBAAmBG;;AADxK;;;;;;;;;AAC+K;AA2BjO;;;;;;;;;;;;;;;AAS4DG,cATvCF,mBASuCE,CAAAA,WAAAA,GAAAA,CAAAA,SATKT,QASLS,CATcJ,QASdI,EATwBJ,QASxBI,CAAAA,CAAAA;EAAyCJ,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAfK,YAAAA,EAAAA,MAAAA,EAAAA;EA6BnDC,eAAAA,EAAAA,OAAAA;EAA0BA,IAAAA,CAAAA,EAlClDP,uBAkCkDO,CAlC1BN,QAkC0BM,CAAAA;EAA2CA,WAAAA,CAAAA,MAA4EN,CAA5EM,EAAAA;IAA0BA,IAAAA,CAAAA,EAhCnHP,uBAgCmHO,CAhC3FN,QAgC2FM,CAAAA;EAAkDN,CAAAA;EAAUG,MAAAA,CAAAA,KAAAA,EA9B5KH,QA8B4KG,EAAAA,OAAAA,CAAAA,EA9BxJC,OA8BwJD,CA9BhJL,cA8BgJK,CAAAA,CAAAA,EA9B9HF,OA8B8HE,CA9BtHH,QA8BsHG,CAAAA;EAA1BN,SAAAA,CAAAA,SAAAA,EA7B3IQ,cA6B2IR,CA7B5HG,QA6B4HH,CAAAA,EAAAA,OAAAA,EA7BxGO,OA6BwGP,CA7BhGC,cA6BgGD,CAAAA,CAAAA,EA7B9EQ,cA6B8ER,CA7B/DG,QA6B+DH,CAAAA;EAAsDG;;;;;AAtCjJ;;;;;;;;;;;;;;;;;;;;;;;iCAsCtCM,0BAA0BA,2CAA2CA,0BAA0BA,kCAAkCT,gBAAgBG,UAAUG,aAAaP,eAAeI,UAAUA,WAAWG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passthrough.d.ts","names":["Runnable","RunnableAssign","RunnableMapLike","RunnableConfig","RunnablePassthroughFunc","RunInput","Promise","RunnablePassthrough","RunOutput","Partial","AsyncGenerator","Record"],"sources":["../../src/runnables/passthrough.d.ts"],"sourcesContent":["import { Runnable, RunnableAssign, RunnableMapLike } from \"./base.js\";\nimport { type RunnableConfig } from \"./config.js\";\ntype RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);\n/**\n * A runnable to passthrough inputs unchanged or with additional keys.\n *\n * This runnable behaves almost like the identity function, except that it\n * can be configured to add additional keys to the output, if the input is\n * an object.\n *\n * The example below demonstrates how to use `RunnablePassthrough to\n * passthrough the input from the `.invoke()`\n *\n * @example\n * ```typescript\n * const chain = RunnableSequence.from([\n * {\n * question: new RunnablePassthrough(),\n * context: async () => loadContextFromStore(),\n * },\n * prompt,\n * llm,\n * outputParser,\n * ]);\n * const response = await chain.invoke(\n * \"I can pass a single string instead of an object since I'm using `RunnablePassthrough`.\"\n * );\n * ```\n */\nexport declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n func?: RunnablePassthroughFunc<RunInput>;\n constructor(fields?: {\n func?: RunnablePassthroughFunc<RunInput>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunInput>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<RunnableConfig>): AsyncGenerator<RunInput>;\n /**\n * A runnable that assigns key-value pairs to the input.\n *\n * The example below shows how you could use it with an inline function.\n *\n * @example\n * ```typescript\n * const prompt =\n * PromptTemplate.fromTemplate(`Write a SQL query to answer the question using the following schema: {schema}\n * Question: {question}\n * SQL Query:`);\n *\n * // The `RunnablePassthrough.assign()` is used here to passthrough the input from the `.invoke()`\n * // call (in this example it's the question), along with any inputs passed to the `.assign()` method.\n * // In this case, we're passing the schema.\n * const sqlQueryGeneratorChain = RunnableSequence.from([\n * RunnablePassthrough.assign({\n * schema: async () => db.getTableInfo(),\n * }),\n * prompt,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }).withConfig({ stop: [\"\\nSQLResult:\"] }),\n * new StringOutputParser(),\n * ]);\n * const result = await sqlQueryGeneratorChain.invoke({\n * question: \"How many employees are there?\",\n * });\n * ```\n */\n static assign<RunInput extends Record<string, unknown> = Record<string, unknown>, RunOutput extends Record<string, unknown> = Record<string, unknown>>(mapping: RunnableMapLike<RunInput, RunOutput>): RunnableAssign<RunInput, RunInput & RunOutput>;\n}\nexport {};\n//# sourceMappingURL=passthrough.d.ts.map"],"mappings":";;;;;KAEKI,mDAAmDC,8BAA8BA,mBAAmBF,oCAAoCE,aAAaC,0BAA0BD,mBAAmBF,mBAAmBG;;;AADxK;;;;;;;;;AAC+K;AA2BjO;;;;;;;;;;;;;;AASoEH,cAT/CI,mBAS+CJ,CAAAA,WAAAA,GAAAA,CAAAA,SATHH,QASGG,CATME,QASNF,EATgBE,QAShBF,CAAAA,CAAAA;EAARM,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAyCJ,YAAAA,EAAAA,MAAAA,EAAAA;EAAfK,eAAAA,EAAAA,OAAAA;EA6BnDC,IAAAA,CAAAA,EAlCxBP,uBAkCwBO,CAlCAN,QAkCAM,CAAAA;EAA0BA,WAAAA,CAAAA,MAAqEA,CAArEA,EAAAA;IAA2CA,IAAAA,CAAAA,EAhCzFP,uBAgCyFO,CAhCjEN,QAgCiEM,CAAAA;EAA0BA,CAAAA;EAAkDN,MAAAA,CAAAA,KAAAA,EA9BlKA,QA8BkKA,EAAAA,OAAAA,CAAAA,EA9B9II,OA8B8IJ,CA9BtIF,cA8BsIE,CAAAA,CAAAA,EA9BpHC,OA8BoHD,CA9B5GA,QA8B4GA,CAAAA;EAAUG,SAAAA,CAAAA,SAAAA,EA7BrKE,cA6BqKF,CA7BtJH,QA6BsJG,CAAAA,EAAAA,OAAAA,EA7BlIC,OA6BkID,CA7B1HL,cA6B0HK,CAAAA,CAAAA,EA7BxGE,cA6BwGF,CA7BzFH,QA6ByFG,CAAAA;EAA1BN;;;;;;AAtC3F;;;;;;;;;;;;;;;;;;;;;;iCAsCtCS,0BAA0BA,2CAA2CA,0BAA0BA,kCAAkCT,gBAAgBG,UAAUG,aAAaP,eAAeI,UAAUA,WAAWG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.cts","names":["Runnable","RunnableBatchOptions","IterableReadableStream","RunnableConfig","RouterInput","RouterRunnable","RunInput","RunnableInput","RunOutput","Record","Partial","Promise","Error"],"sources":["../../src/runnables/router.d.ts"],"sourcesContent":["import { Runnable, type RunnableBatchOptions } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { type RunnableConfig } from \"./config.js\";\nexport type RouterInput = {\n key: string;\n input: any;\n};\n/**\n * A runnable that routes to a set of runnables based on Input['key'].\n * Returns the output of the selected runnable.\n * @example\n * ```typescript\n * import { RouterRunnable, RunnableLambda } from \"@langchain/core/runnables\";\n *\n * const router = new RouterRunnable({\n * runnables: {\n * toUpperCase: RunnableLambda.from((text: string) => text.toUpperCase()),\n * reverseText: RunnableLambda.from((text: string) =>\n * text.split(\"\").reverse().join(\"\")\n * ),\n * },\n * });\n *\n * // Invoke the 'reverseText' runnable\n * const result1 = router.invoke({ key: \"reverseText\", input: \"Hello World\" });\n *\n * // \"dlroW olleH\"\n *\n * // Invoke the 'toUpperCase' runnable\n * const result2 = router.invoke({ key: \"toUpperCase\", input: \"Hello World\" });\n *\n * // \"HELLO WORLD\"\n * ```\n */\nexport declare class RouterRunnable<RunInput extends RouterInput, RunnableInput, RunOutput> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n constructor(fields: {\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<RunnableConfig>): Promise<IterableReadableStream<RunOutput>>;\n}\n//# sourceMappingURL=router.d.ts.map"],"mappings":";;;;;KAGYI,WAAAA;;EAAAA,KAAAA,EAAAA,GAAAA;AA+BZ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAY0ED,cAZrDE,cAYqDF,CAAAA,iBAZrBC,WAYqBD,EAAAA,aAAAA,EAAAA,SAAAA,CAAAA,SAZ0BH,QAY1BG,CAZmCG,QAYnCH,EAZ6CK,SAY7CL,CAAAA,CAAAA;EAARO,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAA0CT,YAAAA,EAAAA,MAAAA,EAAAA;EAE3FO,eAAAA,EAAAA,OAAAA;EAAYI,SAAAA,EAVdH,MAUcG,CAAAA,MAAAA,EAVCZ,QAUDY,CAVUL,aAUVK,EAVyBJ,SAUzBI,CAAAA,CAAAA;EAArBD,WAAAA,CAAAA,MAAAA,EAAAA;IACUL,SAAAA,EATCG,MASDH,CAAAA,MAAAA,EATgBN,QAShBM,CATyBC,aASzBD,EATwCE,SASxCF,CAAAA,CAAAA;EAA8BH,CAAAA;EAARO,MAAAA,CAAAA,KAAAA,EAPtBJ,QAOsBI,EAAAA,OAAAA,CAAAA,EAPFA,OAOEA,CAPMP,cAONO,CAAAA,CAAAA,EAPwBC,OAOxBD,CAPgCF,SAOhCE,CAAAA;EAAkCP,KAAAA,CAAAA,MAAAA,EANxDG,QAMwDH,EAAAA,EAAAA,OAAAA,CAAAA,EANlCO,OAMkCP,CAN1BA,cAM0BA,CAAAA,GANRO,OAMQP,CANAA,cAMAA,CAAAA,EAAAA,EAAAA,YAAkCF,CAAlCE,EANkCF,oBAMlCE,GAAAA;IAARO,gBAAAA,CAAAA,EAAAA,KAAAA;EAA0CT,CAAAA,CAAAA,EAJpGU,OAIoGV,CAJ5FO,SAI4FP,EAAAA,CAAAA;EAAgCO,KAAAA,CAAAA,MAAAA,EAH1HF,QAG0HE,EAAAA,EAAAA,OAAAA,CAAAA,EAHpGE,OAGoGF,CAH5FL,cAG4FK,CAAAA,GAH1EE,OAG0EF,CAHlEL,cAGkEK,CAAAA,EAAAA,EAAAA,YAATG,CAASH,EAHhCP,oBAGgCO,GAAAA;IAAYI,gBAAAA,EAAAA,IAAAA;EAArBD,CAAAA,CAAAA,EAD3HA,OAC2HA,CAAAA,CADlHH,SACkHG,GADtGC,KACsGD,CAAAA,EAAAA,CAAAA;EACjHL,KAAAA,CAAAA,MAAAA,EADAA,QACAA,EAAAA,EAAAA,OAAAA,CAAAA,EADsBI,OACtBJ,CAD8BH,cAC9BG,CAAAA,GADgDI,OAChDJ,CADwDH,cACxDG,CAAAA,EAAAA,EAAAA,YAAAA,CAAAA,EAD0FL,oBAC1FK,CAAAA,EADiHK,OACjHL,CAAAA,CAD0HE,SAC1HF,GADsIM,KACtIN,CAAAA,EAAAA,CAAAA;EAA4BH,MAAAA,CAAAA,KAAAA,EAA5BG,QAA4BH,EAAAA,OAAAA,CAAAA,EAARO,OAAQP,CAAAA,cAAAA,CAAAA,CAAAA,EAAkBQ,OAAlBR,CAA0BD,sBAA1BC,CAAiDK,SAAjDL,CAAAA,CAAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","names":["Runnable","RunnableBatchOptions","IterableReadableStream","RunnableConfig","RouterInput","RouterRunnable","RunInput","RunnableInput","RunOutput","Record","Partial","Promise","Error"],"sources":["../../src/runnables/router.d.ts"],"sourcesContent":["import { Runnable, type RunnableBatchOptions } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { type RunnableConfig } from \"./config.js\";\nexport type RouterInput = {\n key: string;\n input: any;\n};\n/**\n * A runnable that routes to a set of runnables based on Input['key'].\n * Returns the output of the selected runnable.\n * @example\n * ```typescript\n * import { RouterRunnable, RunnableLambda } from \"@langchain/core/runnables\";\n *\n * const router = new RouterRunnable({\n * runnables: {\n * toUpperCase: RunnableLambda.from((text: string) => text.toUpperCase()),\n * reverseText: RunnableLambda.from((text: string) =>\n * text.split(\"\").reverse().join(\"\")\n * ),\n * },\n * });\n *\n * // Invoke the 'reverseText' runnable\n * const result1 = router.invoke({ key: \"reverseText\", input: \"Hello World\" });\n *\n * // \"dlroW olleH\"\n *\n * // Invoke the 'toUpperCase' runnable\n * const result2 = router.invoke({ key: \"toUpperCase\", input: \"Hello World\" });\n *\n * // \"HELLO WORLD\"\n * ```\n */\nexport declare class RouterRunnable<RunInput extends RouterInput, RunnableInput, RunOutput> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n constructor(fields: {\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<RunnableConfig>): Promise<IterableReadableStream<RunOutput>>;\n}\n//# sourceMappingURL=router.d.ts.map"],"mappings":";;;;;;KAGYI,WAAAA;;;AAAZ,CAAA;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYwCM,cAZnBL,cAYmBK,CAAAA,iBAZaN,WAYbM,EAAAA,aAAAA,EAAAA,SAAAA,CAAAA,SAZ4DV,QAY5DU,CAZqEJ,QAYrEI,EAZ+EF,SAY/EE,CAAAA,CAAAA;EAAkCP,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAARO,YAAAA,EAAAA,MAAAA,EAAAA;EAA0CT,eAAAA,EAAAA,OAAAA;EAE3FO,SAAAA,EAVFC,MAUED,CAAAA,MAAAA,EAVaR,QAUbQ,CAVsBD,aAUtBC,EAVqCA,SAUrCA,CAAAA,CAAAA;EAAYI,WAAAA,CAAAA,MAAAA,EAAAA;IAArBD,SAAAA,EARWF,MAQXE,CAAAA,MAAAA,EAR0BX,QAQ1BW,CARmCJ,aAQnCI,EARkDH,SAQlDG,CAAAA,CAAAA;EACUL,CAAAA;EAA8BH,MAAAA,CAAAA,KAAAA,EAP9BG,QAO8BH,EAAAA,OAAAA,CAAAA,EAPVO,OAOUP,CAPFA,cAOEA,CAAAA,CAAAA,EAPgBQ,OAOhBR,CAPwBK,SAOxBL,CAAAA;EAARO,KAAAA,CAAAA,MAAAA,EANtBJ,QAMsBI,EAAAA,EAAAA,OAAAA,CAAAA,EANAA,OAMAA,CANQP,cAMRO,CAAAA,GAN0BA,OAM1BA,CANkCP,cAMlCO,CAAAA,EAAAA,EAAAA,YAA0BA,CAA1BA,EANoET,oBAMpES,GAAAA;IAAkCP,gBAAAA,CAAAA,EAAAA,KAAAA;EAARO,CAAAA,CAAAA,EAJ1DC,OAI0DD,CAJlDF,SAIkDE,EAAAA,CAAAA;EAA0CT,KAAAA,CAAAA,MAAAA,EAH1FK,QAG0FL,EAAAA,EAAAA,OAAAA,CAAAA,EAHpES,OAGoET,CAH5DE,cAG4DF,CAAAA,GAH1CS,OAG0CT,CAHlCE,cAGkCF,CAAAA,EAAAA,EAAAA,YAA4CW,CAA5CX,EAHAA,oBAGAA,GAAAA;IAAgCO,gBAAAA,EAAAA,IAAAA;EAAYI,CAAAA,CAAAA,EADhJD,OACgJC,CAAAA,CADvIJ,SACuII,GAD3HA,KAC2HA,CAAAA,EAAAA,CAAAA;EAArBD,KAAAA,CAAAA,MAAAA,EAAjHL,QAAiHK,EAAAA,EAAAA,OAAAA,CAAAA,EAA3FD,OAA2FC,CAAnFR,cAAmFQ,CAAAA,GAAjED,OAAiEC,CAAzDR,cAAyDQ,CAAAA,EAAAA,EAAAA,YAAAA,CAAAA,EAAvBV,oBAAuBU,CAAAA,EAAAA,OAAAA,CAAAA,CAASH,SAATG,GAAqBC,KAArBD,CAAAA,EAAAA,CAAAA;EACjHL,MAAAA,CAAAA,KAAAA,EAAAA,QAAAA,EAAAA,OAAAA,CAAAA,EAAoBI,OAApBJ,CAA4BH,cAA5BG,CAAAA,CAAAA,EAA8CK,OAA9CL,CAAsDJ,sBAAtDI,CAA6EE,SAA7EF,CAAAA,CAAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","names":["SerializableInterface","BaseCallbackConfig","IterableReadableStreamInterface","InteropZodType","RunnableBatchOptions","RunnableIOSchema","RunnableInterface","RunInput","RunOutput","CallOptions","RunnableConfig","Partial","Promise","Error","AsyncGenerator","Edge","Node","Record","ConfigurableFieldType","AbortSignal"],"sources":["../../src/runnables/types.d.ts"],"sourcesContent":["import type { SerializableInterface } from \"../load/serializable.js\";\nimport type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport type { IterableReadableStreamInterface } from \"../types/_internal.js\";\nimport { InteropZodType } from \"../utils/types/zod.js\";\nexport type RunnableBatchOptions = {\n /** @deprecated Pass in via the standard runnable config object instead */\n maxConcurrency?: number;\n returnExceptions?: boolean;\n};\nexport type RunnableIOSchema = {\n name?: string;\n schema: InteropZodType;\n};\n/**\n * Base interface implemented by all runnables.\n * Used for cross-compatibility between different versions of LangChain core.\n *\n * Should not change on patch releases.\n */\nexport interface RunnableInterface<RunInput = any, RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {\n lc_serializable: boolean;\n invoke(input: RunInput, options?: Partial<CallOptions>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<CallOptions>): Promise<IterableReadableStreamInterface<RunOutput>>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<CallOptions>): AsyncGenerator<RunOutput>;\n getName(suffix?: string): string;\n}\nexport interface Edge {\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n}\nexport interface Node {\n id: string;\n name: string;\n data: RunnableIOSchema | RunnableInterface;\n metadata?: Record<string, any>;\n}\nexport interface RunnableConfig<ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {\n /**\n * Runtime values for attributes previously made configurable on this Runnable,\n * or sub-Runnables.\n */\n configurable?: ConfigurableFieldType;\n /**\n * Maximum number of times a call can recurse. If not provided, defaults to 25.\n */\n recursionLimit?: number;\n /** Maximum number of parallel calls to make. */\n maxConcurrency?: number;\n /**\n * Timeout for this call in milliseconds.\n */\n timeout?: number;\n /**\n * Abort signal for this call.\n * If provided, the call will be aborted when the signal is aborted.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\n */\n signal?: AbortSignal;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":["SerializableInterface","BaseCallbackConfig","IterableReadableStreamInterface","InteropZodType","RunnableBatchOptions","RunnableIOSchema","RunnableInterface","RunInput","RunOutput","CallOptions","RunnableConfig","Partial","Promise","Error","AsyncGenerator","Edge","Node","Record","ConfigurableFieldType","AbortSignal"],"sources":["../../src/runnables/types.d.ts"],"sourcesContent":["import type { SerializableInterface } from \"../load/serializable.js\";\nimport type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport type { IterableReadableStreamInterface } from \"../types/_internal.js\";\nimport { InteropZodType } from \"../utils/types/zod.js\";\nexport type RunnableBatchOptions = {\n /** @deprecated Pass in via the standard runnable config object instead */\n maxConcurrency?: number;\n returnExceptions?: boolean;\n};\nexport type RunnableIOSchema = {\n name?: string;\n schema: InteropZodType;\n};\n/**\n * Base interface implemented by all runnables.\n * Used for cross-compatibility between different versions of LangChain core.\n *\n * Should not change on patch releases.\n */\nexport interface RunnableInterface<RunInput = any, RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {\n lc_serializable: boolean;\n invoke(input: RunInput, options?: Partial<CallOptions>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<CallOptions>): Promise<IterableReadableStreamInterface<RunOutput>>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<CallOptions>): AsyncGenerator<RunOutput>;\n getName(suffix?: string): string;\n}\nexport interface Edge {\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n}\nexport interface Node {\n id: string;\n name: string;\n data: RunnableIOSchema | RunnableInterface;\n metadata?: Record<string, any>;\n}\nexport interface RunnableConfig<ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {\n /**\n * Runtime values for attributes previously made configurable on this Runnable,\n * or sub-Runnables.\n */\n configurable?: ConfigurableFieldType;\n /**\n * Maximum number of times a call can recurse. If not provided, defaults to 25.\n */\n recursionLimit?: number;\n /** Maximum number of parallel calls to make. */\n maxConcurrency?: number;\n /**\n * Timeout for this call in milliseconds.\n */\n timeout?: number;\n /**\n * Abort signal for this call.\n * If provided, the call will be aborted when the signal is aborted.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\n */\n signal?: AbortSignal;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.cts","names":["BaseCallbackHandler","setContextVariable","T","PropertyKey","getContextVariable","_getConfigureHooks","ConfigureHook","registerConfigureHook"],"sources":["../../../src/singletons/async_local_storage/context.d.ts"],"sourcesContent":["import { BaseCallbackHandler } from \"../../callbacks/base.js\";\n/**\n * Set a context variable. Context variables are scoped to any\n * child runnables called by the current runnable, or globally if set outside\n * of any runnable.\n *\n * @remarks\n * This function is only supported in environments that support AsyncLocalStorage,\n * including Node.js, Deno, and Cloudflare Workers.\n *\n * @example\n * ```ts\n * import { RunnableLambda } from \"@langchain/core/runnables\";\n * import {\n * getContextVariable,\n * setContextVariable\n * } from \"@langchain/core/context\";\n *\n * const nested = RunnableLambda.from(() => {\n * // \"bar\" because it was set by a parent\n * console.log(getContextVariable(\"foo\"));\n *\n * // Override to \"baz\", but only for child runnables\n * setContextVariable(\"foo\", \"baz\");\n *\n * // Now \"baz\", but only for child runnables\n * return getContextVariable(\"foo\");\n * });\n *\n * const runnable = RunnableLambda.from(async () => {\n * // Set a context variable named \"foo\"\n * setContextVariable(\"foo\", \"bar\");\n *\n * const res = await nested.invoke({});\n *\n * // Still \"bar\" since child changes do not affect parents\n * console.log(getContextVariable(\"foo\"));\n *\n * return res;\n * });\n *\n * // undefined, because context variable has not been set yet\n * console.log(getContextVariable(\"foo\"));\n *\n * // Final return value is \"baz\"\n * const result = await runnable.invoke({});\n * ```\n *\n * @param name The name of the context variable.\n * @param value The value to set.\n */\nexport declare function setContextVariable<T>(name: PropertyKey, value: T): void;\n/**\n * Get the value of a previously set context variable. Context variables\n * are scoped to any child runnables called by the current runnable,\n * or globally if set outside of any runnable.\n *\n * @remarks\n * This function is only supported in environments that support AsyncLocalStorage,\n * including Node.js, Deno, and Cloudflare Workers.\n *\n * @example\n * ```ts\n * import { RunnableLambda } from \"@langchain/core/runnables\";\n * import {\n * getContextVariable,\n * setContextVariable\n * } from \"@langchain/core/context\";\n *\n * const nested = RunnableLambda.from(() => {\n * // \"bar\" because it was set by a parent\n * console.log(getContextVariable(\"foo\"));\n *\n * // Override to \"baz\", but only for child runnables\n * setContextVariable(\"foo\", \"baz\");\n *\n * // Now \"baz\", but only for child runnables\n * return getContextVariable(\"foo\");\n * });\n *\n * const runnable = RunnableLambda.from(async () => {\n * // Set a context variable named \"foo\"\n * setContextVariable(\"foo\", \"bar\");\n *\n * const res = await nested.invoke({});\n *\n * // Still \"bar\" since child changes do not affect parents\n * console.log(getContextVariable(\"foo\"));\n *\n * return res;\n * });\n *\n * // undefined, because context variable has not been set yet\n * console.log(getContextVariable(\"foo\"));\n *\n * // Final return value is \"baz\"\n * const result = await runnable.invoke({});\n * ```\n *\n * @param name The name of the context variable.\n */\nexport declare function getContextVariable<T = any>(name: PropertyKey): T | undefined;\nexport declare const _getConfigureHooks: () => ConfigureHook[];\n/**\n * Register a callback configure hook to automatically add callback handlers to all runs.\n *\n * There are two ways to use this:\n *\n * 1. Using a context variable:\n * - Set `contextVar` to specify the variable name\n * - Use `setContextVariable()` to store your handler instance\n *\n * 2. Using an environment variable:\n * - Set both `envVar` and `handlerClass`\n * - The handler will be instantiated when the env var is set to \"true\".\n *\n * @example\n * ```typescript\n * // Method 1: Using context variable\n * import {\n * registerConfigureHook,\n * setContextVariable\n * } from \"@langchain/core/context\";\n *\n * const tracer = new MyCallbackHandler();\n * registerConfigureHook({\n * contextVar: \"my_tracer\",\n * });\n * setContextVariable(\"my_tracer\", tracer);\n *\n * // ...run code here\n *\n * // Method 2: Using environment variable\n * registerConfigureHook({\n * handlerClass: MyCallbackHandler,\n * envVar: \"MY_TRACER_ENABLED\",\n * });\n * process.env.MY_TRACER_ENABLED = \"true\";\n *\n * // ...run code here\n * ```\n *\n * @param config Configuration object for the hook\n * @param config.contextVar Name of the context variable containing the handler instance\n * @param config.inheritable Whether child runs should inherit this handler\n * @param config.handlerClass Optional callback handler class (required if using envVar)\n * @param config.envVar Optional environment variable name to control handler activation\n */\nexport declare const registerConfigureHook: (config: ConfigureHook) => void;\nexport type ConfigureHook = {\n contextVar?: string;\n inheritable?: boolean;\n handlerClass?: new (...args: any[]) => BaseCallbackHandler;\n envVar?: string;\n};\n//# sourceMappingURL=context.d.ts.map"],"mappings":";;;;;;AAmDA;AAkDA;AA+CA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAlGwBC,4BAA4BE,oBAAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkDhDE,kCAAkCD,cAAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+CnDK,gCAAgCD;KACzCA,aAAAA;;;yCAG+BN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":["BaseCallbackHandler","setContextVariable","T","PropertyKey","getContextVariable","_getConfigureHooks","ConfigureHook","registerConfigureHook"],"sources":["../../../src/singletons/async_local_storage/context.d.ts"],"sourcesContent":["import { BaseCallbackHandler } from \"../../callbacks/base.js\";\n/**\n * Set a context variable. Context variables are scoped to any\n * child runnables called by the current runnable, or globally if set outside\n * of any runnable.\n *\n * @remarks\n * This function is only supported in environments that support AsyncLocalStorage,\n * including Node.js, Deno, and Cloudflare Workers.\n *\n * @example\n * ```ts\n * import { RunnableLambda } from \"@langchain/core/runnables\";\n * import {\n * getContextVariable,\n * setContextVariable\n * } from \"@langchain/core/context\";\n *\n * const nested = RunnableLambda.from(() => {\n * // \"bar\" because it was set by a parent\n * console.log(getContextVariable(\"foo\"));\n *\n * // Override to \"baz\", but only for child runnables\n * setContextVariable(\"foo\", \"baz\");\n *\n * // Now \"baz\", but only for child runnables\n * return getContextVariable(\"foo\");\n * });\n *\n * const runnable = RunnableLambda.from(async () => {\n * // Set a context variable named \"foo\"\n * setContextVariable(\"foo\", \"bar\");\n *\n * const res = await nested.invoke({});\n *\n * // Still \"bar\" since child changes do not affect parents\n * console.log(getContextVariable(\"foo\"));\n *\n * return res;\n * });\n *\n * // undefined, because context variable has not been set yet\n * console.log(getContextVariable(\"foo\"));\n *\n * // Final return value is \"baz\"\n * const result = await runnable.invoke({});\n * ```\n *\n * @param name The name of the context variable.\n * @param value The value to set.\n */\nexport declare function setContextVariable<T>(name: PropertyKey, value: T): void;\n/**\n * Get the value of a previously set context variable. Context variables\n * are scoped to any child runnables called by the current runnable,\n * or globally if set outside of any runnable.\n *\n * @remarks\n * This function is only supported in environments that support AsyncLocalStorage,\n * including Node.js, Deno, and Cloudflare Workers.\n *\n * @example\n * ```ts\n * import { RunnableLambda } from \"@langchain/core/runnables\";\n * import {\n * getContextVariable,\n * setContextVariable\n * } from \"@langchain/core/context\";\n *\n * const nested = RunnableLambda.from(() => {\n * // \"bar\" because it was set by a parent\n * console.log(getContextVariable(\"foo\"));\n *\n * // Override to \"baz\", but only for child runnables\n * setContextVariable(\"foo\", \"baz\");\n *\n * // Now \"baz\", but only for child runnables\n * return getContextVariable(\"foo\");\n * });\n *\n * const runnable = RunnableLambda.from(async () => {\n * // Set a context variable named \"foo\"\n * setContextVariable(\"foo\", \"bar\");\n *\n * const res = await nested.invoke({});\n *\n * // Still \"bar\" since child changes do not affect parents\n * console.log(getContextVariable(\"foo\"));\n *\n * return res;\n * });\n *\n * // undefined, because context variable has not been set yet\n * console.log(getContextVariable(\"foo\"));\n *\n * // Final return value is \"baz\"\n * const result = await runnable.invoke({});\n * ```\n *\n * @param name The name of the context variable.\n */\nexport declare function getContextVariable<T = any>(name: PropertyKey): T | undefined;\nexport declare const _getConfigureHooks: () => ConfigureHook[];\n/**\n * Register a callback configure hook to automatically add callback handlers to all runs.\n *\n * There are two ways to use this:\n *\n * 1. Using a context variable:\n * - Set `contextVar` to specify the variable name\n * - Use `setContextVariable()` to store your handler instance\n *\n * 2. Using an environment variable:\n * - Set both `envVar` and `handlerClass`\n * - The handler will be instantiated when the env var is set to \"true\".\n *\n * @example\n * ```typescript\n * // Method 1: Using context variable\n * import {\n * registerConfigureHook,\n * setContextVariable\n * } from \"@langchain/core/context\";\n *\n * const tracer = new MyCallbackHandler();\n * registerConfigureHook({\n * contextVar: \"my_tracer\",\n * });\n * setContextVariable(\"my_tracer\", tracer);\n *\n * // ...run code here\n *\n * // Method 2: Using environment variable\n * registerConfigureHook({\n * handlerClass: MyCallbackHandler,\n * envVar: \"MY_TRACER_ENABLED\",\n * });\n * process.env.MY_TRACER_ENABLED = \"true\";\n *\n * // ...run code here\n * ```\n *\n * @param config Configuration object for the hook\n * @param config.contextVar Name of the context variable containing the handler instance\n * @param config.inheritable Whether child runs should inherit this handler\n * @param config.handlerClass Optional callback handler class (required if using envVar)\n * @param config.envVar Optional environment variable name to control handler activation\n */\nexport declare const registerConfigureHook: (config: ConfigureHook) => void;\nexport type ConfigureHook = {\n contextVar?: string;\n inheritable?: boolean;\n handlerClass?: new (...args: any[]) => BaseCallbackHandler;\n envVar?: string;\n};\n//# sourceMappingURL=context.d.ts.map"],"mappings":";;;;;;AAmDA;AAkDA;AA+CA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAlGwBC,4BAA4BE,oBAAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkDhDE,kCAAkCD,cAAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+CnDK,gCAAgCD;KACzCA,aAAAA;;;yCAG+BN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globals.d.cts","names":["AsyncLocalStorageInterface","T","TRACING_ALS_KEY","_CONTEXT_VARIABLES_KEY","setGlobalAsyncLocalStorageInstance","getGlobalAsyncLocalStorageInstance"],"sources":["../../../src/singletons/async_local_storage/globals.d.ts"],"sourcesContent":["export interface AsyncLocalStorageInterface {\n getStore: () => any | undefined;\n run: <T>(store: any, callback: () => T) => T;\n enterWith: (store: any) => void;\n}\nexport declare const TRACING_ALS_KEY: unique symbol;\nexport declare const _CONTEXT_VARIABLES_KEY: unique symbol;\nexport declare const setGlobalAsyncLocalStorageInstance: (instance: AsyncLocalStorageInterface) => void;\nexport declare const getGlobalAsyncLocalStorageInstance: () => AsyncLocalStorageInterface | undefined;\n//# sourceMappingURL=globals.d.ts.map"],"mappings":";UAAiBA,0BAAAA;EAAAA,QAAAA,EAAAA,GAAAA,GAAAA,GAAAA,GAAAA,SAA0B;EAMtBG,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,EAAAA,GAAAA,EAAAA,QAAqC,EAAA,GAAA,GAJjBF,CAIiB,EAAA,GAJXA,CAIW;;;cAArCE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globals.d.ts","names":["AsyncLocalStorageInterface","T","TRACING_ALS_KEY","_CONTEXT_VARIABLES_KEY","setGlobalAsyncLocalStorageInstance","getGlobalAsyncLocalStorageInstance"],"sources":["../../../src/singletons/async_local_storage/globals.d.ts"],"sourcesContent":["export interface AsyncLocalStorageInterface {\n getStore: () => any | undefined;\n run: <T>(store: any, callback: () => T) => T;\n enterWith: (store: any) => void;\n}\nexport declare const TRACING_ALS_KEY: unique symbol;\nexport declare const _CONTEXT_VARIABLES_KEY: unique symbol;\nexport declare const setGlobalAsyncLocalStorageInstance: (instance: AsyncLocalStorageInterface) => void;\nexport declare const getGlobalAsyncLocalStorageInstance: () => AsyncLocalStorageInterface | undefined;\n//# sourceMappingURL=globals.d.ts.map"],"mappings":";UAAiBA,0BAAAA;EAAAA,QAAAA,EAAAA,GAAAA,GAAAA,GAAAA,GAAAA,SAA0B;EAMtBG,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,EAAAA,GAAAA,EAAAA,QAAqC,EAAA,GAAA,GAJjBF,CAIiB,EAAA,GAJXA,CAIW;;;cAArCE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":["AsyncLocalStorageInterface","MockAsyncLocalStorage","T","AsyncLocalStorageProvider","AsyncLocalStorageProviderSingleton"],"sources":["../../../src/singletons/async_local_storage/index.d.ts"],"sourcesContent":["import { AsyncLocalStorageInterface } from \"./globals.js\";\nexport declare class MockAsyncLocalStorage implements AsyncLocalStorageInterface {\n getStore(): any;\n run<T>(_store: any, callback: () => T): T;\n enterWith(_store: any): undefined;\n}\ndeclare class AsyncLocalStorageProvider {\n getInstance(): AsyncLocalStorageInterface;\n getRunnableConfig(): any;\n runWithConfig<T>(config: any, callback: () => T, avoidCreatingRootRunTree?: boolean): T;\n initializeGlobalInstance(instance: AsyncLocalStorageInterface): void;\n}\ndeclare const AsyncLocalStorageProviderSingleton: AsyncLocalStorageProvider;\nexport { AsyncLocalStorageProviderSingleton, type AsyncLocalStorageInterface };\n//# sourceMappingURL=index.d.ts.map"],"mappings":";;;cACqBC,qBAAAA,YAAiCD;;EAAjCC,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,EAAAA,GAAAA,EAAAA,QAAqB,EAAAC,GAAAA,GAEFA,CAFE,CAAA,EAEEA,CAFF;EAEFA,SAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,EAAAA,SAAAA;;cAG1BC,yBAAAA,CALwCH;EAA0B,WAAA,CAAA,CAAA,EAM7DA,0BAN6D;EAKlEG,iBAAAA,CAAAA,CAAAA,EAAAA,GAAAA;EACKH,aAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,EAAAA,GAAAA,EAAAA,QAAAA,EAAAA,GAAAA,GAE+BE,CAF/BF,EAAAA,wBAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEuEE,CAFvEF;EAE+BE,wBAAAA,CAAAA,QAAAA,EACXF,0BADWE,CAAAA,EAAAA,IAAAA;;cAGpCE,kCAFyBJ,EAEWG,yBAFXH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["AsyncLocalStorageInterface","MockAsyncLocalStorage","T","AsyncLocalStorageProvider","AsyncLocalStorageProviderSingleton"],"sources":["../../../src/singletons/async_local_storage/index.d.ts"],"sourcesContent":["import { AsyncLocalStorageInterface } from \"./globals.js\";\nexport declare class MockAsyncLocalStorage implements AsyncLocalStorageInterface {\n getStore(): any;\n run<T>(_store: any, callback: () => T): T;\n enterWith(_store: any): undefined;\n}\ndeclare class AsyncLocalStorageProvider {\n getInstance(): AsyncLocalStorageInterface;\n getRunnableConfig(): any;\n runWithConfig<T>(config: any, callback: () => T, avoidCreatingRootRunTree?: boolean): T;\n initializeGlobalInstance(instance: AsyncLocalStorageInterface): void;\n}\ndeclare const AsyncLocalStorageProviderSingleton: AsyncLocalStorageProvider;\nexport { AsyncLocalStorageProviderSingleton, type AsyncLocalStorageInterface };\n//# sourceMappingURL=index.d.ts.map"],"mappings":";;;cACqBC,qBAAAA,YAAiCD;;EAAjCC,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,EAAAA,GAAAA,EAAAA,QAAqB,EAAAC,GAAAA,GAEFA,CAFE,CAAA,EAEEA,CAFF;EAEFA,SAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,EAAAA,SAAAA;;cAG1BC,yBAAAA,CALwCH;EAA0B,WAAA,CAAA,CAAA,EAM7DA,0BAN6D;EAKlEG,iBAAAA,CAAAA,CAAAA,EAAAA,GAAAA;EACKH,aAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,EAAAA,GAAAA,EAAAA,QAAAA,EAAAA,GAAAA,GAE+BE,CAF/BF,EAAAA,wBAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEuEE,CAFvEF;EAE+BE,wBAAAA,CAAAA,QAAAA,EACXF,0BADWE,CAAAA,EAAAA,IAAAA;;cAGpCE,kCAFyBJ,EAEWG,yBAFXH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.cjs","names":["queue:
|
|
1
|
+
{"version":3,"file":"callbacks.cjs","names":["queue: typeof import(\"p-queue\")[\"default\"][\"prototype\"]","PQueue: any","PQueueMod","promiseFn: () => Promise<T> | T | void","wait: boolean","getGlobalAsyncLocalStorageInstance","getDefaultLangChainClientSingleton"],"sources":["../../src/singletons/callbacks.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport PQueueMod from \"p-queue\";\nimport { getGlobalAsyncLocalStorageInstance } from \"./async_local_storage/globals.js\";\nimport { getDefaultLangChainClientSingleton } from \"./tracer.js\";\n\nlet queue: typeof import(\"p-queue\")[\"default\"][\"prototype\"];\n\n/**\n * Creates a queue using the p-queue library. The queue is configured to\n * auto-start and has a concurrency of 1, meaning it will process tasks\n * one at a time.\n */\nfunction createQueue() {\n const PQueue: any = \"default\" in PQueueMod ? PQueueMod.default : PQueueMod;\n return new PQueue({\n autoStart: true,\n concurrency: 1,\n });\n}\n\nexport function getQueue() {\n if (typeof queue === \"undefined\") {\n queue = createQueue();\n }\n return queue;\n}\n\n/**\n * Consume a promise, either adding it to the queue or waiting for it to resolve\n * @param promiseFn Promise to consume\n * @param wait Whether to wait for the promise to resolve or resolve immediately\n */\nexport async function consumeCallback<T>(\n promiseFn: () => Promise<T> | T | void,\n wait: boolean\n): Promise<void> {\n if (wait === true) {\n // Clear config since callbacks are not part of the root run\n // Avoid using global singleton due to circuluar dependency issues\n const asyncLocalStorageInstance = getGlobalAsyncLocalStorageInstance();\n if (asyncLocalStorageInstance !== undefined) {\n await asyncLocalStorageInstance.run(undefined, async () => promiseFn());\n } else {\n await promiseFn();\n }\n } else {\n queue = getQueue();\n // eslint-disable-next-line no-void\n void queue.add(async () => {\n const asyncLocalStorageInstance = getGlobalAsyncLocalStorageInstance();\n if (asyncLocalStorageInstance !== undefined) {\n await asyncLocalStorageInstance.run(undefined, async () => promiseFn());\n } else {\n await promiseFn();\n }\n });\n }\n}\n\n/**\n * Waits for all promises in the queue to resolve. If the queue is\n * undefined, it immediately resolves a promise.\n */\nexport async function awaitAllCallbacks(): Promise<void> {\n const defaultClient = getDefaultLangChainClientSingleton();\n await Promise.allSettled([\n typeof queue !== \"undefined\" ? queue.onIdle() : Promise.resolve(),\n defaultClient.awaitPendingTraceBatches(),\n ]);\n}\n"],"mappings":";;;;;;AAMA,IAAIA;;;;;;AAOJ,SAAS,cAAc;CACrB,MAAMC,SAAc,aAAaC,kBAAYA,gBAAU,UAAUA;AACjE,QAAO,IAAI,OAAO;EAChB,WAAW;EACX,aAAa;CACd;AACF;AAED,SAAgB,WAAW;AACzB,KAAI,OAAO,UAAU,aACnB,QAAQ,aAAa;AAEvB,QAAO;AACR;;;;;;AAOD,eAAsB,gBACpBC,WACAC,MACe;AACf,KAAI,SAAS,MAAM;EAGjB,MAAM,4BAA4BC,oDAAoC;AACtE,MAAI,8BAA8B,QAChC,MAAM,0BAA0B,IAAI,QAAW,YAAY,WAAW,CAAC;OAEvE,MAAM,WAAW;CAEpB,OAAM;EACL,QAAQ,UAAU;EAEb,MAAM,IAAI,YAAY;GACzB,MAAM,4BAA4BA,oDAAoC;AACtE,OAAI,8BAA8B,QAChC,MAAM,0BAA0B,IAAI,QAAW,YAAY,WAAW,CAAC;QAEvE,MAAM,WAAW;EAEpB,EAAC;CACH;AACF;;;;;AAMD,eAAsB,oBAAmC;CACvD,MAAM,gBAAgBC,mDAAoC;CAC1D,MAAM,QAAQ,WAAW,CACvB,OAAO,UAAU,cAAc,MAAM,QAAQ,GAAG,QAAQ,SAAS,EACjE,cAAc,0BAA0B,AACzC,EAAC;AACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbacks.d.cts","names":["PQueueMod","getQueue","consumeCallback","T","Promise","awaitAllCallbacks"],"sources":["../../src/singletons/callbacks.d.ts"],"sourcesContent":["import PQueueMod from \"p-queue\";\nexport declare function getQueue(): PQueueMod<any, any>;\n/**\n * Consume a promise, either adding it to the queue or waiting for it to resolve\n * @param promiseFn Promise to consume\n * @param wait Whether to wait for the promise to resolve or resolve immediately\n */\nexport declare function consumeCallback<T>(promiseFn: () => Promise<T> | T | void, wait: boolean): Promise<void>;\n/**\n * Waits for all promises in the queue to resolve. If the queue is\n * undefined, it immediately resolves a promise.\n */\nexport declare function awaitAllCallbacks(): Promise<void>;\n//# sourceMappingURL=callbacks.d.ts.map"],"mappings":";;;;;;AAO0G;AAKlFK,iBALAH,eAKqBE,CAAAA,CAAAA,CAAAA,CAAAA,SAAO,EAAA,GAAA,GALQA,OAKR,CALgBD,CAKhB,CAAA,GALqBA,CAKrB,GAAA,IAAA,EAAA,IAAA,EAAA,OAAA,CAAA,EAL+CC,OAK/C,CAAA,IAAA,CAAA;;;;;iBAA5BC,iBAAAA,CAAAA,GAAqBD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbacks.d.ts","names":["PQueueMod","getQueue","consumeCallback","T","Promise","awaitAllCallbacks"],"sources":["../../src/singletons/callbacks.d.ts"],"sourcesContent":["import PQueueMod from \"p-queue\";\nexport declare function getQueue(): PQueueMod<any, any>;\n/**\n * Consume a promise, either adding it to the queue or waiting for it to resolve\n * @param promiseFn Promise to consume\n * @param wait Whether to wait for the promise to resolve or resolve immediately\n */\nexport declare function consumeCallback<T>(promiseFn: () => Promise<T> | T | void, wait: boolean): Promise<void>;\n/**\n * Waits for all promises in the queue to resolve. If the queue is\n * undefined, it immediately resolves a promise.\n */\nexport declare function awaitAllCallbacks(): Promise<void>;\n//# sourceMappingURL=callbacks.d.ts.map"],"mappings":";;;;;AAOA;;;;AAAmGI,iBAA3EF,eAA2EE,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,EAAAA,GAAAA,GAAvCA,OAAuCA,CAA/BD,CAA+BC,CAAAA,GAA1BD,CAA0BC,GAAAA,IAAAA,EAAAA,IAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,IAAAA,CAAAA;AAAO;AAK1G;;;iBAAwBC,iBAAAA,CAAAA,GAAqBD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.js","names":["queue:
|
|
1
|
+
{"version":3,"file":"callbacks.js","names":["queue: typeof import(\"p-queue\")[\"default\"][\"prototype\"]","PQueue: any","promiseFn: () => Promise<T> | T | void","wait: boolean"],"sources":["../../src/singletons/callbacks.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport PQueueMod from \"p-queue\";\nimport { getGlobalAsyncLocalStorageInstance } from \"./async_local_storage/globals.js\";\nimport { getDefaultLangChainClientSingleton } from \"./tracer.js\";\n\nlet queue: typeof import(\"p-queue\")[\"default\"][\"prototype\"];\n\n/**\n * Creates a queue using the p-queue library. The queue is configured to\n * auto-start and has a concurrency of 1, meaning it will process tasks\n * one at a time.\n */\nfunction createQueue() {\n const PQueue: any = \"default\" in PQueueMod ? PQueueMod.default : PQueueMod;\n return new PQueue({\n autoStart: true,\n concurrency: 1,\n });\n}\n\nexport function getQueue() {\n if (typeof queue === \"undefined\") {\n queue = createQueue();\n }\n return queue;\n}\n\n/**\n * Consume a promise, either adding it to the queue or waiting for it to resolve\n * @param promiseFn Promise to consume\n * @param wait Whether to wait for the promise to resolve or resolve immediately\n */\nexport async function consumeCallback<T>(\n promiseFn: () => Promise<T> | T | void,\n wait: boolean\n): Promise<void> {\n if (wait === true) {\n // Clear config since callbacks are not part of the root run\n // Avoid using global singleton due to circuluar dependency issues\n const asyncLocalStorageInstance = getGlobalAsyncLocalStorageInstance();\n if (asyncLocalStorageInstance !== undefined) {\n await asyncLocalStorageInstance.run(undefined, async () => promiseFn());\n } else {\n await promiseFn();\n }\n } else {\n queue = getQueue();\n // eslint-disable-next-line no-void\n void queue.add(async () => {\n const asyncLocalStorageInstance = getGlobalAsyncLocalStorageInstance();\n if (asyncLocalStorageInstance !== undefined) {\n await asyncLocalStorageInstance.run(undefined, async () => promiseFn());\n } else {\n await promiseFn();\n }\n });\n }\n}\n\n/**\n * Waits for all promises in the queue to resolve. If the queue is\n * undefined, it immediately resolves a promise.\n */\nexport async function awaitAllCallbacks(): Promise<void> {\n const defaultClient = getDefaultLangChainClientSingleton();\n await Promise.allSettled([\n typeof queue !== \"undefined\" ? queue.onIdle() : Promise.resolve(),\n defaultClient.awaitPendingTraceBatches(),\n ]);\n}\n"],"mappings":";;;;;AAMA,IAAIA;;;;;;AAOJ,SAAS,cAAc;CACrB,MAAMC,SAAc,aAAa,YAAY,UAAU,UAAU;AACjE,QAAO,IAAI,OAAO;EAChB,WAAW;EACX,aAAa;CACd;AACF;AAED,SAAgB,WAAW;AACzB,KAAI,OAAO,UAAU,aACnB,QAAQ,aAAa;AAEvB,QAAO;AACR;;;;;;AAOD,eAAsB,gBACpBC,WACAC,MACe;AACf,KAAI,SAAS,MAAM;EAGjB,MAAM,4BAA4B,oCAAoC;AACtE,MAAI,8BAA8B,QAChC,MAAM,0BAA0B,IAAI,QAAW,YAAY,WAAW,CAAC;OAEvE,MAAM,WAAW;CAEpB,OAAM;EACL,QAAQ,UAAU;EAEb,MAAM,IAAI,YAAY;GACzB,MAAM,4BAA4B,oCAAoC;AACtE,OAAI,8BAA8B,QAChC,MAAM,0BAA0B,IAAI,QAAW,YAAY,WAAW,CAAC;QAEvE,MAAM,WAAW;EAEpB,EAAC;CACH;AACF;;;;;AAMD,eAAsB,oBAAmC;CACvD,MAAM,gBAAgB,oCAAoC;CAC1D,MAAM,QAAQ,WAAW,CACvB,OAAO,UAAU,cAAc,MAAM,QAAQ,GAAG,QAAQ,SAAS,EACjE,cAAc,0BAA0B,AACzC,EAAC;AACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stores.d.cts","names":["Serializable","BaseStore","K","V","Promise","AsyncGenerator","InMemoryStore","T","Record"],"sources":["../src/stores.d.ts"],"sourcesContent":["import { Serializable } from \"./load/serializable.js\";\n/**\n * Abstract interface for a key-value store.\n */\nexport declare abstract class BaseStore<K, V> extends Serializable {\n /**\n * Abstract method to get multiple values for a set of keys.\n * @param {K[]} keys - An array of keys.\n * @returns {Promise<(V | undefined)[]>} - A Promise that resolves with array of values or undefined if key not found.\n */\n abstract mget(keys: K[]): Promise<(V | undefined)[]>;\n /**\n * Abstract method to set a value for multiple keys.\n * @param {[K, V][]} keyValuePairs - An array of key-value pairs.\n * @returns {Promise<void>} - A Promise that resolves when the operation is complete.\n */\n abstract mset(keyValuePairs: [K, V][]): Promise<void>;\n /**\n * Abstract method to delete multiple keys.\n * @param {K[]} keys - An array of keys to delete.\n * @returns {Promise<void>} - A Promise that resolves when the operation is complete.\n */\n abstract mdelete(keys: K[]): Promise<void>;\n /**\n * Abstract method to yield keys optionally based on a prefix.\n * @param {string} prefix - Optional prefix to filter keys.\n * @returns {AsyncGenerator<K | string>} - An asynchronous generator that yields keys on iteration.\n */\n abstract yieldKeys(prefix?: string): AsyncGenerator<K | string>;\n}\n/**\n * In-memory implementation of the BaseStore using a dictionary. Used for\n * storing key-value pairs in memory.\n * @example\n * ```typescript\n * const store = new InMemoryStore<BaseMessage>();\n * await store.mset(\n * Array.from({ length: 5 }).map((_, index) => [\n * `message:id:${index}`,\n * index % 2 === 0\n * ? new AIMessage(\"ai stuff...\")\n * : new HumanMessage(\"human stuff...\"),\n * ]),\n * );\n *\n * const retrievedMessages = await store.mget([\"message:id:0\", \"message:id:1\"]);\n * await store.mdelete(await store.yieldKeys(\"message:id:\").toArray());\n * ```\n */\nexport declare class InMemoryStore<T = any> extends BaseStore<string, T> {\n lc_namespace: string[];\n protected store: Record<string, T>;\n /**\n * Retrieves the values associated with the given keys from the store.\n * @param keys Keys to retrieve values for.\n * @returns Array of values associated with the given keys.\n */\n mget(keys: string[]): Promise<T[]>;\n /**\n * Sets the values for the given keys in the store.\n * @param keyValuePairs Array of key-value pairs to set in the store.\n * @returns Promise that resolves when all key-value pairs have been set.\n */\n mset(keyValuePairs: [string, T][]): Promise<void>;\n /**\n * Deletes the given keys and their associated values from the store.\n * @param keys Keys to delete from the store.\n * @returns Promise that resolves when all keys have been deleted.\n */\n mdelete(keys: string[]): Promise<void>;\n /**\n * Asynchronous generator that yields keys from the store. If a prefix is\n * provided, it only yields keys that start with the prefix.\n * @param prefix Optional prefix to filter keys.\n * @returns AsyncGenerator that yields keys from the store.\n */\n yieldKeys(prefix?: string | undefined): AsyncGenerator<string>;\n}\n//# sourceMappingURL=stores.d.ts.map"],"mappings":";;;;;;AAIA;AAMwBE,uBANMD,SAMNC,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,SAN8BF,YAAAA,CAM9BE;EAAeC;;;;;EAYZD,SAAAA,IAAAA,CAAAA,IAAAA,EAZHA,CAYGA,EAAAA,CAAAA,EAZGE,OAYHF,CAAAA,CAZYC,CAYZD,GAAAA,SAAAA,CAAAA,EAAAA,CAAAA;EAAME;;;;AAlBiC;EA6C7CE,SAAAA,IAAAA,CAAAA,aAAaC,EAAA,CAjCAL,CAiCA,EAjCGC,CAiCH,CAAA,EAAA,CAAA,EAjCUC,OAiCV,CAAA,IAAA,CAAA;EAAoCG;;;;;EAcrCA,SAAAA,OAAAA,CAAAA,IAAAA,EAzCNL,CAyCMK,EAAAA,CAAAA,EAzCAH,OAyCAG,CAAAA,IAAAA,CAAAA;EAAOH;;;;AAdqB;uCArBpBC,eAAeH;;;;;;;;;;;;;;;;;;;;;cAqBnCI,+BAA+BL,kBAAkBM;;mBAEjDC,eAAeD;;;;;;wBAMVH,QAAQG;;;;;;+BAMDA,OAAOH;;;;;;2BAMXA;;;;;;;0CAOeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stores.d.ts","names":["Serializable","BaseStore","K","V","Promise","AsyncGenerator","InMemoryStore","T","Record"],"sources":["../src/stores.d.ts"],"sourcesContent":["import { Serializable } from \"./load/serializable.js\";\n/**\n * Abstract interface for a key-value store.\n */\nexport declare abstract class BaseStore<K, V> extends Serializable {\n /**\n * Abstract method to get multiple values for a set of keys.\n * @param {K[]} keys - An array of keys.\n * @returns {Promise<(V | undefined)[]>} - A Promise that resolves with array of values or undefined if key not found.\n */\n abstract mget(keys: K[]): Promise<(V | undefined)[]>;\n /**\n * Abstract method to set a value for multiple keys.\n * @param {[K, V][]} keyValuePairs - An array of key-value pairs.\n * @returns {Promise<void>} - A Promise that resolves when the operation is complete.\n */\n abstract mset(keyValuePairs: [K, V][]): Promise<void>;\n /**\n * Abstract method to delete multiple keys.\n * @param {K[]} keys - An array of keys to delete.\n * @returns {Promise<void>} - A Promise that resolves when the operation is complete.\n */\n abstract mdelete(keys: K[]): Promise<void>;\n /**\n * Abstract method to yield keys optionally based on a prefix.\n * @param {string} prefix - Optional prefix to filter keys.\n * @returns {AsyncGenerator<K | string>} - An asynchronous generator that yields keys on iteration.\n */\n abstract yieldKeys(prefix?: string): AsyncGenerator<K | string>;\n}\n/**\n * In-memory implementation of the BaseStore using a dictionary. Used for\n * storing key-value pairs in memory.\n * @example\n * ```typescript\n * const store = new InMemoryStore<BaseMessage>();\n * await store.mset(\n * Array.from({ length: 5 }).map((_, index) => [\n * `message:id:${index}`,\n * index % 2 === 0\n * ? new AIMessage(\"ai stuff...\")\n * : new HumanMessage(\"human stuff...\"),\n * ]),\n * );\n *\n * const retrievedMessages = await store.mget([\"message:id:0\", \"message:id:1\"]);\n * await store.mdelete(await store.yieldKeys(\"message:id:\").toArray());\n * ```\n */\nexport declare class InMemoryStore<T = any> extends BaseStore<string, T> {\n lc_namespace: string[];\n protected store: Record<string, T>;\n /**\n * Retrieves the values associated with the given keys from the store.\n * @param keys Keys to retrieve values for.\n * @returns Array of values associated with the given keys.\n */\n mget(keys: string[]): Promise<T[]>;\n /**\n * Sets the values for the given keys in the store.\n * @param keyValuePairs Array of key-value pairs to set in the store.\n * @returns Promise that resolves when all key-value pairs have been set.\n */\n mset(keyValuePairs: [string, T][]): Promise<void>;\n /**\n * Deletes the given keys and their associated values from the store.\n * @param keys Keys to delete from the store.\n * @returns Promise that resolves when all keys have been deleted.\n */\n mdelete(keys: string[]): Promise<void>;\n /**\n * Asynchronous generator that yields keys from the store. If a prefix is\n * provided, it only yields keys that start with the prefix.\n * @param prefix Optional prefix to filter keys.\n * @returns AsyncGenerator that yields keys from the store.\n */\n yieldKeys(prefix?: string | undefined): AsyncGenerator<string>;\n}\n//# sourceMappingURL=stores.d.ts.map"],"mappings":";;;;;;AAIA;AAMwBE,uBANMD,SAMNC,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,SAN8BF,YAAAA,CAM9BE;EAAeC;;;;;EAYZD,SAAAA,IAAAA,CAAAA,IAAAA,EAZHA,CAYGA,EAAAA,CAAAA,EAZGE,OAYHF,CAAAA,CAZYC,CAYZD,GAAAA,SAAAA,CAAAA,EAAAA,CAAAA;EAAME;;;;AAlBiC;EA6C7CE,SAAAA,IAAAA,CAAAA,aAAaC,EAAA,CAjCAL,CAiCA,EAjCGC,CAiCH,CAAA,EAAA,CAAA,EAjCUC,OAiCV,CAAA,IAAA,CAAA;EAAoCG;;;;;EAcrCA,SAAAA,OAAAA,CAAAA,IAAAA,EAzCNL,CAyCMK,EAAAA,CAAAA,EAzCAH,OAyCAG,CAAAA,IAAAA,CAAAA;EAAOH;;;;AAdqB;uCArBpBC,eAAeH;;;;;;;;;;;;;;;;;;;;;cAqBnCI,+BAA+BL,kBAAkBM;;mBAEjDC,eAAeD;;;;;;wBAMVH,QAAQG;;;;;;+BAMDA,OAAOH;;;;;;2BAMXA;;;;;;;0CAOeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.cts","names":["VectorStore","Comparator","Comparison","Operation","Operator","StructuredQuery","Visitor","VisitorComparisonResult","VisitorOperationResult","VisitorStructuredQueryResult","TranslatorOpts","BaseTranslator","T","BasicTranslator"],"sources":["../../src/structured_query/base.d.ts"],"sourcesContent":["import { VectorStore } from \"../vectorstores.js\";\nimport { Comparator, Comparison, Operation, Operator, StructuredQuery, Visitor, VisitorComparisonResult, VisitorOperationResult, VisitorStructuredQueryResult } from \"./ir.js\";\n/**\n * Options object for the BasicTranslator class. Specifies the allowed\n * operators and comparators.\n */\nexport type TranslatorOpts = {\n allowedOperators: Operator[];\n allowedComparators: Comparator[];\n};\n/**\n * Abstract class that provides a blueprint for creating specific\n * translator classes. Defines two abstract methods: formatFunction and\n * mergeFilters.\n */\nexport declare abstract class BaseTranslator<T extends VectorStore = VectorStore> extends Visitor<T> {\n /**\n * Formats a given function (either an operator or a comparator) into a\n * string.\n * @param func The function to format.\n * @returns Formatted string representation of the function.\n */\n abstract formatFunction(func: Operator | Comparator): string;\n /**\n * Merges two filters into one, using a specified merge type.\n * @param defaultFilter The default filter.\n * @param generatedFilter The generated filter.\n * @param mergeType The type of merge to perform. Can be 'and', 'or', or 'replace'.\n * @param forceDefaultFilter If true, the default filter will be used even if the generated filter is not empty.\n * @returns The merged filter, or undefined if both filters are empty.\n */\n abstract mergeFilters(defaultFilter: this[\"VisitStructuredQueryOutput\"][\"filter\"] | undefined, generatedFilter: this[\"VisitStructuredQueryOutput\"][\"filter\"] | undefined, mergeType?: \"and\" | \"or\" | \"replace\", forceDefaultFilter?: boolean): this[\"VisitStructuredQueryOutput\"][\"filter\"] | undefined;\n}\n/**\n * Class that extends the BaseTranslator class and provides concrete\n * implementations for the abstract methods. Also declares three types:\n * VisitOperationOutput, VisitComparisonOutput, and\n * VisitStructuredQueryOutput, which are used as the return types for the\n * visitOperation, visitComparison, and visitStructuredQuery methods\n * respectively.\n */\nexport declare class BasicTranslator<T extends VectorStore = VectorStore> extends BaseTranslator<T> {\n VisitOperationOutput: VisitorOperationResult;\n VisitComparisonOutput: VisitorComparisonResult;\n VisitStructuredQueryOutput: VisitorStructuredQueryResult;\n allowedOperators: Operator[];\n allowedComparators: Comparator[];\n constructor(opts?: TranslatorOpts);\n formatFunction(func: Operator | Comparator): string;\n /**\n * Visits an operation and returns a result.\n * @param operation The operation to visit.\n * @returns The result of visiting the operation.\n */\n visitOperation(operation: Operation): this[\"VisitOperationOutput\"];\n /**\n * Visits a comparison and returns a result.\n * @param comparison The comparison to visit.\n * @returns The result of visiting the comparison.\n */\n visitComparison(comparison: Comparison): this[\"VisitComparisonOutput\"];\n /**\n * Visits a structured query and returns a result.\n * @param query The structured query to visit.\n * @returns The result of visiting the structured query.\n */\n visitStructuredQuery(query: StructuredQuery): this[\"VisitStructuredQueryOutput\"];\n mergeFilters(defaultFilter: VisitorStructuredQueryResult[\"filter\"] | undefined, generatedFilter: VisitorStructuredQueryResult[\"filter\"] | undefined, mergeType?: string, forceDefaultFilter?: boolean): VisitorStructuredQueryResult[\"filter\"] | undefined;\n}\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;AAMA;AASA;AAAuDA,KAT3CU,cAAAA,GAS2CV;EAAcA,gBAAAA,EAR/CI,QAQ+CJ,EAAAA;EAA6BY,kBAAAA,EAP1EX,UAO0EW,EAAAA;CAOhER;;;AAP+D;AA0BjG;;AAA6DJ,uBA1B/BW,cA0B+BX,CAAAA,UA1BNA,WA0BMA,GA1BQA,WA0BRA,CAAAA,SA1B6BM,OA0B7BN,CA1BqCY,CA0BrCZ,CAAAA,CAAAA;EAAoCY;;;;;;EAM1EF,SAAAA,cAAAA,CAAAA,IAAAA,EAzBWN,QAyBXM,GAzBsBT,UAyBtBS,CAAAA,EAAAA,MAAAA;EACEN;;;;;;;;EAPyDO,SAAAA,YAAAA,CAAAA,aAAAA,EAAAA,IAAAA,CAAAA,4BAAAA,CAAAA,CAAAA,QAAAA,CAAAA,GAAAA,SAAAA,EAAAA,eAAAA,EAAAA,IAAAA,CAAAA,4BAAAA,CAAAA,CAAAA,QAAAA,CAAAA,GAAAA,SAAAA,EAAAA,SAAAA,CAAAA,EAAAA,KAAAA,GAAAA,IAAAA,GAAAA,SAAAA,EAAAA,kBAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAAAA,4BAAAA,CAAAA,CAAAA,QAAAA,CAAAA,GAAAA,SAAAA;AAAc;;;;;;;;;cAA3EE,0BAA0Bb,cAAcA,qBAAqBW,eAAeC;wBACvEJ;yBACCD;8BACKE;oBACVL;sBACEH;qBACDS;uBACEN,WAAWH;;;;;;4BAMNE;;;;;;8BAMED;;;;;;8BAMAG;8BACAI,qEAAqEA,uGAAuGA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","names":["VectorStore","Comparator","Comparison","Operation","Operator","StructuredQuery","Visitor","VisitorComparisonResult","VisitorOperationResult","VisitorStructuredQueryResult","TranslatorOpts","BaseTranslator","T","BasicTranslator"],"sources":["../../src/structured_query/base.d.ts"],"sourcesContent":["import { VectorStore } from \"../vectorstores.js\";\nimport { Comparator, Comparison, Operation, Operator, StructuredQuery, Visitor, VisitorComparisonResult, VisitorOperationResult, VisitorStructuredQueryResult } from \"./ir.js\";\n/**\n * Options object for the BasicTranslator class. Specifies the allowed\n * operators and comparators.\n */\nexport type TranslatorOpts = {\n allowedOperators: Operator[];\n allowedComparators: Comparator[];\n};\n/**\n * Abstract class that provides a blueprint for creating specific\n * translator classes. Defines two abstract methods: formatFunction and\n * mergeFilters.\n */\nexport declare abstract class BaseTranslator<T extends VectorStore = VectorStore> extends Visitor<T> {\n /**\n * Formats a given function (either an operator or a comparator) into a\n * string.\n * @param func The function to format.\n * @returns Formatted string representation of the function.\n */\n abstract formatFunction(func: Operator | Comparator): string;\n /**\n * Merges two filters into one, using a specified merge type.\n * @param defaultFilter The default filter.\n * @param generatedFilter The generated filter.\n * @param mergeType The type of merge to perform. Can be 'and', 'or', or 'replace'.\n * @param forceDefaultFilter If true, the default filter will be used even if the generated filter is not empty.\n * @returns The merged filter, or undefined if both filters are empty.\n */\n abstract mergeFilters(defaultFilter: this[\"VisitStructuredQueryOutput\"][\"filter\"] | undefined, generatedFilter: this[\"VisitStructuredQueryOutput\"][\"filter\"] | undefined, mergeType?: \"and\" | \"or\" | \"replace\", forceDefaultFilter?: boolean): this[\"VisitStructuredQueryOutput\"][\"filter\"] | undefined;\n}\n/**\n * Class that extends the BaseTranslator class and provides concrete\n * implementations for the abstract methods. Also declares three types:\n * VisitOperationOutput, VisitComparisonOutput, and\n * VisitStructuredQueryOutput, which are used as the return types for the\n * visitOperation, visitComparison, and visitStructuredQuery methods\n * respectively.\n */\nexport declare class BasicTranslator<T extends VectorStore = VectorStore> extends BaseTranslator<T> {\n VisitOperationOutput: VisitorOperationResult;\n VisitComparisonOutput: VisitorComparisonResult;\n VisitStructuredQueryOutput: VisitorStructuredQueryResult;\n allowedOperators: Operator[];\n allowedComparators: Comparator[];\n constructor(opts?: TranslatorOpts);\n formatFunction(func: Operator | Comparator): string;\n /**\n * Visits an operation and returns a result.\n * @param operation The operation to visit.\n * @returns The result of visiting the operation.\n */\n visitOperation(operation: Operation): this[\"VisitOperationOutput\"];\n /**\n * Visits a comparison and returns a result.\n * @param comparison The comparison to visit.\n * @returns The result of visiting the comparison.\n */\n visitComparison(comparison: Comparison): this[\"VisitComparisonOutput\"];\n /**\n * Visits a structured query and returns a result.\n * @param query The structured query to visit.\n * @returns The result of visiting the structured query.\n */\n visitStructuredQuery(query: StructuredQuery): this[\"VisitStructuredQueryOutput\"];\n mergeFilters(defaultFilter: VisitorStructuredQueryResult[\"filter\"] | undefined, generatedFilter: VisitorStructuredQueryResult[\"filter\"] | undefined, mergeType?: string, forceDefaultFilter?: boolean): VisitorStructuredQueryResult[\"filter\"] | undefined;\n}\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;AAMA;AASA;AAAuDA,KAT3CU,cAAAA,GAS2CV;EAAcA,gBAAAA,EAR/CI,QAQ+CJ,EAAAA;EAA6BY,kBAAAA,EAP1EX,UAO0EW,EAAAA;CAOhER;;;AAP+D;AA0BjG;;AAA6DJ,uBA1B/BW,cA0B+BX,CAAAA,UA1BNA,WA0BMA,GA1BQA,WA0BRA,CAAAA,SA1B6BM,OA0B7BN,CA1BqCY,CA0BrCZ,CAAAA,CAAAA;EAAoCY;;;;;;EAM1EF,SAAAA,cAAAA,CAAAA,IAAAA,EAzBWN,QAyBXM,GAzBsBT,UAyBtBS,CAAAA,EAAAA,MAAAA;EACEN;;;;;;;;EAPyDO,SAAAA,YAAAA,CAAAA,aAAAA,EAAAA,IAAAA,CAAAA,4BAAAA,CAAAA,CAAAA,QAAAA,CAAAA,GAAAA,SAAAA,EAAAA,eAAAA,EAAAA,IAAAA,CAAAA,4BAAAA,CAAAA,CAAAA,QAAAA,CAAAA,GAAAA,SAAAA,EAAAA,SAAAA,CAAAA,EAAAA,KAAAA,GAAAA,IAAAA,GAAAA,SAAAA,EAAAA,kBAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAAAA,4BAAAA,CAAAA,CAAAA,QAAAA,CAAAA,GAAAA,SAAAA;AAAc;;;;;;;;;cAA3EE,0BAA0Bb,cAAcA,qBAAqBW,eAAeC;wBACvEJ;yBACCD;8BACKE;oBACVL;sBACEH;qBACDS;uBACEN,WAAWH;;;;;;4BAMNE;;;;;;8BAMED;;;;;;8BAMAG;8BACAI,qEAAqEA,uGAAuGA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional.d.cts","names":["Document","Comparator","Comparison","Operation","Operator","StructuredQuery","BaseTranslator","ValueType","FunctionFilter","FunctionalTranslator","C"],"sources":["../../src/structured_query/functional.d.ts"],"sourcesContent":["import { Document } from \"../documents/document.js\";\nimport { Comparator, Comparison, Operation, Operator, StructuredQuery } from \"./ir.js\";\nimport { BaseTranslator } from \"./base.js\";\n/**\n * A type alias for an object that maps comparison operators to string or\n * number values. This is used in the comparison functions to determine\n * the result of a comparison operation.\n */\ntype ValueType = {\n eq: string | number | boolean;\n ne: string | number | boolean;\n lt: string | number;\n lte: string | number;\n gt: string | number;\n gte: string | number;\n};\n/**\n * A type alias for a function that takes a `Document` as an argument and\n * returns a boolean. This function is used as a filter for documents.\n */\nexport type FunctionFilter = (document: Document) => boolean;\n/**\n * A class that extends `BaseTranslator` to translate structured queries\n * into functional filters.\n * @example\n * ```typescript\n * const functionalTranslator = new FunctionalTranslator();\n * const relevantDocuments = await functionalTranslator.getRelevantDocuments(\n * \"Which movies are rated higher than 8.5?\",\n * );\n * ```\n */\nexport declare class FunctionalTranslator extends BaseTranslator {\n VisitOperationOutput: FunctionFilter;\n VisitComparisonOutput: FunctionFilter;\n VisitStructuredQueryOutput: {\n filter: FunctionFilter;\n } | {\n [k: string]: never;\n };\n allowedOperators: Operator[];\n allowedComparators: Comparator[];\n formatFunction(): string;\n /**\n * Returns the allowed comparators for a given data type.\n * @param input The input value to get the allowed comparators for.\n * @returns An array of allowed comparators for the input data type.\n */\n getAllowedComparatorsForType(inputType: string): Comparator[];\n /**\n * Returns a function that performs a comparison based on the provided\n * comparator.\n * @param comparator The comparator to base the comparison function on.\n * @returns A function that takes two arguments and returns a boolean based on the comparison.\n */\n getComparatorFunction<C extends Comparator>(comparator: Comparator): (a: string | number, b: ValueType[C]) => boolean;\n /**\n * Returns a function that performs an operation based on the provided\n * operator.\n * @param operator The operator to base the operation function on.\n * @returns A function that takes two boolean arguments and returns a boolean based on the operation.\n */\n getOperatorFunction(operator: Operator): (a: boolean, b: boolean) => boolean;\n /**\n * Visits the operation part of a structured query and translates it into\n * a functional filter.\n * @param operation The operation part of a structured query.\n * @returns A function that takes a `Document` as an argument and returns a boolean based on the operation.\n */\n visitOperation(operation: Operation): this[\"VisitOperationOutput\"];\n /**\n * Visits the comparison part of a structured query and translates it into\n * a functional filter.\n * @param comparison The comparison part of a structured query.\n * @returns A function that takes a `Document` as an argument and returns a boolean based on the comparison.\n */\n visitComparison(comparison: Comparison<string | number | boolean>): this[\"VisitComparisonOutput\"];\n /**\n * Visits a structured query and translates it into a functional filter.\n * @param query The structured query to translate.\n * @returns An object containing a `filter` property, which is a function that takes a `Document` as an argument and returns a boolean based on the structured query.\n */\n visitStructuredQuery(query: StructuredQuery): this[\"VisitStructuredQueryOutput\"];\n /**\n * Merges two filters into one, based on the specified merge type.\n * @param defaultFilter The default filter function.\n * @param generatedFilter The generated filter function.\n * @param mergeType The type of merge to perform. Can be 'and', 'or', or 'replace'. Default is 'and'.\n * @returns A function that takes a `Document` as an argument and returns a boolean based on the merged filters, or `undefined` if both filters are empty.\n */\n mergeFilters(defaultFilter: FunctionFilter, generatedFilter: FunctionFilter, mergeType?: string): FunctionFilter | undefined;\n}\nexport {};\n//# sourceMappingURL=functional.d.ts.map"],"mappings":";;;;;;;;AAE2C;AAkB3C;AAYA;KAxBKO,SAAAA,GAyBqBC;EACCA,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA,GAAAA,OAAAA;EAEXA,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA,GAAAA,OAAAA;EAIMJ,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EACEH,GAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EAO6BA,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EAOjBA,GAAAA,EAAAA,MAAAA,GAAAA,MAAAA;CAAwBA;;;;;AAqB5BC,KAxDpBM,cAAAA,GAwDoBN,CAAAA,QAAAA,EAxDQF,QAwDRE,EAAAA,GAAAA,OAAAA;;;;;;AA5CgC;;;;;;cAA3CO,oBAAAA,SAA6BH,cAAAA;wBACxBE;yBACCA;;YAEXA;;;;oBAIMJ;sBACEH;;;;;;;mDAO6BA;;;;;;;kCAOjBA,wBAAwBA,qCAAqCM,UAAUG;;;;;;;gCAOzEN;;;;;;;4BAOJD;;;;;;;8BAOED;;;;;;8BAMAG;;;;;;;;8BAQAG,iCAAiCA,qCAAqCA"}
|