feat(headless): complete portable single-session host
This commit is contained in:
parent
fbebb91848
commit
f8cb840fb1
30 changed files with 3571 additions and 32 deletions
|
|
@ -7,12 +7,73 @@ internal sealed class HeadlessConfiguration
|
|||
[JsonRequired]
|
||||
public int Version { get; init; }
|
||||
|
||||
public HeadlessProcessSettings Process { get; init; } = new();
|
||||
|
||||
[JsonRequired]
|
||||
public List<HeadlessSessionDescriptor?> Sessions { get; init; } = [];
|
||||
}
|
||||
|
||||
internal sealed class HeadlessProcessSettings
|
||||
{
|
||||
public HeadlessPathOverrides Paths { get; init; } = new();
|
||||
}
|
||||
|
||||
internal sealed class HeadlessSessionDescriptor
|
||||
{
|
||||
[JsonRequired]
|
||||
public string Id { get; init; } = string.Empty;
|
||||
|
||||
[JsonRequired]
|
||||
public HeadlessEndpointDescriptor Endpoint { get; init; } = new();
|
||||
|
||||
[JsonRequired]
|
||||
public string Account { get; init; } = string.Empty;
|
||||
|
||||
[JsonRequired]
|
||||
public HeadlessCharacterSelector Character { get; init; } = new();
|
||||
|
||||
[JsonRequired]
|
||||
public HeadlessBotPolicyDescriptor Policy { get; init; } = new();
|
||||
|
||||
[JsonRequired]
|
||||
public HeadlessCredentialReference Credential { get; init; } = new();
|
||||
}
|
||||
|
||||
internal sealed class HeadlessEndpointDescriptor
|
||||
{
|
||||
[JsonRequired]
|
||||
public string Host { get; init; } = string.Empty;
|
||||
|
||||
[JsonRequired]
|
||||
public int Port { get; init; }
|
||||
}
|
||||
|
||||
internal sealed class HeadlessCharacterSelector
|
||||
{
|
||||
public int? Index { get; init; }
|
||||
public uint? Id { get; init; }
|
||||
public string? Name { get; init; }
|
||||
}
|
||||
|
||||
internal sealed class HeadlessBotPolicyDescriptor
|
||||
{
|
||||
[JsonRequired]
|
||||
public string Id { get; init; } = string.Empty;
|
||||
}
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter<HeadlessCredentialProviderKind>))]
|
||||
internal enum HeadlessCredentialProviderKind
|
||||
{
|
||||
Environment,
|
||||
StandardInput,
|
||||
File,
|
||||
}
|
||||
|
||||
internal sealed class HeadlessCredentialReference
|
||||
{
|
||||
[JsonRequired]
|
||||
public HeadlessCredentialProviderKind Provider { get; init; }
|
||||
|
||||
[JsonRequired]
|
||||
public string Reference { get; init; } = string.Empty;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue