Commit c0af426
fix(types): fix the type definitions for factory models and config, a… (#408)
* fix(types): fix the type definitions for factory models and config, and add InferRestArgs utility type
* refactor(types): simplify type definitions for factory models by removing unused InferConfig type
* fix(types): handle optional model param, restore explicit return type, add regression test
Review follow-ups for #408:
- InferRestArgs now matches [any?, ...] so factories with an optional
first parameter don't silently drop their trailing args
- Extract the extended signature into a named ExtendedFactory type and
restore an explicit return type on extendAdapter (no cast needed)
- Add a regression test for 3-parameter factories like
createAnthropicChat(model, apiKey, config?) (#407)
- Add a patch changeset for @tanstack/ai
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* refactor(types): remove all any from extend-adapter type utilities
Replace any-typed function shapes with a sound AnyAdapterFactory
constraint built on never params / unknown return (parameters are
contravariant, so never accepts every factory). The deliberate
model-union widening now lives in an overload signature instead of an
unchecked assignment, so no cast or any remains anywhere in the file.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* test(types): assert invalid model names are rejected for 3-param factories
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 00e0c93 commit c0af426
3 files changed
Lines changed: 79 additions & 24 deletions
File tree
- .changeset
- packages/ai
- src
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
147 | 155 | | |
148 | 156 | | |
149 | 157 | | |
150 | 158 | | |
151 | 159 | | |
152 | 160 | | |
153 | 161 | | |
154 | | - | |
155 | | - | |
| 162 | + | |
| 163 | + | |
156 | 164 | | |
157 | 165 | | |
158 | 166 | | |
159 | 167 | | |
160 | 168 | | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | 169 | | |
172 | 170 | | |
173 | 171 | | |
174 | 172 | | |
175 | | - | |
| 173 | + | |
176 | 174 | | |
177 | 175 | | |
178 | 176 | | |
179 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
180 | 200 | | |
181 | 201 | | |
182 | 202 | | |
| |||
225 | 245 | | |
226 | 246 | | |
227 | 247 | | |
228 | | - | |
| 248 | + | |
229 | 249 | | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
239 | 257 | | |
240 | 258 | | |
241 | 259 | | |
242 | | - | |
| 260 | + | |
243 | 261 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 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 | + | |
246 | 278 | | |
247 | 279 | | |
248 | 280 | | |
| |||
0 commit comments