Avoid redundant smoke report copying

This commit is contained in:
2026-10-13 21:12:17 +00:00
parent 4cda3674c4
commit 5dc6370a97
4 changed files with 127 additions and 25 deletions

View File

@@ -6,6 +6,7 @@ import (
"time"
"gitea.maximumdirect.net/eric/promptkit/internal/domain"
"gitea.maximumdirect.net/eric/promptkit/internal/jsonvalue"
)
// SmokeTestKind identifies one built-in diagnostic operation.
@@ -294,35 +295,35 @@ func toDomainSmokeTestRequest(request SmokeTestRequest) (domain.SmokeTestRequest
}
func fromDomainSmokeTestReport(report domain.SmokeTestReport) (*SmokeTestReport, error) {
owned, err := domain.CloneSmokeTestReport(report)
extraParams, err := jsonvalue.CopyMap(report.Target.EffectiveSettings.ExtraParams)
if err != nil {
return nil, err
}
result := &SmokeTestReport{
Kind: SmokeTestKind(owned.Kind),
Supported: owned.Supported,
Applicable: copySmokeTestBoolPtr(owned.Applicable),
Completed: owned.Completed,
Reason: SmokeTestReason(owned.Reason),
Kind: SmokeTestKind(report.Kind),
Supported: report.Supported,
Applicable: copySmokeTestBoolPtr(report.Applicable),
Completed: report.Completed,
Reason: SmokeTestReason(report.Reason),
Target: SmokeTestTarget{
BackendID: owned.Target.BackendID,
ProfileID: owned.Target.ProfileID,
PromptID: owned.Target.PromptID,
PromptVersion: owned.Target.PromptVersion,
DefaultSourceBackendID: owned.Target.DefaultSourceBackendID,
SelectionSource: owned.Target.SelectionSource,
Endpoint: owned.Target.Endpoint,
EffectiveSettings: fromDomainExecutionTarget(owned.Target.EffectiveSettings),
SettingsPresence: fromDomainExecutionTargetPresence(owned.Target.SettingsPresence),
BackendID: report.Target.BackendID,
ProfileID: report.Target.ProfileID,
PromptID: report.Target.PromptID,
PromptVersion: report.Target.PromptVersion,
DefaultSourceBackendID: report.Target.DefaultSourceBackendID,
SelectionSource: report.Target.SelectionSource,
Endpoint: report.Target.Endpoint,
EffectiveSettings: fromDomainExecutionTargetWithOwnedParams(report.Target.EffectiveSettings, extraParams),
SettingsPresence: fromDomainExecutionTargetPresence(report.Target.SettingsPresence),
},
Facts: fromDomainSmokeTestFacts(owned.Facts),
Timing: fromDomainSmokeTestTiming(owned.Timing),
Usage: fromDomainObservedTokenUsage(owned.Usage),
Failure: ExecutionFailureKind(owned.Failure),
Facts: fromDomainSmokeTestFacts(report.Facts),
Timing: fromDomainSmokeTestTiming(report.Timing),
Usage: fromDomainObservedTokenUsage(report.Usage),
Failure: ExecutionFailureKind(report.Failure),
}
if owned.Attempts != nil {
result.Attempts = make([]SmokeTestAttempt, len(owned.Attempts))
for index, attempt := range owned.Attempts {
if report.Attempts != nil {
result.Attempts = make([]SmokeTestAttempt, len(report.Attempts))
for index, attempt := range report.Attempts {
result.Attempts[index] = SmokeTestAttempt{
Dispatched: attempt.Dispatched,
InitialEndpoint: attempt.InitialEndpoint,