Tags: tryAGI/AutoSDK
Tags
v0.35.0-preview.2 Follows v0.35.0-preview.1 with two fixes to split-by-tags families, both found by running the generated code rather than compiling it. - A model's ToJson()/FromJson(string) overloads take no context and fell back to Core's, which does not register a model the split moved into a tag package. Those overloads now name the context of the package the model ships in. - Every context emitted the whole family's converter dispatch table instead of its own share: 10,412 typeToConvert lines in a package owning 88 types. Each package now contributes what it owns and calls down the chain for the rest. Measured on tryAGI/GitHub.NET's configuration, against preview.1: a tag package's serializer context 2,375 KB -> 25 KB generated family 230 MB -> 124 MB family as packages 32.76 MB -> 26.52 MB Both figures now sit under what the single project checks in (126 MB) and publishes (32.72 MB) today, so no consumer of the family downloads more than they do now, and one that needs a single tag downloads 44% less. This is the release a repository migrating to --split-by-tags should pin; preview.1 predates both fixes.
v0.35.0-preview.1 Split-by-tags package families now split models, not just clients. - A model, enum or named union exactly one OpenAPI tag can reach ships in that tag's package; everything shared stays in Core. - Ownership is proposed from schema reachability and then verified against the generated C# reference graph, so nothing crosses a package boundary it cannot see. - Each package emits its own JSON serializer context, chained onto the package it references. - --package-map contents and --packages-output are part of the generation cache key. Measured on specs/github.yaml: Core drops from 15,024 to 11,901 generated files and 26.1 MB to 19.0 MB, and a consumer of one tag package downloads about 43% less than the single package. Single-project generation is unchanged. Pre-release so the 48-package flow can be validated end-to-end before a stable version is committed to.
PreviousNext