mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-22 08:38:08 +02:00
* feat(context): add warehouse dialect dispatch * feat(context): read warehouse scan catalog * feat(context): add entity details verification tool * feat(context): add ingest SQL verification tool * feat(context): add raw warehouse discovery tool * feat(context): expose warehouse verification tools to ingest * docs(context): add ingest identifier verification protocol * test(context): guard ingest identifier verification prompts * chore(context): verify warehouse verification tools * docs: add warehouse verification tools plan and spec * fix(context): expose target warehouses to Notion ingest * fix(context): update ingest prompts for warehouse verification tools * fix(context): scope raw schema discovery to allowed connections * fix(context): verify warehouse column display targets * docs: add notion warehouse verification gap closure plan * fix(context): include raw discovery connection names * fix(context): expose warehouse targets for LookML and MetricFlow * fix(context): pass connection config to ingest query executors * fix(cli): enable read-only SQL probes for local ingest * docs: add warehouse verification final v1 closure plan * fix(context): align warehouse sql probe prompt shape * docs: add warehouse verification prompt shape closure plan * test(context): catch connectionless sql execution prompt examples * fix(context): include connection name in sl capture sql example * docs: add warehouse verification sql example closure plan * fix(context): report structured entity detail misses * docs: add warehouse verification structured target miss closure plan * fix: report untracked squash merge conflicts * feat: require ingest verification ledger * fix: stabilize ingest wiki references
75 lines
2.2 KiB
TypeScript
75 lines
2.2 KiB
TypeScript
import type { KtxFileStorePort } from '../core/file-store.js';
|
|
|
|
export interface UpsertPageParams {
|
|
scope: string;
|
|
scopeId: string | null;
|
|
pageKey: string;
|
|
summary: string;
|
|
usageMode: string;
|
|
sortOrder: number;
|
|
searchText: string;
|
|
embedding: number[] | null;
|
|
contentHash?: string | null;
|
|
sourceRunId?: string | null;
|
|
}
|
|
|
|
export interface KnowledgeIndexPageListing {
|
|
id?: string;
|
|
page_key: string;
|
|
summary: string;
|
|
scope: string;
|
|
scope_id: string | null;
|
|
tags: string[];
|
|
}
|
|
|
|
export interface KnowledgeIndexPort {
|
|
upsertPage(params: UpsertPageParams): Promise<void>;
|
|
applyDiffTransactional(params: {
|
|
runId: string;
|
|
upserts: UpsertPageParams[];
|
|
deletes: Array<{ scope: string; scopeId: string | null; pageKey: string }>;
|
|
}): Promise<void>;
|
|
getExistingSearchTexts(
|
|
scope: string,
|
|
scopeId: string | null,
|
|
): Promise<Map<string, { searchText: string; hasEmbedding: boolean }>>;
|
|
deleteStale(scope: string, scopeId: string | null, keepKeys: string[]): Promise<void>;
|
|
deleteByScope(scope: string, scopeId: string | null): Promise<void>;
|
|
deleteByKey(scope: string, scopeId: string | null, pageKey: string): Promise<void>;
|
|
findPageByKey(
|
|
scope: string,
|
|
scopeId: string | null,
|
|
pageKey: string,
|
|
): Promise<{ id?: string; page_key: string } | null | undefined>;
|
|
listPagesForUser(userId: string): Promise<KnowledgeIndexPageListing[]>;
|
|
getUserPageCount(userId: string): Promise<number>;
|
|
incrementUsageCount(pageIds: string[]): Promise<void>;
|
|
searchRRF(
|
|
userId: string,
|
|
queryEmbedding: number[] | null,
|
|
queryText: string,
|
|
limit: number,
|
|
): Promise<Array<{ pageKey: string; summary: string; rrfScore: number }>>;
|
|
}
|
|
|
|
export interface KnowledgeEventPort {
|
|
createEvent(params: {
|
|
blockId: string | null;
|
|
eventType: string;
|
|
actorId: string;
|
|
chatId?: string | null;
|
|
messageId?: string | null;
|
|
payload: Record<string, unknown>;
|
|
}): Promise<unknown>;
|
|
}
|
|
|
|
export interface KnowledgeGitDiffPort {
|
|
diffNameStatus(
|
|
fromSha: string,
|
|
toSha: string,
|
|
pathPrefix?: string,
|
|
): Promise<Array<{ status: string; path: string }>>;
|
|
getFileAtCommit(path: string, sha: string): Promise<string>;
|
|
}
|
|
|
|
export type WikiFileStorePort = KtxFileStorePort<WikiFileStorePort>;
|