| 680 | return normalized |
| 681 | |
| 682 | def _merge_settings_with_defaults(self, settings: Dict[str, Any], fields: List[Dict[str, Any]]) -> Dict[str, Any]: |
| 683 | merged = dict(settings or {}) |
| 684 | for field_def in fields or []: |
| 685 | field_id = field_def.get("id") |
| 686 | if not field_id: |
| 687 | continue |
| 688 | if field_id not in merged and "default" in field_def: |
| 689 | merged[field_id] = field_def.get("default") |
| 690 | return merged |
| 691 | |
| 692 | def _build_context(self, lp: LoadedPlugin, cfg: PluginConfig) -> Dict[str, Any]: |
| 693 | settings = self._merge_settings_with_defaults(cfg.settings or {}, lp.fields or []) |