Add opt-in PromptKit namespaces

This commit is contained in:
2026-11-07 04:23:39 +00:00
parent 8e5e64c6e9
commit 644e6c365b
12 changed files with 353 additions and 32 deletions

View File

@@ -18,6 +18,8 @@ type SmokeRequest struct {
Selection ckconfig.Selection
// Request contains the native smoke-test operation and its selected inputs.
Request promptkit.SmokeTestRequest
// Namespaces selects the native engine view; nil preserves the loader view.
Namespaces *promptkit.Namespaces
}
// WithSmokeTesting attaches PromptKit-backed smoke testing to suite while
@@ -65,6 +67,11 @@ func WithSmokeTesting[I, S any](
return commandkit.Acquired[*promptkit.SmokeTestReport]{Diagnostics: messages.diagnostics, Explanation: messages.explanation}, fmt.Errorf("PromptKit smoke test before native operation: %w", err)
}
engine, err = namespacedEngine(engine, request.Namespaces)
if err != nil {
messages = messages.withOperationError(err)
return commandkit.Acquired[*promptkit.SmokeTestReport]{Diagnostics: messages.diagnostics, Explanation: messages.explanation}, err
}
report, err := engine.SmokeTest(ctx, concreteRequest)
messages = messages.withOperationError(err)
return commandkit.Acquired[*promptkit.SmokeTestReport]{Value: report, Diagnostics: messages.diagnostics, Explanation: messages.explanation}, err