wiki-graph-sdk 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -0
- package/dist/archives.cjs +98 -17
- package/dist/archives.cjs.map +1 -1
- package/dist/archives.d.ts +10 -2
- package/dist/archives.js +100 -17
- package/dist/archives.js.map +1 -1
- package/dist/conversions.cjs +23 -5
- package/dist/conversions.cjs.map +1 -1
- package/dist/conversions.d.ts +6 -1
- package/dist/conversions.js +24 -5
- package/dist/conversions.js.map +1 -1
- package/dist/default-worker.cjs +84 -21
- package/dist/default-worker.cjs.map +1 -1
- package/dist/default-worker.d.ts +1 -0
- package/dist/default-worker.js +88 -21
- package/dist/default-worker.js.map +1 -1
- package/dist/embedding.cjs +2 -1
- package/dist/embedding.cjs.map +1 -1
- package/dist/embedding.d.ts +4 -4
- package/dist/embedding.js +3 -1
- package/dist/embedding.js.map +1 -1
- package/dist/gc.cjs +52 -10
- package/dist/gc.cjs.map +1 -1
- package/dist/gc.d.ts +3 -0
- package/dist/gc.js +56 -10
- package/dist/gc.js.map +1 -1
- package/dist/host-pQiVAKEY.d.ts +10 -0
- package/dist/index.cjs +422 -57
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +33 -12
- package/dist/index.js +427 -59
- package/dist/index.js.map +1 -1
- package/dist/{jobs-xIm_kshM.d.ts → jobs-CRK-DZ40.d.ts} +5 -0
- package/dist/local-config.cjs +2 -1
- package/dist/local-config.cjs.map +1 -1
- package/dist/local-config.js +3 -1
- package/dist/local-config.js.map +1 -1
- package/dist/maintenance.cjs +2 -1
- package/dist/maintenance.cjs.map +1 -1
- package/dist/maintenance.d.ts +4 -1
- package/dist/maintenance.js +3 -1
- package/dist/maintenance.js.map +1 -1
- package/dist/node-platform.cjs +18 -4
- package/dist/node-platform.cjs.map +1 -1
- package/dist/node-platform.d.ts +12 -3
- package/dist/node-platform.js +18 -4
- package/dist/node-platform.js.map +1 -1
- package/dist/runtime-config.cjs +4 -3
- package/dist/runtime-config.cjs.map +1 -1
- package/dist/runtime-config.d.ts +4 -1
- package/dist/runtime-config.js +5 -3
- package/dist/runtime-config.js.map +1 -1
- package/dist/stage-BnWI3Rqt.d.ts +33 -0
- package/dist/stage.cjs +22 -12
- package/dist/stage.cjs.map +1 -1
- package/dist/stage.d.ts +2 -14
- package/dist/stage.js +23 -12
- package/dist/stage.js.map +1 -1
- package/dist/worker.cjs +83 -43
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.ts +7 -2
- package/dist/worker.js +87 -43
- package/dist/worker.js.map +1 -1
- package/package.json +2 -2
package/dist/archives.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { ChapterEntry, IndexArtifactKind, ReadonlyDocument, WikiGraphProgressCallback, QueryIndexScope, ArchiveFindOptions, ArchiveFindResult, ArchiveCollectionOptions, ArchiveCollectionResult, ArchiveSourceLocatorResult, readSearchIndexCapabilityStatus, rebuildArchiveSearchIndex, ChapterDetails, ChapterStage, setChapterSource, setChapterTitle, ChapterTree, applyChapterTree, ChapterTreeApplyResult, ArchivePage, ArchiveRelatedResult, ArchiveEvidence, ArchivePack, BookMeta } from 'wiki-graph-core';
|
|
2
|
-
import { W as WikiGraphJobRuntime } from './jobs-
|
|
1
|
+
import { ChapterEntry, IndexArtifactKind, ReadonlyDocument, WikiGraphProgressCallback, SearchIndexQueryMode, QueryIndexScope, ArchiveFindOptions, ArchiveFindResult, ArchiveCollectionOptions, ArchiveCollectionResult, ArchiveSourceLocatorResult, readSearchIndexCapabilityStatus, rebuildArchiveSearchIndex, ChapterDetails, ChapterStage, setChapterSource, setChapterTitle, ChapterTree, applyChapterTree, ChapterTreeApplyResult, ArchivePage, ArchiveRelatedResult, ArchiveEvidence, ArchivePack, BookMeta } from 'wiki-graph-core';
|
|
2
|
+
import { W as WikiGraphJobRuntime } from './jobs-CRK-DZ40.js';
|
|
3
3
|
import { W as WikiGraphArchiveTarget } from './target-CZ7elwmj.js';
|
|
4
4
|
export { a as WikiGraphArchiveOwnershipError } from './target-CZ7elwmj.js';
|
|
5
|
+
import './default-worker.js';
|
|
6
|
+
import './runtime-config.js';
|
|
7
|
+
import 'zod';
|
|
5
8
|
|
|
6
9
|
interface WikiGraphArchiveIndexArtifactInspection {
|
|
7
10
|
readonly current: boolean;
|
|
@@ -128,6 +131,7 @@ interface WikiGraphArchiveRelatedOptions extends WikiGraphOperationOptions {
|
|
|
128
131
|
readonly limit?: number;
|
|
129
132
|
readonly order?: "doc-asc" | "doc-desc";
|
|
130
133
|
readonly query?: string;
|
|
134
|
+
readonly queryMode?: SearchIndexQueryMode;
|
|
131
135
|
readonly role?: "any" | "object" | "self" | "subject";
|
|
132
136
|
readonly skipUnindexed?: boolean;
|
|
133
137
|
readonly sourceContext?: number;
|
|
@@ -137,6 +141,7 @@ interface WikiGraphArchiveEvidenceOptions extends WikiGraphOperationOptions {
|
|
|
137
141
|
readonly limit?: number;
|
|
138
142
|
readonly order?: "doc-asc" | "doc-desc";
|
|
139
143
|
readonly query?: string;
|
|
144
|
+
readonly queryMode?: SearchIndexQueryMode;
|
|
140
145
|
readonly skipUnindexed?: boolean;
|
|
141
146
|
readonly sourceContext?: number;
|
|
142
147
|
}
|
|
@@ -170,6 +175,8 @@ declare class WikiGraphArchiveHandle {
|
|
|
170
175
|
readonly rebuilt: boolean;
|
|
171
176
|
}>;
|
|
172
177
|
cleanSearchIndex(options?: WikiGraphOperationOptions): Promise<WikiGraphArchiveIndexStatus>;
|
|
178
|
+
/** Clear cached search sessions without changing the archive index. */
|
|
179
|
+
clearSearchSessions(options?: WikiGraphOperationOptions): Promise<void>;
|
|
173
180
|
listChapters(options?: WikiGraphOperationOptions): Promise<readonly ChapterEntry[]>;
|
|
174
181
|
getChapter(path: string, options?: WikiGraphOperationOptions): Promise<ChapterEntry>;
|
|
175
182
|
addChapter(options: {
|
|
@@ -200,6 +207,7 @@ declare class WikiGraphArchiveHandle {
|
|
|
200
207
|
getMetadata(objectPath: string, options?: WikiGraphOperationOptions): Promise<Readonly<Record<string, unknown>>>;
|
|
201
208
|
readBookMeta(options?: WikiGraphOperationOptions): Promise<BookMeta | undefined>;
|
|
202
209
|
replaceBookMeta(meta: BookMeta, options?: WikiGraphArchiveWriteOptions): Promise<BookMeta>;
|
|
210
|
+
setArchiveTitle(title: string | null, options?: WikiGraphArchiveWriteOptions): Promise<string | null>;
|
|
203
211
|
readCover(options?: WikiGraphOperationOptions): Promise<WikiGraphArchiveCover | undefined>;
|
|
204
212
|
replaceMetadata(objectPath: string, value: Readonly<Record<string, unknown>>, options?: WikiGraphArchiveWriteOptions): Promise<Readonly<Record<string, unknown>>>;
|
|
205
213
|
putMetadata(objectPath: string, key: string, value: unknown, options?: WikiGraphArchiveWriteOptions): Promise<Readonly<Record<string, unknown>>>;
|
package/dist/archives.js
CHANGED
|
@@ -11,6 +11,7 @@ import { Readable as Readable2 } from "stream";
|
|
|
11
11
|
import {
|
|
12
12
|
addChapter,
|
|
13
13
|
applyChapterTree,
|
|
14
|
+
assertArchiveIndexArtifactsReady,
|
|
14
15
|
assertNoActiveBuildJobConflicts,
|
|
15
16
|
assertNoActiveBuildJobs,
|
|
16
17
|
deleteArchiveSearchSessions,
|
|
@@ -141,6 +142,7 @@ import * as yauzl from "yauzl";
|
|
|
141
142
|
import * as yazl from "yazl";
|
|
142
143
|
import { Environment, Loader } from "nunjucks";
|
|
143
144
|
import {
|
|
145
|
+
getWikiGraphPlatform,
|
|
144
146
|
getWikiGraphStorage,
|
|
145
147
|
installWikiGraphPlatform,
|
|
146
148
|
installWikiGraphStorage,
|
|
@@ -832,12 +834,16 @@ function getWikiGraphSDKRuntimeContext() {
|
|
|
832
834
|
return runtimeContext.getStore() ?? {
|
|
833
835
|
cwd: process.cwd(),
|
|
834
836
|
env: process.env,
|
|
835
|
-
envPolicy: "production"
|
|
837
|
+
envPolicy: "production",
|
|
838
|
+
providers: {}
|
|
836
839
|
};
|
|
837
840
|
}
|
|
838
841
|
function getWikiGraphSDKStateDir() {
|
|
839
842
|
return getWikiGraphSDKRuntimeContext().stateDir;
|
|
840
843
|
}
|
|
844
|
+
function getWikiGraphSDKProviders() {
|
|
845
|
+
return getWikiGraphSDKRuntimeContext().providers ?? {};
|
|
846
|
+
}
|
|
841
847
|
|
|
842
848
|
// src/local-config.ts
|
|
843
849
|
import { join as join2 } from "path";
|
|
@@ -1055,8 +1061,8 @@ var inlineLLMConfigSchema = z.object({
|
|
|
1055
1061
|
});
|
|
1056
1062
|
async function loadWikiGraphRuntimeConfig(options) {
|
|
1057
1063
|
const [embedding, localLLM, concurrent, wikimedia, wikispine] = await Promise.all([
|
|
1058
|
-
readLocalConfigSection("embeddings"),
|
|
1059
|
-
readLocalConfigSection("llm"),
|
|
1064
|
+
options?.skipEmbeddingConfig === true ? Promise.resolve({}) : readLocalConfigSection("embeddings"),
|
|
1065
|
+
options?.skipLLMConfig === true ? Promise.resolve({}) : readLocalConfigSection("llm"),
|
|
1060
1066
|
readLocalConfigSection("concurrent"),
|
|
1061
1067
|
readLocalConfigSection("wikimedia"),
|
|
1062
1068
|
readLocalConfigSection("wikispine")
|
|
@@ -1252,6 +1258,14 @@ function formatError2(error) {
|
|
|
1252
1258
|
return error instanceof Error ? error.message : String(error);
|
|
1253
1259
|
}
|
|
1254
1260
|
|
|
1261
|
+
// src/providers.ts
|
|
1262
|
+
function resolveWikiGraphLLMJSON(options) {
|
|
1263
|
+
if (options.llm !== void 0 && options.llmJSON !== void 0) {
|
|
1264
|
+
throw new Error("Pass either llm or llmJSON, not both.");
|
|
1265
|
+
}
|
|
1266
|
+
return options.llm === void 0 ? options.llmJSON : JSON.stringify(options.llm);
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1255
1269
|
// src/runtime-path.ts
|
|
1256
1270
|
import { homedir as homedir3 } from "os";
|
|
1257
1271
|
import { isAbsolute as isAbsolute2, resolve as resolve2 } from "path";
|
|
@@ -1455,12 +1469,18 @@ var WikiGraphConversionManager = class {
|
|
|
1455
1469
|
}
|
|
1456
1470
|
const requiresDigest = options.input.format !== "wikg";
|
|
1457
1471
|
const requiresLLM = requiresDigest && targetStage !== "planned" && targetStage !== "sourced";
|
|
1472
|
+
const llmJSON = resolveWikiGraphLLMJSON(options);
|
|
1473
|
+
const injectedLLM = llmJSON === void 0 ? getWikiGraphSDKProviders().llm : void 0;
|
|
1458
1474
|
const config = await loadWikiGraphRuntimeConfig({
|
|
1459
|
-
...
|
|
1475
|
+
...llmJSON === void 0 ? {} : { llmJSON },
|
|
1476
|
+
...injectedLLM === void 0 ? {} : { skipLLMConfig: true },
|
|
1477
|
+
...getWikiGraphSDKProviders().embedding === void 0 ? {} : { skipEmbeddingConfig: true }
|
|
1460
1478
|
});
|
|
1461
1479
|
const app = new WikiGraph({
|
|
1462
1480
|
...options.verbose === true ? { verbose: true } : {},
|
|
1463
|
-
...requiresLLM ? {
|
|
1481
|
+
...requiresLLM ? {
|
|
1482
|
+
llm: injectedLLM === void 0 ? buildWikiGraphLLMOptions(config) : { streamProvider: injectedLLM }
|
|
1483
|
+
} : {}
|
|
1464
1484
|
});
|
|
1465
1485
|
const documentDirectory = await prepareDigestDirectory(
|
|
1466
1486
|
options.digestDirectory,
|
|
@@ -1750,6 +1770,8 @@ function createOpenAICompatibleName2(baseURL) {
|
|
|
1750
1770
|
|
|
1751
1771
|
// src/query-runtime.ts
|
|
1752
1772
|
async function createConfiguredEmbeddingProvider() {
|
|
1773
|
+
const injected = getWikiGraphSDKProviders().embedding;
|
|
1774
|
+
if (injected !== void 0) return injected;
|
|
1753
1775
|
const config = await readWikiGraphEmbeddingConfig();
|
|
1754
1776
|
if (config.provider === void 0 || config.model === void 0 || config.provider === "openai-compatible" && config.baseURL === void 0 || config.provider === "openai" && config.baseURL !== void 0) {
|
|
1755
1777
|
return void 0;
|
|
@@ -2001,13 +2023,15 @@ var WikiGraphArchiveHandle = class {
|
|
|
2001
2023
|
);
|
|
2002
2024
|
}
|
|
2003
2025
|
async search(query, options = {}) {
|
|
2004
|
-
const embeddingProvider = await this.#
|
|
2005
|
-
|
|
2026
|
+
const embeddingProvider = await this.#resolveQueryEmbeddingProvider(
|
|
2027
|
+
options.queryMode,
|
|
2006
2028
|
options.signal
|
|
2007
2029
|
);
|
|
2008
2030
|
return await this.#writeDocument(
|
|
2009
2031
|
async (document) => {
|
|
2010
|
-
const chapters = await this.#resolveQueryChapters(document, options
|
|
2032
|
+
const chapters = await this.#resolveQueryChapters(document, options, {
|
|
2033
|
+
embeddingProvider
|
|
2034
|
+
});
|
|
2011
2035
|
await ensureArchiveSearchIndex(document, {
|
|
2012
2036
|
...chapters === void 0 ? {} : { chapters },
|
|
2013
2037
|
...embeddingProvider === void 0 ? {} : { embeddingProvider }
|
|
@@ -2115,6 +2139,13 @@ var WikiGraphArchiveHandle = class {
|
|
|
2115
2139
|
);
|
|
2116
2140
|
return status;
|
|
2117
2141
|
}
|
|
2142
|
+
/** Clear cached search sessions without changing the archive index. */
|
|
2143
|
+
async clearSearchSessions(options = {}) {
|
|
2144
|
+
await this.#runtime.run(
|
|
2145
|
+
async () => await deleteArchiveSearchSessions(this.path),
|
|
2146
|
+
options.signal
|
|
2147
|
+
);
|
|
2148
|
+
}
|
|
2118
2149
|
async listChapters(options = {}) {
|
|
2119
2150
|
return await this.#readDocument(
|
|
2120
2151
|
async (document) => await listChapters2(document),
|
|
@@ -2305,6 +2336,9 @@ var WikiGraphArchiveHandle = class {
|
|
|
2305
2336
|
}
|
|
2306
2337
|
async related(objectUri = this.objectUri, options = {}) {
|
|
2307
2338
|
if (options.query === void 0) {
|
|
2339
|
+
if (options.queryMode !== void 0) {
|
|
2340
|
+
throw new Error("`queryMode` requires `query`.");
|
|
2341
|
+
}
|
|
2308
2342
|
return await this.#readDocument(async (document) => {
|
|
2309
2343
|
const chapters = await this.#resolveScope(document, {});
|
|
2310
2344
|
return await listRelatedArchiveObjects(document, objectUri, {
|
|
@@ -2313,19 +2347,22 @@ var WikiGraphArchiveHandle = class {
|
|
|
2313
2347
|
});
|
|
2314
2348
|
}, options);
|
|
2315
2349
|
}
|
|
2316
|
-
const embeddingProvider = await this.#
|
|
2317
|
-
|
|
2350
|
+
const embeddingProvider = await this.#resolveQueryEmbeddingProvider(
|
|
2351
|
+
options.queryMode,
|
|
2318
2352
|
options.signal
|
|
2319
2353
|
);
|
|
2320
2354
|
return await this.#writeDocument(
|
|
2321
2355
|
async (document) => {
|
|
2322
|
-
const chapters = await this.#resolveQueryChapters(document, options
|
|
2356
|
+
const chapters = await this.#resolveQueryChapters(document, options, {
|
|
2357
|
+
embeddingProvider
|
|
2358
|
+
});
|
|
2323
2359
|
await ensureArchiveSearchIndex(document, {
|
|
2324
2360
|
...chapters === void 0 ? {} : { chapters },
|
|
2325
2361
|
...embeddingProvider === void 0 ? {} : { embeddingProvider }
|
|
2326
2362
|
});
|
|
2327
2363
|
return await listRelatedArchiveObjects(document, objectUri, {
|
|
2328
2364
|
...withoutOperation(options),
|
|
2365
|
+
...embeddingProvider === void 0 ? {} : { embeddingProvider },
|
|
2329
2366
|
...chapters === void 0 ? {} : { chapters }
|
|
2330
2367
|
});
|
|
2331
2368
|
},
|
|
@@ -2337,6 +2374,9 @@ var WikiGraphArchiveHandle = class {
|
|
|
2337
2374
|
}
|
|
2338
2375
|
async evidence(objectUri = this.objectUri, options = {}) {
|
|
2339
2376
|
if (options.query === void 0) {
|
|
2377
|
+
if (options.queryMode !== void 0) {
|
|
2378
|
+
throw new Error("`queryMode` requires `query`.");
|
|
2379
|
+
}
|
|
2340
2380
|
return await this.#readDocument(async (document) => {
|
|
2341
2381
|
const chapters = await this.#resolveScope(document, {});
|
|
2342
2382
|
return await listArchiveEvidence(document, objectUri, {
|
|
@@ -2345,19 +2385,22 @@ var WikiGraphArchiveHandle = class {
|
|
|
2345
2385
|
});
|
|
2346
2386
|
}, options);
|
|
2347
2387
|
}
|
|
2348
|
-
const embeddingProvider = await this.#
|
|
2349
|
-
|
|
2388
|
+
const embeddingProvider = await this.#resolveQueryEmbeddingProvider(
|
|
2389
|
+
options.queryMode,
|
|
2350
2390
|
options.signal
|
|
2351
2391
|
);
|
|
2352
2392
|
return await this.#writeDocument(
|
|
2353
2393
|
async (document) => {
|
|
2354
|
-
const chapters = await this.#resolveQueryChapters(document, options
|
|
2394
|
+
const chapters = await this.#resolveQueryChapters(document, options, {
|
|
2395
|
+
embeddingProvider
|
|
2396
|
+
});
|
|
2355
2397
|
await ensureArchiveSearchIndex(document, {
|
|
2356
2398
|
...chapters === void 0 ? {} : { chapters },
|
|
2357
2399
|
...embeddingProvider === void 0 ? {} : { embeddingProvider }
|
|
2358
2400
|
});
|
|
2359
2401
|
return await listArchiveEvidence(document, objectUri, {
|
|
2360
2402
|
...withoutOperation(options),
|
|
2403
|
+
...embeddingProvider === void 0 ? {} : { embeddingProvider },
|
|
2361
2404
|
...chapters === void 0 ? {} : { chapters }
|
|
2362
2405
|
});
|
|
2363
2406
|
},
|
|
@@ -2391,6 +2434,24 @@ var WikiGraphArchiveHandle = class {
|
|
|
2391
2434
|
return meta;
|
|
2392
2435
|
}, options);
|
|
2393
2436
|
}
|
|
2437
|
+
async setArchiveTitle(title, options = {}) {
|
|
2438
|
+
const normalized = title?.trim() ?? null;
|
|
2439
|
+
if (title !== null && normalized === "") {
|
|
2440
|
+
throw new Error("Archive title cannot be empty.");
|
|
2441
|
+
}
|
|
2442
|
+
return await this.#writeDocument(async (document) => {
|
|
2443
|
+
if (normalized === null) {
|
|
2444
|
+
await document.metadata.deleteKey("", "title");
|
|
2445
|
+
} else {
|
|
2446
|
+
await document.metadata.put(
|
|
2447
|
+
{ kind: ObjectMetadataKind.Archive, objectPath: "" },
|
|
2448
|
+
"title",
|
|
2449
|
+
normalized
|
|
2450
|
+
);
|
|
2451
|
+
}
|
|
2452
|
+
return normalized;
|
|
2453
|
+
}, options);
|
|
2454
|
+
}
|
|
2394
2455
|
async readCover(options = {}) {
|
|
2395
2456
|
const app = new WikiGraph2({});
|
|
2396
2457
|
return await this.#runtime.run(
|
|
@@ -2461,11 +2522,20 @@ var WikiGraphArchiveHandle = class {
|
|
|
2461
2522
|
if (options.chapters !== void 0) return options.chapters;
|
|
2462
2523
|
return (await resolveArchiveScope(document, this.objectUri, options.depth))?.chapterIds;
|
|
2463
2524
|
}
|
|
2464
|
-
async #resolveQueryChapters(document, options) {
|
|
2525
|
+
async #resolveQueryChapters(document, options, capabilities) {
|
|
2465
2526
|
const chapters = await this.#resolveScope(document, options);
|
|
2466
|
-
|
|
2527
|
+
const coverageOptions = {
|
|
2528
|
+
...chapters === void 0 ? {} : { chapters },
|
|
2529
|
+
...capabilities.embeddingProvider === void 0 ? {} : { embeddingProvider: capabilities.embeddingProvider },
|
|
2530
|
+
requireEmbeddingProvider: true,
|
|
2531
|
+
...options.queryMode === void 0 ? {} : { queryMode: options.queryMode }
|
|
2532
|
+
};
|
|
2533
|
+
if (options.skipUnindexed !== true) {
|
|
2534
|
+
await assertArchiveIndexArtifactsReady(document, coverageOptions);
|
|
2535
|
+
return chapters;
|
|
2536
|
+
}
|
|
2467
2537
|
const queryable = await listArchiveQueryableChapterIds(document, {
|
|
2468
|
-
...
|
|
2538
|
+
...coverageOptions
|
|
2469
2539
|
});
|
|
2470
2540
|
if (queryable.length === 0) {
|
|
2471
2541
|
throw new Error(
|
|
@@ -2474,6 +2544,19 @@ var WikiGraphArchiveHandle = class {
|
|
|
2474
2544
|
}
|
|
2475
2545
|
return queryable;
|
|
2476
2546
|
}
|
|
2547
|
+
async #resolveQueryEmbeddingProvider(queryMode, signal) {
|
|
2548
|
+
if (queryMode === "fts") return void 0;
|
|
2549
|
+
const provider = await this.#runtime.run(
|
|
2550
|
+
createConfiguredEmbeddingProvider,
|
|
2551
|
+
signal
|
|
2552
|
+
);
|
|
2553
|
+
if (queryMode === "embedding" && provider === void 0) {
|
|
2554
|
+
throw new Error(
|
|
2555
|
+
"Embedding query mode requires embeddings configuration at `wikg://local/config/embeddings`."
|
|
2556
|
+
);
|
|
2557
|
+
}
|
|
2558
|
+
return provider;
|
|
2559
|
+
}
|
|
2477
2560
|
};
|
|
2478
2561
|
async function ensureArchiveSearchIndex(document, options = {}) {
|
|
2479
2562
|
const scope = options.chapters === void 0 ? {} : { chapters: options.chapters };
|