Package-level declarations

Types

Link copied to clipboard

Platform-agnostic contract defining operations that AI systems can invoke.

Link copied to clipboard
class AiFunctionProviderImpl(serviceRepository: ServiceRepository, nodeRepository: NodeRepository, radioConfigRepository: RadioConfigRepository, packetRepository: PacketRepository, sendMessageUseCase: SendMessageUseCase, fuzzyNameResolver: FuzzyNameResolver, rateLimiter: RateLimiter, clock: Clock) : AiFunctionProvider

Implementation of AiFunctionProvider that bridges AI function invocations to existing Meshtastic repositories and use cases.

Link copied to clipboard
sealed class ChannelNameResult
Link copied to clipboard
data class ChannelSummary(val index: Int, val name: String, val isPrimary: Boolean, val uplinkEnabled: Boolean, val downlinkEnabled: Boolean)

Summary information for a single mesh channel.

Link copied to clipboard
data class ContactUnread(val name: String, val unreadCount: Int, val lastMessagePreview: String?, val lastMessageTime: Long?)

Unread info for a single contact or channel.

Link copied to clipboard
data class DeviceStatus(val model: String, val firmwareVersion: String, val batteryLevel: Int?, val chargingStatus: String, val deviceName: String?, val isActive: Boolean)

Status and metrics of the local mesh radio device.

Link copied to clipboard
class FuzzyNameResolver(nodeRepository: NodeRepository, radioConfigRepository: RadioConfigRepository)

Resolves fuzzy node and channel name queries to concrete identifiers.

Link copied to clipboard

Result of a AiFunctionProvider.getChannelInfo invocation.

Link copied to clipboard

Result of a AiFunctionProvider.getDeviceStatus invocation.

Link copied to clipboard

Result of a AiFunctionProvider.getMeshMetrics invocation.

Link copied to clipboard

Result of a AiFunctionProvider.getNodeDetails invocation.

Link copied to clipboard
sealed class GetNodeListResult

Result of a AiFunctionProvider.getNodeList invocation.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class MeshMetrics(val totalNodeCount: Int, val onlineNodeCount: Int, val averageBatteryLevel: Int?, val meshHealthScore: Int, val mostRecentPacketTime: Long, val meshUptimeSeconds: Long, val channelUtilizationPercent: Int?)

Aggregate network metrics and statistics for the entire mesh.

Link copied to clipboard
data class MeshStatusResult(val connectionState: String, val onlineNodeCount: Int, val totalNodeCount: Int, val localBatteryLevel: Int?, val localNodeName: String?)

Result of a AiFunctionProvider.getMeshStatus invocation.

Link copied to clipboard
data class MessageSummary(val senderName: String, val text: String, val contactName: String, val receivedTime: Long, val fromLocal: Boolean, val read: Boolean)

Summary of a single mesh message suitable for AI consumption.

Link copied to clipboard
data class NodeDetails(val id: String, val userId: String, val name: String, val batteryLevel: Int?, val voltage: Float?, val hardwareModel: String, val firmwareVersion: String, val snr: Float, val rssi: Int, val hopsAway: Int, val channel: Int, val lastHeard: Long, val userRole: String, val isLicensed: Boolean, val latitude: Double?, val longitude: Double?)

Detailed telemetry and status for a specific node.

Link copied to clipboard
sealed class NodeNameResult
Link copied to clipboard
data class NodeSummary(val id: String, val name: String, val batteryLevel: Int?, val lastHeard: Long, val isOnline: Boolean)

Summary information for a single mesh node.

Link copied to clipboard
class RateLimiter(clock: Clock)

Sliding-window rate limiter for AI-triggered operations.

Link copied to clipboard
sealed class RateLimitResult
Link copied to clipboard
sealed class SendMessageResult

Result of a AiFunctionProvider.sendMessage invocation.

Link copied to clipboard
data class UnreadSummary(val totalUnreadCount: Int, val contacts: List<ContactUnread>)

Unread message summary across all contacts.