Order combat and NPC interaction extraction by document position
This commit is contained in:
@@ -15,7 +15,7 @@ import (
|
||||
const (
|
||||
Key = "dnd/combat-turns"
|
||||
ArtifactType = "dnd.combat_turn"
|
||||
mappingPolicy = "dnd.combat_turns.extract_mapping.v1"
|
||||
mappingPolicy = "dnd.combat_turns.extract_mapping.v2"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -163,6 +163,7 @@ func (e *Extractor) Extract(ctx context.Context, req contracts.TypedExtractionRe
|
||||
if err != nil {
|
||||
return contracts.TypedExtractionResult[dnd.CombatTurnList]{}, extractorErrorf("%w", err)
|
||||
}
|
||||
order := shared.NewSourceRefOrder(req.Source)
|
||||
npcRegistry, err := e.npcResolver.Resolve(req.References)
|
||||
if err != nil {
|
||||
return contracts.TypedExtractionResult[dnd.CombatTurnList]{}, extractorErrorf("resolve NPC registry: %w", err)
|
||||
@@ -181,7 +182,7 @@ func (e *Extractor) Extract(ctx context.Context, req contracts.TypedExtractionRe
|
||||
}, &response); err != nil {
|
||||
return contracts.TypedExtractionResult[dnd.CombatTurnList]{}, extractorErrorf("complete structured output: %w", err)
|
||||
}
|
||||
canonicalizeResponse(&response, req.Source)
|
||||
canonicalizeResponse(&response, order, req.Source.ID)
|
||||
return contracts.TypedExtractionResult[dnd.CombatTurnList]{Value: canonicalCombatTurnList(response, req.Source.ID)}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user