@moonshot-ai/kimi-code 0.43.0 → 2.0.0
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/dist/main.mjs +40378 -28041
- package/dist/search-worker.mjs +151 -8
- package/dist-web/assets/{CodeBlockNode-ClI5Zc7C.js → CodeBlockNode-BMkbTGvt.js} +3 -3
- package/dist-web/assets/Tooltip-CvCt2OpS.js +1 -0
- package/dist-web/assets/abnfDiagram-VRR7QNED-CMsWFmhV.js +1 -0
- package/dist-web/assets/arc-CXuu1fyI.js +1 -0
- package/dist-web/assets/architectureDiagram-ZJ3FMSHR-Bb_06Tis.js +36 -0
- package/dist-web/assets/{blockDiagram-677ZJIJ3-CGAoZfe5.js → blockDiagram-677ZJIJ3-dNCVszO9.js} +2 -2
- package/dist-web/assets/{c4Diagram-LMCZKHZV-DLgWFktO.js → c4Diagram-LMCZKHZV-Dsva6pwc.js} +2 -2
- package/dist-web/assets/channel-Dyw0qvA2.js +1 -0
- package/dist-web/assets/{chunk-2Q5K7J3B-D8ifWrnI.js → chunk-2Q5K7J3B-Df_GFe3n.js} +1 -1
- package/dist-web/assets/{chunk-32BRIVSS-DpG03lEd.js → chunk-32BRIVSS-BPgqH-Ub.js} +1 -1
- package/dist-web/assets/{chunk-5VM5RSS4-D5gZPx0N.js → chunk-5VM5RSS4-CUvXVaNK.js} +1 -1
- package/dist-web/assets/{chunk-EX3LRPZG-BHr3M6yM.js → chunk-EX3LRPZG-BRYxwC6w.js} +1 -1
- package/dist-web/assets/{chunk-JWPE2WC7-BxqMRrNb.js → chunk-JWPE2WC7-D24iyGyr.js} +1 -1
- package/dist-web/assets/{chunk-MOJQB5TN-DGD3Ca9J.js → chunk-MOJQB5TN-VIWv47K9.js} +3 -3
- package/dist-web/assets/{chunk-RYQCIY6F-Csv6QbcC.js → chunk-RYQCIY6F-BoueTeQN.js} +1 -1
- package/dist-web/assets/{chunk-V7JOEXUC-DpflSafv.js → chunk-V7JOEXUC-CzjVKRuS.js} +1 -1
- package/dist-web/assets/{chunk-VR4S4FIN-CHAEh_jD.js → chunk-VR4S4FIN-DN3fhyNm.js} +1 -1
- package/dist-web/assets/{chunk-XXDRQBXY-BW4XjZut.js → chunk-XXDRQBXY-DGdcv7YP.js} +1 -1
- package/dist-web/assets/classDiagram-OUVF2IWQ-CdLohFSG.js +1 -0
- package/dist-web/assets/classDiagram-v2-EOCWNBFH-CdLohFSG.js +1 -0
- package/dist-web/assets/cose-bilkent-JH36ORCC-gxrKFGCX.js +1 -0
- package/dist-web/assets/{cynefin-VYW2F7L2-DYKf_Z-v.js → cynefin-VYW2F7L2-D3UUATjS.js} +1 -1
- package/dist-web/assets/cynefinDiagram-TSTJHNR4-O0SkpuqV.js +62 -0
- package/dist-web/assets/dagre-VKFMJZFB-BBTY0HCS.js +4 -0
- package/dist-web/assets/{diagram-FQU43EPY-C1ljmLlO.js → diagram-FQU43EPY-DsY299GE.js} +3 -3
- package/dist-web/assets/diagram-G47NLZAW-nEZgArkk.js +24 -0
- package/dist-web/assets/diagram-NH7WQ7WH-BSozxDpD.js +24 -0
- package/dist-web/assets/{diagram-OA4YK3LP-JUEB_AtR.js → diagram-OA4YK3LP-wQHl6g_d.js} +4 -4
- package/dist-web/assets/diagram-WEI45ONY-Cr-V3eBB.js +41 -0
- package/dist-web/assets/ebnfDiagram-CCIWWBDH-BZW_-ozL.js +1 -0
- package/dist-web/assets/{erDiagram-Q63AITRT-DOSLOW_g.js → erDiagram-Q63AITRT-ma6YVYn1.js} +2 -2
- package/dist-web/assets/{flowDiagram-23GEKE2U-DUMMY9pi.js → flowDiagram-23GEKE2U-BMN1wm6S.js} +5 -5
- package/dist-web/assets/ganttDiagram-NO4QXBWP-ZiopqOWU.js +292 -0
- package/dist-web/assets/gitGraphDiagram-IHSO6WYX-C1RnDoR4.js +106 -0
- package/dist-web/assets/index-0m3MlJDE.js +151 -0
- package/dist-web/assets/index-B3oDj0jz.js +1428 -0
- package/dist-web/assets/{index-Brp-8WTi.js → index-BaplSJn2.js} +2 -2
- package/dist-web/assets/index-BxYISzcB.css +32 -0
- package/dist-web/assets/index-DusVyqlT.js +1033 -0
- package/dist-web/assets/{index10-DApEPd0n.js → index10-c69OEP3n.js} +1 -1
- package/dist-web/assets/{index11-DW3IQa8f.js → index11-Ckocwove.js} +1 -1
- package/dist-web/assets/{index5-COqqDMp9.js → index5-CvyQMVP4.js} +1 -1
- package/dist-web/assets/{index6-Dsp2NXNw.js → index6-BuCtox9U.js} +1 -1
- package/dist-web/assets/{index7-BRjOZjxG.js → index7-1944MZMc.js} +1 -1
- package/dist-web/assets/{index8-CrWWf7aj.js → index8-NUHwiS2h.js} +1 -1
- package/dist-web/assets/infoDiagram-FWYZ7A6U-Dvk0xdbs.js +2 -0
- package/dist-web/assets/{ishikawaDiagram-FXEZZL3T-B6KrpWbv.js → ishikawaDiagram-FXEZZL3T-DIq5ziHd.js} +4 -4
- package/dist-web/assets/{journeyDiagram-5HDEW3XC-JJbVJr8m.js → journeyDiagram-5HDEW3XC-BpYVPIMv.js} +2 -2
- package/dist-web/assets/{kanban-definition-HUTT4EX6-CeRZEVYd.js → kanban-definition-HUTT4EX6-BB6BytMt.js} +7 -7
- package/dist-web/assets/{linear-DPKx2NhO.js → linear-1b2KM_9_.js} +1 -1
- package/dist-web/assets/{mermaid.core-CgZTgv7Y.js → mermaid.core-DKNppTOJ.js} +12 -12
- package/dist-web/assets/{mindmap-definition-LN4V7U3C-Bd7aLAJp.js → mindmap-definition-LN4V7U3C-C2b0YpzO.js} +3 -3
- package/dist-web/assets/pegDiagram-2B236MQR-D6XtaX9M.js +1 -0
- package/dist-web/assets/pieDiagram-ENE6RG2P-CXk1aHpm.js +39 -0
- package/dist-web/assets/{quadrantDiagram-ABIIQ3AL-Bss2swqr.js → quadrantDiagram-ABIIQ3AL-_FP1pK7z.js} +4 -4
- package/dist-web/assets/railroadDiagram-RFXS5EU6-Dej7t1gg.js +1 -0
- package/dist-web/assets/{requirementDiagram-TGXJPOKE-BXFV4Te6.js → requirementDiagram-TGXJPOKE-BVF_sI9y.js} +3 -3
- package/dist-web/assets/sankeyDiagram-HTMAVEWB-BvrUbLRY.js +40 -0
- package/dist-web/assets/{sequenceDiagram-DBY2YBRQ-DyUTbMwM.js → sequenceDiagram-DBY2YBRQ-6chaE5cg.js} +4 -4
- package/dist-web/assets/sizeCapture-X5ZJPWSS-DvaC1t8J.js +1 -0
- package/dist-web/assets/stateDiagram-2N3HPSRC-D3xhTeeN.js +1 -0
- package/dist-web/assets/stateDiagram-v2-6OUMAXLB-C3BdpWyH.js +1 -0
- package/dist-web/assets/swimlanes-5IMT3BWC-BrUot17m.js +2 -0
- package/dist-web/assets/swimlanesDiagram-G3AALYLV-cfjcvW6J.js +8 -0
- package/dist-web/assets/{timeline-definition-FHXFAJF6-Blm9HJcK.js → timeline-definition-FHXFAJF6-waBA9ygA.js} +4 -4
- package/dist-web/assets/{vennDiagram-L72KCM5P-BhpzFpgZ.js → vennDiagram-L72KCM5P-z8BamcaO.js} +2 -2
- package/dist-web/assets/{vue.runtime.esm-bundler-BeN4Xi6a.js → vue.runtime.esm-bundler-Dcq6t2KV.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-EHGQE667-DGcHOZD9.js → wardleyDiagram-EHGQE667-B1ypaFQi.js} +2 -2
- package/dist-web/assets/{xychartDiagram-FW5EYKEG---3Lbwvl.js → xychartDiagram-FW5EYKEG-CWMxWJzt.js} +2 -2
- package/dist-web/index.html +2 -2
- package/native/darwin/prebuilds/darwin-arm64/{darwin-modifiers.node → darwin-platform.node} +0 -0
- package/native/darwin/prebuilds/darwin-x64/{darwin-modifiers.node → darwin-platform.node} +0 -0
- package/native/linux/prebuilds/linux-arm64/linux-platform-x11.node +0 -0
- package/native/linux/prebuilds/linux-x64/linux-platform-x11.node +0 -0
- package/native/win32/prebuilds/win32-arm64/win32-platform.node +0 -0
- package/native/win32/prebuilds/win32-x64/win32-platform.node +0 -0
- package/package.json +8 -7
- package/dist-web/assets/Tooltip-Dvr1al-t.js +0 -1
- package/dist-web/assets/_commonjsHelpers-CqkleIqs.js +0 -1
- package/dist-web/assets/abnfDiagram-VRR7QNED-CwBLQmjz.js +0 -1
- package/dist-web/assets/arc-CxZ33vix.js +0 -1
- package/dist-web/assets/architectureDiagram-ZJ3FMSHR-CM71RpvG.js +0 -36
- package/dist-web/assets/channel-IY5GdLm-.js +0 -1
- package/dist-web/assets/classDiagram-OUVF2IWQ-CqrT8Lg9.js +0 -1
- package/dist-web/assets/classDiagram-v2-EOCWNBFH-CqrT8Lg9.js +0 -1
- package/dist-web/assets/cose-bilkent-JH36ORCC-BdAGtrTa.js +0 -1
- package/dist-web/assets/cynefinDiagram-TSTJHNR4-BtxdUqIq.js +0 -62
- package/dist-web/assets/dagre-VKFMJZFB-4bDkTcg2.js +0 -4
- package/dist-web/assets/diagram-G47NLZAW-Dr4-bBys.js +0 -24
- package/dist-web/assets/diagram-NH7WQ7WH-Cj9RyKgp.js +0 -24
- package/dist-web/assets/diagram-WEI45ONY-t5xRZNwv.js +0 -41
- package/dist-web/assets/ebnfDiagram-CCIWWBDH-DCeAYlnS.js +0 -1
- package/dist-web/assets/ganttDiagram-NO4QXBWP-NYl4Z3R4.js +0 -292
- package/dist-web/assets/gitGraphDiagram-IHSO6WYX-EeKfrgej.js +0 -106
- package/dist-web/assets/index-7SHxad1A.js +0 -962
- package/dist-web/assets/index-CBLflN6S.js +0 -153
- package/dist-web/assets/index-CI2T7J0T.js +0 -1428
- package/dist-web/assets/index-CRa2d3RK.css +0 -32
- package/dist-web/assets/infoDiagram-FWYZ7A6U-DaH4t3R3.js +0 -2
- package/dist-web/assets/pegDiagram-2B236MQR-CX4fQesk.js +0 -1
- package/dist-web/assets/pieDiagram-ENE6RG2P-DiFeh11k.js +0 -39
- package/dist-web/assets/railroadDiagram-RFXS5EU6-Dpqal8U_.js +0 -1
- package/dist-web/assets/rive-BTwUD7iz.js +0 -1
- package/dist-web/assets/rive-CeXCFBdn.js +0 -20
- package/dist-web/assets/rive_fallback-DXpHVJvQ.js +0 -1
- package/dist-web/assets/sankeyDiagram-HTMAVEWB-BHcMCK_w.js +0 -40
- package/dist-web/assets/sizeCapture-X5ZJPWSS-KpJKp6ok.js +0 -1
- package/dist-web/assets/stateDiagram-2N3HPSRC-B9WRkRTB.js +0 -1
- package/dist-web/assets/stateDiagram-v2-6OUMAXLB-DaA_2kTJ.js +0 -1
- package/dist-web/assets/swimlanes-5IMT3BWC-C0-5MIxj.js +0 -2
- package/dist-web/assets/swimlanesDiagram-G3AALYLV-DMbj4GHb.js +0 -8
- package/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
package/dist/search-worker.mjs
CHANGED
|
@@ -12430,6 +12430,60 @@ function syncBudgetExhausted(budget) {
|
|
|
12430
12430
|
function errorMessage(error) {
|
|
12431
12431
|
return error instanceof Error ? error.message : String(error);
|
|
12432
12432
|
}
|
|
12433
|
+
async function sessionDirectoryIdentity(dir) {
|
|
12434
|
+
try {
|
|
12435
|
+
const info = await stat(dir, { bigint: true });
|
|
12436
|
+
if (!info.isDirectory() || info.ino <= 0n || info.birthtimeNs <= 0n) return void 0;
|
|
12437
|
+
return `${info.dev}:${info.ino}:${info.birthtimeNs}`;
|
|
12438
|
+
} catch (error) {
|
|
12439
|
+
const code = error.code;
|
|
12440
|
+
if (code === "ENOENT" || code === "ENOTDIR") return void 0;
|
|
12441
|
+
throw error;
|
|
12442
|
+
}
|
|
12443
|
+
}
|
|
12444
|
+
const querySourceChecks = {
|
|
12445
|
+
running: false,
|
|
12446
|
+
waiters: /* @__PURE__ */ new Set()
|
|
12447
|
+
};
|
|
12448
|
+
async function queryDirectoryIdentity(dir, deadlineAt, deadline) {
|
|
12449
|
+
while (querySourceChecks.running) {
|
|
12450
|
+
let wake;
|
|
12451
|
+
const available = new Promise((resolve) => {
|
|
12452
|
+
wake = () => {
|
|
12453
|
+
resolve(true);
|
|
12454
|
+
};
|
|
12455
|
+
});
|
|
12456
|
+
querySourceChecks.waiters.add(wake);
|
|
12457
|
+
try {
|
|
12458
|
+
if (await Promise.race([available, deadline]) === null) return null;
|
|
12459
|
+
} finally {
|
|
12460
|
+
querySourceChecks.waiters.delete(wake);
|
|
12461
|
+
}
|
|
12462
|
+
}
|
|
12463
|
+
if (Date.now() >= deadlineAt) return null;
|
|
12464
|
+
querySourceChecks.running = true;
|
|
12465
|
+
const identity = sessionDirectoryIdentity(dir);
|
|
12466
|
+
const release = () => {
|
|
12467
|
+
querySourceChecks.running = false;
|
|
12468
|
+
for (const wake of querySourceChecks.waiters) wake();
|
|
12469
|
+
querySourceChecks.waiters.clear();
|
|
12470
|
+
};
|
|
12471
|
+
identity.then(release, release);
|
|
12472
|
+
return Promise.race([identity, deadline]);
|
|
12473
|
+
}
|
|
12474
|
+
async function sessionDirectoryTitle(dir, log) {
|
|
12475
|
+
for (const scope of ["", "session-meta"]) try {
|
|
12476
|
+
const meta = JSON.parse(await readFile(join(dir, scope, "state.json"), "utf8"));
|
|
12477
|
+
if (typeof meta === "object" && meta !== null && "title" in meta && typeof meta.title === "string") return meta.title;
|
|
12478
|
+
return "";
|
|
12479
|
+
} catch (error) {
|
|
12480
|
+
if (error.code !== "ENOENT") log.warn("search index: cannot read session title", {
|
|
12481
|
+
dir,
|
|
12482
|
+
error: errorMessage(error)
|
|
12483
|
+
});
|
|
12484
|
+
}
|
|
12485
|
+
return "";
|
|
12486
|
+
}
|
|
12433
12487
|
const INITIAL_TURN_STATE = {
|
|
12434
12488
|
next: 0,
|
|
12435
12489
|
hasTurn: false,
|
|
@@ -12780,6 +12834,7 @@ var SearchIndexCore = class {
|
|
|
12780
12834
|
break;
|
|
12781
12835
|
}
|
|
12782
12836
|
const result = await this.syncSession(db, summary, budget);
|
|
12837
|
+
if (result === void 0) continue;
|
|
12783
12838
|
if (result.truncated) truncated = true;
|
|
12784
12839
|
if (result.failed) {
|
|
12785
12840
|
const count = (this.sessionSyncFailures.get(summary.id) ?? 0) + 1;
|
|
@@ -12811,6 +12866,7 @@ var SearchIndexCore = class {
|
|
|
12811
12866
|
}).length;
|
|
12812
12867
|
const stats = {
|
|
12813
12868
|
kind: "stats",
|
|
12869
|
+
degraded: indexed < sessions.length ? `Skipped ${sessions.length - indexed} session(s) during indexing` : void 0,
|
|
12814
12870
|
sessions: indexed,
|
|
12815
12871
|
documents: db.size - metaCount,
|
|
12816
12872
|
lastIndexedAt: Date.now()
|
|
@@ -12861,6 +12917,34 @@ var SearchIndexCore = class {
|
|
|
12861
12917
|
await db.del(SESSION_META_PREFIX + sessionId);
|
|
12862
12918
|
}
|
|
12863
12919
|
async syncSession(db, summary, budget) {
|
|
12920
|
+
let identity;
|
|
12921
|
+
try {
|
|
12922
|
+
identity = await sessionDirectoryIdentity(summary.dir);
|
|
12923
|
+
} catch (error) {
|
|
12924
|
+
this.log.warn("global search: failed to index session", {
|
|
12925
|
+
sessionId: summary.id,
|
|
12926
|
+
error: errorMessage(error)
|
|
12927
|
+
});
|
|
12928
|
+
return;
|
|
12929
|
+
}
|
|
12930
|
+
if (identity === void 0) {
|
|
12931
|
+
await this.deleteSessionDocs(db, summary.id);
|
|
12932
|
+
return;
|
|
12933
|
+
}
|
|
12934
|
+
const title = await sessionDirectoryTitle(summary.dir, this.log);
|
|
12935
|
+
const metaKey = SESSION_META_PREFIX + summary.id;
|
|
12936
|
+
const previous = db.get(metaKey);
|
|
12937
|
+
if (previous?.kind !== "sessionMeta" || previous.identity !== identity || previous.dir !== summary.dir) {
|
|
12938
|
+
await this.deleteSessionDocs(db, summary.id);
|
|
12939
|
+
if (previous !== void 0) this.syncReplaced = true;
|
|
12940
|
+
}
|
|
12941
|
+
const meta = {
|
|
12942
|
+
kind: "sessionMeta",
|
|
12943
|
+
dir: summary.dir,
|
|
12944
|
+
identity,
|
|
12945
|
+
title
|
|
12946
|
+
};
|
|
12947
|
+
if (previous?.kind !== "sessionMeta" || previous.identity !== identity || previous.dir !== summary.dir || previous.title !== title) await db.set(metaKey, meta);
|
|
12864
12948
|
const wireFiles = await collectWireFiles(summary.dir);
|
|
12865
12949
|
const seenPaths = new Set(wireFiles.map((file) => file.path));
|
|
12866
12950
|
for (const row of db.query({ key: { prefix: fileMetaPrefixFor(summary.id) } })) {
|
|
@@ -12874,20 +12958,24 @@ var SearchIndexCore = class {
|
|
|
12874
12958
|
let failed = false;
|
|
12875
12959
|
let error;
|
|
12876
12960
|
for (const file of wireFiles) {
|
|
12877
|
-
const result = await this.syncWireFile(db,
|
|
12961
|
+
const result = await this.syncWireFile(db, {
|
|
12962
|
+
...summary,
|
|
12963
|
+
title,
|
|
12964
|
+
sessionIdentity: identity
|
|
12965
|
+
}, file, budget);
|
|
12878
12966
|
if (result.truncated) truncated = true;
|
|
12879
12967
|
if (result.failed) {
|
|
12880
12968
|
failed = true;
|
|
12881
12969
|
error ??= result.error;
|
|
12882
12970
|
}
|
|
12883
12971
|
}
|
|
12884
|
-
const title = summary.title ?? "";
|
|
12885
12972
|
const titleKey = `${summary.id}/$title`;
|
|
12886
12973
|
const existing = db.get(titleKey);
|
|
12887
12974
|
if (title.length > 0) {
|
|
12888
12975
|
if (existing?.kind !== "title" || existing.text !== title) {
|
|
12889
12976
|
const doc = {
|
|
12890
12977
|
kind: "title",
|
|
12978
|
+
sessionIdentity: identity,
|
|
12891
12979
|
sessionId: summary.id,
|
|
12892
12980
|
workspaceId: summary.workspaceId,
|
|
12893
12981
|
sessionTitle: title,
|
|
@@ -12900,7 +12988,6 @@ var SearchIndexCore = class {
|
|
|
12900
12988
|
if (existing !== void 0) this.syncReplaced = true;
|
|
12901
12989
|
}
|
|
12902
12990
|
} else if (existing !== void 0) await db.del(titleKey);
|
|
12903
|
-
if (db.get(SESSION_META_PREFIX + summary.id) === void 0) await db.set(SESSION_META_PREFIX + summary.id, { kind: "sessionMeta" });
|
|
12904
12991
|
return {
|
|
12905
12992
|
truncated,
|
|
12906
12993
|
failed,
|
|
@@ -13089,6 +13176,7 @@ var SearchIndexCore = class {
|
|
|
13089
13176
|
const stepOrdinal = e.stepUuid !== void 0 ? stepState.byUuid[e.stepUuid] : void 0;
|
|
13090
13177
|
const doc = {
|
|
13091
13178
|
kind: "message",
|
|
13179
|
+
sessionIdentity: summary.sessionIdentity,
|
|
13092
13180
|
sessionId: summary.id,
|
|
13093
13181
|
workspaceId: summary.workspaceId,
|
|
13094
13182
|
sessionTitle: summary.title ?? "",
|
|
@@ -13208,14 +13296,69 @@ var SearchIndexCore = class {
|
|
|
13208
13296
|
const boundary = page.kind === "keyset" ? page.boundary : void 0;
|
|
13209
13297
|
const matched = matchDocs(q, candidates, boundary, budget);
|
|
13210
13298
|
incomplete ??= matched.incomplete;
|
|
13211
|
-
const
|
|
13299
|
+
const index = this.readIndexView(serveDb, freshnessStale);
|
|
13300
|
+
const sources = /* @__PURE__ */ new Map();
|
|
13301
|
+
for (const row of matched.rows) {
|
|
13302
|
+
const id = row.value.sessionId;
|
|
13303
|
+
if (sources.has(id)) continue;
|
|
13304
|
+
if (Date.now() > budget.deadlineAt) {
|
|
13305
|
+
incomplete ??= "deadline";
|
|
13306
|
+
break;
|
|
13307
|
+
}
|
|
13308
|
+
const meta = serveDb.get(SESSION_META_PREFIX + id);
|
|
13309
|
+
sources.set(id, meta?.kind === "sessionMeta" ? meta : void 0);
|
|
13310
|
+
}
|
|
13311
|
+
const identities = /* @__PURE__ */ new Map();
|
|
13312
|
+
const visible = [];
|
|
13313
|
+
let deadlineTimer;
|
|
13314
|
+
const deadline = new Promise((resolve) => {
|
|
13315
|
+
deadlineTimer = setTimeout(() => resolve(null), Math.max(0, budget.deadlineAt - Date.now()));
|
|
13316
|
+
deadlineTimer.unref?.();
|
|
13317
|
+
});
|
|
13318
|
+
try {
|
|
13319
|
+
for (const row of matched.rows) {
|
|
13320
|
+
if (Date.now() > budget.deadlineAt) {
|
|
13321
|
+
incomplete ??= "deadline";
|
|
13322
|
+
break;
|
|
13323
|
+
}
|
|
13324
|
+
const meta = sources.get(row.value.sessionId);
|
|
13325
|
+
if (meta?.dir === void 0 || row.value.sessionIdentity === void 0 || meta.identity !== row.value.sessionIdentity) {
|
|
13326
|
+
freshnessStale = true;
|
|
13327
|
+
continue;
|
|
13328
|
+
}
|
|
13329
|
+
if (!identities.has(meta.dir)) try {
|
|
13330
|
+
const identity = await queryDirectoryIdentity(meta.dir, budget.deadlineAt, deadline);
|
|
13331
|
+
if (identity === null || Date.now() > budget.deadlineAt) {
|
|
13332
|
+
incomplete ??= "deadline";
|
|
13333
|
+
break;
|
|
13334
|
+
}
|
|
13335
|
+
identities.set(meta.dir, identity);
|
|
13336
|
+
} catch (error) {
|
|
13337
|
+
throw new GlobalSearchError("index_unavailable", `cannot verify search source: ${errorMessage(error)}`);
|
|
13338
|
+
}
|
|
13339
|
+
if (identities.get(meta.dir) === row.value.sessionIdentity) visible.push({
|
|
13340
|
+
...row,
|
|
13341
|
+
value: {
|
|
13342
|
+
...row.value,
|
|
13343
|
+
sessionTitle: meta.title ?? ""
|
|
13344
|
+
}
|
|
13345
|
+
});
|
|
13346
|
+
else freshnessStale = true;
|
|
13347
|
+
}
|
|
13348
|
+
} finally {
|
|
13349
|
+
if (deadlineTimer !== void 0) clearTimeout(deadlineTimer);
|
|
13350
|
+
}
|
|
13351
|
+
const { pageRows, hasMore } = paginateRows(q, page, visible);
|
|
13212
13352
|
return {
|
|
13213
13353
|
kind: "page",
|
|
13214
13354
|
rows: pageRows,
|
|
13215
13355
|
hasMore,
|
|
13216
13356
|
incomplete,
|
|
13217
13357
|
generation,
|
|
13218
|
-
index:
|
|
13358
|
+
index: {
|
|
13359
|
+
...index,
|
|
13360
|
+
freshnessStale: freshnessStale || this.db !== serveDb
|
|
13361
|
+
}
|
|
13219
13362
|
};
|
|
13220
13363
|
}
|
|
13221
13364
|
async reindex() {
|
|
@@ -13274,7 +13417,7 @@ var SearchIndexCore = class {
|
|
|
13274
13417
|
generation: this.generation,
|
|
13275
13418
|
readOnly: this.db?.readOnly === true,
|
|
13276
13419
|
lockToken: this.lockToken,
|
|
13277
|
-
degraded: this.lastRefreshError?.message ?? maintenance,
|
|
13420
|
+
degraded: this.lastRefreshError?.message ?? maintenance ?? (stats?.kind === "stats" ? stats.degraded : void 0),
|
|
13278
13421
|
lifecycle: this.lifecycleState()
|
|
13279
13422
|
};
|
|
13280
13423
|
}
|
|
@@ -13287,7 +13430,7 @@ var SearchIndexCore = class {
|
|
|
13287
13430
|
documents: stats?.kind === "stats" ? stats.documents : 0,
|
|
13288
13431
|
readOnly: handle?.readOnly === true,
|
|
13289
13432
|
freshnessStale: true,
|
|
13290
|
-
degraded: this.lastRefreshError?.message,
|
|
13433
|
+
degraded: this.lastRefreshError?.message ?? (stats?.kind === "stats" ? stats.degraded : void 0),
|
|
13291
13434
|
lockToken: this.lockToken
|
|
13292
13435
|
};
|
|
13293
13436
|
}
|
|
@@ -13301,7 +13444,7 @@ var SearchIndexCore = class {
|
|
|
13301
13444
|
documents,
|
|
13302
13445
|
readOnly: db.readOnly,
|
|
13303
13446
|
freshnessStale,
|
|
13304
|
-
degraded: this.lastRefreshError?.message,
|
|
13447
|
+
degraded: this.lastRefreshError?.message ?? (stats?.kind === "stats" ? stats.degraded : void 0),
|
|
13305
13448
|
lockToken: this.lockToken
|
|
13306
13449
|
};
|
|
13307
13450
|
}
|