corpus integrity UI: Ingest Health section in SettingsPanel, corpus API types
This commit is contained in:
+43
@@ -11,6 +11,29 @@ async function request<T>(path: string, options?: RequestInit): Promise<T> {
|
||||
return res.json();
|
||||
}
|
||||
|
||||
|
||||
export interface IngestFailure {
|
||||
source: string;
|
||||
filepath: string;
|
||||
error: string;
|
||||
retry_count: number;
|
||||
first_failed_at: string;
|
||||
last_failed_at: string;
|
||||
}
|
||||
|
||||
export interface CorpusStatus {
|
||||
filesystem: number;
|
||||
pgvector: number;
|
||||
graphiti: number;
|
||||
failures: IngestFailure[];
|
||||
failure_count: number;
|
||||
last_reconciliation: {
|
||||
timestamp: string;
|
||||
gaps: number;
|
||||
auto_queued: number;
|
||||
} | null;
|
||||
}
|
||||
|
||||
export const api = {
|
||||
getSettings: () => request<Settings>('/settings'),
|
||||
updateSettings: (s: Partial<Settings>) =>
|
||||
@@ -38,6 +61,26 @@ export const api = {
|
||||
updateMemory: (content: string) =>
|
||||
request<{ saved: boolean }>('/memory', { method: 'POST', body: JSON.stringify({ content }) }),
|
||||
getStatus: () => request<Status>('/status'),
|
||||
getCorpusStatus: async (): Promise<CorpusStatus> => {
|
||||
const r = await fetch('/api/corpus/status');
|
||||
return r.json();
|
||||
},
|
||||
retryIngestFailure: async (source: string): Promise<{queued: boolean}> => {
|
||||
const r = await fetch('/api/corpus/retry', {
|
||||
method: 'POST',
|
||||
headers: {'Content-Type': 'application/json'},
|
||||
body: JSON.stringify({source}),
|
||||
});
|
||||
return r.json();
|
||||
},
|
||||
runReconciliation: async (): Promise<{started: boolean}> => {
|
||||
const r = await fetch('/api/corpus/reconcile', {
|
||||
method: 'POST',
|
||||
headers: {'Content-Type': 'application/json'},
|
||||
body: JSON.stringify({fix: true}),
|
||||
});
|
||||
return r.json();
|
||||
},
|
||||
reindex: () => request<{ started: boolean }>('/reindex', { method: 'POST' }),
|
||||
getDreamerStatus: () => request<DreamerStatus>('/dreamer/status'),
|
||||
runDreamer: (mode: string, task?: string) =>
|
||||
|
||||
Reference in New Issue
Block a user