Add an ECA action for vector search (embeddings input → results of id, label, score)
## Problem/Motivation The module already exposes the `embeddings` operation as an ECA action (`ai_integration_eca_execute_embedding`), which turns input text into an embeddings array. However, there is no companion action to actually **query a vector database** with those embeddings. Site builders can generate an embedding in an ECA model, but then have no way to run a similarity search against a vector database from within the ECA model and act on the matches. ## Proposed resolution Add a new ECA action that performs a vector (similarity) search. - **Input:** an embeddings array (e.g. the result token produced by the existing Embedding action). - **Output:** a results list written to the `token_result` bag, where each result is an associative array of: - `id` — the matched record/document id - `label` — a human-readable label for the match - `score` — the similarity score Follow the existing action conventions (see `CLAUDE.md` and the `Embedding`/`Rerank` actions): - New plugin under `src/Plugin/Action/`, id `ai_integration_eca_execute_vector_search`, legacy `@Action` annotation. - Read the embeddings array from `token_input`, run the search, wrap the results list in `DataTransferObject::create()` and store under `token_result` (same pattern as `ObjectDetection`, which returns a list of `{label, ...}` items). - Let the user select which vector database to query in the configuration form. ## Remaining tasks - [ ] Add the vector search action plugin. - [ ] Add a kernel test under `tests/src/Kernel/Plugin/Action/` mirroring the existing tests. - [ ] Update `docs/` to list the new operation/action.
issue