bugfix: oci_openai provider
This commit is contained in:
@@ -189,12 +189,26 @@ def _invoice_subject_catalog(args: dict[str, Any]) -> list[dict[str, Any]]:
|
||||
def _recover_explicit_contestation_subject(args: dict[str, Any]) -> dict[str, Any] | None:
|
||||
"""Recupera item explicitamente citado no texto original da contestação.
|
||||
|
||||
Na confirmação a mensagem corrente pode ser apenas ``sim``. O ``motivo``/
|
||||
``descricao`` preserva a fala que abriu a transação e é uma fonte mais forte
|
||||
que um ``subject`` residual. Só corrige quando há exatamente um nome canônico
|
||||
da fatura explicitamente presente; não faz fuzzy matching.
|
||||
Na confirmação a mensagem corrente pode ser apenas ``sim``. A fala que abriu
|
||||
a transação pode chegar por campos diferentes conforme o runtime/provedor
|
||||
(por exemplo ``query``, ``operator_instructions``, ``message``, ``text``,
|
||||
``motivo`` ou ``descricao``). Essas fontes textuais são mais fortes que um
|
||||
``subject`` residual. Só corrige quando há exatamente um nome canônico da
|
||||
fatura explicitamente presente; não faz fuzzy matching.
|
||||
"""
|
||||
original = " ".join(str(args.get(k) or "") for k in ("motivo", "descricao")).strip()
|
||||
text_source_fields = (
|
||||
"query",
|
||||
"operator_instructions",
|
||||
"message",
|
||||
"text",
|
||||
"motivo",
|
||||
"descricao",
|
||||
)
|
||||
original = " ".join(
|
||||
str(args.get(k) or "").strip()
|
||||
for k in text_source_fields
|
||||
if args.get(k)
|
||||
).strip()
|
||||
if not original:
|
||||
return None
|
||||
norm_original = f" {_norm_invoice_name(original)} "
|
||||
|
||||
Reference in New Issue
Block a user