Add PromptKit smoke test adapter

This commit is contained in:
2026-10-17 18:49:18 +00:00
parent 7a91f722fd
commit 3e9c871cdc
4 changed files with 239 additions and 5 deletions

View File

@@ -63,8 +63,9 @@ type RequirementsRequest struct {
}
// Suite describes application-owned input, shared state, and optional catalog,
// named inspection, requirements discovery, and concrete request validation
// capabilities. Its private issues retain adapter construction failures.
// named inspection, requirements discovery, concrete request validation, and
// smoke testing capabilities. Its private issues retain adapter construction
// failures.
// Factory results and callback effects remain caller-owned: Command does not
// deep-copy arbitrary objects or repair aliases returned by factories.
// A reached operation prepares one input, applies its captured selectors, and
@@ -102,6 +103,11 @@ type Suite[I, S any] struct {
// capabilities. The acquisition carries diagnostics and an empty value on
// success; PromptKit errors are returned unchanged where supported.
ValidateRequest func(context.Context, ValidationRequest, I, S) (commandkit.Acquired[struct{}], error)
// SmokeTest runs one concrete native smoke-test operation after input and
// state preparation. It is optional; nil omits only the smoke-test command.
// The acquisition retains a native report even when the callback also
// returns an error.
SmokeTest func(context.Context, SmokeRequest, I, S) (commandkit.Acquired[*promptkit.SmokeTestReport], error)
// ListPrompts lists prompt identities after input and state preparation.
// It is optional independently of the other catalogs; nil omits only this
// catalog command.