fix: comprehensive QA — resolve 13 bugs, add UX improvements across all services

Client SDK: add .catch() to graphRagStreaming/documentRagStreaming (silent timeout),
null-guard JSON.parse in getPrompts/getSystemPrompt/getPrompt.

Backend: implement "getvalues" config operation for token costs, null-check
createTerm() in FalkorDB triples query, add knowledge-cores service entrypoint
and Docker entry, return proper HTTP 400/404 for gateway error responses.

Workbench: cancel button + elapsed timer for chat, clear agent spinner on error,
flow dialog inline validation, responsive header wrapping, knowledge cores
loading timeout, sidebar/page naming consistency, theme toggle indicator.

Infrastructure: enable Grafana Explore for viewers, add gateway Prometheus
scrape target, fix RAG pipeline dashboard layout (6 panels visible),
filter Service Health to configured targets only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
elpresidank 2026-04-07 05:20:10 -05:00
parent 72870a7e2e
commit 3a80872482
22 changed files with 202 additions and 54 deletions

View file

@ -1174,7 +1174,8 @@ export class FlowsApi {
string,
Record<string, Record<string, string>>
>;
return JSON.parse(config.config.prompt["template-index"]);
const raw = config.config?.prompt?.["template-index"];
return raw ? JSON.parse(raw) : [];
});
}
@ -1187,7 +1188,8 @@ export class FlowsApi {
string,
Record<string, Record<string, string>>
>;
return JSON.parse(config.config.prompt[`template.${id}`]);
const raw = config.config?.prompt?.[`template.${id}`];
return raw ? JSON.parse(raw) : null;
});
}
@ -1200,7 +1202,8 @@ export class FlowsApi {
string,
Record<string, Record<string, string>>
>;
return JSON.parse(config.config.prompt.system);
const raw = config.config?.prompt?.system;
return raw ? JSON.parse(raw) : "";
});
}
@ -1546,7 +1549,10 @@ export class FlowApi {
60000,
undefined,
this.flowId,
);
).catch((err) => {
const errorMessage = err instanceof Error ? err.message : err?.toString() || "Unknown error";
onError(`Graph RAG request failed: ${errorMessage}`);
});
}
/**
@ -1617,7 +1623,10 @@ export class FlowApi {
60000,
undefined,
this.flowId,
);
).catch((err) => {
const errorMessage = err instanceof Error ? err.message : err?.toString() || "Unknown error";
onError(`Document RAG request failed: ${errorMessage}`);
});
}
/**