langchain-core 0.3.76__py3-none-any.whl → 0.3.77__py3-none-any.whl

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.

Potentially problematic release.


This version of langchain-core might be problematic. Click here for more details.

Files changed (49) hide show
  1. langchain_core/_api/beta_decorator.py +6 -5
  2. langchain_core/_api/deprecation.py +11 -11
  3. langchain_core/callbacks/base.py +17 -11
  4. langchain_core/callbacks/manager.py +2 -2
  5. langchain_core/callbacks/usage.py +2 -2
  6. langchain_core/chat_history.py +26 -16
  7. langchain_core/document_loaders/langsmith.py +1 -1
  8. langchain_core/indexing/api.py +31 -31
  9. langchain_core/language_models/chat_models.py +4 -2
  10. langchain_core/language_models/fake_chat_models.py +5 -2
  11. langchain_core/language_models/llms.py +3 -1
  12. langchain_core/load/serializable.py +1 -1
  13. langchain_core/messages/ai.py +22 -10
  14. langchain_core/messages/base.py +30 -16
  15. langchain_core/messages/chat.py +4 -1
  16. langchain_core/messages/function.py +9 -5
  17. langchain_core/messages/human.py +11 -4
  18. langchain_core/messages/modifier.py +1 -0
  19. langchain_core/messages/system.py +9 -2
  20. langchain_core/messages/tool.py +27 -16
  21. langchain_core/messages/utils.py +92 -83
  22. langchain_core/outputs/chat_generation.py +10 -6
  23. langchain_core/prompt_values.py +6 -2
  24. langchain_core/prompts/chat.py +6 -3
  25. langchain_core/prompts/few_shot.py +4 -1
  26. langchain_core/runnables/base.py +14 -13
  27. langchain_core/runnables/graph.py +4 -1
  28. langchain_core/runnables/graph_ascii.py +1 -1
  29. langchain_core/runnables/graph_mermaid.py +27 -10
  30. langchain_core/runnables/retry.py +35 -18
  31. langchain_core/stores.py +6 -6
  32. langchain_core/tools/base.py +7 -5
  33. langchain_core/tools/convert.py +2 -2
  34. langchain_core/tools/simple.py +1 -5
  35. langchain_core/tools/structured.py +0 -10
  36. langchain_core/tracers/event_stream.py +13 -15
  37. langchain_core/utils/aiter.py +1 -1
  38. langchain_core/utils/function_calling.py +13 -8
  39. langchain_core/utils/iter.py +1 -1
  40. langchain_core/utils/json.py +7 -1
  41. langchain_core/utils/json_schema.py +145 -39
  42. langchain_core/utils/pydantic.py +6 -5
  43. langchain_core/utils/utils.py +1 -1
  44. langchain_core/vectorstores/in_memory.py +5 -5
  45. langchain_core/version.py +1 -1
  46. {langchain_core-0.3.76.dist-info → langchain_core-0.3.77.dist-info}/METADATA +8 -18
  47. {langchain_core-0.3.76.dist-info → langchain_core-0.3.77.dist-info}/RECORD +49 -49
  48. {langchain_core-0.3.76.dist-info → langchain_core-0.3.77.dist-info}/WHEEL +0 -0
  49. {langchain_core-0.3.76.dist-info → langchain_core-0.3.77.dist-info}/entry_points.txt +0 -0
@@ -39,6 +39,31 @@ def _retrieve_ref(path: str, schema: dict) -> Union[list, dict]:
39
39
  return deepcopy(out)
40
40
 
41
41
 
42
+ def _process_dict_properties(
43
+ properties: dict[str, Any],
44
+ full_schema: dict[str, Any],
45
+ processed_refs: set[str],
46
+ skip_keys: Sequence[str],
47
+ *,
48
+ shallow_refs: bool,
49
+ ) -> dict[str, Any]:
50
+ """Process dictionary properties, recursing into nested structures."""
51
+ result: dict[str, Any] = {}
52
+ for key, value in properties.items():
53
+ if key in skip_keys:
54
+ # Skip recursion for specified keys, just copy the value as-is
55
+ result[key] = deepcopy(value)
56
+ elif isinstance(value, (dict, list)):
57
+ # Recursively process nested objects and arrays
58
+ result[key] = _dereference_refs_helper(
59
+ value, full_schema, processed_refs, skip_keys, shallow_refs
60
+ )
61
+ else:
62
+ # Copy primitive values directly
63
+ result[key] = value
64
+ return result
65
+
66
+
42
67
  def _dereference_refs_helper(
43
68
  obj: Any,
44
69
  full_schema: dict[str, Any],
@@ -46,55 +71,87 @@ def _dereference_refs_helper(
46
71
  skip_keys: Sequence[str],
47
72
  shallow_refs: bool, # noqa: FBT001
48
73
  ) -> Any:
49
- """Inline every pure {'$ref':...}.
74
+ """Dereference JSON Schema $ref objects, handling both pure and mixed references.
50
75
 
51
- But:
76
+ This function processes JSON Schema objects containing $ref properties by resolving
77
+ the references and merging any additional properties. It handles:
52
78
 
53
- - if shallow_refs=True: only break cycles, do not inline nested refs
54
- - if shallow_refs=False: deep-inline all nested refs
79
+ - Pure $ref objects: {"$ref": "#/path/to/definition"}
80
+ - Mixed $ref objects: {"$ref": "#/path", "title": "Custom Title", ...}
81
+ - Circular references by breaking cycles and preserving non-ref properties
55
82
 
56
- Also skip recursion under any key in skip_keys.
83
+ Args:
84
+ obj: The object to process (can be dict, list, or primitive)
85
+ full_schema: The complete schema containing all definitions
86
+ processed_refs: Set tracking currently processing refs (for cycle detection)
87
+ skip_keys: Keys under which to skip recursion
88
+ shallow_refs: If True, only break cycles; if False, deep-inline all refs
57
89
 
58
90
  Returns:
59
- The object with refs dereferenced.
91
+ The object with $ref properties resolved and merged with other properties.
60
92
  """
61
93
  if processed_refs is None:
62
94
  processed_refs = set()
63
95
 
64
- # 1) Pure $ref node?
65
- if isinstance(obj, dict) and "$ref" in set(obj.keys()):
96
+ # Case 1: Object contains a $ref property (pure or mixed with additional properties)
97
+ if isinstance(obj, dict) and "$ref" in obj:
66
98
  ref_path = obj["$ref"]
67
- # cycle?
99
+ additional_properties = {
100
+ key: value for key, value in obj.items() if key != "$ref"
101
+ }
102
+
103
+ # Detect circular reference: if we're already processing this $ref,
104
+ # return only the additional properties to break the cycle
68
105
  if ref_path in processed_refs:
69
- return {}
70
- processed_refs.add(ref_path)
106
+ return _process_dict_properties(
107
+ additional_properties,
108
+ full_schema,
109
+ processed_refs,
110
+ skip_keys,
111
+ shallow_refs=shallow_refs,
112
+ )
71
113
 
72
- # grab + copy the target
73
- target = deepcopy(_retrieve_ref(ref_path, full_schema))
114
+ # Mark this reference as being processed (for cycle detection)
115
+ processed_refs.add(ref_path)
74
116
 
75
- # deep inlining: recurse into everything
76
- result = _dereference_refs_helper(
77
- target, full_schema, processed_refs, skip_keys, shallow_refs
117
+ # Fetch and recursively resolve the referenced object
118
+ referenced_object = deepcopy(_retrieve_ref(ref_path, full_schema))
119
+ resolved_reference = _dereference_refs_helper(
120
+ referenced_object, full_schema, processed_refs, skip_keys, shallow_refs
78
121
  )
79
122
 
123
+ # Clean up: remove from processing set before returning
80
124
  processed_refs.remove(ref_path)
81
- return result
82
125
 
83
- # 2) Not a pure-$ref: recurse, skipping any keys in skip_keys
126
+ # Pure $ref case: no additional properties, return resolved reference directly
127
+ if not additional_properties:
128
+ return resolved_reference
129
+
130
+ # Mixed $ref case: merge resolved reference with additional properties
131
+ # Additional properties take precedence over resolved properties
132
+ merged_result = {}
133
+ if isinstance(resolved_reference, dict):
134
+ merged_result.update(resolved_reference)
135
+
136
+ # Process additional properties and merge them (they override resolved ones)
137
+ processed_additional = _process_dict_properties(
138
+ additional_properties,
139
+ full_schema,
140
+ processed_refs,
141
+ skip_keys,
142
+ shallow_refs=shallow_refs,
143
+ )
144
+ merged_result.update(processed_additional)
145
+
146
+ return merged_result
147
+
148
+ # Case 2: Regular dictionary without $ref - process all properties
84
149
  if isinstance(obj, dict):
85
- out: dict[str, Any] = {}
86
- for k, v in obj.items():
87
- if k in skip_keys:
88
- # do not recurse under this key
89
- out[k] = deepcopy(v)
90
- elif isinstance(v, (dict, list)):
91
- out[k] = _dereference_refs_helper(
92
- v, full_schema, processed_refs, skip_keys, shallow_refs
93
- )
94
- else:
95
- out[k] = v
96
- return out
150
+ return _process_dict_properties(
151
+ obj, full_schema, processed_refs, skip_keys, shallow_refs=shallow_refs
152
+ )
97
153
 
154
+ # Case 3: List - recursively process each item
98
155
  if isinstance(obj, list):
99
156
  return [
100
157
  _dereference_refs_helper(
@@ -103,6 +160,7 @@ def _dereference_refs_helper(
103
160
  for item in obj
104
161
  ]
105
162
 
163
+ # Case 4: Primitive value (string, number, boolean, null) - return unchanged
106
164
  return obj
107
165
 
108
166
 
@@ -112,19 +170,67 @@ def dereference_refs(
112
170
  full_schema: Optional[dict] = None,
113
171
  skip_keys: Optional[Sequence[str]] = None,
114
172
  ) -> dict:
115
- """Try to substitute $refs in JSON Schema.
173
+ """Resolve and inline JSON Schema $ref references in a schema object.
174
+
175
+ This function processes a JSON Schema and resolves all $ref references by replacing
176
+ them with the actual referenced content. It handles both simple references and
177
+ complex cases like circular references and mixed $ref objects that contain
178
+ additional properties alongside the $ref.
116
179
 
117
180
  Args:
118
- schema_obj: The fragment to dereference.
119
- full_schema: The complete schema (defaults to schema_obj).
120
- skip_keys:
121
- - If None (the default), we skip recursion under '$defs' *and* only
122
- shallow-inline refs.
123
- - If provided (even as an empty list), we will recurse under every key and
124
- deep-inline all refs.
181
+ schema_obj: The JSON Schema object or fragment to process. This can be a
182
+ complete schema or just a portion of one.
183
+ full_schema: The complete schema containing all definitions that $refs might
184
+ point to. If not provided, defaults to schema_obj (useful when the
185
+ schema is self-contained).
186
+ skip_keys: Controls recursion behavior and reference resolution depth:
187
+ - If None (default): Only recurse under '$defs' and use shallow reference
188
+ resolution (break cycles but don't deep-inline nested refs)
189
+ - If provided (even as []): Recurse under all keys and use deep reference
190
+ resolution (fully inline all nested references)
125
191
 
126
192
  Returns:
127
- The schema with refs dereferenced.
193
+ A new dictionary with all $ref references resolved and inlined. The original
194
+ schema_obj is not modified.
195
+
196
+ Examples:
197
+ Basic reference resolution:
198
+ >>> schema = {
199
+ ... "type": "object",
200
+ ... "properties": {"name": {"$ref": "#/$defs/string_type"}},
201
+ ... "$defs": {"string_type": {"type": "string"}},
202
+ ... }
203
+ >>> result = dereference_refs(schema)
204
+ >>> result["properties"]["name"] # {"type": "string"}
205
+
206
+ Mixed $ref with additional properties:
207
+ >>> schema = {
208
+ ... "properties": {
209
+ ... "name": {"$ref": "#/$defs/base", "description": "User name"}
210
+ ... },
211
+ ... "$defs": {"base": {"type": "string", "minLength": 1}},
212
+ ... }
213
+ >>> result = dereference_refs(schema)
214
+ >>> result["properties"]["name"]
215
+ # {"type": "string", "minLength": 1, "description": "User name"}
216
+
217
+ Handling circular references:
218
+ >>> schema = {
219
+ ... "properties": {"user": {"$ref": "#/$defs/User"}},
220
+ ... "$defs": {
221
+ ... "User": {
222
+ ... "type": "object",
223
+ ... "properties": {"friend": {"$ref": "#/$defs/User"}},
224
+ ... }
225
+ ... },
226
+ ... }
227
+ >>> result = dereference_refs(schema) # Won't cause infinite recursion
228
+
229
+ Note:
230
+ - Circular references are handled gracefully by breaking cycles
231
+ - Mixed $ref objects (with both $ref and other properties) are supported
232
+ - Additional properties in mixed $refs override resolved properties
233
+ - The $defs section is preserved in the output by default
128
234
  """
129
235
  full = full_schema or schema_obj
130
236
  keys_to_skip = list(skip_keys) if skip_keys is not None else ["$defs"]
@@ -142,7 +142,7 @@ def pre_init(func: Callable) -> Any:
142
142
  # Ideally we would use @model_validator(mode="before") but this would change the
143
143
  # order of the validators. See https://github.com/pydantic/pydantic/discussions/7434.
144
144
  # So we keep root_validator for backward compatibility.
145
- @root_validator(pre=True)
145
+ @root_validator(pre=True) # type: ignore[deprecated]
146
146
  @wraps(func)
147
147
  def wrapper(cls: type[BaseModel], values: dict[str, Any]) -> dict[str, Any]:
148
148
  """Decorator to run a function before model initialization.
@@ -328,12 +328,13 @@ def get_fields(
328
328
  Raises:
329
329
  TypeError: If the model is not a Pydantic model.
330
330
  """
331
- if hasattr(model, "model_fields"):
331
+ if not isinstance(model, type):
332
+ model = type(model)
333
+ if issubclass(model, BaseModel):
332
334
  return model.model_fields
333
-
334
- if hasattr(model, "__fields__"):
335
+ if issubclass(model, BaseModelV1):
335
336
  return model.__fields__
336
- msg = f"Expected a Pydantic model. Got {type(model)}"
337
+ msg = f"Expected a Pydantic model. Got {model}"
337
338
  raise TypeError(msg)
338
339
 
339
340
 
@@ -220,7 +220,7 @@ def _build_model_kwargs(
220
220
  values: dict[str, Any],
221
221
  all_required_field_names: set[str],
222
222
  ) -> dict[str, Any]:
223
- """Build "model_kwargs" param from Pydanitc constructor values.
223
+ """Build "model_kwargs" param from Pydantic constructor values.
224
224
 
225
225
  Args:
226
226
  values: All init args passed in by user.
@@ -94,7 +94,7 @@ class InMemoryVectorStore(VectorStore):
94
94
  for doc in results:
95
95
  print(f"* {doc.page_content} [{doc.metadata}]")
96
96
 
97
- .. code-block:: none
97
+ .. code-block::
98
98
 
99
99
  * thud [{'bar': 'baz'}]
100
100
 
@@ -111,7 +111,7 @@ class InMemoryVectorStore(VectorStore):
111
111
  for doc in results:
112
112
  print(f"* {doc.page_content} [{doc.metadata}]")
113
113
 
114
- .. code-block:: none
114
+ .. code-block::
115
115
 
116
116
  * thud [{'bar': 'baz'}]
117
117
 
@@ -123,7 +123,7 @@ class InMemoryVectorStore(VectorStore):
123
123
  for doc, score in results:
124
124
  print(f"* [SIM={score:3f}] {doc.page_content} [{doc.metadata}]")
125
125
 
126
- .. code-block:: none
126
+ .. code-block::
127
127
 
128
128
  * [SIM=0.832268] foo [{'baz': 'bar'}]
129
129
 
@@ -144,7 +144,7 @@ class InMemoryVectorStore(VectorStore):
144
144
  for doc, score in results:
145
145
  print(f"* [SIM={score:3f}] {doc.page_content} [{doc.metadata}]")
146
146
 
147
- .. code-block:: none
147
+ .. code-block::
148
148
 
149
149
  * [SIM=0.832268] foo [{'baz': 'bar'}]
150
150
 
@@ -157,7 +157,7 @@ class InMemoryVectorStore(VectorStore):
157
157
  )
158
158
  retriever.invoke("thud")
159
159
 
160
- .. code-block:: none
160
+ .. code-block::
161
161
 
162
162
  [Document(id='2', metadata={'bar': 'baz'}, page_content='thud')]
163
163
 
langchain_core/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """langchain-core version information and utilities."""
2
2
 
3
- VERSION = "0.3.76"
3
+ VERSION = "0.3.77"
@@ -1,19 +1,19 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langchain-core
3
- Version: 0.3.76
3
+ Version: 0.3.77
4
4
  Summary: Building applications with LLMs through composability
5
5
  License: MIT
6
6
  Project-URL: Source Code, https://github.com/langchain-ai/langchain/tree/master/libs/core
7
7
  Project-URL: Release Notes, https://github.com/langchain-ai/langchain/releases?q=tag%3A%22langchain-core%3D%3D0%22&expanded=true
8
8
  Project-URL: repository, https://github.com/langchain-ai/langchain
9
- Requires-Python: >=3.9
10
- Requires-Dist: langsmith>=0.3.45
9
+ Requires-Python: <4.0.0,>=3.9.0
10
+ Requires-Dist: langsmith<1.0.0,>=0.3.45
11
11
  Requires-Dist: tenacity!=8.4.0,<10.0.0,>=8.1.0
12
- Requires-Dist: jsonpatch<2.0,>=1.33
13
- Requires-Dist: PyYAML>=5.3
14
- Requires-Dist: typing-extensions>=4.7
15
- Requires-Dist: packaging>=23.2
16
- Requires-Dist: pydantic>=2.7.4
12
+ Requires-Dist: jsonpatch<2.0.0,>=1.33.0
13
+ Requires-Dist: PyYAML<7.0.0,>=5.3.0
14
+ Requires-Dist: typing-extensions<5.0.0,>=4.7.0
15
+ Requires-Dist: packaging<26.0.0,>=23.2.0
16
+ Requires-Dist: pydantic<3.0.0,>=2.7.4
17
17
  Description-Content-Type: text/markdown
18
18
 
19
19
  # 🦜🍎️ LangChain Core
@@ -45,16 +45,6 @@ The LangChain ecosystem is built on top of `langchain-core`. Some of the benefit
45
45
  - **Stability**: We are committed to a stable versioning scheme, and will communicate any breaking changes with advance notice and version bumps.
46
46
  - **Battle-tested**: Core components have the largest install base in the LLM ecosystem, and are used in production by many companies.
47
47
 
48
- ## 1️⃣ Core Interface: Runnables
49
-
50
- The concept of a `Runnable` is central to LangChain Core – it is the interface that most LangChain Core components implement, giving them
51
-
52
- - A common invocation interface (`invoke()`, `batch()`, `stream()`, etc.)
53
- - Built-in utilities for retries, fallbacks, schemas and runtime configurability
54
- - Easy deployment with [LangGraph](https://github.com/langchain-ai/langgraph)
55
-
56
- For more check out the [`Runnable` docs](https://python.langchain.com/docs/concepts/runnables/). Examples of components that implement the interface include: Chat Models, Tools, Retrievers, and Output Parsers.
57
-
58
48
  ## 📕 Releases & Versioning
59
49
 
60
50
  As `langchain-core` contains the base abstractions and runtime for the whole LangChain ecosystem, we will communicate any breaking changes with advance notice and version bumps. The exception for this is anything in `langchain_core.beta`. The reason for `langchain_core.beta` is that given the rate of change of the field, being able to move quickly is still a priority, and this module is our attempt to do so.
@@ -1,10 +1,10 @@
1
- langchain_core-0.3.76.dist-info/METADATA,sha256=ZhBB9FyNj2n3utI8osSza8-x4fbLyMPQA5QCldNiOZM,3724
2
- langchain_core-0.3.76.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
- langchain_core-0.3.76.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
1
+ langchain_core-0.3.77.dist-info/METADATA,sha256=mi0rrNStwgWhpu0O2VZE-v0TAtS-9Zw8XVcjGpD_vQg,3155
2
+ langchain_core-0.3.77.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ langchain_core-0.3.77.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
4
  langchain_core/__init__.py,sha256=TgvhxbrjCRVJwr2HddiyHvtH8W94K-uLM6-6ifNIBXo,713
5
5
  langchain_core/_api/__init__.py,sha256=WDOMw4faVuscjDCL5ttnRQNienJP_M9vGMmJUXS6L5w,1976
6
- langchain_core/_api/beta_decorator.py,sha256=LM5C32LB7_KNLfePssM2hgFRt7aPvqddf9J_TiOWIsw,8877
7
- langchain_core/_api/deprecation.py,sha256=fHtx24pEGMOl20xWWtWafPL4QO7-Rt9MUrINRF1Pdqo,20952
6
+ langchain_core/_api/beta_decorator.py,sha256=XK7dDgbsyBTiZMjUxVB_bUuuGR1X8T_zBgEBya55mQU,8813
7
+ langchain_core/_api/deprecation.py,sha256=8RKiHrsahdqAL3XkZ0Owutwwc1lF1hRXZHzpVLzS_48,20808
8
8
  langchain_core/_api/internal.py,sha256=aOZkYANu747LyWzyAk-0KE4RjdTYj18Wtlh7F9_qyPM,683
9
9
  langchain_core/_api/path.py,sha256=raXCzfgMf6AoPo8UP6I1qHRKlIBcBuR18qMHaFyIvhU,1405
10
10
  langchain_core/_import_utils.py,sha256=NvAiw5PLvsKCux8LcRndpbZL9m_rHkL1-iWZcNLzQMc,1458
@@ -14,19 +14,19 @@ langchain_core/beta/runnables/__init__.py,sha256=KPVZTs2phF46kEB7mn0M75UeSw8nylb
14
14
  langchain_core/beta/runnables/context.py,sha256=kiaDITMNJ8en7n5H5cofFNQ74VChHRsq6VbB1s5Y9F4,13400
15
15
  langchain_core/caches.py,sha256=d_6h0Bb0h7sLK0mrQ1BwSljJKnLBvKvoXQMVSnpcqlI,9665
16
16
  langchain_core/callbacks/__init__.py,sha256=jXp7StVQk5GeWudGtnnkFV_L-WHCl44ESznc6-0pOVg,4347
17
- langchain_core/callbacks/base.py,sha256=6A5vPF9W-0vSjZ3WBoRfpjfKApK8oS4vdAky5FByeSo,37154
17
+ langchain_core/callbacks/base.py,sha256=TRYx7JexS4V-DWr2mlV4K0GiicblC548t1nbjPrjtb0,37325
18
18
  langchain_core/callbacks/file.py,sha256=dLBuDRqeLxOBTB9k6c9KEh8dx5UgGfQ9uUF-dhiykZM,8532
19
- langchain_core/callbacks/manager.py,sha256=hLyjHpS07NwlAwsgHcoM-nv7U12tyS5PTk-o7rJFJ84,90999
19
+ langchain_core/callbacks/manager.py,sha256=CPsmcJUqIkCRi14gJkmFsnNVmCeCuAmtFrhwYUNLau4,91001
20
20
  langchain_core/callbacks/stdout.py,sha256=hQ1gjpshNHGdbCS8cH6_oTc4nM8tCWzGNXrbm9dJeaY,4113
21
21
  langchain_core/callbacks/streaming_stdout.py,sha256=92UQWxL9HBzdCpn47AF-ZE_jGkkebMn2Z_l24ndMBMI,4646
22
- langchain_core/callbacks/usage.py,sha256=S2sBShC_0br6HtRB5Cow6ILOl_gX7TaDcEAge2MyjYo,5107
23
- langchain_core/chat_history.py,sha256=BXJBhyRS806BXf3m6eRRHsAwC_l9mNAe0zMGxycpZQ8,8388
22
+ langchain_core/callbacks/usage.py,sha256=j9szZlFl0xcnT_IrdHsrwBnimWrviiN186MDMqm_8mM,5097
23
+ langchain_core/chat_history.py,sha256=8dMeYTMwWl1wH64qjW8gq9Cx143eqLV0Qa9xEQ37m5I,8872
24
24
  langchain_core/chat_loaders.py,sha256=b57Gl3KGPxq9gYJjetsHfJm1I6kSqi7bDE91fJJOR84,601
25
25
  langchain_core/chat_sessions.py,sha256=YEO3ck5_wRGd3a2EnGD7M_wTvNC_4T1IVjQWekagwaM,564
26
26
  langchain_core/document_loaders/__init__.py,sha256=DkZPp9cEVmsnz9SM1xtuefH_fGQFvA2WtpRG6iePPBs,975
27
27
  langchain_core/document_loaders/base.py,sha256=nBv07847NrsB9EZpC0YU7Zv_Y08T7pisLREMrJwE7Bg,4666
28
28
  langchain_core/document_loaders/blob_loaders.py,sha256=4m1k8boiwXw3z4yMYT8bnYUA-eGTPtEZyUxZvI3GbTs,1077
29
- langchain_core/document_loaders/langsmith.py,sha256=QGgBhyr0uq3_84nTzuBB8Bk-DiubjuTVsfvSj-Y8RvU,5513
29
+ langchain_core/document_loaders/langsmith.py,sha256=X-FN3z2HFyXZiaoF4-_PO3w_P2UQBIav_V2PyeI_HC0,5514
30
30
  langchain_core/documents/__init__.py,sha256=KT_l-TSINKrTXldw5n57wx1yGBtJmGAGxAQL0ceQefc,850
31
31
  langchain_core/documents/base.py,sha256=qxf8E06ga9kblxvTECyNXViHoLx1_MWPTM92ATSWlX8,10598
32
32
  langchain_core/documents/compressor.py,sha256=91aCQC3W4XMoFXtAmlOCSPb8pSdrirY6Lg8ZLBxTX4s,2001
@@ -42,33 +42,33 @@ langchain_core/example_selectors/semantic_similarity.py,sha256=flhao1yNBnaDkM2Ml
42
42
  langchain_core/exceptions.py,sha256=JurkMF4p-DOmv7SQJqif7A-5kfKOHCcl8R_wXmMUfSE,3327
43
43
  langchain_core/globals.py,sha256=yl9GRxC3INm6AqRplHmKjxr0bn1YWXSU34iul5dnBl8,8823
44
44
  langchain_core/indexing/__init__.py,sha256=VOvbbBJYY_UZdMKAeJCdQdszMiAOhAo3Cbht1HEkk8g,1274
45
- langchain_core/indexing/api.py,sha256=tQPaAQZ-luJb8xq6438YN3jVWViKWLSwNLVU4eDdXpA,38473
45
+ langchain_core/indexing/api.py,sha256=QF_ve0_px0E2blbexv4QkJ-5Q4YV8Ru_QnLKT-3Jy8w,38493
46
46
  langchain_core/indexing/base.py,sha256=PWxwX4bH1xq8gKaVnGiNnThPRmwhoDKrJRlEotjtERo,23015
47
47
  langchain_core/indexing/in_memory.py,sha256=YPVOGKE3d5-APCy7T0sJvSPjJJUcshSfPeCpq7BA4j0,3326
48
48
  langchain_core/language_models/__init__.py,sha256=LBszonEJ6Zu56rVJfSWQt4Q_mr5hD-epcPvSaTClC4E,3764
49
49
  langchain_core/language_models/_utils.py,sha256=4TS92kBO5ee4QNH68FFWhX-2uCTe8QaxTXVFMiJLXt4,4786
50
50
  langchain_core/language_models/base.py,sha256=cvZOME14JI90NkuDw2Vr1yYx7xKap1dkXgCM8yMu31U,14566
51
- langchain_core/language_models/chat_models.py,sha256=EXkeArgGkfUJl1JxVZHzdX52GCEQBRRJCOW9u-796Ec,72619
51
+ langchain_core/language_models/chat_models.py,sha256=Kr74J-VJ3IhJFbHVcvx0o-ATP3FDa_IiGDKnBguReJk,72745
52
52
  langchain_core/language_models/fake.py,sha256=h9LhVTkmYLXkJ1_VvsKhqYVpkQsM7eAr9geXF_IVkPs,3772
53
- langchain_core/language_models/fake_chat_models.py,sha256=cihlKSiec-bDDdHAgpuejKlkXpCgKVK4zabo0eSydNg,12818
54
- langchain_core/language_models/llms.py,sha256=0KNfdoTHwJv_wFoY8Ng8It0E6tt_mtMcXYuLFTqp5PQ,57887
53
+ langchain_core/language_models/fake_chat_models.py,sha256=UXhL11SzW-zE8keke6YINcZ1s2_oA_jz3YoQiqnPxzM,12829
54
+ langchain_core/language_models/llms.py,sha256=qPUNKqpVw0MTdOH7aZ3gLwC1Bh0O4k91vwSo_9rv5xw,58013
55
55
  langchain_core/load/__init__.py,sha256=m3_6Fk2gpYZO0xqyTnZzdQigvsYHjMariLq_L2KwJFk,1150
56
56
  langchain_core/load/dump.py,sha256=N34h-I3VeLFzuwrYlVSY_gFx0iaZhEi72D04yxkx3cc,2654
57
57
  langchain_core/load/load.py,sha256=eDyYNBGbfVDLGOA3p2cAOWY0rLqbf9E9qNfstw0PKDY,9729
58
58
  langchain_core/load/mapping.py,sha256=nnFXiTdQkfdv41_wP38aWGtpp9svxW6fwVyC3LmRkok,29633
59
- langchain_core/load/serializable.py,sha256=P29Coe7ZE8-13goAmAtSt0rl85fKaUd96znRQuIHG9k,11722
59
+ langchain_core/load/serializable.py,sha256=apzQHx9h2qzMX2GVpi3qjZsmUlC9LD4gKd_kAur5kbk,11753
60
60
  langchain_core/memory.py,sha256=bYgZGSldIa79GqpEd2m9Ve78euCq6SJatzTsHAHKosk,3693
61
61
  langchain_core/messages/__init__.py,sha256=8H1BnLGi2oSXdIz_LWtVAwmxFvK_6_CqiDRq2jnGtw0,4253
62
- langchain_core/messages/ai.py,sha256=QLYd2875WnyQ-7EBxz_PKwhyia64aZVLxP3mQbeV74M,18370
63
- langchain_core/messages/base.py,sha256=tuyXQ6tXxayPkEmCFqJ9s0qH_9sbRzML16I93r2rMAY,9605
64
- langchain_core/messages/chat.py,sha256=Vgk3y03F9NP-wKkXAjBDLOtrH43NpEMN2xaWRp6qhRA,2260
62
+ langchain_core/messages/ai.py,sha256=BysrISBTe_BhVBnKw472XubhVQBqft99zQugIyfbhp4,18498
63
+ langchain_core/messages/base.py,sha256=OpJsursmDJ6WBsfgvBhe8XkLDtC8TEtADJlV7zmpk4Y,9638
64
+ langchain_core/messages/chat.py,sha256=Ls1SOFVsrVaRf4KuIQajy9pQOCWO-Dai9CA34sRuGgM,2271
65
65
  langchain_core/messages/content_blocks.py,sha256=E_AvS5yy1JHPquyKN7Wj5A7Gl9AvxOAGgR770FVhhtk,5487
66
- langchain_core/messages/function.py,sha256=QO2WgKmJ5nm7QL-xXG11Fmz3qFkHm1lL0k41WjDeEZE,2157
67
- langchain_core/messages/human.py,sha256=5xh31bLYeqbU3NxBaPjFNj5YzSUxPysrftx-48rW_Gc,1854
68
- langchain_core/messages/modifier.py,sha256=ch0RedUM_uA7wOEJHk8mkoJSNR0Rli_32BmOfdbS1dU,894
69
- langchain_core/messages/system.py,sha256=8vhHi99gjkY84ca6GhPiNyjgZ2MtaPkv6UvWUpba_qA,1666
70
- langchain_core/messages/tool.py,sha256=lIgW9geAMCeSfVYjCeoq6spDAJxUG6QyAjQUydnO0yQ,12567
71
- langchain_core/messages/utils.py,sha256=qYR_E3sN7EMVD1AOS-SYQOZjLtLSV1H9hpRTytDyY5c,69837
66
+ langchain_core/messages/function.py,sha256=Kd_GJFpctdf2JYfRiKK5j9I-YQ_XumKDouEpalXE-Xw,2189
67
+ langchain_core/messages/human.py,sha256=UZjG3KJLX8IF2VrYtj8EQ_O9tLjz-Xlp8gL60qDRQyU,1885
68
+ langchain_core/messages/modifier.py,sha256=N0vSbZa1jpzMom8_Vr0hr-ZAJi9eh1I8NkMVB5TQ2RI,895
69
+ langchain_core/messages/system.py,sha256=cMSNtauXX9AJ7NiJ8tYXa0rrVT46s-6t09Ec00la3PQ,1692
70
+ langchain_core/messages/tool.py,sha256=DiJQUmrOnRDUz74q7jofvJwbh_ghnT50iveMeGfy2hY,12668
71
+ langchain_core/messages/utils.py,sha256=ds872YzqNiOqEIrloCEjFCXAiWicswofFEYy1KG4HGM,70469
72
72
  langchain_core/output_parsers/__init__.py,sha256=R8L0GwY-vD9qvqze3EVELXF6i45IYUJ_FbSfno_IREg,2873
73
73
  langchain_core/output_parsers/base.py,sha256=53Yt9dOlR686ku0dP2LK9hHKGprxw_YEsAsY04dejmE,11225
74
74
  langchain_core/output_parsers/format_instructions.py,sha256=8oUbeysnVGvXWyNd5gqXlEL850D31gMTy74GflsuvRU,553
@@ -81,17 +81,17 @@ langchain_core/output_parsers/string.py,sha256=jlUsciPkCmZ3MOfhz-KUJDjSaR0VswnzH
81
81
  langchain_core/output_parsers/transform.py,sha256=ntWW0SKk6GUHXQNXHZvT1PhyedQrvF61oIo_fP63fRQ,5923
82
82
  langchain_core/output_parsers/xml.py,sha256=MDjZHJY2KeYREPLlEQJ1M2r0ALa0nb1Wec7MJ4Nk6LA,10974
83
83
  langchain_core/outputs/__init__.py,sha256=uy2aeRTvvIfyWeLtPs0KaCw0VpG6QTkC0esmj268BIM,2119
84
- langchain_core/outputs/chat_generation.py,sha256=XLJCeok5mliejMlzJka8v8aqLDs6HORd813PcxeeBRk,4681
84
+ langchain_core/outputs/chat_generation.py,sha256=IU5NnVbKXj7CJpCg_Wd3rYfVOj9lcHdwNtopXMW7-2I,4789
85
85
  langchain_core/outputs/chat_result.py,sha256=us15wVh00AYkIVNmf0VETEI9aoEQy-cT-SIXMX-98Zc,1356
86
86
  langchain_core/outputs/generation.py,sha256=zroWD-bJxmdKJWbt1Rv-jVImyOng5s8rEn8bHMtjaLo,2644
87
87
  langchain_core/outputs/llm_result.py,sha256=aX81609Z5JrLQGx9u2l6UDdzMLRoLgvdr5k1xDmB4UI,3935
88
88
  langchain_core/outputs/run_info.py,sha256=xCMWdsHfgnnodaf4OCMvZaWUfS836X7mV15JPkqvZjo,594
89
- langchain_core/prompt_values.py,sha256=ML6TgOes1I6-6S9BYg6KK7xYVQc7wFYSsfU6gtcQDxk,4023
89
+ langchain_core/prompt_values.py,sha256=jBcTRoLt0PRg3yJir0Mbg_CV29X2iiK9yFwXRrtiO_4,4112
90
90
  langchain_core/prompts/__init__.py,sha256=sp3NU858CEf4YUuDYiY_-iF1x1Gb5msSyoyrk2FUI94,4123
91
91
  langchain_core/prompts/base.py,sha256=g95varYAcsNY-2ILWrLhvQOMOw_qYr9ft7XqHgMkKbE,15971
92
- langchain_core/prompts/chat.py,sha256=Q9oAvYtz1qWNtSRxly7UYYFSERap79uno1JsU7z6_x0,52635
92
+ langchain_core/prompts/chat.py,sha256=GxGKpv-pTmvpvOr79xzN7EMSnvgz7rYfO7gykipGJi0,52707
93
93
  langchain_core/prompts/dict.py,sha256=e4rxVs2IkMjxN_NqYtRpb9NYLyE9mimMMSzawbubrfA,4732
94
- langchain_core/prompts/few_shot.py,sha256=nd1KtIw_pv8MdM49Q1V_szu4u6Wil0VAVqmiHLKzr64,16141
94
+ langchain_core/prompts/few_shot.py,sha256=z1B-otzpEp5pg9V257mG0V53e6KHYu0ZLw6BjAXauq0,16200
95
95
  langchain_core/prompts/few_shot_with_templates.py,sha256=z1fSlcHunfdVQc7BuM9tudCWMquUn2Zztw7ROXOEOgE,7839
96
96
  langchain_core/prompts/image.py,sha256=rrwpPo3nb2k_8I1DYF3cZv3go0T_CmSUrJsIktrQtgA,4786
97
97
  langchain_core/prompts/loading.py,sha256=_T26PCTuZuOsCkHk_uv-h_zoIMonXojBdYJA3UsWHXE,6907
@@ -107,38 +107,38 @@ langchain_core/pydantic_v1/main.py,sha256=uTB_757DTfo-mFKJUn_a4qS_GxmSxlqYmL2WOC
107
107
  langchain_core/rate_limiters.py,sha256=EZtViY5BZLPBg_JBvv_kYywV9Cl3wd6AC-SDEA0fPPg,9550
108
108
  langchain_core/retrievers.py,sha256=622gKRLmBSUXi_o4z57EoctT32XRbqCk_5f_NU7MEFE,16710
109
109
  langchain_core/runnables/__init__.py,sha256=efTnFjwN_QSAv5ThLmKuWeu8P1BLARH-cWKZBuimfDM,3858
110
- langchain_core/runnables/base.py,sha256=5MTTej3NO0mpgvwaaFgSywBayCo9WjtWa3sHBW5Nxuo,228986
110
+ langchain_core/runnables/base.py,sha256=iz4CmsrXMdDd5BxMB0NruHYR-9S5tHinmOCpLzUu5fA,228886
111
111
  langchain_core/runnables/branch.py,sha256=enKt0Qgc3b2UQSWGtQLcTlhOUNJGXfqNeaQwSq9AEkg,16338
112
112
  langchain_core/runnables/config.py,sha256=lT2RORiOlFPalxPB11TV_eSAMIi1dAiIzCyfmZariZw,20297
113
113
  langchain_core/runnables/configurable.py,sha256=Ios0MDPViYO9nO_EltAlkDkNNxdz4zXuNcZ1cuHZwzw,24695
114
114
  langchain_core/runnables/fallbacks.py,sha256=VeHCrW_Ci9p8G9KojNp5dC7Yo6l5jdZtst9O_yt2sM0,24497
115
- langchain_core/runnables/graph.py,sha256=aSPJxmUoG3J0lPaVYXJ2ulf6q5hfxBOZfK_Aro6Bdn4,23738
116
- langchain_core/runnables/graph_ascii.py,sha256=DYdH8pv9dJcQHYcNupEs-XCasDd-jrGeEMTbS6K5OAk,10446
117
- langchain_core/runnables/graph_mermaid.py,sha256=U04DalCmgNTamyR2gBNDo8_3zzSbSU6NqpXH9Y1-U8E,16794
115
+ langchain_core/runnables/graph.py,sha256=60uOAcwD0lXPrMhPAeOTndYINtalGFz8zgaV14ig5dk,23922
116
+ langchain_core/runnables/graph_ascii.py,sha256=-bFEYD_aoQ5d_kIzn7nWLWd0R6yLkGmUJ6FIYgLvRgk,10441
117
+ langchain_core/runnables/graph_mermaid.py,sha256=LQZz4hVisPo7ZvsI_-xd2fCInwsHfFVTicbzNrZXWy8,17415
118
118
  langchain_core/runnables/graph_png.py,sha256=md4NFNKMY7SkAr3Ysf1FNOU-SIZioSkniT__IPkoUSA,5566
119
119
  langchain_core/runnables/history.py,sha256=CeFI41kBoowUKsCuFu1HeEgBIuyhh2oEhcuUyPs_j6M,24775
120
120
  langchain_core/runnables/passthrough.py,sha256=HvwNeGVVzhS6EkSurbjU8Ah-UXUj3nsrhiY-gmeyxhE,26443
121
- langchain_core/runnables/retry.py,sha256=r5rEJ1nMqd5W-g9YJU0zKmyhgUSBhBeAJ8zFVaMhdvc,12824
121
+ langchain_core/runnables/retry.py,sha256=gDvUiUIPQHY3fXIM1ZB6cFovDYrfIOqlvHZnOB0IBVs,13898
122
122
  langchain_core/runnables/router.py,sha256=HYGMfOYhpdyL3OlrEjYj1bKqEjDFyWEvFDXx2BoV3s4,7236
123
123
  langchain_core/runnables/schema.py,sha256=ff7PsRswAeQgVEeGybzC3rvaoDHV2S8pNCwpwppRjAY,5545
124
124
  langchain_core/runnables/utils.py,sha256=zfC4orjXPcj_zpTO2yTvz04RPAwTt2HxW6kFPYkximQ,22843
125
- langchain_core/stores.py,sha256=IEsHB9kp1QnzYOBfl_eVMAnopP9M3lRgg2i-ypsV9NI,10496
125
+ langchain_core/stores.py,sha256=bjZbmXSGhkCHHUQWmiTxVbmGcwggaR9KH1pxe2Gkqko,10644
126
126
  langchain_core/structured_query.py,sha256=SmeP7cYTx2OCxOEo9UsSiHO3seqIoZPjb0CQd8JDWRk,5164
127
127
  langchain_core/sys_info.py,sha256=HG1fu2ayPvRQmrlowyO-NdUj_I8Le1S-bPAbYB9VJTY,4045
128
128
  langchain_core/tools/__init__.py,sha256=Uqcn6gFAoFbMM4aRXd8ACL4D-owdevGc37Gn-KOB8JU,2860
129
- langchain_core/tools/base.py,sha256=DMlpWU1ekAy68pmrHgtqtqcDuo6eu0qTq13TvOhqdew,50243
130
- langchain_core/tools/convert.py,sha256=ll3XrBhWtPWULONB-QlXEwAnT5FDjK9aP-kKuoi26Ds,16247
129
+ langchain_core/tools/base.py,sha256=Ha4_hAiAiyZNCtBVPTaIjLIUAZzQouohN2cYVBdpP4w,50302
130
+ langchain_core/tools/convert.py,sha256=DYP5Cx0L8qnLHmNvRdwHy-VUbNomEb9XEMJiyfYMtgQ,16318
131
131
  langchain_core/tools/render.py,sha256=BosvIWrSvOJgRg_gaSDBS58j99gwQHsLhprOXeJP53I,1842
132
132
  langchain_core/tools/retriever.py,sha256=zlSV3HnWhhmtZtkNGbNQW9wxv8GptJKmDhzqZj8e36o,3873
133
- langchain_core/tools/simple.py,sha256=f6H5VgYpSU7LI1a-zE8RvH6PMvbZ66GV35OM-hRfSf0,6957
134
- langchain_core/tools/structured.py,sha256=jJOeELTZZDE3aQHFCWF4xeepeJybMks2r-YBs__k7R8,9803
133
+ langchain_core/tools/simple.py,sha256=tW97_Qe4VWJymtXFtN8WRxNk0t4SmLIcgMnz5cq3aQU,6761
134
+ langchain_core/tools/structured.py,sha256=DYnck1Y5GRfBDcg6TRDAgVzTYyL6gAmCuN1a5C04NTU,9463
135
135
  langchain_core/tracers/__init__.py,sha256=ixZmLjtoMEPqYEFUtAxleiDDRNIaHrS01VRDo9mCPk8,1611
136
136
  langchain_core/tracers/_streaming.py,sha256=U9pWQDJNUDH4oOYF3zvUMUtgkCecJzXQvfo-wYARmhQ,982
137
137
  langchain_core/tracers/base.py,sha256=rbIJgMaDga3jFeCWCmzjqUZLMmp9ZczT4wFecVPL2hk,26013
138
138
  langchain_core/tracers/context.py,sha256=xCgMjCoulBm3QXjLaVDFC8-93emgsunYcCtZCiVKcTo,7199
139
139
  langchain_core/tracers/core.py,sha256=a40PCXd_2Yh8-drVfr1MJynvw9eUecocTWu-EIFwaDU,23773
140
140
  langchain_core/tracers/evaluation.py,sha256=o0iIcuYx_mlD8q5_N7yxiVIaGeC3JaepHlZks0xm0nQ,8426
141
- langchain_core/tracers/event_stream.py,sha256=BR8NJSmWqPvfgqWltipH-rk2UO6db0I3RH5lN6E-aHk,33810
141
+ langchain_core/tracers/event_stream.py,sha256=5c_HFzeIBlmG_cA-P_EJFJoiIuzlzxmlB3LQ1kx53-0,33785
142
142
  langchain_core/tracers/langchain.py,sha256=bvavDPE5t2J2BNexot0cHsD0asSeoofNtWAQqYbBvTQ,10620
143
143
  langchain_core/tracers/langchain_v1.py,sha256=QteCXOsETqngvigalofcKR3l6le6barotAtWHaE8a1w,898
144
144
  langchain_core/tracers/log_stream.py,sha256=jaW3tOvBxR4FgSZj4lS9pjVCdc4Y8_DUJoudAEcC-wQ,25491
@@ -149,26 +149,26 @@ langchain_core/tracers/schemas.py,sha256=y16K_c1ji3LHD-addSkn4-n73eknS2RlNRAhTSg
149
149
  langchain_core/tracers/stdout.py,sha256=aZN-yz545zj34kYfrEmYzWeSz83pbqN8wNqi-ZvS1Iw,6732
150
150
  langchain_core/utils/__init__.py,sha256=N0ZeV09FHvZIVITLJlqGibb0JNtmmLvvoareFtG0DuI,3169
151
151
  langchain_core/utils/_merge.py,sha256=uo_n2mJ0_FuRJZUUgJemsXQ8rAC9fyYGOMmnPfbbDUg,5785
152
- langchain_core/utils/aiter.py,sha256=R3_2TqQHAUbRig9BddP8NQZdeDDnW6uS9kK9gZAIRr8,10892
152
+ langchain_core/utils/aiter.py,sha256=-ewdOx7u3PiickfNcylzPAsxr9_a1-z8xxpZsKyN-eI,10891
153
153
  langchain_core/utils/env.py,sha256=5EnSNXr4oHAkGkKfrNf0xl_vqz2ejVKVMUQaQePXv9s,2536
154
154
  langchain_core/utils/formatting.py,sha256=fkieArzKXxSsLcEa3B-MX60O4ZLeeLjiPtVtxCJPcOU,1480
155
- langchain_core/utils/function_calling.py,sha256=qD0mEH2Wr1UwW-zwDE-cHNJzqxiN99SNWJkeUDSumc4,29398
155
+ langchain_core/utils/function_calling.py,sha256=ox7Qm6V3pGzTCFLPCyLcwgttI3vViHoYRYPegqjpmUY,29645
156
156
  langchain_core/utils/html.py,sha256=fUogMGhd-VoUbsGnMyY6v_gv9nbxJy-vmC4yfICcflM,3780
157
157
  langchain_core/utils/image.py,sha256=1MH8Lbg0f2HfhTC4zobKMvpVoHRfpsyvWHq9ae4xENo,532
158
158
  langchain_core/utils/input.py,sha256=z3tubdUtsoHqfTyiBGfELLr1xemSe-pGvhfAeGE6O2g,1958
159
159
  langchain_core/utils/interactive_env.py,sha256=nm06cucX9ez9H3GBAIRDsivSp0V--2HnBIMogI4gHpQ,287
160
- langchain_core/utils/iter.py,sha256=IysrW22N5R3V8QFJp1CMCRrrtllWYuwOg-7Oi7wVV_s,7560
161
- langchain_core/utils/json.py,sha256=Hmyk97Ll3lGLpoFAST2PM8d-fQVNu3VHxwd1JfGdtYE,6311
162
- langchain_core/utils/json_schema.py,sha256=s7g_tfXDhj-uP49DONmKljAbnEJ1waAkjMPBvckmum0,3983
160
+ langchain_core/utils/iter.py,sha256=skjmuEEkBFQQu0bvE5n33iuqAquYG5lMfOiGqhdOxgU,7559
161
+ langchain_core/utils/json.py,sha256=OhhQvE7NOeDhQGxn0vUU9_g4wBu167A3w7Ou9SX419o,6537
162
+ langchain_core/utils/json_schema.py,sha256=9fdA1Gb-pLfpcgSOJxxjMt1FqiWi0K95tNjWtlFgMgs,9102
163
163
  langchain_core/utils/loading.py,sha256=zHY3y-eW_quqgJDJNY24dO7YDZW9P103Mc77dnGbEpA,1023
164
164
  langchain_core/utils/mustache.py,sha256=j_BJH-axSkE-_DHPXx4xuIO_eqMsd9YaHm0VMtculvg,21373
165
- langchain_core/utils/pydantic.py,sha256=kSwwMv9st03BT4eVbkARtPwQVv34zXF1YlFZ-d8G1Ns,18578
165
+ langchain_core/utils/pydantic.py,sha256=6IQLwQODfupvtPcQTSOLA57vFKqA-b_xWenjOMwZzGU,18663
166
166
  langchain_core/utils/strings.py,sha256=0LaQiqpshHwMrWBGvNfFPc-AxihLGMM9vsQcSx3uAkI,1804
167
167
  langchain_core/utils/usage.py,sha256=EYv0poDqA7VejEsPyoA19lEt9M4L24Tppf4OPtOjGwI,1202
168
- langchain_core/utils/utils.py,sha256=cE94qWbUEtuGVJZCPby997ppjly4kt9cxh2pOhKR6ZQ,15455
168
+ langchain_core/utils/utils.py,sha256=RTICumH0h3Yx1WCYdd_9pffff9haVkoAVkvbJdlqTko,15455
169
169
  langchain_core/vectorstores/__init__.py,sha256=5P0eoeoH5LHab64JjmEeWa6SxX4eMy-etAP1MEHsETY,804
170
170
  langchain_core/vectorstores/base.py,sha256=nWlfzbkVdOObfbPpvfdLKHw9J0PryACVohHC_Y6wWZM,41529
171
- langchain_core/vectorstores/in_memory.py,sha256=RyXuB3dCr-Dgq30PhRgPwh8j8iH8GNIZAr8b9C7FHA4,18101
171
+ langchain_core/vectorstores/in_memory.py,sha256=btq53JnPZHMRGCbejVx1H-6RSNRAgtacd-XAx6dt-Q8,18076
172
172
  langchain_core/vectorstores/utils.py,sha256=D6St53Xg1kO73dnw4MPd8vlkro4C3gmCpcghUzcepi0,4971
173
- langchain_core/version.py,sha256=7aYZr_aVmy4AITHPWIVrAMX1d3_LbCpyKUbQcD33QW4,76
174
- langchain_core-0.3.76.dist-info/RECORD,,
173
+ langchain_core/version.py,sha256=BV6kJkydC-YxBFj9-ENNXDRLAAS3qhnj70qoZSwkSR0,76
174
+ langchain_core-0.3.77.dist-info/RECORD,,