Prepare requests with captured conversation history
This commit is contained in:
@@ -79,6 +79,8 @@ type preparationState struct {
|
||||
type preparedOperation struct {
|
||||
run *domain.PreparedRun
|
||||
validation validate.PreparedValidation
|
||||
capture bool
|
||||
parent *domain.Exchange
|
||||
}
|
||||
|
||||
func NewRunner(
|
||||
@@ -399,7 +401,7 @@ func (r *Runner) completePreparation(
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &preparedOperation{run: prepared, validation: validationPlan}, nil
|
||||
return &preparedOperation{run: prepared, validation: validationPlan, capture: req.CaptureExchange, parent: req.ContinueFrom}, nil
|
||||
}
|
||||
|
||||
func (r *Runner) prepareValidation(
|
||||
@@ -473,11 +475,15 @@ func (r *Runner) completePreparationWithStructuredOutput(
|
||||
effectivePrompt.SessionID = state.directSessionID
|
||||
}
|
||||
effectivePrompt.Messages = domain.ConcatRenderedMessages(renderedPrompt.Messages, req.AppendedMessages)
|
||||
if req.ContinueFrom != nil {
|
||||
effectivePrompt.Messages = domain.ConcatRenderedMessages(req.ContinueFrom.Messages(), effectivePrompt.Messages)
|
||||
}
|
||||
|
||||
end := time.Now().UTC()
|
||||
effectiveModel := state.effectiveModel
|
||||
effectiveModel.APIKey = ""
|
||||
return &domain.PreparedRun{
|
||||
ParentRunID: req.ContinueFrom.RunID(),
|
||||
PromptID: state.definition.ID,
|
||||
PromptHash: state.promptDefinitionHash,
|
||||
SelectedProfileID: state.selectedProfileID,
|
||||
|
||||
Reference in New Issue
Block a user