getEngineMaxRunsToTopLevelCodemod migrates deprecated engine.max-runs to top-level max-turns.
()
| 7 | // getEngineMaxRunsToTopLevelCodemod migrates deprecated engine.max-runs to |
| 8 | // top-level max-turns. |
| 9 | func getEngineMaxRunsToTopLevelCodemod() Codemod { |
| 10 | return Codemod{ |
| 11 | ID: "engine-max-runs-to-top-level", |
| 12 | Name: "Move engine.max-runs to top-level max-turns", |
| 13 | Description: "Moves deprecated 'engine.max-runs' to top-level 'max-turns' so AWF enforces invocation caps consistently across all engines.", |
| 14 | IntroducedIn: "0.17.0", |
| 15 | Apply: func(content string, frontmatter map[string]any) (string, bool, error) { |
| 16 | return migrateEngineFieldToTopLevel( |
| 17 | content, |
| 18 | frontmatter, |
| 19 | migrateEngineFieldToTopLevelOptions{ |
| 20 | engineField: "max-runs", |
| 21 | targetTopLevelField: "max-turns", |
| 22 | preserveTopLevelFields: []string{"max-runs", "max-turns"}, |
| 23 | log: engineMaxRunsCodemodLog, |
| 24 | skipInlineMessage: "Skipping engine.max-runs migration for inline-map engine syntax; migrate to top-level max-turns manually", |
| 25 | removedMessage: "Removed deprecated engine.max-runs (top-level max-runs/max-turns already present)", |
| 26 | migratedMessage: "Migrated engine.max-runs to top-level max-turns", |
| 27 | }, |
| 28 | ) |
| 29 | }, |
| 30 | } |
| 31 | } |