8ecfe84540
Add the .NET 8 solution scaffolded against PLAN.md. Three projects share WebhookServer.Core (models, auth, execution, storage, IPC, callbacks) and WebhookServer.Service hosts an embedded Kestrel listener plus the named-pipe admin server. WebhookServer.Gui is a thin MVVM client over the pipe. Includes 25 unit tests covering HMAC verification, bearer auth, IP allowlist parsing, arg-template rendering, DPAPI round-trip, and the encrypt-on-save config store. Install/uninstall PowerShell scripts default to LocalSystem and accept a domain user or gMSA via -ServiceAccount. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
724 B
C#
19 lines
724 B
C#
namespace WebhookServer.Core.Execution;
|
|
|
|
public sealed class ExecutionResult
|
|
{
|
|
public required string RunId { get; init; }
|
|
public required int ExitCode { get; init; }
|
|
public required string Stdout { get; init; }
|
|
public required string Stderr { get; init; }
|
|
public bool StdoutTruncated { get; init; }
|
|
public bool StderrTruncated { get; init; }
|
|
public required DateTimeOffset StartedAt { get; init; }
|
|
public required DateTimeOffset CompletedAt { get; init; }
|
|
public required bool TimedOut { get; init; }
|
|
public string? LaunchError { get; init; }
|
|
|
|
public TimeSpan Duration => CompletedAt - StartedAt;
|
|
public bool Succeeded => !TimedOut && LaunchError is null && ExitCode == 0;
|
|
}
|