feat(cover-letter): add contextual AI workspace
This commit is contained in:
@@ -32,7 +32,13 @@ public sealed class AiWorkspaceController : ControllerBase
|
||||
_usageScope = usageScope;
|
||||
}
|
||||
|
||||
public sealed record GenerateRequest(string Module, string? Mode, string? ExtraContext);
|
||||
public sealed record GenerateRequest(
|
||||
string Module,
|
||||
string? Mode,
|
||||
string? ExtraContext,
|
||||
string? TargetLanguage = null,
|
||||
string? CurrentText = null,
|
||||
string? Action = null);
|
||||
public sealed record InteractionDto(int Id, string Module, string? Mode, string Title, string Provider, JsonElement Result, int InputCharacterCount, int OutputCharacterCount, int EstimatedTokenCount, DateTimeOffset CreatedAtUtc);
|
||||
|
||||
[HttpGet("modules")]
|
||||
@@ -76,7 +82,7 @@ public sealed class AiWorkspaceController : ControllerBase
|
||||
using var metering = _usageScope?.Suppress();
|
||||
var interaction = await _workspace.GenerateAsync(
|
||||
user.Id, jobId, user.ProfileCvText ?? string.Empty, ResolveName(user),
|
||||
new AiGenerateRequest(request.Module, request.Mode, request.ExtraContext), ResolveProvider(), ct);
|
||||
new AiGenerateRequest(request.Module, request.Mode, request.ExtraContext, request.TargetLanguage, request.CurrentText, request.Action), ResolveProvider(), ct);
|
||||
if (interaction is null)
|
||||
{
|
||||
if (reservation is not null) await (_usage ?? new AiUsageMeter(_db!, TimeProvider.System)).ReleaseAsync(reservation.Record.Id, ct);
|
||||
|
||||
Reference in New Issue
Block a user