Add structured output repair support

This commit is contained in:
2026-08-25 19:35:27 +00:00
parent 3bd3c7ebf7
commit ab9b743df6
4 changed files with 37 additions and 8 deletions

View File

@@ -667,6 +667,20 @@ func TestPromptKitClientMapsHTTPGenerationErrorToApplicationBoundary(t *testing.
}
}
func TestPromptKitClientRejectsInvalidRepairAttemptOverride(t *testing.T) {
for _, attempts := range []int{-1, 4} {
t.Run("invalid", func(t *testing.T) {
fake := &fakePromptKitLLM{content: `{"ok":true}`}
client := newTestPromptKitClient(t, fake)
var out map[string]any
_, err := client.CompleteStructured(context.Background(), contracts.StructuredCompletionRequest{PromptID: "adapter.test", StructuredOutputRepairAttempts: &attempts}, &out)
if err == nil || fake.calls != 0 {
t.Fatalf("error=%v calls=%d", err, fake.calls)
}
})
}
}
func TestPromptKitClientCheckpointFingerprintTracksFallbackProfileAssets(t *testing.T) {
fingerprintFor := func(content string) CheckpointFingerprint {
t.Helper()