Add typed artifact codec foundation

This commit is contained in:
2026-07-17 05:41:20 +00:00
parent 075888c97f
commit fc1b57bde2
22 changed files with 795 additions and 33 deletions

View File

@@ -135,6 +135,12 @@ func TestProductionCatalogIncludesProductionModulesValidatorsAndDefaults(t *test
if err != nil {
t.Fatalf("productionCatalog() error = %v, want nil", err)
}
if catalog.ArtifactCodecs == nil {
t.Fatal("production artifact codec registry = nil, want initialized empty registry")
}
if got := catalog.ArtifactCodecs.RegisteredKinds(); len(got) != 0 {
t.Fatalf("production artifact codec kinds = %#v, want legacy raw production path", got)
}
moduleTests := []struct {
name string
@@ -227,6 +233,23 @@ func TestProductionCatalogIncludesProductionModulesValidatorsAndDefaults(t *test
}
}
func TestCatalogConversionsPreserveArtifactCodecRegistry(t *testing.T) {
codecs := pipeline.NewArtifactCodecRegistry()
registries := pipeline.Registries{ArtifactCodecs: codecs}
if isEmptyRegistries(registries) {
t.Fatal("registries with artifact codecs reported empty")
}
catalog := catalogFromRegistries(registries)
if catalog.ArtifactCodecs != codecs || isEmptyCatalog(catalog) {
t.Fatalf("catalog artifact codecs = %p empty=%t, want %p and non-empty", catalog.ArtifactCodecs, isEmptyCatalog(catalog), codecs)
}
converted := registriesFromCatalog(catalog)
if converted.ArtifactCodecs != codecs {
t.Fatalf("converted artifact codecs = %p, want %p", converted.ArtifactCodecs, codecs)
}
}
func TestProductionPromptAssetsRegisterAndPrepareDndPrompts(t *testing.T) {
registry, err := productionPromptAssets()
if err != nil {
@@ -3572,12 +3595,13 @@ func fakeExecutionRegistries(t *testing.T) pipeline.Registries {
}
return pipeline.Registries{
Inputs: inputs,
Chunkers: chunkers,
Extractors: extractors,
Mergers: mergers,
Normalizers: normalizers,
Outputs: outputs,
Inputs: inputs,
Chunkers: chunkers,
ArtifactCodecs: pipeline.NewArtifactCodecRegistry(),
Extractors: extractors,
Mergers: mergers,
Normalizers: normalizers,
Outputs: outputs,
}
}
@@ -3953,6 +3977,7 @@ func fakeCatalog(t *testing.T, overrides ...pipeline.ModuleSpec) pipeline.Module
return pipeline.ModuleCatalog{
Inputs: inputs,
Chunkers: chunkers,
ArtifactCodecs: pipeline.NewArtifactCodecRegistry(),
Extractors: extractors,
Mergers: mergers,
Normalizers: normalizers,