@oscardvs/zoteus
Advanced tools
| import type { ToolContext } from '../../registry/registry.js'; | ||
| import type { LibraryRef } from '../../api/web-client.js'; | ||
| /** | ||
| * Default cap on indexed full-text characters per item (~13 pages of dense text, so a | ||
| * typical paper is covered end to end). The cost of full-text indexing scales linearly | ||
| * with this: passages per item are roughly maxChars / FULLTEXT_CHUNK_SIZE, and each one | ||
| * is a vector to compute, hold in memory, and write into search-index.json. 0 = no cap. | ||
| */ | ||
| export declare const DEFAULT_FULLTEXT_MAX_CHARS = 40000; | ||
| export interface FulltextSource { | ||
| /** Concatenated, capped full text of one item's attachments (undefined when it has none). */ | ||
| textFor(itemKey: string): Promise<string | undefined>; | ||
| /** Attachments with indexed full text that this source can serve. */ | ||
| attachments: number; | ||
| /** Items those attachments belong to. */ | ||
| items: number; | ||
| /** Set when full text cannot be indexed at all; the build then stays metadata-only. */ | ||
| unavailable?: string; | ||
| } | ||
| /** | ||
| * Build the attachment -> parent-item map the index build needs to attach PDF body text to | ||
| * the item it belongs to. | ||
| * | ||
| * Two cheap library-wide reads instead of per-item probing: `/fulltext?since=0` names every | ||
| * attachment that HAS extracted text (one request), and paging `itemType=attachment` gives | ||
| * each one its `parentItem`. Only the intersection is ever fetched, so the number of | ||
| * full-text GETs equals the number of attachments that actually have text, the minimum | ||
| * possible. Resolving it per item instead would cost an extra children request for all | ||
| * 5000 items, most of them for nothing. | ||
| * | ||
| * Never throws: a library whose full-text endpoints are unreachable (a cloud key without | ||
| * file access, an offline desktop app) degrades to a metadata-only build with a reason | ||
| * the caller can surface, rather than failing the whole index. | ||
| */ | ||
| export declare function createFulltextSource(ctx: ToolContext, library: LibraryRef | undefined, opts?: { | ||
| maxChars?: number; | ||
| }): Promise<FulltextSource>; |
| /** | ||
| * Default cap on indexed full-text characters per item (~13 pages of dense text, so a | ||
| * typical paper is covered end to end). The cost of full-text indexing scales linearly | ||
| * with this: passages per item are roughly maxChars / FULLTEXT_CHUNK_SIZE, and each one | ||
| * is a vector to compute, hold in memory, and write into search-index.json. 0 = no cap. | ||
| */ | ||
| export const DEFAULT_FULLTEXT_MAX_CHARS = 40_000; | ||
| /** Both Zotero APIs page items 100-at-a-time. */ | ||
| const ATTACHMENT_PAGE_SIZE = 100; | ||
| /** | ||
| * Ceiling on attachment pages walked while mapping attachments to their parent items, so | ||
| * a library with a pathological number of attachments cannot page forever. The walk also | ||
| * stops as soon as every attachment that HAS full text has been located, which is the | ||
| * usual exit. | ||
| */ | ||
| const MAX_ATTACHMENT_PAGES = 500; | ||
| /** An inert source, for "full text requested but not obtainable". */ | ||
| function emptySource(unavailable) { | ||
| const src = { textFor: async () => undefined, attachments: 0, items: 0 }; | ||
| if (unavailable) | ||
| src.unavailable = unavailable; | ||
| return src; | ||
| } | ||
| /** | ||
| * Build the attachment -> parent-item map the index build needs to attach PDF body text to | ||
| * the item it belongs to. | ||
| * | ||
| * Two cheap library-wide reads instead of per-item probing: `/fulltext?since=0` names every | ||
| * attachment that HAS extracted text (one request), and paging `itemType=attachment` gives | ||
| * each one its `parentItem`. Only the intersection is ever fetched, so the number of | ||
| * full-text GETs equals the number of attachments that actually have text, the minimum | ||
| * possible. Resolving it per item instead would cost an extra children request for all | ||
| * 5000 items, most of them for nothing. | ||
| * | ||
| * Never throws: a library whose full-text endpoints are unreachable (a cloud key without | ||
| * file access, an offline desktop app) degrades to a metadata-only build with a reason | ||
| * the caller can surface, rather than failing the whole index. | ||
| */ | ||
| export async function createFulltextSource(ctx, library, opts = {}) { | ||
| const maxChars = opts.maxChars ?? DEFAULT_FULLTEXT_MAX_CHARS; | ||
| let withText; | ||
| try { | ||
| withText = (await ctx.router.fullTextSince(0, { library })) ?? {}; | ||
| } | ||
| catch (e) { | ||
| const why = e instanceof Error ? e.message : String(e); | ||
| return emptySource(`Zotero's full-text index could not be listed (${why}). The index was built from metadata only. ` + | ||
| 'Full-text indexing needs either the Zotero desktop app running, or a cloud API key with file access.'); | ||
| } | ||
| const total = Object.keys(withText).length; | ||
| if (total === 0) { | ||
| return emptySource('Zotero reports no attachments with extracted full text in this library, so there was nothing to index. ' + | ||
| 'Zotero extracts a PDF the first time it is opened in the app; open some, then rebuild.'); | ||
| } | ||
| const byItem = new Map(); | ||
| let mapped = 0; | ||
| try { | ||
| let start = 0; | ||
| for (let page = 0; page < MAX_ATTACHMENT_PAGES && mapped < total; page++) { | ||
| const res = await ctx.router.searchItems({ | ||
| library, | ||
| itemType: 'attachment', | ||
| limit: ATTACHMENT_PAGE_SIZE, | ||
| start, | ||
| }); | ||
| const items = res.data ?? []; | ||
| if (items.length === 0) | ||
| break; | ||
| for (const it of items) { | ||
| const d = it.data ?? it; | ||
| const key = it.key ?? d.key; | ||
| if (!key || !(key in withText)) | ||
| continue; | ||
| // A top-level attachment (no parent) is itself the indexed item. | ||
| const parent = d.parentItem ?? key; | ||
| const list = byItem.get(parent); | ||
| if (list) | ||
| list.push(key); | ||
| else | ||
| byItem.set(parent, [key]); | ||
| mapped++; | ||
| } | ||
| start += items.length; | ||
| if (res.totalResults && start >= res.totalResults) | ||
| break; | ||
| } | ||
| } | ||
| catch (e) { | ||
| const why = e instanceof Error ? e.message : String(e); | ||
| // Whatever was mapped before the failure is still usable; only say so when nothing was. | ||
| if (mapped === 0) { | ||
| return emptySource(`Attachments could not be listed (${why}). The index was built from metadata only.`); | ||
| } | ||
| ctx.logger.warn(`Full-text mapping stopped early after ${mapped}/${total} attachments: ${why}`); | ||
| } | ||
| let failures = 0; | ||
| const textFor = async (itemKey) => { | ||
| const keys = byItem.get(itemKey); | ||
| if (!keys) | ||
| return undefined; | ||
| const parts = []; | ||
| let used = 0; | ||
| for (const key of keys) { | ||
| if (maxChars > 0 && used >= maxChars) | ||
| break; | ||
| let content = ''; | ||
| try { | ||
| const ft = await ctx.router.getFullText(key, { library }); | ||
| content = typeof ft?.content === 'string' ? ft.content : ''; | ||
| } | ||
| catch (e) { | ||
| // One unreadable attachment must not abort the build: skip it, and say so once. | ||
| if (failures++ === 0) { | ||
| ctx.logger.warn(`Could not read full text for attachment ${key}: ${e instanceof Error ? e.message : String(e)}. ` + | ||
| 'Those items are indexed from metadata only.'); | ||
| } | ||
| continue; | ||
| } | ||
| if (!content) | ||
| continue; | ||
| const slice = maxChars > 0 ? content.slice(0, maxChars - used) : content; | ||
| parts.push(slice); | ||
| used += slice.length; | ||
| } | ||
| return parts.length ? parts.join('\n\n') : undefined; | ||
| }; | ||
| return { textFor, attachments: mapped, items: byItem.size }; | ||
| } | ||
| //# sourceMappingURL=fulltext-source.js.map |
| {"version":3,"file":"fulltext-source.js","sourceRoot":"","sources":["../../../src/features/search/fulltext-source.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAajC,qEAAqE;AACrE,SAAS,WAAW,CAAC,WAAoB;IACvC,MAAM,GAAG,GAAmB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACzF,IAAI,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAgB,EAChB,OAA+B,EAC/B,OAA8B,EAAE;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,0BAA0B,CAAC;IAE7D,IAAI,QAAgC,CAAC;IACrC,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,WAAW,CAChB,iDAAiD,GAAG,6CAA6C;YAC/F,sGAAsG,CACzG,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,WAAW,CAChB,yGAAyG;YACvG,wFAAwF,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,oBAAoB,IAAI,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACzE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;gBACvC,OAAO;gBACP,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,oBAAoB;gBAC3B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAC9B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;oBAAE,SAAS;gBACzC,iEAAiE;gBACjE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;gBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,IAAI;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,CAAC;YACX,CAAC;YACD,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,GAAG,CAAC,YAAY,IAAI,KAAK,IAAI,GAAG,CAAC,YAAY;gBAAE,MAAM;QAC3D,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,wFAAwF;QACxF,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,WAAW,CAAC,oCAAoC,GAAG,4CAA4C,CAAC,CAAC;QAC1G,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,MAAM,IAAI,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,OAAO,GAAG,KAAK,EAAE,OAAe,EAA+B,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,IAAI,QAAQ;gBAAE,MAAM;YAC5C,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1D,OAAO,GAAG,OAAO,EAAE,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gFAAgF;gBAChF,IAAI,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrB,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,2CAA2C,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;wBAC/F,6CAA6C,CAChD,CAAC;gBACJ,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC"} |
@@ -8,2 +8,10 @@ import { RateLimitedFetcher } from './http.js'; | ||
| /** | ||
| * A non-OK response from the desktop local API, carrying the HTTP status so callers can | ||
| * tell "this item has no full text" (404) apart from "the app is unreachable". | ||
| */ | ||
| export declare class LocalApiError extends Error { | ||
| readonly status: number; | ||
| constructor(status: number, message: string); | ||
| } | ||
| /** | ||
| * Read-only client for the Zotero desktop local API (Zotero 7+). | ||
@@ -35,2 +43,11 @@ * Base: http://127.0.0.1:<port>/api ; the personal library is always users/0. | ||
| getItemChildren(key: string, query?: ItemQuery): Promise<ListResult>; | ||
| /** | ||
| * Indexed full text for an attachment, or null when the app has none for it. | ||
| * | ||
| * The desktop app serves the same `/fulltext` endpoints as the cloud, which is what lets | ||
| * full-text reads (and full-text indexing for semantic search) work with no cloud API key. | ||
| */ | ||
| getFullText(key: string): Promise<any | null>; | ||
| /** Map of attachment key -> library version for full text changed after `since`. */ | ||
| fullTextSince(since: number): Promise<Record<string, number>>; | ||
| listCollections(query?: { | ||
@@ -37,0 +54,0 @@ top?: boolean; |
| import { RateLimitedFetcher } from './http.js'; | ||
| /** | ||
| * A non-OK response from the desktop local API, carrying the HTTP status so callers can | ||
| * tell "this item has no full text" (404) apart from "the app is unreachable". | ||
| */ | ||
| export class LocalApiError extends Error { | ||
| status; | ||
| constructor(status, message) { | ||
| super(message); | ||
| this.status = status; | ||
| this.name = 'LocalApiError'; | ||
| } | ||
| } | ||
| /** | ||
| * Read-only client for the Zotero desktop local API (Zotero 7+). | ||
@@ -35,3 +47,3 @@ * Base: http://127.0.0.1:<port>/api ; the personal library is always users/0. | ||
| if (!res.ok) | ||
| throw new Error(`Local API ${res.status} for ${path}`); | ||
| throw new LocalApiError(res.status, `Local API ${res.status} for ${path}`); | ||
| return { json: await res.json(), headers: res.headers }; | ||
@@ -79,2 +91,24 @@ } | ||
| } | ||
| /** | ||
| * Indexed full text for an attachment, or null when the app has none for it. | ||
| * | ||
| * The desktop app serves the same `/fulltext` endpoints as the cloud, which is what lets | ||
| * full-text reads (and full-text indexing for semantic search) work with no cloud API key. | ||
| */ | ||
| async getFullText(key) { | ||
| try { | ||
| const { json } = await this.getJson(`/users/0/items/${key}/fulltext`); | ||
| return json; | ||
| } | ||
| catch (e) { | ||
| if (e instanceof LocalApiError && e.status === 404) | ||
| return null; | ||
| throw e; | ||
| } | ||
| } | ||
| /** Map of attachment key -> library version for full text changed after `since`. */ | ||
| async fullTextSince(since) { | ||
| const { json } = await this.getJson('/users/0/fulltext', this.buildQuery({ since })); | ||
| return json; | ||
| } | ||
| async listCollections(query = {}) { | ||
@@ -81,0 +115,0 @@ const segment = query.top ? '/collections/top' : '/collections'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"local-client.js","sourceRoot":"","sources":["../../src/api/local-client.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"local-client.js","sourceRoot":"","sources":["../../src/api/local-client.ts"],"names":[],"mappings":"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"} |
+4
-0
@@ -13,2 +13,6 @@ export interface ZoteusConfig { | ||
| transformersPath?: string; | ||
| /** Index attachment full text (PDF bodies) alongside metadata. Opt-in: it is costly. */ | ||
| indexFulltext: boolean; | ||
| /** Cap on indexed full-text characters per item (0 = no cap). */ | ||
| indexFulltextMaxChars: number; | ||
| scholarProviders: string[]; | ||
@@ -15,0 +19,0 @@ dataDir: string; |
+5
-0
| import { z } from 'zod'; | ||
| import { defaultDataDir } from './lib/paths.js'; | ||
| import { DEFAULT_FULLTEXT_MAX_CHARS } from './features/search/fulltext-source.js'; | ||
| /** Minimum length for the consent passcode (defense-in-depth alongside /consent throttling). */ | ||
@@ -28,2 +29,4 @@ export const MIN_PASSCODE_LENGTH = 12; | ||
| ZOTEUS_TRANSFORMERS_PATH: z.string().optional(), | ||
| ZOTEUS_INDEX_FULLTEXT: bool(false), | ||
| ZOTEUS_INDEX_FULLTEXT_MAX_CHARS: z.coerce.number().int().nonnegative().default(DEFAULT_FULLTEXT_MAX_CHARS), | ||
| ZOTEUS_SCHOLAR_PROVIDERS: z.string().default('openalex'), | ||
@@ -100,2 +103,4 @@ ZOTEUS_DATA_DIR: z.string().optional(), | ||
| transformersPath: parsed.ZOTEUS_TRANSFORMERS_PATH?.trim() || undefined, | ||
| indexFulltext: parsed.ZOTEUS_INDEX_FULLTEXT, | ||
| indexFulltextMaxChars: parsed.ZOTEUS_INDEX_FULLTEXT_MAX_CHARS, | ||
| scholarProviders: parsed.ZOTEUS_SCHOLAR_PROVIDERS.split(',') | ||
@@ -102,0 +107,0 @@ .map((s) => s.trim()) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"} |
@@ -16,4 +16,17 @@ import type { ToolContext } from '../../registry/registry.js'; | ||
| export declare function embedderNotice(s: IndexBuildStatus): string; | ||
| /** | ||
| * Sentence appended when full-text indexing was asked for but produced nothing. Same | ||
| * reasoning as `embedderNotice`: an index that silently fell back to metadata is | ||
| * indistinguishable from a healthy one, and the user would go on believing PDF bodies | ||
| * are searchable. | ||
| */ | ||
| export declare function fulltextNotice(s: IndexBuildStatus): string; | ||
| /** Human summary of a build/status snapshot. */ | ||
| export declare function statusSummary(s: IndexBuildStatus): string; | ||
| export interface BuildFulltextOptions { | ||
| /** Index attachment full text as extra passages (defaults to ZOTEUS_INDEX_FULLTEXT). */ | ||
| fulltext?: boolean; | ||
| /** Cap on indexed full-text characters per item, 0 = no cap (defaults to config). */ | ||
| fulltextMaxChars?: number; | ||
| } | ||
| /** | ||
@@ -35,2 +48,2 @@ * Kick off the incremental background index build used by zotero_index and by | ||
| */ | ||
| export declare function startIndexBuild(ctx: ToolContext, lib?: LibraryRef, maxItems?: number): IndexBuildStatus; | ||
| export declare function startIndexBuild(ctx: ToolContext, lib?: LibraryRef, maxItems?: number, opts?: BuildFulltextOptions): IndexBuildStatus; |
@@ -0,1 +1,2 @@ | ||
| import { createFulltextSource } from './fulltext-source.js'; | ||
| import { saveIndex } from './persistence.js'; | ||
@@ -9,3 +10,4 @@ /** Hard cap on items per build — keeps very large libraries bounded. */ | ||
| const total = s.itemsTotal > 0 ? String(s.itemsTotal) : '?'; | ||
| return `${s.itemsFetched}/${total} items, ${s.passages} passages, ${s.vectors} vectors (embedder=${s.embedder})`; | ||
| const fulltext = s.fulltextEnabled ? `, full text of ${s.fulltextItems} items (${s.fulltextPassages} passages)` : ''; | ||
| return `${s.itemsFetched}/${total} items, ${s.passages} passages, ${s.vectors} vectors${fulltext} (embedder=${s.embedder})`; | ||
| } | ||
@@ -22,5 +24,16 @@ /** | ||
| } | ||
| /** | ||
| * Sentence appended when full-text indexing was asked for but produced nothing. Same | ||
| * reasoning as `embedderNotice`: an index that silently fell back to metadata is | ||
| * indistinguishable from a healthy one, and the user would go on believing PDF bodies | ||
| * are searchable. | ||
| */ | ||
| export function fulltextNotice(s) { | ||
| if (!s.fulltextEnabled || !s.fulltextReason) | ||
| return ''; | ||
| return ` Full-text indexing produced nothing: ${s.fulltextReason}`; | ||
| } | ||
| /** Human summary of a build/status snapshot. */ | ||
| export function statusSummary(s) { | ||
| const notice = embedderNotice(s); | ||
| const notice = embedderNotice(s) + fulltextNotice(s); | ||
| switch (s.state) { | ||
@@ -31,4 +44,8 @@ case 'building': | ||
| return `Index build failed: ${s.lastError ?? 'unknown error'}. Partial data kept — ${progressLine(s)}.${notice}`; | ||
| case 'done': | ||
| return `Index ready — ${s.documents} passages over ${s.items} items (embedder=${s.embedder}). Run zotero_semantic_search to search by meaning.${notice}`; | ||
| case 'done': { | ||
| const ft = s.fulltextEnabled | ||
| ? `, including attachment full text for ${s.fulltextItems} of them (${s.fulltextPassages} passages)` | ||
| : ''; | ||
| return `Index ready — ${s.documents} passages over ${s.items} items${ft} (embedder=${s.embedder}). Run zotero_semantic_search to search by meaning.${notice}`; | ||
| } | ||
| default: | ||
@@ -54,3 +71,3 @@ return `Index: ${s.documents} passages over ${s.items} items; embedder=${s.embedder}.${notice}`; | ||
| */ | ||
| export function startIndexBuild(ctx, lib, maxItems = MAX_ITEMS) { | ||
| export function startIndexBuild(ctx, lib, maxItems = MAX_ITEMS, opts = {}) { | ||
| const cap = Math.min(maxItems, MAX_ITEMS); | ||
@@ -68,3 +85,27 @@ const fetchPage = async (start) => { | ||
| : undefined; | ||
| const job = ctx.search.buildIncremental(fetchPage, { maxItems: cap, persist }); | ||
| const wantFulltext = opts.fulltext ?? ctx.config.indexFulltext; | ||
| const maxChars = opts.fulltextMaxChars ?? ctx.config.indexFulltextMaxChars; | ||
| // The attachment map is resolved lazily, on the first item, because startIndexBuild is | ||
| // synchronous by contract: it must return a status immediately and let the caller poll. | ||
| let source; | ||
| const fulltextFor = wantFulltext | ||
| ? async (itemKey) => { | ||
| source ??= createFulltextSource(ctx, lib, { maxChars }).then((src) => { | ||
| if (src.unavailable) | ||
| ctx.search.noteFulltextUnavailable(src.unavailable); | ||
| else | ||
| ctx.logger.info(`Full-text indexing: ${src.attachments} attachment(s) over ${src.items} item(s).`); | ||
| return src; | ||
| }); | ||
| return (await source).textFor(itemKey); | ||
| } | ||
| : undefined; | ||
| const job = ctx.search.buildIncremental(fetchPage, { | ||
| maxItems: cap, | ||
| persist, | ||
| fulltextFor, | ||
| // A full-text index is far bigger, and persisting means re-serializing all of it. Save | ||
| // less often so the write does not dominate the build. | ||
| ...(wantFulltext ? { persistEveryItems: 500, persistEveryMs: 60_000 } : {}), | ||
| }); | ||
| job.catch((e) => ctx.logger.error(`Index build crashed: ${e instanceof Error ? e.message : String(e)}`)); | ||
@@ -71,0 +112,0 @@ return ctx.search.buildStatus(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/search/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,uFAAuF;AACvF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,CAAmB;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,KAAK,WAAW,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,OAAO,sBAAsB,CAAC,CAAC,QAAQ,GAAG,CAAC;AACnH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAmB;IAChD,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,kBAAkB,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAClE,OAAO,wCAAwC,CAAC,CAAC,kBAAkB,+BAA+B,CAAC,CAAC,cAAc,IAAI,aAAa,EAAE,CAAC;AACxI,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,CAAmB;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,6BAA6B,YAAY,CAAC,CAAC,CAAC,qDAAqD,MAAM,EAAE,CAAC;QACnH,KAAK,OAAO;YACV,OAAO,uBAAuB,CAAC,CAAC,SAAS,IAAI,eAAe,yBAAyB,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;QACnH,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,QAAQ,sDAAsD,MAAM,EAAE,CAAC;QAC3J;YACE,OAAO,UAAU,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;IACpG,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,GAAgB,EAAE,QAAQ,GAAG,SAAS;IACtF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QACxC,sFAAsF;QACtF,wFAAwF;QACxF,qFAAqF;QACrF,kFAAkF;QAClF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/D,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe;QACjC,CAAC,CAAC,GAAG,EAAE,CACH,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1F;QACL,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC"} | ||
| {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/search/build.ts"],"names":[],"mappings":"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"} |
| import { VectorStore } from './vector-store.js'; | ||
| import type { EmbeddingProvider } from './embeddings.js'; | ||
| import type { Logger } from '../../lib/logger.js'; | ||
| /** | ||
| * Passage size for attachment full text. Deliberately larger than the metadata chunk | ||
| * (512): a body of prose needs more surrounding context per passage to embed usefully, | ||
| * and at 512 a single paper would explode into hundreds of vectors. | ||
| */ | ||
| export declare const FULLTEXT_CHUNK_SIZE = 1200; | ||
| export declare const FULLTEXT_CHUNK_OVERLAP = 150; | ||
| export interface SearchHit { | ||
@@ -9,2 +16,4 @@ itemKey: string; | ||
| score: number; | ||
| /** Present when the snippet came from an attachment's body text, not its metadata. */ | ||
| source?: 'fulltext'; | ||
| } | ||
@@ -27,2 +36,10 @@ export interface SearchIndexStatus { | ||
| embedderReason?: string; | ||
| /** True when this build was asked to index attachment full text (opt-in). */ | ||
| fulltextEnabled: boolean; | ||
| /** Items whose attachment full text is in the index. */ | ||
| fulltextItems: number; | ||
| /** Passages that came from attachment full text (a subset of `documents`). */ | ||
| fulltextPassages: number; | ||
| /** Why full text is not being indexed although it was requested. */ | ||
| fulltextReason?: string; | ||
| builtFromVersion: number; | ||
@@ -71,2 +88,10 @@ } | ||
| onProgress?: (status: IndexBuildStatus) => void; | ||
| /** | ||
| * Optional supplier of an item's attachment full text. When present, that text is | ||
| * chunked into extra passages beside the metadata ones, so a search can match the body | ||
| * of a paper and not only its title and abstract. Opt-in: see ZOTEUS_INDEX_FULLTEXT. | ||
| */ | ||
| fulltextFor?: (itemKey: string, item: any) => Promise<string | undefined>; | ||
| /** Concurrent full-text fetches while indexing one page of items (default 4). */ | ||
| fulltextConcurrency?: number; | ||
| } | ||
@@ -78,2 +103,4 @@ interface ChunkRecord { | ||
| text: string; | ||
| /** Absent for metadata passages, which keeps already-persisted index files loadable. */ | ||
| source?: 'fulltext'; | ||
| } | ||
@@ -101,2 +128,8 @@ export interface BuildOptions { | ||
| private items; | ||
| /** Items with at least one full-text passage, and how many such passages exist. */ | ||
| private fulltextItems; | ||
| private fulltextPassages; | ||
| /** Whether the running/last build was asked for full text, and why it may not deliver. */ | ||
| private fulltextEnabled; | ||
| private fulltextUnavailable; | ||
| private builtFromVersion; | ||
@@ -130,2 +163,8 @@ private buildState; | ||
| get hasVectors(): boolean; | ||
| /** | ||
| * Explain why an opt-in full-text build is not producing passages (nothing extracted in | ||
| * Zotero yet, unreachable full-text endpoints). Mirrors the embedder's reporting: a | ||
| * metadata-only index that was ASKED for full text must say so, not look complete. | ||
| */ | ||
| noteFulltextUnavailable(reason: string): void; | ||
| /** Record the first provider failure so status, not just the log, can report it. */ | ||
@@ -160,2 +199,8 @@ private noteEmbedFailure; | ||
| private addOneItem; | ||
| /** | ||
| * Index an item's attachment body text as extra passages. They carry the parent item's | ||
| * key, so a body hit is reported (and de-duplicated) as that item, exactly like a hit on | ||
| * its abstract. Ids are namespaced `#f<n>` so they can never collide with metadata ones. | ||
| */ | ||
| private addFulltext; | ||
| query(q: string, opts?: { | ||
@@ -162,0 +207,0 @@ limit?: number; |
@@ -5,2 +5,10 @@ import { BM25Index } from './bm25.js'; | ||
| import { tokenize } from './tokenize.js'; | ||
| import { Semaphore } from '../../lib/semaphore.js'; | ||
| /** | ||
| * Passage size for attachment full text. Deliberately larger than the metadata chunk | ||
| * (512): a body of prose needs more surrounding context per passage to embed usefully, | ||
| * and at 512 a single paper would explode into hundreds of vectors. | ||
| */ | ||
| export const FULLTEXT_CHUNK_SIZE = 1200; | ||
| export const FULLTEXT_CHUNK_OVERLAP = 150; | ||
| function itemText(d) { | ||
@@ -68,2 +76,8 @@ const creators = (d.creators ?? []).map((c) => c.lastName ?? c.name).filter(Boolean).join(' '); | ||
| items = new Set(); | ||
| /** Items with at least one full-text passage, and how many such passages exist. */ | ||
| fulltextItems = new Set(); | ||
| fulltextPassages = 0; | ||
| /** Whether the running/last build was asked for full text, and why it may not deliver. */ | ||
| fulltextEnabled = false; | ||
| fulltextUnavailable = undefined; | ||
| builtFromVersion = 0; | ||
@@ -120,2 +134,10 @@ // Asynchronous build lifecycle (see buildIncremental / requestStop / buildStatus). | ||
| } | ||
| /** | ||
| * Explain why an opt-in full-text build is not producing passages (nothing extracted in | ||
| * Zotero yet, unreachable full-text endpoints). Mirrors the embedder's reporting: a | ||
| * metadata-only index that was ASKED for full text must say so, not look complete. | ||
| */ | ||
| noteFulltextUnavailable(reason) { | ||
| this.fulltextUnavailable = reason; | ||
| } | ||
| /** Record the first provider failure so status, not just the log, can report it. */ | ||
@@ -170,2 +192,5 @@ noteEmbedFailure(e) { | ||
| embedderActive: this.embedderActive, | ||
| fulltextEnabled: this.fulltextEnabled, | ||
| fulltextItems: this.fulltextItems.size, | ||
| fulltextPassages: this.fulltextPassages, | ||
| builtFromVersion: this.builtFromVersion, | ||
@@ -176,2 +201,4 @@ }; | ||
| s.embedderReason = reason; | ||
| if (this.fulltextEnabled && this.fulltextUnavailable) | ||
| s.fulltextReason = this.fulltextUnavailable; | ||
| return s; | ||
@@ -187,2 +214,4 @@ } | ||
| this.items = new Set(); | ||
| this.fulltextItems = new Set(); | ||
| this.fulltextPassages = 0; | ||
| } | ||
@@ -194,2 +223,6 @@ async build(libraryItems, opts = {}) { | ||
| this.embedderError = undefined; | ||
| // This path indexes metadata (plus any caller-supplied extraText), never attachment | ||
| // full text, so it must not inherit a previous incremental build's verdict. | ||
| this.fulltextEnabled = false; | ||
| this.fulltextUnavailable = undefined; | ||
| const records = []; | ||
@@ -242,2 +275,6 @@ for (const item of libraryItems) { | ||
| this.embedderError = undefined; | ||
| // A rebuild is the retry for full text too: clear the previous run's verdict so a | ||
| // library that has since been extracted in Zotero stops reporting the old reason. | ||
| this.fulltextEnabled = Boolean(opts.fulltextFor); | ||
| this.fulltextUnavailable = undefined; | ||
| this.itemsFetched = 0; | ||
@@ -254,2 +291,3 @@ this.itemsTotal = 0; | ||
| const maxItems = opts.maxItems; | ||
| const fulltextLimit = new Semaphore(Math.max(1, opts.fulltextConcurrency ?? 4)); | ||
| const pending = []; // passages awaiting embedding | ||
@@ -326,8 +364,28 @@ let start = 0; | ||
| } | ||
| for (const item of pageItems) { | ||
| // Only the items that still fit under the cap are worth fetching full text for. | ||
| const room = maxItems === undefined ? pageItems.length : Math.max(0, maxItems - this.itemsFetched); | ||
| const batch = pageItems.slice(0, room); | ||
| // Full text is fetched a page at a time, several attachments in flight, so the | ||
| // per-item round trip does not serialize the whole build behind the network. | ||
| const texts = opts.fulltextFor && !token.cancelled | ||
| ? await Promise.all(batch.map((item) => fulltextLimit.run(async () => { | ||
| if (token.cancelled) | ||
| return undefined; | ||
| const d = item.data ?? item; | ||
| const key = item.key ?? d.key; | ||
| if (!key) | ||
| return undefined; | ||
| try { | ||
| return await opts.fulltextFor(key, item); | ||
| } | ||
| catch (e) { | ||
| this.opts.logger?.debug(`full text for ${key} skipped: ${e instanceof Error ? e.message : String(e)}`); | ||
| return undefined; | ||
| } | ||
| }))) | ||
| : undefined; | ||
| for (let i = 0; i < batch.length; i++) { | ||
| if (token.cancelled) | ||
| break; | ||
| if (maxItems !== undefined && this.itemsFetched >= maxItems) | ||
| break; | ||
| this.addOneItem(item, pending); | ||
| this.addOneItem(batch[i], pending, texts?.[i]); | ||
| this.itemsFetched++; | ||
@@ -370,3 +428,3 @@ itemsSincePersist++; | ||
| /** Chunk a single library item into the keyword index and queue passages for embedding. */ | ||
| addOneItem(item, pending) { | ||
| addOneItem(item, pending, fulltext) { | ||
| const d = item.data ?? item; | ||
@@ -377,4 +435,5 @@ const key = item.key ?? d.key; | ||
| this.items.add(key); | ||
| const title = d.title ?? '(untitled)'; | ||
| for (const ch of chunkText(itemText(d))) { | ||
| const rec = { id: `${key}#${ch.index}`, itemKey: key, title: d.title ?? '(untitled)', text: ch.text }; | ||
| const rec = { id: `${key}#${ch.index}`, itemKey: key, title, text: ch.text }; | ||
| this.chunks.set(rec.id, rec); | ||
@@ -385,3 +444,31 @@ this.bm25.addDoc(rec.id, rec.text); | ||
| } | ||
| if (fulltext) | ||
| this.addFulltext(key, title, fulltext, pending); | ||
| } | ||
| /** | ||
| * Index an item's attachment body text as extra passages. They carry the parent item's | ||
| * key, so a body hit is reported (and de-duplicated) as that item, exactly like a hit on | ||
| * its abstract. Ids are namespaced `#f<n>` so they can never collide with metadata ones. | ||
| */ | ||
| addFulltext(itemKey, title, text, pending) { | ||
| let added = 0; | ||
| for (const ch of chunkText(text, FULLTEXT_CHUNK_SIZE, FULLTEXT_CHUNK_OVERLAP)) { | ||
| const rec = { | ||
| id: `${itemKey}#f${ch.index}`, | ||
| itemKey, | ||
| title, | ||
| text: ch.text, | ||
| source: 'fulltext', | ||
| }; | ||
| this.chunks.set(rec.id, rec); | ||
| this.bm25.addDoc(rec.id, rec.text); | ||
| if (this.hasEmbedder) | ||
| pending.push(rec); | ||
| added++; | ||
| } | ||
| if (added) { | ||
| this.fulltextItems.add(itemKey); | ||
| this.fulltextPassages += added; | ||
| } | ||
| } | ||
| async query(q, opts = {}) { | ||
@@ -411,3 +498,8 @@ const limit = opts.limit ?? 10; | ||
| seen.add(rec.itemKey); | ||
| hits.push({ itemKey: rec.itemKey, title: rec.title, snippet: makeSnippet(rec.text, q), score }); | ||
| const hit = { itemKey: rec.itemKey, title: rec.title, snippet: makeSnippet(rec.text, q), score }; | ||
| // Worth surfacing: a body-text snippet is a passage the caller can go and cite with | ||
| // zotero_get_fulltext, whereas a metadata one is just the abstract. | ||
| if (rec.source === 'fulltext') | ||
| hit.source = 'fulltext'; | ||
| hits.push(hit); | ||
| if (hits.length >= limit) | ||
@@ -427,3 +519,10 @@ break; | ||
| this.bm25.addDoc(rec.id, rec.text); | ||
| if (rec.source === 'fulltext') { | ||
| this.fulltextItems.add(rec.itemKey); | ||
| this.fulltextPassages++; | ||
| } | ||
| } | ||
| // A reloaded index reports what it HOLDS: an index carrying full-text passages counts | ||
| // as full-text-enabled even before this process runs a build of its own. | ||
| this.fulltextEnabled = this.fulltextPassages > 0; | ||
| this.vectors = VectorStore.fromJSON(data.vectors ?? []); | ||
@@ -430,0 +529,0 @@ this.builtFromVersion = data.builtFromVersion ?? 0; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../../src/features/search/index-manager.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index-manager.js","sourceRoot":"","sources":["../../../src/features/search/index-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAoH1C,SAAS,QAAQ,CAAC,CAAM;IACtB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;SAC9F,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;AAChF,CAAC;AAED,uDAAuD;AACvD,SAAS,GAAG,CAAC,KAAmC,EAAE,CAAC,GAAG,EAAE;IACtD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACvG,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,GAAG,GAAG,GAAG;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAAE,GAAG,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnC,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,EAAE,GAAG,KAAK;YAAE,GAAG,GAAG,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC;QAAE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;QAAE,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,WAAW;IA0BO;IAzBrB,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;IACvB,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IACxC,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,mFAAmF;IAC3E,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,0FAA0F;IAClF,eAAe,GAAG,KAAK,CAAC;IACxB,mBAAmB,GAAuB,SAAS,CAAC;IACpD,gBAAgB,GAAG,CAAC,CAAC;IAE7B,mFAAmF;IAC3E,UAAU,GAAe,MAAM,CAAC;IAChC,YAAY,GAAG,CAAC,CAAC;IACjB,UAAU,GAAG,CAAC,CAAC;IACf,cAAc,GAAuB,SAAS,CAAC;IAC/C,WAAW,GAAkC,IAAI,CAAC;IAC1D;;;;OAIG;IACK,aAAa,GAAuB,SAAS,CAAC;IAEtD,YAA6B,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEzD,wCAAwC;IACxC,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC;IACnE,CAAC;IAED,4DAA4D;IAC5D,IAAI,cAAc;QAChB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IAC5D,CAAC;IAED,mFAAmF;IACnF,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,UAAU,KAAK,KAAK;YAAE,OAAO,qBAAqB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,OAAO,SAAS,UAAU,eAAe,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC;IAC1F,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,uFAAuF;IACvF,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,MAAc;QACpC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,oFAAoF;IAC5E,gBAAgB,CAAC,CAAU;QACjC,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mDAAmD,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,gDAAgD;IAChD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxC,CAAC;IAED,wFAAwF;IACxF,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAqB;YAC1B,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc;YAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1F,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,KAAK,CAAC,KAAe;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,MAAM,CAAC,GAAsB;YAC3B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACtB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YACtC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,MAAM;YAAE,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;QACtC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,mBAAmB;YAAE,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAClG,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAAmB,EAAE,OAAqB,EAAE;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,wFAAwF;QACxF,0EAA0E;QAC1E,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,oFAAoF;QACpF,4EAA4E;QAC5E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;YAC9B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAgB,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,IAAI,CAAC,CAAC,CAAC;wBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAsB,EAAE,OAAgC,EAAE;QAC/E,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,kFAAkF;QAClF,kFAAkF;QAClF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;QACrD,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhF,MAAM,OAAO,GAAkB,EAAE,CAAC,CAAC,8BAA8B;QACjE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;YAC3C,iBAAiB,GAAG,CAAC,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,CAAC;QACH,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;YAC7C,IAAI,iBAAiB,IAAI,iBAAiB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,IAAI,cAAc;gBAAE,MAAM,UAAU,EAAE,CAAC;QACjH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,aAAa,GAAG,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,eAAe;gBAAE,OAAO;YAC3F,aAAa,GAAG,CAAC,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CACpB,gBAAgB,CAAC,CAAC,YAAY,IAAI,KAAK,WAAW,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,OAAO,sBAAsB,CAAC,CAAC,QAAQ,GAAG,CACvH,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtD,IAAI,KAAK,CAAC,SAAS;oBAAE,OAAO;gBAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACrB,IAAI,IAAI,CAAC,CAAC,CAAC;4BAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,+EAA+E;oBAC/E,wDAAwD;oBACxD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACzB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,+EAA+E;gBAC/E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,IAAI,KAAK,CAAC,SAAS;oBAAE,MAAM;gBAC3B,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ;oBAAE,MAAM;gBACnE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM;gBAClC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1C,IAAI,CAAC,UAAU,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBACvG,CAAC;gBACD,gFAAgF;gBAChF,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnG,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACvC,+EAA+E;gBAC/E,6EAA6E;gBAC7E,MAAM,KAAK,GACT,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS;oBAClC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC3B,IAAI,KAAK,CAAC,SAAS;4BAAE,OAAO,SAAS,CAAC;wBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;wBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;wBAC9B,IAAI,CAAC,GAAG;4BAAE,OAAO,SAAS,CAAC;wBAC3B,IAAI,CAAC;4BACH,OAAO,MAAM,IAAI,CAAC,WAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAC5C,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CACrB,iBAAiB,GAAG,aAAa,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC9E,CAAC;4BACF,OAAO,SAAS,CAAC;wBACnB,CAAC;oBACH,CAAC,CAAC,CACH,CACF;oBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,KAAK,CAAC,SAAS;wBAAE,MAAM;oBAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,iBAAiB,EAAE,CAAC;oBACpB,aAAa,EAAE,CAAC;gBAClB,CAAC;gBACD,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC1B,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC1B,QAAQ,EAAE,CAAC;gBACX,MAAM,YAAY,EAAE,CAAC;gBACrB,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY;oBAAE,MAAM;YACxC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,SAAS;gBAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC1C,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CACpB,eAAe,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI;gBACzD,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,WAAW,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,OAAO,sBAAsB,KAAK,CAAC,QAAQ,GAAG,CAC5H,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACtE,6EAA6E;YAC7E,MAAM,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,UAAU,CAAC,IAAS,EAAE,OAAsB,EAAE,QAAiB;QACrE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAgB,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,QAAQ;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,IAAY,EAAE,OAAsB;QACtF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,EAAE,CAAC;YAC9E,MAAM,GAAG,GAAgB;gBACvB,EAAE,EAAE,GAAG,OAAO,KAAK,EAAE,CAAC,KAAK,EAAE;gBAC7B,OAAO;gBACP,KAAK;gBACL,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,MAAM,EAAE,UAAU;aACnB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,KAAK,EAAE,CAAC;QACV,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,CAAS,EAAE,OAAmE,EAAE;QAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAc,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChF,IAAI,MAAM,GAAgB,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,EAAE;oBAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,GAAG,GAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAC5G,oFAAoF;YACpF,oEAAoE;YACpE,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;gBAAE,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxH,CAAC;IAED,YAAY,CAAC,IAAyE;QACpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,sFAAsF;QACtF,yEAAyE;QACzE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"} |
@@ -34,2 +34,13 @@ import type { ZoteusConfig } from '../config.js'; | ||
| getItemChildren(key: string, opts?: ReadOpts & ItemQuery): Promise<ListResult>; | ||
| /** | ||
| * Indexed full text for an attachment (null when there is none). | ||
| * | ||
| * Routed like every other read, so a running desktop app answers key-free: Zotero 7+ | ||
| * serves the same `/fulltext` endpoints locally as the cloud does. Before this was | ||
| * routed, full-text reads went to api.zotero.org unconditionally and failed outright in | ||
| * local-only mode (no key, and the personal library addressed as users/0). | ||
| */ | ||
| getFullText(key: string, opts?: ReadOpts): Promise<any | null>; | ||
| /** Attachment keys whose full text changed after `version`, mapped to that version. */ | ||
| fullTextSince(version: number, opts?: ReadOpts): Promise<Record<string, number>>; | ||
| listCollections(opts?: ReadOpts & { | ||
@@ -36,0 +47,0 @@ top?: boolean; |
@@ -58,2 +58,23 @@ /** | ||
| } | ||
| /** | ||
| * Indexed full text for an attachment (null when there is none). | ||
| * | ||
| * Routed like every other read, so a running desktop app answers key-free: Zotero 7+ | ||
| * serves the same `/fulltext` endpoints locally as the cloud does. Before this was | ||
| * routed, full-text reads went to api.zotero.org unconditionally and failed outright in | ||
| * local-only mode (no key, and the personal library addressed as users/0). | ||
| */ | ||
| async getFullText(key, opts = {}) { | ||
| const lib = opts.library ?? this.defaultLibrary(); | ||
| if (this.useLocal(lib)) | ||
| return this.local.getFullText(key); | ||
| return this.web.getFullText(lib, key); | ||
| } | ||
| /** Attachment keys whose full text changed after `version`, mapped to that version. */ | ||
| async fullTextSince(version, opts = {}) { | ||
| const lib = opts.library ?? this.defaultLibrary(); | ||
| if (this.useLocal(lib)) | ||
| return this.local.fullTextSince(version); | ||
| return this.web.fullTextSince(lib, version); | ||
| } | ||
| async listCollections(opts = {}) { | ||
@@ -60,0 +81,0 @@ const { library, ...rest } = opts; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"library-router.js","sourceRoot":"","sources":["../../src/router/library-router.ts"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACP,MAAM,CAAe;IACrB,YAAY,CAAe;IAC3B,GAAG,CAAe;IAClB,KAAK,CAAkB;IAExC,YAAY,IAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/F,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACzF,yEAAyE;QACzE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;IAEO,QAAQ,CAAC,OAAmB;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC5F,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,yFAAyF;QACzF,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAA8B,EAAE;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,GAAW,EACX,OAAyD,EAAE;QAE3D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,OAA6B,EAAE;QAChE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,gFAAgF;QAChF,8EAA8E;QAC9E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAM,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAqE,EAAE;QAEvE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"} | ||
| {"version":3,"file":"library-router.js","sourceRoot":"","sources":["../../src/router/library-router.ts"],"names":[],"mappings":"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"} |
@@ -9,3 +9,3 @@ import { z } from 'zod'; | ||
| title: 'Attachment full-text', | ||
| description: "Not a search — to find which items contain a term, use `zotero_search_items` with qmode=everything. This reads, sets, or tracks one attachment's already-extracted full text by key. `action`: \"get\" returns the indexed text content plus indexing stats for an attachment item (only attachment items have full text; returns found:false if none); \"set\" stores extracted text for an attachment (provide `content` and the indexing counts); \"since\" returns the map of attachment keys whose full text changed after a given library `version` (useful for incremental indexing). Only attachment items support full text. \"set\" writes via the cloud Web API.", | ||
| description: "Not a search — to find which items contain a term, use `zotero_search_items` with qmode=everything. This reads, sets, or tracks one attachment's already-extracted full text by key. `action`: \"get\" returns the indexed text content plus indexing stats for an attachment item (only attachment items have full text; returns found:false if none); \"set\" stores extracted text for an attachment (provide `content` and the indexing counts); \"since\" returns the map of attachment keys whose full text changed after a given library `version` (useful for incremental indexing). Only attachment items support full text. \"get\" and \"since\" read through the running Zotero desktop app when there is one (no cloud key needed), otherwise the cloud Web API; \"set\" always writes via the cloud Web API.", | ||
| inputSchema: { | ||
@@ -31,3 +31,3 @@ action: z.enum(['get', 'set', 'since']), | ||
| return err('`item_key` is required for get.'); | ||
| const ft = await ctx.web.getFullText(readLib, args.item_key); | ||
| const ft = await ctx.router.getFullText(args.item_key, { library: readLib }); | ||
| if (!ft) | ||
@@ -39,3 +39,3 @@ return ok({ found: false, item_key: args.item_key }, `No extracted full text for ${args.item_key}.`); | ||
| if (args.action === 'since') { | ||
| const map = await ctx.web.fullTextSince(readLib, args.since ?? 0); | ||
| const map = await ctx.router.fullTextSince(args.since ?? 0, { library: readLib }); | ||
| return ok({ changed: map, count: Object.keys(map).length }, `${Object.keys(map).length} attachment(s) with full-text changes since v${args.since ?? 0}.`); | ||
@@ -42,0 +42,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"fulltext.js","sourceRoot":"","sources":["../../src/tools/fulltext.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"fulltext.js","sourceRoot":"","sources":["../../src/tools/fulltext.ts"],"names":[],"mappings":"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"} |
@@ -39,3 +39,3 @@ import { z } from 'zod'; | ||
| title: 'Get attachment full text / passages (read-only)', | ||
| description: "Retrieve an item's PDF text for grounding. Pass a parent `item_key` (its best PDF attachment is resolved automatically) or an attachment key. With `query`, returns the top relevant passages with locators (char offsets, nearest section, and a page); with `page_range` (e.g. \"3-7\"), returns that span; with neither, returns a truncated head. Text comes from Zotero's full-text index when available; when the attachment is NOT indexed yet, the PDF itself is downloaded and parsed on the fly (`fallback`, on by default — set `fallback:false` to disable), so unindexed PDFs still return text (marked fulltextSource:\"pdf\"). Page numbers are exact in that case, and otherwise an estimate (pageApprox) unless `precise_pages:true`, which re-extracts the PDF for exact pages when possible (otherwise it degrades to approximate with a notice). Read-only; cloud full text. Use this to cite a claim with a page after finding an item via zotero_search_items / zotero_semantic_search.", | ||
| description: "Retrieve an item's PDF text for grounding. Pass a parent `item_key` (its best PDF attachment is resolved automatically) or an attachment key. With `query`, returns the top relevant passages with locators (char offsets, nearest section, and a page); with `page_range` (e.g. \"3-7\"), returns that span; with neither, returns a truncated head. Text comes from Zotero's full-text index when available; when the attachment is NOT indexed yet, the PDF itself is downloaded and parsed on the fly (`fallback`, on by default — set `fallback:false` to disable), so unindexed PDFs still return text (marked fulltextSource:\"pdf\"). Page numbers are exact in that case, and otherwise an estimate (pageApprox) unless `precise_pages:true`, which re-extracts the PDF for exact pages when possible (otherwise it degrades to approximate with a notice). Read-only; the indexed text is served by the running Zotero desktop app when there is one, otherwise by the cloud Web API. Use this to cite a claim with a page after finding an item via zotero_search_items / zotero_semantic_search.", | ||
| inputSchema: { | ||
@@ -71,3 +71,5 @@ item_key: z.string().describe('Parent item key or attachment key.'), | ||
| const maxMb = Math.round(DEFAULT_PRECISE_MAX_BYTES / (1024 * 1024)); | ||
| const ft = await ctx.web.getFullText(lib, resolved.attachmentKey); | ||
| // Routed, not cloud-only: Zotero 7+ serves /fulltext locally, so a running desktop app | ||
| // answers this without a cloud key (and for items that never synced). | ||
| const ft = await ctx.router.getFullText(resolved.attachmentKey, { library }); | ||
| const indexed = Boolean(ft && typeof ft.content === 'string' && ft.content.length); | ||
@@ -74,0 +76,0 @@ // Where the text comes from: Zotero's index when available, otherwise (fallback, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"get-fulltext.js","sourceRoot":"","sources":["../../src/tools/get-fulltext.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"get-fulltext.js","sourceRoot":"","sources":["../../src/tools/get-fulltext.ts"],"names":[],"mappings":"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"} |
| import { z } from 'zod'; | ||
| import { ok } from '../registry/registry.js'; | ||
| import { MAX_ITEMS, progressLine, startIndexBuild, statusSummary } from '../features/search/build.js'; | ||
| import { DEFAULT_FULLTEXT_MAX_CHARS } from '../features/search/fulltext-source.js'; | ||
| const indexTool = { | ||
| name: 'zotero_index', | ||
| title: 'Build the semantic search index', | ||
| description: "Manage the local hybrid-search index used by zotero_semantic_search. The build runs as a background job on the server, so this tool returns immediately — never blocks on large libraries. `action: \"build\"` (or \"refresh\") starts a background build: it pages the library's top-level items (100-at-a-time, capped at 5000 items unless a smaller `limit` is given), indexes their text (title, abstract, creators, tags) for BM25 keyword search and — if an embedding provider is configured — vector search, persisting partial progress atomically as it goes. Start a build, then POLL `action: \"status\"` every few seconds until `state` is \"done\" (or \"error\"); calling build again while one is running just returns current progress. `action: \"status\"` reports the build state (idle|building|done|error), fetch/embed progress, index size and the active embedder. `action: \"stop\"` cancels a running build (partial data is kept and stays searchable). A partially built index is always usable for keyword search. Local embeddings are CPU-bound (see ZOTEUS_EMBEDDINGS), so large builds take a while — poll status rather than retrying build.", | ||
| description: "Manage the local hybrid-search index used by zotero_semantic_search. The build runs as a background job on the server, so this tool returns immediately — never blocks on large libraries. `action: \"build\"` (or \"refresh\") starts a background build: it pages the library's top-level items (100-at-a-time, capped at 5000 items unless a smaller `limit` is given), indexes their text (title, abstract, creators, tags) for BM25 keyword search and — if an embedding provider is configured — vector search, persisting partial progress atomically as it goes. Set `fulltext:true` to ALSO index the body text Zotero extracted from each item's attachments, which is what makes semantic search match a claim buried in a PDF rather than only its title and abstract; it is off by default because it multiplies build time and index size (default cap: 40000 characters per item, tunable with `fulltext_max_chars`), and only attachments Zotero has already extracted are available. Start a build, then POLL `action: \"status\"` every few seconds until `state` is \"done\" (or \"error\"); calling build again while one is running just returns current progress. `action: \"status\"` reports the build state (idle|building|done|error), fetch/embed progress, index size, the active embedder, and (when full text was requested) `fulltextItems`/`fulltextPassages` plus `fulltextReason` if it produced nothing. `action: \"stop\"` cancels a running build (partial data is kept and stays searchable). A partially built index is always usable for keyword search. Local embeddings are CPU-bound (see ZOTEUS_EMBEDDINGS), so large builds take a while — poll status rather than retrying build.", | ||
| inputSchema: { | ||
@@ -19,2 +20,14 @@ action: z.enum(['build', 'refresh', 'status', 'stop']), | ||
| .describe(`Max items to index (default ${MAX_ITEMS}, which is also the hard cap).`), | ||
| fulltext: z | ||
| .boolean() | ||
| .optional() | ||
| .describe('Also index the full text Zotero extracted from each item\'s attachments, so searches match the body of a PDF. ' + | ||
| 'Resource-intensive (slower build, much larger index); defaults to ZOTEUS_INDEX_FULLTEXT (off unless set).'), | ||
| fulltext_max_chars: z | ||
| .number() | ||
| .int() | ||
| .min(0) | ||
| .max(1_000_000) | ||
| .optional() | ||
| .describe(`Cap on indexed full-text characters per item; 0 means no cap (default ${DEFAULT_FULLTEXT_MAX_CHARS}). Only used with fulltext.`), | ||
| }, | ||
@@ -43,4 +56,11 @@ annotations: { readOnlyHint: false, openWorldHint: true }, | ||
| const maxItems = Math.min(args.limit ?? MAX_ITEMS, MAX_ITEMS); | ||
| const s = startIndexBuild(ctx, lib, maxItems); | ||
| return ok({ ...s }, `Index build started in the background (up to ${maxItems} items). ` + | ||
| const fulltext = args.fulltext ?? ctx.config.indexFulltext; | ||
| const s = startIndexBuild(ctx, lib, maxItems, { | ||
| fulltext, | ||
| fulltextMaxChars: args.fulltext_max_chars, | ||
| }); | ||
| const ftNote = fulltext | ||
| ? ' Attachment full text is included, so expect a noticeably longer build and a larger index.' | ||
| : ''; | ||
| return ok({ ...s }, `Index build started in the background (up to ${maxItems} items).${ftNote} ` + | ||
| 'Poll zotero_index action:"status" every few seconds until state is "done"; use action:"stop" to cancel.'); | ||
@@ -47,0 +67,0 @@ }, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index-tool.js","sourceRoot":"","sources":["../../src/tools/index-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGtG,MAAM,SAAS,GAAmB;IAChC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,iCAAiC;IACxC,WAAW,EACT,mnCAAmnC;IACrnC,WAAW,EAAE;QACX,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,SAAS,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CAAC,+BAA+B,SAAS,gCAAgC,CAAC;KACtF;IACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;IACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,CACP,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAC/B,kHAAkH,CACnH,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAC/E,CAAC;QAED,qEAAqE;QACrE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,EAAE,CACP,EAAE,GAAG,CAAC,EAAE,EACR,oCAAoC,YAAY,CAAC,CAAC,CAAC,2DAA2D,CAC/G,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAA2B,IAAI,CAAC,UAAU;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACnF,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,EAAE,CACP,EAAE,GAAG,CAAC,EAAE,EACR,gDAAgD,QAAQ,WAAW;YACjE,yGAAyG,CAC5G,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"} | ||
| {"version":3,"file":"index-tool.js","sourceRoot":"","sources":["../../src/tools/index-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAGnF,MAAM,SAAS,GAAmB;IAChC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,iCAAiC;IACxC,WAAW,EACT,ioDAAioD;IACnoD,WAAW,EAAE;QACX,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,SAAS,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CAAC,+BAA+B,SAAS,gCAAgC,CAAC;QACrF,QAAQ,EAAE,CAAC;aACR,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,gHAAgH;YAC9G,2GAA2G,CAC9G;QACH,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,SAAS,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CACP,yEAAyE,0BAA0B,6BAA6B,CACjI;KACJ;IACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;IACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,CACP,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAC/B,kHAAkH,CACnH,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAC/E,CAAC;QAED,qEAAqE;QACrE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,EAAE,CACP,EAAE,GAAG,CAAC,EAAE,EACR,oCAAoC,YAAY,CAAC,CAAC,CAAC,2DAA2D,CAC/G,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAA2B,IAAI,CAAC,UAAU;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACnF,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3D,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC5C,QAAQ;YACR,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;SAC1C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,4FAA4F;YAC9F,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,CACP,EAAE,GAAG,CAAC,EAAE,EACR,gDAAgD,QAAQ,WAAW,MAAM,GAAG;YAC1E,yGAAyG,CAC5G,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"} |
| import { z } from 'zod'; | ||
| import { ok } from '../registry/registry.js'; | ||
| import { embedderNotice, progressLine, startIndexBuild } from '../features/search/build.js'; | ||
| import { embedderNotice, fulltextNotice, progressLine, startIndexBuild } from '../features/search/build.js'; | ||
| const semanticSearch = { | ||
| name: 'zotero_semantic_search', | ||
| title: 'Semantic / hybrid library search', | ||
| description: 'Search the library by meaning, not just keywords. Combines BM25 keyword scoring with vector similarity (when an embedding provider is configured) via reciprocal-rank fusion, and returns the best-matching items with a snippet and score. `mode`: "auto" (hybrid, default), "keyword" (BM25 only), or "semantic" (vector only). "semantic" needs vectors in the index: when the configured embedder is not running (e.g. the on-device model runtime is not installed) it returns an error naming the cause instead of an empty result set, and "auto" keeps working as keyword search while saying so. The index must be built once before first use: when it is empty this tool starts a background build automatically (`auto_build`, on by default) and tells you to poll zotero_index action:"status" and retry — pass `auto_build:false` to opt out. For exact field/tag/itemType filtering use zotero_search_items instead; use this for conceptual/"papers about X" queries. To read the actual passages of a found item (with page locators) use zotero_get_fulltext.', | ||
| description: 'Search the library by meaning, not just keywords. Combines BM25 keyword scoring with vector similarity (when an embedding provider is configured) via reciprocal-rank fusion, and returns the best-matching items with a snippet and score. By default it searches item metadata and abstracts; if the index was built with `fulltext` on (zotero_index fulltext:true, or ZOTEUS_INDEX_FULLTEXT=true) it also searches the body text of attachments, and a hit whose snippet came from a PDF body is marked source:"fulltext". `mode`: "auto" (hybrid, default), "keyword" (BM25 only), or "semantic" (vector only). "semantic" needs vectors in the index: when the configured embedder is not running (e.g. the on-device model runtime is not installed) it returns an error naming the cause instead of an empty result set, and "auto" keeps working as keyword search while saying so. The index must be built once before first use: when it is empty this tool starts a background build automatically (`auto_build`, on by default) and tells you to poll zotero_index action:"status" and retry — pass `auto_build:false` to opt out. For exact field/tag/itemType filtering use zotero_search_items instead; use this for conceptual/"papers about X" queries. To read the actual passages of a found item (with page locators) use zotero_get_fulltext.', | ||
| inputSchema: { | ||
@@ -97,3 +97,5 @@ q: z.string().min(1).describe('Natural-language query.'), | ||
| ? `Top ${hits.length} match(es) for "${args.q}" (${ctx.search.embedderName}).` | ||
| : `No matches for "${args.q}".`) + (args.mode === 'keyword' ? '' : embedderNotice(after)); | ||
| : `No matches for "${args.q}".`) + | ||
| (args.mode === 'keyword' ? '' : embedderNotice(after)) + | ||
| fulltextNotice(after); | ||
| return ok({ | ||
@@ -105,2 +107,4 @@ hits, | ||
| ...(after.embedderReason ? { embedderReason: after.embedderReason } : {}), | ||
| fulltextEnabled: after.fulltextEnabled, | ||
| ...(after.fulltextReason ? { fulltextReason: after.fulltextReason } : {}), | ||
| }, summary); | ||
@@ -107,0 +111,0 @@ }, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../src/tools/semantic-search.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../src/tools/semantic-search.ts"],"names":[],"mappings":"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"} |
@@ -78,2 +78,15 @@ import { randomUUID } from 'node:crypto'; | ||
| } | ||
| else if (sessionId) { | ||
| // A session ID this process does not know: it restarted (any redeploy) or the | ||
| // session was reaped. The Streamable HTTP spec makes 404 the signal a client MUST | ||
| // answer by re-initializing, so clients recover on their own. Answering 400 here | ||
| // instead left every later call failing, plain reads included, until the user | ||
| // manually reconnected the connector. | ||
| res.status(404).json({ | ||
| jsonrpc: '2.0', | ||
| error: { code: -32001, message: 'Session not found: reinitialize to start a new session.' }, | ||
| id: null, | ||
| }); | ||
| return; | ||
| } | ||
| else { | ||
@@ -80,0 +93,0 @@ res.status(400).json({ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@oscardvs/zoteus", | ||
| "version": "1.5.0", | ||
| "version": "1.6.0", | ||
| "description": "The everything Zotero MCP server — complete Zotero Web API v3 + desktop local API for Claude and any MCP client.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+3
-2
@@ -7,3 +7,3 @@ <div align="center"> | ||
| The **everything Zotero MCP server**. Give Claude, Cursor, and any [MCP](https://modelcontextprotocol.io) client complete, **safe** access to your [Zotero](https://www.zotero.org) library — search papers, add by DOI, format bibliographies in ~2,800 styles, run semantic search over your library's metadata and abstracts, pull exact passages from your PDFs, and ground every answer in a source you actually own. **Local-first. Private. One command.** | ||
| The **everything Zotero MCP server**. Give Claude, Cursor, and any [MCP](https://modelcontextprotocol.io) client complete, **safe** access to your [Zotero](https://www.zotero.org) library — search papers, add by DOI, format bibliographies in ~2,800 styles, run semantic search over your library (metadata and abstracts, or full PDF text when you turn it on), pull exact passages from your PDFs, and ground every answer in a source you actually own. **Local-first. Private. One command.** | ||
@@ -67,3 +67,3 @@ [](https://www.npmjs.com/package/@oscardvs/zoteus) | ||
| - **Find anything in your own work.** *"Find papers in my library that argue against X"* — hybrid keyword + semantic search over your library's titles, abstracts, creators, and tags, plus full-text keyword search inside your PDFs and notes, with the matching passage returned **with the page number**. | ||
| - **Find anything in your own work.** *"Find papers in my library that argue against X"* — hybrid keyword + semantic search over your library's titles, abstracts, creators, and tags, plus full-text keyword search inside your PDFs and notes, with the matching passage returned **with the page number**. Turn on `ZOTEUS_INDEX_FULLTEXT` (or pass `fulltext:true` to `zotero_index`) and semantic search covers the **body of every PDF** too, so a claim that never made it into an abstract is still findable. | ||
| - **Cite without hallucinating.** Zoteus surfaces *your* Zotero citation data and formats it with [citeproc-js](https://citeproc-js.readthedocs.io) in any [CSL](https://citationstyles.org) style — it never invents a reference. | ||
@@ -98,2 +98,3 @@ - **Add a paper by identifier.** Drop in a DOI or arXiv id and Zoteus fetches the metadata and files it — works out of the box via built-in resolvers, no extra services needed (a Zotero translation-server extends this to ISBN/PMID/URLs; see [`docs/resolver.md`](./docs/resolver.md)). | ||
| | `ZOTEUS_EMBEDDINGS` | `local` | `local\|openai\|gemini\|off` for semantic search | | ||
| | `ZOTEUS_INDEX_FULLTEXT` | `false` | Index PDF body text for semantic search (opt-in; costly) | | ||
| | `ZOTEUS_TRANSFORMERS_PATH` | — | Where to find `@huggingface/transformers` for `local` embeddings when the install can't see it (desktop extension) | | ||
@@ -100,0 +101,0 @@ | `ZOTEUS_ALLOW_DELETE` | `false` | Must be `true` to expose permanent deletion | |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
895730
4.32%267
1.14%11163
4.66%117
0.86%28
3.7%