Saltar al contenido principal

Model Reference

This is a compact lookup for types exported by package:eixam_connect_flutter/eixam_connect_flutter.dart. Field lists are intentionally short: they name the stable fields most host apps inspect.

Configuration

TypePurposeKey fields
EixamBootstrapConfigStandard bootstrap inputappId, environment, notificationTexts, initialSession, customEndpoints, notificationPolicy, featureFlags, enableLogging
EixamNotificationTextsRequired localized notification copyProtection active title/body, Protection Mode title/body/channel, Protection SOS channel, pre-SOS, active SOS, and resolved SOS title/body
EixamCustomEndpointsEndpoints for EixamEnvironment.customapiBaseUrl, mqttUrl, websocketUrl
EixamSdkConfigAdvanced runtime config for custom factory setupapiBaseUrl, websocketUrl, enableLogging, networkTimeout, defaultLocaleCode
EixamSessionSigned SDK identity from your backendappId, externalUserId, userHash, sdkUserId, canonicalExternalUserId, refreshToken

Use EixamSession.signed(...) for normal partner integrations.

Profile

TypePurposeKey fields / helpers
SdkUserProfileProfile returned by GET /v1/sdk/meid, appId, externalUserId, name, email, phone, address; splitDisplayNameForUi(), composeDisplayName(...)
SdkUserProfileUpdatePartial update for PUT /v1/sdk/mename, email, phone, address; full(...) sends all fields
SdkProfileValidatorsClient-side profile validationUse before updateSdkUserProfile(...)
SdkProfileConstraintsProfile length/format constraintsName/email/phone/address constraints
SdkProfileClientValidationIssueLocal validation issuefield, kind
SdkProfileValidationKindLocal validation kindSee enum values in SDK
SdkProfileApiFieldHintBackend field hint on ProfileHttpExceptionfield, message
SdkProfileFieldKeyProfile field keyname, email, phone, address

Diagnostics

TypePurposeKey fields
SdkOperationalDiagnosticsMain runtime health snapshotconnectionState, session, telemetryPublishTopic, sosEventTopics, backendSosAvailable, deviceSosAvailable, canActivateSos, currentSosCapabilityLabel, lastPublicSosDeliveryChannel, lastTelRelayRx, backgroundTelemetryEnabled, bridge
SdkBridgeDiagnosticsBridge/relay/support diagnosticslastDecision, relay publish attempt/result fields, terminal relay errors, pendingTelemetry, pendingSos
PendingTelemetryDiagnosticsQueued telemetry diagnosticsignature, payload
PendingSosDiagnosticsQueued SOS diagnosticsignature, message, positionSnapshot
DeviceTelRelayRxDecoded relay TEL samplePeer/self payload and position, RSSI/SNR, remote device id

Device

TypePurposeKey fields
DeviceStatus / DeviceRuntimeHigh-level device statedeviceId, nodeId, canonicalHardwareId, deviceAlias, model, paired, activated, connected, batteryLevel, batteryState, batterySource, firmwareVersion, lastSeen, signalQuality, lifecycleState, provisioningError, isReadyForSafety, approximateBatteryPercentage
PreferredDeviceRemembered BLE devicedeviceId, displayName, lastConnectedAt
BleScanResultBLE scan result for advanced/runtime setupdeviceId, canonicalHardwareId, name, rssi, connectable, advertisedServiceUuids, brandClassification, discoveredAt
DeviceSosStatusDevice-side SOS statestate, previousState, transitionSource, triggerOrigin, lastEvent, updatedAt, packet metadata, countdown fields
DeviceRuntimeStatusTyped device runtime status packetregion, modemPreset, meshSpreadingFactor, isProvisioned, txEnabled, inetOk, positionConfirmed, nodeId, batteryPercent, telIntervalSeconds, rawBytes
RuntimeIdentitySnapshotBLE identity/command readinessconnectedBleNodeId, deviceId, serviceBleConnected, commandCapable, readinessReason, lastUpdatedAt
BackendRegisteredDeviceBackend device registry recordid, hardwareId, firmwareVersion, hardwareModel, pairedAt, createdAt, updatedAt

Firmware Updates

TypePurposeKey fields
DeviceFirmwareInfoConnected device firmware contextdeviceId, hardwareId, nodeId, hardwareModel, currentVersion, batteryPercentage, connected, readyForSafety
FirmwareUpdatePolicyApp/update policy gates applied by the SDKminDeviceBatteryPercentage, requireForeground, supportedHardwareModels
FirmwareReleaseRelease selected by update checkreleaseId, version, hardwareModel, sha256Hash, fileSizeBytes, releaseNotes, bootloaderType, artifactKind, mandatory
FirmwareUpdateEligibilityEligibility result from update checkeligible, blockers, messages
FirmwareUpdateCheckAvailability and eligibility resultdevice, updateAvailable, release, eligibility, checkedAt
FirmwareUpdateSessionStarted update session summarysessionId, deviceId, releaseId, fromVersion, targetVersion, state, startedAt, completedAt, failure fields
FirmwareUpdateProgressLive update progress eventsessionId, deviceId, state, progressPercentage, byte counters, failure fields, updatedAt

See Firmware Updates / OTA for how host apps should present blockers, progress, cancellation, failure, and recovery states.

SOS

TypePurposeKey fields
SosTriggerPayloadInput for SOS trigger/confirmationmessage, triggerSource, optional OS widget activation context
SosIncidentCurrent or historical SOS incidentid, state, positionSnapshot, createdAt, triggerSource, message, deliveryChannel
PublicPreSosStatusPublic pre-SOS countdownactive, startedAt, expectedActivationAt, remainingSeconds, mirroredOnDevice, origin, cycleKey, owner, originatorNodeId, packetId
OsSosWidgetActivationValidated OS widget activation handed to the SDKplatform, actionId, nonce, timestamp, confirmationMode
OsSosWidgetActivationResultSDK handling result for an OS widget activationoutcome, source, platform, actionId, nonce, timestamp, confirmationMode, optional SOS or pre-SOS state
SosHistoryTelemetryCreation telemetry inside historyid, occurredAt, position and battery/coverage fields
SosHistoryItemOne history itemid, state, createdAt, positionSnapshot, triggerSource, message, deliveryChannel, creationTelemetry, trail
SosHistoryPagePaginated history responseitems, nextCursor, hasMore

Contacts & Permissions

TypePurposeKey fields
EmergencyContactBackend-synced emergency contactid, name, phone, email, priority, language, createdAt, updatedAt
PermissionStateAggregated permission snapshotlocation, notifications, bluetooth, bluetoothEnabled, hasLocationAccess, hasNotificationAccess, hasBluetoothAccess, canUseBluetooth

Location Authority

TypePurposeKey fields / values
SdkResolvedLocationSDK-selected location sample for SOS, PRE-SOS/DMP, telemetry, Android handoff, and UI previewCoordinates, timestamp/freshness, source, and whether the sample is backend-authoritative
SdkLocationSourceSource label for a resolved locationremoteRelayDevice, connectedDevice, phone, cachedFallback, backendSnapshot
SdkResolvedLocationResolverApplies SDK source-priority rulesRemote relay event location for that event only, fresh valid connected-device GPS, phone fallback, display-only cache/backend snapshots

See Location Authority for source priority, telemetry publishing behavior, and Android handoff guardrails.

Protection

TypePurposeKey fields
ProtectionStatusCurrent Protection Mode statemodeState, coverageLevel, runtimeState, readiness booleans, queue counts, platform, bleOwner, protectedDeviceId, command diagnostics
ProtectionDiagnosticsDetailed native/runtime diagnosticsWake, reconnect, queue, backend config, native backend handoff, notification/runtime state, and command fields
ProtectionReadinessReportReadiness result before armingcanArm, blockingIssues, warnings
ProtectionBlockingIssueOne readiness blockertype, message, canBeResolvedInline
ProtectionModeOptionsArming optionsenableStoreAndForward, autoReconnectBle, autoFlushOnReconnect, allowDegradedMode, reconnectBackoff, healthCheckInterval
EnterProtectionModeResultArming resultsuccess, status, blockingIssues
FlushProtectionQueuesResultQueue flush resultflushedSosCount, flushedTelemetryCount, success

Notifications

TypePurposeKey fields
EixamNotificationIntentNotification action/intention for host appid, type, dedupeKey, createdAt, severity, incident/device/node context, localization keys, fallback copy, payload, shouldClearSosNotifications
BleNotificationNavigationRequestNavigation request from BLE/SOS notificationactionId, reason, state, deviceId, deviceAlias, nodeId

Tracking, Telemetry, DMP

TypePurposeKey fields
TrackingPositionLocation samplelatitude, longitude, altitude, accuracy, speed, heading, source, timestamp, age, isStale
SdkTelemetryPayloadPublished telemetry payloadTimestamp, resolver-backed position when available, event/user/device ids, node/cluster metadata, battery and coverage snapshots
SdkDeviceBatterySnapshotTyped battery snapshotrawValue, range
SdkCoverageSnapshotTyped coverage snapshotsignalStrength, networkType, isConnected
DeathManPlanDeath Man Protocol planid, expectedReturnAt, gracePeriod, checkInWindow, autoTriggerSos, status

Events & Realtime

TypePurposeKey fields
EixamSdkEventBase SDK eventtimestamp
SOSTriggeredEventSOS openedincidentId
SOSCancelledEventSOS cancelledincidentId
PositionUpdatedEventPosition updatedtimestamp
DeviceDisconnectedEventDevice disconnecteddeviceId
DeathManScheduledEventDMP scheduledplanId
DeathManStatusChangedEventDMP status changedplanId, status
DeathManEscalatedEventDMP escalatedplanId
RemoteRelaySosObservedEventRelay SOS observedsnapshot
RemoteRelaySosBackendHandoffResultEventRelay SOS backend handoff resultsnapshot, status, backend result fields, relay ACK fields
RemoteRelaySosCancelHandoffResultEventRelay SOS cancel handoff resultoriginatorNodeId, relayNodeId, deviceId, status, reason, errorMessage, receivedAt
RealtimeEventRaw realtime transport eventtype, timestamp, payload

Enums

EnumValues
EixamEnvironmentproduction, sandbox, staging, custom
EixamNotificationPolicysdkManaged, hostAppManaged
DeathManStatusscheduled, monitoring, overdue, awaitingConfirmation, confirmedSafe, escalated, cancelled, expired
DeliveryModemobile, mesh, hybrid, unknown
DeviceBatteryLevelcritical, low, medium, ok
DeviceBatterySourcetelPacket, sosPacket, unknown
DeviceLifecycleStateunpaired, pairing, paired, activating, activated, ready, error
DeviceSosStateinactive, preConfirm, active, acknowledged, resolved, unknown
DeviceSosTransitionSourcedevice, app, backend, unknown
FirmwareUpdateStateidle, checking, available, notAvailable, blocked, downloading, verifying, readyToTransfer, transferring, reconnecting, verifyingInstalledVersion, completed, failed, cancelled, recoveryRequired
FirmwareUpdateBlockerUpdate blocker values exposed by the SDK, including no connected device, unknown firmware version, unsupported hardware, low battery, unstable BLE, SOS/pre-SOS active, DMP active/overdue, protection runtime busy, app backgrounded, missing artifact/hash, and incompatible release
RealtimeConnectionStatedisconnected, connecting, connected, reconnecting, error
SdkPermissionStatusunknown, granted, denied, permanentlyDenied, restricted, limited, serviceDisabled
SosDeliveryChannelbackendOnly, deviceOnly, backendAndDevice
SosStateidle, arming, triggerRequested, triggeredLocal, sending, sent, acknowledged, cancelRequested, cancelled, resolved, failed
OsSosWidgetPlatformandroid, ios
OsSosWidgetConfirmationModecountdown, hold, appOpened
OsSosWidgetActivationOutcomecountdownStarted, countdownAlreadyRunning, activeSosAlreadyRunning, activated, confirmationRequired, duplicateIgnored
TrackingStateidle, starting, tracking, paused, stale, error
BleDiscoveredDeviceBrandeixam, meshtastic, unknown
PublicPreSosOwnerapp, device
ProtectionModeStateoff, arming, armed, degraded, stopping, error
ProtectionCoverageLevelnone, partial, full
ProtectionBleOwnerflutter, androidService, iosPlugin
ProtectionPlatformunknown, android, ios
ProtectionCapabilityStateunknown, unavailable, configured
ProtectionRuntimeStateinactive, starting, active, recovering, failed
ProtectionBlockingIssueTypenoSession, noPairedDevice, bluetoothDisabled, locationPermissionMissing, notificationsPermissionMissing, platformBackgroundCapabilityMissing, hostRuntimeStartFailed
EixamNotificationIntentTypeNotification intent type values exposed by the SDK
EixamNotificationIntentSeverityNotification severity values exposed by the SDK
RemoteRelaySosBackendHandoffStatussubmitted, skipped, failed
RuntimeIdentityReadinessReasonRuntime identity readiness values exposed by the SDK

Exceptions

All SDK exceptions extend EixamSdkException and expose code and message.

ExceptionUse
AuthExceptionSession/auth failures
NetworkExceptionNetwork or transport failures
SosException / SosHttpExceptionSOS flow failures; HTTP variant includes statusCode
TrackingExceptionTracking/location failures
DeviceExceptionPairing, activation, BLE command, or runtime device failures
ContactsException / ContactsHttpExceptionContact flow failures; HTTP variant includes status/body/API details
DeathManExceptionDMP failures
ProfileHttpExceptionProfile HTTP failures with optional fieldHints

Advanced Helpers

TypeUse
EixamConnectSdkMain SDK facade
EixamConnectSdkBootstrapperBootstrap registration function type
EixamSignedSessionProviderFunction type for obtaining signed sessions
ApiSdkFactoryControlled runtime/factory setup for validation or support tooling