Introduce typed D&D spell artifacts
This commit is contained in:
@@ -106,13 +106,12 @@ func TestProductionCompatibilitySnapshot(t *testing.T) {
|
||||
})
|
||||
assertAssetNames(t, assets.SchemaFS, []string{
|
||||
"dnd_scenes.v1.json",
|
||||
"dnd_spells.v1.json",
|
||||
"dnd_spells_llm.v1.json",
|
||||
})
|
||||
|
||||
identitySnapshot := map[string]map[string]any{
|
||||
"scenes": sceneManifestMetadata(t),
|
||||
"spells": spells.New().ManifestMetadata(),
|
||||
"spells": spellManifestMetadata(t),
|
||||
}
|
||||
for name, metadata := range identitySnapshot {
|
||||
for _, key := range []string{"prompt_id", "prompt_version", "prompt_sha256", "response_schema_key", "response_schema_id", "response_schema_name", "response_schema_version", "response_schema_sha256"} {
|
||||
@@ -348,7 +347,10 @@ func TestProductionLLMCallersShareScheduledClient(t *testing.T) {
|
||||
}()
|
||||
go func() {
|
||||
started.Done()
|
||||
_, err := spells.New().Extract(context.Background(), contracts.ExtractionRequest{Source: doc, Chunk: &chunk, LLMClient: client})
|
||||
extractor, err := spells.New(client, spells.Options{})
|
||||
if err == nil {
|
||||
_, err = extractor.Extract(context.Background(), contracts.TypedExtractionRequest{Source: doc, Chunk: &chunk})
|
||||
}
|
||||
errs <- err
|
||||
}()
|
||||
started.Wait()
|
||||
@@ -520,6 +522,15 @@ func sceneManifestMetadata(t *testing.T) map[string]any {
|
||||
return chunker.ManifestMetadata()
|
||||
}
|
||||
|
||||
func spellManifestMetadata(t *testing.T) map[string]any {
|
||||
t.Helper()
|
||||
extractor, err := spells.New(orderingProductionLLMClient{}, spells.Options{})
|
||||
if err != nil {
|
||||
t.Fatalf("construct spell extractor: %v", err)
|
||||
}
|
||||
return extractor.ManifestMetadata()
|
||||
}
|
||||
|
||||
func assertAssetNames(t *testing.T, getFS func() (fs.FS, error), want []string) {
|
||||
t.Helper()
|
||||
fSys, err := getFS()
|
||||
|
||||
Reference in New Issue
Block a user