feat(hub): Ticket-Settings, Projektliste und Import ueber den Hub
This commit is contained in:
@@ -89,6 +89,8 @@ public sealed class ListRepository
|
||||
existing.SessionSkills = config.SessionSkills;
|
||||
existing.VerifyCommand = config.VerifyCommand;
|
||||
existing.SerializeOnFileOverlap = config.SerializeOnFileOverlap;
|
||||
existing.PermissionMode = config.PermissionMode;
|
||||
existing.TicketProjectId = config.TicketProjectId;
|
||||
}
|
||||
await _context.SaveChangesAsync(ct);
|
||||
}
|
||||
|
||||
@@ -94,14 +94,15 @@ public record MergeSegmentDto(bool IsConflict, string Text, string Ours, string?
|
||||
|
||||
public record UpdateListDto(string Id, string Name, string? WorkingDir, string DefaultCommitType, bool IsManual = false, bool FindingsTracked = false);
|
||||
|
||||
// SerializeOnFileOverlap is tri-state on purpose: null = leave the stored flag alone. A caller that
|
||||
// doesn't own the field (anything but the list-settings modal) must not be able to clear it by
|
||||
// omission — SetConfigAsync copies the entity verbatim.
|
||||
public record UpdateListConfigDto(string ListId, string? Model, string? SystemPrompt, string? AgentPath, int? MaxTurns = null, List<string>? SessionSkills = null, string? VerifyCommand = null, bool? SerializeOnFileOverlap = null, string? PermissionMode = null);
|
||||
// SerializeOnFileOverlap and TicketProjectId are tri-state on purpose: null = leave the stored
|
||||
// value alone. A caller that doesn't own the field (anything but the list-settings modal) must not
|
||||
// be able to clear it by omission — SetConfigAsync copies the entity verbatim. TicketProjectId's
|
||||
// own scale: null = keep stored, <= 0 = clear the link, > 0 = set it.
|
||||
public record UpdateListConfigDto(string ListId, string? Model, string? SystemPrompt, string? AgentPath, int? MaxTurns = null, List<string>? SessionSkills = null, string? VerifyCommand = null, bool? SerializeOnFileOverlap = null, string? PermissionMode = null, int? TicketProjectId = null);
|
||||
|
||||
public record UpdateTaskAgentSettingsDto(string TaskId, string? Model, string? SystemPrompt, string? AgentPath, int? MaxTurns = null, List<string>? SessionSkills = null, string? PermissionMode = null);
|
||||
|
||||
public record ListConfigDto(string? Model, string? SystemPrompt, string? AgentPath, int? MaxTurns = null, List<string>? SessionSkills = null, string? VerifyCommand = null, bool SerializeOnFileOverlap = false, string? PermissionMode = null);
|
||||
public record ListConfigDto(string? Model, string? SystemPrompt, string? AgentPath, int? MaxTurns = null, List<string>? SessionSkills = null, string? VerifyCommand = null, bool SerializeOnFileOverlap = false, string? PermissionMode = null, int? TicketProjectId = null);
|
||||
|
||||
public record SeedResultDto(int Copied, int Skipped);
|
||||
|
||||
@@ -206,3 +207,8 @@ public sealed record LaunchSpec(
|
||||
string Exe,
|
||||
IReadOnlyList<string> Args,
|
||||
IReadOnlyDictionary<string, string> Env);
|
||||
|
||||
public record TicketSettingsDto(string? ApiBaseUrl, bool TokenSet);
|
||||
public record TicketConnectionDto(bool Ok, string? UserName, IReadOnlyList<string> Scopes, string? Error);
|
||||
public record TicketProjectDto(int Id, string Title, string DepartmentName);
|
||||
public record TicketImportResultDto(int Examined, int Created);
|
||||
|
||||
Reference in New Issue
Block a user