nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools

View as Markdown

Tau2-telecom user-side LLM tool ports.

The user simulator’s LLM has these tools available to control the mock phone state during a conversation. Same architecture as the retail tool port: dict-form DB in self.state["db"], _Tau2InvokeMixin for sync/async dual-routing, WriteScenarioTool subclass auto-records each mutation.

Module Contents

Classes

Functions

NameDescription
_can_send_mmsMirror of upstream’s TelecomUserTools._can_send_mms.
_check_status_barBuild a human-readable status-bar indicator string.
_connect_vpn_toolConnect VPN with default details. Returns None if already connected,
_db_not_initialized-
_disconnect_vpn_toolDisconnect VPN. Returns True on disconnect, False if no active VPN.
_get_mobile_data_workingMirror of upstream’s _get_mobile_data_working.
_grant_app_permissionGrant permission to app_name. Returns (success, message).
_reboot_deviceReboot: apply any pending APN reset, then re-derive network state.
_reseat_sim_cardRe-insert the SIM card, then re-derive network state.
_reset_apn_settingsDefer APN reset to the next reboot — mirror of upstream’s behavior.
_set_apn_settingsSet the device’s active APN settings to the supplied dict + trigger search.
_set_network_mode_preferenceSet preferred network mode; trigger search. Returns canonical value
_toggle_airplane_modeToggle airplane mode; clear wifi connection, disconnect VPN if turning ON.
_toggle_dataToggle device.data_enabled; trigger network re-derivation. Returns new state.
_toggle_data_saver_mode-
_toggle_roaming-
_toggle_wifiToggle Wi-Fi radio; returns None when airplane mode is on (can’t change).
_toggle_wifi_calling-

Data

TAU2_TELECOM_USER_ACTION_TYPES

TAU2_TELECOM_USER_TOOL_NAME_TO_CLASS

_SIGNAL_DISPLAY

API

class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CanSendMmsTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'can_send_mms'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CanSendMmsTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckApnSettingsTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_apn_settings'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckApnSettingsTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckAppPermissionsTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_app_permissions'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckAppPermissionsTool._do_work(
p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckAppStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_app_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckAppStatusTool._do_work(
p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckDataRestrictionStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_data_restriction_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckDataRestrictionStatusTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckInstalledAppsTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_installed_apps'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckInstalledAppsTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckNetworkModePreferenceTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_network_mode_preference'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckNetworkModePreferenceTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckNetworkStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_network_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckNetworkStatusTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckPaymentRequestTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_payment_request'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckPaymentRequestTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckSimStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_sim_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckSimStatusTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckStatusBarTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_status_bar'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckStatusBarTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckVpnStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_vpn_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckVpnStatusTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckWifiCallingStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_wifi_calling_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckWifiCallingStatusTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckWifiStatusTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'check_wifi_status'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.CheckWifiStatusTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ConnectVpnTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
= 'Connects to your VPN (Virtual Private Network).'
name
= 'connect_vpn'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ConnectVpnTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.DisconnectVpnTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'disconnect_vpn'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.DisconnectVpnTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.GrantAppPermissionTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'grant_app_permission'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.GrantAppPermissionTool._do_work(
p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.MakePaymentTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'make_payment'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.MakePaymentTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.RebootDeviceTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'reboot_device'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.RebootDeviceTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ReseatSimCardTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'reseat_sim_card'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ReseatSimCardTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ResetApnSettingsTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'reset_apn_settings'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ResetApnSettingsTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.RunSpeedTestTool()

Bases: _Tau2TelecomReadTool

DESCRIPTION
name
= 'run_speed_test'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.RunSpeedTestTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.SetApnSettingsTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
= 'Sets the APN settings for the phone.'
name
= 'set_apn_settings'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.SetApnSettingsTool._do_work(
p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.SetNetworkModePreferenceTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'set_network_mode_preference'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.SetNetworkModePreferenceTool._do_work(
p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleAirplaneModeTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'toggle_airplane_mode'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleAirplaneModeTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleDataSaverModeTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'toggle_data_saver_mode'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleDataSaverModeTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleDataTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'toggle_data'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleDataTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleRoamingTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'toggle_roaming'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleRoamingTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleWifiCallingTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'toggle_wifi_calling'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleWifiCallingTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleWifiTool()

Bases: _Tau2TelecomWriteTool

DESCRIPTION
name
= 'toggle_wifi'
properties
Dict[str, Any]
required_properties
List[str]
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.ToggleWifiTool._do_work(
_p
) -> str
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._Tau2InvokeMixin()

Provides sync invoke(**kwargs) + async _execute(**kwargs) routing.

PARAMS_MODEL
Optional[Type[BaseModel]] = None
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._Tau2InvokeMixin._do_work(
p
) -> typing.Any
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._Tau2InvokeMixin._execute(
kwargs = {}
) -> typing.Any
async
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._Tau2InvokeMixin.invoke(
kwargs = {}
) -> typing.Any
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._Tau2TelecomReadTool(
shared_state: typing.Optional[dict] = None,
description: typing.Optional[str] = None
)

Bases: _Tau2InvokeMixin, StandardSchemaTool

Base for telecom user-side read-only tools.

DESCRIPTION
str = ''
state
= shared_state if shared_state is not None else {}
class nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._Tau2TelecomWriteTool(
shared_state: typing.Optional[dict] = None,
description: typing.Optional[str] = None
)

Bases: _Tau2InvokeMixin, WriteScenarioTool

Base for telecom user-side write tools.

DESCRIPTION
str = ''
state
= shared_state if shared_state is not None else {}
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._can_send_mms(
db: dict
) -> bool

Mirror of upstream’s TelecomUserTools._can_send_mms.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._check_status_bar(
db: dict
) -> str

Build a human-readable status-bar indicator string.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._connect_vpn_tool(
db: dict
) -> typing.Optional[bool]

Connect VPN with default details. Returns None if already connected, True on connect, False if upstream considered it a no-op (matches the upstream tristate semantics).

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._db_not_initialized() -> dict
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._disconnect_vpn_tool(
db: dict
) -> bool

Disconnect VPN. Returns True on disconnect, False if no active VPN.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._get_mobile_data_working(
db: dict
) -> bool

Mirror of upstream’s _get_mobile_data_working.

True only when every prerequisite for mobile data is satisfied: airplane mode off, signal not NONE, connection status not NO_SERVICE, roaming-allowed when abroad, data enabled, usage not exceeded.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._grant_app_permission(
db: dict,
app_name: str,
permission: str
) -> tuple[bool, str]

Grant permission to app_name. Returns (success, message).

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._reboot_device(
db: dict
) -> str

Reboot: apply any pending APN reset, then re-derive network state.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._reseat_sim_card(
db: dict
) -> str

Re-insert the SIM card, then re-derive network state.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._reset_apn_settings(
db: dict
) -> str

Defer APN reset to the next reboot — mirror of upstream’s behavior.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._set_apn_settings(
db: dict,
apn_settings: dict
) -> str

Set the device’s active APN settings to the supplied dict + trigger search.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._set_network_mode_preference(
db: dict,
mode: str
) -> typing.Optional[str]

Set preferred network mode; trigger search. Returns canonical value or None on invalid mode (upstream returns None instead of raising).

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._toggle_airplane_mode(
db: dict
) -> bool

Toggle airplane mode; clear wifi connection, disconnect VPN if turning ON.

Returns the new airplane_mode state.

Mirrors upstream’s _toggle_airplane_mode: when turning ON, also disconnects VPN (mode physically can’t keep it alive); when turning OFF, drops the connection status to SEARCHING so the network search re-derives it. Wifi connection is cleared in both directions.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._toggle_data(
db: dict
) -> bool

Toggle device.data_enabled; trigger network re-derivation. Returns new state.

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._toggle_data_saver_mode(
db: dict
) -> bool
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._toggle_roaming(
db: dict
) -> bool
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._toggle_wifi(
db: dict
) -> typing.Optional[bool]

Toggle Wi-Fi radio; returns None when airplane mode is on (can’t change).

nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._toggle_wifi_calling(
db: dict
) -> bool
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.TAU2_TELECOM_USER_ACTION_TYPES: List[str] = ['toggle_airplane_mode', 'toggle_data', 'toggle_roaming', 'toggle_data_saver_mod...
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools.TAU2_TELECOM_USER_TOOL_NAME_TO_CLASS: Dict[str, Type[StandardSchemaTool]] = {(cls.name): cls for cls in (CheckStatusBarTool, CheckNetworkStatusTool, CheckNe...
nemo_voice_agent.evaluation.tools.tau2_telecom_user_tools._SIGNAL_DISPLAY = {SignalStrength.NONE.value: '📵 No Signal', SignalStrength.POOR.value: '📶¹ Poor...