(self, config: dict[str, Any])
| 85 | ) |
| 86 | |
| 87 | def validate(self, config: dict[str, Any]) -> list[str]: |
| 88 | errors = super().validate(config) |
| 89 | if "run" not in config: |
| 90 | errors.append( |
| 91 | f"Shell step {config.get('id', '?')!r} is missing 'run' field." |
| 92 | ) |
| 93 | output_format = config.get("output_format") |
| 94 | if output_format is not None and output_format != "json": |
| 95 | errors.append( |
| 96 | f"Shell step {config.get('id', '?')!r}: 'output_format' must " |
| 97 | f"be 'json' when present, got {output_format!r}." |
| 98 | ) |
| 99 | return errors |