Add execution control request contracts
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package promptkit
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"unicode/utf8"
|
||||
|
||||
@@ -30,7 +31,15 @@ func toDomainRunRequest(req RunRequest) (domain.RunRequest, error) {
|
||||
callback := req.Observer
|
||||
observer = func(event domain.ExecutionEvent) { callback(fromDomainExecutionEvent(event)) }
|
||||
}
|
||||
var onPrepared func(context.Context, *domain.PreparedRun)
|
||||
if callback := req.OnPrepared; callback != nil {
|
||||
onPrepared = func(ctx context.Context, prepared *domain.PreparedRun) {
|
||||
callback(ctx, *fromDomainPreparedRun(prepared))
|
||||
}
|
||||
}
|
||||
return domain.RunRequest{
|
||||
OperationTimeout: req.OperationTimeout,
|
||||
OnPrepared: onPrepared,
|
||||
CaptureExchange: req.CaptureExchange || req.ContinueFrom != nil,
|
||||
PromptID: req.PromptID,
|
||||
ProfileID: req.ProfileID,
|
||||
|
||||
Reference in New Issue
Block a user