new feature: External guardrails/judges
This commit is contained in:
@@ -13,7 +13,8 @@ from typing import Any
|
||||
|
||||
from agent_framework.workflows import WorkflowActionRegistry
|
||||
from agent_framework.idempotency import InMemoryIdempotencyStore
|
||||
from agent_framework.guardrails.calibrated import validate_contestation_items
|
||||
from app.domain.contas.contestation_validation import validate_contestation_items
|
||||
from app.domain.contas.client import get_tim_integration_value
|
||||
|
||||
from .client import TimApiError
|
||||
from .contestation_rules import (
|
||||
@@ -798,9 +799,9 @@ def build_contas_workflow_actions(service: ContasDomainService, *, idempotency_s
|
||||
"refundOption": str(params.get("refund_option") or ""),
|
||||
"manualContaCertaIndicator": bool(params.get("manual_conta_certa_indicator", False)),
|
||||
"doubleRefund": bool(params.get("double_refund", False)),
|
||||
"userId": str(params.get("user_id") or "AIAGENTCR"),
|
||||
"userId": str(params.get("user_id") or os.getenv("TIM_DEFAULT_CLIENT_ID")),
|
||||
"messageId": str(params.get("message_id") or _first(params, state, "message_id") or ""),
|
||||
"clientId": str(params.get("client_id") or "AIAGENTCR"),
|
||||
"clientId": str(params.get("client_id") or os.getenv("TIM_DEFAULT_CLIENT_ID")),
|
||||
"tipo_atendimento": "pro_rata",
|
||||
"skip_invoice_item_validation": True,
|
||||
"items": items,
|
||||
@@ -1227,9 +1228,9 @@ def build_contas_workflow_actions(service: ContasDomainService, *, idempotency_s
|
||||
"doubleRefund": bool(params.get("double_refund")),
|
||||
"description": params.get("descricao") or "",
|
||||
"items": items,
|
||||
"userId": params.get("user_id") or "AIAGENTCR",
|
||||
"userId": params.get("user_id") or os.getenv("TIM_DEFAULT_CLIENT_ID"),
|
||||
"messageId": params.get("message_id") or "",
|
||||
"clientId": params.get("client_id") or "AIAGENTCR",
|
||||
"clientId": params.get("client_id") or os.getenv("TIM_DEFAULT_CLIENT_ID"),
|
||||
}
|
||||
# CVAL é capability do framework: antes do side effect, valida que os
|
||||
# itens existem na fatura, pertencem a VAS, não são estratégicos e que o
|
||||
@@ -1357,8 +1358,8 @@ def build_contas_workflow_actions(service: ContasDomainService, *, idempotency_s
|
||||
try:
|
||||
if hasattr(service, "client") and hasattr(service.client, "sms"):
|
||||
result = service.client.sms(
|
||||
msisdn, message, sender_name="TIM Brasil", long_url="https://meutim.com.br",
|
||||
notify_url=os.getenv("TIM_SMS_NOTIFY_URL", "http://10.114.200.57:9003/teste"),
|
||||
msisdn, message, sender_name=get_tim_integration_value("TIM_SMS_SENDER_NAME"), long_url=get_tim_integration_value("TIM_SMS_LONG_URL"),
|
||||
notify_url=get_tim_integration_value("TIM_SMS_NOTIFY_URL"),
|
||||
)
|
||||
else:
|
||||
result = service.enviar_sms(msisdn=msisdn, message=message)
|
||||
@@ -1447,8 +1448,8 @@ def build_contas_workflow_actions(service: ContasDomainService, *, idempotency_s
|
||||
status = str(params.get("status") or "Fechado")
|
||||
status_payload = {
|
||||
"msisdn": msisdn, "socialSecNo": re.sub(r"\D", "", str(params.get("social_sec_no") or "")),
|
||||
"protocolNumber": protocol_id, "status": status, "channel": "AIAGENTCR",
|
||||
"clientId": params.get("client_id") or "AIAGENTCR",
|
||||
"protocolNumber": protocol_id, "status": status, "channel": os.getenv("TIM_DEFAULT_CHANNEL"),
|
||||
"clientId": params.get("client_id") or os.getenv("TIM_DEFAULT_CLIENT_ID"),
|
||||
"reason1": "Reclamação", "reason2": "Conta", "reason3": "Valor", "notes": "",
|
||||
}
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user