import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; import * as Result from "effect/Result"; import * as ServiceMap from "effect/Context"; import { type KnowledgeBundleFqn, type KnowledgeRevision, type ResolvedConceptRef } from "./concept-ref.js"; import { type KnowledgeBodyPassage, type KnowledgeProjectedConcept, type KnowledgeSearchableField } from "./knowledge-projection.js"; import { type KnowledgeQuery } from "./knowledge-query.js"; import { type CapturedKnowledgeSource } from "./knowledge-revision.js"; import type { KnowledgeConcept, KnowledgeInspection } from "./okf.js"; export interface KnowledgeIndexBundleInput { readonly bundle: KnowledgeBundleFqn; readonly version: string; readonly inspection: KnowledgeInspection; readonly sources: ReadonlyArray; } export interface KnowledgeIndexedConcept { readonly ref: ResolvedConceptRef; readonly projectionRevision: KnowledgeRevision; readonly projected: KnowledgeProjectedConcept; readonly source: KnowledgeConcept; readonly sourceBytes: Uint8Array; } export interface KnowledgeIndexSnapshot { readonly fingerprint: KnowledgeRevision; readonly concepts: ReadonlyArray; } export interface KnowledgeMatchSpan { readonly clauseIndex: number; readonly field: KnowledgeSearchableField; readonly start: number; readonly end: number; } export interface KnowledgeResultPassage extends KnowledgeBodyPassage { readonly spans: ReadonlyArray; } export interface KnowledgeConceptResult { readonly ref: ResolvedConceptRef; readonly orderingKey: string; readonly matchedFields: ReadonlyArray; readonly passages: ReadonlyArray; readonly kind: KnowledgeProjectedConcept["kind"]; readonly title?: string; readonly description?: string; readonly status?: string; readonly staleAfter?: string; readonly generated?: KnowledgeProjectedConcept["generated"]; readonly verified?: KnowledgeProjectedConcept["verified"]; readonly trust?: KnowledgeProjectedConcept["trust"]; readonly relativePath: string; } export interface KnowledgeQueryPage { readonly items: ReadonlyArray; readonly count: number; readonly hasMore: boolean; readonly cursor?: string; } export type KnowledgeCursorInvalidReason = "invalid" | "expired" | "corpus-changed" | "query-changed"; declare const KnowledgeCursorInvalidError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "KnowledgeCursorInvalidError"; } & Readonly; export declare class KnowledgeCursorInvalidError extends KnowledgeCursorInvalidError_base<{ readonly reason: KnowledgeCursorInvalidReason; }> { } export declare const makeKnowledgeIndexSnapshot: (bundles: ReadonlyArray) => KnowledgeIndexSnapshot; export declare const queryKnowledgeIndexResult: (snapshot: KnowledgeIndexSnapshot, query: KnowledgeQuery, now: number) => Result.Result; export declare const queryKnowledgeIndex: (snapshot: KnowledgeIndexSnapshot, query: KnowledgeQuery, now: number) => KnowledgeQueryPage; export declare const getKnowledgeIndexConcept: (snapshot: KnowledgeIndexSnapshot, bundle: string, conceptId: string) => KnowledgeIndexedConcept | undefined; export interface KnowledgeIndexService { readonly makeSnapshot: (bundles: ReadonlyArray) => Effect.Effect; readonly query: (snapshot: KnowledgeIndexSnapshot, query: KnowledgeQuery) => Effect.Effect; } declare const KnowledgeIndex_base: ServiceMap.ServiceClass; export declare class KnowledgeIndex extends KnowledgeIndex_base { } export declare const KnowledgeIndexLive: Layer.Layer; export {}; //# sourceMappingURL=knowledge-index.d.ts.map