diff --git a/.env.example b/.env.example index edb33548..5d68ff9e 100644 --- a/.env.example +++ b/.env.example @@ -369,7 +369,7 @@ MCP_TOOL_CACHE_TTL_SECONDS=60 # kbdb = KBDB enterprise via PKG_KB_SERVING.SEARCH_KNOWLEDGE_BASE RAG_PROVIDER=kbdb -# Somente usados quando RAG_PROVIDER=kbdb. Se vazios, credenciais caem para ADB_*. +# Somente usados quando RAG_PROVIDER=kbdb; não há fallback para as credenciais ADB_*. KBDB_DB_USER= KBDB_DB_PASSWORD= KBDB_DB_DSN=db_dsn_high @@ -382,4 +382,7 @@ KBDB_GRAPH_CROSS_REF=false KBDB_MAX_CROSS_REF_HOPS=1 KBDB_DOCUMENT_TYPE=customer_safe KBDB_METADATA_JSON= -KBDB_MIN_SCORE=0.5 \ No newline at end of file +KBDB_MIN_SCORE=0.5 +KBDB_IDENTIFY_DOCUMENT=true +KBDB_STORE_QUERY=true +KBDB_IDENTIFY_TOP_N=3 diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/main.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/main.py index c1d33544..b2d27c25 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/main.py @@ -372,6 +372,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/state.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/state.py index 6ec11159..27d4f7b9 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/workflows/agent_graph.py index d45cb7b9..197d16ec 100644 --- a/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Authentication/agent_template_backend_authentication/app/workflows/agent_graph.py @@ -570,6 +570,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -577,7 +578,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -650,6 +655,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -876,6 +882,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/main.py index d51bbc24..e8383282 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/main.py @@ -366,6 +366,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/state.py index 6ec11159..27d4f7b9 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/workflows/agent_graph.py index d45cb7b9..197d16ec 100644 --- a/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend/app/workflows/agent_graph.py @@ -570,6 +570,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -577,7 +578,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -650,6 +655,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -876,6 +882,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/main.py index 06d1bd14..7e9401f6 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/main.py @@ -361,6 +361,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/state.py index ef4f2c70..9ec69485 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/workflows/agent_graph.py index 1f139537..1f9954cb 100644 --- a/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/External_Guardrails_Judges/agent_template_backend/app/workflows/agent_graph.py @@ -568,6 +568,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -575,7 +576,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -648,6 +653,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -805,6 +811,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/main.py index d51bbc24..e8383282 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/main.py @@ -366,6 +366,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/state.py index 6ec11159..27d4f7b9 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/workflows/agent_graph.py index d45cb7b9..197d16ec 100644 --- a/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Long_Term_Memory/templates/agent_template_backend/app/workflows/agent_graph.py @@ -570,6 +570,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -577,7 +578,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -650,6 +655,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -876,6 +882,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/main.py index 06d1bd14..7e9401f6 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/main.py @@ -361,6 +361,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/state.py index ef4f2c70..9ec69485 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/workflows/agent_graph.py index 1f139537..1f9954cb 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend/app/workflows/agent_graph.py @@ -568,6 +568,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -575,7 +576,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -648,6 +653,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -805,6 +811,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/main.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/main.py index 06d1bd14..7e9401f6 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/main.py @@ -361,6 +361,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/state.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/state.py index ef4f2c70..9ec69485 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py index 1f139537..1f9954cb 100644 --- a/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Normal/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py @@ -568,6 +568,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -575,7 +576,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -648,6 +653,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -805,6 +811,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/main.py index 06d1bd14..7e9401f6 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/main.py @@ -361,6 +361,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/state.py index ef4f2c70..9ec69485 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/workflows/agent_graph.py index 1f139537..1f9954cb 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend/app/workflows/agent_graph.py @@ -568,6 +568,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -575,7 +576,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -648,6 +653,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -805,6 +811,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/main.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/main.py index 06d1bd14..7e9401f6 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/main.py @@ -361,6 +361,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/state.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/state.py index ef4f2c70..9ec69485 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py index 1f139537..1f9954cb 100644 --- a/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Route_Stickness/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py @@ -568,6 +568,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -575,7 +576,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -648,6 +653,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -805,6 +811,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/main.py index e0363157..52585276 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/main.py @@ -460,6 +460,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "transaction_evidence": result.get("relevant_transaction_evidence", []), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/state.py index de25c1e8..fbb54b63 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/workflows/agent_graph.py index f700f35d..87389012 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Evidence/agent_template_backend/app/workflows/agent_graph.py @@ -570,6 +570,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -577,7 +578,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -650,6 +655,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -733,6 +739,7 @@ class AgentWorkflow: relevant_transaction_evidence = list(state.get("relevant_transaction_evidence") or []) judge_context["transaction_evidence"] = relevant_transaction_evidence current_evidence = list(state.get("mcp_results", []) or []) + current_evidence.extend(state.get("rag_results", []) or []) current_evidence.extend(relevant_transaction_evidence) judge_context["evidence"] = current_evidence or judge_context.get("evidence") judge_context["route"] = state.get("route") @@ -880,6 +887,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), "transaction_evidence": state.get("relevant_transaction_evidence", []), }, ) diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/main.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/main.py index 86530a36..891f0e06 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/main.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/main.py @@ -460,6 +460,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "transaction_evidence": result.get("relevant_transaction_evidence", []), "transaction_pre_validation": result.get("transaction_pre_validation"), "business_context": business_context.model_dump(), diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/state.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/state.py index 0b4da3e9..aee4d926 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/state.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/workflows/agent_graph.py index f700f35d..87389012 100644 --- a/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/Tuning-Performance/Transaction_Pre_Validation/agent_template_backend/app/workflows/agent_graph.py @@ -570,6 +570,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -577,7 +578,11 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), + "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), + "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), + "mcp_results": drained.mcp_results, + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -650,6 +655,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -733,6 +739,7 @@ class AgentWorkflow: relevant_transaction_evidence = list(state.get("relevant_transaction_evidence") or []) judge_context["transaction_evidence"] = relevant_transaction_evidence current_evidence = list(state.get("mcp_results", []) or []) + current_evidence.extend(state.get("rag_results", []) or []) current_evidence.extend(relevant_transaction_evidence) judge_context["evidence"] = current_evidence or judge_context.get("evidence") judge_context["route"] = state.get("route") @@ -880,6 +887,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), "transaction_evidence": state.get("relevant_transaction_evidence", []), }, ) diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/__init__.cpython-313.pyc index 047d5216..9e6ab7b1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/extensions.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/extensions.cpython-313.pyc index fd8778da..47e05974 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/extensions.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/extensions.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/idempotency.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/idempotency.cpython-313.pyc index c608aeea..419d753a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/idempotency.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/idempotency.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/observer.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/observer.cpython-313.pyc index 203b5bbb..01101db9 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/observer.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/__pycache__/observer.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/__init__.cpython-313.pyc index 47bd891d..171af7a9 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/composite_publisher.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/composite_publisher.cpython-313.pyc index d8eb7a49..e7aa9016 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/composite_publisher.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/composite_publisher.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/event_builder.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/event_builder.cpython-313.pyc index 62703d07..a06866c9 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/event_builder.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/event_builder.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/factory.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/factory.cpython-313.pyc index eb85102b..1e73aaa8 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/factory.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/factory.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/publisher.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/publisher.cpython-313.pyc index aab04f79..8fcf15f5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/publisher.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/publisher.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_payload_mapper.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_payload_mapper.cpython-313.pyc index dabdbc89..a4a4b6fc 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_payload_mapper.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_payload_mapper.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_sequence.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_sequence.cpython-313.pyc index e4b04ed7..a18f97b5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_sequence.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/__pycache__/tim_sequence.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/__init__.cpython-313.pyc index 603d36e8..31392dd2 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/kafka.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/kafka.cpython-313.pyc index 999cc817..b5e221b2 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/kafka.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/kafka.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/langfuse.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/langfuse.cpython-313.pyc index 81b64310..1387eaaa 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/langfuse.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/langfuse.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/oci_streaming.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/oci_streaming.cpython-313.pyc index af57afa9..585cc284 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/oci_streaming.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/oci_streaming.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/pubsub.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/pubsub.cpython-313.pyc index bdc754f3..cfeae8e0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/pubsub.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/analytics/providers/__pycache__/pubsub.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/__init__.cpython-313.pyc index ce3571a7..beff5c83 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/usage_repository.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/usage_repository.cpython-313.pyc index 6b69221d..386d5fbc 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/usage_repository.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/billing/__pycache__/usage_repository.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/__init__.cpython-313.pyc index 3c13dadb..570985a0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/cache.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/cache.cpython-313.pyc index 9f24e6af..d1242ed3 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/cache.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/cache/__pycache__/cache.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/__init__.cpython-313.pyc index 426ec235..faa15aa3 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/adapters.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/adapters.cpython-313.pyc index c0c3e710..8eace6d7 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/adapters.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/adapters.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/base.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/base.cpython-313.pyc index 4e958512..71705ae5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/base.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/base.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/gateway.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/gateway.cpython-313.pyc index 418c1e32..85a563e8 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/gateway.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/gateway.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/interruption.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/interruption.cpython-313.pyc index b51ae384..f0b0e553 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/interruption.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/interruption.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/transcription.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/transcription.cpython-313.pyc index 7d0f8ede..17f6fd04 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/transcription.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/channels/__pycache__/transcription.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/__init__.cpython-313.pyc index 823af306..a89c93af 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/checkpoint_repository.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/checkpoint_repository.cpython-313.pyc index ea320db5..1b4826bf 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/checkpoint_repository.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/checkpoint_repository.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/langgraph_saver.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/langgraph_saver.cpython-313.pyc index 3daa5593..34b52689 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/langgraph_saver.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/checkpoints/__pycache__/langgraph_saver.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/__init__.cpython-313.pyc index 1a708ad6..a251e689 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/agent_registry.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/agent_registry.cpython-313.pyc index aaa4fd7e..4d737a18 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/agent_registry.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/agent_registry.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/settings.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/settings.cpython-313.pyc index 6e9cb7a3..4175dd4c 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/settings.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/config/__pycache__/settings.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/__init__.cpython-313.pyc index d7cab90e..fb011b5f 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/mcp_gateway_client.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/mcp_gateway_client.cpython-313.pyc index 420e8dff..6c583696 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/mcp_gateway_client.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/gateways/__pycache__/mcp_gateway_client.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/__init__.cpython-313.pyc index d7182df2..e6748692 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/base.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/base.cpython-313.pyc index ed1fbf22..2b0d27b2 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/base.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/base.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/config_loader.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/config_loader.cpython-313.pyc index 61bae08b..fef46f5f 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/config_loader.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/config_loader.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/custom_rails.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/custom_rails.cpython-313.pyc index 062e5a9b..f232e066 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/custom_rails.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/custom_rails.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/framework_llm_client.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/framework_llm_client.cpython-313.pyc index 50a34b75..3163328a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/framework_llm_client.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/framework_llm_client.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/llm_rails.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/llm_rails.cpython-313.pyc index 963724ca..8d8f919a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/llm_rails.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/llm_rails.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/output_supervisor.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/output_supervisor.cpython-313.pyc index c4b79277..548ec054 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/output_supervisor.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/output_supervisor.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/parallel_executor.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/parallel_executor.cpython-313.pyc index 21dc1a65..e3641b6a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/parallel_executor.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/parallel_executor.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/pipeline.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/pipeline.cpython-313.pyc index bf2c81c7..1e5a9b96 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/pipeline.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/pipeline.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_action.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_action.cpython-313.pyc index 9403c2c7..d80bc2d3 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_action.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_action.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_decision.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_decision.cpython-313.pyc index df1c3267..ac1ae631 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_decision.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_decision.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_result.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_result.cpython-313.pyc index 9553b2ed..32fb0ab1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_result.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rail_result.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rails.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rails.cpython-313.pyc index 0a6f6b0e..c5b5b845 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rails.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/__pycache__/rails.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/__init__.cpython-313.pyc index e9006a64..1bfc7a6a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/_compat.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/_compat.cpython-313.pyc index f815d3c5..3916d89d 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/_compat.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/_compat.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contestation_validation.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contestation_validation.cpython-313.pyc index 7a71e277..e818798a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contestation_validation.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contestation_validation.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contracts.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contracts.cpython-313.pyc index ce1a4d85..03726731 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contracts.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/contracts.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/input_size.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/input_size.cpython-313.pyc index 19bcadb5..b21b72b2 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/input_size.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/input_size.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_adapter.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_adapter.cpython-313.pyc index 3da66dd7..b15f86c9 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_adapter.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_adapter.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_client.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_client.cpython-313.pyc index f1404d7c..9c8fbc94 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_client.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_client.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_rails.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_rails.cpython-313.pyc index e89c2722..78bb173b 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_rails.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/llm_rails.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/output_sanitization.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/output_sanitization.cpython-313.pyc index 09d07e13..3d364730 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/output_sanitization.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/output_sanitization.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/pipeline.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/pipeline.cpython-313.pyc index 9a4db631..324b0fb5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/pipeline.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/__pycache__/pipeline.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/__init__.cpython-313.pyc index e086b178..92693d1d 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/_context.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/_context.cpython-313.pyc index e6f46255..24514e29 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/_context.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/_context.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc index ce8fd813..c8eb5e00 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/coerencia.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/coerencia.cpython-313.pyc index e41496fa..acdb4fbd 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/coerencia.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/coerencia.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_in.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_in.cpython-313.pyc index 6365ac61..2eea70b1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_in.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_in.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_out.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_out.cpython-313.pyc index 99d75e45..2b40e1b0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_out.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/dlex_out.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fallback.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fallback.cpython-313.pyc index d3904bcf..37cae7bb 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fallback.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fallback.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fraseologia.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fraseologia.cpython-313.pyc index 4521f683..684c4167 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fraseologia.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/fraseologia.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/out_of_scope.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/out_of_scope.cpython-313.pyc index 752de0e6..1122b7b6 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/out_of_scope.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/out_of_scope.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/pinj.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/pinj.cpython-313.pyc index db480d7d..0fca1941 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/pinj.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/pinj.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ragsec.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ragsec.cpython-313.pyc index 5f4023bd..6bfe4951 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ragsec.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/ragsec.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/revprec.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/revprec.cpython-313.pyc index ff9d2d5b..9f2d9a96 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/revprec.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/revprec.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/tox.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/tox.cpython-313.pyc index 9212d475..831d03ac 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/tox.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/tox.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/toxicidade_output.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/toxicidade_output.cpython-313.pyc index baf476b1..998cae13 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/toxicidade_output.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/prompts/__pycache__/toxicidade_output.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/__init__.cpython-313.pyc index 8934ee8e..aa9d5999 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/alcada.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/alcada.cpython-313.pyc index a1d01dac..1013767c 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/alcada.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/alcada.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/anatel.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/anatel.cpython-313.pyc index 24be80fa..f4a65628 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/anatel.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/anatel.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/confirmation.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/confirmation.cpython-313.pyc index 6924bce5..27d36a48 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/confirmation.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/confirmation.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_in.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_in.cpython-313.pyc index 27537fb7..a5045828 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_in.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_in.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_out.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_out.cpython-313.pyc index 77453b42..4b1e1f9d 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_out.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/dlex_out.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/ragsec.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/ragsec.cpython-313.pyc index 9194807b..d721fe49 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/ragsec.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/ragsec.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/revprec.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/revprec.cpython-313.pyc index a53d2027..7973b2a7 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/revprec.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/revprec.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/tox.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/tox.cpython-313.pyc index 019c89a3..a7e0e360 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/tox.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rails/__pycache__/tox.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/__init__.cpython-313.pyc index 5f3c4ad9..526b5cf1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/alcada.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/alcada.cpython-313.pyc index e22e83be..0c9b4c37 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/alcada.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/alcada.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/pinj_patterns.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/pinj_patterns.cpython-313.pyc index 74c84ca1..2d7ea502 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/pinj_patterns.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/pinj_patterns.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/tox_blocklist.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/tox_blocklist.cpython-313.pyc index 45c61b4d..4e2b23b0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/tox_blocklist.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/guardrails/calibrated/rules/__pycache__/tox_blocklist.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/__init__.cpython-313.pyc index bd9109ad..79439883 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/mcp_mapper.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/mcp_mapper.cpython-313.pyc index bd8769c3..1fffb81f 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/mcp_mapper.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/mcp_mapper.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/models.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/models.cpython-313.pyc index e487e49a..b015c14b 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/models.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/models.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/resolver.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/resolver.cpython-313.pyc index 5fade9b9..4e40edf3 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/resolver.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/identity/__pycache__/resolver.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/__init__.cpython-313.pyc index 0e772978..2c9423c8 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/judge.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/judge.cpython-313.pyc index fbf09e6b..5b6c9bea 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/judge.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/__pycache__/judge.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/__init__.cpython-313.pyc index e973635b..a8f8bd44 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/llm_client.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/llm_client.cpython-313.pyc index dd4cde5e..da332e3a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/llm_client.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/__pycache__/llm_client.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/__init__.cpython-313.pyc index 349e8519..1e1a85bd 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/aluc.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/aluc.cpython-313.pyc index 3fbf3a3d..0569e929 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/aluc.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/aluc.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/csi.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/csi.cpython-313.pyc index 05751df0..ee50b32c 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/csi.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/csi.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/fallback.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/fallback.cpython-313.pyc index 6064ff5d..7487f111 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/fallback.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/fallback.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/rqlt.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/rqlt.cpython-313.pyc index 8689c1c6..cdc86752 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/rqlt.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/rqlt.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/vctn.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/vctn.cpython-313.pyc index 66c3634f..e915a970 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/vctn.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/judges/calibrated/prompts/__pycache__/vctn.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/__init__.cpython-313.pyc index ea7723da..914bae72 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/base.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/base.cpython-313.pyc index 7131a5ee..05e9824a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/base.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/base.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/profile_resolver.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/profile_resolver.cpython-313.pyc index b3c47f9c..edc92cf4 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/profile_resolver.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/profile_resolver.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/providers.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/providers.cpython-313.pyc index c9068838..b551d192 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/providers.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/providers.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/structured_output.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/structured_output.cpython-313.pyc index 1e19fa1e..83898b8e 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/structured_output.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/structured_output.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/types.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/types.cpython-313.pyc index cea65d3d..94ead776 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/types.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/llm/__pycache__/types.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/__init__.cpython-313.pyc index 6837d85c..21ce5a3a 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/client.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/client.cpython-313.pyc index f173a5ba..07e23de3 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/client.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/client.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/models.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/models.cpython-313.pyc index 9147dd2e..a8a2df48 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/models.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/models.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/registry.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/registry.cpython-313.pyc index 669e72b3..9913bbf6 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/registry.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/registry.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_policy.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_policy.cpython-313.pyc index 8c65792a..3a3a8c72 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_policy.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_policy.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_router.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_router.cpython-313.pyc index a2cdd857..ecc2d0cf 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_router.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/mcp/__pycache__/tool_router.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/__init__.cpython-313.pyc index 658bd859..f8e01ee5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_extractor.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_extractor.cpython-313.pyc index c71b6252..13860610 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_extractor.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_extractor.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_memory.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_memory.cpython-313.pyc index 0441f745..6aa97e0f 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_memory.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_memory.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_models.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_models.cpython-313.pyc index b11c0204..5f9e9dab 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_models.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_models.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_store.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_store.cpython-313.pyc index 0982f8cb..36f94e18 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_store.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/long_term_store.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/message_history.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/message_history.cpython-313.pyc index 91e9e279..ade5aed4 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/message_history.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/message_history.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_memory.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_memory.cpython-313.pyc index a3fa8054..3e8188b1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_memory.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_memory.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_store.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_store.cpython-313.pyc index e70f0ede..5f3ce0d4 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_store.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/memory/__pycache__/summary_store.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/__init__.cpython-313.pyc index 87646498..3fa4f458 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/identity.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/identity.cpython-313.pyc index c37e1efa..c273cb37 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/identity.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/identity.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/session.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/session.cpython-313.pyc index e94ab292..142868d5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/session.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/models/__pycache__/session.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/__init__.cpython-313.pyc index 15633666..3095e2ed 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/code_mapper.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/code_mapper.cpython-313.pyc index 9b2dfe17..ff505671 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/code_mapper.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/code_mapper.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/context.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/context.cpython-313.pyc index 94a0e261..0a8326bf 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/context.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/context.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/event_bus.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/event_bus.cpython-313.pyc index b9567f3c..4dd047fb 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/event_bus.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/event_bus.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/guardrail_events.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/guardrail_events.cpython-313.pyc index dee1bde7..f8b4db19 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/guardrail_events.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/guardrail_events.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/ic_events.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/ic_events.cpython-313.pyc index bfb7a899..1737199e 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/ic_events.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/ic_events.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/judge_events.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/judge_events.cpython-313.pyc index 74645fdf..0adfa30d 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/judge_events.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/judge_events.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/langgraph_telemetry.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/langgraph_telemetry.cpython-313.pyc index 12a17b67..594ea750 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/langgraph_telemetry.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/langgraph_telemetry.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/llm_advisors.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/llm_advisors.cpython-313.pyc index 1f4b4f15..fe74b6de 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/llm_advisors.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/llm_advisors.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_contract.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_contract.cpython-313.pyc index 1ed06463..fb73ce38 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_contract.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_contract.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_otel.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_otel.cpython-313.pyc index 1e2b554c..7e18ce6c 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_otel.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/noc_otel.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/observer.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/observer.cpython-313.pyc index 70e9f4d3..8b8e1e10 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/observer.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/observer.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/otel.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/otel.cpython-313.pyc index 09163f85..ef635b56 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/otel.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/otel.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/streaming_events.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/streaming_events.cpython-313.pyc index edcda5b2..a877ac2c 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/streaming_events.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/streaming_events.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/telemetry.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/telemetry.cpython-313.pyc index deb82cf1..6d765162 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/telemetry.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/telemetry.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/token_cost.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/token_cost.cpython-313.pyc index f1008fdb..24460255 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/token_cost.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/token_cost.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/workflow_events.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/workflow_events.cpython-313.pyc index 93dc35b0..f503e3a1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/workflow_events.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/observability/__pycache__/workflow_events.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/__init__.cpython-313.pyc index acd781af..ad435b05 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/auth.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/auth.cpython-313.pyc index 2af4386c..bb18b524 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/auth.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/oci/__pycache__/auth.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/__init__.cpython-313.pyc index 364e0963..733a8d0f 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/oracle_store.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/oracle_store.cpython-313.pyc index 0095c968..e56a6369 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/oracle_store.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/oracle_store.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/sqlite_store.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/sqlite_store.cpython-313.pyc index a0efd068..cb0ebebe 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/sqlite_store.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/persistence/__pycache__/sqlite_store.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/__init__.cpython-313.pyc index 89c4493e..6f0c89e4 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/renderers.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/renderers.cpython-313.pyc index c896e8ea..1968a29d 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/renderers.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/presentation/__pycache__/renderers.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/__init__.cpython-313.pyc index ec312ff3..c9d635ac 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/embedding_provider.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/embedding_provider.cpython-313.pyc index 0ff0750c..bdf965d5 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/embedding_provider.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/embedding_provider.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/graph_store.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/graph_store.cpython-313.pyc index de313c88..9b882352 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/graph_store.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/graph_store.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/ingest.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/ingest.cpython-313.pyc index 0ea52795..835fcdfa 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/ingest.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/ingest.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/kbdb_service.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/kbdb_service.cpython-313.pyc index eaaa2b58..f723c4b3 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/kbdb_service.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/kbdb_service.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/rag_service.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/rag_service.cpython-313.pyc index 142e1668..937bb6e0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/rag_service.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/rag_service.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/vector_store.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/vector_store.cpython-313.pyc index 2f1ba423..0472c07d 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/vector_store.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/__pycache__/vector_store.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/kbdb_service.py b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/kbdb_service.py index e8422b24..423b805d 100644 --- a/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/kbdb_service.py +++ b/agent_framework_oci/libs/agent_framework/src/agent_framework/rag/kbdb_service.py @@ -85,6 +85,43 @@ class KbdbRagService: finally: conn.close() + @staticmethod + def _procedure_arguments(cur) -> list[dict[str, Any]]: + """Discover the installed facade signature instead of assuming bind types.""" + cur.execute( + """ + SELECT argument_name, position, in_out, data_type, overload + FROM all_arguments + WHERE package_name = 'PKG_KB_SERVING' + AND object_name = 'SEARCH_KNOWLEDGE_BASE' + AND data_level = 0 + ORDER BY NVL(overload, '0'), sequence + """ + ) + rows = cur.fetchall() + if not rows: + return [] + # Use the first visible overload. Each returned row describes one bind. + first_overload = rows[0][4] + return [ + { + "name": str(row[0] or ""), + "position": int(row[1] or 0), + "in_out": str(row[2] or "IN").upper(), + "data_type": str(row[3] or "").upper(), + } + for row in rows + if row[4] == first_overload and int(row[1] or 0) > 0 + ] + + @staticmethod + def _out_var(cur, oracledb, data_type: str): + if data_type == "JSON" and hasattr(oracledb, "DB_TYPE_JSON"): + return cur.var(oracledb.DB_TYPE_JSON) + if data_type in {"CLOB", "NCLOB"} and hasattr(oracledb, "DB_TYPE_CLOB"): + return cur.var(oracledb.DB_TYPE_CLOB) + return cur.var(oracledb.DB_TYPE_VARCHAR, size=32767) + def _search_sync(self, query: str, k: int) -> dict[str, Any]: import oracledb metadata = self.settings.KBDB_METADATA_JSON @@ -95,8 +132,13 @@ class KbdbRagService: cur = conn.cursor() if self.settings.KBDB_MIN_SCORE is not None: cur.callproc("PKG_KB_SERVING.set_min_score", [float(self.settings.KBDB_MIN_SCORE)]) - out = cur.var(oracledb.DB_TYPE_JSON) - cur.callproc("PKG_KB_SERVING.search_knowledge_base", [ + signature = self._procedure_arguments(cur) + if not signature: + raise RuntimeError( + "Não foi possível descobrir a assinatura de " + "PKG_KB_SERVING.SEARCH_KNOWLEDGE_BASE em ALL_ARGUMENTS" + ) + canonical_inputs = [ self.settings.KBDB_SEARCH_TYPE, query, int(k), @@ -106,8 +148,50 @@ class KbdbRagService: int(self.settings.KBDB_MAX_CROSS_REF_HOPS), self.settings.KBDB_DOCUMENT_TYPE or None, metadata or None, - out, - ]) + ] + named_inputs = { + "SEARCH_TYPE": self.settings.KBDB_SEARCH_TYPE, + "QUERY": query, + "QUERY_TEXT": query, + "QUESTION": query, + "TOP_K": int(k), + "K": int(k), + "NODE_EXPANSION": bool(self.settings.KBDB_NODE_EXPANSION), + "ENABLE_NODE_EXPANSION": bool(self.settings.KBDB_NODE_EXPANSION), + "NODE_MAX_RELATED": int(self.settings.KBDB_NODE_MAX_RELATED), + "MAX_RELATED_NODES": int(self.settings.KBDB_NODE_MAX_RELATED), + "GRAPH_CROSS_REF": bool(self.settings.KBDB_GRAPH_CROSS_REF), + "ENABLE_GRAPH_CROSS_REF": bool(self.settings.KBDB_GRAPH_CROSS_REF), + "MAX_CROSS_REF_HOPS": int(self.settings.KBDB_MAX_CROSS_REF_HOPS), + "DOCUMENT_TYPE": self.settings.KBDB_DOCUMENT_TYPE or None, + "METADATA_JSON": metadata or None, + "METADATA": metadata or None, + } + input_index = 0 + binds: list[Any] = [] + out = None + for argument in signature: + if "OUT" in argument["in_out"]: + bind = self._out_var(cur, oracledb, argument["data_type"]) + binds.append(bind) + out = bind + continue + if input_index >= len(canonical_inputs): + raise RuntimeError( + "Assinatura KBDB possui parâmetros de entrada não suportados: " + f"{[item['name'] for item in signature]}" + ) + normalized_name = argument["name"].strip().upper() + if normalized_name.startswith("P_"): + normalized_name = normalized_name[2:] + value = named_inputs.get(normalized_name, canonical_inputs[input_index]) + input_index += 1 + if argument["data_type"] == "NUMBER" and isinstance(value, bool): + value = 1 if value else 0 + binds.append(value) + if out is None: + raise RuntimeError("Assinatura KBDB não possui parâmetro OUT visível") + cur.callproc("PKG_KB_SERVING.search_knowledge_base", binds) value = _lob_value(out.getvalue()) if isinstance(value, str): return json.loads(value) diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/__init__.cpython-313.pyc index 472278b0..f3260451 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/session_repository.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/session_repository.cpython-313.pyc index 312153fa..ae555f55 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/session_repository.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/repositories/__pycache__/session_repository.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/__init__.cpython-313.pyc index 333011b8..3c9f6b05 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/config_loader.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/config_loader.cpython-313.pyc index a75ba967..fcbbfdfb 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/config_loader.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/config_loader.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/continuity.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/continuity.cpython-313.pyc index 44f00e26..3bb32a12 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/continuity.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/continuity.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/enterprise_router.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/enterprise_router.cpython-313.pyc index 572ecf90..53b18084 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/enterprise_router.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/enterprise_router.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/models.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/models.cpython-313.pyc index d8b32772..6b7c1641 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/models.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/models.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/multi_intent.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/multi_intent.cpython-313.pyc index 2419ff36..57aed7e1 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/multi_intent.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/multi_intent.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/pending_topics.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/pending_topics.cpython-313.pyc index 932cd3a8..52a2d154 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/pending_topics.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/__pycache__/pending_topics.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/multi_intent.py b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/multi_intent.py index b135326d..ed64cf8a 100644 --- a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/multi_intent.py +++ b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/multi_intent.py @@ -38,7 +38,7 @@ class MultiIntentPlanner: Execution remains owned by the agent/workflow runtime. """ - _SPLIT = re.compile(r"\s*(?:,|;|\be\b|\bmas\b|\btamb[eé]m\b)\s*", re.I) + _SPLIT = re.compile(r"\s*(?:[.!?]+|,|;|\be\b|\bmas\b|\btamb[eé]m\b)\s*", re.I) _CONFIRM_WITH_REMAINDER = re.compile( r"^\s*(?:sim|s|pode|pode\s+sim|isso\s+mesmo|claro|ok|confirmo)\s*(?:,|;|\be\b)\s*(.+)$", re.I, diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/pending_topics.py b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/pending_topics.py index 4a77f9ba..8996e88f 100644 --- a/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/pending_topics.py +++ b/agent_framework_oci/libs/agent_framework/src/agent_framework/routing/pending_topics.py @@ -14,6 +14,7 @@ class PendingTopicDrain: pending_topics: list[dict[str, Any]] handled_topics: list[dict[str, Any]] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] async def drain_pending_topics( @@ -30,6 +31,7 @@ async def drain_pending_topics( remaining: list[dict[str, Any]] = [] handled = list(state.get("handled_topics") or []) combined_mcp_results = list(state.get("mcp_results") or []) + combined_rag_results = list(state.get("rag_results") or []) secondary_answers: list[str] = [] for topic in topics: disposition = topic.get("disposition") @@ -88,6 +90,20 @@ async def drain_pending_topics( for evidence in (result or {}).get("mcp_results") or []: if isinstance(evidence, dict) and evidence not in combined_mcp_results: combined_mcp_results.append(evidence) + rag_metadata = (result or {}).get("rag") + rag_context = str((result or {}).get("rag_context") or "").strip() + if isinstance(rag_metadata, dict): + rag_evidence = { + "operation_id": topic.get("operation_id"), + "intent": topic.get("intent"), + "agent": topic.get("agent"), + "source_text": source_text, + "metadata": rag_metadata, + } + if rag_context: + rag_evidence["context"] = rag_context + if rag_evidence not in combined_rag_results: + combined_rag_results.append(rag_evidence) secondary_answers.append(answer) handled.append({**topic, "status": "completed"}) @@ -99,4 +115,6 @@ async def drain_pending_topics( if unique: secondary = "\n\n".join(unique) candidate = f"{candidate.rstrip()}\n\n{secondary}".strip() - return PendingTopicDrain(candidate, remaining, handled, combined_mcp_results) + return PendingTopicDrain( + candidate, remaining, handled, combined_mcp_results, combined_rag_results + ) diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/__init__.cpython-313.pyc index 9bcad7f7..0a6e6f46 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/agent_runtime.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/agent_runtime.cpython-313.pyc index 053f4dc1..2fa877d0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/agent_runtime.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/agent_runtime.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/transaction_parameters.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/transaction_parameters.cpython-313.pyc index d95c6ede..359fe755 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/transaction_parameters.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/runtime/__pycache__/transaction_parameters.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/__init__.cpython-313.pyc index 2c4f45ab..26baa626 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/events.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/events.cpython-313.pyc index 52885970..c1716a17 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/events.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/sse/__pycache__/events.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/__init__.cpython-313.pyc index 094a1101..568462bf 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/supervisor.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/supervisor.cpython-313.pyc index af02e699..101f6020 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/supervisor.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/supervisor/__pycache__/supervisor.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/__init__.cpython-313.pyc index b3df8ea0..1ea33ed2 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/__init__.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/__init__.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/graph.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/graph.cpython-313.pyc index 1b0a21b6..b7834f57 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/graph.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/graph.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/input_contract.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/input_contract.cpython-313.pyc index 0dac1f25..e81dd4bf 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/input_contract.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/input_contract.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/models.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/models.cpython-313.pyc index c08980d5..b7a0b9f8 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/models.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/models.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/registry.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/registry.cpython-313.pyc index 3ad59d88..3f248383 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/registry.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/registry.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/repository.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/repository.cpython-313.pyc index b4b0d991..f14e44c0 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/repository.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/repository.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/runtime.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/runtime.cpython-313.pyc index 7b4574f8..5386cb34 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/runtime.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/runtime.cpython-313.pyc differ diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/tool_executor.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/tool_executor.cpython-313.pyc index 69526bfe..d5b2da55 100644 Binary files a/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/tool_executor.cpython-313.pyc and b/agent_framework_oci/libs/agent_framework/src/agent_framework/workflows/__pycache__/tool_executor.cpython-313.pyc differ diff --git a/agent_framework_oci/scripts/sync_pending_topics_to_tuning.py b/agent_framework_oci/scripts/sync_pending_topics_to_tuning.py index c91eaf21..e6e812a3 100644 --- a/agent_framework_oci/scripts/sync_pending_topics_to_tuning.py +++ b/agent_framework_oci/scripts/sync_pending_topics_to_tuning.py @@ -13,16 +13,23 @@ def replace_once(text: str, old: str, new: str, path: Path) -> str: def update_state(path: Path) -> None: text = path.read_text(encoding="utf-8") - if " pending_topics: list[dict[str, Any]]" in text: - return - text = replace_once( - text, - " supervisor_results: list[dict[str, Any]]\n", - " supervisor_results: list[dict[str, Any]]\n" - " pending_topics: list[dict[str, Any]]\n" - " handled_topics: list[dict[str, Any]]\n", - path, - ) + if " pending_topics: list[dict[str, Any]]" not in text: + text = replace_once( + text, + " supervisor_results: list[dict[str, Any]]\n", + " supervisor_results: list[dict[str, Any]]\n" + " pending_topics: list[dict[str, Any]]\n" + " handled_topics: list[dict[str, Any]]\n", + path, + ) + if " rag_results: list[dict[str, Any]]" not in text: + text = replace_once( + text, + " mcp_results: list[dict[str, Any]]\n", + " mcp_results: list[dict[str, Any]]\n" + " rag_results: list[dict[str, Any]]\n", + path, + ) path.write_text(text, encoding="utf-8") @@ -121,17 +128,80 @@ def update_guardrail_evidence_context(path: Path) -> None: path.write_text(text, encoding="utf-8") +def update_rag_propagation(path: Path) -> None: + text = path.read_text(encoding="utf-8") + mcp_line = ' "mcp_results": drained.mcp_results,\n' + rag_line = mcp_line + ' "rag_results": drained.rag_results,\n' + if rag_line not in text: + if mcp_line not in text: + raise RuntimeError(f"Marcador MCP não encontrado em {path}") + text = text.replace(mcp_line, rag_line) + text = text.replace( + ' "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"),\n', + ' "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"),\n', + ) + marker = ' current_evidence = list(state.get("mcp_results", []) or [])\n' + addition = marker + ' current_evidence.extend(state.get("rag_results", []) or [])\n' + if marker in text and addition not in text: + text = text.replace(marker, addition, 1) + path.write_text(text, encoding="utf-8") + + +def update_rag_agents(path: Path) -> None: + text = path.read_text(encoding="utf-8") + marker = ' "rag": rag_metadata,\n' + if marker not in text or ' "rag_results": [{\n' in text: + return + addition = marker + ( + ' "rag_context": rag_context,\n' + ' "rag_results": [{\n' + ' "intent": state.get("intent"),\n' + ' "agent": self.name,\n' + ' "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""),\n' + ' "metadata": rag_metadata,\n' + ' **({"context": rag_context} if rag_context else {}),\n' + ' }],\n' + ) + path.write_text(text.replace(marker, addition, 1), encoding="utf-8") + + +def update_rag_http_response(path: Path) -> None: + text = path.read_text(encoding="utf-8") + marker = ' "mcp_results": result.get("mcp_results"),\n' + addition = marker + ' "rag_results": result.get("rag_results"),\n' + if addition not in text: + text = replace_once(text, marker, addition, path) + path.write_text(text, encoding="utf-8") + + +def update_rag_telemetry(path: Path) -> None: + text = path.read_text(encoding="utf-8") + marker = ' "mcp_results": state.get("mcp_results", []),\n' + addition = marker + ' "rag_results": state.get("rag_results", []),\n' + if addition not in text: + text = replace_once(text, marker, addition, path) + path.write_text(text, encoding="utf-8") + + def main() -> None: tuning = ROOT / "Tuning-Performance" states = sorted(tuning.glob("**/app/state.py")) graphs = sorted(tuning.glob("**/app/workflows/agent_graph.py")) + agents = sorted(tuning.glob("**/app/agents/*.py")) + mains = sorted(tuning.glob("**/app/main.py")) for path in states: update_state(path) for path in graphs: update_graph(path) update_evidence_propagation(path) update_guardrail_evidence_context(path) - print(f"pending_topics sincronizado: {len(states)} states, {len(graphs)} graphs") + update_rag_propagation(path) + update_rag_telemetry(path) + for path in agents: + update_rag_agents(path) + for path in mains: + update_rag_http_response(path) + print(f"pending_topics/RAG sincronizado: {len(states)} states, {len(graphs)} graphs, {len(agents)} agents, {len(mains)} APIs") if __name__ == "__main__": diff --git a/agent_framework_oci/templates/agent_template_backend/app/agents/billing_agent.py b/agent_framework_oci/templates/agent_template_backend/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/agents/billing_agent.py +++ b/agent_framework_oci/templates/agent_template_backend/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend/app/agents/orders_agent.py b/agent_framework_oci/templates/agent_template_backend/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/agents/orders_agent.py +++ b/agent_framework_oci/templates/agent_template_backend/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend/app/agents/product_agent.py b/agent_framework_oci/templates/agent_template_backend/app/agents/product_agent.py index 113bd8e9..cc65c705 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/agents/product_agent.py +++ b/agent_framework_oci/templates/agent_template_backend/app/agents/product_agent.py @@ -123,6 +123,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend/app/agents/support_agent.py b/agent_framework_oci/templates/agent_template_backend/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/agents/support_agent.py +++ b/agent_framework_oci/templates/agent_template_backend/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend/app/main.py b/agent_framework_oci/templates/agent_template_backend/app/main.py index 86530a36..891f0e06 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/main.py +++ b/agent_framework_oci/templates/agent_template_backend/app/main.py @@ -460,6 +460,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "transaction_evidence": result.get("relevant_transaction_evidence", []), "transaction_pre_validation": result.get("transaction_pre_validation"), "business_context": business_context.model_dump(), diff --git a/agent_framework_oci/templates/agent_template_backend/app/state.py b/agent_framework_oci/templates/agent_template_backend/app/state.py index 0b4da3e9..aee4d926 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/state.py +++ b/agent_framework_oci/templates/agent_template_backend/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/templates/agent_template_backend/app/workflows/agent_graph.py b/agent_framework_oci/templates/agent_template_backend/app/workflows/agent_graph.py index d1455b4c..f76c2c7d 100644 --- a/agent_framework_oci/templates/agent_template_backend/app/workflows/agent_graph.py +++ b/agent_framework_oci/templates/agent_template_backend/app/workflows/agent_graph.py @@ -570,6 +570,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -577,7 +578,7 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -650,6 +651,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -733,6 +735,7 @@ class AgentWorkflow: relevant_transaction_evidence = list(state.get("relevant_transaction_evidence") or []) judge_context["transaction_evidence"] = relevant_transaction_evidence current_evidence = list(state.get("mcp_results", []) or []) + current_evidence.extend(state.get("rag_results", []) or []) current_evidence.extend(relevant_transaction_evidence) judge_context["evidence"] = current_evidence or judge_context.get("evidence") judge_context["route"] = state.get("route") @@ -880,6 +883,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), "transaction_evidence": state.get("relevant_transaction_evidence", []), }, ) diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/billing_agent.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/billing_agent.py index aa600999..e627beb9 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/billing_agent.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/billing_agent.py @@ -108,6 +108,14 @@ class BillingAgent(AgentRuntimeMixin): "next_state": "BILLING_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/orders_agent.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/orders_agent.py index f557bed4..bdb3c244 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/orders_agent.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/orders_agent.py @@ -108,6 +108,14 @@ class OrdersAgent(AgentRuntimeMixin): "next_state": "ORDER_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/product_agent.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/product_agent.py index 34433f57..3e1f0d6d 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/product_agent.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/product_agent.py @@ -108,6 +108,14 @@ class ProductAgent(AgentRuntimeMixin): "next_state": "PRODUCT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/support_agent.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/support_agent.py index b4f0244f..99562a7d 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/support_agent.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/agents/support_agent.py @@ -108,6 +108,14 @@ class SupportAgent(AgentRuntimeMixin): "next_state": "SUPPORT_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/main.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/main.py index 670f85f9..0b9f0a6e 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/main.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/main.py @@ -455,6 +455,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "business_context": business_context.model_dump(), "identity_missing": missing_identity_keys, "judges": result.get("judge_results"), diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/state.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/state.py index fb4a93bd..a0016e73 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/state.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/agent_framework_oci/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py b/agent_framework_oci/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py index 76d16dfb..aa4726f6 100644 --- a/agent_framework_oci/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py +++ b/agent_framework_oci/templates/agent_template_backend_day_zero/app/workflows/agent_graph.py @@ -568,6 +568,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), @@ -575,7 +576,7 @@ class AgentWorkflow: context = { **(state.get("context") or {}), - "evidence": drained.mcp_results or (state.get("context") or {}).get("evidence"), + "evidence": (list(drained.mcp_results) + list(drained.rag_results)) or (state.get("context") or {}).get("evidence"), "tool_result": drained.mcp_results or (state.get("context") or {}).get("tool_result"), "tool_executed": any(isinstance(item, dict) and item.get("ok") for item in drained.mcp_results), "mcp_results": drained.mcp_results, @@ -648,6 +649,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "guardrail_decisions": state.get("guardrail_decisions", []) + [item for r in decision.results for item in (r.metadata or {}).get("legacy_decisions", [])], } @@ -805,6 +807,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), }, ) diff --git a/agent_framework_oci/tests/unit/test_multi_intent_planner.py b/agent_framework_oci/tests/unit/test_multi_intent_planner.py index 2f47ab81..d463d6bd 100644 --- a/agent_framework_oci/tests/unit/test_multi_intent_planner.py +++ b/agent_framework_oci/tests/unit/test_multi_intent_planner.py @@ -40,6 +40,20 @@ def test_transactional_intent_is_primary_even_when_mentioned_second(): assert [item.intent for item in plan.operations] == ["cancel", "invoice"] +def test_sentence_boundary_does_not_leak_previous_intent_into_knowledge_query(): + planner = MultiIntentPlanner([ + IntentDefinition(name="invoice", agent="billing", priority=20, keywords=["fatura"]), + IntentDefinition(name="knowledge", agent="support", priority=30, keywords=["tarifação"]), + ]) + plan = planner.plan( + "quero ver minha fatura e o valor. depois gostaria de saber como funciona a tarifação do plano" + ) + assert plan is not None + knowledge = next(item for item in plan.operations if item.intent == "knowledge") + assert knowledge.source_text == "depois gostaria de saber como funciona a tarifação do plano" + assert not knowledge.source_text.startswith("valor") + + def test_does_not_plan_single_intent_or_invent_unknown_intent(): assert _planner().plan("quero cancelar pedido") is None assert _planner().plan("quero cancelar pedido e saber o clima") is None diff --git a/agent_framework_oci/tests/unit/test_pending_topics_isolation.py b/agent_framework_oci/tests/unit/test_pending_topics_isolation.py index d5c1b69b..e2dbb948 100644 --- a/agent_framework_oci/tests/unit/test_pending_topics_isolation.py +++ b/agent_framework_oci/tests/unit/test_pending_topics_isolation.py @@ -12,6 +12,8 @@ async def test_secondary_topic_does_not_inherit_primary_transaction_state(): return { "answer": "Aqui está a sua segunda via.", "mcp_results": [{"tool_name": "consultar_faturas", "ok": True}], + "rag": {"provider": "kbdb", "attempted": True, "status": "executed", "document_count": 1}, + "rag_context": "Documento recuperado da base de conhecimento.", } state = { @@ -59,3 +61,5 @@ async def test_secondary_topic_does_not_inherit_primary_transaction_state(): {"tool_name": "consultar_vas"}, {"tool_name": "consultar_faturas", "ok": True}, ] + assert result.rag_results[0]["metadata"]["provider"] == "kbdb" + assert result.rag_results[0]["context"] == "Documento recuperado da base de conhecimento." diff --git a/agent_framework_oci/tests/unit/test_rag_kbdb_provider.py b/agent_framework_oci/tests/unit/test_rag_kbdb_provider.py index b3d1722d..75192dbc 100644 --- a/agent_framework_oci/tests/unit/test_rag_kbdb_provider.py +++ b/agent_framework_oci/tests/unit/test_rag_kbdb_provider.py @@ -1,4 +1,5 @@ from types import SimpleNamespace +from contextlib import contextmanager import pytest @@ -115,3 +116,68 @@ def test_kbdb_does_not_fallback_to_framework_adb_credentials(): ) with pytest.raises(RuntimeError, match="KBDB_DB_USER"): KbdbRagService(settings) + + +def test_kbdb_discovers_number_flags_and_clob_output(monkeypatch): + import sys + from agent_framework.rag.kbdb_service import KbdbRagService + + captured = {} + + class Var: + def __init__(self, value=None): + self.value = value + + def getvalue(self): + return self.value + + class Cursor: + def execute(self, statement): + captured["signature_query"] = statement + + def fetchall(self): + names = [ + ("P_SEARCH_TYPE", "VARCHAR2"), ("P_QUERY", "VARCHAR2"), + ("P_TOP_K", "NUMBER"), ("P_NODE_EXPANSION", "NUMBER"), + ("P_NODE_MAX_RELATED", "NUMBER"), ("P_GRAPH_CROSS_REF", "NUMBER"), + ("P_MAX_CROSS_REF_HOPS", "NUMBER"), ("P_DOCUMENT_TYPE", "VARCHAR2"), + ("P_METADATA_JSON", "CLOB"), ("P_RESULT", "CLOB"), + ] + return [ + (name, index, "OUT" if index == 10 else "IN", data_type, None) + for index, (name, data_type) in enumerate(names, start=1) + ] + + def var(self, data_type, size=None): + captured["out_type"] = data_type + return Var('{"units": [], "seeds": []}') + + def callproc(self, name, binds): + captured["procedure"] = name + captured["binds"] = binds + + class Connection: + def cursor(self): + return Cursor() + + class FakeOracleDb: + DB_TYPE_JSON = "JSON" + DB_TYPE_CLOB = "CLOB" + DB_TYPE_VARCHAR = "VARCHAR" + + service = KbdbRagService(_settings()) + + @contextmanager + def connect(): + yield Connection() + + monkeypatch.setitem(sys.modules, "oracledb", FakeOracleDb) + monkeypatch.setattr(service, "_connect", connect) + + result = service._search_sync("como funciona?", 5) + + assert result == {"units": [], "seeds": []} + assert captured["procedure"] == "PKG_KB_SERVING.search_knowledge_base" + assert captured["binds"][3] == 1 + assert captured["binds"][5] == 0 + assert captured["out_type"] == "CLOB" diff --git a/agent_framework_oci/tests/unit/test_tuning_pending_topics_sync.py b/agent_framework_oci/tests/unit/test_tuning_pending_topics_sync.py index f5f77d60..dbe1abb7 100644 --- a/agent_framework_oci/tests/unit/test_tuning_pending_topics_sync.py +++ b/agent_framework_oci/tests/unit/test_tuning_pending_topics_sync.py @@ -13,7 +13,8 @@ def test_all_tuning_backend_graphs_support_pending_topics(): assert '"pending_topics": drained.pending_topics' in source, path assert '"handled_topics": drained.handled_topics' in source, path assert '"mcp_results": drained.mcp_results' in source, path - assert '"evidence": drained.mcp_results' in source, path + assert '"rag_results": drained.rag_results' in source, path + assert 'list(drained.mcp_results) + list(drained.rag_results)' in source, path def test_all_tuning_backend_states_expose_pending_topics(): @@ -23,6 +24,7 @@ def test_all_tuning_backend_states_expose_pending_topics(): source = path.read_text(encoding="utf-8") assert "pending_topics: list[dict[str, Any]]" in source, path assert "handled_topics: list[dict[str, Any]]" in source, path + assert "rag_results: list[dict[str, Any]]" in source, path def test_canonical_templates_delegate_drain_to_framework_helper(): @@ -36,7 +38,35 @@ def test_canonical_templates_delegate_drain_to_framework_helper(): assert '"pending_topics": drained.pending_topics' in graph_source assert '"handled_topics": drained.handled_topics' in graph_source assert '"mcp_results": drained.mcp_results' in graph_source - assert '"evidence": drained.mcp_results' in graph_source + assert '"rag_results": drained.rag_results' in graph_source + assert 'list(drained.mcp_results) + list(drained.rag_results)' in graph_source assert "MultiIntentPlanner.public_messages" not in graph_source assert "pending_topics: list[dict[str, Any]]" in state_source assert "handled_topics: list[dict[str, Any]]" in state_source + assert "rag_results: list[dict[str, Any]]" in state_source + + +def test_all_rag_agents_expose_metadata_and_context_as_state_evidence(): + roots = [ROOT / "templates", ROOT / "Tuning-Performance"] + agents = sorted( + path + for root in roots + for path in root.glob("**/app/agents/*.py") + if '"rag": rag_metadata' in path.read_text(encoding="utf-8") + ) + assert agents + for path in agents: + source = path.read_text(encoding="utf-8") + assert '"rag_context": rag_context' in source, path + assert '"rag_results": [{' in source, path + + +def test_templates_and_tuning_expose_rag_results_in_api_and_telemetry(): + roots = [ROOT / "templates", ROOT / "Tuning-Performance"] + mains = sorted(path for root in roots for path in root.glob("**/app/main.py")) + graphs = sorted(path for root in roots for path in root.glob("**/app/workflows/agent_graph.py")) + assert mains and graphs + for path in mains: + assert '"rag_results": result.get("rag_results")' in path.read_text(encoding="utf-8"), path + for path in graphs: + assert '"rag_results": state.get("rag_results", [])' in path.read_text(encoding="utf-8"), path diff --git a/app/__pycache__/__init__.cpython-313.pyc b/app/__pycache__/__init__.cpython-313.pyc index 781a57ef..6d05eaee 100644 Binary files a/app/__pycache__/__init__.cpython-313.pyc and b/app/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/__pycache__/main.cpython-313.pyc b/app/__pycache__/main.cpython-313.pyc index f2197f49..f7997d8a 100644 Binary files a/app/__pycache__/main.cpython-313.pyc and b/app/__pycache__/main.cpython-313.pyc differ diff --git a/app/__pycache__/state.cpython-313.pyc b/app/__pycache__/state.cpython-313.pyc index dae1920f..74a9f80e 100644 Binary files a/app/__pycache__/state.cpython-313.pyc and b/app/__pycache__/state.cpython-313.pyc differ diff --git a/app/agents/__pycache__/contas_prompting.cpython-313.pyc b/app/agents/__pycache__/contas_prompting.cpython-313.pyc index 016b3f95..dd62e63e 100644 Binary files a/app/agents/__pycache__/contas_prompting.cpython-313.pyc and b/app/agents/__pycache__/contas_prompting.cpython-313.pyc differ diff --git a/app/agents/__pycache__/contestacao_agent.cpython-313.pyc b/app/agents/__pycache__/contestacao_agent.cpython-313.pyc index b8af5d5a..55690e70 100644 Binary files a/app/agents/__pycache__/contestacao_agent.cpython-313.pyc and b/app/agents/__pycache__/contestacao_agent.cpython-313.pyc differ diff --git a/app/agents/__pycache__/faturas_agent.cpython-313.pyc b/app/agents/__pycache__/faturas_agent.cpython-313.pyc index eece0df0..b3ae4568 100644 Binary files a/app/agents/__pycache__/faturas_agent.cpython-313.pyc and b/app/agents/__pycache__/faturas_agent.cpython-313.pyc differ diff --git a/app/agents/__pycache__/prompting.cpython-313.pyc b/app/agents/__pycache__/prompting.cpython-313.pyc index d2efc7f4..6557f70b 100644 Binary files a/app/agents/__pycache__/prompting.cpython-313.pyc and b/app/agents/__pycache__/prompting.cpython-313.pyc differ diff --git a/app/agents/__pycache__/runtime.cpython-313.pyc b/app/agents/__pycache__/runtime.cpython-313.pyc index bdbf4eea..97c6b146 100644 Binary files a/app/agents/__pycache__/runtime.cpython-313.pyc and b/app/agents/__pycache__/runtime.cpython-313.pyc differ diff --git a/app/agents/__pycache__/suporte_contas_agent.cpython-313.pyc b/app/agents/__pycache__/suporte_contas_agent.cpython-313.pyc index a905607f..7818369a 100644 Binary files a/app/agents/__pycache__/suporte_contas_agent.cpython-313.pyc and b/app/agents/__pycache__/suporte_contas_agent.cpython-313.pyc differ diff --git a/app/agents/__pycache__/vas_agent.cpython-313.pyc b/app/agents/__pycache__/vas_agent.cpython-313.pyc index 8fce285f..a3c8277e 100644 Binary files a/app/agents/__pycache__/vas_agent.cpython-313.pyc and b/app/agents/__pycache__/vas_agent.cpython-313.pyc differ diff --git a/app/agents/contestacao_agent.py b/app/agents/contestacao_agent.py index 39339e8a..987f36f7 100644 --- a/app/agents/contestacao_agent.py +++ b/app/agents/contestacao_agent.py @@ -111,6 +111,14 @@ class ContestacaoAgent(AgentRuntimeMixin): "next_state": "CONTESTACAO_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), } diff --git a/app/agents/faturas_agent.py b/app/agents/faturas_agent.py index 7fd5d84f..7defd757 100644 --- a/app/agents/faturas_agent.py +++ b/app/agents/faturas_agent.py @@ -219,6 +219,14 @@ class FaturasAgent(AgentRuntimeMixin): "next_state": "FATURAS_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **self.transaction_state_patch(state), **handoff_patch, diff --git a/app/agents/suporte_contas_agent.py b/app/agents/suporte_contas_agent.py index 6cad6549..99a0e213 100644 --- a/app/agents/suporte_contas_agent.py +++ b/app/agents/suporte_contas_agent.py @@ -129,6 +129,14 @@ class SuporteContasAgent(AgentRuntimeMixin): "next_state": "SUPORTE_CONTAS_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **informational_patch, **self.transaction_state_patch(state), diff --git a/app/agents/vas_agent.py b/app/agents/vas_agent.py index 61beb27e..dd02147b 100644 --- a/app/agents/vas_agent.py +++ b/app/agents/vas_agent.py @@ -116,6 +116,14 @@ class VasAgent(AgentRuntimeMixin): "next_state": "VAS_ACTIVE", "mcp_results": tool_context, "rag": rag_metadata, + "rag_context": rag_context, + "rag_results": [{ + "intent": state.get("intent"), + "agent": self.name, + "source_text": str(state.get("sanitized_input") or state.get("user_text") or ""), + "metadata": rag_metadata, + **({"context": rag_context} if rag_context else {}), + }], "memory_context_metadata": state.get("memory_context_metadata"), **informational_patch, **self.transaction_state_patch(state), diff --git a/app/domain/__pycache__/__init__.cpython-313.pyc b/app/domain/__pycache__/__init__.cpython-313.pyc index a08d0a88..768c9600 100644 Binary files a/app/domain/__pycache__/__init__.cpython-313.pyc and b/app/domain/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/__init__.cpython-313.pyc b/app/domain/contas/__pycache__/__init__.cpython-313.pyc index 86a9004a..f7dd23d9 100644 Binary files a/app/domain/contas/__pycache__/__init__.cpython-313.pyc and b/app/domain/contas/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/client.cpython-313.pyc b/app/domain/contas/__pycache__/client.cpython-313.pyc index c9b6df53..c600cddd 100644 Binary files a/app/domain/contas/__pycache__/client.cpython-313.pyc and b/app/domain/contas/__pycache__/client.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/conversation_policy.cpython-313.pyc b/app/domain/contas/__pycache__/conversation_policy.cpython-313.pyc index 1eb2f818..b304a4f7 100644 Binary files a/app/domain/contas/__pycache__/conversation_policy.cpython-313.pyc and b/app/domain/contas/__pycache__/conversation_policy.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/informational_context.cpython-313.pyc b/app/domain/contas/__pycache__/informational_context.cpython-313.pyc index 1d9a8563..f4e92e83 100644 Binary files a/app/domain/contas/__pycache__/informational_context.cpython-313.pyc and b/app/domain/contas/__pycache__/informational_context.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/invoice_models.cpython-313.pyc b/app/domain/contas/__pycache__/invoice_models.cpython-313.pyc index f32238c8..e438608a 100644 Binary files a/app/domain/contas/__pycache__/invoice_models.cpython-313.pyc and b/app/domain/contas/__pycache__/invoice_models.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/invoice_resolver.cpython-313.pyc b/app/domain/contas/__pycache__/invoice_resolver.cpython-313.pyc index 2cc6d02e..1eddbfb4 100644 Binary files a/app/domain/contas/__pycache__/invoice_resolver.cpython-313.pyc and b/app/domain/contas/__pycache__/invoice_resolver.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/line_reference.cpython-313.pyc b/app/domain/contas/__pycache__/line_reference.cpython-313.pyc index 1f1948e8..f576d9b3 100644 Binary files a/app/domain/contas/__pycache__/line_reference.cpython-313.pyc and b/app/domain/contas/__pycache__/line_reference.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/service.cpython-313.pyc b/app/domain/contas/__pycache__/service.cpython-313.pyc index 83d9788d..42b23ef7 100644 Binary files a/app/domain/contas/__pycache__/service.cpython-313.pyc and b/app/domain/contas/__pycache__/service.cpython-313.pyc differ diff --git a/app/domain/contas/__pycache__/vas_variation.cpython-313.pyc b/app/domain/contas/__pycache__/vas_variation.cpython-313.pyc index fbb58697..affc3253 100644 Binary files a/app/domain/contas/__pycache__/vas_variation.cpython-313.pyc and b/app/domain/contas/__pycache__/vas_variation.cpython-313.pyc differ diff --git a/app/domain/contas/integrations/__pycache__/secure_pdf_crypto.cpython-313.pyc b/app/domain/contas/integrations/__pycache__/secure_pdf_crypto.cpython-313.pyc index f95801f6..e32e4876 100644 Binary files a/app/domain/contas/integrations/__pycache__/secure_pdf_crypto.cpython-313.pyc and b/app/domain/contas/integrations/__pycache__/secure_pdf_crypto.cpython-313.pyc differ diff --git a/app/domain/contas/parsers/__pycache__/__init__.cpython-313.pyc b/app/domain/contas/parsers/__pycache__/__init__.cpython-313.pyc index d5e2fe7d..24cef90c 100644 Binary files a/app/domain/contas/parsers/__pycache__/__init__.cpython-313.pyc and b/app/domain/contas/parsers/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/domain/contas/parsers/__pycache__/bill_parser.cpython-313.pyc b/app/domain/contas/parsers/__pycache__/bill_parser.cpython-313.pyc index 44263e20..a01f2bfd 100644 Binary files a/app/domain/contas/parsers/__pycache__/bill_parser.cpython-313.pyc and b/app/domain/contas/parsers/__pycache__/bill_parser.cpython-313.pyc differ diff --git a/app/domain/contas/parsers/__pycache__/bill_processor.cpython-313.pyc b/app/domain/contas/parsers/__pycache__/bill_processor.cpython-313.pyc index 76929e8f..d6c18ebf 100644 Binary files a/app/domain/contas/parsers/__pycache__/bill_processor.cpython-313.pyc and b/app/domain/contas/parsers/__pycache__/bill_processor.cpython-313.pyc differ diff --git a/app/extensions/__pycache__/__init__.cpython-313.pyc b/app/extensions/__pycache__/__init__.cpython-313.pyc index a621b52c..de4496b9 100644 Binary files a/app/extensions/__pycache__/__init__.cpython-313.pyc and b/app/extensions/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/extensions/__pycache__/tim_guardrails.cpython-313.pyc b/app/extensions/__pycache__/tim_guardrails.cpython-313.pyc index db3d1d22..3b761f97 100644 Binary files a/app/extensions/__pycache__/tim_guardrails.cpython-313.pyc and b/app/extensions/__pycache__/tim_guardrails.cpython-313.pyc differ diff --git a/app/extensions/__pycache__/tim_judges.cpython-313.pyc b/app/extensions/__pycache__/tim_judges.cpython-313.pyc index fe16e0f6..ca9f1dcf 100644 Binary files a/app/extensions/__pycache__/tim_judges.cpython-313.pyc and b/app/extensions/__pycache__/tim_judges.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/__init__.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/__init__.cpython-313.pyc index 7e0c633a..3e9411a6 100644 Binary files a/app/extensions/tim_prompts/__pycache__/__init__.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/aluc.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/aluc.cpython-313.pyc index 66dccb2f..c8fef17d 100644 Binary files a/app/extensions/tim_prompts/__pycache__/aluc.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/aluc.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc index 16dbfe25..1d041f35 100644 Binary files a/app/extensions/tim_prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/ausencia_oferta_proativa.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/fraseologia.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/fraseologia.cpython-313.pyc index 9c23fad7..d64b48bf 100644 Binary files a/app/extensions/tim_prompts/__pycache__/fraseologia.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/fraseologia.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/out_of_scope.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/out_of_scope.cpython-313.pyc index 208530cd..b4c9a678 100644 Binary files a/app/extensions/tim_prompts/__pycache__/out_of_scope.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/out_of_scope.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/revprec.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/revprec.cpython-313.pyc index 69292fd6..581b0f7e 100644 Binary files a/app/extensions/tim_prompts/__pycache__/revprec.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/revprec.cpython-313.pyc differ diff --git a/app/extensions/tim_prompts/__pycache__/rqlt.cpython-313.pyc b/app/extensions/tim_prompts/__pycache__/rqlt.cpython-313.pyc index 5643f6fb..0f52e6fb 100644 Binary files a/app/extensions/tim_prompts/__pycache__/rqlt.cpython-313.pyc and b/app/extensions/tim_prompts/__pycache__/rqlt.cpython-313.pyc differ diff --git a/app/main.py b/app/main.py index 6e714e0b..f1764d4a 100644 --- a/app/main.py +++ b/app/main.py @@ -483,6 +483,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False) "domain": result.get("domain"), "mcp_tools": result.get("mcp_tools"), "mcp_results": result.get("mcp_results"), + "rag_results": result.get("rag_results"), "transaction_evidence": result.get("relevant_transaction_evidence", []), "transaction_pre_validation": result.get("transaction_pre_validation"), "business_context": business_context.model_dump(), diff --git a/app/observability/__pycache__/__init__.cpython-313.pyc b/app/observability/__pycache__/__init__.cpython-313.pyc index f5fc8a45..3b6e6824 100644 Binary files a/app/observability/__pycache__/__init__.cpython-313.pyc and b/app/observability/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/observability/__pycache__/telemetry_observer.cpython-313.pyc b/app/observability/__pycache__/telemetry_observer.cpython-313.pyc index 16364d65..579551ff 100644 Binary files a/app/observability/__pycache__/telemetry_observer.cpython-313.pyc and b/app/observability/__pycache__/telemetry_observer.cpython-313.pyc differ diff --git a/app/presentation/__pycache__/__init__.cpython-313.pyc b/app/presentation/__pycache__/__init__.cpython-313.pyc index bff97f4c..668c6cc0 100644 Binary files a/app/presentation/__pycache__/__init__.cpython-313.pyc and b/app/presentation/__pycache__/__init__.cpython-313.pyc differ diff --git a/app/presentation/__pycache__/tool_renderers.cpython-313.pyc b/app/presentation/__pycache__/tool_renderers.cpython-313.pyc index 48eaa185..ffd12027 100644 Binary files a/app/presentation/__pycache__/tool_renderers.cpython-313.pyc and b/app/presentation/__pycache__/tool_renderers.cpython-313.pyc differ diff --git a/app/state.py b/app/state.py index 715f28c0..14fb9328 100644 --- a/app/state.py +++ b/app/state.py @@ -23,6 +23,7 @@ class AgentState(TypedDict, total=False): domain: str mcp_tools: list[str] mcp_results: list[dict[str, Any]] + rag_results: list[dict[str, Any]] available_mcp_tools: list[str] selected_tool_call: dict[str, Any] pending_tool_call: dict[str, Any] diff --git a/app/workflows/__pycache__/agent_graph.cpython-313.pyc b/app/workflows/__pycache__/agent_graph.cpython-313.pyc index ad520858..f578e639 100644 Binary files a/app/workflows/__pycache__/agent_graph.cpython-313.pyc and b/app/workflows/__pycache__/agent_graph.cpython-313.pyc differ diff --git a/app/workflows/agent_graph.py b/app/workflows/agent_graph.py index dd0fee17..8b2a971c 100644 --- a/app/workflows/agent_graph.py +++ b/app/workflows/agent_graph.py @@ -151,7 +151,9 @@ class AgentWorkflow: """ ctx = dict(state.get("context", {}) or {}) mcp_results = state.get("mcp_results") or [] - ctx["evidence"] = mcp_results or ctx.get("evidence") + rag_results = state.get("rag_results") or [] + combined_evidence = list(mcp_results) + list(rag_results) + ctx["evidence"] = combined_evidence or ctx.get("evidence") ctx["tool_result"] = mcp_results or ctx.get("tool_result") ctx["tool_executed"] = any(isinstance(r, dict) and r.get("ok") for r in mcp_results) @@ -945,12 +947,17 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, "output_guardrails_already_applied": False, "supervisor_action": "disabled", "supervisor_attempt": int(state.get("supervisor_attempt", 0)), } context = { - **self._output_guardrail_context({**state, "mcp_results": drained.mcp_results}), + **self._output_guardrail_context({ + **state, + "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, + }), "tenant_id": state.get("tenant_id"), "agent_id": state.get("agent_id"), "session_id": state.get("conversation_key") or state.get("session_id"), @@ -1022,6 +1029,7 @@ class AgentWorkflow: "pending_topics": drained.pending_topics, "handled_topics": drained.handled_topics, "mcp_results": drained.mcp_results, + "rag_results": drained.rag_results, } async def output_guardrails(self, state): @@ -1104,6 +1112,7 @@ class AgentWorkflow: relevant_transaction_evidence = list(state.get("relevant_transaction_evidence") or []) judge_context["transaction_evidence"] = relevant_transaction_evidence current_evidence = list(state.get("mcp_results", []) or []) + current_evidence.extend(state.get("rag_results", []) or []) current_evidence.extend(relevant_transaction_evidence) judge_context["evidence"] = current_evidence or judge_context.get("evidence") judge_context["route"] = state.get("route") @@ -1251,6 +1260,7 @@ class AgentWorkflow: "judges": state.get("judge_results", []), "mcp_tools": state.get("mcp_tools", []), "mcp_results": state.get("mcp_results", []), + "rag_results": state.get("rag_results", []), "transaction_evidence": state.get("relevant_transaction_evidence", []), }, )