From 10a6f357dd5d3523c37cde2e65dffc6c4a77f66f Mon Sep 17 00:00:00 2001 From: "cristiano.hoshikawa" Date: Mon, 31 Aug 2026 17:27:35 -0300 Subject: [PATCH] Conferencia de parametros coletados na transacao --- .../agent_framework/runtime/agent_runtime.py | 19 ++++++ .../__pycache__/__init__.cpython-313.pyc | Bin 411 -> 411 bytes .../__pycache__/extensions.cpython-313.pyc | Bin 2139 -> 2139 bytes .../__pycache__/idempotency.cpython-313.pyc | Bin 5695 -> 5695 bytes .../__pycache__/observer.cpython-313.pyc | Bin 17555 -> 17555 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 547 -> 547 bytes .../composite_publisher.cpython-313.pyc | Bin 2502 -> 2502 bytes .../__pycache__/event_builder.cpython-313.pyc | Bin 1260 -> 1260 bytes .../__pycache__/factory.cpython-313.pyc | Bin 3996 -> 3996 bytes .../__pycache__/publisher.cpython-313.pyc | Bin 1872 -> 1872 bytes .../tim_payload_mapper.cpython-313.pyc | Bin 9286 -> 9286 bytes .../__pycache__/tim_sequence.cpython-313.pyc | Bin 17561 -> 17561 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 514 -> 514 bytes .../__pycache__/kafka.cpython-313.pyc | Bin 1812 -> 1812 bytes .../__pycache__/langfuse.cpython-313.pyc | Bin 23172 -> 23172 bytes .../__pycache__/oci_streaming.cpython-313.pyc | Bin 1821 -> 1821 bytes .../__pycache__/pubsub.cpython-313.pyc | Bin 7440 -> 7440 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 403 -> 403 bytes .../usage_repository.cpython-313.pyc | Bin 15686 -> 15686 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 213 -> 213 bytes .../cache/__pycache__/cache.cpython-313.pyc | Bin 16523 -> 16523 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 216 -> 216 bytes .../__pycache__/adapters.cpython-313.pyc | Bin 4172 -> 4172 bytes .../channels/__pycache__/base.cpython-313.pyc | Bin 1796 -> 1796 bytes .../__pycache__/gateway.cpython-313.pyc | Bin 5771 -> 5771 bytes .../__pycache__/interruption.cpython-313.pyc | Bin 6456 -> 6456 bytes .../__pycache__/transcription.cpython-313.pyc | Bin 1429 -> 1429 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 923 -> 923 bytes .../checkpoint_repository.cpython-313.pyc | Bin 27163 -> 27163 bytes .../langgraph_saver.cpython-313.pyc | Bin 32222 -> 32222 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 214 -> 214 bytes .../agent_registry.cpython-313.pyc | Bin 6947 -> 6947 bytes .../__pycache__/settings.cpython-313.pyc | Bin 13789 -> 13789 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 306 -> 306 bytes .../mcp_gateway_client.cpython-313.pyc | Bin 3332 -> 3332 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1501 -> 1501 bytes .../__pycache__/base.cpython-313.pyc | Bin 1375 -> 1375 bytes .../__pycache__/config_loader.cpython-313.pyc | Bin 9160 -> 9160 bytes .../__pycache__/custom_rails.cpython-313.pyc | Bin 4404 -> 4404 bytes .../framework_llm_client.cpython-313.pyc | Bin 17783 -> 17783 bytes .../__pycache__/llm_rails.cpython-313.pyc | Bin 5923 -> 5923 bytes .../output_supervisor.cpython-313.pyc | Bin 24306 -> 24306 bytes .../parallel_executor.cpython-313.pyc | Bin 21862 -> 21862 bytes .../__pycache__/pipeline.cpython-313.pyc | Bin 10889 -> 10889 bytes .../__pycache__/rail_action.cpython-313.pyc | Bin 654 -> 654 bytes .../__pycache__/rail_decision.cpython-313.pyc | Bin 1605 -> 1605 bytes .../__pycache__/rail_result.cpython-313.pyc | Bin 1004 -> 1004 bytes .../__pycache__/rails.cpython-313.pyc | Bin 41639 -> 41639 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 2994 -> 2994 bytes .../__pycache__/_compat.cpython-313.pyc | Bin 2445 -> 2445 bytes .../contestation_validation.cpython-313.pyc | Bin 2177 -> 2177 bytes .../__pycache__/contracts.cpython-313.pyc | Bin 6901 -> 6901 bytes .../__pycache__/input_size.cpython-313.pyc | Bin 3649 -> 3649 bytes .../__pycache__/llm_adapter.cpython-313.pyc | Bin 3799 -> 3799 bytes .../__pycache__/llm_client.cpython-313.pyc | Bin 7338 -> 7454 bytes .../__pycache__/llm_rails.cpython-313.pyc | Bin 8894 -> 8894 bytes .../output_sanitization.cpython-313.pyc | Bin 13910 -> 13910 bytes .../__pycache__/pipeline.cpython-313.pyc | Bin 12661 -> 12661 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 473 -> 473 bytes .../__pycache__/_context.cpython-313.pyc | Bin 5871 -> 5871 bytes .../ausencia_oferta_proativa.cpython-313.pyc | Bin 11265 -> 11265 bytes .../__pycache__/coerencia.cpython-313.pyc | Bin 9485 -> 9485 bytes .../__pycache__/dlex_in.cpython-313.pyc | Bin 1304 -> 1304 bytes .../__pycache__/dlex_out.cpython-313.pyc | Bin 1815 -> 1815 bytes .../__pycache__/fallback.cpython-313.pyc | Bin 17652 -> 17652 bytes .../__pycache__/fraseologia.cpython-313.pyc | Bin 7633 -> 7633 bytes .../__pycache__/out_of_scope.cpython-313.pyc | Bin 17493 -> 17493 bytes .../prompts/__pycache__/pinj.cpython-313.pyc | Bin 8424 -> 8424 bytes .../__pycache__/ragsec.cpython-313.pyc | Bin 1120 -> 1120 bytes .../__pycache__/revprec.cpython-313.pyc | Bin 5411 -> 5411 bytes .../prompts/__pycache__/tox.cpython-313.pyc | Bin 644 -> 644 bytes .../toxicidade_output.cpython-313.pyc | Bin 928 -> 928 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1663 -> 1663 bytes .../rails/__pycache__/alcada.cpython-313.pyc | Bin 4999 -> 4999 bytes .../rails/__pycache__/anatel.cpython-313.pyc | Bin 9148 -> 9148 bytes .../__pycache__/confirmation.cpython-313.pyc | Bin 11042 -> 11042 bytes .../rails/__pycache__/dlex_in.cpython-313.pyc | Bin 3279 -> 3279 bytes .../__pycache__/dlex_out.cpython-313.pyc | Bin 3331 -> 3331 bytes .../rails/__pycache__/ragsec.cpython-313.pyc | Bin 5462 -> 5462 bytes .../rails/__pycache__/revprec.cpython-313.pyc | Bin 5470 -> 5470 bytes .../rails/__pycache__/tox.cpython-313.pyc | Bin 8293 -> 8293 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 533 -> 533 bytes .../rules/__pycache__/alcada.cpython-313.pyc | Bin 1881 -> 1881 bytes .../__pycache__/pinj_patterns.cpython-313.pyc | Bin 3730 -> 3730 bytes .../__pycache__/tox_blocklist.cpython-313.pyc | Bin 1506 -> 1506 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 408 -> 408 bytes .../__pycache__/mcp_mapper.cpython-313.pyc | Bin 4692 -> 4692 bytes .../__pycache__/models.cpython-313.pyc | Bin 3144 -> 3144 bytes .../__pycache__/resolver.cpython-313.pyc | Bin 4713 -> 4713 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 618 -> 618 bytes .../judges/__pycache__/judge.cpython-313.pyc | Bin 37576 -> 37576 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 225 -> 225 bytes .../__pycache__/llm_client.cpython-313.pyc | Bin 5404 -> 5404 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 233 -> 233 bytes .../prompts/__pycache__/aluc.cpython-313.pyc | Bin 6529 -> 6529 bytes .../prompts/__pycache__/csi.cpython-313.pyc | Bin 1332 -> 1332 bytes .../__pycache__/fallback.cpython-313.pyc | Bin 8035 -> 8035 bytes .../prompts/__pycache__/rqlt.cpython-313.pyc | Bin 1165 -> 1165 bytes .../prompts/__pycache__/vctn.cpython-313.pyc | Bin 626 -> 626 bytes .../llm/__pycache__/__init__.cpython-313.pyc | Bin 476 -> 476 bytes .../llm/__pycache__/base.cpython-313.pyc | Bin 1623 -> 1623 bytes .../profile_resolver.cpython-313.pyc | Bin 9322 -> 9322 bytes .../llm/__pycache__/providers.cpython-313.pyc | Bin 45052 -> 45439 bytes .../structured_output.cpython-313.pyc | Bin 7459 -> 7459 bytes .../llm/__pycache__/types.cpython-313.pyc | Bin 1274 -> 1274 bytes .../mcp/__pycache__/__init__.cpython-313.pyc | Bin 473 -> 473 bytes .../mcp/__pycache__/client.cpython-313.pyc | Bin 18426 -> 18426 bytes .../mcp/__pycache__/models.cpython-313.pyc | Bin 2136 -> 2136 bytes .../mcp/__pycache__/registry.cpython-313.pyc | Bin 4740 -> 4740 bytes .../__pycache__/tool_policy.cpython-313.pyc | Bin 5685 -> 5685 bytes .../__pycache__/tool_router.cpython-313.pyc | Bin 14189 -> 14189 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1135 -> 1135 bytes .../long_term_extractor.cpython-313.pyc | Bin 2513 -> 2513 bytes .../long_term_memory.cpython-313.pyc | Bin 6839 -> 6839 bytes .../long_term_models.cpython-313.pyc | Bin 1748 -> 1748 bytes .../long_term_store.cpython-313.pyc | Bin 29186 -> 29186 bytes .../message_history.cpython-313.pyc | Bin 8359 -> 8359 bytes .../summary_memory.cpython-313.pyc | Bin 12510 -> 12510 bytes .../__pycache__/summary_store.cpython-313.pyc | Bin 9520 -> 9520 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 214 -> 214 bytes .../__pycache__/identity.cpython-313.pyc | Bin 3465 -> 3465 bytes .../__pycache__/session.cpython-313.pyc | Bin 2708 -> 2708 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1394 -> 1394 bytes .../__pycache__/code_mapper.cpython-313.pyc | Bin 21447 -> 21447 bytes .../__pycache__/context.cpython-313.pyc | Bin 7386 -> 7386 bytes .../__pycache__/event_bus.cpython-313.pyc | Bin 3632 -> 3632 bytes .../guardrail_events.cpython-313.pyc | Bin 2050 -> 2050 bytes .../__pycache__/ic_events.cpython-313.pyc | Bin 625 -> 625 bytes .../__pycache__/judge_events.cpython-313.pyc | Bin 1410 -> 1410 bytes .../langgraph_telemetry.cpython-313.pyc | Bin 4963 -> 4963 bytes .../__pycache__/llm_advisors.cpython-313.pyc | Bin 2937 -> 2937 bytes .../__pycache__/noc_contract.cpython-313.pyc | Bin 5074 -> 5074 bytes .../__pycache__/noc_otel.cpython-313.pyc | Bin 6321 -> 6321 bytes .../__pycache__/observer.cpython-313.pyc | Bin 5104 -> 5104 bytes .../__pycache__/otel.cpython-313.pyc | Bin 3411 -> 3411 bytes .../streaming_events.cpython-313.pyc | Bin 1834 -> 1834 bytes .../__pycache__/telemetry.cpython-313.pyc | Bin 52427 -> 52427 bytes .../__pycache__/token_cost.cpython-313.pyc | Bin 8690 -> 8690 bytes .../workflow_events.cpython-313.pyc | Bin 3329 -> 3329 bytes .../oci/__pycache__/__init__.cpython-313.pyc | Bin 211 -> 211 bytes .../oci/__pycache__/auth.cpython-313.pyc | Bin 3243 -> 3243 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 219 -> 219 bytes .../__pycache__/oracle_store.cpython-313.pyc | Bin 44955 -> 44955 bytes .../__pycache__/sqlite_store.cpython-313.pyc | Bin 15018 -> 15018 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 454 -> 454 bytes .../__pycache__/renderers.cpython-313.pyc | Bin 4317 -> 4317 bytes .../rag/__pycache__/__init__.cpython-313.pyc | Bin 709 -> 709 bytes .../embedding_provider.cpython-313.pyc | Bin 6516 -> 6516 bytes .../__pycache__/graph_store.cpython-313.pyc | Bin 5527 -> 5527 bytes .../rag/__pycache__/ingest.cpython-313.pyc | Bin 12580 -> 12580 bytes .../__pycache__/kbdb_service.cpython-313.pyc | Bin 10011 -> 10011 bytes .../__pycache__/rag_service.cpython-313.pyc | Bin 10897 -> 10897 bytes .../__pycache__/vector_store.cpython-313.pyc | Bin 18655 -> 18655 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 220 -> 220 bytes .../session_repository.cpython-313.pyc | Bin 8589 -> 8589 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 425 -> 425 bytes .../__pycache__/config_loader.cpython-313.pyc | Bin 2296 -> 2296 bytes .../__pycache__/continuity.cpython-313.pyc | Bin 15933 -> 15933 bytes .../enterprise_router.cpython-313.pyc | Bin 61971 -> 61971 bytes .../__pycache__/models.cpython-313.pyc | Bin 2446 -> 2446 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 348 -> 348 bytes .../__pycache__/agent_runtime.cpython-313.pyc | Bin 177586 -> 178194 bytes .../transaction_parameters.cpython-313.pyc | Bin 11117 -> 11117 bytes .../agent_framework/runtime/agent_runtime.py | 19 ++++++ .../sse/__pycache__/__init__.cpython-313.pyc | Bin 211 -> 211 bytes .../sse/__pycache__/events.cpython-313.pyc | Bin 9587 -> 9587 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 218 -> 218 bytes .../__pycache__/supervisor.cpython-313.pyc | Bin 4943 -> 4943 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 878 -> 878 bytes .../__pycache__/graph.cpython-313.pyc | Bin 1415 -> 1415 bytes .../input_contract.cpython-313.pyc | Bin 8790 -> 8790 bytes .../__pycache__/models.cpython-313.pyc | Bin 7669 -> 7669 bytes .../__pycache__/registry.cpython-313.pyc | Bin 2361 -> 2361 bytes .../__pycache__/repository.cpython-313.pyc | Bin 2714 -> 2714 bytes .../__pycache__/runtime.cpython-313.pyc | Bin 36150 -> 36150 bytes .../__pycache__/tool_executor.cpython-313.pyc | Bin 1966 -> 1966 bytes .../conftest.cpython-313-pytest-9.0.2.pyc | Bin 800 -> 799 bytes ...nal_tool_flow.cpython-313-pytest-9.0.2.pyc | Bin 121214 -> 127006 bytes tests/test_transactional_tool_flow.py | 55 ++++++++++++++++++ 179 files changed, 93 insertions(+) diff --git a/libs/agent_framework/build/lib/agent_framework/runtime/agent_runtime.py b/libs/agent_framework/build/lib/agent_framework/runtime/agent_runtime.py index 7363992..1dc9c07 100644 --- a/libs/agent_framework/build/lib/agent_framework/runtime/agent_runtime.py +++ b/libs/agent_framework/build/lib/agent_framework/runtime/agent_runtime.py @@ -879,6 +879,17 @@ class AgentRuntimeMixin: "terminal": False, "result": result, } + # A recoverable validator may provide a user-facing explanation + # for why the parameter must be collected again. Preserve that + # message for exactly the next clarification response instead of + # falling back immediately to the generic parameter prompt. + # This does not change routing/intent-shift precedence; it only + # transports validator output to the existing clarification step. + parameter_message = str(payload.get("parameter_message") or "").strip() + if parameter_message: + state["transaction_parameter_message_override"] = parameter_message + else: + state.pop("transaction_parameter_message_override", None) if emit_events: await self._emit_ic( "IC.TRANSACTION_PREVALIDATION_PARAMETER_REJECTED", @@ -2012,6 +2023,7 @@ class AgentRuntimeMixin: state["next_state"] = None state["transaction_status"] = status state.pop("transaction_confirmation_message_override", None) + state.pop("transaction_parameter_message_override", None) def _normalize_transaction_lifecycle(self, state: dict[str, Any]) -> None: """Ensure closed transactions cannot leak into a later user turn.""" @@ -2039,6 +2051,7 @@ class AgentRuntimeMixin: state["confirmation_received"] = False state["next_state"] = None state.pop("transaction_confirmation_message_override", None) + state.pop("transaction_parameter_message_override", None) return if self._transaction_is_active(state): self._active_transaction(state) @@ -2117,6 +2130,7 @@ class AgentRuntimeMixin: "business_workflows_executed", "active_transaction", "last_transaction", "confirmation_snapshot", "transaction_evidence", "last_transaction_evidence", "relevant_transaction_evidence", "transaction_pre_validation", "tool_terminal_result", "transaction_confirmation_message_override", + "transaction_parameter_message_override", ) return {key: state.get(key) for key in keys if key in state} @@ -2135,6 +2149,11 @@ class AgentRuntimeMixin: return question + (("\n" + "\n".join(rendered)) if rendered else "") if state.get("transaction_status") != "COLLECTING_PARAMETERS": return None + parameter_override = str( + state.pop("transaction_parameter_message_override", "") or "" + ).strip() + if parameter_override: + return parameter_override missing = list(state.get("missing_parameters") or []) if not missing: return None diff --git a/libs/agent_framework/src/agent_framework/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/__pycache__/__init__.cpython-313.pyc index 8f79d21fceb606886ee40bc3b5d14ae4f369b935..6d3794049acb00bf7f2770796992b067a3a0a8ac 100644 GIT binary patch delta 20 ZcmbQuJe!&OGcPX}0|-2rx{-SVBLFmY1t9c?LfK diff --git a/libs/agent_framework/src/agent_framework/__pycache__/idempotency.cpython-313.pyc b/libs/agent_framework/src/agent_framework/__pycache__/idempotency.cpython-313.pyc index eec93e2921376e5944ff4c67f518f09c0f674111..8a37c45ad9a7c12457c9d6df51a048eb8a266bf6 100644 GIT binary patch delta 20 Zcmdn5vtNh%GcPX}0|-2rx{=#N3;;gv1#|!a delta 20 acmdn5vtNh%GcPX}0}$+ZF=->Wi5LJx7X~o^ diff --git a/libs/agent_framework/src/agent_framework/__pycache__/observer.cpython-313.pyc b/libs/agent_framework/src/agent_framework/__pycache__/observer.cpython-313.pyc index 0222f9dfada5379beedc54510c224bbdcb970926..2bc834aeccb00a3052af19c76f57037ad1d8079e 100644 GIT binary patch delta 22 bcmbQ-$vC-_k^3_*FBby{JeazXyTb(lNy`RW delta 22 ccmbQ-$vC-_k^3_*FBbz4?07M0BX@@j08aD=7XSbN diff --git a/libs/agent_framework/src/agent_framework/analytics/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/__pycache__/__init__.cpython-313.pyc index df88c2c24649e35db58ccd88d3fe1f8086b4d54a..9057572c64dddfafd8ed7a76a3570318164a97c0 100644 GIT binary patch delta 20 acmZ3?vY3VYGcPX}0}wDhn7WZ$f(ZaL=mfq1 delta 20 acmZ3?vY3VYGcPX}0}$+dF=->W1QP%{3I%!q diff --git a/libs/agent_framework/src/agent_framework/analytics/__pycache__/composite_publisher.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/__pycache__/composite_publisher.cpython-313.pyc index d8de9dfadeef2352cc4032379ef870a481d5c65d..dbf930efa92fb926ca6f59a6cb0d57ae1ae3a60a 100644 GIT binary patch delta 20 acmX>md`y`8GcPX}0}wDhn7WaBHzxo+g9Xe0 delta 20 acmX>md`y`8GcPX}0}$+dF=-?BZcYF~r3Q!q diff --git a/libs/agent_framework/src/agent_framework/analytics/__pycache__/event_builder.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/__pycache__/event_builder.cpython-313.pyc index ad60dc9eb461e58dea0fe9498ce1143150d89872..4dc7972b4a19ddce290bb558371a2a1572d5427e 100644 GIT binary patch delta 20 acmaFE`G%AGGcPX}0}wDhn7WbsAqxOP1_mVn delta 20 acmaFE`G%AGGcPX}0}$+dF=-?BLlyu>CcY%-lGcPX}0}wDhn7WbMl^p;*T?JkM delta 20 acmcb>cY%-lGcPX}0}$+dF=->WD?0!}e+C)= diff --git a/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_payload_mapper.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_payload_mapper.cpython-313.pyc index 1a4fecd592b6bebc979e3a123d4123e9454fe957..a6ad0b6905d5950b0c22139edfc3eb62ac8241c2 100644 GIT binary patch delta 20 acmX@+am<7JGcPX}0}wDhn7WbMS_J?^5(Uu! delta 20 acmX@+am<7JGcPX}0}$+dF=->WwF&@9GzN_T diff --git a/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_sequence.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_sequence.cpython-313.pyc index 0cd1e605eaad61dd958cd74c95489db56472bc00..2abecba19cf5fd47c3ae8d9f1be41578061d9c28 100644 GIT binary patch delta 22 ccmbQ)$vCrB*SpWb4 diff --git a/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/oci_streaming.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/oci_streaming.cpython-313.pyc index e2d55cf793f5d9394763fb6792174718db02dc61..ad2f232e5f2db3806638c1cbfb241990663c3cc5 100644 GIT binary patch delta 20 acmbQsHW5IX=mhXsKE diff --git a/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/pubsub.cpython-313.pyc b/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/pubsub.cpython-313.pyc index 56b4bb223070925448c65a6991d19ca861e6b47e..c9ca37a23468fa572a966232447286a66011ff44 100644 GIT binary patch delta 20 acmbPWHNlGeGcPX}0}wDhn7WahRTcm_qXi5A delta 20 acmbPWHNlGeGcPX}0}$+dF=-<=t1JLM#RbR! diff --git a/libs/agent_framework/src/agent_framework/billing/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/billing/__pycache__/__init__.cpython-313.pyc index 855b26d2b0764fe1de1cadf313a520cdb0f6fda3..91c517223622dc181ce1df2be841f3c3659c5ebf 100644 GIT binary patch delta 20 acmbQtJeisMGcPX}0}wDhn7Wa>gAo8TLj?-} delta 20 acmbQtJeisMGcPX}0}$+dF=-=r2O|JDWd+9o diff --git a/libs/agent_framework/src/agent_framework/billing/__pycache__/usage_repository.cpython-313.pyc b/libs/agent_framework/src/agent_framework/billing/__pycache__/usage_repository.cpython-313.pyc index 2564ec86d8872f2c1aa91aebe3146178e14adbae..4854b890f046b3cccd55dc1ec8a551a9428f024c 100644 GIT binary patch delta 20 acmX?Bb*zf}GcPX}0}wDhn7WbM+7WwJiWpRR;26X@c diff --git a/libs/agent_framework/src/agent_framework/channels/__pycache__/adapters.cpython-313.pyc b/libs/agent_framework/src/agent_framework/channels/__pycache__/adapters.cpython-313.pyc index 7a5e20acfbe7c94b831dd2b3c845ce6e3ea4710d..13dd9664c6b31a18c3bc2131aac96c92faf999ce 100644 GIT binary patch delta 20 acmX@3a7KaqGcPX}0}wDjn7WbMQ2+oxRRw?m delta 20 acmX@3a7KaqGcPX}0}$+eF=->WqW}Ozj0Qgd diff --git a/libs/agent_framework/src/agent_framework/channels/__pycache__/base.cpython-313.pyc b/libs/agent_framework/src/agent_framework/channels/__pycache__/base.cpython-313.pyc index 76f38ba2f4067e3645b247a020c5b31f5aafcde6..05d158aa94f4ac98148e6c6115ee0159b5dcccba 100644 GIT binary patch delta 20 acmZqSYvJSm%*)Hg00hhrrf%f^$p!#3g9Um3 delta 20 acmZqSYvJSm%*)Hg00etqOxno(lMMhkx&}D_ diff --git a/libs/agent_framework/src/agent_framework/channels/__pycache__/gateway.cpython-313.pyc b/libs/agent_framework/src/agent_framework/channels/__pycache__/gateway.cpython-313.pyc index 1fa3c86387dfe17f482ee69ba4556deb00b6ac10..c0573e5be6c781b41697941f29d594b7945c2d0e 100644 GIT binary patch delta 20 acmeCy?bhY~%*)Hg00hhrrf%eJ5CZ@>2L)XK delta 20 acmeCy?bhY~%*)Hg00etqOxnoZAO-+EJ_Z~B diff --git a/libs/agent_framework/src/agent_framework/channels/__pycache__/interruption.cpython-313.pyc b/libs/agent_framework/src/agent_framework/channels/__pycache__/interruption.cpython-313.pyc index f01528b21290d3323546c9152e0da76403df7691..1708c0f92550dd10ba69609bcf8a3eeb7f84936c 100644 GIT binary patch delta 20 acmdmCw8Mz|GcPX}0}wDjn7WZ$R}ug|#szTz delta 20 acmdmCw8Mz|GcPX}0}$+eF=->Wt|S0M{RS`q diff --git a/libs/agent_framework/src/agent_framework/channels/__pycache__/transcription.cpython-313.pyc b/libs/agent_framework/src/agent_framework/channels/__pycache__/transcription.cpython-313.pyc index e670f1792e9fbc1c3fdcf355ca806c2c8774c119..4478c95c09276a8811c7ece647c13cd0f26ca59c 100644 GIT binary patch delta 20 acmbQrJ(ZjLGcPX}0}wDjn7Wa>ixmJgz6B-# delta 20 acmbQrJ(ZjLGcPX}0}$+eF=-=r7b^fc^#$bs diff --git a/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/__init__.cpython-313.pyc index a4af2cef423dd75de2e9a351b203b7e9e163dfd7..73cd760870a332367cf2e4adab3a40b39117fe5a 100644 GIT binary patch delta 20 acmbQuKAWBUGcPX}0}wDjn7WaB0y6+L90e`_ delta 20 acmbQuKAWBUGcPX}0}$+aF=-?B1ZDs_Oa<%! diff --git a/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/checkpoint_repository.cpython-313.pyc b/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/checkpoint_repository.cpython-313.pyc index fba132b35c698dd3a046a4a03504218252a98904..9079fe783062207c4358d28efd471ad4bc4d4476 100644 GIT binary patch delta 22 ccmbPzg>m*3M()qNyj%=G!2Dq9Ms9&D09DHdu>b%7 delta 22 ccmbPzg>m*3M()qNyj%=Gu;<03joboR09yM8ZvX%Q diff --git a/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/langgraph_saver.cpython-313.pyc b/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/langgraph_saver.cpython-313.pyc index fb75ea7fcf92723e4b8bfe614ddfed35509536e7..fff33effd8ce0f0d26ebc5ad92b2d696eb79e7e2 100644 GIT binary patch delta 22 ccmccjoAKUnM()qNyj%=G!2Dq9M()eC0B8^hTL1t6 delta 22 ccmccjoAKUnM()qNyj%=Gu;<03jog=O0c}7D82|tP diff --git a/libs/agent_framework/src/agent_framework/config/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/config/__pycache__/__init__.cpython-313.pyc index 16b73ee80d5a1128d99b28e2f12db13c3ab32bba..778acb77d1c8c186715303cd1379785ce2f7db7a 100644 GIT binary patch delta 19 Zcmcb{c#VWgfsv_IR*Iu diff --git a/libs/agent_framework/src/agent_framework/config/__pycache__/settings.cpython-313.pyc b/libs/agent_framework/src/agent_framework/config/__pycache__/settings.cpython-313.pyc index ac5a8d3d3b4c1b53ff0e7c19501e8b548a3a94c3..982ef1e1e02f6dc106da4f5b8a4df8fa21a7a3b1 100644 GIT binary patch delta 20 acmcbceK(u?GcPX}0}wDhn7Wbsk|_X9rv~i+ delta 20 acmcbceK(u?GcPX}0}$+fF=-?BB~t)W*9WTr diff --git a/libs/agent_framework/src/agent_framework/gateways/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/gateways/__pycache__/__init__.cpython-313.pyc index 7c15ed4b8afc968ccac302e509519124964276ac..6ad88b1ab7ae69ab5617f2c6a1a8e518f8cde4a9 100644 GIT binary patch delta 20 ZcmdnQw26uPGcPX}0|-2rx{+I*5db#n1mpk! delta 20 acmdnQw26uPGcPX}0}$+aF=->WIwJr)E(N6k diff --git a/libs/agent_framework/src/agent_framework/gateways/__pycache__/mcp_gateway_client.cpython-313.pyc b/libs/agent_framework/src/agent_framework/gateways/__pycache__/mcp_gateway_client.cpython-313.pyc index ef00954fd3df6b07819a75ce382c9d0eb6f2bbf6..e73589762e435e8f36a8407174f5a92632eaa1cd 100644 GIT binary patch delta 20 ZcmZpXYLVjp%*)Hg00IxDZsh*S0{}H71(g5* delta 20 acmZpXYLVjp%*)Hg00etpOxno(lLr7gX$DpR diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/__init__.cpython-313.pyc index 24e15003ac7fb0b6495854ac1ce59f7a074c15fd..1f07db370f44e3209ab36199c2bb56061fc022f0 100644 GIT binary patch delta 20 acmcc1eV3d2GcPX}0}wDin7Wbs5-R{d@CEz; delta 20 acmcc1eV3d2GcPX}0}$+dF=-?BB~}1M83wrk diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/base.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/base.cpython-313.pyc index f8011dce82ca7085b89046eadf5fa44609f9ad0e..e0bb288c7ffc7d21a9e51809623963d8e3e9a83c 100644 GIT binary patch delta 20 acmcc5b)Sp-GcPX}0}wDin7WZWgcSfk90h;? delta 20 acmcc5b)Sp-GcPX}0}$+dF=-=r2rB?YMFu?p diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/config_loader.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/config_loader.cpython-313.pyc index 084eca998b5e7d375a5d0778e2a4ecd343734410..4c6b5cbc803e057d5f932a76655504b9973edc60 100644 GIT binary patch delta 20 acmX@%e!`vmGcPX}0}wDin7WaBuQC8dHU?7w delta 20 acmX@%e!`vmGcPX}0}$+dF=-?BUS$AEUk4BX diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/custom_rails.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/custom_rails.cpython-313.pyc index cef2a8dda18aee97dd86618c39f46b656f2da99e..958076176d8a4cc193d78126cfa92342b321c276 100644 GIT binary patch delta 20 acmdm@v_*;gGcPX}0}wDin7WZ$QxE_<&;>gH delta 20 acmdm@v_*;gGcPX}0}$+dF=->WrXT=7`33j@ diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/framework_llm_client.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/framework_llm_client.cpython-313.pyc index 38ed001fe97770fe2043c2d6e8a5605924ea4e7d..743d2f24e3e25bd471710be82d9f8a892861c94c 100644 GIT binary patch delta 22 ccmey~#rVC8k^3_*FBbz4Fg}>Nkvqo~09nQd3IG5A delta 22 ccmey~#rVC8k^3_*FBbz4?0hk4BX^D~0ABA0#{d8T diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/llm_rails.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/llm_rails.cpython-313.pyc index c91c9da0dc6b5975aae6ed8b217782b9dd41d6f8..cdea82b957d50717b396760a17bca20bac021f90 100644 GIT binary patch delta 20 acmZ3iw^)z+GcPX}0}wDin7WZ$LL2}(-UTKA delta 20 acmZ3iw^)z+GcPX}0}$+dF=->Wgg5{|2LW6&nCReg*UZ diff --git a/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_result.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_result.cpython-313.pyc index 1ec7529046eb5acca4fab59d8f7a284478aaf663..3911e77130014d5407cf4be54f790cc14b4fb6cf 100644 GIT binary patch delta 20 acmaFE{)V0VGcPX}0}wDin7WbsAu|9$wgw*n delta 20 acmaFE{)V0VGcPX}0}$+dF=-?BLuLR*-v-GcPX}0}wDin7WaBIX3`0?gg0u delta 20 acmdlazDb<>GcPX}0}$+dF=-?Ba&7=X7Y0@U diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/_compat.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/_compat.cpython-313.pyc index b30e18495d437943159634b4ad5b21060205efa5..b68fb783a9f06f79e2c3c71e68e5334e61d01a26 100644 GIT binary patch delta 20 acmeAb?iJ?#%*)Hg00fK=rf%eJ;sgLRlm#FF delta 20 acmeAb?iJ?#%*)Hg00cW diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contestation_validation.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contestation_validation.cpython-313.pyc index b06d1c60362265edb4eaf668241990e3ec6b3459..8bd2436aa58a5f48572a8e1012cf143ec9725122 100644 GIT binary patch delta 20 acmZn^Y!u}F%*)Hg00fK=rf%de;{X6MYXtWI delta 20 acmZn^Y!u}F%*)Hg00cWob5Mr+GcPX}0}wDin7WbMj1K@j{RLA1 delta 20 acmX>ob5Mr+GcPX}0}$+dF=->W86N;bCI%1y diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_adapter.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_adapter.cpython-313.pyc index cab6d789108f2774839d7e2c0afb5ff0a2b4c955..6858d5ee87c0f1792e94b1c311305238aa6f978b 100644 GIT binary patch delta 20 acmcaEdtH|MGcPX}0}wDin7Wbs3?BeNkp>q4 delta 20 acmcaEdtH|MGcPX}0}$+dF=-?B89o3;x(3t$ diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_client.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_client.cpython-313.pyc index 012276b5f76186c757d11c57da772b7d35658479..7580f5306f99dcf09b30e5bb2fe55f05859f0e8b 100644 GIT binary patch delta 850 zcmZWnO-vI(6rS1L?ryvEM+%lg#FY@VCKS^^ETXiO7)V<=wB3rBw3J#54c(gAt)h~^ z(ReXtf?f!S-p^X>ukCoxEokJ`LJiHXX8Y4-Fa@)nOJis)}6_pEU+cvnpN5P z=Ee&S`FI1(H>}Dp?GTx^vqUkZEVT3@9v$#TlwB`POOBh0C51Tnj&ty^1 z=*&b=DEM~ky)5$NrZNGQ)+^;9B9rRRzi0!?>Bs5KgXs-z{Iix@({dZy z`ClARFT*vjwe!P60s%cPvU<~N{dS^s#}$7j2HqUX_HrL$dbWrAC_%Ww;2FX)&~~= diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/pipeline.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/pipeline.cpython-313.pyc index 07157ebe207f0c13c1eb82dce27e8199c118ef43..33812b85fcace48f36bceba17b6afe34f046cff4 100644 GIT binary patch delta 20 acmeyG^fih5GcPX}0}wDin7WZW%Mbuh7zUmI delta 20 acmeyG^fih5GcPX}0}$+dF=-=rmLULCK?hp^ diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/__init__.cpython-313.pyc index 5fff001fcf6b629e4dddbcc29a34d65e7336dc30..e33099c79196ba75400381ace6a74e64af35fd0f 100644 GIT binary patch delta 20 acmcb~e3O~`GcPX}0}wDin7Wbs93uceECt*E delta 20 acmcb~e3O~`GcPX}0}$+bF=-?BIYt0OTn3r| diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/_context.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/_context.cpython-313.pyc index 6def2da9bdc48b3d05f5f1b32bae15d83086f7c9..994dffb4c0ece8e431c288af04997fda2b2715fd 100644 GIT binary patch delta 20 acmaE_`(Bs(GcPX}0}wDin7Wbsi5LJ!nFfad delta 20 acmaE_`(Bs(GcPX}0}$+bF=-?B6EOfx$p=LM diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc index 486b7352e0a2edd7ac4119a5d0a180faa58b00c3..47670dfff45709f599a1b0ad7212fc2dcd733480 100644 GIT binary patch delta 20 acmZpSXpG?g%*)Hg00fK=rf%f^rVRi+iUueE delta 20 acmZpSXpG?g%*)Hg00g^UOxno(O&b70x(4O| diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/coerencia.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/coerencia.cpython-313.pyc index c565bce00f54c3dd04a0e1551eebebfaf74fbb1b..202251c49d712606c534e33396caba912a421583 100644 GIT binary patch delta 20 acmeD6>hhNk^7|!09qXfegFUf delta 22 ccmey;$@ry{k^3_*FBbz4?0PY2Blk-e0AEcAJOBUy diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fraseologia.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fraseologia.cpython-313.pyc index cf674257640f30e4cda7ac612d38d268452720bb..5de3ef667f85eed0972102ff24b6c65678f7e368 100644 GIT binary patch delta 20 acmca;ebJixGcPX}0}wDin7Wbsm@EK9=mt;# delta 20 acmca;ebJixGcPX}0}$+bF=-?BFNk=x4!08_yRp8x;= delta 22 ccmccG!FaWUk^3_*FBbz4?0PY2Be$0e09f${T>t<8 diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/pinj.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/pinj.cpython-313.pyc index 5a45dab2b5a6add1512076a83b6a3f077ae3b535..2ecfb0c92f1f04b5300b79d75c6ce0379785683a 100644 GIT binary patch delta 20 acmaFi_`;F6 delta 20 acmaFi_`;FWgeU+%d3 diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/toxicidade_output.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/toxicidade_output.cpython-313.pyc index 4c1c792e0bb40253f2435ad95188e801e2cb6313..559b82a4514467d27c9454e794e9ecf5185f3621 100644 GIT binary patch delta 20 acmZ3$zJQ(kGcPX}0}wDin7WaBDl-5z)&)BN delta 20 acmZ3$zJQ(kGcPX}0}$+bF=-?BRAvA>1_k*5 diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/__init__.cpython-313.pyc index e06c5ad4874ff7bcb723d820e93747f0f6a592d7..f9f55c7c6c4d81f4369ecccc7225dcf273d61e5f 100644 GIT binary patch delta 20 acmey*^Ph+NGcPX}0}wDin7Wa>gbe^hWd-E` delta 20 acmey*^Ph+NGcPX}0}$+bF=-=r2^#=Ol?I~# diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/alcada.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/alcada.cpython-313.pyc index ee634d8d7e90da2f12c58f140eae4fbaec8ae9ba..54f1e6fcedbc0f7a3bb44d6de319af6b62abef68 100644 GIT binary patch delta 20 acmZoyZ&&C3%*)Hg00fK=rf%e}5e5J@eg!}P delta 20 acmZoyZ&&C3%*)Hg00g^UOxnm@BMbmLt_A)8 diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/anatel.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/anatel.cpython-313.pyc index a07f95a7654d54b0274d1e56f083f2bc2100d6d3..eb605b6325954a3774133677838d83c3471c1a35 100644 GIT binary patch delta 20 acmdnvzQ>*WGcPX}0}wDin7WaBqcQ+PRt7Hs delta 20 acmdnvzQ>*WGcPX}0}$+bF=-?BMr8mWxHbSqng&Gx diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_in.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_in.cpython-313.pyc index 4640ac4ec6106c0a59ef2d62f1af20237cfcd515..633eabd583ed6a711c0b2895e3617e569d654a36 100644 GIT binary patch delta 20 acmX>vd0vwHGcPX}0}wDin7Wbs2oC^1zXkOG delta 20 acmX>vd0vwHGcPX}0}$+bF=-?B5gq_U?*_8~ diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_out.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_out.cpython-313.pyc index ca6c0e81cb397c34e47aab01c4a9d8ae0a4af809..651ca7c925397d1efb6ecefdd93cbc46d23b45ae 100644 GIT binary patch delta 20 acmZpcYL?>u%*)Hg00fK=rf%f^!2u%*)Hg00g^UOxno(g9iXQGX_xr diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/ragsec.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/ragsec.cpython-313.pyc index 870b9c2a59b0a0fda3014bd830d87aaa81a62bb4..c107f02a6521eaaea1e182ea3795497beef95c1b 100644 GIT binary patch delta 20 acmcbnbxn)=GcPX}0}wDin7WbMTND67LWw_L< delta 20 acmbQrGL?nWA3Fd;?glmh diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/pinj_patterns.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/pinj_patterns.cpython-313.pyc index cda395cfb3bd5e4cf779899d00c3adca93e754af..19e6f53704451575318f16b23a9d46e8890fdcf4 100644 GIT binary patch delta 20 acmbOvJ4u%NGcPX}0}wDin7Wa>oeuyu$puIN delta 20 acmbOvJ4u%NGcPX}0}$+dF=-=rJ0Ac$@&*L} diff --git a/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/tox_blocklist.cpython-313.pyc b/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/tox_blocklist.cpython-313.pyc index 1fcca9e0401298389c37282f5f023926d18fd7fa..a1c8df85a10a2ecd54f581f48d03704535b4bb34 100644 GIT binary patch delta 20 acmaFF{fL|UGcPX}0}wDin7WbsIx7G`xCRRV delta 20 acmaFF{fL|UGcPX}0}$+dF=-?BbyfgH;ReV6 diff --git a/libs/agent_framework/src/agent_framework/identity/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/identity/__pycache__/__init__.cpython-313.pyc index f33994f529d9e78b6cf331de21ac46ac04914355..54d3fb4716e1fcc4faee1801b27ab9c5e797a9f8 100644 GIT binary patch delta 20 acmbQiJcF70GcPX}0}wDhn7Wa>mk|Io3k4bg delta 20 acmbQiJcF70GcPX}0}$+fF=-=rFCzdsI|bMP diff --git a/libs/agent_framework/src/agent_framework/identity/__pycache__/mcp_mapper.cpython-313.pyc b/libs/agent_framework/src/agent_framework/identity/__pycache__/mcp_mapper.cpython-313.pyc index 463ff0566a33a1458269f1161804a95c2033809d..b05721bd60153844f11d68c12443c305a0f79322 100644 GIT binary patch delta 20 acmcbjaz%yvGcPX}0}wDhn7WbMQwRV-AO)cS delta 20 acmcbjaz%yvGcPX}0}$+fF=->Wrw{-}PzGNB diff --git a/libs/agent_framework/src/agent_framework/identity/__pycache__/models.cpython-313.pyc b/libs/agent_framework/src/agent_framework/identity/__pycache__/models.cpython-313.pyc index 38aacad831e17c2d8e5c177ff8a5d7154b5c9418..e051ab9036e97478ce6a24bf87acb13a42a87566 100644 GIT binary patch delta 20 acmX>haYBOoGcPX}0}wDhn7WbMmInYmiUnT) delta 20 acmX>haYBOoGcPX}0}$+fF=->WEe`-fx&|Ep diff --git a/libs/agent_framework/src/agent_framework/identity/__pycache__/resolver.cpython-313.pyc b/libs/agent_framework/src/agent_framework/identity/__pycache__/resolver.cpython-313.pyc index ed4e843994c54c211d6d554b4cabff48b6ba77e6..dd8b6383135240df006a0b9e375f06feccb1ccac 100644 GIT binary patch delta 20 acmaE<@=}HSGcPX}0}wDhn7WZWP6z-*Xa(Q^ delta 20 acmaE<@=}HSGcPX}0}$+fF=-=roDcv>m delta 20 acmaFG@`{D~GcPX}0}$+aF=-=rJQDy#HwIDw diff --git a/libs/agent_framework/src/agent_framework/judges/__pycache__/judge.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/__pycache__/judge.cpython-313.pyc index 1bc90bc48a3e27a7942faaeb5da9204b305b1f47..d258c05aea956d54832d51a712d43e1518000749 100644 GIT binary patch delta 22 ccmX@HlhtNGcPX}0}wDjm^zXB8UQ%p1htNGcPX}0}$+aF=-WpeO)7as|f# diff --git a/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/__init__.cpython-313.pyc index f146571518255af23e76d27366a58619b0b658f3..6c7a3a6d64c8718ed18cbfd5bfd4125a78e5405f 100644 GIT binary patch delta 19 ZcmaFK_>z(PGcPX}0}wDjm^zXB9soKB1?d0) delta 19 ZcmaFK_>z(PGcPX}0}$+aF=-2B!c3 diff --git a/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/aluc.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/aluc.cpython-313.pyc index f747e24a7e032ba3adb92cc32c5c61bf23ad0c3a..02e8cbf88b640b7fed75e1a5db360392a86213c8 100644 GIT binary patch delta 20 acmZoPZZzip%*)Hg00hhrrf%delLP=aQUy)` delta 20 acmZoPZZzip%*)Hg00etpOxnm@CJ6vMf(8r# diff --git a/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/csi.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/csi.cpython-313.pyc index 12a09b5276b3053ead7b26a99a44e77712db3519..b088da73b9e096d7628aba6e936be01563612d1f 100644 GIT binary patch delta 20 acmdnOwS|lOGcPX}0}wDjn7WZ$lNA6sas>eZ delta 20 acmdnOwS|lOGcPX}0}$+aF=->WCMy6vq6NPI diff --git a/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/fallback.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/fallback.cpython-313.pyc index 126c7119739b8a9489010d886a0e0a168a0a39f3..26557c2835ef08410f3a3665269605f442dc5fb7 100644 GIT binary patch delta 20 acmaEC_t=j6GcPX}0}wDjn7WZWLLLA|GzJg= delta 20 acmaEC_t=j6GcPX}0}$+aF=-=rgggLDWCqRv diff --git a/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/rqlt.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/rqlt.cpython-313.pyc index f1442d34acec0eb50b806bdf793c2d77faaec50c..b0a52527f4b0148af028ccded0b51656f4d3255f 100644 GIT binary patch delta 20 acmeC>?B(SC%*)Hg00hhrrf%eJVgUd%H3bO( delta 20 acmeC>?B(SC%*)Hg00etpOxnoZ!~y^~Wd+9o diff --git a/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/vctn.cpython-313.pyc b/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/vctn.cpython-313.pyc index bf37485bf9cf5cc4d6e74121b76b8d72cd6ef045..71820d9ea578205c32cd7fac41971db521f953db 100644 GIT binary patch delta 20 acmeyw@`;7}GcPX}0}wDjn7WZWoe2OzM+K|^ delta 20 acmeyw@`;7}GcPX}0}$+aF=-=rIuig!cLr(z diff --git a/libs/agent_framework/src/agent_framework/llm/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/llm/__pycache__/__init__.cpython-313.pyc index c5b77abfa202a10940764b24678c767aad71d130..a4090b47ba8e840a2e3cc8ac0f7d5a159ee30f7a 100644 GIT binary patch delta 20 acmcb^e21C)GcPX}0}wDin7WbsA|n7kqy^;w delta 20 acmcb^e21C)GcPX}0}$+fF=-?BMMeNa+Xkcn diff --git a/libs/agent_framework/src/agent_framework/llm/__pycache__/base.cpython-313.pyc b/libs/agent_framework/src/agent_framework/llm/__pycache__/base.cpython-313.pyc index bc1e58477ffc0a06e8d87260dae1fa6a08292293..8e26ef84e4e1db48bf62a6cc133271158212a3ef 100644 GIT binary patch delta 20 acmcc4bDf9#GcPX}0}wDin7WbMhYbKeB?WB& delta 20 acmcc4bDf9#GcPX}0}$+fF=->W4;uhOTm~!v diff --git a/libs/agent_framework/src/agent_framework/llm/__pycache__/profile_resolver.cpython-313.pyc b/libs/agent_framework/src/agent_framework/llm/__pycache__/profile_resolver.cpython-313.pyc index 60e620dcd22c1f84164111e2789e233618af7c65..d41c1e5712a69ee6a510e0cd84fadda961b093f1 100644 GIT binary patch delta 20 acmaFm@ydhyGcPX}0}wDin7WZWUIhS2s|Gv( delta 20 acmaFm@ydhyGcPX}0}$+fF=-=ryb1tL;s*Nw diff --git a/libs/agent_framework/src/agent_framework/llm/__pycache__/providers.cpython-313.pyc b/libs/agent_framework/src/agent_framework/llm/__pycache__/providers.cpython-313.pyc index 9239e96011d610105be9b220629f87bd829eefff..0a77ecaaed4554967cc2b31b08fc54dc2835237f 100644 GIT binary patch delta 3214 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 GuKxl$6WeWge(9-%LW4g diff --git a/libs/agent_framework/src/agent_framework/llm/__pycache__/types.cpython-313.pyc b/libs/agent_framework/src/agent_framework/llm/__pycache__/types.cpython-313.pyc index 5564625da4e8af32762a9f72fc3070ce95ece627..75df3f79a6f4bb91c883b6731074e9495b6a2085 100644 GIT binary patch delta 20 acmeyx`HPeLGcPX}0}wDin7WbsJqrLtF9uEk delta 20 acmeyx`HPeLGcPX}0}$+fF=-?BdlmpmW(N%b diff --git a/libs/agent_framework/src/agent_framework/mcp/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/mcp/__pycache__/__init__.cpython-313.pyc index e7c1ef55902017b2e9cf60356ead41df9d418cc2..c44006141816a40366f140787d2c9ceb131c9668 100644 GIT binary patch delta 20 acmcb~e3O~`GcPX}0}wDhn7Wbs93uceGX>oM delta 20 acmcb~e3O~`GcPX}0}$+ZF=-?BIYt0OP6n6& diff --git a/libs/agent_framework/src/agent_framework/mcp/__pycache__/client.cpython-313.pyc b/libs/agent_framework/src/agent_framework/mcp/__pycache__/client.cpython-313.pyc index 1129dcf0a26b5ddb7ca81d28445d0eee9dbe4e62..de3c3cf8ebf5a8980af11746f4acaf0daae9176f 100644 GIT binary patch delta 22 ccmey>&-kmKk^3_*FBbz4Fg=*Mk^8+n09+FXpa1{> delta 22 ccmey>&-kmKk^3_*FBbz4?07M0BlmlE0AVf&TL1t6 diff --git a/libs/agent_framework/src/agent_framework/mcp/__pycache__/models.cpython-313.pyc b/libs/agent_framework/src/agent_framework/mcp/__pycache__/models.cpython-313.pyc index 251220e73c2a156493ce9704b94d06980d4812db..5b0803fe4e8d7893ac3f6b566ff271e0e75deef9 100644 GIT binary patch delta 20 acmca1a6^FmGcPX}0}wDhn7WbMmjeJk<^_8I delta 20 acmca1a6^FmGcPX}0}$+ZF=->WF9!fb0R}bz diff --git a/libs/agent_framework/src/agent_framework/mcp/__pycache__/registry.cpython-313.pyc b/libs/agent_framework/src/agent_framework/mcp/__pycache__/registry.cpython-313.pyc index 18f3d5cfafaaed093be3e6d87e83a4c036ff847b..e6a2deef27a05b5346fd55c64571caa188d285e7 100644 GIT binary patch delta 20 acmZosZBga^%*)Hg00c}Arf%e}6aoM>#04_| delta 20 acmZosZBga^%*)Hg00cW;Oxnm@DFgsI-v#af diff --git a/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_policy.cpython-313.pyc b/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_policy.cpython-313.pyc index dd53b98c754d76b9e0abb58af887e43f22312f86..16e939bd144d63775db7a39af49c8f9af6912775 100644 GIT binary patch delta 20 acmdn0vsH)tGcPX}0}wDhn7WZ$OAG)#Yz0^V delta 20 acmdn0vsH)tGcPX}0}$+ZF=->WmKXp+hXxY> diff --git a/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_router.cpython-313.pyc b/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_router.cpython-313.pyc index 4d2cf94323f34f68482ca27a1c0c10a308e255d8..da436b7fee1b5d439aba876bce8c280860f4a9ff 100644 GIT binary patch delta 20 acmaEx_co9FGcPX}0}wDhn7WZW$s7Prl?J5% delta 20 acmaEx_co9FGcPX}0}$+ZF=-=rk~siWum@lO diff --git a/libs/agent_framework/src/agent_framework/memory/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/memory/__pycache__/__init__.cpython-313.pyc index f5ea5e47fdbd878e502257822c1328f3bd5186ce..44095a39d5d9cb2666730a186ef109f7208a6211 100644 GIT binary patch delta 20 acmaFQ@t%YGGcPX}0}wDhn7WZWg#`dXS_P~C delta 20 acmaFQ@t%YGGcPX}0}$+dF=-=r3JU;6djjhm delta 20 acmdnswZV(~GcPX}0}$+dF=->Wswx0R4F*sE diff --git a/libs/agent_framework/src/agent_framework/models/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/models/__pycache__/__init__.cpython-313.pyc index 5e726f1f248244657bf585743e4d68a8e2c2c180..1b6d5e7e9d113c5e4dccaefdb4838d888afcf604 100644 GIT binary patch delta 19 Zcmcb{c#VK%*)Hg00hhrrf%e};{^aUCIu=0 delta 20 acmeB_?v&>K%*)Hg00etqOxnm@#|r>DT?Od? diff --git a/libs/agent_framework/src/agent_framework/models/__pycache__/session.cpython-313.pyc b/libs/agent_framework/src/agent_framework/models/__pycache__/session.cpython-313.pyc index 1524414a84c3ca73da49ae295400431a1c1c3ce4..7270228d1c289ac06a199957e34544f394699375 100644 GIT binary patch delta 20 acmbOtIz^QGGcPX}0}wDjn7Wa>lM4Vg0|h() delta 20 acmbOtIz^QGGcPX}0}$+eF=-=rCl>%aItBXx diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/__init__.cpython-313.pyc index 4e02d7dbc7dc1b93a53942b730e69353da21d098..3c6ba5408bf15af7fbefb09b8a79c126f7b3e46b 100644 GIT binary patch delta 20 acmeyw^@)r7GcPX}0}wDjn7WZWofQB=A_cnu delta 20 acmeyw^@)r7GcPX}0}$+fF=-=rIx7H2O9prV diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/code_mapper.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/code_mapper.cpython-313.pyc index 3174b5845b0e985eef5a7c4dcdd133fbba4ba10f..e5b7f768015564af606b07b49a6b9c1625d709ff 100644 GIT binary patch delta 22 ccmX@UobmW_M()qNyj%=G!2Dq9M(#bq09QQ+L;wH) delta 22 ccmX@UobmW_M()qNyj%=Gu=~ZNjof>J0bFJX0RR91 diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/context.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/context.cpython-313.pyc index 130c071a6b6bec8bd121868e376e489be936ff53..9a40d3a56f966549c47b24169909ee8ddd2d541f 100644 GIT binary patch delta 20 acmca*dCQXfGcPX}0}wDjn7WbsybJ(F6$WSk delta 20 acmca*dCQXfGcPX}0}$+fF=-?Bc^LppJ_jWL diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/event_bus.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/event_bus.cpython-313.pyc index da335b1b7d4802fabad3d3f10afcfbce8e6c4878..d07ea5300c0cbab5874364d9a22854819e59c05b 100644 GIT binary patch delta 20 acmdlWvq6UYGcPX}0}wDjn7WZ$l@9WDjxtpj0N8S diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/guardrail_events.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/guardrail_events.cpython-313.pyc index caa0865961ad68038a4c3e9258bf1a58f6854b0d..cef8b7369ed14e93814a98282259afe7b51438ad 100644 GIT binary patch delta 20 acmZn?XcFN5%*)Hg00hhrrf%f^&JF-GdW2QL6by9Pr5 diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/streaming_events.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/streaming_events.cpython-313.pyc index df833229dd88533ecc29e242b48788e4213896ad..70961331fbc2345ba54090f1685a77b2fdc13c68 100644 GIT binary patch delta 20 acmZ3*w~CMZGcPX}0}wDjn7WZ$o*e);bOh}H delta 20 acmZ3*w~CMZGcPX}0}$+fF=->WJUak9odv1@ diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/telemetry.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/telemetry.cpython-313.pyc index 9eccfffdf8c5419402cd16b569b7e44a3e04170f..a94545495df2b067ee2994715e593e98be9acafd 100644 GIT binary patch delta 22 ccmX>-llk;aX710tyj%=G!2Dq9M(zV=09J|zu>b%7 delta 22 dcmX>-llk;aX710tyj%=Gu=~ZNjob&$003LF2yOrX diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/token_cost.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/token_cost.cpython-313.pyc index 6eeedf09bbb81248f1cd26cb83a6cc2912c3931d..22641f99ec105078d88e8a247c1ef10e51fc3246 100644 GIT binary patch delta 20 acmez5{K=X7GcPX}0}wDjn7Wbsxgr2dLI%kI delta 20 acmez5{K=X7GcPX}0}$+fF=-?Bb4379YX^n^ diff --git a/libs/agent_framework/src/agent_framework/observability/__pycache__/workflow_events.cpython-313.pyc b/libs/agent_framework/src/agent_framework/observability/__pycache__/workflow_events.cpython-313.pyc index 00cc08821648135aad88af61c655cc5cc2227452..110b3a8834561b121df3c93b295ebf8981022ffe 100644 GIT binary patch delta 20 acmZpaYLw#s%*)Hg00hhrrf%f^#sdH}!3B>1 delta 20 acmZpaYLw#s%*)Hg00g^VOxno(jRycZ>IO^z diff --git a/libs/agent_framework/src/agent_framework/oci/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/oci/__pycache__/__init__.cpython-313.pyc index e212130177b30ecb97e57a600f5bc7c23eea935e..f97326484307536b0154358941805538e7504e5e 100644 GIT binary patch delta 19 Zcmcc2c$ty=GcPX}0}wDjm^zXB1OPVL1*ZT2 delta 19 Zcmcc2c$ty=GcPX}0}$+aF=-?4x24w&M diff --git a/libs/agent_framework/src/agent_framework/oci/__pycache__/auth.cpython-313.pyc b/libs/agent_framework/src/agent_framework/oci/__pycache__/auth.cpython-313.pyc index ceec0b734d9854d2a56395e7ccc81c5253153aaa..2cfd0d426d454feabe3d04ecb5e46301792b7d05 100644 GIT binary patch delta 20 acmZ22xmuF@GcPX}0}wDjn7WaB0S^E=Ed`4J delta 20 acmZ22xmuF@GcPX}0}$+aF=-?B0v-TAT?R=2 diff --git a/libs/agent_framework/src/agent_framework/persistence/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/persistence/__pycache__/__init__.cpython-313.pyc index 2348b4e7918c5cd1d3a7966d1ba8c43bdc3a21d7..1d4abf93ec407d8b49feb03cd47c7be95e856a3c 100644 GIT binary patch delta 19 Zcmcc3c$<;?GcPX}0}wDjm^zXB0suGy1-}3Q delta 19 Zcmcc3c$<;?GcPX}0}$+aF=-GcPX}0}wDjn7WaBz7+sRBL;2& delta 20 acmZ2gx~i1>GcPX}0}$+aF=-?Bd@BG@0PJO=Op diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/__init__.cpython-313.pyc index be9513e8c52f42733ae221596050800655978ea5..e603cf1e36e5f6118f331fe24b2285d82a5683cc 100644 GIT binary patch delta 20 ZcmX@gdX$y>GcPX}0|-2rx{-Sq6979-1*8A~ delta 20 acmX@gdX$y>GcPX}0}$+aF=-?BE+zm#lLln~ diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/embedding_provider.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/embedding_provider.cpython-313.pyc index 263d6cd42f675711cbacdcd89c4259944f48af81..d7dfa6f7eaff4efc3653ee3cd1f8e2cff1be474b 100644 GIT binary patch delta 20 Zcmexj^u>t#GcPX}0|-2rx{*6m5&%dM1|k3e delta 20 acmexj^u>t#GcPX}0}$+aF=-=rrX&DORtDn$ diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/graph_store.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/graph_store.cpython-313.pyc index 307be2f98779b00729c5ae1310884601eee0faa3..59d7933370477b8a01ec2dba65f24e4a5a4cc768 100644 GIT binary patch delta 20 ZcmbQPJzbmoGcPX}0|-2rx{&IURF diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/ingest.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/ingest.cpython-313.pyc index 08240d04d6d4122efbfa38b789b06490c5679fc1..09ce71df4ebfd904286ca7559eef1a1d86107e3f 100644 GIT binary patch delta 20 ZcmZ3Iv?Pi9GcPX}0|-2rx{+Jb5CB4H1*!l5 delta 20 acmZ3Iv?Pi9GcPX}0}$+aF=->Wq#*!Dt_EuW diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/kbdb_service.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/kbdb_service.cpython-313.pyc index 0c21a4bc9a8ac8b7c0699e7eea0cca4ecbd85c13..1dd680464edf90e18509499d5ea0982a59312c28 100644 GIT binary patch delta 20 ZcmbR3H`|ZWfI0v}Yz7_x diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/rag_service.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/rag_service.cpython-313.pyc index 92d7cf2a7314ba21fdced3d2e171cac9857173c1..0c159841b063a9c370941520c2e1d86ed49a5dd5 100644 GIT binary patch delta 20 ZcmbOjIx&>{GcPX}0|-2rx{{GcPX}0}$+aF=-=rn-%~=+Xj&U diff --git a/libs/agent_framework/src/agent_framework/rag/__pycache__/vector_store.cpython-313.pyc b/libs/agent_framework/src/agent_framework/rag/__pycache__/vector_store.cpython-313.pyc index 4f0b47e6878ded64bcd5d0e8a67225f6a2824f35..9cad746a7c45df6ee775cb9b49b7f50f0c971cd9 100644 GIT binary patch delta 22 bcmcaVk@5aSM()qNyj%<*@L=jj?kgSuSIY-d delta 22 ccmcaVk@5aSM()qNyj%=Gu;<03joeo}09_CW6951J diff --git a/libs/agent_framework/src/agent_framework/repositories/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/repositories/__pycache__/__init__.cpython-313.pyc index 38415f375d71d9f81c8a200c9af3a63bb9d7ba6d..8d7e513812426f6983a86d969ffb83095499a4e9 100644 GIT binary patch delta 19 Ycmcb^c!!buGcPX}0|-2rI+6P#05}x|zW@LL delta 19 Zcmcb^c!!buGcPX}0}$+aF=-m9 diff --git a/libs/agent_framework/src/agent_framework/routing/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/routing/__pycache__/__init__.cpython-313.pyc index 733c9ba23e86b42b374b9c933f91383698096e69..40b6f7415c857b6effef3e32ffa0334d079a74c7 100644 GIT binary patch delta 20 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 delta 8225 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 delta 20 acmaDG_BM?BGcPX}0}$+eF=-=rk~RQQX9p<& diff --git a/libs/agent_framework/src/agent_framework/runtime/agent_runtime.py b/libs/agent_framework/src/agent_framework/runtime/agent_runtime.py index 5f62e2e..153052d 100644 --- a/libs/agent_framework/src/agent_framework/runtime/agent_runtime.py +++ b/libs/agent_framework/src/agent_framework/runtime/agent_runtime.py @@ -879,6 +879,17 @@ class AgentRuntimeMixin: "terminal": False, "result": result, } + # A recoverable validator may provide a user-facing explanation + # for why the parameter must be collected again. Preserve that + # message for exactly the next clarification response instead of + # falling back immediately to the generic parameter prompt. + # This does not change routing/intent-shift precedence; it only + # transports validator output to the existing clarification step. + parameter_message = str(payload.get("parameter_message") or "").strip() + if parameter_message: + state["transaction_parameter_message_override"] = parameter_message + else: + state.pop("transaction_parameter_message_override", None) if emit_events: await self._emit_ic( "IC.TRANSACTION_PREVALIDATION_PARAMETER_REJECTED", @@ -2080,6 +2091,7 @@ class AgentRuntimeMixin: state["next_state"] = None state["transaction_status"] = status state.pop("transaction_confirmation_message_override", None) + state.pop("transaction_parameter_message_override", None) def _normalize_transaction_lifecycle(self, state: dict[str, Any]) -> None: """Ensure closed transactions cannot leak into a later user turn.""" @@ -2112,6 +2124,7 @@ class AgentRuntimeMixin: state["pending_tool_clarification"] = None state["workflow_input_reprompt"] = None state.pop("transaction_confirmation_message_override", None) + state.pop("transaction_parameter_message_override", None) return if self._transaction_is_active(state): self._active_transaction(state) @@ -2190,6 +2203,7 @@ class AgentRuntimeMixin: "business_workflows_executed", "active_transaction", "last_transaction", "confirmation_snapshot", "transaction_evidence", "last_transaction_evidence", "relevant_transaction_evidence", "transaction_pre_validation", "tool_terminal_result", "transaction_confirmation_message_override", + "transaction_parameter_message_override", "operational_context_boundary_pending", "operational_context_reset", ) return {key: state.get(key) for key in keys if key in state} @@ -2209,6 +2223,11 @@ class AgentRuntimeMixin: return question + (("\n" + "\n".join(rendered)) if rendered else "") if state.get("transaction_status") != "COLLECTING_PARAMETERS": return None + parameter_override = str( + state.pop("transaction_parameter_message_override", "") or "" + ).strip() + if parameter_override: + return parameter_override missing = list(state.get("missing_parameters") or []) if not missing: return None diff --git a/libs/agent_framework/src/agent_framework/sse/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/sse/__pycache__/__init__.cpython-313.pyc index a7c1994a9546f93e75c001da6d50c78077d24dea..2df1153cde8d0efa36200984fc2bdd77c4ffecfd 100644 GIT binary patch delta 19 Ycmcc2c$ty=GcPX}0|-2rI+6PX05-@4qyPW_ delta 19 Zcmcc2c$ty=GcPX}0}$+bF=-?4l24esK diff --git a/libs/agent_framework/src/agent_framework/sse/__pycache__/events.cpython-313.pyc b/libs/agent_framework/src/agent_framework/sse/__pycache__/events.cpython-313.pyc index 6ae98a39624e338af8218f01387d145286fd7f7f..a22fe76a0f3bbf1c6211f1c069d7bacccf1ad09b 100644 GIT binary patch delta 20 ZcmezD_1TO2GcPX}0|-2rx{*6W6#z?B23r6C delta 20 acmezD_1TO2GcPX}0}$+bF=-=rhAIG1j0YM3 diff --git a/libs/agent_framework/src/agent_framework/supervisor/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/supervisor/__pycache__/__init__.cpython-313.pyc index 405f40b6d1c6ad8ea3f0a4e8ff48b3f8ccb2d750..950d0ecf976aca7c2adb680a7ffc31263333cfed 100644 GIT binary patch delta 19 Zcmcb`c#DzyGcPX}0}wDhm^zXBJODS>1-k$M delta 19 Zcmcb`c#DzyGcPX}0}$+aF=-p|526_Mh diff --git a/libs/agent_framework/src/agent_framework/supervisor/__pycache__/supervisor.cpython-313.pyc b/libs/agent_framework/src/agent_framework/supervisor/__pycache__/supervisor.cpython-313.pyc index 266fef7526c1232b2ffecf60aec9c5e6ff319b00..1da17c2981a60192f67333301c0e7791d770c962 100644 GIT binary patch delta 20 acmX@Fc3zG9GcPX}0}wDhn7WbMMHm1;p#_%! delta 20 acmX@Fc3zG9GcPX}0}$+fF=->Wi!cC1(FRoj diff --git a/libs/agent_framework/src/agent_framework/workflows/__pycache__/__init__.cpython-313.pyc b/libs/agent_framework/src/agent_framework/workflows/__pycache__/__init__.cpython-313.pyc index d52108a75862e990be6226b0dc63e29d258d9b74..4ab9955c8dbbfd6b8e4a70399ecc2f2a7fa5c7e8 100644 GIT binary patch delta 20 acmaFI_KuDFGcPX}0}wDin7WZWnHc~;;sv7s delta 20 acmaFI_KuDFGcPX}0}$+aF=-=rGBW^1AO>Rq diff --git a/libs/agent_framework/src/agent_framework/workflows/__pycache__/graph.cpython-313.pyc b/libs/agent_framework/src/agent_framework/workflows/__pycache__/graph.cpython-313.pyc index 8ce9cffcfe97d3108a98e20bdc6648810b564f28..b2e37127ff3d458aff1990e8474068f875cfa642 100644 GIT binary patch delta 20 acmZqYZs+Fy%*)Hg00fK=rf%e}VFds(fCTyg delta 20 acmZqYZs+Fy%*)Hg00etpOxnm@!wLX5z6H7f diff --git a/libs/agent_framework/src/agent_framework/workflows/__pycache__/input_contract.cpython-313.pyc b/libs/agent_framework/src/agent_framework/workflows/__pycache__/input_contract.cpython-313.pyc index cc6384e81af773cf714ea23f6750f81bcde185f6..a39e10e7a832a31765770e5179fff43986be51da 100644 GIT binary patch delta 20 acmccSa?OSNGcPX}0}wDin7WbMTL}O~`33d> delta 20 acmccSa?OSNGcPX}0}$+aF=->Ww-NwLHwLx< diff --git a/libs/agent_framework/src/agent_framework/workflows/__pycache__/models.cpython-313.pyc b/libs/agent_framework/src/agent_framework/workflows/__pycache__/models.cpython-313.pyc index 3a3d6cd95af3e3e393c63808a655986487078c1c..0bbab8f2e94d8237f9fca80adc2864d79128aeb1 100644 GIT binary patch delta 20 acmexr{neWLGcPX}0}wDin7Wbsl`H^Chz7g> delta 20 acmexr{neWLGcPX}0}$+aF=-?BD_HW9wz`ljs@ZX diff --git a/libs/agent_framework/src/agent_framework/workflows/__pycache__/repository.cpython-313.pyc b/libs/agent_framework/src/agent_framework/workflows/__pycache__/repository.cpython-313.pyc index c187ad86745173872fc63ca6629f5c69bf40b097..7825dc1e606992c7c2a36de915df6b52c652767b 100644 GIT binary patch delta 20 acmbOwI!l!MGcPX}0}wDin7Wa>p9=ssb%7 delta 22 ccmdlsi)q^|ChpI?yj%=Gu;<03jojM309N(~aR2}S diff --git a/libs/agent_framework/src/agent_framework/workflows/__pycache__/tool_executor.cpython-313.pyc b/libs/agent_framework/src/agent_framework/workflows/__pycache__/tool_executor.cpython-313.pyc index 95a40e3838134b06c7a7a979b5a646ae5983d7c9..07ffe8975760a34efbe961df22562799072c0f21 100644 GIT binary patch delta 20 acmZ3-zmA{#GcPX}0}wDin7WaBF*^V`Dg}7} delta 20 acmZ3-zmA{#GcPX}0}$+aF=-?BVs-#NXa+d| diff --git a/tests/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc b/tests/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc index 8a88d9c958c0dbcf9479bc4e2aaa1f826371db30..303bb8490604fda28fd47e5a96d0df9db2460ffe 100644 GIT binary patch delta 55 zcmZ3$HlL0AGcPX}0}wbDP2R}u$|UEkpPN^rpORRTsGpplSCUv9pO#q>UyxXon44Ri JJ~^LhBLKVp5-I=y delta 56 zcmbQwwt$WMGcPX}0}u#bnY5AHl}X-3KR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| KD0^}q(?$T+KoZsf diff --git a/tests/__pycache__/test_transactional_tool_flow.cpython-313-pytest-9.0.2.pyc b/tests/__pycache__/test_transactional_tool_flow.cpython-313-pytest-9.0.2.pyc index 47a9bc03fddc915385f1508c9b22819eb5052a5f..92ba4080fdda1cfd9460905817c1c9c12a9a751e 100644 GIT binary patch delta 4900 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 Us^1c6pW&Rra#xGTEVZEj1NgVI0{{R3 diff --git a/tests/test_transactional_tool_flow.py b/tests/test_transactional_tool_flow.py index b40d129..48f6b0f 100644 --- a/tests/test_transactional_tool_flow.py +++ b/tests/test_transactional_tool_flow.py @@ -1228,3 +1228,58 @@ async def test_runtime_reuses_semantic_confirmation_decision_from_router_metadat assert runtime.calls[-1][0] == "solicitar_devolucao" assert runtime.calls[-1][1]["confirmed"] is True assert result[-1]["ok"] is True + +class _RecoverablePreValidationMessageRuntime(_PreValidationRuntime): + async def _call_mcp_tool(self, tool_name, arguments, state): + self.calls.append((tool_name, dict(arguments))) + if tool_name == "validar_contestacao": + return { + "ok": True, + "tool_name": tool_name, + "result": { + "eligible": False, + "status": "NEEDS_PARAMETER", + "parameter": "valor", + "reason": "CVAL", + "recoverable_reason": "amount_not_supported_by_invoice", + "parameter_message": ( + "O valor encontrado na fatura para Tamboro Mensal é R$ 19,99. " + "O valor informado (R$ 29,98) não corresponde a essa cobrança. " + "Informe o valor da cobrança que deseja contestar." + ), + }, + } + return {"ok": True, "tool_name": tool_name, "result": {"status": "OPENED"}} + + +@pytest.mark.asyncio +async def test_prevalidation_parameter_message_is_used_once_without_changing_transaction_precedence(): + runtime = _RecoverablePreValidationMessageRuntime(eligible=False) + state = { + "user_text": "R$ 29,98", + "sanitized_input": "R$ 29,98", + "route": "contestacao_agent", + "intent": "state:COLLECTING_CONTESTACAO_PARAMETERS", + "transaction_status": "COLLECTING_PARAMETERS", + "selected_tool_call": { + "tool_name": "contestar_cobranca", + "arguments": {"subject": "Tamboro Mensal", "valor": 29.98}, + }, + "context": {}, + } + + result = await runtime.execute_tools_for_intent(state, tools=[]) + assert result[-1]["pre_validation"] is True + assert state["missing_parameters"] == ["valor"] + assert state["selected_tool_call"]["arguments"]["subject"] == "Tamboro Mensal" + assert "valor" not in state["selected_tool_call"]["arguments"] + + expected = ( + "O valor encontrado na fatura para Tamboro Mensal é R$ 19,99. " + "O valor informado (R$ 29,98) não corresponde a essa cobrança. " + "Informe o valor da cobrança que deseja contestar." + ) + assert runtime.transaction_clarification_message(state) == expected + # One-shot: subsequent clarification falls back to the normal prompt. + assert runtime.transaction_clarification_message(state) != expected + assert "transaction_parameter_message_override" not in state