langchain-agentx-python 2.2.6__py3-none-any.whl → 2.2.7__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.
- langchain_agentx/__init__.py +1 -1
- langchain_agentx/tool_runtime/outer_permission_resolver.py +1 -1
- langchain_agentx/tool_runtime/pipeline.py +46 -82
- langchain_agentx/tool_runtime/prompt/__init__.py +2 -0
- langchain_agentx/tool_runtime/prompt/types.py +16 -3
- langchain_agentx/tools/ask_user_question/tool.py +7 -4
- {langchain_agentx_python-2.2.6.dist-info → langchain_agentx_python-2.2.7.dist-info}/METADATA +1 -1
- {langchain_agentx_python-2.2.6.dist-info → langchain_agentx_python-2.2.7.dist-info}/RECORD +11 -11
- {langchain_agentx_python-2.2.6.dist-info → langchain_agentx_python-2.2.7.dist-info}/LICENSE +0 -0
- {langchain_agentx_python-2.2.6.dist-info → langchain_agentx_python-2.2.7.dist-info}/WHEEL +0 -0
- {langchain_agentx_python-2.2.6.dist-info → langchain_agentx_python-2.2.7.dist-info}/top_level.txt +0 -0
langchain_agentx/__init__.py
CHANGED
|
@@ -10,7 +10,7 @@ outer_permission_resolver.py — 段 6 outer 裁决(GAP-3)
|
|
|
10
10
|
PermissionOrchestrator._resolve_outer
|
|
11
11
|
|
|
12
12
|
当前裁剪范围:
|
|
13
|
-
不调用 L3 UI;AskUserQuestion gather
|
|
13
|
+
不调用 L3 UI;AskUserQuestion gather ask 经 RUI 保留后由 pipeline L3 处理。
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
16
|
from __future__ import annotations
|
|
@@ -31,8 +31,10 @@ runtime/pipeline.py — 工具执行管道与输出大小管控
|
|
|
31
31
|
IdenticalCallMemo;命中则直接返回带 Hint 的 ToolResultEnvelope(不执行 invoke),
|
|
32
32
|
作为“软提示防重复”策略的执行层硬约束替代。
|
|
33
33
|
|
|
34
|
-
AskUserQuestion
|
|
35
|
-
|
|
34
|
+
AskUserQuestion(CC L3):
|
|
35
|
+
无 answers 时 L1 ask → 进 ``_handle_l3_ask``(不再 pending envelope 短路);
|
|
36
|
+
handler 经 ``updated_input`` 注入 answers[+annotations] 后唯一 invoke;
|
|
37
|
+
`truncate_if_needed` 之后发 `ask_user_question_completed`。
|
|
36
38
|
"""
|
|
37
39
|
|
|
38
40
|
from __future__ import annotations
|
|
@@ -77,7 +79,9 @@ from .denial_tracking_bridge import (
|
|
|
77
79
|
record_l3_response,
|
|
78
80
|
suppression_observability_events,
|
|
79
81
|
)
|
|
82
|
+
from .messages import INTERRUPT_MESSAGE_FOR_TOOL_USE
|
|
80
83
|
from .prompt import (
|
|
84
|
+
DecisionReasonType,
|
|
81
85
|
HeadlessPromptHandler,
|
|
82
86
|
LegacyResolverPromptHandler,
|
|
83
87
|
PermissionUpdate,
|
|
@@ -126,41 +130,6 @@ def _as_run_result(
|
|
|
126
130
|
_ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion"
|
|
127
131
|
|
|
128
132
|
|
|
129
|
-
def _try_envelope_pending_user_questions_gather(
|
|
130
|
-
*,
|
|
131
|
-
tool: RuntimeTool,
|
|
132
|
-
auth: AuthorizationDecision,
|
|
133
|
-
headless: bool,
|
|
134
|
-
) -> ToolResultEnvelope | None:
|
|
135
|
-
"""
|
|
136
|
-
AskUserQuestion:run_l1 / evaluate_permission 以 behavior=ask + metadata.gather_tool 表达「待 UI 收集答案」。
|
|
137
|
-
在 sync/async pipeline 中于默认 ask→blocked 之前短路,返回 ok envelope(payload 含 questions)。
|
|
138
|
-
"""
|
|
139
|
-
md = auth.metadata or {}
|
|
140
|
-
if md.get("gather_tool") != tool.name:
|
|
141
|
-
return None
|
|
142
|
-
if headless:
|
|
143
|
-
return blocked_envelope(
|
|
144
|
-
tool.name,
|
|
145
|
-
"AskUserQuestion requires interactive mode.",
|
|
146
|
-
policy_id="ask_user_question_headless",
|
|
147
|
-
)
|
|
148
|
-
return ToolResultEnvelope(
|
|
149
|
-
status="ok",
|
|
150
|
-
tool_name=tool.name,
|
|
151
|
-
summary=auth.ask_prompt or auth.message or "Answer questions?",
|
|
152
|
-
payload={
|
|
153
|
-
"pending_user_questions": True,
|
|
154
|
-
"questions": md.get("questions"),
|
|
155
|
-
},
|
|
156
|
-
meta={
|
|
157
|
-
"gather_tool": tool.name,
|
|
158
|
-
"permission": "pending_user_questions",
|
|
159
|
-
"policy_id": auth.policy_id,
|
|
160
|
-
},
|
|
161
|
-
)
|
|
162
|
-
|
|
163
|
-
|
|
164
133
|
def _emit_ask_user_question_analytics(
|
|
165
134
|
*,
|
|
166
135
|
tool: RuntimeTool,
|
|
@@ -173,9 +142,6 @@ def _emit_ask_user_question_analytics(
|
|
|
173
142
|
return
|
|
174
143
|
if envelope.status != "ok":
|
|
175
144
|
return
|
|
176
|
-
meta_out = envelope.meta or {}
|
|
177
|
-
if meta_out.get("permission") == "pending_user_questions":
|
|
178
|
-
return
|
|
179
145
|
collector = ctx.trace_collector
|
|
180
146
|
session_id = ctx.trace_emit_session_id
|
|
181
147
|
if collector is None or not isinstance(session_id, str) or not session_id.strip():
|
|
@@ -763,26 +729,6 @@ class ToolExecutorPipeline:
|
|
|
763
729
|
)
|
|
764
730
|
return _as_run_result(env, parsed_input=parsed_data, ctx=ctx)
|
|
765
731
|
if auth.behavior == "ask":
|
|
766
|
-
gather = _try_envelope_pending_user_questions_gather(
|
|
767
|
-
tool=tool, auth=auth, headless=self._headless
|
|
768
|
-
)
|
|
769
|
-
if gather is not None:
|
|
770
|
-
self._attach_runtime_observability(
|
|
771
|
-
gather,
|
|
772
|
-
ctx=ctx,
|
|
773
|
-
events=[
|
|
774
|
-
{
|
|
775
|
-
"event": "permission_checked",
|
|
776
|
-
"behavior": "pending_user_questions",
|
|
777
|
-
"policy_id": auth.policy_id,
|
|
778
|
-
},
|
|
779
|
-
],
|
|
780
|
-
decision_trace=(auth.metadata or {}).get("decision_trace"),
|
|
781
|
-
)
|
|
782
|
-
final_g = self._output_manager.truncate_if_needed(
|
|
783
|
-
gather, tool, ctx.tool_call_id
|
|
784
|
-
)
|
|
785
|
-
return _as_run_result(final_g, parsed_input=parsed_data, ctx=ctx)
|
|
786
732
|
logger.warning(
|
|
787
733
|
"tool permission requires ask tool=%s headless=%s policy_id=%s",
|
|
788
734
|
tool.name,
|
|
@@ -960,26 +906,6 @@ class ToolExecutorPipeline:
|
|
|
960
906
|
)
|
|
961
907
|
return _as_run_result(env, parsed_input=parsed_data, ctx=ctx)
|
|
962
908
|
if auth.behavior == "ask":
|
|
963
|
-
gather = _try_envelope_pending_user_questions_gather(
|
|
964
|
-
tool=tool, auth=auth, headless=self._headless
|
|
965
|
-
)
|
|
966
|
-
if gather is not None:
|
|
967
|
-
self._attach_runtime_observability(
|
|
968
|
-
gather,
|
|
969
|
-
ctx=ctx,
|
|
970
|
-
events=[
|
|
971
|
-
{
|
|
972
|
-
"event": "permission_checked",
|
|
973
|
-
"behavior": "pending_user_questions",
|
|
974
|
-
"policy_id": auth.policy_id,
|
|
975
|
-
},
|
|
976
|
-
],
|
|
977
|
-
decision_trace=(auth.metadata or {}).get("decision_trace"),
|
|
978
|
-
)
|
|
979
|
-
final_g = self._output_manager.truncate_if_needed(
|
|
980
|
-
gather, tool, ctx.tool_call_id
|
|
981
|
-
)
|
|
982
|
-
return _as_run_result(final_g, parsed_input=parsed_data, ctx=ctx)
|
|
983
909
|
logger.warning(
|
|
984
910
|
"tool permission requires ask tool=%s headless=%s policy_id=%s",
|
|
985
911
|
tool.name,
|
|
@@ -1125,6 +1051,12 @@ class ToolExecutorPipeline:
|
|
|
1125
1051
|
ctx: ToolExecutionContext,
|
|
1126
1052
|
auth: AuthorizationDecision,
|
|
1127
1053
|
) -> PromptRequest:
|
|
1054
|
+
md = auth.metadata or {}
|
|
1055
|
+
is_gather = md.get("gather_tool") == tool.name
|
|
1056
|
+
questions = md.get("questions") if is_gather else None
|
|
1057
|
+
if is_gather and questions is None:
|
|
1058
|
+
raw_q = parsed_data.get("questions")
|
|
1059
|
+
questions = raw_q if isinstance(raw_q, list) else None
|
|
1128
1060
|
return PromptRequest(
|
|
1129
1061
|
tool_name=tool.name,
|
|
1130
1062
|
input_data=parsed_data,
|
|
@@ -1135,6 +1067,8 @@ class ToolExecutorPipeline:
|
|
|
1135
1067
|
suggestions=self._suggestions_from_auth(auth),
|
|
1136
1068
|
headless=False,
|
|
1137
1069
|
session_headless=self._headless,
|
|
1070
|
+
interaction_kind="gather" if is_gather else "permission",
|
|
1071
|
+
questions=questions if isinstance(questions, list) else None,
|
|
1138
1072
|
)
|
|
1139
1073
|
|
|
1140
1074
|
def _maybe_suppress_l3_ask(
|
|
@@ -1319,21 +1253,51 @@ class ToolExecutorPipeline:
|
|
|
1319
1253
|
)
|
|
1320
1254
|
|
|
1321
1255
|
if resp.behavior == "deny":
|
|
1256
|
+
reason = resp.decision_reason
|
|
1257
|
+
is_cancel = (
|
|
1258
|
+
reason is not None and reason.type == DecisionReasonType.USER_ABORT
|
|
1259
|
+
)
|
|
1260
|
+
is_gather = (auth.metadata or {}).get("gather_tool") == tool.name
|
|
1261
|
+
if is_cancel:
|
|
1262
|
+
msg = resp.message or resp.reason or INTERRUPT_MESSAGE_FOR_TOOL_USE
|
|
1263
|
+
behavior_evt = "ask_cancelled_by_user"
|
|
1264
|
+
extra_meta = {
|
|
1265
|
+
"l3_outcome": "cancel",
|
|
1266
|
+
"source_status": "interrupted",
|
|
1267
|
+
"error_kind": "aborted",
|
|
1268
|
+
}
|
|
1269
|
+
else:
|
|
1270
|
+
if is_gather:
|
|
1271
|
+
msg = (
|
|
1272
|
+
resp.message
|
|
1273
|
+
or resp.reason
|
|
1274
|
+
or "User declined to answer questions."
|
|
1275
|
+
)
|
|
1276
|
+
else:
|
|
1277
|
+
msg = (
|
|
1278
|
+
resp.message
|
|
1279
|
+
or resp.reason
|
|
1280
|
+
or auth.ask_prompt
|
|
1281
|
+
or "User rejected the operation."
|
|
1282
|
+
)
|
|
1283
|
+
behavior_evt = "ask_rejected_by_resolver"
|
|
1284
|
+
extra_meta = {"l3_outcome": "decline"}
|
|
1322
1285
|
env = attach_permission_tool_input(
|
|
1323
1286
|
blocked_envelope(
|
|
1324
1287
|
tool.name,
|
|
1325
|
-
|
|
1288
|
+
msg,
|
|
1326
1289
|
policy_id=auth.policy_id,
|
|
1327
1290
|
),
|
|
1328
1291
|
parsed_data,
|
|
1329
1292
|
)
|
|
1293
|
+
env.meta = {**(env.meta or {}), **extra_meta}
|
|
1330
1294
|
attach_denial_tracking_meta(env, tool, ctx, auth)
|
|
1331
1295
|
self._attach_runtime_observability(
|
|
1332
1296
|
env,
|
|
1333
1297
|
ctx=ctx,
|
|
1334
1298
|
events=[
|
|
1335
1299
|
self._permission_checked_event(
|
|
1336
|
-
|
|
1300
|
+
behavior_evt,
|
|
1337
1301
|
auth.policy_id,
|
|
1338
1302
|
parsed_data,
|
|
1339
1303
|
decision_source=resp.decision_source.value,
|
|
@@ -16,6 +16,7 @@ from .race import HitlRaceCoordinator, PromptBranch, PromptClassifier
|
|
|
16
16
|
from .types import (
|
|
17
17
|
DecisionReason,
|
|
18
18
|
DecisionReasonType,
|
|
19
|
+
InteractionKind,
|
|
19
20
|
PermissionUpdate,
|
|
20
21
|
PromptDecisionSource,
|
|
21
22
|
PromptRequest,
|
|
@@ -26,6 +27,7 @@ __all__ = [
|
|
|
26
27
|
"PermissionPromptHandler",
|
|
27
28
|
"DecisionReason",
|
|
28
29
|
"DecisionReasonType",
|
|
30
|
+
"InteractionKind",
|
|
29
31
|
"PermissionUpdate",
|
|
30
32
|
"PromptDecisionSource",
|
|
31
33
|
"PromptRequest",
|
|
@@ -4,12 +4,15 @@ prompt/types.py — L3 HITL 数据契约
|
|
|
4
4
|
职责:
|
|
5
5
|
PromptRequest / PromptResponse 与 PermissionUpdate、PromptDecisionSource。
|
|
6
6
|
L2 ask 决策打包为 PromptRequest,L3 产出二态 PromptResponse。
|
|
7
|
+
AskUser gather:interaction_kind=gather;updated_input 可含 answers[+annotations]。
|
|
7
8
|
|
|
8
9
|
链路位置:
|
|
9
|
-
ToolExecutorPipeline ask 分支 → PermissionPromptHandler.handle
|
|
10
|
+
ToolExecutorPipeline ask 分支 → PermissionPromptHandler.handle。
|
|
10
11
|
|
|
11
12
|
当前裁剪:
|
|
12
|
-
PermissionUpdate 为 CC addRules/replaceRules 等的最小 Python
|
|
13
|
+
PermissionUpdate 为 CC addRules/replaceRules 等的最小 Python 镜像。
|
|
14
|
+
A2:cancel=USER_ABORT / decline=USER_REJECT;reject_with_feedback=P1。
|
|
15
|
+
A3:图片 contentBlocks 旁路未建模。
|
|
13
16
|
"""
|
|
14
17
|
|
|
15
18
|
from __future__ import annotations
|
|
@@ -28,6 +31,8 @@ from .messages import (
|
|
|
28
31
|
)
|
|
29
32
|
from ..messages import REJECT_MESSAGE, SUBAGENT_REJECT_MESSAGE
|
|
30
33
|
|
|
34
|
+
InteractionKind = Literal["gather", "permission"]
|
|
35
|
+
|
|
31
36
|
|
|
32
37
|
class PromptDecisionSource(StrEnum):
|
|
33
38
|
"""L3 决议来源,对齐 CC decisionReason.type。"""
|
|
@@ -108,11 +113,19 @@ class PromptRequest:
|
|
|
108
113
|
display_label: str | None = None
|
|
109
114
|
"""UI 短摘要;来自 tool.summary_for_ui_call()。None 时 L3 fallback tool_name。"""
|
|
110
115
|
suggestions: tuple[PermissionUpdate, ...] = field(default_factory=tuple)
|
|
116
|
+
interaction_kind: InteractionKind = "permission"
|
|
117
|
+
"""permission=Allow/Deny;gather=AskUser Q→A(对 CC AskUserQuestionPermissionRequest)。"""
|
|
118
|
+
questions: list[Any] | None = None
|
|
119
|
+
"""gather 时的问题列表(常来自 auth.metadata.questions);permission 为 None。"""
|
|
111
120
|
|
|
112
121
|
|
|
113
122
|
@dataclass(frozen=True)
|
|
114
123
|
class PromptResponse:
|
|
115
|
-
"""L3 → Pipeline 出参;behavior 仅 allow/deny。
|
|
124
|
+
"""L3 → Pipeline 出参;behavior 仅 allow/deny。
|
|
125
|
+
|
|
126
|
+
allow 时 ``updated_input`` 可含 answers 与可选 annotations(A1)。
|
|
127
|
+
deny 时用 ``decision_reason.type`` 区分 cancel(USER_ABORT)与 decline(USER_REJECT)(A2 MVP)。
|
|
128
|
+
"""
|
|
116
129
|
|
|
117
130
|
behavior: Literal["allow", "deny"]
|
|
118
131
|
decision_source: PromptDecisionSource
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
tools/ask_user_question/tool.py — AskUserQuestionTool
|
|
3
3
|
|
|
4
4
|
职责:
|
|
5
|
-
CC AskUserQuestion 对齐:normalize → validate →
|
|
5
|
+
CC AskUserQuestion 对齐:normalize → validate → L1 ask(无 answers)→
|
|
6
|
+
L3 注入 answers[+annotations] → invoke → present。
|
|
6
7
|
|
|
7
8
|
链路位置:
|
|
8
|
-
ToolRuntimeLoader.register_default_tools;pipeline 对
|
|
9
|
+
ToolRuntimeLoader.register_default_tools;pipeline 对 gather ask 走
|
|
10
|
+
``_handle_l3_ask``(不再 pending envelope 短路)。
|
|
9
11
|
|
|
10
12
|
当前裁剪范围:
|
|
11
|
-
v3:preview HTML
|
|
13
|
+
v3:preview HTML 校验、annotations、present 摘要;渠道禁用集合对齐 CC。
|
|
14
|
+
A3 图片 contentBlocks 旁路未做。
|
|
12
15
|
"""
|
|
13
16
|
|
|
14
17
|
from __future__ import annotations
|
|
@@ -40,7 +43,7 @@ from .prompt import (
|
|
|
40
43
|
)
|
|
41
44
|
from .validators import QuestionValidator
|
|
42
45
|
|
|
43
|
-
# AuthorizationDecision.metadata:
|
|
46
|
+
# AuthorizationDecision.metadata:L3 PromptRequest.interaction_kind=gather 识别键
|
|
44
47
|
GATHER_TOOL_META_KEY = "gather_tool"
|
|
45
48
|
|
|
46
49
|
# CC isEnabled:Telegram/Discord 等无 TUI 渠道
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
langchain_agentx/__init__.py,sha256=
|
|
1
|
+
langchain_agentx/__init__.py,sha256=u163iBLScsjUuLfV2YYL3tProAOl3aRQEK1lyYmWoJA,1614
|
|
2
2
|
langchain_agentx/command/__init__.py,sha256=Ej260S5uFQcmEtGZQG_NH7BYjHoStrpBLtGUsBTxyZk,631
|
|
3
3
|
langchain_agentx/command/allowed_tools.py,sha256=TVA0VM8rm98H-QbLK_GRiX5RhEAZFxKawliMi4kk96A,3359
|
|
4
4
|
langchain_agentx/command/context.py,sha256=DIGOGPBw5UGDBm0WNNJlKx1h_9rCRmcdROv4DT61Qug,731
|
|
@@ -411,7 +411,7 @@ langchain_agentx/tool_runtime/loop_loader.py,sha256=C_4T9XxlDmKaTzGv4MO6mJuR-rd6
|
|
|
411
411
|
langchain_agentx/tool_runtime/loop_runtime_context.py,sha256=HBZMdtKD7MpU8o7JmURFZGPTfxr2aFFlFF2nBZR_n8s,3613
|
|
412
412
|
langchain_agentx/tool_runtime/messages.py,sha256=Fp-ZiLAbOQAQa8uIv-owE8PXtWyhpYSXxtzy3PVbKSw,3631
|
|
413
413
|
langchain_agentx/tool_runtime/models.py,sha256=cO9EgLKPXiktHl_xXtBwLQrCo6mj4tbT4WoPmuFLE0w,20345
|
|
414
|
-
langchain_agentx/tool_runtime/outer_permission_resolver.py,sha256=
|
|
414
|
+
langchain_agentx/tool_runtime/outer_permission_resolver.py,sha256=8uKS148DXxt5SfDIHmbRwee4FchKdlquUZbfWeyNRXw,4184
|
|
415
415
|
langchain_agentx/tool_runtime/override.py,sha256=D8TRftoeWzqlTuWCGUxNkFY7XzWx_d5oxI_ltNibqPA,10258
|
|
416
416
|
langchain_agentx/tool_runtime/path_safety.py,sha256=dUrl2SObKmRDwdm9k8veO_Eh0iXw0LPLAMZJGxeKnTE,8548
|
|
417
417
|
langchain_agentx/tool_runtime/permission_context.py,sha256=ReVV2kjVWAPTsPaYXxRB-dICqualEvi2zzwF8NX_Wkk,6229
|
|
@@ -422,7 +422,7 @@ langchain_agentx/tool_runtime/permission_rules.py,sha256=ev6-Hm3N8YtbJO3SLGpoGMU
|
|
|
422
422
|
langchain_agentx/tool_runtime/permission_settings_loader.py,sha256=Xu6dso0ghh4pb7Puf8nj20nXxjGeQvL4kIGycavwG_o,5624
|
|
423
423
|
langchain_agentx/tool_runtime/permission_settings_sync.py,sha256=g6TvjWwa7D0kw5rDznPsoMv7xylESPOyWA2vZW4HDm0,4590
|
|
424
424
|
langchain_agentx/tool_runtime/permission_snapshot.py,sha256=xFoi9fIcZjSw_zrIoyglneM-vJsDOLCEjiVoazr5Ack,1947
|
|
425
|
-
langchain_agentx/tool_runtime/pipeline.py,sha256=
|
|
425
|
+
langchain_agentx/tool_runtime/pipeline.py,sha256=cNC8FzeBtfNo8I02wXsaBbbpwxbVXu67eRnr_OfEU3Y,53104
|
|
426
426
|
langchain_agentx/tool_runtime/policy.py,sha256=PLk_-5wu69_Gjqig0pj71brcu6VfLvGSIHsAUHOiYIQ,30068
|
|
427
427
|
langchain_agentx/tool_runtime/policy_decorator.py,sha256=XWbgh_TRlPJ-J-RFo1FKjIN_n_Z9rtLTfSwBQoyLTTg,2264
|
|
428
428
|
langchain_agentx/tool_runtime/process_loader.py,sha256=1YMn6ntnpdbIHJbO7wF1xuz7gNKYxK0UJAOxq96dZX4,6166
|
|
@@ -475,7 +475,7 @@ langchain_agentx/tool_runtime/execution/appliers/stubs.py,sha256=B4FaJX63uXpOcKR
|
|
|
475
475
|
langchain_agentx/tool_runtime/progress/__init__.py,sha256=iMp-7s8G9_fELXJLPY1sWqpHYqpvtmUyNU3KinJgc5w,727
|
|
476
476
|
langchain_agentx/tool_runtime/progress/event.py,sha256=tM-lvqhs6435pjVW4BjP9vb2Ryuuvwo6CmtybVD8juk,2711
|
|
477
477
|
langchain_agentx/tool_runtime/progress/sampler.py,sha256=FqJWaYAIBj4xC40qHVkG1MrHHwirZ5rd-I5vnmgmGh8,5362
|
|
478
|
-
langchain_agentx/tool_runtime/prompt/__init__.py,sha256=
|
|
478
|
+
langchain_agentx/tool_runtime/prompt/__init__.py,sha256=bLtNsq8iDMvF9tkwLpBKTJ9Y6iWAfdvsqhOz_u5UvvM,1167
|
|
479
479
|
langchain_agentx/tool_runtime/prompt/_abort.py,sha256=z9LFN6e067ptsfR571liagkHiQnauoksfMbpoRUIXfo,1568
|
|
480
480
|
langchain_agentx/tool_runtime/prompt/cli_interactive.py,sha256=3_Uyzu5FeOOCNOC7SvrZr7qalGaCxMbqpiGTyCeZscw,5898
|
|
481
481
|
langchain_agentx/tool_runtime/prompt/handler.py,sha256=t7TQkBiyPESf6uTBDikmu2iZVPmUmsqH7dO-NZypzdQ,570
|
|
@@ -484,7 +484,7 @@ langchain_agentx/tool_runtime/prompt/legacy_resolver_adapter.py,sha256=wFMSSaJrO
|
|
|
484
484
|
langchain_agentx/tool_runtime/prompt/messages.py,sha256=IYkQPRSHTW87pZ6u31phWX45ooAG0cqn3OnZ4UyJPOU,1569
|
|
485
485
|
langchain_agentx/tool_runtime/prompt/race.py,sha256=kNNHxP1CLI3ysVx8T0i8UM_ya190837bSngJYhEsTP4,11326
|
|
486
486
|
langchain_agentx/tool_runtime/prompt/session_mode.py,sha256=kt_8BxPzoBQmeGbZBvl2ih6n_--4NDjTgK0D2kMryV4,2714
|
|
487
|
-
langchain_agentx/tool_runtime/prompt/types.py,sha256=
|
|
487
|
+
langchain_agentx/tool_runtime/prompt/types.py,sha256=mvPk6HSxKlngihpRnNut1VDbmKsAejHxCKvihzXIREA,5334
|
|
488
488
|
langchain_agentx/tool_runtime/resolvers/__init__.py,sha256=3nr1ouLHAF1O17Zfg1yKrZ5qAezDwRdVSWKN0lu-Iik,818
|
|
489
489
|
langchain_agentx/tool_runtime/resolvers/agent_session.py,sha256=ZcQga1itCTX2TgNoIaCfVzV20w7nQjSkgDYRU4AWHto,3855
|
|
490
490
|
langchain_agentx/tool_runtime/resolvers/background.py,sha256=gSdkP2GiPVr7eV00LRKoeQVgU4eUjbpKgmbNIHAeyUI,869
|
|
@@ -524,7 +524,7 @@ langchain_agentx/tools/ask_user_question/constants.py,sha256=vK5QraZBBVj7woW1TF0
|
|
|
524
524
|
langchain_agentx/tools/ask_user_question/html_preview.py,sha256=OwNpsH9qm8iJ-TTbzkMFvG49T4-oNJXJXH4OZ8r55wc,3913
|
|
525
525
|
langchain_agentx/tools/ask_user_question/models.py,sha256=uLc2UK_v8iMFEL1Zk0mUOBYdcg2HfbaLdH68o8kr7GE,3376
|
|
526
526
|
langchain_agentx/tools/ask_user_question/prompt.py,sha256=0RdVuUeNzQBzPeVrLcbiBqh1uizFgUANvaKOZpVy_qg,2803
|
|
527
|
-
langchain_agentx/tools/ask_user_question/tool.py,sha256=
|
|
527
|
+
langchain_agentx/tools/ask_user_question/tool.py,sha256=DgU7OBAqrJBb77ewQ76okoUFJxTThAiN6PRMPa8_FvU,13467
|
|
528
528
|
langchain_agentx/tools/ask_user_question/validators.py,sha256=gUYuuKJNrExWGvhFlmhqqSU8ax7s4EhXMvTEjapHeiY,5974
|
|
529
529
|
langchain_agentx/tools/bash/__init__.py,sha256=molPHFDylE2wWG_aQx7fb0ciAx3wWpdXzIixTZV5ne4,214
|
|
530
530
|
langchain_agentx/tools/bash/ast_security.py,sha256=6DFd_TwT986dbGkKT3UnDIZioBdmi8mbJcYSI-XEtdM,22444
|
|
@@ -761,8 +761,8 @@ langchain_agentx/workspace/root_grant_manager.py,sha256=W3gy8HTevbERbXqIgRcjzOXO
|
|
|
761
761
|
langchain_agentx/workspace/tool_boundary.py,sha256=UDwX6swpSLsx9HNkYuuRRiV5o7ZZG_Bru2Yn0c5kNX8,5724
|
|
762
762
|
langchain_agentx/workspace/validators.py,sha256=tQt-6TOcL8Fw7Ig5ebA9S7vGWh1rby920eFW6x8Tk9E,1439
|
|
763
763
|
langchain_agentx/workspace/view.py,sha256=PGasqTaqhlD03SXXazHuw4RHfV681AIdlsYqL70pEjc,4774
|
|
764
|
-
langchain_agentx_python-2.2.
|
|
765
|
-
langchain_agentx_python-2.2.
|
|
766
|
-
langchain_agentx_python-2.2.
|
|
767
|
-
langchain_agentx_python-2.2.
|
|
768
|
-
langchain_agentx_python-2.2.
|
|
764
|
+
langchain_agentx_python-2.2.7.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
765
|
+
langchain_agentx_python-2.2.7.dist-info/METADATA,sha256=hqm9pkU7FcAv244Gd1gPQyI1-A81Xf3uWQmi9YZq-Wg,24250
|
|
766
|
+
langchain_agentx_python-2.2.7.dist-info/WHEEL,sha256=51RkbunBAw4BWsgaQWTpPhg4Diwp3c9P5iaLk67Hdtg,92
|
|
767
|
+
langchain_agentx_python-2.2.7.dist-info/top_level.txt,sha256=Ge284pniNt8xea0OLk2o9o32GqVpDhOYk20fwE-0xxA,17
|
|
768
|
+
langchain_agentx_python-2.2.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{langchain_agentx_python-2.2.6.dist-info → langchain_agentx_python-2.2.7.dist-info}/top_level.txt
RENAMED
|
File without changes
|