Add reusable PromptKit request flags

This commit is contained in:
2026-11-07 04:16:09 +00:00
parent 6378ceb3c5
commit c3d5f551c3
17 changed files with 450 additions and 239 deletions

View File

@@ -3,6 +3,7 @@ package ckprompt
import (
"context"
"errors"
"io"
"strings"
"testing"
"testing/fstest"
@@ -331,3 +332,25 @@ func TestWithRequestValidationCancellationBoundaries(t *testing.T) {
}
})
}
func TestValidationBuilderReplacesCLIExecutionControls(t *testing.T) {
engine := adapterEngine(t)
calls := 0
suite := WithRequestValidation(Suite[struct{}, struct{}]{},
func(context.Context, ckconfig.Selection, struct{}, struct{}) (*promptkit.Engine, error) {
return engine, nil
},
func(_ context.Context, seed ValidationRequest, _, _ struct{}) (promptkit.RunRequest, error) {
calls++
if seed.Request.Execution == nil || seed.Request.Execution.MaxTokens == nil || *seed.Request.Execution.MaxTokens != -1 {
t.Fatalf("builder seed = %#v", seed.Request)
}
return promptkit.RunRequest{PromptID: "empty", ProfileID: "default"}, nil
},
)
app := newPromptTestApp(t, Command(suite))
result := app.Execute(context.Background(), []string{"promptkit", "requirements", "validate", "empty", "--llm-max-tokens=-1"}, commandkit.Streams{Out: io.Discard, Err: io.Discard})
if result.Kind != commandkit.OutcomeSuccess || calls != 1 {
t.Fatalf("builder replacement = %#v, calls = %d", result, calls)
}
}