Bugfix in the built-in prompt references definition

This commit is contained in:
2026-07-05 18:48:45 -05:00
parent 7d4c027d09
commit 3df686f474
13 changed files with 274 additions and 46 deletions

View File

@@ -175,6 +175,9 @@ func referenceMediaTypeForPath(path string) string {
if extension == ".md" || extension == ".markdown" {
return "text/markdown"
}
if extension == ".yaml" || extension == ".yml" {
return "application/yaml"
}
return unknownMediaType
}
return canonicalMediaType(mediaType)

View File

@@ -249,6 +249,25 @@ func TestMaterializeReferencesAcceptsDeclaredJSONMediaType(t *testing.T) {
}
}
func TestMaterializeReferencesAcceptsDeclaredYAMLMediaType(t *testing.T) {
configDir := t.TempDir()
path := filepath.Join(configDir, "roster.yaml")
writeReferenceFile(t, path, []byte("aria: cleric\n"))
slot := contracts.ReferenceSlot{Name: "roster", AcceptedMediaTypes: []string{"application/yaml"}}
resolved := resolvedPipelineWithReference(t, "roster", "roster.yaml", contracts.ReferenceBindingSourceConfig, slot)
materialized, _, err := MaterializeReferences(resolved, referenceCatalog(t, []contracts.ReferenceSlot{slot}), ReferenceMaterializationOptions{
ConfigPath: filepath.Join(configDir, "config.yml"),
})
if err != nil {
t.Fatalf("MaterializeReferences() error = %v, want nil", err)
}
item := materialized.ArtifactLanes[0].ExtractReferences.ReferenceSet.Slots["roster"].Items[0]
if item.MediaType != "application/yaml" {
t.Fatalf("MediaType = %q, want application/yaml", item.MediaType)
}
}
func TestMaterializeReferencesRejectsUnacceptedMediaType(t *testing.T) {
configDir := t.TempDir()
path := filepath.Join(configDir, "roster.json")