mobileTools function

List<AgentTool> mobileTools({
  1. required MobileLaunchBackend launch,
  2. required MobileLogsBackend logs,
  3. MobileAutomationBackend? automation,
  4. MobileShellBackend? shell,
  5. RedactionPipeline? redactor,
})

Builds the tier's mobile.* tools over the wired backends.

A null backend means the tier does not carry that surface (store has no automation, god without the Shizuku opt-in has no shell) — the tool is simply not constructed, and the availability floor keeps it out of the registry and the prompt.

Implementation

List<AgentTool> mobileTools({
  required MobileLaunchBackend launch,
  required MobileLogsBackend logs,
  MobileAutomationBackend? automation,
  MobileShellBackend? shell,
  RedactionPipeline? redactor,
}) {
  return [
    _launchTool(launch),
    _logsTool(logs),
    if (automation != null) ...[
      _hierarchyTool(automation, redactor),
      _tapTool(automation),
      _swipeTool(automation),
      _textTool(automation),
      _screenshotTool(automation),
    ],
    if (shell != null) _shellTool(shell),
  ];
}