namespace ClawdDotNet.App;
/// Welcher Teil der Instanzkonfiguration sich geändert hat.
public enum InstanceChangeKind
{
/// Ein Agent kam dazu, fiel weg oder wurde bearbeitet.
Agents,
/// Ein Dienst kam dazu, fiel weg oder wurde umgeschaltet.
Services,
/// Ein geplanter Lauf (Agent-Wakeup oder Tool-Job) hat sich geändert.
Jobs,
/// Etwas an der Instanz selbst — Budget, Grenzen, Weboberfläche.
Settings
}
///
/// Eine Änderung an der Instanzkonfiguration, so grob, wie eine Oberfläche sie braucht,
/// um den richtigen Bereich neu zu laden.
///
/// Bewusst ohne die geänderten Werte: Beide Oberflächen lesen ohnehin aus
/// AppHost.Instance, und ein zweiter Übertragungsweg für dieselben Daten wäre
/// eine zweite Wahrheit. ist ein Hinweis, keine Zusage — wer ihn nicht
/// auswerten will, lädt den ganzen Bereich neu.
///
/// Welcher Bereich betroffen ist.
/// Agent-, Dienst- oder Job-Kennung, sofern es genau eine gibt.
public readonly record struct InstanceChange(InstanceChangeKind Kind, string? Id = null);