uipath-langchain 0.1.28__py3-none-any.whl → 0.3.1__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.
Files changed (60) hide show
  1. uipath_langchain/_cli/_templates/langgraph.json.template +2 -4
  2. uipath_langchain/_cli/cli_new.py +1 -2
  3. uipath_langchain/_utils/_request_mixin.py +8 -0
  4. uipath_langchain/_utils/_settings.py +3 -2
  5. uipath_langchain/agent/guardrails/__init__.py +0 -16
  6. uipath_langchain/agent/guardrails/actions/__init__.py +2 -0
  7. uipath_langchain/agent/guardrails/actions/block_action.py +1 -1
  8. uipath_langchain/agent/guardrails/actions/escalate_action.py +265 -138
  9. uipath_langchain/agent/guardrails/actions/filter_action.py +290 -0
  10. uipath_langchain/agent/guardrails/actions/log_action.py +1 -1
  11. uipath_langchain/agent/guardrails/guardrail_nodes.py +193 -42
  12. uipath_langchain/agent/guardrails/guardrails_factory.py +235 -14
  13. uipath_langchain/agent/guardrails/types.py +0 -12
  14. uipath_langchain/agent/guardrails/utils.py +177 -0
  15. uipath_langchain/agent/react/agent.py +24 -9
  16. uipath_langchain/agent/react/constants.py +1 -2
  17. uipath_langchain/agent/react/file_type_handler.py +123 -0
  18. uipath_langchain/agent/{guardrails → react/guardrails}/guardrails_subgraph.py +119 -25
  19. uipath_langchain/agent/react/init_node.py +16 -1
  20. uipath_langchain/agent/react/job_attachments.py +125 -0
  21. uipath_langchain/agent/react/json_utils.py +183 -0
  22. uipath_langchain/agent/react/jsonschema_pydantic_converter.py +76 -0
  23. uipath_langchain/agent/react/llm_node.py +41 -10
  24. uipath_langchain/agent/react/llm_with_files.py +76 -0
  25. uipath_langchain/agent/react/router.py +48 -37
  26. uipath_langchain/agent/react/types.py +19 -1
  27. uipath_langchain/agent/react/utils.py +30 -4
  28. uipath_langchain/agent/tools/__init__.py +7 -1
  29. uipath_langchain/agent/tools/context_tool.py +151 -1
  30. uipath_langchain/agent/tools/escalation_tool.py +46 -15
  31. uipath_langchain/agent/tools/integration_tool.py +20 -16
  32. uipath_langchain/agent/tools/internal_tools/__init__.py +5 -0
  33. uipath_langchain/agent/tools/internal_tools/analyze_files_tool.py +113 -0
  34. uipath_langchain/agent/tools/internal_tools/internal_tool_factory.py +54 -0
  35. uipath_langchain/agent/tools/mcp_tool.py +86 -0
  36. uipath_langchain/agent/tools/process_tool.py +8 -1
  37. uipath_langchain/agent/tools/static_args.py +18 -40
  38. uipath_langchain/agent/tools/tool_factory.py +13 -5
  39. uipath_langchain/agent/tools/tool_node.py +133 -4
  40. uipath_langchain/agent/tools/utils.py +31 -0
  41. uipath_langchain/agent/wrappers/__init__.py +6 -0
  42. uipath_langchain/agent/wrappers/job_attachment_wrapper.py +62 -0
  43. uipath_langchain/agent/wrappers/static_args_wrapper.py +34 -0
  44. uipath_langchain/chat/__init__.py +4 -0
  45. uipath_langchain/chat/bedrock.py +16 -0
  46. uipath_langchain/chat/mapper.py +60 -42
  47. uipath_langchain/chat/openai.py +56 -26
  48. uipath_langchain/chat/supported_models.py +9 -0
  49. uipath_langchain/chat/vertex.py +62 -46
  50. uipath_langchain/embeddings/embeddings.py +18 -12
  51. uipath_langchain/runtime/factory.py +10 -5
  52. uipath_langchain/runtime/runtime.py +38 -35
  53. uipath_langchain/runtime/schema.py +72 -16
  54. uipath_langchain/runtime/storage.py +178 -71
  55. {uipath_langchain-0.1.28.dist-info → uipath_langchain-0.3.1.dist-info}/METADATA +7 -4
  56. uipath_langchain-0.3.1.dist-info/RECORD +90 -0
  57. uipath_langchain-0.1.28.dist-info/RECORD +0 -76
  58. {uipath_langchain-0.1.28.dist-info → uipath_langchain-0.3.1.dist-info}/WHEEL +0 -0
  59. {uipath_langchain-0.1.28.dist-info → uipath_langchain-0.3.1.dist-info}/entry_points.txt +0 -0
  60. {uipath_langchain-0.1.28.dist-info → uipath_langchain-0.3.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,3 +1,4 @@
1
+ from collections.abc import Iterable
1
2
  from dataclasses import dataclass
2
3
  from typing import Any, Callable, TypeVar
3
4
 
@@ -31,28 +32,83 @@ class SchemaDetails:
31
32
 
32
33
 
33
34
  def _unwrap_runnable_callable(
34
- runnable: Runnable[Any, Any], target_type: type[T]
35
+ runnable: Runnable[Any, Any],
36
+ target_type: type[T],
37
+ _seen: set[int] | None = None,
35
38
  ) -> T | None:
36
- """Unwrap a RunnableCallable to find an instance of the target type.
37
-
38
- Args:
39
- runnable: The runnable to unwrap
40
- target_type: The type to search for (e.g., BaseChatModel)
41
-
42
- Returns:
43
- Instance of target_type if found in the closure, None otherwise
39
+ """Try to find an instance of target_type (e.g., BaseChatModel)
40
+ inside a Runnable.
41
+
42
+ Handles:
43
+ - Direct model runnables
44
+ - LangGraph RunnableCallable
45
+ - LangChain function runnables (RunnableLambda, etc.)
46
+ - RunnableBinding / RunnableSequence with nested steps
44
47
  """
45
48
  if isinstance(runnable, target_type):
46
49
  return runnable
47
50
 
51
+ if _seen is None:
52
+ _seen = set()
53
+ obj_id = id(runnable)
54
+ if obj_id in _seen:
55
+ return None
56
+ _seen.add(obj_id)
57
+
58
+ func: Callable[..., Any] | None = None
59
+
60
+ # 1) LangGraph internal RunnableCallable
48
61
  if RunnableCallable is not None and isinstance(runnable, RunnableCallable):
49
- func: Callable[..., Any] | None = getattr(runnable, "func", None)
50
- if func is not None and hasattr(func, "__closure__") and func.__closure__:
51
- for cell in func.__closure__:
52
- if hasattr(cell, "cell_contents"):
53
- content = cell.cell_contents
54
- if isinstance(content, target_type):
55
- return content
62
+ func = getattr(runnable, "func", None)
63
+
64
+ # 2) Generic LangChain function-wrapping runnables
65
+ if func is None:
66
+ for attr_name in ("func", "_func", "afunc", "_afunc"):
67
+ maybe = getattr(runnable, attr_name, None)
68
+ if callable(maybe):
69
+ func = maybe
70
+ break
71
+
72
+ # 3) Look into the function closure for a model
73
+ if func is not None:
74
+ closure = getattr(func, "__closure__", None) or ()
75
+ for cell in closure:
76
+ content = getattr(cell, "cell_contents", None)
77
+ if isinstance(content, target_type):
78
+ return content
79
+ if isinstance(content, Runnable):
80
+ found = _unwrap_runnable_callable(content, target_type, _seen)
81
+ if found is not None:
82
+ return found
83
+
84
+ # 4) Deep-scan attributes, including nested runnables / containers
85
+ def _scan_value(value: Any) -> T | None:
86
+ if isinstance(value, target_type):
87
+ return value
88
+ if isinstance(value, Runnable):
89
+ return _unwrap_runnable_callable(value, target_type, _seen)
90
+ if isinstance(value, dict):
91
+ for v in value.values():
92
+ found = _scan_value(v)
93
+ if found is not None:
94
+ return found
95
+ # Handle lists, tuples, sets, etc. but avoid strings/bytes
96
+ if isinstance(value, Iterable) and not isinstance(value, (str, bytes)):
97
+ for item in value:
98
+ found = _scan_value(item)
99
+ if found is not None:
100
+ return found
101
+ return None
102
+
103
+ try:
104
+ attrs = vars(runnable)
105
+ except TypeError:
106
+ attrs = {}
107
+
108
+ for value in attrs.values():
109
+ found = _scan_value(value)
110
+ if found is not None:
111
+ return found
56
112
 
57
113
  return None
58
114
 
@@ -1,115 +1,222 @@
1
1
  """SQLite implementation of UiPathResumableStorageProtocol."""
2
2
 
3
3
  import json
4
- from typing import cast
4
+ from typing import Any, cast
5
5
 
6
6
  from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver
7
7
  from pydantic import BaseModel
8
- from uipath.runtime import (
9
- UiPathApiTrigger,
10
- UiPathResumeTrigger,
11
- UiPathResumeTriggerName,
12
- UiPathResumeTriggerType,
13
- )
8
+ from uipath.runtime import UiPathResumeTrigger
14
9
 
15
10
 
16
11
  class SqliteResumableStorage:
17
- """SQLite storage for resume triggers."""
12
+ """SQLite storage for resume triggers and arbitrary kv pairs."""
18
13
 
19
14
  def __init__(
20
- self, memory: AsyncSqliteSaver, table_name: str = "__uipath_resume_triggers"
15
+ self,
16
+ memory: AsyncSqliteSaver,
21
17
  ):
22
18
  self.memory = memory
23
- self.table_name = table_name
19
+ self.rs_table_name = "__uipath_resume_triggers"
20
+ self.kv_table_name = "__uipath_runtime_kv"
24
21
  self._initialized = False
25
22
 
26
23
  async def _ensure_table(self) -> None:
27
- """Create table if needed."""
24
+ """Create tables if needed."""
28
25
  if self._initialized:
29
26
  return
30
27
 
31
28
  await self.memory.setup()
32
29
  async with self.memory.lock, self.memory.conn.cursor() as cur:
33
- await cur.execute(f"""
34
- CREATE TABLE IF NOT EXISTS {self.table_name} (
30
+ # Enable WAL mode for high concurrency
31
+ await cur.execute("PRAGMA journal_mode=WAL")
32
+
33
+ await cur.execute(
34
+ f"""
35
+ CREATE TABLE IF NOT EXISTS {self.rs_table_name} (
35
36
  id INTEGER PRIMARY KEY AUTOINCREMENT,
36
- type TEXT NOT NULL,
37
- name TEXT NOT NULL,
38
- key TEXT,
39
- folder_key TEXT,
40
- folder_path TEXT,
41
- payload TEXT,
37
+ runtime_id TEXT NOT NULL,
38
+ interrupt_id TEXT NOT NULL,
39
+ data TEXT NOT NULL,
42
40
  timestamp DATETIME DEFAULT (strftime('%Y-%m-%d %H:%M:%S', 'now', 'utc'))
43
41
  )
44
- """)
45
- await self.memory.conn.commit()
46
- self._initialized = True
42
+ """
43
+ )
47
44
 
48
- async def save_trigger(self, trigger: UiPathResumeTrigger) -> None:
49
- """Save resume trigger to database."""
50
- await self._ensure_table()
45
+ await cur.execute(
46
+ f"""
47
+ CREATE INDEX IF NOT EXISTS idx_{self.rs_table_name}_runtime_id
48
+ ON {self.rs_table_name}(runtime_id)
49
+ """
50
+ )
51
51
 
52
- trigger_key = (
53
- trigger.api_resume.inbox_id if trigger.api_resume else trigger.item_key
54
- )
55
- payload = trigger.payload
56
- if payload:
57
- payload = (
58
- (
59
- payload.model_dump()
60
- if isinstance(payload, BaseModel)
61
- else json.dumps(payload)
52
+ await cur.execute(
53
+ f"""
54
+ CREATE TABLE IF NOT EXISTS {self.kv_table_name} (
55
+ runtime_id TEXT NOT NULL,
56
+ namespace TEXT NOT NULL,
57
+ key TEXT NOT NULL,
58
+ value TEXT,
59
+ timestamp DATETIME DEFAULT (strftime('%Y-%m-%d %H:%M:%S', 'now', 'utc')),
60
+ PRIMARY KEY (runtime_id, namespace, key)
62
61
  )
63
- if isinstance(payload, dict)
64
- else str(payload)
62
+ """
65
63
  )
66
64
 
65
+ await self.memory.conn.commit()
66
+
67
+ self._initialized = True
68
+
69
+ async def save_triggers(
70
+ self, runtime_id: str, triggers: list[UiPathResumeTrigger]
71
+ ) -> None:
72
+ """Save resume triggers to database, replacing all existing triggers for this runtime_id."""
73
+ await self._ensure_table()
74
+
67
75
  async with self.memory.lock, self.memory.conn.cursor() as cur:
76
+ # Delete all existing triggers for this runtime_id
68
77
  await cur.execute(
69
- f"INSERT INTO {self.table_name} (type, key, name, payload, folder_path, folder_key) VALUES (?, ?, ?, ?, ?, ?)",
70
- (
71
- trigger.trigger_type.value,
72
- trigger_key,
73
- trigger.trigger_name.value,
74
- payload,
75
- trigger.folder_path,
76
- trigger.folder_key,
77
- ),
78
+ f"""
79
+ DELETE FROM {self.rs_table_name}
80
+ WHERE runtime_id = ?
81
+ """,
82
+ (runtime_id,),
78
83
  )
84
+
85
+ # Insert new triggers
86
+ for trigger in triggers:
87
+ trigger_data = trigger.model_dump()
88
+ trigger_data["payload"] = trigger.payload
89
+ trigger_data["trigger_name"] = trigger.trigger_name
90
+
91
+ await cur.execute(
92
+ f"""
93
+ INSERT INTO {self.rs_table_name}
94
+ (runtime_id, interrupt_id, data)
95
+ VALUES (?, ?, ?)
96
+ """,
97
+ (
98
+ runtime_id,
99
+ trigger.interrupt_id,
100
+ json.dumps(trigger_data),
101
+ ),
102
+ )
79
103
  await self.memory.conn.commit()
80
104
 
81
- async def get_latest_trigger(self) -> UiPathResumeTrigger | None:
82
- """Get most recent trigger from database."""
105
+ async def get_triggers(self, runtime_id: str) -> list[UiPathResumeTrigger] | None:
106
+ """Get all triggers for runtime_id from database."""
83
107
  await self._ensure_table()
84
108
 
85
109
  async with self.memory.lock, self.memory.conn.cursor() as cur:
86
- await cur.execute(f"""
87
- SELECT type, key, name, folder_path, folder_key, payload
88
- FROM {self.table_name}
89
- ORDER BY timestamp DESC
90
- LIMIT 1
91
- """)
92
- result = await cur.fetchone()
110
+ await cur.execute(
111
+ f"""
112
+ SELECT data
113
+ FROM {self.rs_table_name}
114
+ WHERE runtime_id = ?
115
+ ORDER BY timestamp ASC
116
+ """,
117
+ (runtime_id,),
118
+ )
119
+ results = await cur.fetchall()
120
+
121
+ if not results:
122
+ return None
93
123
 
94
- if not result:
95
- return None
124
+ triggers = []
125
+ for result in results:
126
+ data_text = cast(str, result[0])
127
+ trigger = UiPathResumeTrigger.model_validate_json(data_text)
128
+ triggers.append(trigger)
96
129
 
97
- trigger_type, key, name, folder_path, folder_key, payload = cast(
98
- tuple[str, str, str, str, str, str], tuple(result)
130
+ return triggers
131
+
132
+ async def delete_trigger(
133
+ self, runtime_id: str, trigger: UiPathResumeTrigger
134
+ ) -> None:
135
+ """Delete resume trigger from storage."""
136
+ await self._ensure_table()
137
+
138
+ async with self.memory.lock, self.memory.conn.cursor() as cur:
139
+ await cur.execute(
140
+ f"""
141
+ DELETE FROM {self.rs_table_name}
142
+ WHERE runtime_id = ? AND interrupt_id = ?
143
+ """,
144
+ (
145
+ runtime_id,
146
+ trigger.interrupt_id,
147
+ ),
99
148
  )
149
+ await self.memory.conn.commit()
150
+
151
+ async def set_value(
152
+ self,
153
+ runtime_id: str,
154
+ namespace: str,
155
+ key: str,
156
+ value: Any,
157
+ ) -> None:
158
+ """Save arbitrary key-value pair to database."""
159
+ if not (
160
+ isinstance(value, str)
161
+ or isinstance(value, dict)
162
+ or isinstance(value, BaseModel)
163
+ or value is None
164
+ ):
165
+ raise TypeError("Value must be str, dict, BaseModel or None.")
166
+
167
+ await self._ensure_table()
100
168
 
101
- resume_trigger = UiPathResumeTrigger(
102
- trigger_type=UiPathResumeTriggerType(trigger_type),
103
- trigger_name=UiPathResumeTriggerName(name),
104
- item_key=key,
105
- folder_path=folder_path,
106
- folder_key=folder_key,
107
- payload=payload,
169
+ value_text = self._dump_value(value)
170
+
171
+ async with self.memory.lock, self.memory.conn.cursor() as cur:
172
+ await cur.execute(
173
+ f"""
174
+ INSERT INTO {self.kv_table_name} (runtime_id, namespace, key, value)
175
+ VALUES (?, ?, ?, ?)
176
+ ON CONFLICT(runtime_id, namespace, key)
177
+ DO UPDATE SET
178
+ value = excluded.value,
179
+ timestamp = (strftime('%Y-%m-%d %H:%M:%S', 'now', 'utc'))
180
+ """,
181
+ (runtime_id, namespace, key, value_text),
108
182
  )
183
+ await self.memory.conn.commit()
109
184
 
110
- if resume_trigger.trigger_type == UiPathResumeTriggerType.API:
111
- resume_trigger.api_resume = UiPathApiTrigger(
112
- inbox_id=resume_trigger.item_key, request=resume_trigger.payload
113
- )
185
+ async def get_value(self, runtime_id: str, namespace: str, key: str) -> Any:
186
+ """Get arbitrary key-value pair from database (scoped by runtime_id + namespace)."""
187
+ await self._ensure_table()
114
188
 
115
- return resume_trigger
189
+ async with self.memory.lock, self.memory.conn.cursor() as cur:
190
+ await cur.execute(
191
+ f"""
192
+ SELECT value
193
+ FROM {self.kv_table_name}
194
+ WHERE runtime_id = ? AND namespace = ? AND key = ?
195
+ LIMIT 1
196
+ """,
197
+ (runtime_id, namespace, key),
198
+ )
199
+ row = await cur.fetchone()
200
+
201
+ if not row:
202
+ return None
203
+
204
+ return self._load_value(cast(str | None, row[0]))
205
+
206
+ def _dump_value(self, value: str | dict[str, Any] | BaseModel | None) -> str | None:
207
+ if value is None:
208
+ return None
209
+ if isinstance(value, BaseModel):
210
+ return "j:" + json.dumps(value.model_dump())
211
+ if isinstance(value, dict):
212
+ return "j:" + json.dumps(value)
213
+ return "s:" + value
214
+
215
+ def _load_value(self, raw: str | None) -> Any:
216
+ if raw is None:
217
+ return None
218
+ if raw.startswith("s:"):
219
+ return raw[2:]
220
+ if raw.startswith("j:"):
221
+ return json.loads(raw[2:])
222
+ return raw
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath-langchain
3
- Version: 0.1.28
3
+ Version: 0.3.1
4
4
  Summary: Python SDK that enables developers to build and deploy LangGraph agents to the UiPath Cloud Platform
5
5
  Project-URL: Homepage, https://uipath.com
6
6
  Project-URL: Repository, https://github.com/UiPath/uipath-langchain-python
@@ -16,16 +16,19 @@ Requires-Python: >=3.11
16
16
  Requires-Dist: aiosqlite==0.21.0
17
17
  Requires-Dist: httpx>=0.27.0
18
18
  Requires-Dist: jsonpath-ng>=1.7.0
19
- Requires-Dist: jsonschema-pydantic-converter>=0.1.5
20
- Requires-Dist: langchain-core<2.0.0,>=1.0.0
19
+ Requires-Dist: jsonschema-pydantic-converter>=0.1.6
20
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5
21
+ Requires-Dist: langchain-mcp-adapters==0.2.1
21
22
  Requires-Dist: langchain-openai<2.0.0,>=1.0.0
22
23
  Requires-Dist: langchain<2.0.0,>=1.0.0
23
24
  Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.0.0
24
25
  Requires-Dist: langgraph<2.0.0,>=1.0.0
26
+ Requires-Dist: mcp==1.24.0
25
27
  Requires-Dist: openinference-instrumentation-langchain>=0.1.56
26
28
  Requires-Dist: pydantic-settings>=2.6.0
27
29
  Requires-Dist: python-dotenv>=1.0.1
28
- Requires-Dist: uipath<2.3.0,>=2.2.30
30
+ Requires-Dist: uipath-runtime<0.5.0,>=0.4.0
31
+ Requires-Dist: uipath<2.5.0,>=2.4.0
29
32
  Provides-Extra: bedrock
30
33
  Requires-Dist: boto3-stubs>=1.41.4; extra == 'bedrock'
31
34
  Requires-Dist: langchain-aws>=0.2.35; extra == 'bedrock'
@@ -0,0 +1,90 @@
1
+ uipath_langchain/__init__.py,sha256=VBrvQn7d3nuOdN7zEnV2_S-uhmkjgEIlXiFVeZxZakQ,80
2
+ uipath_langchain/middlewares.py,sha256=DrxC6YpwtrwUlRybUSHfRldcSH4smS0H4pVc6R5OOX4,400
3
+ uipath_langchain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ uipath_langchain/_cli/__init__.py,sha256=juqd9PbXs4yg45zMJ7BHAOPQjb7sgEbWE9InBtGZhfo,24
5
+ uipath_langchain/_cli/cli_init.py,sha256=VUYlCkCYgrR_dVhbMN8-Ziu4Y_Rzl_x6-S6cq-g6KwQ,5567
6
+ uipath_langchain/_cli/cli_new.py,sha256=evhveCC1htKc6kwoll_jgWukG5bTBjnlBjSJRAqFRSo,2252
7
+ uipath_langchain/_cli/_templates/langgraph.json.template,sha256=z2iLaXUFknv49XZ56DKGeQwMQzMPa1eFNsVswro0c8w,59
8
+ uipath_langchain/_cli/_templates/main.py.template,sha256=GpSblGH2hwS9ibqQmX2iB2nsmOA5zDfEEF4ChLiMxbQ,875
9
+ uipath_langchain/_resources/AGENTS.md,sha256=5VmIfaQ6H91VxInnxFmJklURXeWIIQpGQTYBEmvvoVA,1060
10
+ uipath_langchain/_resources/REQUIRED_STRUCTURE.md,sha256=BRmWWFtM0qNXj5uumALVxq9h6pifJDGh5NzuyctuH1Q,2569
11
+ uipath_langchain/_tracing/__init__.py,sha256=C2dRvQ2ynxCmyICgE-rJHimWKEcFRME_o9gfX84Mb3Y,123
12
+ uipath_langchain/_tracing/_instrument_traceable.py,sha256=cIxtDvlrPxVSZLOvpl571HxFO3wg7pNem4rLUuMI2Vg,4276
13
+ uipath_langchain/_utils/__init__.py,sha256=-w-4TD9ZnJDCpj4VIPXhJciukrmDJJbmnOFnhAkAaEU,81
14
+ uipath_langchain/_utils/_request_mixin.py,sha256=VjOyH9fS8WhKEXufoAoSRhfaY1jumLacRwBsbaRsiy8,31307
15
+ uipath_langchain/_utils/_settings.py,sha256=6E4yGzrEj3P3DcqCx_Y_lHQREQRfBm0yH1mSitiSJIU,3188
16
+ uipath_langchain/_utils/_sleep_policy.py,sha256=e9pHdjmcCj4CVoFM1jMyZFelH11YatsgWfpyrfXzKBQ,1251
17
+ uipath_langchain/agent/exceptions/__init__.py,sha256=GFh8mtsoKYghTHe93rRbIycWOW8dPt0okQjZuc2N-Hc,158
18
+ uipath_langchain/agent/exceptions/exceptions.py,sha256=G7LdeQ9uMljLGTlixWBHvNJ1ULtUIDIkzApjfbsF6_0,216
19
+ uipath_langchain/agent/guardrails/__init__.py,sha256=2lM-DFLp8oHR6qpkZy8_E93RL_tXKhtzbbsL00_m6TA,114
20
+ uipath_langchain/agent/guardrails/guardrail_nodes.py,sha256=NUIZzhoanMe6SiEuk0rEPwm4zFmdf40cSvl4a8kJQts,11126
21
+ uipath_langchain/agent/guardrails/guardrails_factory.py,sha256=mUQ-vxaBIbH8sesiaoVTFZhxqerxTyboFWchwWxWVww,10259
22
+ uipath_langchain/agent/guardrails/types.py,sha256=guVi19x7x5atcaXTUWK_c9O3bP6HfmnX_1Er1ErsnSE,169
23
+ uipath_langchain/agent/guardrails/utils.py,sha256=jv1-7N4JhLBlID9dE5V3IVciRjrd-s_bTY4bVs-9kkg,5620
24
+ uipath_langchain/agent/guardrails/actions/__init__.py,sha256=o_xoSaqcaOM33CRldvmnmux66BIK9fbcv994lB0m1-U,313
25
+ uipath_langchain/agent/guardrails/actions/base_action.py,sha256=89POG1KQ0x1KPXKP8jT42M04SYoizp5E_co2-Ykq8gc,710
26
+ uipath_langchain/agent/guardrails/actions/block_action.py,sha256=AMgpeHG41XbRV6bdFX78OLLJ-CTJ1lez6ai6s60zG4M,1374
27
+ uipath_langchain/agent/guardrails/actions/escalate_action.py,sha256=BoH0I3wo7zgw4cHyPfoFmlQy4P3-mYRog-HZTdnxIMI,23910
28
+ uipath_langchain/agent/guardrails/actions/filter_action.py,sha256=sNAUUxovz3Eq5gXpbDHa2MPtUgUNgDRKKWie6TCqemU,9729
29
+ uipath_langchain/agent/guardrails/actions/log_action.py,sha256=1nknvqYFBmBFACWLhtreU9Uun40_H2ETsg9c6-IacGM,1968
30
+ uipath_langchain/agent/react/__init__.py,sha256=BhRWUMZ9yLtBr7SyRwS-XMKG9o84DROyedCMpE6j1RU,362
31
+ uipath_langchain/agent/react/agent.py,sha256=P4zoxLR0q6vvagjlKKbcsQB7h4j3K3AdK_KwB92_t7M,4572
32
+ uipath_langchain/agent/react/constants.py,sha256=yRi3sRxl2CSlshcn_ooWRN3TCcKdRMxJIwmiUQpAtFE,38
33
+ uipath_langchain/agent/react/file_type_handler.py,sha256=Ca57k3HsG7Ls2rYjIjD4AHcuCCPOOJL5bGIfLdxzVAA,3442
34
+ uipath_langchain/agent/react/init_node.py,sha256=JR50GHsdW7kVa7EitwCGMdGA0c7csgtD90L2DOKcZ0c,1030
35
+ uipath_langchain/agent/react/job_attachments.py,sha256=vPLxvp9NSWzkANPQGASXFdeFgWmSmBjHwKDJL35CycE,4512
36
+ uipath_langchain/agent/react/json_utils.py,sha256=fDbi-8sKJer_IYV11OJbe7kMey2VKyralYUs9slGKKA,6172
37
+ uipath_langchain/agent/react/jsonschema_pydantic_converter.py,sha256=6WD0SeOe9wHH5qt2sOhzNgHKjwzFjI1bBh2IfiTgnUg,3174
38
+ uipath_langchain/agent/react/llm_node.py,sha256=Qy9A_s7L5IKfHXbhT8PChyUWYB-RRUjkW49C958wCRs,2484
39
+ uipath_langchain/agent/react/llm_with_files.py,sha256=hL_cRxN25rlAIU79uSnZ5O8Dk3E4SAx7WK1k48rUzOs,2403
40
+ uipath_langchain/agent/react/router.py,sha256=-I3Ym0-FLQfg1J0v9Wibb0Xq7rTN73_FLsjVxa31aTQ,4080
41
+ uipath_langchain/agent/react/terminate_node.py,sha256=G2k2xMgocfNC13RjF9A2Kea6KiPINmdnxiZHQCS_fAY,2734
42
+ uipath_langchain/agent/react/types.py,sha256=ImVqTc84pKsHpDaWpfC-p38lJGkSlXtQn4Za-mpbx_w,1616
43
+ uipath_langchain/agent/react/utils.py,sha256=aSXrpNeQgyEFIQky84ioCjh_Pqi4MvS7gkyXlTdjyLQ,2053
44
+ uipath_langchain/agent/react/guardrails/guardrails_subgraph.py,sha256=J2hjfUqpNv_fPp_L7Es_wKJZT_VeeBReHV83Nfz2AhE,13514
45
+ uipath_langchain/agent/react/tools/__init__.py,sha256=LGfG8Dc32ffKdXQyMI2oYzhNnTs1wbzsddXz6eU-0MY,102
46
+ uipath_langchain/agent/react/tools/tools.py,sha256=vFBGnFrGocX__sotKisMJr2lxRRVqA0-uThzzhPADIw,1443
47
+ uipath_langchain/agent/tools/__init__.py,sha256=iXpKWMyB1CP6rsTAX98HcrjEufe_M8rmSCKiL0sNF80,689
48
+ uipath_langchain/agent/tools/context_tool.py,sha256=8x09vmAYDUmXRQi7P3wFoX5XHvPLdfqybDw7wDE6Vsw,6878
49
+ uipath_langchain/agent/tools/escalation_tool.py,sha256=cwAhPR5gjKG8UOCS9i-X93yqgXLOyEZM-rTZky7icDQ,4817
50
+ uipath_langchain/agent/tools/integration_tool.py,sha256=bpRLC7CZjPmgH8Av584qRhf-YLWszKGMmGxd7CS2-VE,6514
51
+ uipath_langchain/agent/tools/mcp_tool.py,sha256=NjSWoCYXixIheLWqYUCiYdnkI1umHIvTEBXJphg_WTM,3202
52
+ uipath_langchain/agent/tools/process_tool.py,sha256=H14_bEmonPa_OI9COeIaKqyuUbimwqZ7bNTbO5jtTMc,1918
53
+ uipath_langchain/agent/tools/static_args.py,sha256=1jzV0D4R3ydz62aawvfvlSGJfuqyq1Lu2n6mudmqt94,3710
54
+ uipath_langchain/agent/tools/structured_tool_with_output_type.py,sha256=9EZB1WlVt7FFBf20jX3Av9vJf9MaDNCnKLUhMBIrtLQ,354
55
+ uipath_langchain/agent/tools/tool_factory.py,sha256=i0ej-JD6V6acXoXRDkrrGeccWlrhatiu-CjD591CxcQ,1706
56
+ uipath_langchain/agent/tools/tool_node.py,sha256=GgkUhdvN4Ff8CnW2lTXY1nGiDpLhfd1ZJTYOQO4OY8Q,5521
57
+ uipath_langchain/agent/tools/utils.py,sha256=XrpCzBuBqBlGHhv9_8it5JfT_qAGtO2g--urELt4t8U,1503
58
+ uipath_langchain/agent/tools/internal_tools/__init__.py,sha256=f0xrCEglUTpfEmz4pD1CVYuPgb2pA7eygg-ki80df08,157
59
+ uipath_langchain/agent/tools/internal_tools/analyze_files_tool.py,sha256=17wtahF46TeTMMbfj8UiX5DS_ZlUPLLE86A53xIQZ-A,3766
60
+ uipath_langchain/agent/tools/internal_tools/internal_tool_factory.py,sha256=n79r002dgT7NDikhIXv1MfHi1dZvhErONxBB9nPQvrE,1807
61
+ uipath_langchain/agent/wrappers/__init__.py,sha256=397LQuHTTp3Z4N0ZcrMAdWXrWkSaaSz7FGhdmYnWOp0,265
62
+ uipath_langchain/agent/wrappers/job_attachment_wrapper.py,sha256=Vy7wePBuCMN_bHkWRBqkkoH9pfqAcszULAAzENNgAbA,2154
63
+ uipath_langchain/agent/wrappers/static_args_wrapper.py,sha256=pgx3eC57Ai2kv5E1mPYo-HwFrhI-Q_TnbA9U-uyCFog,1072
64
+ uipath_langchain/chat/__init__.py,sha256=YlbvzwZz2269kQK438YK8PDIpt5EoRukmpedazpSHHY,387
65
+ uipath_langchain/chat/bedrock.py,sha256=-e1Spix8QizWJf7qLPTJ1-Bs6QLmAHF4VvZSb2kn_Uw,6662
66
+ uipath_langchain/chat/mapper.py,sha256=-GRYIXZCH2IThRhhufHA8qYeLAeP5rLmlNAMhNbPaWc,12984
67
+ uipath_langchain/chat/models.py,sha256=cbIRw-YhEvQcgt0DVTHc84lKIjeDhsQo5oxvBz9luD0,18168
68
+ uipath_langchain/chat/openai.py,sha256=laLJbSoviyD1HdHRGL7zmGuDZngFZvQb93yNcSoR3r4,5829
69
+ uipath_langchain/chat/supported_models.py,sha256=KttS2PZZzh_-fPub-bAenq2V0LfqCUPMmBtQnRP0Lik,1561
70
+ uipath_langchain/chat/vertex.py,sha256=KX584HDzW8x1x-BjfTXpYnl9ofAAVNsphto29O7uoD0,10428
71
+ uipath_langchain/embeddings/__init__.py,sha256=QICtYB58ZyqFfDQrEaO8lTEgAU5NuEKlR7iIrS0OBtc,156
72
+ uipath_langchain/embeddings/embeddings.py,sha256=EeVWEpG-DhfewiHJAHNrUMtzIS2oF6rLUPNRtfRg0_8,7137
73
+ uipath_langchain/retrievers/__init__.py,sha256=rOn7PyyHgZ4pMnXWPkGqmuBmx8eGuo-Oyndo7Wm9IUU,108
74
+ uipath_langchain/retrievers/context_grounding_retriever.py,sha256=eVDt49dcyBVM8wgBn5FmaXK8gfgsOaNBC8tYnebiQeQ,2201
75
+ uipath_langchain/runtime/__init__.py,sha256=h4pDyPy8kAYWvSohG3qFmx-bTVTIj1spbMqc7kO674E,1017
76
+ uipath_langchain/runtime/_serialize.py,sha256=ySdQrz4I-7V068_lOYgL6lD41wRg31_Ot6gAetcWaCw,1255
77
+ uipath_langchain/runtime/config.py,sha256=Jh4B47EUnDjWpV7gsPNzwWeFhlgjOHgdlOkJB64BVpc,1828
78
+ uipath_langchain/runtime/errors.py,sha256=iepiILaDtanusvyYBQSRsPDmKB-6GB94OXKATwI8dqY,1335
79
+ uipath_langchain/runtime/factory.py,sha256=Uuu3jXCzj9YiVXAf2n0hJnX5-ySBSzhYgpxA4ihMv70,11190
80
+ uipath_langchain/runtime/graph.py,sha256=1h_eaXkyN0G43BS0WUMoK_UNDao8jrmcyJqGVgwVEjM,5513
81
+ uipath_langchain/runtime/runtime.py,sha256=p378PZ5d9dZkucrLAaFDO9cpjtgKPWIKKLXPH9hfujI,17524
82
+ uipath_langchain/runtime/schema.py,sha256=BKtWYVVpK2FfdWO75iQEc-md7qh5z8DqsRPsbHJ_WBI,15130
83
+ uipath_langchain/runtime/storage.py,sha256=8NL-gM0Ep8iFcg-lToZxmAWJs0Rff8wn1vM8KgpSCww,7382
84
+ uipath_langchain/vectorstores/__init__.py,sha256=w8qs1P548ud1aIcVA_QhBgf_jZDrRMK5Lono78yA8cs,114
85
+ uipath_langchain/vectorstores/context_grounding_vectorstore.py,sha256=SfRvIenOzn4r7jng_I9GIyknyeDx2hdW63O1rZY-ZLQ,8407
86
+ uipath_langchain-0.3.1.dist-info/METADATA,sha256=5hkEWoCJaKez5zScGb43pPpZiURQ5vf9QuWjMLL-n8A,5932
87
+ uipath_langchain-0.3.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
88
+ uipath_langchain-0.3.1.dist-info/entry_points.txt,sha256=Wptt1FbvhcDzNQxDlu2Lt1ngBOdDIFPlM1p8WzXf6wQ,171
89
+ uipath_langchain-0.3.1.dist-info/licenses/LICENSE,sha256=JDpt-uotAkHFmxpwxi6gwx6HQ25e-lG4U_Gzcvgp7JY,1063
90
+ uipath_langchain-0.3.1.dist-info/RECORD,,
@@ -1,76 +0,0 @@
1
- uipath_langchain/__init__.py,sha256=VBrvQn7d3nuOdN7zEnV2_S-uhmkjgEIlXiFVeZxZakQ,80
2
- uipath_langchain/middlewares.py,sha256=DrxC6YpwtrwUlRybUSHfRldcSH4smS0H4pVc6R5OOX4,400
3
- uipath_langchain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- uipath_langchain/_cli/__init__.py,sha256=juqd9PbXs4yg45zMJ7BHAOPQjb7sgEbWE9InBtGZhfo,24
5
- uipath_langchain/_cli/cli_init.py,sha256=VUYlCkCYgrR_dVhbMN8-Ziu4Y_Rzl_x6-S6cq-g6KwQ,5567
6
- uipath_langchain/_cli/cli_new.py,sha256=aM5rmwXewhpFlmxlNq6DLKRdiQGa7beFSEaA-_17oiw,2300
7
- uipath_langchain/_cli/_templates/langgraph.json.template,sha256=eeh391Gta_hoRgaNaZ58nW1LNvCVXA7hlAH6l7Veous,107
8
- uipath_langchain/_cli/_templates/main.py.template,sha256=GpSblGH2hwS9ibqQmX2iB2nsmOA5zDfEEF4ChLiMxbQ,875
9
- uipath_langchain/_resources/AGENTS.md,sha256=5VmIfaQ6H91VxInnxFmJklURXeWIIQpGQTYBEmvvoVA,1060
10
- uipath_langchain/_resources/REQUIRED_STRUCTURE.md,sha256=BRmWWFtM0qNXj5uumALVxq9h6pifJDGh5NzuyctuH1Q,2569
11
- uipath_langchain/_tracing/__init__.py,sha256=C2dRvQ2ynxCmyICgE-rJHimWKEcFRME_o9gfX84Mb3Y,123
12
- uipath_langchain/_tracing/_instrument_traceable.py,sha256=cIxtDvlrPxVSZLOvpl571HxFO3wg7pNem4rLUuMI2Vg,4276
13
- uipath_langchain/_utils/__init__.py,sha256=-w-4TD9ZnJDCpj4VIPXhJciukrmDJJbmnOFnhAkAaEU,81
14
- uipath_langchain/_utils/_request_mixin.py,sha256=GvZruUGqL-8ykj9FK2XB5GFpkiV23nhfPKY1ozbguLA,30924
15
- uipath_langchain/_utils/_settings.py,sha256=RMVVOdskShghz6mNLmXhHMmdwOiceAYDe8C_qPKedSk,3071
16
- uipath_langchain/_utils/_sleep_policy.py,sha256=e9pHdjmcCj4CVoFM1jMyZFelH11YatsgWfpyrfXzKBQ,1251
17
- uipath_langchain/agent/exceptions/__init__.py,sha256=GFh8mtsoKYghTHe93rRbIycWOW8dPt0okQjZuc2N-Hc,158
18
- uipath_langchain/agent/exceptions/exceptions.py,sha256=G7LdeQ9uMljLGTlixWBHvNJ1ULtUIDIkzApjfbsF6_0,216
19
- uipath_langchain/agent/guardrails/__init__.py,sha256=gWxPFhbxqiBM6phdYeuR2EMVb-qwB71Ny16SzNAQ5kw,610
20
- uipath_langchain/agent/guardrails/guardrail_nodes.py,sha256=qXOnOfXsMY8hHoHzejjQfppuLTk8OsC1vyL98uNodJw,5467
21
- uipath_langchain/agent/guardrails/guardrails_factory.py,sha256=gkOkNO5uyhNBt1y7j4V3Ao-u1fh1gpTji3-N2bRS_l4,2248
22
- uipath_langchain/agent/guardrails/guardrails_subgraph.py,sha256=o38vdDS15LJmXY6FZ0wVHFBHQPm-zFRViG40Xoq9H70,9817
23
- uipath_langchain/agent/guardrails/types.py,sha256=Z5TS6EHnaanie3s1yfGhE4JXoFKuu01ESsbeFbbPie4,561
24
- uipath_langchain/agent/guardrails/actions/__init__.py,sha256=PiE5Eb39JYWrQG481aREV2I0tNMPEi7VtChBy7ZJqcc,253
25
- uipath_langchain/agent/guardrails/actions/base_action.py,sha256=89POG1KQ0x1KPXKP8jT42M04SYoizp5E_co2-Ykq8gc,710
26
- uipath_langchain/agent/guardrails/actions/block_action.py,sha256=RZPF6xxFqs4G2OByBrE7V5nBdPIsb3AyMl-r-lf95yE,1367
27
- uipath_langchain/agent/guardrails/actions/escalate_action.py,sha256=BM04L7b0pVG5UOVi9ZA6U2TOMBf_UtpKl278i4TAMHk,18569
28
- uipath_langchain/agent/guardrails/actions/log_action.py,sha256=mA9qIMErZ7tnkDwGKGY9Q7gh55qiL5C6kn1-ljOGGtU,1961
29
- uipath_langchain/agent/react/__init__.py,sha256=BhRWUMZ9yLtBr7SyRwS-XMKG9o84DROyedCMpE6j1RU,362
30
- uipath_langchain/agent/react/agent.py,sha256=w--Mu9ZD9P-f4yXeZHTtAwtcDDgRhxCI28pbs215aDw,4002
31
- uipath_langchain/agent/react/constants.py,sha256=B2yqryh242DETslaRYacUPbVdpjvvApjsBira_qhQwk,61
32
- uipath_langchain/agent/react/init_node.py,sha256=plhyTecBOBsm-YHfi73ZN3pJhe24tpCMr53IfRzN6SA,566
33
- uipath_langchain/agent/react/llm_node.py,sha256=4q8JcAwzELyyBaYTaFtx5HP9neq_5UolfFsuqsh4pso,1468
34
- uipath_langchain/agent/react/router.py,sha256=yEKTa8tAeZnDxh_7AsJRBmg7Ygb7mSk0b0g0gPrvTI8,3616
35
- uipath_langchain/agent/react/terminate_node.py,sha256=G2k2xMgocfNC13RjF9A2Kea6KiPINmdnxiZHQCS_fAY,2734
36
- uipath_langchain/agent/react/types.py,sha256=Mr1LYP6pUwDdxZYdtwtmcic4w8RcMGkXSqm6BJon7QQ,909
37
- uipath_langchain/agent/react/utils.py,sha256=HVaTdEdARIbGhQ2hA1kWdacmtOERYipKiqaLmu06usA,1278
38
- uipath_langchain/agent/react/tools/__init__.py,sha256=LGfG8Dc32ffKdXQyMI2oYzhNnTs1wbzsddXz6eU-0MY,102
39
- uipath_langchain/agent/react/tools/tools.py,sha256=vFBGnFrGocX__sotKisMJr2lxRRVqA0-uThzzhPADIw,1443
40
- uipath_langchain/agent/tools/__init__.py,sha256=4QVwzP8gFM8pPJwRsJIIVElPOrQLeGzhue-zv4aVCtM,464
41
- uipath_langchain/agent/tools/context_tool.py,sha256=oPvMVNxeb5q6xVlSScvMGcpT1wOUlFGOwsnFoP_dbuE,1772
42
- uipath_langchain/agent/tools/escalation_tool.py,sha256=VYNUEjfNMw3k2ESWMtn3RZ66WYRJcBvXpQaGzMXWCSw,3819
43
- uipath_langchain/agent/tools/integration_tool.py,sha256=EcCJ2g6NyyJj6sQeVyzLY1JL3sAtTAWu2dwVvWOkHgo,6555
44
- uipath_langchain/agent/tools/process_tool.py,sha256=3RkqqeXzmm8mSNaesEQKST1SvB8UEl2H69Qyh0lBv1c,1696
45
- uipath_langchain/agent/tools/static_args.py,sha256=_bS-ENdVNxSQ74fi6H0bk7FG9QVZTqitM6es3eLsGq4,4521
46
- uipath_langchain/agent/tools/structured_tool_with_output_type.py,sha256=9EZB1WlVt7FFBf20jX3Av9vJf9MaDNCnKLUhMBIrtLQ,354
47
- uipath_langchain/agent/tools/tool_factory.py,sha256=o0bd_IMIIsVc0d6gODf3Lk-yiG6eXC9o9NYMgumY4GI,1419
48
- uipath_langchain/agent/tools/tool_node.py,sha256=TnXsjoShvhsoBuV5RoUVoJCc2zYPKSnJYSC9MGJoeOk,707
49
- uipath_langchain/agent/tools/utils.py,sha256=DsFeZ7kDzFaZ0bGHQN6TlGMJ90wYr7P1Vo1rpHPHWws,401
50
- uipath_langchain/chat/__init__.py,sha256=fAoK-hKuShWDV9tbinJU9TSKRBG2wQQwK3UKZTAyMVM,254
51
- uipath_langchain/chat/bedrock.py,sha256=eonXWnGh3m9cmMifP49fnXsjmrRQLd3Wda5fFa11568,5863
52
- uipath_langchain/chat/mapper.py,sha256=XsWFbg6U4kW5Yj_ANvYUZ4HICybHcv9qWdfPPU8UTKA,11950
53
- uipath_langchain/chat/models.py,sha256=cbIRw-YhEvQcgt0DVTHc84lKIjeDhsQo5oxvBz9luD0,18168
54
- uipath_langchain/chat/openai.py,sha256=iZWRFbFGPJo0rgjIL1uGytGgvlYHzYQvuoIgyltOz98,4689
55
- uipath_langchain/chat/supported_models.py,sha256=KrTO8rex8sjC2NVUnuDoLLvz__ROKtxEtCXSk1xXTOU,1373
56
- uipath_langchain/chat/vertex.py,sha256=y68TrwJwWewkSNdv_smP9JzCQ9hvJw5o6tYVLV-_9wE,9261
57
- uipath_langchain/embeddings/__init__.py,sha256=QICtYB58ZyqFfDQrEaO8lTEgAU5NuEKlR7iIrS0OBtc,156
58
- uipath_langchain/embeddings/embeddings.py,sha256=MGUtnT0pkj97IjHKhROSd786g3ONwwkjgfQBSq3ayhc,6888
59
- uipath_langchain/retrievers/__init__.py,sha256=rOn7PyyHgZ4pMnXWPkGqmuBmx8eGuo-Oyndo7Wm9IUU,108
60
- uipath_langchain/retrievers/context_grounding_retriever.py,sha256=eVDt49dcyBVM8wgBn5FmaXK8gfgsOaNBC8tYnebiQeQ,2201
61
- uipath_langchain/runtime/__init__.py,sha256=h4pDyPy8kAYWvSohG3qFmx-bTVTIj1spbMqc7kO674E,1017
62
- uipath_langchain/runtime/_serialize.py,sha256=ySdQrz4I-7V068_lOYgL6lD41wRg31_Ot6gAetcWaCw,1255
63
- uipath_langchain/runtime/config.py,sha256=Jh4B47EUnDjWpV7gsPNzwWeFhlgjOHgdlOkJB64BVpc,1828
64
- uipath_langchain/runtime/errors.py,sha256=iepiILaDtanusvyYBQSRsPDmKB-6GB94OXKATwI8dqY,1335
65
- uipath_langchain/runtime/factory.py,sha256=_fbYViNg6uuApUZiEJjYHQU2noH5dqFBTXWEPy-Oj_k,11043
66
- uipath_langchain/runtime/graph.py,sha256=1h_eaXkyN0G43BS0WUMoK_UNDao8jrmcyJqGVgwVEjM,5513
67
- uipath_langchain/runtime/runtime.py,sha256=cK7hewu6Mv8rQbUir03JgPUgv-zqVtYQ1YOfoMLB89I,16904
68
- uipath_langchain/runtime/schema.py,sha256=mzMnxKtRvREGEzmLyAYX3sSYLJTz6xIZe63u6Z6dPNs,13392
69
- uipath_langchain/runtime/storage.py,sha256=Vem6kz0yGIUgIhTByzguvNOkb6N40b_ba8jcbjGo_eY,3954
70
- uipath_langchain/vectorstores/__init__.py,sha256=w8qs1P548ud1aIcVA_QhBgf_jZDrRMK5Lono78yA8cs,114
71
- uipath_langchain/vectorstores/context_grounding_vectorstore.py,sha256=SfRvIenOzn4r7jng_I9GIyknyeDx2hdW63O1rZY-ZLQ,8407
72
- uipath_langchain-0.1.28.dist-info/METADATA,sha256=rpoHmCK1gULm42RORNwYclg1fapZEA9M6_AbqDhSizo,5818
73
- uipath_langchain-0.1.28.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
74
- uipath_langchain-0.1.28.dist-info/entry_points.txt,sha256=Wptt1FbvhcDzNQxDlu2Lt1ngBOdDIFPlM1p8WzXf6wQ,171
75
- uipath_langchain-0.1.28.dist-info/licenses/LICENSE,sha256=JDpt-uotAkHFmxpwxi6gwx6HQ25e-lG4U_Gzcvgp7JY,1063
76
- uipath_langchain-0.1.28.dist-info/RECORD,,