feat(rag): align LightRAG native citations and MCP bridge
This commit is contained in:
@@ -988,7 +988,11 @@ export const createResourceTabRuntime = (dependencies = {}) => {
|
||||
const searchQuery = String(input.searchQuery || locator?.searchQuery || params.searchQuery || '').trim();
|
||||
const lineRange = input.lineRange || locator?.lineRange || params.lineRange || null;
|
||||
const charRange = input.charRange || locator?.charRange || params.charRange || null;
|
||||
if (!locator && !Number.isFinite(page) && !bbox && !sourceMapPath && !blockId && !evidenceText && !lineRange && !charRange) return null;
|
||||
const paragraphOrdinal = String(input.paragraphOrdinal ?? locator?.paragraphOrdinal ?? params.paragraphOrdinal ?? '').trim();
|
||||
const paraIdStart = String(input.paraIdStart || locator?.paraIdStart || params.paraIdStart || '').trim();
|
||||
const paraIdEnd = String(input.paraIdEnd || locator?.paraIdEnd || params.paraIdEnd || '').trim();
|
||||
const textFingerprint = String(input.textFingerprint || locator?.textFingerprint || params.textFingerprint || '').trim();
|
||||
if (!locator && !Number.isFinite(page) && !bbox && !sourceMapPath && !blockId && !evidenceText && !lineRange && !charRange && !paragraphOrdinal && !paraIdStart && !textFingerprint) return null;
|
||||
return {
|
||||
schema: 'mnote.evidence_locator.v1',
|
||||
...(locator || {}),
|
||||
@@ -1000,6 +1004,10 @@ export const createResourceTabRuntime = (dependencies = {}) => {
|
||||
searchQuery,
|
||||
lineRange,
|
||||
charRange,
|
||||
paragraphOrdinal,
|
||||
paraIdStart,
|
||||
paraIdEnd,
|
||||
textFingerprint,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1017,6 +1025,10 @@ export const createResourceTabRuntime = (dependencies = {}) => {
|
||||
if (bbox) url.searchParams.set('bbox', bbox);
|
||||
if (locator.sourceMapPath) url.searchParams.set('sourceMapPath', String(locator.sourceMapPath));
|
||||
if (locator.blockId) url.searchParams.set('blockId', String(locator.blockId));
|
||||
if (locator.paragraphOrdinal) url.searchParams.set('paragraphOrdinal', String(locator.paragraphOrdinal));
|
||||
if (locator.paraIdStart) url.searchParams.set('paraIdStart', String(locator.paraIdStart));
|
||||
if (locator.paraIdEnd) url.searchParams.set('paraIdEnd', String(locator.paraIdEnd));
|
||||
if (locator.textFingerprint) url.searchParams.set('textFingerprint', String(locator.textFingerprint));
|
||||
if (locator.evidenceText) url.searchParams.set('evidenceText', String(locator.evidenceText));
|
||||
if (locator.searchQuery) url.searchParams.set('searchQuery', String(locator.searchQuery));
|
||||
if (url.pathname === '/office-preview' && frame.contentWindow) {
|
||||
@@ -1038,6 +1050,10 @@ export const createResourceTabRuntime = (dependencies = {}) => {
|
||||
bbox,
|
||||
sourceMapPath: locator.sourceMapPath || '',
|
||||
blockId: locator.blockId || '',
|
||||
paragraphOrdinal: locator.paragraphOrdinal || '',
|
||||
paraIdStart: locator.paraIdStart || '',
|
||||
paraIdEnd: locator.paraIdEnd || '',
|
||||
textFingerprint: locator.textFingerprint || '',
|
||||
evidenceText: locator.evidenceText || '',
|
||||
searchQuery: locator.searchQuery || '',
|
||||
}, window.location.origin);
|
||||
|
||||
Reference in New Issue
Block a user