Add prepared request preview
This commit is contained in:
@@ -260,17 +260,18 @@ it does not install PromptKit catalog, definition, or requirements commands.
|
||||
|
||||
`ckprompt.FromEngine(loadEngine)` supplies nine callbacks: prompt, profile,
|
||||
backend, namespace, and collection catalogs; named prompt, profile, and backend
|
||||
inspection; and native requirements discovery. Concrete request validation and
|
||||
smoke testing are separate capabilities, added explicitly with
|
||||
`ckprompt.WithRequestValidation` and `ckprompt.WithSmokeTesting`. The suite has
|
||||
eleven independently optional callbacks in total. `ckprompt.Command(suite)` creates
|
||||
only operations whose callbacks are present; discovery, validation, and smoke
|
||||
testing can be installed independently. A composed suite can enable both
|
||||
additional operations:
|
||||
inspection; and native requirements discovery. Concrete request validation,
|
||||
prepared-request preview, and smoke testing are separate capabilities, added
|
||||
with `ckprompt.WithRequestValidation`, `ckprompt.WithRequestPreparation`, and
|
||||
`ckprompt.WithSmokeTesting`. The suite has twelve independently optional
|
||||
callbacks in total. `ckprompt.Command(suite)` creates only operations whose
|
||||
callbacks are present; these capabilities can be installed independently. A
|
||||
composed suite can enable the additional operations:
|
||||
|
||||
```go
|
||||
suite := ckprompt.FromEngine(loadEngine)
|
||||
suite = ckprompt.WithRequestValidation(suite, loadEngine, buildRequest)
|
||||
suite = ckprompt.WithRequestPreparation(suite, loadEngine, nil)
|
||||
suite = ckprompt.WithSmokeTesting(suite, loadEngine, nil)
|
||||
suite.NewInput = newInput
|
||||
suite.NewState = newState
|
||||
@@ -300,7 +301,7 @@ absent, so explicitly supplied empty values stay meaningful. Applications that
|
||||
validate and then execute a request are encouraged to share their request
|
||||
construction logic between those paths.
|
||||
|
||||
The nine catalog and inspection callbacks and the two explicit additions are
|
||||
The catalog and inspection callbacks and the explicit additions are
|
||||
independently optional. For catalogs without named or requirements inspection,
|
||||
narrow the suite before command capture:
|
||||
|
||||
@@ -313,7 +314,7 @@ definitions.InspectRequirements = nil
|
||||
definitionCommand := ckprompt.Command(definitions)
|
||||
```
|
||||
|
||||
Each selected inspection, requirements, validation, smoke, or catalog operation
|
||||
Each selected inspection, requirements, validation, preparation, smoke, or catalog operation
|
||||
prepares one input, applies its captured selectors, checks that input, and
|
||||
initializes one state value when those steps are reached. The bundled validation
|
||||
adapter delegates concrete request preparation to PromptKit and carries its
|
||||
@@ -326,6 +327,12 @@ and state. `FromEngine` uses PromptKit's public listing and inspection methods,
|
||||
including `Engine.InspectRequirements`; validation must be opted into separately
|
||||
and uses `Engine.ValidateRequest`.
|
||||
|
||||
`ckprompt.WithRequestPreparation` adds a separate callback backed by
|
||||
`Engine.Prepare`. Its optional builder receives the seeded request and returns
|
||||
the complete request to prepare. The resulting native report can contain
|
||||
rendered application content. See the [CLI reference](../cli.md#promptkit-prepared-request-preview)
|
||||
for operator behavior.
|
||||
|
||||
Application-owned commands can use `ckprompt.NewExecutionFlags`,
|
||||
`ckprompt.NewResourceFlags`, and `ckprompt.NewPromptInputFlags` to bind the
|
||||
same canonical request flags into their own input types. Each collection exposes
|
||||
|
||||
Reference in New Issue
Block a user