Notify LLM on endpoint create/update#1005
Conversation
|
|
||
| const initialHistoryState = { | ||
| nodes: JSON.parse(JSON.stringify(nodes)), | ||
| edges: JSON.parse(JSON.stringify(edges)), |
There was a problem hiding this comment.
The structuredClone approach failed with DataCloneError because flow nodes contain function references (onDelete, onEdit, setClickedNode, update), which cannot be cloned by the structured clone algorithm. The JSON.parse(JSON.stringify()) method is used here to strip functions from nodes before saving to history, which are then manually re-attached during undo/redo operations.
|
|
||
| const currentState = stateOverride | ||
| ? { | ||
| nodes: JSON.parse(JSON.stringify(stateOverride.nodes)), |
There was a problem hiding this comment.
The structuredClone approach failed with DataCloneError because flow nodes contain function references (onDelete, onEdit, setClickedNode, update), which cannot be cloned by the structured clone algorithm. The JSON.parse(JSON.stringify()) method is used here to strip functions from nodes before saving to history, which are then manually re-attached during undo/redo operations.
…into 990/notify_LLM_about_endpoints
Pull from buerokratt/dev
…into 990/notify_LLM_about_endpoints
|



#990
Overview
Integrates LLM RAG (Retrieval-Augmented Generation) indexing into the endpoint lifecycle. When an endpoint is created or updated, its data is automatically sent to the LLM
api-toolsindexing service.Changes
Liquibase
20260513120000_add-is-llm-synced-to-endpoints.xml/sql— New migration that adds anis_llm_synced BOOLEANcolumn to theendpointstable to track whether each endpoint has been successfully indexed by the LLM...._rollback.sql— Rollback script that drops theis_llm_syncedcolumn.Resql
get_endpoint_by_id.sql— New query that retrieves a single endpoint's details (name, description, selected URL, HTTP method, and parameters) by resolving theisSelecteddefinition entry. Used by the LLM indexing flow to build the indexing payload.update_endpoint_llm_sync_status.sql— New query that updates theis_llm_syncedflag on an endpoint totrue(success) orfalse(failure) after an indexing attempt.Ruuter
index-llm.yml(new) — Standalone POST endpoint that orchestrates the full LLM indexing flow for a givenendpointId:LLM_RUUTER_PUBLIC /api-tools/indexwith the endpoint payload.is_llm_syncedbased on the LLM response (success →true, failure/not-found →false).200,400,404,502).create-endpoint.yml— Updated to call theindex-llmflow after a successful endpoint creation.update-endpoint.yml— Updated to call theindex-llmflow after a successful endpoint update.Configuration
constants.ini— AddedLLM_RUUTER_PUBLIC=http://ruuter-public:8086/rag-searchto configure the LLM service base URL.