- TR-069 CWMP state machine hardening (14 phases): shared event utility, multi-event routing, GPN circuit breaker, IdleState GPN guard, expanded GPN fault codes, CriticalReadsState, ConfigEval GPN guard, task queue race condition fix, explicit error handling, terminal states (OperationalState/PartialOperationalState), consolidated reclassify, crash pattern detection, removed enqueueImmediate, state flow wiring - Fix SOAP Fault not processed by state machine (soap-env:Fault detection) - Fix GPN circuit breaker not persisting after session drops - Fix CriticalReadsState GPV response parsing (xsi:type normalization) - Fix CriticalReadsState not processing GPV response values - Skip SPV when device is already compliant (ProvisioningCode check) - Add Device.DeviceInfo.ModelName to critical reads GPV - Fix TypeError on DeviceDetail parameters view (null guards) - Log empty 204 responses in exchange trace UI - TR-181 catalog: type corrections and new entries (+6640 lines) - SequenceViewer: replace session-nav buttons with compact dropdown select - SequenceViewer: fix CPE/ACS lifeline headers wrapping to 2 lines - Add 20 unit tests for state machine fixes (SOAP Fault, GPN circuit breaker, CriticalReads, stale session, ConfigEval/ComplianceUpdate skips) Generated with [Continue](https://continue.dev) Co-Authored-By: Continue <noreply@continue.dev>
25 lines
820 B
TypeScript
25 lines
820 B
TypeScript
import { DeviceId } from './device_id.js'
|
|
import { PropertySnapshot, ParameterSnapshot } from './device_parameter.js'
|
|
import { DeviceComplianceInfo } from '../configuration/compliance.js'
|
|
import { DataModel, GpnStatus, GpnCircuitBreaker } from './device.js'
|
|
import type { DeviceReference } from '../../services/references/types.js'
|
|
|
|
export interface DeviceRecord {
|
|
identifier?: string
|
|
deviceId: DeviceId
|
|
properties: PropertySnapshot[]
|
|
parameters: ParameterSnapshot[]
|
|
gpnStatus?: GpnStatus
|
|
dataModel?: DataModel
|
|
gpnCircuitBreaker?: GpnCircuitBreaker
|
|
lastGpnSentDate?: Date | null
|
|
operationalStatus?: string
|
|
lastFailureReason?: string
|
|
compliance?: DeviceComplianceInfo
|
|
provisioningCode?: string
|
|
references?: DeviceReference[]
|
|
lastPeriodicInformAt?: Date
|
|
updatedAt?: Date
|
|
createdAt?: Date
|
|
}
|