davsclaus opened a new pull request, #23893: URL: https://github.com/apache/camel/pull/23893
## Summary - Extends the Simple language JSON catalog (`simple.json`) with a machine-readable `"operators"` section documenting all 32 operators - Each operator entry includes: description, kind (binary/unary/logical/ternary/chain/other), syntax pattern, precedence, and usage examples - Follows the same `@Metadata` annotation → `PackageLanguageMojo` → `LanguageModel` → `JsonMapper` pipeline used for functions This gives AIs and other tools a structured contract to understand the Simple expression language operators — what they mean, how they're used, and their evaluation order. ## Changes | File | What | |------|------| | `spi-annotations/Language.java` | Added `operatorsClass()` attribute | | `LanguageModel.java` | Added `LanguageOperatorModel` inner class and `operators` list | | `JsonMapper.java` | Serialize/deserialize operators section | | `SimpleOperatorConstants.java` (new) | Source-of-truth for all 32 operators with `@Metadata` | | `SimpleLanguage.java` | Wired `operatorsClass = SimpleOperatorConstants.class` | | `PackageLanguageMojo.java` | Added `addOperator()` method and processing block | | `simple.json` (generated) | Now contains the `"operators"` section | ## Test plan - [x] `tooling/camel-tooling-model` tests pass (JSON round-trip) - [x] `core/camel-core-languages` builds and regenerates `simple.json` with all 32 operators - [ ] CI green _Claude Code on behalf of Claus Ibsen_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
