From 71f6c18e788f943b06cfa86fcda4652ffc00667a Mon Sep 17 00:00:00 2001 From: "cristiano.hoshikawa" Date: Sat, 29 Aug 2026 11:22:05 -0300 Subject: [PATCH] Ajustes conforme relatorio de testes 2026-08-27 --- agent_framework_oci/README.md | 5 +- agent_framework_oci/README_en.md | 1 + .../en/03_transaction_workflows_and_state.md | 68 ++++++++++++++++++ ...ut_guardrail_feedback_and_blocked_turns.md | 31 ++++++++ .../developer/en/INDEX_DEVELOPER_GUIDE.md | 3 +- .../pt/03_transaction_workflows_and_state.md | 68 ++++++++++++++++++ ...ut_guardrail_feedback_and_blocked_turns.md | 31 ++++++++ .../developer/pt/INDEX_DEVELOPER_GUIDE.md | 5 +- .../routing/enterprise_router.py | 6 +- .../__pycache__/__init__.cpython-313.pyc | Bin 411 -> 411 bytes .../__pycache__/extensions.cpython-313.pyc | Bin 2139 -> 2139 bytes .../__pycache__/idempotency.cpython-313.pyc | Bin 5695 -> 5695 bytes .../__pycache__/observer.cpython-313.pyc | Bin 17555 -> 17555 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 547 -> 547 bytes .../composite_publisher.cpython-313.pyc | Bin 2502 -> 2502 bytes .../__pycache__/event_builder.cpython-313.pyc | Bin 1260 -> 1260 bytes .../__pycache__/factory.cpython-313.pyc | Bin 3996 -> 3996 bytes .../__pycache__/publisher.cpython-313.pyc | Bin 1872 -> 1872 bytes .../tim_payload_mapper.cpython-313.pyc | Bin 9286 -> 9286 bytes .../__pycache__/tim_sequence.cpython-313.pyc | Bin 17561 -> 17561 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 514 -> 514 bytes .../__pycache__/kafka.cpython-313.pyc | Bin 1812 -> 1812 bytes .../__pycache__/langfuse.cpython-313.pyc | Bin 23172 -> 23172 bytes .../__pycache__/oci_streaming.cpython-313.pyc | Bin 1821 -> 1821 bytes .../__pycache__/pubsub.cpython-313.pyc | Bin 7440 -> 7440 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 403 -> 403 bytes .../usage_repository.cpython-313.pyc | Bin 15686 -> 15686 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 213 -> 213 bytes .../cache/__pycache__/cache.cpython-313.pyc | Bin 16523 -> 16523 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 216 -> 216 bytes .../__pycache__/adapters.cpython-313.pyc | Bin 4172 -> 4172 bytes .../channels/__pycache__/base.cpython-313.pyc | Bin 1796 -> 1796 bytes .../__pycache__/gateway.cpython-313.pyc | Bin 5771 -> 5771 bytes .../__pycache__/interruption.cpython-313.pyc | Bin 6456 -> 6456 bytes .../__pycache__/transcription.cpython-313.pyc | Bin 1429 -> 1429 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 923 -> 923 bytes .../checkpoint_repository.cpython-313.pyc | Bin 27163 -> 27163 bytes .../langgraph_saver.cpython-313.pyc | Bin 32222 -> 32222 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 214 -> 214 bytes .../agent_registry.cpython-313.pyc | Bin 6947 -> 6947 bytes .../__pycache__/settings.cpython-313.pyc | Bin 13789 -> 13789 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 306 -> 306 bytes .../mcp_gateway_client.cpython-313.pyc | Bin 3332 -> 3332 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1501 -> 1501 bytes .../__pycache__/base.cpython-313.pyc | Bin 1375 -> 1375 bytes .../__pycache__/config_loader.cpython-313.pyc | Bin 9160 -> 9160 bytes .../__pycache__/custom_rails.cpython-313.pyc | Bin 4404 -> 4404 bytes .../framework_llm_client.cpython-313.pyc | Bin 17783 -> 17783 bytes .../__pycache__/llm_rails.cpython-313.pyc | Bin 5923 -> 5923 bytes .../output_supervisor.cpython-313.pyc | Bin 24306 -> 24306 bytes .../parallel_executor.cpython-313.pyc | Bin 21862 -> 21862 bytes .../__pycache__/pipeline.cpython-313.pyc | Bin 10889 -> 10889 bytes .../__pycache__/rail_action.cpython-313.pyc | Bin 654 -> 654 bytes .../__pycache__/rail_decision.cpython-313.pyc | Bin 1605 -> 1605 bytes .../__pycache__/rail_result.cpython-313.pyc | Bin 1004 -> 1004 bytes .../__pycache__/rails.cpython-313.pyc | Bin 41639 -> 41639 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 2994 -> 2994 bytes .../__pycache__/_compat.cpython-313.pyc | Bin 2445 -> 2445 bytes .../contestation_validation.cpython-313.pyc | Bin 2177 -> 2177 bytes .../__pycache__/contracts.cpython-313.pyc | Bin 6901 -> 6901 bytes .../__pycache__/input_size.cpython-313.pyc | Bin 3649 -> 3649 bytes .../__pycache__/llm_adapter.cpython-313.pyc | Bin 3799 -> 3799 bytes .../__pycache__/llm_client.cpython-313.pyc | Bin 7338 -> 7338 bytes .../__pycache__/llm_rails.cpython-313.pyc | Bin 8894 -> 8894 bytes .../output_sanitization.cpython-313.pyc | Bin 13910 -> 13910 bytes .../__pycache__/pipeline.cpython-313.pyc | Bin 12661 -> 12661 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 473 -> 473 bytes .../__pycache__/_context.cpython-313.pyc | Bin 5871 -> 5871 bytes .../ausencia_oferta_proativa.cpython-313.pyc | Bin 11265 -> 11265 bytes .../__pycache__/coerencia.cpython-313.pyc | Bin 9485 -> 9485 bytes .../__pycache__/dlex_in.cpython-313.pyc | Bin 1304 -> 1304 bytes .../__pycache__/dlex_out.cpython-313.pyc | Bin 1815 -> 1815 bytes .../__pycache__/fallback.cpython-313.pyc | Bin 17652 -> 17652 bytes .../__pycache__/fraseologia.cpython-313.pyc | Bin 7633 -> 7633 bytes .../__pycache__/out_of_scope.cpython-313.pyc | Bin 17493 -> 17493 bytes .../prompts/__pycache__/pinj.cpython-313.pyc | Bin 8424 -> 8424 bytes .../__pycache__/ragsec.cpython-313.pyc | Bin 1120 -> 1120 bytes .../__pycache__/revprec.cpython-313.pyc | Bin 5411 -> 5411 bytes .../prompts/__pycache__/tox.cpython-313.pyc | Bin 644 -> 644 bytes .../toxicidade_output.cpython-313.pyc | Bin 928 -> 928 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1663 -> 1663 bytes .../rails/__pycache__/alcada.cpython-313.pyc | Bin 4999 -> 4999 bytes .../rails/__pycache__/anatel.cpython-313.pyc | Bin 9148 -> 9148 bytes .../__pycache__/confirmation.cpython-313.pyc | Bin 11042 -> 11042 bytes .../rails/__pycache__/dlex_in.cpython-313.pyc | Bin 3279 -> 3279 bytes .../__pycache__/dlex_out.cpython-313.pyc | Bin 3331 -> 3331 bytes .../rails/__pycache__/ragsec.cpython-313.pyc | Bin 5462 -> 5462 bytes .../rails/__pycache__/revprec.cpython-313.pyc | Bin 5470 -> 5470 bytes .../rails/__pycache__/tox.cpython-313.pyc | Bin 8293 -> 8293 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 533 -> 533 bytes .../rules/__pycache__/alcada.cpython-313.pyc | Bin 1881 -> 1881 bytes .../__pycache__/pinj_patterns.cpython-313.pyc | Bin 3730 -> 3730 bytes .../__pycache__/tox_blocklist.cpython-313.pyc | Bin 1506 -> 1506 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 408 -> 408 bytes .../__pycache__/mcp_mapper.cpython-313.pyc | Bin 4692 -> 4692 bytes .../__pycache__/models.cpython-313.pyc | Bin 3144 -> 3144 bytes .../__pycache__/resolver.cpython-313.pyc | Bin 4713 -> 4713 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 618 -> 618 bytes .../judges/__pycache__/judge.cpython-313.pyc | Bin 37576 -> 37576 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 225 -> 225 bytes .../__pycache__/llm_client.cpython-313.pyc | Bin 5404 -> 5404 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 233 -> 233 bytes .../prompts/__pycache__/aluc.cpython-313.pyc | Bin 6529 -> 6529 bytes .../prompts/__pycache__/csi.cpython-313.pyc | Bin 1332 -> 1332 bytes .../__pycache__/fallback.cpython-313.pyc | Bin 8035 -> 8035 bytes .../prompts/__pycache__/rqlt.cpython-313.pyc | Bin 1165 -> 1165 bytes .../prompts/__pycache__/vctn.cpython-313.pyc | Bin 626 -> 626 bytes .../llm/__pycache__/__init__.cpython-313.pyc | Bin 476 -> 476 bytes .../llm/__pycache__/base.cpython-313.pyc | Bin 1623 -> 1623 bytes .../profile_resolver.cpython-313.pyc | Bin 9322 -> 9322 bytes .../llm/__pycache__/providers.cpython-313.pyc | Bin 45052 -> 45052 bytes .../structured_output.cpython-313.pyc | Bin 7459 -> 7459 bytes .../llm/__pycache__/types.cpython-313.pyc | Bin 1274 -> 1274 bytes .../mcp/__pycache__/__init__.cpython-313.pyc | Bin 473 -> 473 bytes .../mcp/__pycache__/client.cpython-313.pyc | Bin 18426 -> 18426 bytes .../mcp/__pycache__/models.cpython-313.pyc | Bin 2136 -> 2136 bytes .../mcp/__pycache__/registry.cpython-313.pyc | Bin 4740 -> 4740 bytes .../__pycache__/tool_policy.cpython-313.pyc | Bin 5685 -> 5685 bytes .../__pycache__/tool_router.cpython-313.pyc | Bin 14189 -> 14189 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1135 -> 1135 bytes .../long_term_extractor.cpython-313.pyc | Bin 2513 -> 2513 bytes .../long_term_memory.cpython-313.pyc | Bin 6839 -> 6839 bytes .../long_term_models.cpython-313.pyc | Bin 1748 -> 1748 bytes .../long_term_store.cpython-313.pyc | Bin 29186 -> 29186 bytes .../message_history.cpython-313.pyc | Bin 8359 -> 8359 bytes .../summary_memory.cpython-313.pyc | Bin 12510 -> 12510 bytes .../__pycache__/summary_store.cpython-313.pyc | Bin 9520 -> 9520 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 214 -> 214 bytes .../__pycache__/identity.cpython-313.pyc | Bin 3465 -> 3465 bytes .../__pycache__/session.cpython-313.pyc | Bin 2708 -> 2708 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1394 -> 1394 bytes .../__pycache__/code_mapper.cpython-313.pyc | Bin 21447 -> 21447 bytes .../__pycache__/context.cpython-313.pyc | Bin 7386 -> 7386 bytes .../__pycache__/event_bus.cpython-313.pyc | Bin 3632 -> 3632 bytes .../guardrail_events.cpython-313.pyc | Bin 2050 -> 2050 bytes .../__pycache__/ic_events.cpython-313.pyc | Bin 625 -> 625 bytes .../__pycache__/judge_events.cpython-313.pyc | Bin 1410 -> 1410 bytes .../langgraph_telemetry.cpython-313.pyc | Bin 4963 -> 4963 bytes .../__pycache__/llm_advisors.cpython-313.pyc | Bin 2937 -> 2937 bytes .../__pycache__/noc_contract.cpython-313.pyc | Bin 5074 -> 5074 bytes .../__pycache__/noc_otel.cpython-313.pyc | Bin 6321 -> 6321 bytes .../__pycache__/observer.cpython-313.pyc | Bin 5104 -> 5104 bytes .../__pycache__/otel.cpython-313.pyc | Bin 3411 -> 3411 bytes .../streaming_events.cpython-313.pyc | Bin 1834 -> 1834 bytes .../__pycache__/telemetry.cpython-313.pyc | Bin 52427 -> 52427 bytes .../__pycache__/token_cost.cpython-313.pyc | Bin 8690 -> 8690 bytes .../workflow_events.cpython-313.pyc | Bin 3329 -> 3329 bytes .../oci/__pycache__/__init__.cpython-313.pyc | Bin 211 -> 211 bytes .../oci/__pycache__/auth.cpython-313.pyc | Bin 3243 -> 3243 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 219 -> 219 bytes .../__pycache__/oracle_store.cpython-313.pyc | Bin 44955 -> 44955 bytes .../__pycache__/sqlite_store.cpython-313.pyc | Bin 15018 -> 15018 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 454 -> 454 bytes .../__pycache__/renderers.cpython-313.pyc | Bin 4317 -> 4317 bytes .../rag/__pycache__/__init__.cpython-313.pyc | Bin 709 -> 709 bytes .../embedding_provider.cpython-313.pyc | Bin 6516 -> 6516 bytes .../__pycache__/graph_store.cpython-313.pyc | Bin 5527 -> 5527 bytes .../rag/__pycache__/ingest.cpython-313.pyc | Bin 12580 -> 12580 bytes .../__pycache__/kbdb_service.cpython-313.pyc | Bin 10011 -> 10011 bytes .../__pycache__/rag_service.cpython-313.pyc | Bin 10897 -> 10897 bytes .../__pycache__/vector_store.cpython-313.pyc | Bin 18655 -> 18655 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 220 -> 220 bytes .../session_repository.cpython-313.pyc | Bin 8589 -> 8589 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 425 -> 425 bytes .../__pycache__/config_loader.cpython-313.pyc | Bin 2296 -> 2296 bytes .../__pycache__/continuity.cpython-313.pyc | Bin 15933 -> 15933 bytes .../enterprise_router.cpython-313.pyc | Bin 61687 -> 61971 bytes .../__pycache__/models.cpython-313.pyc | Bin 2446 -> 2446 bytes .../routing/enterprise_router.py | 6 +- .../__pycache__/__init__.cpython-313.pyc | Bin 348 -> 348 bytes .../__pycache__/agent_runtime.cpython-313.pyc | Bin 177586 -> 177586 bytes .../transaction_parameters.cpython-313.pyc | Bin 11117 -> 11117 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1168 -> 1199 bytes .../authentication.cpython-313.pyc | Bin 15388 -> 15419 bytes .../__pycache__/factory.cpython-313.pyc | Bin 7957 -> 7988 bytes .../__pycache__/installer.cpython-313.pyc | Bin 5575 -> 5606 bytes .../__pycache__/middleware.cpython-313.pyc | Bin 8859 -> 8890 bytes .../sse/__pycache__/__init__.cpython-313.pyc | Bin 211 -> 211 bytes .../sse/__pycache__/events.cpython-313.pyc | Bin 9587 -> 9587 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 218 -> 218 bytes .../__pycache__/supervisor.cpython-313.pyc | Bin 4943 -> 4943 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 878 -> 878 bytes .../__pycache__/graph.cpython-313.pyc | Bin 1415 -> 1415 bytes .../input_contract.cpython-313.pyc | Bin 8790 -> 8790 bytes .../__pycache__/models.cpython-313.pyc | Bin 7669 -> 7669 bytes .../__pycache__/registry.cpython-313.pyc | Bin 2361 -> 2361 bytes .../__pycache__/repository.cpython-313.pyc | Bin 2714 -> 2714 bytes .../__pycache__/runtime.cpython-313.pyc | Bin 36150 -> 36150 bytes .../__pycache__/tool_executor.cpython-313.pyc | Bin 1966 -> 1966 bytes .../conftest.cpython-313-pytest-9.0.2.pyc | Bin 788 -> 800 bytes ..._continuation.cpython-313-pytest-9.0.2.pyc | Bin 8816 -> 8821 bytes ...pected_values.cpython-313-pytest-9.0.2.pyc | Bin 8240 -> 8216 bytes ...on_parameters.cpython-313-pytest-9.0.2.pyc | Bin 5439 -> 5451 bytes ...authorization.cpython-313-pytest-9.0.2.pyc | Bin 22452 -> 22445 bytes ...ce_delegation.cpython-313-pytest-9.0.2.pyc | Bin 12229 -> 14947 bytes ...ic_classifier.cpython-313-pytest-9.0.2.pyc | Bin 35493 -> 39387 bytes ...ameter_prompt.cpython-313-pytest-9.0.2.pyc | Bin 6195 -> 6171 bytes ..._presentation.cpython-313-pytest-9.0.2.pyc | Bin 10454 -> 10430 bytes ...tion_sampling.cpython-313-pytest-9.0.2.pyc | Bin 6354 -> 6330 bytes ...ction_runtime.cpython-313-pytest-9.0.2.pyc | Bin 8831 -> 8807 bytes ..._deadlock_fix.cpython-313-pytest-9.0.2.pyc | Bin 11476 -> 11452 bytes ...me_precedence.cpython-313-pytest-9.0.2.pyc | Bin 67358 -> 67370 bytes ...optimizations.cpython-313-pytest-9.0.2.pyc | Bin 7960 -> 7936 bytes ..._revalidation.cpython-313-pytest-9.0.2.pyc | Bin 13716 -> 13692 bytes ...saction_shift.cpython-313-pytest-9.0.2.pyc | Bin 25794 -> 25806 bytes ...output_parser.cpython-313-pytest-9.0.2.pyc | Bin 8416 -> 8392 bytes ...stomer_facing.cpython-313-pytest-9.0.2.pyc | Bin 4802 -> 4803 bytes ..._descriptions.cpython-313-pytest-9.0.2.pyc | Bin 10459 -> 10435 bytes ...lm_precedence.cpython-313-pytest-9.0.2.pyc | Bin 47178 -> 47193 bytes ...ession_matrix.cpython-313-pytest-9.0.2.pyc | Bin 52046 -> 52058 bytes ..._interruption.cpython-313-pytest-9.0.2.pyc | Bin 28271 -> 28283 bytes ...nal_tool_flow.cpython-313-pytest-9.0.2.pyc | Bin 121202 -> 121214 bytes ...test_expected_input_semantic_classifier.py | 18 +++++ ...agent_runtime.cpython-313-pytest-9.0.2.pyc | Bin 3396 -> 3372 bytes ...uthentication.cpython-313-pytest-9.0.2.pyc | Bin 8590 -> 8566 bytes ...tion_policies.cpython-313-pytest-9.0.2.pyc | Bin 9493 -> 9469 bytes .../test_cache.cpython-313-pytest-9.0.2.pyc | Bin 3389 -> 3365 bytes ...e_distributed.cpython-313-pytest-9.0.2.pyc | Bin 2062 -> 2038 bytes ...ports_compile.cpython-313-pytest-9.0.2.pyc | Bin 640 -> 616 bytes ...pt_controlled.cpython-313-pytest-9.0.2.pyc | Bin 16576 -> 16552 bytes ...untime_config.cpython-313-pytest-9.0.2.pyc | Bin 30706 -> 30682 bytes ...ckpoint_saver.cpython-313-pytest-9.0.2.pyc | Bin 2374 -> 2350 bytes ...aph_telemetry.cpython-313-pytest-9.0.2.pyc | Bin 4762 -> 4738 bytes ...rich_response.cpython-313-pytest-9.0.2.pyc | Bin 22932 -> 22908 bytes ...ry_autonomous.cpython-313-pytest-9.0.2.pyc | Bin 7840 -> 7816 bytes ...ics_publisher.cpython-313-pytest-9.0.2.pyc | Bin 7131 -> 7107 bytes .../test_rag.cpython-313-pytest-9.0.2.pyc | Bin 2933 -> 2909 bytes ...kbdb_provider.cpython-313-pytest-9.0.2.pyc | Bin 11594 -> 11570 bytes ...ql_generation.cpython-313-pytest-9.0.2.pyc | Bin 1472 -> 1448 bytes ...ime_grounding.cpython-313-pytest-9.0.2.pyc | Bin 9697 -> 9673 bytes ..._checkpointer.cpython-313-pytest-9.0.2.pyc | Bin 5318 -> 5294 bytes ...te_stickiness.cpython-313-pytest-9.0.2.pyc | Bin 27073 -> 27049 bytes .../test_sse.cpython-313-pytest-9.0.2.pyc | Bin 4532 -> 4508 bytes ..._replay_dedup.cpython-313-pytest-9.0.2.pyc | Bin 4461 -> 4437 bytes ...gfuse_compact.cpython-313-pytest-9.0.2.pyc | Bin 42326 -> 42302 bytes ...st_enterprise.cpython-313-pytest-9.0.2.pyc | Bin 5720 -> 5696 bytes ...tool_policies.cpython-313-pytest-9.0.2.pyc | Bin 13770 -> 13746 bytes ...nal_workflows.cpython-313-pytest-9.0.2.pyc | Bin 12129 -> 12112 bytes ...e_diagnostics.cpython-313-pytest-9.0.2.pyc | Bin 5448 -> 5424 bytes ...rkflow_static.cpython-313-pytest-9.0.2.pyc | Bin 3320 -> 3296 bytes ...hot_semantics.cpython-313-pytest-9.0.2.pyc | Bin 19458 -> 19459 bytes workflows/invoice_explanation.v2.yaml | 13 +++- 242 files changed, 246 insertions(+), 9 deletions(-) diff --git a/agent_framework_oci/README.md b/agent_framework_oci/README.md index 1b43152..8b1e22a 100644 --- a/agent_framework_oci/README.md +++ b/agent_framework_oci/README.md @@ -11207,6 +11207,7 @@ O conteúdo desta pasta deve ser tratado como uma extensão adicional do framewo | Uma resposta que deveria preencher parâmetro é interpretada como novo intent | precedência transacional, parameter extraction | [Workflows Transacionais](docs/developer/pt/03_transaction_workflows_and_state.md) | | A transação fica pedindo o mesmo parâmetro | estado transacional, extractor, schema | [Workflows Transacionais](docs/developer/pt/03_transaction_workflows_and_state.md) e [MCP/Tools](docs/developer/pt/04_mcp_integration_tools_and_policies.md) | | A confirmação “sim/não” não continua o fluxo | confirmation state, transaction state | [Workflows Transacionais](docs/developer/pt/03_transaction_workflows_and_state.md) | +| Uma fala inválida durante um `expected_input` vira `CONTINUAR` em vez de pedir esclarecimento | `semantic_classifier.unmatched_value`, `reprompt`, `contextual_reentry`, COER delegado | [Workflows Transacionais](docs/developer/pt/03_transaction_workflows_and_state.md) e [Feedback de Guardrails de Entrada](docs/developer/pt/12_input_guardrail_feedback_and_blocked_turns.md) | | Uma transação encerrada reaparece | checkpoint antigo versus estado transacional ativo | [Workflows Transacionais](docs/developer/pt/03_transaction_workflows_and_state.md) e [LTM/Checkpoint](docs/developer/pt/08_long_term_memory_and_checkpoint.md) | | O sistema diz que executou algo, mas não existe evidência | MCP result, estado `COMPLETED`, judges transacionais | [Workflows Transacionais](docs/developer/pt/03_transaction_workflows_and_state.md) e [Guardrails/Judges](docs/developer/pt/06_guardrails_judges_and_transaction_evaluation.md) | | Uma tool não aparece ou não é encontrada | `tools.yaml`, catálogo MCP, discovery | [MCP/Tools](docs/developer/pt/04_mcp_integration_tools_and_policies.md) | @@ -11252,9 +11253,9 @@ O conteúdo desta pasta deve ser tratado como uma extensão adicional do framewo ### [03 — Workflows Transacionais e Estado](docs/developer/pt/03_transaction_workflows_and_state.md) -**O que é:** ciclo transacional multi-turno, estados, confirmação, pausa/retomada e evidência operacional. +**O que é:** ciclo transacional multi-turno, estados, confirmação, pausa/retomada, `expected_input`, `semantic_classifier`, `unmatched_value`/`reprompt` e evidência operacional. -**Use quando:** há loops, confirmações incorretas, retomadas erradas ou operações críticas. +**Use quando:** há loops, confirmações incorretas, retomadas erradas, `CONTINUAR`/`contextual_reentry` indevido, `reprompt` ausente ou operações críticas. ### [04 — MCP, Tools, Policies e Extração de Parâmetros](docs/developer/pt/04_mcp_integration_tools_and_policies.md) diff --git a/agent_framework_oci/README_en.md b/agent_framework_oci/README_en.md index 46603af..6e71cb2 100644 --- a/agent_framework_oci/README_en.md +++ b/agent_framework_oci/README_en.md @@ -11114,6 +11114,7 @@ The content of this folder should be treated as an additional framework extensio | A parameter answer is mistaken for a new intent | transaction precedence, parameter extraction | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) | | Transaction keeps asking for the same parameter | transaction state, extractor, schema | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [MCP/Tools](docs/developer/en/04_mcp_integration_tools_and_policies.md) | | “yes/no” confirmation does not continue the flow | confirmation state | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) | +| Invalid input during `expected_input` becomes `CONTINUAR` instead of asking for clarification | `semantic_classifier.unmatched_value`, `reprompt`, `contextual_reentry`, delegated COER | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [Input Guardrail Feedback](docs/developer/en/12_input_guardrail_feedback_and_blocked_turns.md) | | A closed transaction reappears | old checkpoint vs active transaction | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [LTM/Checkpoint](docs/developer/en/08_long_term_memory_and_checkpoint.md) | | System claims an operation ran but there is no evidence | MCP results, `COMPLETED`, transaction judges | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [Guardrails/Judges](docs/developer/en/06_guardrails_judges_and_transaction_evaluation.md) | | A tool is missing | tools config, MCP catalog/discovery | [MCP/Tools](docs/developer/en/04_mcp_integration_tools_and_policies.md) | diff --git a/agent_framework_oci/docs/developer/en/03_transaction_workflows_and_state.md b/agent_framework_oci/docs/developer/en/03_transaction_workflows_and_state.md index 4adc0bb..953e9dc 100644 --- a/agent_framework_oci/docs/developer/en/03_transaction_workflows_and_state.md +++ b/agent_framework_oci/docs/developer/en/03_transaction_workflows_and_state.md @@ -624,6 +624,74 @@ When semantic confirmation succeeds, the router records: `AgentRuntime` reuses this routed decision instead of re-running the deterministic parser. The change is additive: existing explicit yes/no inputs continue through the deterministic path with no extra LLM call. Semantic generations are named `transaction.confirmation.semantic_classifier` for observability. +### `expected_input.semantic_classifier.unmatched_value` and `reprompt` + +Paused workflows may accept literal replies and also classify free-text replies semantically. When `semantic_classifier` is enabled, an utterance that **cannot safely be mapped to any valid class** must not be forced into `SIM`, `NAO`, or `CONTINUAR`. For that case, the workflow may declare a classifier sentinel through `unmatched_value`. + +Example: + +```yaml +expected_input: + key: resposta_usuario + allowed_values: + - SIM + - NAO + - CONTINUAR + normalize: upper_strip + reprompt: > + I did not understand. Did this explanation resolve your question? + Please answer yes or no. + + semantic_classifier: + enabled: true + include_relevant_context: true + unmatched_value: OUTRO + prompt: | + Classify the customer's utterance into a valid option only when there is + enough meaning to do so safely. + + SIM: unambiguous understanding/acceptance. + NAO: unambiguous negative answer. + CONTINUAR: a meaningful utterance that complements or continues the request. + OUTRO: incomprehensible, disconnected, or insufficient input for any valid class. + + Return only SIM, NAO, CONTINUAR, or OUTRO. + + option_actions: + CONTINUAR: + action: contextual_reentry +``` + +The contract is: + +```text +SIM -> resume with SIM +NAO -> resume with NAO +CONTINUAR -> execute the configured option_action (for example contextual_reentry) +OUTRO -> never resume with this value; return reprompt and keep the workflow paused +``` + +Important rules: + +- `unmatched_value` is a **classifier sentinel**, not a business response; +- do not add the sentinel to `allowed_values`; `allowed_values` contains only values the workflow may consume; +- `CONTINUAR` is valid only for a meaningful utterance that actually continues the topic; contextually meaningless input should return `unmatched_value` and trigger `reprompt`; +- `reprompt` does not complete or restart the execution: the same workflow remains `PAUSED` and waits for another reply; +- internal values such as `SIM`, `NAO`, `CONTINUAR`, and the sentinel must never leak as customer-facing output. + +Behavioral example: + +```text +Pending prompt: "Did this explanation resolve your question?" + +"sim" -> SIM +"não resolveu" -> NAO +"mas e a cobrança de R$ 14,99?" -> CONTINUAR -> contextual_reentry +"ano" -> OUTRO -> reprompt +``` + +This option is **opt-in per workflow**. Workflows that do not declare `semantic_classifier.unmatched_value` keep the previous contract, preventing a change in one flow from silently changing other workflows or agents. + ### Durable interrupt compatibility in pause/resume The runtime does not use `snapshot.next` alone to decide whether a workflow is paused. A truthy `next` may represent LangGraph helper work, including framework-generated synthetic nodes such as `__pause` and `__continue`. diff --git a/agent_framework_oci/docs/developer/en/12_input_guardrail_feedback_and_blocked_turns.md b/agent_framework_oci/docs/developer/en/12_input_guardrail_feedback_and_blocked_turns.md index 88bb312..9b75f6f 100644 --- a/agent_framework_oci/docs/developer/en/12_input_guardrail_feedback_and_blocked_turns.md +++ b/agent_framework_oci/docs/developer/en/12_input_guardrail_feedback_and_blocked_turns.md @@ -95,6 +95,35 @@ A response created because of an input block is still agent output. Therefore it This allows `DLEX_OUT`, `PINJ`, `TOXOUT`, Output Supervisor, and other policies to remove or sanitize information that should not be exposed. +## COER, `expected_input`, and `reprompt` in paused workflows + +When an active `expected_input.semantic_classifier` exists, the framework may delegate semantic interpretation to the workflow contract instead of immediately treating an ambiguous input as a generic `COER` block. In this mode, the guardrail may be recorded as allowed/delegated, for example with mechanism `expected_input_semantic_classifier`. + +The workflow remains responsible for distinguishing: + +```text +valid, meaningful reply -> valid class / option_action +insufficient or meaningless -> unmatched_value -> reprompt +``` + +Example: + +```yaml +expected_input: + allowed_values: [SIM, NAO, CONTINUAR] + reprompt: "I did not understand. Did this explanation resolve your question? Please answer yes or no." + semantic_classifier: + enabled: true + unmatched_value: OUTRO + option_actions: + CONTINUAR: + action: contextual_reentry +``` + +Under this contract, `CONTINUAR` does not mean "anything other than SIM or NAO". It represents a **coherent, contextual** utterance that continues the topic. Input such as `ano`, which has insufficient meaning for the pending prompt, should return sentinel `OUTRO` and produce the `reprompt`, while keeping the same workflow paused. + +`OUTRO` must not be added to `allowed_values` or sent to the runtime as a resume value. See [03 — Transactional Workflows and State](./03_transaction_workflows_and_state.md#expected_inputsemantic_classifierunmatched_value-and-reprompt) for the full contract. + ## Relationship with `agent_graph.py` This feature belongs to template orchestration because it defines precedence between graph nodes and blocked-turn state semantics. @@ -151,6 +180,8 @@ input_guardrails blocked Cover at least: - `COER=false` asks for clarification instead of returning a generic security message; +- with `expected_input.semantic_classifier.unmatched_value`, incoherent/insufficient input triggers `reprompt` and keeps the workflow `PAUSED`; +- meaningful input outside literal SIM/NAO can still follow `CONTINUAR -> contextual_reentry` without being confused with incoherent input; - blocked branch does not retain previous-turn `mcp_results`/routing; - no transactional tool executes after an input block; - the public message passes through output guardrails; diff --git a/agent_framework_oci/docs/developer/en/INDEX_DEVELOPER_GUIDE.md b/agent_framework_oci/docs/developer/en/INDEX_DEVELOPER_GUIDE.md index 20714e0..b81b2ad 100644 --- a/agent_framework_oci/docs/developer/en/INDEX_DEVELOPER_GUIDE.md +++ b/agent_framework_oci/docs/developer/en/INDEX_DEVELOPER_GUIDE.md @@ -21,6 +21,7 @@ If something is not working, use **Search by problem** below. | An answer that should fill a parameter is interpreted as a new intent | transactional precedence, parameter extraction | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) | | The transaction keeps asking for the same parameter | transaction state, extractor, schema | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [MCP/Tools](docs/developer/en/04_mcp_integration_tools_and_policies.md) | | “yes/no” confirmation does not continue the flow | confirmation state, transaction state | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) | +| Invalid input during `expected_input` becomes `CONTINUAR` instead of asking for clarification | `semantic_classifier.unmatched_value`, `reprompt`, `contextual_reentry`, delegated COER | [Transactional Workflows](./03_transaction_workflows_and_state.md) and [Input Guardrail Feedback](./12_input_guardrail_feedback_and_blocked_turns.md) | | A completed transaction reappears | old checkpoint versus active transaction state | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [LTM/Checkpoint](docs/developer/en/08_long_term_memory_and_checkpoint.md) | | The system says it executed something, but there is no evidence | MCP result, `COMPLETED` state, transactional judges | [Transactional Workflows](docs/developer/en/03_transaction_workflows_and_state.md) and [Guardrails/Judges](docs/developer/en/06_guardrails_judges_and_transaction_evaluation.md) | | A tool does not appear or cannot be found | `tools.yaml`, MCP catalog, discovery | [MCP/Tools](docs/developer/en/04_mcp_integration_tools_and_policies.md) | @@ -68,7 +69,7 @@ If something is not working, use **Search by problem** below. **What it is:** multi-turn transaction lifecycle, states, confirmation, pause/resume, and operational evidence. -**Use when:** there are loops, incorrect confirmations, incorrect resumes, or critical operations. +**Use when:** there are loops, incorrect confirmations/resumes, unintended `CONTINUAR`/`contextual_reentry`, missing `reprompt`, or critical operations. ### [04 — MCP, Tools, Policies, and Parameter Extraction](docs/developer/en/04_mcp_integration_tools_and_policies.md) diff --git a/agent_framework_oci/docs/developer/pt/03_transaction_workflows_and_state.md b/agent_framework_oci/docs/developer/pt/03_transaction_workflows_and_state.md index aa753ba..e330687 100644 --- a/agent_framework_oci/docs/developer/pt/03_transaction_workflows_and_state.md +++ b/agent_framework_oci/docs/developer/pt/03_transaction_workflows_and_state.md @@ -679,6 +679,74 @@ A funcionalidade é aditiva. Entradas determinísticas já suportadas continuam Para confirmações semânticas, o framework registra a geração como `transaction.confirmation.semantic_classifier` e acrescenta ao metadata do roteamento a fonte `semantic`, a classificação retornada e o contexto conversacional relevante utilizado. Para confirmações literais, a fonte permanece `deterministic`. +### `expected_input.semantic_classifier.unmatched_value` e `reprompt` + +Workflows pausados podem aceitar respostas literais e também interpretar respostas livres por semântica. Quando o `semantic_classifier` é habilitado, uma fala que **não representa com segurança nenhuma das classes válidas** não deve ser forçada para `SIM`, `NAO` ou `CONTINUAR`. Para esse caso, o workflow pode declarar um valor sentinela com `unmatched_value`. + +Exemplo: + +```yaml +expected_input: + key: resposta_usuario + allowed_values: + - SIM + - NAO + - CONTINUAR + normalize: upper_strip + reprompt: > + Não entendi. Essa explicação resolveu sua dúvida? + Responda sim ou não. + + semantic_classifier: + enabled: true + include_relevant_context: true + unmatched_value: OUTRO + prompt: | + Classifique a fala do cliente em exatamente uma das opções válidas quando houver + significado suficiente. + + SIM: entendimento/aceite inequívoco. + NAO: negativa inequívoca. + CONTINUAR: fala compreensível que complementa ou continua a solicitação. + OUTRO: fala incompreensível, desconexa ou insuficiente para qualquer classe válida. + + Retorne somente SIM, NAO, CONTINUAR ou OUTRO. + + option_actions: + CONTINUAR: + action: contextual_reentry +``` + +O contrato é: + +```text +SIM -> resume com SIM +NAO -> resume com NAO +CONTINUAR -> executa a option_action configurada (por exemplo contextual_reentry) +OUTRO -> não é usado como valor de resume; devolve o reprompt e mantém o workflow pausado +``` + +Regras importantes: + +- `unmatched_value` é **sentinela do classificador**, não uma resposta de negócio; +- não adicione o sentinela a `allowed_values`; `allowed_values` continua descrevendo apenas valores que podem ser consumidos pelo workflow; +- `CONTINUAR` deve ser usado somente quando a fala é compreensível e realmente continua o assunto; uma fala sem significado contextual suficiente deve produzir `unmatched_value` e cair em `reprompt`; +- o `reprompt` não encerra nem reinicia a execução: o mesmo workflow permanece `PAUSED`, aguardando nova resposta; +- valores internos como `SIM`, `NAO`, `CONTINUAR` e o sentinela não devem vazar como resposta final do agente. + +Exemplo comportamental: + +```text +Pergunta pendente: "Com essa explicação, sanei sua dúvida?" + +"sim" -> SIM +"não resolveu" -> NAO +"mas e a cobrança de R$ 14,99?" -> CONTINUAR -> contextual_reentry +"ano" -> OUTRO -> reprompt +``` + +A opção é **opt-in por workflow**. Workflows que não declaram `semantic_classifier.unmatched_value` preservam o contrato anterior. Isso evita que uma evolução específica de um fluxo altere silenciosamente os demais workflows/agentes. + ### Compatibilidade de interrupts duráveis no pause/resume O runtime não usa `snapshot.next` isoladamente para decidir se um workflow está pausado. Um `next` pode representar trabalho auxiliar do LangGraph, inclusive nós sintéticos criados pelo framework como `__pause` e `__continue`. diff --git a/agent_framework_oci/docs/developer/pt/12_input_guardrail_feedback_and_blocked_turns.md b/agent_framework_oci/docs/developer/pt/12_input_guardrail_feedback_and_blocked_turns.md index ed9d8a6..a5a6f75 100644 --- a/agent_framework_oci/docs/developer/pt/12_input_guardrail_feedback_and_blocked_turns.md +++ b/agent_framework_oci/docs/developer/pt/12_input_guardrail_feedback_and_blocked_turns.md @@ -95,6 +95,35 @@ Uma resposta criada em função de um bloqueio de entrada ainda é uma saída do Isso permite que `DLEX_OUT`, `PINJ`, `TOXOUT`, Output Supervisor e outras políticas removam ou sanitizem informação que não deva ser apresentada. +## COER, `expected_input` e `reprompt` em workflows pausados + +Quando existe um `expected_input.semantic_classifier` ativo, o framework pode delegar a decisão semântica ao contrato do workflow em vez de tratar imediatamente uma entrada ambígua como bloqueio genérico de `COER`. Nesse modo, o guardrail pode aparecer como permitido/delegado, por exemplo com mecanismo `expected_input_semantic_classifier`. + +O workflow continua responsável por diferenciar: + +```text +resposta válida e compreensível -> classe válida / option_action +resposta sem significado suficiente -> unmatched_value -> reprompt +``` + +Exemplo de configuração: + +```yaml +expected_input: + allowed_values: [SIM, NAO, CONTINUAR] + reprompt: "Não entendi. Essa explicação resolveu sua dúvida? Responda sim ou não." + semantic_classifier: + enabled: true + unmatched_value: OUTRO + option_actions: + CONTINUAR: + action: contextual_reentry +``` + +Nesse contrato, `CONTINUAR` não significa "qualquer coisa que não seja SIM ou NAO". Ele representa uma fala **coerente e contextual** que continua o assunto. Uma entrada como `ano`, sem significado suficiente para a pergunta pendente, deve retornar o sentinela `OUTRO` e produzir o `reprompt`, mantendo o mesmo workflow pausado. + +`OUTRO` não deve ser adicionado a `allowed_values` nem enviado ao runtime como valor de resume. A descrição completa do contrato está em [03 — Workflows Transacionais e Estado](./03_transaction_workflows_and_state.md#expected_inputsemantic_classifierunmatched_value-e-reprompt). + ## Relação com `agent_graph.py` Esta feature é responsabilidade da orquestração do template, porque define a precedência entre nós do grafo e o estado do turno. @@ -151,6 +180,8 @@ input_guardrails bloqueou Cubra pelo menos: - `COER=false` gera solicitação de esclarecimento, não mensagem genérica de segurança; +- com `expected_input.semantic_classifier.unmatched_value`, entrada incoerente/sem significado suficiente aciona `reprompt` e mantém o workflow `PAUSED`; +- uma entrada compreensível fora de SIM/NAO pode seguir `CONTINUAR -> contextual_reentry` sem ser confundida com uma entrada incoerente; - ramo bloqueado não conserva `mcp_results`/routing de turno anterior; - nenhuma tool transacional é executada depois de um bloqueio de input; - mensagem pública passa pelos guardrails de saída; diff --git a/agent_framework_oci/docs/developer/pt/INDEX_DEVELOPER_GUIDE.md b/agent_framework_oci/docs/developer/pt/INDEX_DEVELOPER_GUIDE.md index 079cf67..ec96418 100644 --- a/agent_framework_oci/docs/developer/pt/INDEX_DEVELOPER_GUIDE.md +++ b/agent_framework_oci/docs/developer/pt/INDEX_DEVELOPER_GUIDE.md @@ -22,6 +22,7 @@ Se algo não está funcionando, use **Buscar pelo problema** abaixo. | Uma resposta que deveria preencher parâmetro é interpretada como novo intent | precedência transacional, parameter extraction | [Workflows Transacionais](./03_transaction_workflows_and_state.md) | | A transação fica pedindo o mesmo parâmetro | estado transacional, extractor, schema | [Workflows Transacionais](./03_transaction_workflows_and_state.md) e [MCP/Tools](./04_mcp_integration_tools_and_policies.md) | | A confirmação “sim/não” não continua o fluxo | confirmation state, transaction state | [Workflows Transacionais](./03_transaction_workflows_and_state.md) | +| Uma fala inválida durante um `expected_input` vira `CONTINUAR` em vez de pedir esclarecimento | `semantic_classifier.unmatched_value`, `reprompt`, `contextual_reentry`, COER delegado | [Workflows Transacionais](./03_transaction_workflows_and_state.md) e [Feedback de Guardrails de Entrada](./12_input_guardrail_feedback_and_blocked_turns.md) | | Uma transação encerrada reaparece | checkpoint antigo versus estado transacional ativo | [Workflows Transacionais](./03_transaction_workflows_and_state.md) e [LTM/Checkpoint](./08_long_term_memory_and_checkpoint.md) | | O sistema diz que executou algo, mas não existe evidência | MCP result, estado `COMPLETED`, judges transacionais | [Workflows Transacionais](./03_transaction_workflows_and_state.md) e [Guardrails/Judges](./06_guardrails_judges_and_transaction_evaluation.md) | | Uma tool não aparece ou não é encontrada | `tools.yaml`, catálogo MCP, discovery | [MCP/Tools](./04_mcp_integration_tools_and_policies.md) | @@ -67,9 +68,9 @@ Se algo não está funcionando, use **Buscar pelo problema** abaixo. ### [03 — Workflows Transacionais e Estado](./03_transaction_workflows_and_state.md) -**O que é:** ciclo transacional multi-turno, estados, confirmação, pausa/retomada e evidência operacional. +**O que é:** ciclo transacional multi-turno, estados, confirmação, pausa/retomada, `expected_input`, `semantic_classifier`, `unmatched_value`/`reprompt` e evidência operacional. -**Use quando:** há loops, confirmações incorretas, retomadas erradas ou operações críticas. +**Use quando:** há loops, confirmações incorretas, retomadas erradas, `CONTINUAR`/`contextual_reentry` indevido, `reprompt` ausente ou operações críticas. ### [04 — MCP, Tools, Policies e Extração de Parâmetros](./04_mcp_integration_tools_and_policies.md) diff --git a/agent_framework_oci/libs/agent_framework/build/lib/agent_framework/routing/enterprise_router.py b/agent_framework_oci/libs/agent_framework/build/lib/agent_framework/routing/enterprise_router.py index ea5188d..56161d8 100644 --- a/agent_framework_oci/libs/agent_framework/build/lib/agent_framework/routing/enterprise_router.py +++ b/agent_framework_oci/libs/agent_framework/build/lib/agent_framework/routing/enterprise_router.py @@ -207,9 +207,13 @@ class EnterpriseRouter: .replace("{{ relevant_conversation_context }}", str(relevant_conversation_context or "")) .replace("{{ user_input }}", str(text or "")) ) + unmatched_value = str(classifier.get("unmatched_value") or "").strip() + protocol_options = list(allowed) + if unmatched_value: + protocol_options.append(unmatched_value) protocol = ( "\n\nPROTOCOLO OBRIGATÓRIO DO FRAMEWORK: responda somente com UMA das " - f"opções permitidas, sem explicação adicional: {json.dumps(allowed, ensure_ascii=False)}." + f"opções permitidas, sem explicação adicional: {json.dumps(protocol_options, ensure_ascii=False)}." ) try: answer = await self.llm.ainvoke( 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 e1a2af2b78f87bb96d56927f86c8e260763853ce..8f79d21fceb606886ee40bc3b5d14ae4f369b935 100644 GIT binary patch delta 19 ZcmbQuJe!&8GcPX}0}$+Zv5{*cBLFhB1xo+` delta 19 ZcmbQuJe!&8GcPX}0}u#Y*~m4K5dbb>1djj! 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 c8ae879c7fafd64618b47a8a4855409e749e120a..34bf7426b1928221065860abc193a078d15b969a 100644 GIT binary patch delta 19 ZcmcaDa9e=uGcPX}0}$+Zv5_l~0{}es1*`x7 delta 19 ZcmcaDa9e=uGcPX}0}u#Y*~k^h0RT9n1n>X= 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 3b82cb6f344672fda25169f17f2e4ad22ceae3a1..eec93e2921376e5944ff4c67f518f09c0f674111 100644 GIT binary patch delta 19 Zcmdn5vtNhnGcPX}0}$+Zv60JE3;;Zo1)cx^ delta 19 Zcmdn5vtNhnGcPX}0}u#Y*~n!o1^_rf1mXYy 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 c5eab8c58b25f3a7ca4e37d4d9a31ca4f1ace1a6..0222f9dfada5379beedc54510c224bbdcb970926 100644 GIT binary patch delta 21 bcmbQ-$vC-_k?S)rFBbz4?0B(}tJ4JlM-2vq delta 21 bcmbQ-$vC-_k?S)rFBbz42wd67)#(BNLb(OV 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 11ba648567c331fca949f35ca24c14a88369e525..df88c2c24649e35db58ccd88d3fe1f8086b4d54a 100644 GIT binary patch delta 19 ZcmZ3?vY3VIGcPX}0}$+dv5`xX2>>$=1m^$% delta 19 ZcmZ3?vY3VIGcPX}0}u#Y*~lfy1OP6y1S$Xk 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 c8c9645cd7c1fc92122582a7407525d206b40702..d8de9dfadeef2352cc4032379ef870a481d5c65d 100644 GIT binary patch delta 19 ZcmX>md`y_@GcPX}0}$+dv5{*JCjdJ|1@!;` delta 19 ZcmX>md`y_@GcPX}0}u#Y*~qnr696{r1vmfz 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 b63884a843fe24d9281127315cacff5b9c167de2..ad60dc9eb461e58dea0fe9498ce1143150d89872 100644 GIT binary patch delta 19 ZcmaFE`G%A0GcPX}0}$+dv61T$3jjZm22KC~ delta 19 ZcmaFE`G%A0GcPX}0}u#Y*~s;X1pqrX1(5&% 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 4e2f8a9a18ec03004bc7df0b15bd25d80fef175f..f33448b99fbb3813c17b2173e32ddb376caba49b 100644 GIT binary patch delta 19 ZcmbOuKS!SHGcPX}0}$+dv5{*MKL9qT1(g5* delta 19 ZcmbOuKS!SHGcPX}0}u#Y*~m4C9{@5<1lRxo 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 5438b73ec4994151315cc3c5e31a060aefd479fa..bebb96cb7f78b2e3008fa4596b635f1c8479a734 100644 GIT binary patch delta 19 Zcmcb>cY%-VGcPX}0}$+dv60J-9RNEO1&06t delta 19 Zcmcb>cY%-VGcPX}0}u#Y*~sO_4gfa01j+ya 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 14baae3a74f35e87c4b21c96905bb05ef188348c..1a4fecd592b6bebc979e3a123d4123e9454fe957 100644 GIT binary patch delta 19 ZcmX@+am<73GcPX}0}$+dv60J01pq;61^NI0 delta 19 ZcmX@+am<73GcPX}0}u#Y*~n$10suV_1w8-& 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 556155f186f18bb403f0f2374d6bb1f451a90def..0cd1e605eaad61dd958cd74c95489db56472bc00 100644 GIT binary patch delta 21 bcmbQ)$vCrm26q4e delta 19 ZcmX?Bb*zf(GcPX}0}u#Y*~n#M3jjmS1-bwL 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 969a666e4fdff3528d3515892a8b596011f25824..5bc3a072b600d0efd47e8e1165f4205f92bf9608 100644 GIT binary patch delta 18 Ycmcc0c$JasGcPX}0}$+aF_G&u05r@6*Z=?k delta 18 Ycmcc0c$JasGcPX}0}u#ZnaFh-05K{B8UO$Q 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 a6d7710789ad89e2cf81038b88a03bbd54cdd175..e86c2cc90e4cb010c41f6b616e94c6ce85f2d82b 100644 GIT binary patch delta 21 bcmeBfWbAHa>`31m6Gv 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 b0e2a2066560098344803b6090ae1dc63c1a1db0..e670f1792e9fbc1c3fdcf355ca806c2c8774c119 100644 GIT binary patch delta 19 ZcmbQrJ(Zj5GcPX}0}$+ev5~8r6#z2>1yTS2 delta 19 ZcmbQrJ(Zj5GcPX}0}u#b*~rz+3IHyn1e5>( 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 74169e80c227a6d8510eca2cccb5cfa53af3da61..a4af2cef423dd75de2e9a351b203b7e9e163dfd7 100644 GIT binary patch delta 19 ZcmbQuKAWBEGcPX}0}$+av5{*cGXOJJ1z7+9 delta 19 ZcmbQuKAWBEGcPX}0}u#b*~m4K82~Q*1e^c> 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 89bc20f0a4de650bd01d6280efbab8dd35ad3fae..fba132b35c698dd3a046a4a03504218252a98904 100644 GIT binary patch delta 21 bcmbPzg>m*3My}7iyj%=Gu;;}_F2O7SQfda= delta 21 bcmbPzg>m*3My}7iyj%=GAbe#bmtYnEP7nqk 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 06f182d7a7d1292a16f7f79e4135f55d724228bd..fb75ea7fcf92723e4b8bfe614ddfed35509536e7 100644 GIT binary patch delta 21 bcmccjoAKUnMy}7iyj%=Gu;;}_t}C?wW7`OZ delta 21 bcmccjoAKUnMy}7iyj%=GAbe#b*OgiTUx5e7 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 7297e96b6bb489adf0372fa795d4c05e02f6d03a..16b73ee80d5a1128d99b28e2f12db13c3ab32bba 100644 GIT binary patch delta 18 Ycmcb{c#V( 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 277171203502e0a231df521b4c498ea5caa6a944..b6da3040482a82c748bf8bbe537d4ad64f5f1b2a 100644 GIT binary patch delta 21 bcmeygm+{kHMy}7iyj%=Gu=B-6t`~6tUFZlT delta 21 bcmeygm+{kHMy}7iyj%=GAb4dX*NZp+S(FE8 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 928a7d429480bba9573d0bcbe627a8c06931ff09..c4c382b4b27d2518bdb15f4dc57d0ae17950c3a8 100644 GIT binary patch delta 21 bcmaF1it*VhMy}7iyj%=Gu=B-6u9#2&STqMw delta 21 bcmaF1it*VhMy}7iyj%=GAb4dXS4=1XQ{V=b 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 19579a2a4895e75f2fa6fd0d827b25ce10e8ff97..962e0c2e661fb95531247d68be964c1ed887456c 100644 GIT binary patch delta 19 ZcmeAS?F{Am%*)Hg00cW*n! delta 19 ZcmeAS?F{Am%*)Hg00e?pHgeT#0RT401t$Oi 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 739c6b0ea8fcdb1502a69dd786bb7adc8046c1f5..d14a6ac18268100b2097cd429e904e3a45c45991 100644 GIT binary patch delta 19 ZcmeBU?PKNo%*)Hg00cW7~ 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 7236997036d8c1a48c4647907df088c0b04fd71d..1ec7529046eb5acca4fab59d8f7a284478aaf663 100644 GIT binary patch delta 19 ZcmaFE{)V0FGcPX}0}$+dv61T$GXOtJ21x(_ delta 19 ZcmaFE{)V0FGcPX}0}u#a*~s;X82~!>1&sgz 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 00a3c3828cdf2f656d2a80d344ad0a6219df826e..cf349c2b4bfa9f77a50490afde47a1681fed46b2 100644 GIT binary patch delta 21 bcmZ2}lxg`ob5MrsGcPX}0}$+dv60K14*)v81$_Vj delta 19 ZcmX>ob5MrsGcPX}0}u#a*~n$i2LLu|1i=6R 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 19d6195d376e65da4c9ee064cdcf38f4d17cdea0..cab6d789108f2774839d7e2c0afb5ff0a2b4c955 100644 GIT binary patch delta 19 ZcmcaEdtH|6GcPX}0}$+dv61U69{@ij20;J- delta 19 ZcmcaEdtH|6GcPX}0}u#a*~oR44*)vQ1%&_r 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 7485f644e791a7da8c96d1018b564bb8c2d470ca..012276b5f76186c757d11c57da772b7d35658479 100644 GIT binary patch delta 19 ZcmZ2wxyq93GcPX}0}$+dv5{+m3;;Yl1^@s6 delta 19 ZcmZ2wxyq93GcPX}0}u#a*~qm(1^_qc1w;S< 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 31898926d3979877437baee31303a64dadf17234..78f3181c32e571c6c226b58d9a6842f9226b25d1 100644 GIT binary patch delta 19 Zcmdnzy3dvCGcPX}0}$+dv5{+w5&%Hb23i0B delta 19 Zcmdnzy3dvCGcPX}0}u#a*~qm;2>?8P1)cx^ 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 8dd7cafecc3b82f15b88233c129e63f1db46ecbe..383a14131f70f9b9fd9865b3a317e389bd53b824 100644 GIT binary patch delta 19 ZcmcbXb1jGKGcPX}0}$+dv60Ki3;;-^27~|r delta 19 ZcmcbXb1jGKGcPX}0}u#a*~sN%1^`4*1;_vZ 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 5b2fc1a0f8c078437d97e2d9fdb83af7a4208de4..07157ebe207f0c13c1eb82dce27e8199c118ef43 100644 GIT binary patch delta 19 ZcmeyG^fig=GcPX}0}$+dv5_m=5CBW%2FL&a delta 19 ZcmeyG^fig=GcPX}0}u#a*~pb`2mnWs1`GfI 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 65047540f4f0fc2bb6a7977eb739d76324ef03be..5fff001fcf6b629e4dddbcc29a34d65e7336dc30 100644 GIT binary patch delta 19 Zcmcb~e3O~$GcPX}0}$+bv61UMBLF+~1_uBD delta 19 Zcmcb~e3O~$GcPX}0}u#a*~oRC5db%v1xf$_ 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 6e6fc85ccf2e66e512c0f7a8d335117308c882b9..6def2da9bdc48b3d05f5f1b32bae15d83086f7c9 100644 GIT binary patch delta 19 ZcmaE_`(BspGcPX}0}$+bv61Vk7yv}#2C@JE delta 19 ZcmaE_`(BspGcPX}0}u#a*~s-&3;;lg1@!;` 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 33bebb8fb9687e080dce3fa1dda693486683f6c3..486b7352e0a2edd7ac4119a5d0a180faa58b00c3 100644 GIT binary patch delta 19 ZcmZpSXpG?c%*)Hg00g^UY~=c`4FEe?22%h4 delta 19 ZcmZpSXpG?c%*)Hg00e?pHgbK}1^_ny1(pB+ 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 d25d8aae46f3fb524069d009fe6875dd1f0509d2..c565bce00f54c3dd04a0e1551eebebfaf74fbb1b 100644 GIT binary patch delta 19 ZcmeD6>hhy--tR-y-~ delta 21 bcmey;$@ry{k?S)rFBbz42wvI9^~wbRQb-2u 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 46dd726a3a16c5dc9e29edd969462e8d9a07bb3f..cf674257640f30e4cda7ac612d38d268452720bb 100644 GIT binary patch delta 19 Zcmca;ebJihGcPX}0}$+bv61VzEC51L273Si delta 19 Zcmca;ebJihGcPX}0}u#a*~oQV763i>1-<|P 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 0a85a80b03a8a57bffd7e0de4d0466f7c654121c..a69e699c89fade06526262068cd15ddf6e02b614 100644 GIT binary patch delta 21 bcmccG!FaWUk?S)rFBbz4?0T`0%i9G2P=*G| delta 21 bcmccG!FaWUk?S)rFBbz42wvI9*GGcPX}0}$+bv5{+&G5|o)23i0B delta 19 ZcmdnvzQ>*GGcPX}0}u#a*~qm?82~(Y1)Tr@ 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 9af57931112bef87fdef6b2854fe362b203d9842..d61f9183d5a5a54905b849bcf99fdb54b6602832 100644 GIT binary patch delta 19 ZcmZ1!wkVA2GcPX}0}$+bv5`wc8vs4~1+oAD delta 19 ZcmZ1!wkVA2GcPX}0}u#a*~lfK4FEZz1oZ#_ 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 f8495a899390130f2c1d2c78b979d86e27613c03..4640ac4ec6106c0a59ef2d62f1af20237cfcd515 100644 GIT binary patch delta 19 ZcmX>vd0vw1GcPX}0}$+bv61U24*)%I1|R?c delta 19 ZcmX>vd0vw1GcPX}0}u#a*~oR22LL%11!DjJ 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 0e971491d6e8cee0bfeba49bca6e64d5f9990d83..ca6c0e81cb397c34e47aab01c4a9d8ae0a4af809 100644 GIT binary patch delta 19 ZcmZpcYL?>q%*)Hg00g^UY~=dM0{}Bh1-<|P delta 19 ZcmZpcYL?>q%*)Hg00e?pHgf&s0RS%W1pxp6 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 0b9d0834f89f41af1a22dd64ec4897d9662f7c59..870b9c2a59b0a0fda3014bd830d87aaa81a62bb4 100644 GIT binary patch delta 19 Zcmcbnbxn)wGcPX}0}$+bv60J16aYWP1>gVx delta 19 Zcmcbnbxn)wGcPX}0}u#a*~sN13IIE61tS0e 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 8b49f3a7976a2aa09843232a3df9dc8830604280..91fb2842e7fdfc80e71040152617996d25f44c52 100644 GIT binary patch delta 19 Zcmcbobx(`yGcPX}0}$+bv5_l86aYZ=1^55} delta 19 Zcmcbobx(`yGcPX}0}u#a*~k?l3IIHt1v>x$ 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 a7c7249d2dd0e3f1e19f2bfc28ff419ab7c65947..6e51d37719a47ab67459094fe3554f0f1d6eb449 100644 GIT binary patch delta 19 ZcmaFr@YI3pGcPX}0}$+bv5_lU0RTky21Eb= delta 19 ZcmaFr@YI3pGcPX}0}u#a*~k^G002Oo1&06t 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 63aabca006140f94446e0b5a8df291eb7b25cdab..ea5c16436f7e3c108c1d904a6b6f618a30202d64 100644 GIT binary patch delta 19 ZcmbQrGL?nvGcPX}0}$+dv5||L2>>wq1ib(N delta 19 ZcmbQrGL?nvGcPX}0}u#a*~rDs1OP0i1OWg5 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 a7ea241ef9c58ae9dddee0404868d6edf05bb31f..fba3f057d2f2c6fc0b6dd1820383890edf542334 100644 GIT binary patch delta 19 Zcmcb~cax9nGcPX}0}$+bv60K49RNIW1)~4} delta 19 Zcmcb~cax9nGcPX}0}u#a*~sP34gfe81m*w$ 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 6860d9f4ef698467e71ec5f2c8309214ec895f05..cda395cfb3bd5e4cf779899d00c3adca93e754af 100644 GIT binary patch delta 19 ZcmbOvJ4u%7GcPX}0}$+dv5~8T4*)dg1#$oY delta 19 ZcmbOvJ4u%7GcPX}0}u#a*~rzw2LLdV1hxPG 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 3e11b8052412769ef47d84322bba3cc19ebe4336..1fcca9e0401298389c37282f5f023926d18fd7fa 100644 GIT binary patch delta 19 ZcmaFF{fL|EGcPX}0}$+dv61TrD*!%O1~mWx delta 19 ZcmaFF{fL|EGcPX}0}u#a*~oQ+6#zN~1$h7f 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 fdf2a6935d9a53171472a978a2a5e3789691d029..f33994f529d9e78b6cf331de21ac46ac04914355 100644 GIT binary patch delta 19 ZcmbQiJcF6*GcPX}0}$+fv5~8f5dbn(1w{Y= delta 19 ZcmbQiJcF6*GcPX}0}u#Z*~rz$2mmen1c(3t 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 2a8d295bfcb8ec1f1c8f70b1a69ec3f6a02c559c..463ff0566a33a1458269f1161804a95c2033809d 100644 GIT binary patch delta 19 Zcmcbjaz%yfGcPX}0}$+fv60J52mn5?1haYBOYGcPX}0}$+fv60J;2LL-t1&ROw delta 19 ZcmX>haYBOYGcPX}0}u#Z*~n$b0{}Mg1kC^d 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 11567c7196a45cb5294762ba6b4c754408a7d6b7..ed4e843994c54c211d6d554b4cabff48b6ba77e6 100644 GIT binary patch delta 19 ZcmaE<@=}HCGcPX}0}$+fv5_lY2mnFO1`7ZH delta 19 ZcmaE<@=}HCGcPX}0}u#Z*~k?y1OPpB1x^3} 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 106c8e5acaec487bacf66b86608be0265831d653..3b0b7aa403afff5344c8483803246a2161b4009f 100644 GIT binary patch delta 19 ZcmaFG@`{D)GcPX}0}$+av5_l*2>?B+1-}3Q delta 19 ZcmaFG@`{D)GcPX}0}u#Z*~pc^1OPco1pxp6 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 b282e70dd8856173ccd29d2c743f633f51e61500..1bc90bc48a3e27a7942faaeb5da9204b305b1f47 100644 GIT binary patch delta 21 bcmX@HlgLR38Vg delta 21 bcmX@Hlht7GcPX}0}$+aF_G&!05)(1`~Uy| delta 18 YcmaFJ_>ht7GcPX}0}u#ZnaFh=05Z-6J^%m! 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 95f8d640819096df06424c21a0274aec8e96c665..5350bb04a0c448d3804b406f94ff00f70d6fb819 100644 GIT binary patch delta 19 ZcmbQEHAjoz(9GcPX}0}$+aF_G&&05^yR6aWAK delta 18 YcmaFK_>z(9GcPX}0}u#ZnaFh?05j$VRsaA1 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 e3638cff6d3f89d2c89bc8ba59e2bf2108e30560..f747e24a7e032ba3adb92cc32c5c61bf23ad0c3a 100644 GIT binary patch delta 19 ZcmZoPZZzil%*)Hg00etpY~(7J1OPQ@1$h7f delta 19 ZcmZoPZZzil%*)Hg00cr;Hgc6q0st`y1iJtL 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 fd40f93758dc64977c997a0273d1eb56b051b474..12a09b5276b3053ead7b26a99a44e77712db3519 100644 GIT binary patch delta 19 ZcmdnOwS|l8GcPX}0}$+av5`xQ6#zDM1uOsn delta 19 ZcmdnOwS|l8GcPX}0}u#Z*~q2E3IH+{1a1HT 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 f28f3018078fdb6e84d07a4ccc3b5e31b3ef1472..126c7119739b8a9489010d886a0e0a168a0a39f3 100644 GIT binary patch delta 19 ZcmaEC_t=i>GcPX}0}$+av5_lM9sopf20H)% delta 19 ZcmaEC_t=i>GcPX}0}u#Z*~k?s4*)?B(S8%*)Hg00etpY~*TY0RS?B(S8%*)Hg00cr;HgYwy001p01a<%b 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 50ef1f1f6abb82fb5f66d4d18eb413b2be8ce1a4..bf37485bf9cf5cc4d6e74121b76b8d72cd6ef045 100644 GIT binary patch delta 19 Zcmeyw@`;7(GcPX}0}$+av5_l-2>?FY1=j!o delta 19 Zcmeyw@`;7(GcPX}0}u#Z*~pc_1OPgE1sMPU 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 cc9fa8c103e85cb8d2f948f5ecdab74a64d882f1..c5b77abfa202a10940764b24678c767aad71d130 100644 GIT binary patch delta 19 Zcmcb^e21CqGcPX}0}$+fv61T%BLF;Y1`z-N delta 19 Zcmcb^e21CqGcPX}0}u#Z*~oQ?5db(71yle4 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 aaf2b9db5d4746d5ac5714f51cee72e8d7402c43..bc1e58477ffc0a06e8d87260dae1fa6a08292293 100644 GIT binary patch delta 19 Zcmcc4bDf9lGcPX}0}$+fv60J{4FEgl1(^T< delta 19 Zcmcc4bDf9lGcPX}0}u#Z*~sO~1^_pV1l#}s 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 49f5460552292b03a99586c181ebf785ffaf7ed1..60e620dcd22c1f84164111e2789e233618af7c65 100644 GIT binary patch delta 19 ZcmaFm@ydhiGcPX}0}$+fv5_l51pr3Q250~P delta 19 ZcmaFm@ydhiGcPX}0}u#Z*~pck0sumE1*-r6 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 fe57b10350f86f52e8dbd108164d17184267ab3e..9239e96011d610105be9b220629f87bd829eefff 100644 GIT binary patch delta 21 bcmex!pXtwiCa%xCyj%=Gu=~YEu21U$Wb6pr delta 21 bcmex!pXtwiCa%xCyj%=GAarFT*QfOWV3G(P 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 f72d54c3e366957f817a37e96a6f59969a849c32..d47acb94bfa0938bb08cf748a58a17d1fd274101 100644 GIT binary patch delta 19 ZcmZ2%wb+X5GcPX}0}$+fv5`ws763Y71#kcW delta 19 ZcmZ2%wb+X5GcPX}0}u#Z*~ld+3jj6;1hW7D 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 26337df7ae0c43844931783fa6743a87b39385ce..5564625da4e8af32762a9f72fc3070ce95ece627 100644 GIT binary patch delta 19 Zcmeyx`HPe5GcPX}0}$+fv61To3jjf|26_Mh delta 19 Zcmeyx`HPe5GcPX}0}u#Z*~s;Q1pqx(1-$?O 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 0e1e45f1e783896201924631b3cd5977f318dc79..e7c1ef55902017b2e9cf60356ead41df9d418cc2 100644 GIT binary patch delta 19 Zcmcb~e3O~$GcPX}0}$+Zv61UMBLF+;1_b~B delta 19 Zcmcb~e3O~$GcPX}0}u#Y*~oRC5db%p1xWw^ 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 6ef32f0a86e5980c8c7a626dba909efbadd9e00c..1129dcf0a26b5ddb7ca81d28445d0eee9dbe4e62 100644 GIT binary patch delta 21 bcmey>&-kmKk?S)rFBbz4?0B(}>w`N0SZxQ$ delta 21 bcmey>&-kmKk?S)rFBbz42wd67^}!tgR2c^h 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 5f455f0d9ff80ce7c61f01a986dd8a41bef41c8f..251220e73c2a156493ce9704b94d06980d4812db 100644 GIT binary patch delta 19 Zcmca1a6^FWGcPX}0}$+Zv60J<0{}dP1)~4} delta 19 Zcmca1a6^FWGcPX}0}u#Y*~sO`0RT8K1m^$% 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 653ae2f9320a1d44e77b43c031385defe6bfd820..18f3d5cfafaaed093be3e6d87e83a4c036ff847b 100644 GIT binary patch delta 19 ZcmZosZBga=%*)Hg00cW;Y~-pE0su4M1zP|B delta 19 ZcmZosZBga=%*)Hg00aV8HgZ)70RS(I1fKu^ 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 d2f7510167daa1f6bbd8dabf9c8d3a1ebf05cd26..dd53b98c754d76b9e0abb58af887e43f22312f86 100644 GIT binary patch delta 19 Zcmdn0vsH)dGcPX}0}$+Zv5`w#3;;VA1%Lnm delta 19 Zcmdn0vsH)dGcPX}0}u#Y*~q0W1^_n11jGOU 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 bd2b61db893e6058cbb57dc1ae13314d309e2f23..4d2cf94323f34f68482ca27a1c0c10a308e255d8 100644 GIT binary patch delta 19 ZcmaEx_co8~GcPX}0}$+Zv5_m;8~{vB2F(Bf delta 19 ZcmaEx_co8~GcPX}0}u#Y*~pb_4gg2_1`z-N 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 93dff6cd7c5d405fa469c32275838df1d3da8e5b..f5ea5e47fdbd878e502257822c1328f3bd5186ce 100644 GIT binary patch delta 19 ZcmaFQ@t%Y0GcPX}0}$+dv5_m41pq$a1=Rom delta 19 ZcmaFQ@t%Y0GcPX}0}u#Y*~pd30suOO1sDJT 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 04a0911514840b85fc1c078d1b166a30f49a42d3..fa3a9c9387f3557a3226b0b0c836f8a63bb1a978 100644 GIT binary patch delta 19 Zcmca8d{LO|GcPX}0}$+dv61UICjdO>1{MGS delta 19 Zcmca8d{LO|GcPX}0}u#Y*~oRA6971k1z7+9 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 2bcc27cccac5b2ef1549755173bf90c66a076791..e56687648ae7ff0168fbb96434fb9d5f6af89c23 100644 GIT binary patch delta 19 ZcmdmPy4{rPGcPX}0}$+dv5{-76aYP-1|0wZ delta 19 ZcmdmPy4{rPGcPX}0}u#Y*~qn43II7q1z-RG 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 e047e2084b3584b9267421b6f9a644dec8594012..f7e785497473476d5c2fc2a772e03870fe52f7ed 100644 GIT binary patch delta 19 Zcmcb@dxe+lGcPX}0}$+dv61T(8vs0t1`q%M delta 19 Zcmcb@dxe+lGcPX}0}u#Y*~oQ@4FEVW1ycY3 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 737f434b452768a0a4d4a958fc5004af2e039f63..ef53a0c1593ca586fe9a8dd482edb6bd9f519679 100644 GIT binary patch delta 21 bcmZpA!r1hLk?S)rFBbz4?0m72>qj8~QmzNJ delta 21 bcmZpA!r1hLk?S)rFBbz42wd67^`j5~PE-c? 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 e53b148a76fec00f2d6337afd82a5d811559f824..ce37e2d384f99dda42002bf3a4d6a08d9e302c4e 100644 GIT binary patch delta 19 ZcmZ4PxZIKJGcPX}0}$+dv5{-80suVT1`7ZH delta 19 ZcmZ4PxZIKJGcPX}0}u#Y*~m3l0RT9J1x^3} 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 ee594a608c872f2f166145c3a0c2c0ad821a9a4c..bdab75f2f02255c79d40e404c0ade45a25e231e8 100644 GIT binary patch delta 19 ZcmcbYcrTIbGcPX}0}$+dv61VF0RTx@2LJ#7 delta 19 ZcmcbYcrTIbGcPX}0}u#Y*~oRp002b(215V< 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 bc025fb35dd4c7b94996fe46657a32043b7b426a..9e5a14d772435c29e399652bad8f39796592b164 100644 GIT binary patch delta 19 ZcmdnswZV()GcPX}0}$+dv5`wn6#zbK1-$?O delta 19 ZcmdnswZV()GcPX}0}u#Y*~q1)3IIA01poj5 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 c47826bc7830637ba22297b6b46ed6c8ff6ba441..5e726f1f248244657bf585743e4d68a8e2c2c180 100644 GIT binary patch delta 18 Ycmcb{c#VG%*)Hg00etqY~-rv1pqT+1y%q6 delta 19 ZcmeB_?v&>G%*)Hg00hEUHgeVT0st=q1egE- 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 83ef853ff71ac5d4191e3f7693d16ba35bc6ebd5..1524414a84c3ca73da49ae295400431a1c1c3ce4 100644 GIT binary patch delta 19 ZcmbOtIz^Q0GcPX}0}$+ev5~8b3jj1W1!w>O delta 19 ZcmbOtIz^Q0GcPX}0}u#b*~rz!1pqJB1gZc4 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 742f9a87afc078d91257a6e45ab391fce2f5b003..4e02d7dbc7dc1b93a53942b730e69353da21d098 100644 GIT binary patch delta 19 Zcmeyw^@)q?GcPX}0}$+fv5_l-6#ze@1?2z$ delta 19 Zcmeyw^@)q?GcPX}0}u#Z*~pc_3IIDv1tGcPX}0}$+fv5_mC2>?E>1=9ck delta 19 Zcmey!@{xt>GcPX}0}u#Z*~pd71OPfz1r`7R 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 036e5e9aac50df3de347b0450dcbc22f7263f70f..3c5e485ab916b84a04de27a0fd2c475217dc5219 100644 GIT binary patch delta 19 ZcmZqTZsO+p%*)Hg00g^VY~-q71pqK51s4DS delta 19 ZcmZqTZsO+p%*)Hg00cr;HgZ+40st$^1X=(9 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 5604b3ac01bd63352dcbc3bdde58c49c648101f4..cdf709232ce08fd7cd46ce9b1ceb1a4848de90d0 100644 GIT binary patch delta 19 ZcmaE?_E?SUGcPX}0}$+fv5_lM7yv;p1^xg4 delta 19 ZcmaE?_E?SUGcPX}0}u#Z*~k?s3;;aU1wjA+ 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 bb8ff14fd2afb8d72a5219d1913390318c865fcc..62fe86b3aff74e2668203a50560407a583571415 100644 GIT binary patch delta 19 Zcmew<_EU`OGcPX}0}$+fv5_mE8vsH}1{eSU delta 19 Zcmew<_EU`OGcPX}0}u#Z*~pd84FEmy1zP|B 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 7e937fe9ebfdfbd46afcb70e521749c7d1c4db12..8b3823264b876ed9d93eb2ec618cc9f739c5c960 100644 GIT binary patch delta 19 Zcmcbleo39{GcPX}0}$+fv61V9FaSTx22B6} delta 19 Zcmcbleo39{GcPX}0}u#Z*~oQ57yvtQ1&{y$ 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 6ac24ada9d8ddea045a0f60b3b72add0599111f8..b3a53a7c76c692c88155e8936df91d48d7cc95a3 100644 GIT binary patch delta 19 ZcmdmJxY3a7GcPX}0}$+fv5{-J1OPlf1_J;9 delta 19 ZcmdmJxY3a7GcPX}0}u#Z*~qnA0suGU1x5e> 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 60edf47351659b8b207a75c4979a5cdfae69ea93..7c16d4b32b17534d2453135bdae24e21bceb3ef8 100644 GIT binary patch delta 19 ZcmeyM{z0AVGcPX}0}$+fv61VUFaSh92B!c3 delta 19 ZcmeyM{z0AVGcPX}0}u#Z*~s-w7yv)z1?m6* 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 5809ce8415e4faddc4c21afd1905d9d3c88507ad..d4afd815874a19af251f4eb4900cd01422448dc3 100644 GIT binary patch delta 19 ZcmcaCby-llk;aX0Fe?yj%=Gu=~YEu7hU)Q#A+M delta 21 bcmX>-llk;aX0Fe?yj%=GAarFT*TFLYPTL0_ 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 ff48d4e2bc69dd6ce21c6633b1ce4737ea4cdee0..6eeedf09bbb81248f1cd26cb83a6cc2912c3931d 100644 GIT binary patch delta 19 Zcmez5{K=W?GcPX}0}$+fv61VAA^=EH2J-*_ delta 19 Zcmez5{K=W?GcPX}0}u#Z*~s-m5dcH?1~vcy 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 d65da67f157c07800148a9eca521bc26142c6e47..00cc08821648135aad88af61c655cc5cc2227452 100644 GIT binary patch delta 19 ZcmZpaYLw#o%*)Hg00g^VY~=dR0{}Aw1-SqK delta 19 ZcmZpaYLw#o%*)Hg00cr;HgbLE0RS$l1pEL1 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 46ad29ebb4e4ba4fa05197975a48c484d89d7e65..e212130177b30ecb97e57a600f5bc7c23eea935e 100644 GIT binary patch delta 18 Ycmcc2c$tywGcPX}0}$+aF_G&e05paL(f|Me delta 18 Ycmcc2c$tywGcPX}0}u#ZnaFh#05IeQ6aWAK 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 4695d5d5d1a8cb6c4284dee4926de9cbd63f08db..ceec0b734d9854d2a56395e7ccc81c5253153aaa 100644 GIT binary patch delta 19 ZcmZ22xmuFzGcPX}0}$+av5{*b4*)nM1-1YH delta 19 ZcmZ22xmuFzGcPX}0}u#Z*~qn!2LLm~1o!{| 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 e674756853e0970ca62795dd09ab9e2ec6986dd2..2348b4e7918c5cd1d3a7966d1ba8c43bdc3a21d7 100644 GIT binary patch delta 18 Ycmcc3c$<;yGcPX}0}$+aF_G&c05zTk>Hq)$ delta 18 Ycmcc3c$<;yGcPX}0}u#ZnaFh!05SXpEC2ui 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 d6bb4fbe317a42c914d20061ad9bafa92dded47e..f15ef71bfbe81b29fbce622a5624022c6330b3a3 100644 GIT binary patch delta 21 bcmbPzpK11eCa%xCyj%=Gu;;}_u8HdbRcQyg delta 21 bcmbPzpK11eCa%xCyj%=GAarFT*TnSzQ3(e7 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 aace1fa0680ecf41f82573fa3c69c74cdb6fdb44..13edecf520a3a7302b31c171d60bacdca3668db8 100644 GIT binary patch delta 19 ZcmZ2gx~i1xGcPX}0}$+av5{+m6#ztJ2AKc= delta 19 ZcmZ2gx~i1xGcPX}0}u#Z*~qoP3IIR^1=|1s 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 b3829488939bbe9779c5a9abc113022bd6b2c40b..c0a7b82646e0ae74c8ad0a0fdd75c1f2885174e8 100644 GIT binary patch delta 19 ZcmX@ce2kgvGcPX}0}$+dv5{*JBLF!a1>+o1r-1Q 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 289931204ef741183cfdb7fae8bc40919286102c..263d6cd42f675711cbacdcd89c4259944f48af81 100644 GIT binary patch delta 19 Zcmexj^u>tlGcPX}0}$+av5_lF5&%V622cP1 delta 19 Zcmexj^u>tlGcPX}0}u#b*~pb82>?L<1(N^( 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 c7569447c8f85794a0c1f671e4ca4d4c2073e7e9..307be2f98779b00729c5ae1310884601eee0faa3 100644 GIT binary patch delta 19 ZcmbQPJzbmYGcPX}0}$+av5~7+6aY7w1*ZT2 delta 19 ZcmbQPJzbmYGcPX}0}u#b*~rx^3IH=d1nK|) 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 ca931131e9ac9248cf13964eb888ed3aecb3b1d0..08240d04d6d4122efbfa38b789b06490c5679fc1 100644 GIT binary patch delta 19 ZcmZ3Iv?Ph^GcPX}0}$+av5`y45CA{%1=s)p delta 19 ZcmZ3Iv?Ph^GcPX}0}u#b*~lej2mm{m1sebW 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 9db7b40eb974a787d0350b7e419a7c5fb31bd9ee..0c21a4bc9a8ac8b7c0699e7eea0cca4ecbd85c13 100644 GIT binary patch delta 19 ZcmbR3H`|ZvGcPX}0}$+av5`wq9RNG&1&aUx delta 19 ZcmbR3H`|ZvGcPX}0}u#b*~lfR4gfcg1kL~e 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 fce5015e043b77155d6ca842bceb3f0687f1d2fc..92d7cf2a7314ba21fdced3d2e171cac9857173c1 100644 GIT binary patch delta 19 ZcmbOjIx&>%GcPX}0}$+av5~7?3jjP`1^xg4 delta 19 ZcmbOjIx&>%GcPX}0}u#b*~rzd1pqh%1wjA+ 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 811c59885235ebd6f2da61d80b735aec188ce72b..4f0b47e6878ded64bcd5d0e8a67225f6a2824f35 100644 GIT binary patch delta 21 bcmcaVk@5aSMy}7iyj%=Gu;;}_uB#pZRDB14 delta 21 bcmcaVk@5aSMy}7iyj%=GAbe#b*HsSyP$LGz 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 27bf2a506be32791b1b16f79760953ad401355a4..38415f375d71d9f81c8a200c9af3a63bb9d7ba6d 100644 GIT binary patch delta 18 Ycmcb^c!!beGcPX}0}$+aF_G&M05!n{?EnA( delta 18 Ycmcb^c!!beGcPX}0}u#ZnaFhs05Ts1F8}}l 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 eeb85f8751481329121bc1e28e469b4336acedc5..66d34f8ec81d881941ef49d0dbee16fedd00cd34 100644 GIT binary patch delta 19 ZcmeBm?sew+%*)Hg00etpY~*TI1OPc%1;qdW delta 19 ZcmeBm?sew+%*)Hg00cr;HgYv90su7m1qT2C 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 38db495ab904f7ff84c4a830767dccbc5bb146f5..733c9ba23e86b42b374b9c933f91383698096e69 100644 GIT binary patch delta 19 ZcmZ3c 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 413590b43a3ce26268530c7c2b6ca8262f4c967d..1afc739c23b31c2af698d45eb948272c07af23a1 100644 GIT binary patch delta 19 Zcmdm6v$uxpGcPX}0}$+fv60Kz4gg0Y24esK delta 19 Zcmdm6v$uxpGcPX}0}u#Z*~n#V2LM9I1*QN1 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 fab4d4f0ea05345f126a64752e3e8f59f1d3a927..883a9b0f5a58b59f71371f2231215ac857d6f802 100644 GIT binary patch delta 4388 zcmai132>BE68_&D|4in}B$I?(lS~dthHwPJEQ=u|VF8y2K@9`OL5CsCgo$&6Hfh1F1HDF zCb;blo7riq)7B+SR+xmk#4=?l5pqj1paU$XI`f_HjA0h)lEy0PlHuT}kzRiD&+rt#3xiJa|It6W`V_N6H0|pO0H15 zKCUxK=_B?u>DDnjNK!1ZB^2~T83EU`p;Z}BdR`5t@k>Y$ zBI7??^tD0A%IR#{8rm2-Ic92KPUV@L8E;JJ%ba;8bM~ps*?pO{s}s*=s;S-I@wGTN^s#wbK4 ze5PGM1k3H@YCibNW^~kKlkO3zv(i-Eqo-Th#}QrmEUR!-O=e}Oj*2Rzbq>aVQ_$Dw zgg5mGNT-iwcubdsm_?Y*F{`ddqdZoWR-;fJt57rkafO<3j%$=i>kKs+%HwGYq|*t~ z8OUenFO8bGUrDY>A5Ge%CC|d|t9IzuVh-0KtOrN+EjM=|*~!43NF7MK5Kt?oZ16S4 zv=ML66N>s9=shTS3}HFKI@n!3mpla-=d&SyT125F(lgV#5;Aw9a2LW9gxv^x5cb0C z*;!;CES-Intbx)w4l8|x@$LE{eh;AHUl0z$gL5hgK<^wkDU%9n8w<(Hu$JCKUV=|) z2U!PAkwTHX*$GcY{!Y$9Q*>PJ&pSt(=V5R3h3sdM{1XE1!>;0+ji==Pmb~nJ$QI>9 z3<(HV9EO7}bHocsUIcS%e(qT$FCkn;IEZivp$*{x+}^rAu70Vt%sfo}02H+awCkCw zT}LlKS6j9yYrw&_5#}$48@tq&Pu7BFc?sDLWy{OOZ&2Y|h%Rsbg^iy8<%*5sE2#b| zJiB5Zc@3_uh?w!%>3oEv2#-K}J0-pFMY}bx8yRa5N)dV(*o%f7)LT%p^5(MBj2$yJ zv{32|Mct98C+d~6xeyoq1A&*?2Be-th(YJdobtm+;xWfe4FOLi;`jNz)XmC`{uL!( zphV|sz;5Q;e&k+7xCU2O2KDbFNeBY~|0)OB30qfXkrmSZRmE2Q%P3@XPoUqxzcyx7 z@QVK<`)1CJdVrWf)lSy6@Q21ePDjIN6*`zFWUnjyn0(|6$V(1 zFb&~12-9JjG|vA2Telod^2k1dO;WDdi{HE8b*Zra1d=x)lp#z+lei^16M?V6IU`S^ z)kr;r@Gygz9#1pkbvH%Ap&{k|C@Lsm%Fg;B2VsG2J5zFa74y=Y#mvVNmiT=>FP49d z_~~PCdgrLoeEYYei6;@BMgRm%MojMyMX_5#tcchSig%R~4b<D*FoZc$#=+$Th@*WfPYtjPJAz9_(`}dIfmr zLK^hsUP|!xozF;P2An9@eWL)gD|700I z@aLJah>{tw*=+Pz7|lZX+l3Kn(Qr5rar?s5Ew}dvDyBCMzQ16F!b@F0HO9;Er^a0H z$)#d)kp*#Y0R}*g%mu4%2YSLJMcAXB`IcSR!`91rMNrhKWp*EyNt_u)o>$dx;-D( zU&)>@+Q$B5xZ7^J;Te4%V4=v7;hRII4h~RY*!tfxO6*}?Tk%T^4ix)*_SUt<)r-7(-7x!)z=UpOuvu~r_RRj4rN;eIp_MBY%_ zgYrS!B3(OZ{C{mhMR~Pz2YeX@$3hy$-6wO0xxjR=NjM!N;T!(3hnT819P+}x&zd{< ztFjCAUO+gCz$;9|t!NOIBH$fG??aFWHB$Uq@5U8;Zs3TZd|2>-qGX@3R5yQU`WxJy zXq5UFv%wc}yJ;t?PG&1%$LGECE7ckOqL7%}uR%&HWEAx$Af*#VWcKTkG6=;b{YIor z$V)`ZEM#Q&Cn1$AWLo)p#_4Db}BQXz@Nk-qdephw6+LX%OW*aWDu&x2UhKj_I~$IHX*h)GkkmQ zdER^OIp@F7HT}On)LXx@SWJrei@&seamSa3tk31@b{JGO_a2?D(n6oxb4^yI(pseV zS<)1G>@NdJKRCf!88heYd|^}>J4#m>M=UQVUr+@)M}))Zh^&mi+b~V3WQ+8QvXt%A zS40d@eAcQ+gu$P~N|Qz;(>IX`v}Rs(b8J$ff9^Vr-pvzFQ6|<5dj-zb@oPf?3?N*|cik+ECRcw#DNX3~Uwh>bm-_0SmC~;<` z%@Nacqzolp`0>R|imB6Szi#GM#_Q7+H|ys~Y%)U`t@z^8m5R+hI^*MzslD`v5FvON)q zMIG=*0H*;b=;z%c>#oIdw?j;5}>r}?~Khb%RXoV$F%>OjyL zbZJSS2c!1@vi7!v`aR%pfEj=(0z%e0uYaM_TV3P#1-akLPeOt+30Z5r&OpH9_PBU; zjk}J&0Ld*#OwO91$L|wdOCA3V?9TzW$+D{6b{XW4fUN=oIRa?gsx0a(G?1^|$PUrb zRVl1deQ#Cn5c2`(i5aHwugSDKWxTAH-C`}G`+aT?udf!j)aVNEJz!e6Yq6^)*u&ck zUSzi-e~uRJekc1I@Z#$|V&}fP>INrw*1JSb0{j^v;NJnhrP+IGhRaZLoyCMn%o3l! z$ye>t6XaQSfR+>^!9$gsD`tbl-^SWXf7+XzFAFrBKAEo2 zfPkys=?i*lWCj;NIT>zJ$kvj>zN3x6x59e=jx0dFgro@(y z1i6ax)RSg8N2FOReWyN@H~|}+2q*eLiVhEoo7Ada7UWcjqia2Gw+rnOVjjMkK5HA1C$sSYJZ=FH0M#ou6f$d$ zs(qrA#DS)?k2XfY(>=7UC5>)9k;)dSZS7Z#tc|w4*2un9BVS*~jNillecFC(6#F-w zIF?u#zDRLZ#Sog{#Mt2XdTN#j^n#O-k-^78qK71dez=fglr7EF+~c$KEQwaVF_ro0 z^cy8?HL+9ovp9P2l#`XIFP%E7V=HO#*;I3_u+>JuYT9--hbeUA>;jgm4(^x{F=ves z-p8kj7!^E1;4J=2!LbkEk0NXzQ*6N0BuZE0(dqT_b?~|Yuokc$@FYNX#YQ^z_F^_p z9r0&}As#Wr5w}B1fE~2$!Zfyqu3VVSR#4H!9JYh1F1AM@oL$FVlyoUI%7H};Z=&&+ z1{*iQYztLg%F2{klLe!dme{A5=rVt@g9~ZjC5Q32V26f^gbig2)FJO?MP`=4pRrF* z^w!%oq0FzU&iBXYnx6qJJE;UQd)vtnlBsVD@H+(@6PIh9Bq;HXD~I9zfCm880Ij{C ziK@DfF9-P`B+~&6V!6WP_12FZ#r=(9Jn;&!?}e89Mrd6umUZHv`0Jd=TWS0U!<%P8 zZzez{Y;gas3KyByTG~;C13nRu3m6GF0mua0*=~F`e3wEn2UH3uJHQO6nhWNm0(xFA z@)D{bn-9@uPzylG6rdrsjP&cS#~=uwG7uxosJcDTh_7BK4V7;Y>Di$+bxzP1`-HNn zC^2|}l*2Ak{`D*>zP4-dPkhMKyuj%4N4aGAIF?ZP1L1y27Hqgh>_8NAxG)3abuJoO>*v{Y^m-=ySiO3E3(GzP zbva7qeao5GCX}_eT=xLodSj6GqWBq|GdG4ZMxWeBVK>x>Poi0KD?HDWu0YKPRSIas z5|lkkdwWUEUio4u)!(TZs|^uYX-^1g^Awhn_js7PtDBqjo1Op@+UkD~iz=}F68Zr?-p2DuG?vWna2 z@U7v^Qa?}gf>F%d0h0TQpoH($uqXw9`+YRt)K!5XpD)rVXQh<&Mpz98y=mpvT+c0xt| zk7Pfn(*RkT1{?)nIqnAFgTz+?w9yReIF#ipRZa>F1un;f93hOJ{WOI=O|O0W)*~em zNnJ)ICcY~YRFsmG(-jTMqzp>#GJ_hR9T=JP)s?u z6G5$D>fb;64NF)nb`gs7`s?b%dyg-}Cj9D}E*ndJ8uZ=RB)+MksC(=EwT)ia1pXEs R_+oatpI{g2#^2( 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 319f01c98fc13be4266a12720987e51681636139..38ad2e8d9c738252c41cade22873ff4f6378379a 100644 GIT binary patch delta 19 ZcmaDG_BM>`GcPX}0}$+ev5_lT8vsc!29^K- delta 19 ZcmaDG_BM>`GcPX}0}u#b*~pcw4FE*X1=s)p diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/security/__pycache__/__init__.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/security/__pycache__/__init__.cpython-313.pyc index 9bd73dfbcea0f664bfecd48c5a097653352d6d75..2ee9826b89f4d2efacbce5c2d3f4315b6d695096 100644 GIT binary patch delta 57 zcmbQhxt^2zGcPX}0}u#bnY5An39~|her{fgeoA6VqJCm}YF^07Fj{zyJUM delta 27 hcmdm8F{gt2GcPX}0}wplIdLO*6*FV_=B3QjEC7Z92~_|9 diff --git a/agent_framework_oci/libs/agent_framework/src/agent_framework/security/__pycache__/factory.cpython-313.pyc b/agent_framework_oci/libs/agent_framework/src/agent_framework/security/__pycache__/factory.cpython-313.pyc index 9dc99b2c21da23cf871e7586dc14062454ad4fab..4f325e3dcfe8218548ddf11d1b7e3b7ac4d71092 100644 GIT binary patch delta 58 zcmbPgx5bY8GcPX}0}u#bnY5An2a`g+er{fgeoA6VqJCm}YFA 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 01bfd5ce174fec8c0193356d39d34b4585eee7cf..d52108a75862e990be6226b0dc63e29d258d9b74 100644 GIT binary patch delta 19 ZcmaFI_KuC~GcPX}0}$+av5_l<82~?S<1|t9f delta 19 ZcmccSa?OS7GcPX}0}u#b*~sOi1OPtx1!e#M 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 6d421c59114a7ae1bb584bd9607a9990c1ff3613..3a3d6cd95af3e3e393c63808a655986487078c1c 100644 GIT binary patch delta 19 Zcmexr{neW5GcPX}0}$+av61VwEC5Hf2I&9* delta 19 Zcmexr{neW5GcPX}0}u#Z*~s-;763z41}gvn 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 1af1d8100d89a9b2fb005d8f6f842b50fd8b7f6c..be630c25b0135aacd31a9eb49ed4dca0d81eaeb6 100644 GIT binary patch delta 19 Zcmdlfv{Q)dGcPX}0}$+av5`xk6970z1y29~ delta 19 Zcmdlfv{Q)dGcPX}0}u#Z*~q2O2>>(a1d#v$ 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 83eb516b5759f901a11ff7ccfaccc015b2fa4893..c187ad86745173872fc63ca6629f5c69bf40b097 100644 GIT binary patch delta 19 ZcmbOwI!l!6GcPX}0}$+av5{*67XURB1$h7f delta 19 ZcmbOwI!l!6GcPX}0}u#Z*~m443ji>*1iJtL 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 c64be928676922cf4814cbc1baa918a521cb30ba..481c8362de13d7e776501528e975ab8322ac0194 100644 GIT binary patch delta 21 bcmdlsi)q^|Ca%xCyj%=Gu;;}_E}dQgPN4?g delta 21 bcmdlsi)q^|Ca%xCyj%=GAarFTmrgGLNKd&UQI6f`2qCCGS Kd-Ge4W=Q}h%@mse delta 51 zcmezB^1+4cGcPX}0}$-b*~oR0Ln=l;H?KrLC9xz?KP|Ju$SA%zKdq!FwK%n8^CymG FNdU;{5@Y}X diff --git a/agent_framework_oci/tests/__pycache__/test_compliance_protocol_expected_values.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_compliance_protocol_expected_values.cpython-313-pytest-9.0.2.pyc index 807d2efa74d2770a8e0b88a976f2b7899082a803..547d6c398e5789257529ea8d377466f44f795f56 100644 GIT binary patch delta 57 zcmdnsFvEfSGcPX}0}u#bnY5AHl1n~CKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0_1?*H%#g2?rCs delta 81 zcmbQ?u)%@*GcPX}0}x!_I$X-9pL}~ diff --git a/agent_framework_oci/tests/__pycache__/test_contextual_reentry_transaction_parameters.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_contextual_reentry_transaction_parameters.cpython-313-pytest-9.0.2.pyc index ca9f9c5abc02db4cc2f9fd546b31570a977fd5f3..9ba6e6be018a610bc053e354253cb274afe6e939 100644 GIT binary patch delta 56 zcmdn5by|z-GcPX}0}u#b*~rzwD4(UDn^&Trl30?cpO~JSR}!C`pI4Gt9G{k1QJ!Cv Ky?H6)EMWlscoUBR delta 44 ycmX@DwO@*Dsn^&Trl30?cpO#r+WE5X!vUwxpEMWjJ2o4(n diff --git a/agent_framework_oci/tests/__pycache__/test_dlex_out_expected_protocol_authorization.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_dlex_out_expected_protocol_authorization.cpython-313-pytest-9.0.2.pyc index f6b2a4933c4b4960fdd2134dc7563612a58c6466..53b3c20330681f2898ef7af9e1b3ad5c3463a30e 100644 GIT binary patch delta 36 rcmdn8o^kDZMy}7iyj%=GAbe#bSDOH1=H!V2;>>B86`MB+Fu4N&&5sJ$ delta 43 ycmZ3xo^i{1My}7iyj%=Ga5!KiSDOH1!Q_bo;#|h@DLJVXX_*!An^y}kxdQ+xWDThR diff --git a/agent_framework_oci/tests/__pycache__/test_expected_input_coherence_delegation.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_expected_input_coherence_delegation.cpython-313-pytest-9.0.2.pyc index 2bd695b0a942786ca1f9dbde9ab858cf6533bfdb..6671a97949bc6444be2e388c514f3795656bceeb 100644 GIT binary patch delta 1244 zcmbVKO>7fK6y8~Hyk2kY*p7b!Ny?V|6oXltG!#{WwkEiR#wN%cL=Q!qwLLgX*1PuX zniRE4C>PpW>0CIWR#gvhKt#DWC(gA=q(oK^m3pdrafs9ki32l9WGtmprH*F5ee?F4 z_rCYuK2!g2{5w9Mmm#Zv^F5C{ki~k;bFXFxGo&<{cS!R+w z&F#uylwO=3$DkKWvA6MG{z;!tcAa!HjL9p0r4J|ibRp0~sHUI<@x#6|eCVo|#OTMV z0nHbd*HtMW|>?t3|Mqv3C+`1eoVk-2}lw;M;$tW)|>-vIu3}`5;S00bC#j4+Vd82R0ONW zZPl?;NA{N^8O3|s5| zYQs}~i594g9F@V(YL$Y8tX5=dc_y39OwC@p{E2!coloa7vzffo;_Z6jCaI<+IF@Co zCMmZSqJI&QuOT9$K-y8%;;vSxTPFGF)a_QNqT4p<$s5_kcd)8i6kr%Ej|`3uQ&Deq zM><$APK6Fd(HN~^oWhqBW++s#JTy3W@jz?;XJ^q832M`41MIc&1qXU+cr7tD7X1C_ z`&%Q4A5LtI$c@y6#?j0+&k5e09zN>+hv5V6I~UslJU#jqUK-{vNd9!Z%|^jQJH@b`dxKvOZh~+VgtyrsI1hGQ3>(=q(LHkE EH3!6s$^ZZW delta 143 zcmaD{ax|XrGcPX}0}#wTHZkj=z(hU?Mz4+P-i$2ijG7#q*D@B07iW+i2wiq diff --git a/agent_framework_oci/tests/__pycache__/test_expected_input_semantic_classifier.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_expected_input_semantic_classifier.cpython-313-pytest-9.0.2.pyc index e4ec634dab6be7c577ce4c35ea7836e770c05cf6..9ae409fc09110eb6ae9ac6c279d8f597913cb6da 100644 GIT binary patch delta 4175 zcmcInc~Fz-8PA)G90UR+gd>m$L5YZffOw!qcMx<1mCqEcx-mk6(U32`Ul73~c&w{k z>-CJs(s4aHb-^Bv&0cl4vvvDNTf5^V;4C)Vt?o{b+5bGIGp+3(eV;Eepu@J#PW#Q5 zU!LoIpZ9#8=lkJl>1SbS+GCwgBVkYEFQ>Ndsy>;PL*BkVV;wnpu`ElUC#gjhd#H)a z$dk|P5S$2I(4Flg z8{kg14Z`)gx!ag9rV)ZJ8Wj4x!7X+zEl0Z^h#W9WsQ}HU5ZM#{jcJyggy3)a)%H!O z{@VVRqSlSzgEeLc*&lw(d|RPH`w=ow1^0XM;arg^(~kmKOcv;`M3_VS;AWAbdM6Xd zvio?t&EwNSVad=97u{iJneA>=hEFM<`K3dPy_)!FYYD~ZnW(s zFq&zUu1aBh$M;ua4plB#(pq_3!==Jog==7Tz8Zcz*91S|vXPdrB21C-(oFDH zXdz(9hF?z8=ybDXG0#Wl`6k{5ec{*GI(e)X6SJkel?fDdmYM^68v9mBG)K(b!?ORX}72P)H$4Cwp8p^%Ner!wH{}22hCr3mAZ;_lJ!g)U%NKVrj%Lxdjw|5b zaOf7YC1nfw=9+SKp*TZJ$N5PMsUcR}KB9x0b1k@e1-e=i-&nSTR&H8iY16nOuGo+yEFy7&X`sK#E?B*OE2Pz{LOP*e2)cWm0m}CTf+JG80X^(s@FXpMbFJ8<)-KRK zCbXy1N;GIgs6+T3LOd`abqwJ+!U=>a!UVOWB9#H_Y+XDUGA5>AK{Du$FU?6bNd^ph z3fU;P% z+S)jKXA(Vz)=8@*!NhkBd1qIgTrqC2MGdx#Yodl3!z5~$Ib0Prln;BOhIxZ6ceNoy zL|$@E7uA-G%Mj1%B+udDRc;}Jz-(N3i6+GcdP(5E-bLn?_-1W3=;Qf zXOLb%(M5zlsIOl_hG1`fCFb`^G5bAt=qC=ieo{u9gUuT-?OUmU^v@A4BZ%kQh*UPh zFJR%Kjf#&L8490YbUlT<2df(El-HS{w*;;&Fv6uqgYsu+`Zj#fc(w9!JgeEp`X-_j5h1Yvphzow-GgmLJ^rW-^7XNbN)K%FYzey<;pj|NJpJz=@CZ=|K zJnqh*cZd6#WBbTosr(fV<`9(fvqLX<+vq%O;z7VbZ_kXMjoBy=k9h@BJqQy=C3!W) za&OA$t*6*TyasN5P9->$gN$a~@Sfd++iw=R6X*CLZCx!mwOeT3-Zbx3N3#INJ> zL9x3Q{=UuOV@wpjrd-vw_JgzX2`ZG8SXN7O= zse_sUTZ*||&st6c=fM0a+7u<)WO2ou4HoWl$x68CaAB95%wWFPeIvi?Q_POI&r5si zUfAcoy)IG;OG0(5wTg|{4x!Lgt!E}iY~sqeS+H)fRm$algJx?;dH6?zGYPT5r~8(N z&fw-uT*&pvPJHZOnM3a);K`?-B8(%PLpY7lz+gb#X0y(ztDRL@DF#=2q7JE!*CC1e z!Y)nZ1Z~ zSn8yYovOs42m8T#HHJzdhXHIqXoP?9YB+kZQ6nW1Ng?|Q(eP&ntI2AuF_Jwasx6Jk ztB0FJh-$0H<%xGxULDbv#@RcQ=rOcTS|tf44(kp*#u}vPt~N6wH=ppZDr8)qct_>t z!*y})&IFlMGua7Gl8ZjWCB@8$X0Tb=Eiu*RUav3c^$TM87t3`9`h#vEINJrb!zH8} zRvaFhkDto`>?r0Ait(L}A>2oh6397X*67$uu~#DOfyGBYus+aB nq^j5Q_vMchLzEaEN>j=7$1;i3_yDO#h49ZKmsNUFAP(@~aZq28 delta 2286 zcmbW2eN0nV6u^5+TWHHi5uu2!R0`^oukvMC<{#*$!ZO+9fe1vPlol$b#oGt9g=kzv znUP6*=1{XZHs_ShkGZFD%d$k>LiUAo%a$x}E^&V?Gg-2@Kb9D>?4DQT!#IOiI!z*hk+K-L=*hNzNogmsd9t4R6R&P-A2wKPfd!QGqMi zhh{Pb{6?WJqe39 zQtlBF5YMOnpvrE;z1k5Sh-So2L@UAx6B%C80!hYP;(|h>DP7V91P2uYL66YQ>1iRZ z@=*BvZmCH-T*`TBbuZIT#z}E~ zAseEU4lu=oWJe(2qJkxFO<%~)1!xdbtmgDa+@lGxAbHqeHIWWzwOTZ8GUOwiUk4}cCc`28JA&v(48WA#N*bBDdP^)v)Q%!vK^#Ra&X|j*oZ7_YX;&0*FrNFM&EPS<U#RvMn(VakW#cfy&XmQ5-z?PHaOj!r=DWg^Wt=K zFu`yZ7uF-LAts>SS^2OyQD<5D=cs*$A)MgwIlKL|u!MdHl5^8$xoneYeh=}OvdtGY zoVsaGpVzay-{rCFa`;>x>ZjMy>jtZ%4IApFdVM5%ssKBb-CRxr{EcIEo>L~Ic(E>gkgpu zZLnyc8^tcfBmE)w%v_VuN?anh)e$CfOJY4!gjx@)5H)P zC+PAc;tJdz+^v?F_>H)Es7kHW>BW)#*>UlS#R^{%zYHFXRKV}Ux!SCTuw${}8%`t(C*>nE8J}wMPobDmXQ2 zXB#E3{8#VrvW?2;GhZ{Cxsm7iwNN`+tLjp4`C`J+wS+8%vay=#TUge1gnZu?yf;v{ z3Gp3b8gU!(EuxActgXwnl-er_Y&JRxx5i9MaW={$CmcWjV)}b*1vvrcNYg6$rd_}_ zbF+y{lT;x`uUCria|qpDPY1mNuSeEHiE-JY5jqoDZn=k^cNioU_4@@WA?T+)Zm&N` ze?iMQ7-~$wN0(?~jRif?Y)u3$gD@6dPp-gpv`06?6v>2*raW;Ylo4_2)%zsldsPli zWd?4Al+e-d@d_SafQ|w;UPj!obNpm^0Jj-J>_}gA(>d^c>e&N;9W%k diff --git a/agent_framework_oci/tests/__pycache__/test_fraseologia_business_parameter_prompt.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_fraseologia_business_parameter_prompt.cpython-313-pytest-9.0.2.pyc index 984d80b7657591588ec71bff99b46fda24e4e8a1..148678367897080e88523d841306de9cc90f82f5 100644 GIT binary patch delta 57 zcmdmNFx!CpGcPX}0}u#bnY59+j!iyIKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0}k(wqij54k{Dj delta 81 zcmbPju-Sn7GcPX}0}x!_I$(1x9t8jZ diff --git a/agent_framework_oci/tests/__pycache__/test_generic_tool_response_presentation.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_generic_tool_response_presentation.cpython-313-pytest-9.0.2.pyc index f303beb186a7c863617134a704342543848fb380..9d92704e38ea9704f7e482bd100d4340c64ac8ad 100644 GIT binary patch delta 56 zcmcZ>xG#|VGcPX}0}u#bnY596AESJ-er{fgeoA6VqJCm}YFI$u}nU|M~0SJVzOxnoJ!6YB0pPN^rpORRTsGpdgnpYB^oS#>cSR9|0Sy7%} Ll)c%D>6{Dz^6C>U delta 81 zcmZp$n_)P diff --git a/agent_framework_oci/tests/__pycache__/test_phraseology_rewrite_revalidation.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_phraseology_rewrite_revalidation.cpython-313-pytest-9.0.2.pyc index fed35916726eb1bddbf84b633b38647fb32885bb..95d74350b35b6e4bb9809d54a51891cfb226a953 100644 GIT binary patch delta 57 zcmbP|{U?k2GcPX}0}u#bnY5AnBcptxer{fgeoA6VqJCm}YFy delta 81 zcmey9H6@$-GcPX}0}x!_I$BWx{oK3~{glL#ME&yoqU`v@^whkP_~iV&lEh*& ZePmvIesX4fNosCEPGU*w=G`p3G61*+9yKd&UQI6f`2VzVOW GLQVj@h7q*@ delta 51 zcmX@CdPtS)GcPX}0}yaWZshvQA(f$@n^&Trl30?cpO~JSR}!C`pI4Gt9B&f8S&4HY FCjgZ;5Pbju diff --git a/agent_framework_oci/tests/__pycache__/test_transaction_parameter_descriptions.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_transaction_parameter_descriptions.cpython-313-pytest-9.0.2.pyc index d66663ed2048552defc49f114f5ff7201444fb60..95126f52d6f7cf6a564dc8bcc8fb3185af7b21cc 100644 GIT binary patch delta 57 zcmcZ|csP*zGcPX}0}u#bnY59+h)F(KKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0}l3CUrFcDnS$( delta 81 zcmX>ccsr2$GcPX}0}x!_I$%b*Cj52F#X)T68)6Kl0^Nq%nBo;&A++g)&c-l9}l$v diff --git a/agent_framework_oci/tests/__pycache__/test_transaction_state_regression_matrix.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_transaction_state_regression_matrix.cpython-313-pytest-9.0.2.pyc index db714c57243597cd3d4a0bd06090ae72412a446c..4e295d22f564bb6296062b9e4ac33f2788e47def 100644 GIT binary patch delta 58 zcmX>%jrrCzX0Fe?yj%=GAbe#bmphMqihgchiGE6ANuqvYdTL%td~$wXNn&w)T4qIg Meo^-36rNZ604`M(6aWAK delta 46 zcmcaLjrrU(X0Fe?yj%=GurFsLmphMegnn*biGE6ANuqvQW`&Vae3{AS0-jg<09WD< Apa1{> diff --git a/agent_framework_oci/tests/__pycache__/test_transaction_state_router_interruption.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_transaction_state_router_interruption.cpython-313-pytest-9.0.2.pyc index 9ab2f1bc7de18fb1f62df6c8372ea825ddba26e4..66fcb9d3044eecd640d06327c80b75d83c71b6b9 100644 GIT binary patch delta 58 zcmaEVhw=9vMy}7iyj%=GAbe#bmn*Y;ntpCxiGE6ANuqvYdTL%td~$wXNn&w)T4qIg Meo^-3Bxc@h09M)*ng9R* delta 46 zcmex;hw=R#My}7iyj%=GurFsLmn*YylzwhriGE6ANuqvQW`&Vae3{ASJZ9c(0C!st ACIA2c diff --git a/agent_framework_oci/tests/__pycache__/test_transactional_tool_flow.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/__pycache__/test_transactional_tool_flow.cpython-313-pytest-9.0.2.pyc index 49727452921d20b46d3cb621ed5713f880df3dbd..47a9bc03fddc915385f1508c9b22819eb5052a5f 100644 GIT binary patch delta 62 zcmeygiT&RucCOF7yj%=GAbe#bS24eQgnn*biGE6ANuqvYdTL%td~$wXNn&w)T4qIg Reo=Pw1pe(4_!%Fa1OTY~7Z?Bl delta 50 zcmeyjiT%?icCOF7yj%=GurFsLS24e^kA7}miGE6ANuqvQW`&Vae3?n}9RBTd_!%Fa F1OT-05wHLN diff --git a/agent_framework_oci/tests/test_expected_input_semantic_classifier.py b/agent_framework_oci/tests/test_expected_input_semantic_classifier.py index 215cfea..b2c0976 100644 --- a/agent_framework_oci/tests/test_expected_input_semantic_classifier.py +++ b/agent_framework_oci/tests/test_expected_input_semantic_classifier.py @@ -102,6 +102,22 @@ async def test_semantic_classifier_reprompts_when_llm_returns_value_outside_allo assert decision.metadata["workflow_reprompt"] == "Escolha novamente." +@pytest.mark.asyncio +async def test_semantic_classifier_configured_unmatched_value_reprompts(tmp_path): + router = _router(tmp_path, ["OUTRO"]) + state = _state("fala sem significado", ["SIM", "NAO", "CONTINUAR"], "Classifique {{ user_input }} em {{ allowed_values }}") + state["pending_domain_workflow"]["pause"]["expected_input"]["semantic_classifier"]["unmatched_value"] = "OUTRO" + + decision = await router.route(state) + + assert decision.mcp_tools == [] + assert decision.metadata["workflow_input_invalid"] is True + assert decision.metadata["workflow_reprompt"] == "Escolha novamente." + assert decision.metadata["classifier_raw_output"] == "OUTRO" + system_prompt = router.llm.calls[0][0][0]["content"] + assert '"OUTRO"' in system_prompt + + def test_classifier_output_validator_uses_dynamic_allowlist(): contract = {"allowed_values": ["A", "B", "C"], "normalize": "upper_strip"} assert match_semantic_classifier_output(" b ", contract) == "B" @@ -278,7 +294,9 @@ def test_invoice_explanation_uses_continue_as_contextual_reentry_option(): assert contract["allowed_values"] == ["SIM", "NAO", "CONTINUAR"] classifier = contract["semantic_classifier"] assert classifier["option_actions"]["CONTINUAR"]["action"] == "contextual_reentry" + assert classifier["unmatched_value"] == "OUTRO" prompt = classifier["prompt"] assert "R$ 275,00" in prompt and "CONTINUAR" in prompt assert "quatorze e noventa e nove" in prompt and "CONTINUAR" in prompt assert "Nunca trate" in prompt + assert "OUTRO" in prompt diff --git a/agent_framework_oci/tests/unit/__pycache__/test_agent_runtime.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_agent_runtime.cpython-313-pytest-9.0.2.pyc index c359e7e80ca3daf434e3164a7d28a593a20c430e..05f0804d4851579ccb1da233a426529fa63a51a9 100644 GIT binary patch delta 57 zcmX>iwML5jGcPX}0}u#bnY5An29tcSer{fgeoA6VqJCm}YFcSR9|0Sy7%} Ll)X8DbsZA``F9gB delta 81 zcmeyy-zUKRnU|M~0SK;dov@Kxj@3M0KR2&LKP9mwQNKLDC_6qeJvFZ+J~=cSR9|0Sy7%} Kls&nb@h<@2CKG4? delta 80 zcmaFC(!k37nU|M~0SK;dov@MHk08Aqti~s-t diff --git a/agent_framework_oci/tests/unit/__pycache__/test_langgraph_checkpoint_interrupt_controlled.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_langgraph_checkpoint_interrupt_controlled.cpython-313-pytest-9.0.2.pyc index 0a4c1e9ca4a5d252f2ef4c343d0b12f57f78cd51..b2826cd4f0d6a0b702d2a00a7fa218450da508cb 100644 GIT binary patch delta 59 zcmX@m$he}Bk^3_*FBbz42w$1Bkvor5K3_jKuS7p3u_RGHF+DY}BtAJmuOzWJJ}tAN NJijP=^9D`w;(66Bz5x)P62ZO%^x0h diff --git a/agent_framework_oci/tests/unit/__pycache__/test_langgraph_checkpoint_runtime_config.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_langgraph_checkpoint_runtime_config.cpython-313-pytest-9.0.2.pyc index 8c3a549b1169a1823f10212bdf61660bfd8e23ca..ba1922013dc1e70b00e4ed90fb62b478421f2101 100644 GIT binary patch delta 59 zcmezLp7GXuM()qNyj%=GAbe%gM(%rz@|pU%c_sQOi6x2piRr0%CGpAmc_oR(@oAYA O<@rU~n-!QYl>z{ctQK4V delta 83 zcmcchp7GOrM()qNyj%=GaDD59jokMb%^US|^Gftn5=#>G%kzt};}g?U^Gf2A^Ycm) ci_P?rdGYzlneip5xdl0iC8?V^m@bt907=&%fB*mh diff --git a/agent_framework_oci/tests/unit/__pycache__/test_langgraph_checkpoint_saver.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_langgraph_checkpoint_saver.cpython-313-pytest-9.0.2.pyc index 728d734e46d778596b1167c88e422f3e391d42ea..5db2eac4fdf0ac43cdc38ee26a504ee111b5e859 100644 GIT binary patch delta 57 zcmX>mv`&coGcPX}0}u#bnY58xnN2=HKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0_1%+e0P*`ZE)5 delta 81 zcmZ1{bWDi*GcPX}0}x!_I$G%kzt};}g?U^Gf2A^Ycm) ci_P?rdGYzlneip5xdl0iC8?Y5G0h7D00r8VwJD1GGcPX}0}u#bnY5AnB(r?Der{fgeoA6VqJCm}YF diff --git a/agent_framework_oci/tests/unit/__pycache__/test_rag_runtime_grounding.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_rag_runtime_grounding.cpython-313-pytest-9.0.2.pyc index 601f043420d11d7dd6b812fbd06626d71e4034e2..9d570a9a70224d0b07e867445dd1ca7d8b46a759 100644 GIT binary patch delta 57 zcmaFpebSrzGcPX}0}u#bnY59ci%C9OKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0{OH(^O>u7>*OH delta 81 zcmX@<{m`5HGcPX}0}x!_I$7n6Cher{fgeoA6VqJDXPQFeS{dTL%td~$wXNn){? ZJ~A&pKRGkLBsI4nC$S`TvkB8wWdNLt9nb&( diff --git a/agent_framework_oci/tests/unit/__pycache__/test_resilient_checkpointer.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_resilient_checkpointer.cpython-313-pytest-9.0.2.pyc index e2976a7eb9c626bfaf459c4521ee739dfd8cdb01..49b0a868130dedb9e756dc9bd6d7c079e5b9db60 100644 GIT binary patch delta 57 zcmX@6xlWV&GcPX}0}u#bnY59+mrXuKKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0}mHw(qg&CB(3^Gftn5=#>G%kzt};}g?U^Gf2A^Ycm) ci_P?rdGYzlneip5xdl0iC8?XAGapI?01{jveE7rS|)er{fgeoA6VqJDXPQFeS{dTL%td~$wXNn){? ZJ~A&pKRGkLBsI4nC$S`Tvk7|!7XV~b9M}K= diff --git a/agent_framework_oci/tests/unit/__pycache__/test_sse_replay_dedup.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_sse_replay_dedup.cpython-313-pytest-9.0.2.pyc index 94e49d205cf8d81cb72045e16f1168548b017f85..a82430aaece1b1cb31c393c4e846e89d3ed97eca 100644 GIT binary patch delta 57 zcmaE>bXAG_GcPX}0}u#bnY596Dx-Xuer{fgeoA6VqJCm}YFG%kzt};}g?U^Gf2A^Ycm) ci_P?rdGYzlneip5xdl0iC8?V)GiNUZ02MzVRR910 diff --git a/agent_framework_oci/tests/unit/__pycache__/test_token_cost_enterprise.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_token_cost_enterprise.cpython-313-pytest-9.0.2.pyc index d56aec533255776e7b0ebccf36f2965f11a3d12b..abcb3534ee9a6669a53df3db72409372b7f0f324 100644 GIT binary patch delta 57 zcmcbib3ljtGcPX}0}u#bnY59+giAhJKR2&LKP9mwQ9m&~HLoN-IX|x?u{b_0v!Xn| LD0}lZu0`Ac8e|kT delta 81 zcmX@0b3=#wGcPX}0}x!_I$bwZ2#GcPX}0}x!_I$GoyKxer{fgeoA6VqJDXPQFeS{dTL%td~$wXNn){? ZJ~A&pKRGkLBsI4nC$S`Tvo0gE2mp5H9I^la diff --git a/agent_framework_oci/tests/unit/__pycache__/test_workflow_static.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_workflow_static.cpython-313-pytest-9.0.2.pyc index e33a0d4980037a07f7c396e5798f978c0b655b8c..dfdaa34c953872b1de0af6c69b95d12d0959c711 100644 GIT binary patch delta 57 zcmew%`9PBUGcPX}0}u#bnY5964y$~qer{fgeoA6VqJCm}YF;SNh9wz_* diff --git a/agent_framework_oci/tests/unit/__pycache__/test_workflow_terminal_snapshot_semantics.cpython-313-pytest-9.0.2.pyc b/agent_framework_oci/tests/unit/__pycache__/test_workflow_terminal_snapshot_semantics.cpython-313-pytest-9.0.2.pyc index 203dd7251737378451b32862811ce350f533a54e..f2157704ba3280df8b5e6cf62372beea6d533888 100644 GIT binary patch delta 54 zcmZpg!Pq>5k?S)rFBbz42w&OAb%9wrOFuWSL_a05BvC&xJvFZ+J~=X< diff --git a/workflows/invoice_explanation.v2.yaml b/workflows/invoice_explanation.v2.yaml index ddcc9d0..d1f1de0 100644 --- a/workflows/invoice_explanation.v2.yaml +++ b/workflows/invoice_explanation.v2.yaml @@ -36,11 +36,16 @@ nodes: semantic_classifier: enabled: true include_relevant_context: true + # Saída sentinela fora de allowed_values. Quando usada, o framework + # não retoma o workflow e devolve o reprompt declarado acima. + unmatched_value: OUTRO option_actions: CONTINUAR: action: contextual_reentry prompt: | - Classifique a fala do cliente em exatamente UMA das opções de {{ allowed_values }}. + Classifique a fala do cliente em uma das opções de {{ allowed_values }}. + Se a fala não tiver significado suficiente no contexto para escolher com segurança + SIM, NAO ou CONTINUAR, retorne OUTRO. A pergunta pendente é: {{ pending_prompt }} @@ -61,6 +66,8 @@ nodes: considerando o contexto imediatamente anterior, complementar, especificar ou continuar a solicitação que originou a pergunta pendente. Inclua novas perguntas, hipóteses, valores, referências e fatos propostos pelo cliente que ainda precisem ser validados. + - OUTRO: use somente quando a fala for incompreensível, desconexa, fragmentária ou não tiver + significado suficiente para responder à pergunta pendente nem continuar a solicitação. Exemplos: - "sim", "legal", "ok", "beleza", "entendi", "obrigado" => SIM @@ -68,12 +75,14 @@ nodes: - contexto: "tem uma cobrança aqui que eu não reconheço"; fala: "é a de quatorze e noventa e nove" => CONTINUAR - "então minha fatura ficaria R$ 275,00, certo?" => CONTINUAR - "quer dizer que no próximo mês vou pagar menos?" => CONTINUAR + - palavra isolada ou fragmento sem relação semântica suficiente com a pergunta => OUTRO Regras de segurança: - Nunca trate pergunta, hipótese, valor, referência ou fato proposto pelo cliente como concordância. - CONTINUAR não confirma nem ratifica nenhum dado dito pelo cliente; apenas solicita reentrada contextual para nova validação pelas fontes de negócio. - - Retorne somente uma das opções oferecidas em {{ allowed_values }}. + - Para fala compreensível, retorne somente uma das opções oferecidas em {{ allowed_values }}. + - Para fala incompreensível ou sem significado contextual suficiente, retorne somente OUTRO. resume_from: decisao - id: checar_tentativa