Propagate structured repair requests

This commit is contained in:
2026-08-25 19:39:04 +00:00
parent ab9b743df6
commit e00cc45c6b
12 changed files with 154 additions and 134 deletions

View File

@@ -43,11 +43,12 @@ func DefaultPromptSpec() (PromptSpec, error) {
// Request contains one typed owner's source-backed reconciliation input.
type Request struct {
StageName string
Source *source.SourceDocument
Candidates []Candidate
ProfileID string
SessionID string
StageName string
Source *source.SourceDocument
Candidates []Candidate
ProfileID string
StructuredOutputRepairAttempts *int
SessionID string
}
// ResultDisposition classifies a provider-neutral reconciliation outcome.
@@ -163,12 +164,13 @@ func (engine *Engine) Reconcile(ctx context.Context, request Request) (Result, e
}
var response ProposalResponse
_, err = engine.client.CompleteStructured(ctx, contracts.StructuredCompletionRequest{
StageName: request.StageName,
PromptID: engine.prompt.ID,
PromptVersion: engine.prompt.Version,
ProfileID: request.ProfileID,
SessionID: request.SessionID,
Inputs: preparation.Materials(),
StageName: request.StageName,
PromptID: engine.prompt.ID,
PromptVersion: engine.prompt.Version,
ProfileID: request.ProfileID,
SessionID: request.SessionID,
StructuredOutputRepairAttempts: request.StructuredOutputRepairAttempts,
Inputs: preparation.Materials(),
}, &response)
if err != nil {
if errors.Is(err, contracts.ErrInvalidStructuredOutput) {