Files
Artemis-Eapil/artemis/core/diagnostics/__init__.py
T
somew1nd ea3708a98f feat: implement robust multi-tier text input architecture and ADB diagnostics
- Android Text Input & IME Normalization:
  - Implement progressive 3-tier input architecture in AndroidAdbDriver and AndroidDeviceController:
    - Tier 1 (Primary): Zero-dependency clipboard injection + KEYCODE_PASTE (immune to IME Pinyin interception, full Unicode/Emoji support, preserves multiline formatting).
    - Tier 2 (Broadcast): Base64 broadcast injection when ADBKeyboard is active.
    - Tier 3 (Fallback): Native ADB physical keyevent fallback.
  - Add literal newline normalization (\r\n, \n, \r) to prevent JSON escape string corruption (e.g. '10086\n' -> '10086、n').
  - Add set_clipboard method to UIAutomatorClient without auxiliary APK requirements.

- Diagnostics & System Probes:
  - Add adb_keys diagnostics probe for ADB key auth checks.
  - Integrate diagnostics into CLI doctor command.

- Admin Console & Showcase UI:
  - Improve model service and system router in admin console.
  - Enhance workspace stream view and session state in showcase UI.
2026-08-24 16:48:45 -07:00

73 lines
2.0 KiB
Python

# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Artemis Diagnostics & System Readiness Package."""
from artemis.core.diagnostics.adb_keys import (
AdbKeyStatus,
get_adb_key_paths,
heal_adb_keys,
inspect_adb_keys,
)
from artemis.core.diagnostics.emulator_manager import (
EmulatorLaunchStage,
EmulatorLaunchState,
emulator_manager,
)
from artemis.core.diagnostics.engine import ReadinessEngine, readiness_engine
from artemis.core.diagnostics.probes.adb_probe import AdbDeviceProbe
from artemis.core.diagnostics.probes.base import BaseProbe
from artemis.core.diagnostics.probes.credentials_probe import (
LLMCredentialsProbe,
VisionOCRProbe,
)
from artemis.core.diagnostics.probes.runtime_probe import (
PythonRuntimeProbe,
SystemConfigProbe,
)
from artemis.core.diagnostics.probes.toolchain_probe import ToolchainProbe
from artemis.core.diagnostics.schema import (
DeviceInfo,
ProbeAction,
ProbeCategory,
ProbeResult,
ProbeStatus,
SystemReadinessReport,
)
__all__ = [
"ReadinessEngine",
"readiness_engine",
"emulator_manager",
"EmulatorLaunchStage",
"EmulatorLaunchState",
"BaseProbe",
"PythonRuntimeProbe",
"SystemConfigProbe",
"AdbDeviceProbe",
"LLMCredentialsProbe",
"VisionOCRProbe",
"ToolchainProbe",
"DeviceInfo",
"ProbeAction",
"ProbeCategory",
"ProbeResult",
"ProbeStatus",
"SystemReadinessReport",
"AdbKeyStatus",
"get_adb_key_paths",
"inspect_adb_keys",
"heal_adb_keys",
]