Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ES|QL] Generate function definitions from Elasticsearch metadata (#1…
…79584) ## Summary Resolve #179634 This PR introduces a script to gather metadata from Elasticsearch and build the function definitions for Kibana's client-side validation. To run the script: `cd packages/kbn-esql-validation-autocomplete && yarn makedefs path/to/elasticsearch/repo` ## Current limitations ### Things we can't (yet) gather from ES #### Things that are currently being filled in on the Kibana side but would be missing if we had to rely completely on ES - function aliases (e.g. `to_str`) - operators and aggs (issues for Elasticsearch elastic/elasticsearch#107219 and elastic/elasticsearch#107220) - Kibana AST parameter settings - `constantOnly` — whether a parameter can be a non-literal or not (`percentile`, `auto_bucket`) - `constantOptions`/`constantSuggestions` — specific information about which constants are accepted or suggested for particular parameters. - `supportsWildcard` — whether a parameter can contain `*` (only `count` at the moment) - `noNestingFunctions` — whether a parameter can contain nested functions (used for all agg functions) - Kibana date constant types - `chrono_literal` - `time_literal` ### Other considerations - Asciidoc links need to be scrubbed (e.g. `Function {wikipedia}/foo/bar[arccosine] returns blah blah`) - As of elastic/elasticsearch#106454 some descriptions reference outdated parameter names and some parameter names are questionable: <img width="600" alt="Screenshot 2024-03-28 at 1 07 16 PM" src="https://github.com/elastic/kibana/assets/315764/3b9ab457-e9fd-4c5f-afb2-23ae769bb44a"> _parameter `n` is now called `number`, but the description still calls it `n`... also, is `number` really the best name for the variable?_ ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Stratoula Kalafateli <[email protected]> Co-authored-by: kibanamachine <[email protected]>
- Loading branch information