@Martin showed me an extension the other day for finding “indicators of compromise” in a dataset: GitHub - herve-checkfirst/refineCTI: A simple CTI extension for OpenRefine
This was created by @h_piedcoq using an LLM (I believe it was one of the Claude models) and implements features as frontend additions to the menu instead of as backend changes. Based on a quick review, it looks like it processes the data on the frontend and sends a mass-edit command to the backend to create a new column with the transformed values (instead of implementing new GREL functions in Java and registering them that way). Note: the documentation in the README references new GREL functions, but I think that might be a misunderstanding on the AI’s part; I didn’t see any registered GREL functions.
I also think it's interesting that an LLM would take this frontend only approach, which would put more emphasis on a consistent REST API than the Java API normally used for GREL functions. It also got me thinking about what it’d be like to support frontend-only extensions. @Martin also mentioned this as a possible approach to this issue: Allow Users and Extensions to customize a Custom Menu (Tools/Other) area · Issue #109 · OpenRefine/OpenRefine · GitHub