refactor(agent): move enrollment domain into Enrollment/ feature subfolders

Part 4 of 5 in Monitoring/ bounded-context restructure. Feature-based split:
Enrollment/ (orchestrator+persistence), Flows/, Ime/ (log parsing, parser,
positions, app/script state, replay, process watcher), SystemSignals/
(ESP/Hello/ShellCore/ModernDeployment/Provisioning/DesktopArrival), and
Completion/ (state machine, guards, handler). Pure folder move +
namespace update; no behavior change.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Oliver Kieselbach
2026-04-16 01:44:46 +02:00
parent 9f053279f5
commit 6d2b06d004
63 changed files with 256 additions and 75 deletions
@@ -1,5 +1,10 @@
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Collectors
{
@@ -2,10 +2,15 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
using AutopilotMonitor.Shared.Models;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Collectors
{
@@ -2,12 +2,17 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Collectors
{
@@ -3,11 +3,16 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Collectors
{
@@ -2,10 +2,15 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
using AutopilotMonitor.Shared.Models;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Collectors
{
@@ -1,6 +1,11 @@
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Core
{
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
@@ -11,6 +10,12 @@ using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Moq;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Core
{
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
@@ -11,6 +10,12 @@ using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Moq;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Core
{
@@ -1,8 +1,13 @@
using System;
using System.IO;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Core
{
@@ -1,11 +1,16 @@
using System;
using System.IO;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json.Linq;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Core
{
@@ -1,6 +1,11 @@
using AutopilotMonitor.Agent.Core.Monitoring.Flows;
using AutopilotMonitor.Shared.Models;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Flows
{
@@ -1,7 +1,12 @@
using System.Collections.Generic;
using System.Linq;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,6 +1,11 @@
using System.Collections.Generic;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,5 +1,10 @@
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,6 +1,11 @@
using System;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,7 +1,12 @@
using System;
using System.Collections.Generic;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,9 +1,14 @@
using System;
using System.Collections.Generic;
using System.IO;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Agent.Core.Tests.Helpers;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,5 +1,10 @@
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using Xunit;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Tests.Tracking
{
@@ -1,6 +1,6 @@
using System;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion
{
/// <summary>
/// Pure-function guards for enrollment completion decisions.
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion
{
/// <summary>
/// Read-only snapshot of all state needed for guard evaluation and transition decisions.
@@ -14,7 +14,7 @@ using AutopilotMonitor.Shared;
using AutopilotMonitor.Agent.Core.Security;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Core
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion
{
/// <summary>
/// Handles enrollment terminal events: enrollment_complete, enrollment_failed, and
@@ -1,4 +1,4 @@
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion
{
/// <summary>
/// Explicit states for the enrollment completion state machine.
@@ -4,7 +4,7 @@ using System.IO;
using AutopilotMonitor.Agent.Core.Logging;
using Newtonsoft.Json;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment
{
/// <summary>
/// Handles persistence of EnrollmentTracker state to disk (JSON serialization).
@@ -4,11 +4,12 @@ using System.IO;
using System.Linq;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Microsoft.Win32;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment
{
/// <summary>
/// Partial: Enrollment completion detection, Hello/WhiteGlove/ESP failure handling,
@@ -5,10 +5,11 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment
{
/// <summary>
/// Partial: Device info collection at key lifecycle points, app tracking summaries,
@@ -5,10 +5,11 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment
{
/// <summary>
/// Partial: IME log event handlers (ESP phase, app state, script completion, etc.).
@@ -5,12 +5,17 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Flows;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Microsoft.Win32;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment
{
/// <summary>
/// Central enrollment tracking orchestrator.
@@ -25,7 +30,7 @@ namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
private readonly AgentLogger _logger;
private readonly string _imeLogFolder;
private readonly List<ImeLogPattern> _imeLogPatterns;
private readonly Collectors.EspAndHelloTracker _espAndHelloTracker;
private readonly SystemSignals.EspAndHelloTracker _espAndHelloTracker;
private ImeLogTracker _imeLogTracker;
private Timer _summaryTimer;
@@ -367,7 +372,7 @@ namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
bool simulationMode = false,
double speedFactor = 50,
string imeMatchLogPath = null,
Collectors.EspAndHelloTracker espAndHelloTracker = null,
SystemSignals.EspAndHelloTracker espAndHelloTracker = null,
bool isBootstrapMode = false,
bool sendTraceEvents = true)
{
@@ -1,6 +1,6 @@
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Flows
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows
{
public sealed class ClassicAutopilotFlow : IEnrollmentFlowHandler
{
@@ -1,6 +1,6 @@
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Flows
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows
{
public sealed class DevicePreparationFlow : IEnrollmentFlowHandler
{
@@ -1,6 +1,6 @@
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Flows
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows
{
public static class EnrollmentFlowFactory
{
@@ -1,6 +1,6 @@
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Flows
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows
{
/// <summary>
/// Encapsulates the policy decisions that differ between the Classic Autopilot (v1)
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Installation state of an app package during enrollment.
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using AutopilotMonitor.Agent.Core.Logging;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Manages a collection of app package states during enrollment.
@@ -2,7 +2,7 @@ using System;
using System.Globalization;
using System.Text.RegularExpressions;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Represents a single parsed line from a CMTrace-format log file
@@ -10,7 +10,7 @@ using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Partial: Event handlers for pattern matches (app state, scripts, ESP phases),
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Partial: Log file polling and pattern matching logic.
@@ -7,13 +7,17 @@ using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Parses IME (Intune Management Extension) log files using regex patterns from the backend.
@@ -5,7 +5,7 @@ using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Watches for IntuneManagementExtension.exe process exit.
@@ -4,7 +4,7 @@ using System.IO;
using AutopilotMonitor.Agent.Core.Logging;
using Newtonsoft.Json;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Handles persistence of ImeLogTracker state to disk (JSON serialization).
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Tracks file read positions for incremental log file reading.
@@ -4,10 +4,15 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Replay
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime
{
/// <summary>
/// Replays a real Autopilot enrollment using IME log files with time compression.
@@ -1,4 +1,4 @@
namespace AutopilotMonitor.Agent.Core.Monitoring.Tracking;
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
/// <summary>
/// Accumulates multi-line script execution data from IME logs before emitting
@@ -5,7 +5,7 @@ using System.Management;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals
{
/// <summary>
/// Detects when a real user desktop becomes available (explorer.exe under a non-system user).
@@ -2,7 +2,7 @@ using System;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals
{
/// <summary>
/// Thin coordinator that composes four focused sub-trackers to deliver the ESP + Hello
@@ -6,7 +6,7 @@ using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
using Microsoft.Win32;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals
{
/// <summary>
/// Tracks Windows Hello for Business (WHfB) provisioning during Autopilot enrollment.
@@ -8,7 +8,7 @@ using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals
{
/// <summary>
/// Watches Microsoft-Windows-ModernDeployment-Diagnostics-Provider channels
@@ -4,14 +4,19 @@ using System.Linq;
using System.Text.Json;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Interop;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using Microsoft.Win32;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals
{
/// <summary>
/// Watches ESP provisioning category status from the registry to detect failures
@@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Shared.Models;
namespace AutopilotMonitor.Agent.Core.Monitoring.Collectors
namespace AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals
{
/// <summary>
/// Watches Microsoft-Windows-Shell-Core/Operational for ESP-related events:
@@ -4,15 +4,17 @@ using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Periodic;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Agent.Core.Monitoring.Replay;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Runtime
{
@@ -6,11 +6,16 @@ using System.Text;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.DeviceInfo;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Runtime
{
@@ -7,12 +7,16 @@ using System.Threading;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.DeviceInfo;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Runtime
{
@@ -3,12 +3,16 @@ using System.Collections.Generic;
using System.Threading;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Periodic;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Runtime
{
@@ -2,6 +2,11 @@ using System;
using System.Diagnostics;
using System.IO;
using System.Management;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Runtime
@@ -7,9 +7,14 @@ using System.Net.NetworkInformation;
using System.Text.Json;
using System.Threading.Tasks;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Shared.Models;
using Microsoft.Win32;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Telemetry.DeviceInfo
{
@@ -4,10 +4,15 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather.Collectors
{
@@ -1,8 +1,13 @@
using System;
using System.Collections.Generic;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather
{
@@ -4,8 +4,13 @@ using System.Linq;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather.Collectors;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather
{
@@ -3,9 +3,14 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Periodic
{
@@ -7,10 +7,15 @@ using System.Management.Automation.Runspaces;
using System.Text;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Periodic
{
@@ -4,10 +4,15 @@ using System.Linq;
using System.Reflection;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Shared;
using Microsoft.Win32;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent
{
@@ -4,14 +4,18 @@ using System.Linq;
using System.Threading;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.DeviceInfo;
using AutopilotMonitor.Agent.Core.Monitoring.Telemetry.Gather;
using AutopilotMonitor.Agent.Core.Monitoring.Transport;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Shared.Models;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent
{
@@ -5,9 +5,14 @@ using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.RegularExpressions;
using AutopilotMonitor.Agent.Core.Monitoring.Tracking;
using AutopilotMonitor.Shared.Models;
using Newtonsoft.Json;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent
{
+6 -1
View File
@@ -5,10 +5,15 @@ using System.IO;
using System.Linq;
using AutopilotMonitor.Agent.Core.Configuration;
using AutopilotMonitor.Agent.Core.Logging;
using AutopilotMonitor.Agent.Core.Monitoring.Core;
using AutopilotMonitor.Agent.Core.Monitoring.Runtime;
using AutopilotMonitor.Agent.Core.Security;
using AutopilotMonitor.Shared;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Flows;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Ime;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.SystemSignals;
using AutopilotMonitor.Agent.Core.Monitoring.Enrollment.Completion;
using AutopilotMonitor.Agent.Core.Monitoring.Collectors;
namespace AutopilotMonitor.Agent
{