Create a derived template with overridden defaults. MASFactory graphs only accept Nodes created by Graph.create_node(), so NodeTemplate intentionally does NOT construct a Node instance directly.
(self, *args: Any, **override_kwargs)
| 288 | return final_config |
| 289 | |
| 290 | def __call__(self, *args: Any, **override_kwargs) -> "NodeTemplate[T]": |
| 291 | """ |
| 292 | Create a derived template with overridden defaults. |
| 293 | |
| 294 | MASFactory graphs only accept Nodes created by Graph.create_node(), so NodeTemplate intentionally does NOT |
| 295 | construct a Node instance directly. |
| 296 | """ |
| 297 | if args: |
| 298 | raise TypeError( |
| 299 | "NodeTemplate(...) no longer materializes a Node. " |
| 300 | "Use Graph.create_node(template, name=...) or declare nodes=[(name, template)]." |
| 301 | ) |
| 302 | if "name" in override_kwargs: |
| 303 | raise TypeError( |
| 304 | "NodeTemplate(...) does not accept 'name'. " |
| 305 | "Use Graph.create_node(template, name=...) or declare nodes=[(name, template)]." |
| 306 | ) |
| 307 | if not override_kwargs: |
| 308 | return self |
| 309 | return self.clone(**override_kwargs) |
| 310 | |
| 311 | def _materialize( |
| 312 | self, |