Repository navigation
Commit b8bc17d
committed
Defer building the generated wire models and emit them in dependency order
The generated _v2025_11_25 and _v2026_07_28 packages spent ~100-115 ms
each at import building pydantic core schemas, validators and serializers
for ~175 models per version, of which a connection touches only a handful.
Both generated bases now carry defer_build=True: WireModel, and a new
generic WireRootModel[T] the RootModel aliases derive from (deferring only
the object models made things slower, as the eager union roll-ups then
regenerated every deferred model's schema inline). The generator drops
codegen's trailing model_rebuild() epilogue and emits classes in dependency
order - failing if any class names a class defined later - so every
non-recursive generated class still exposes complete field metadata at
import. Building each model's validator now happens once, on first use.1 parent 695b1ab commit b8bc17d
6 files changed
Lines changed: 549 additions & 366 deletions
File tree
- scripts
- src/mcp-types/mcp_types
- _v2025_11_25
- _v2026_07_28
- tests/types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
| 224 | + | |
| 225 | + | |
224 | 226 | | |
225 | 227 | | |
226 | 228 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
199 | 333 | | |
200 | 334 | | |
201 | 335 | | |
| |||
243 | 377 | | |
244 | 378 | | |
245 | 379 | | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
246 | 383 | | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
| 384 | + | |
252 | 385 | | |
253 | 386 | | |
254 | 387 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
| 11 | + | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
288 | | - | |
| 288 | + | |
289 | 289 | | |
290 | 290 | | |
291 | 291 | | |
| |||
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
560 | | - | |
| 560 | + | |
561 | 561 | | |
562 | 562 | | |
563 | 563 | | |
| |||
723 | 723 | | |
724 | 724 | | |
725 | 725 | | |
726 | | - | |
| 726 | + | |
727 | 727 | | |
728 | 728 | | |
729 | 729 | | |
| |||
853 | 853 | | |
854 | 854 | | |
855 | 855 | | |
856 | | - | |
| 856 | + | |
857 | 857 | | |
858 | 858 | | |
859 | 859 | | |
| |||
970 | 970 | | |
971 | 971 | | |
972 | 972 | | |
973 | | - | |
| 973 | + | |
974 | 974 | | |
975 | 975 | | |
976 | 976 | | |
| |||
1216 | 1216 | | |
1217 | 1217 | | |
1218 | 1218 | | |
1219 | | - | |
| 1219 | + | |
1220 | 1220 | | |
1221 | 1221 | | |
1222 | 1222 | | |
| |||
1867 | 1867 | | |
1868 | 1868 | | |
1869 | 1869 | | |
1870 | | - | |
| 1870 | + | |
1871 | 1871 | | |
1872 | 1872 | | |
1873 | 1873 | | |
1874 | 1874 | | |
1875 | | - | |
| 1875 | + | |
1876 | 1876 | | |
1877 | 1877 | | |
1878 | 1878 | | |
| |||
2115 | 2115 | | |
2116 | 2116 | | |
2117 | 2117 | | |
2118 | | - | |
| 2118 | + | |
2119 | 2119 | | |
2120 | 2120 | | |
2121 | 2121 | | |
| |||
2153 | 2153 | | |
2154 | 2154 | | |
2155 | 2155 | | |
2156 | | - | |
| 2156 | + | |
2157 | 2157 | | |
2158 | 2158 | | |
2159 | 2159 | | |
| |||
2499 | 2499 | | |
2500 | 2500 | | |
2501 | 2501 | | |
2502 | | - | |
| 2502 | + | |
2503 | 2503 | | |
2504 | 2504 | | |
2505 | 2505 | | |
| |||
2793 | 2793 | | |
2794 | 2794 | | |
2795 | 2795 | | |
2796 | | - | |
| 2796 | + | |
2797 | 2797 | | |
2798 | 2798 | | |
2799 | 2799 | | |
| |||
2812 | 2812 | | |
2813 | 2813 | | |
2814 | 2814 | | |
2815 | | - | |
| 2815 | + | |
2816 | 2816 | | |
2817 | 2817 | | |
2818 | 2818 | | |
| |||
2857 | 2857 | | |
2858 | 2858 | | |
2859 | 2859 | | |
2860 | | - | |
| 2860 | + | |
| 2861 | + | |
| 2862 | + | |
2861 | 2863 | | |
2862 | 2864 | | |
2863 | 2865 | | |
2864 | 2866 | | |
2865 | 2867 | | |
2866 | 2868 | | |
2867 | | - | |
| 2869 | + | |
2868 | 2870 | | |
2869 | 2871 | | |
2870 | 2872 | | |
| |||
3174 | 3176 | | |
3175 | 3177 | | |
3176 | 3178 | | |
3177 | | - | |
| 3179 | + | |
3178 | 3180 | | |
3179 | 3181 | | |
3180 | 3182 | | |
| |||
3192 | 3194 | | |
3193 | 3195 | | |
3194 | 3196 | | |
3195 | | - | |
| 3197 | + | |
3196 | 3198 | | |
3197 | 3199 | | |
3198 | 3200 | | |
| |||
3267 | 3269 | | |
3268 | 3270 | | |
3269 | 3271 | | |
3270 | | - | |
| 3272 | + | |
3271 | 3273 | | |
3272 | 3274 | | |
3273 | 3275 | | |
3274 | 3276 | | |
3275 | 3277 | | |
3276 | | - | |
| 3278 | + | |
3277 | 3279 | | |
3278 | 3280 | | |
3279 | 3281 | | |
| |||
3299 | 3301 | | |
3300 | 3302 | | |
3301 | 3303 | | |
3302 | | - | |
| 3304 | + | |
3303 | 3305 | | |
3304 | 3306 | | |
3305 | 3307 | | |
| |||
3399 | 3401 | | |
3400 | 3402 | | |
3401 | 3403 | | |
3402 | | - | |
| 3404 | + | |
3403 | 3405 | | |
3404 | 3406 | | |
3405 | 3407 | | |
| |||
3503 | 3505 | | |
3504 | 3506 | | |
3505 | 3507 | | |
3506 | | - | |
| 3508 | + | |
3507 | 3509 | | |
3508 | 3510 | | |
3509 | 3511 | | |
| |||
0 commit comments