extractEngineConfigFromJSON parses engine configuration from JSON string (from included files)
(engineJSON string)
| 622 | |
| 623 | // extractEngineConfigFromJSON parses engine configuration from JSON string (from included files) |
| 624 | func (c *Compiler) extractEngineConfigFromJSON(engineJSON string) (*EngineConfig, error) { |
| 625 | if engineJSON == "" { |
| 626 | return nil, nil |
| 627 | } |
| 628 | |
| 629 | var engineData any |
| 630 | if err := json.Unmarshal([]byte(engineJSON), &engineData); err != nil { |
| 631 | return nil, fmt.Errorf("failed to parse engine JSON: %w", err) |
| 632 | } |
| 633 | |
| 634 | // Use the existing ExtractEngineConfig function by creating a temporary frontmatter map |
| 635 | tempFrontmatter := map[string]any{ |
| 636 | "engine": engineData, |
| 637 | } |
| 638 | |
| 639 | _, config := c.ExtractEngineConfig(tempFrontmatter) |
| 640 | return config, nil |
| 641 | } |
| 642 | |
| 643 | // applyEngineAuthEnv populates config.Env with AWF_AUTH_* environment variables |
| 644 | // derived from config.Auth. Existing config.Env values take precedence so users |