@absolutejs/rag 0.24.1 → 0.24.3
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/CHANGELOG.md +12 -0
- package/RESEARCH.md +2 -0
- package/changelog.json +27 -0
- package/dist/research/index.js +20 -7
- package/dist/research/index.js.map +3 -3
- package/dist/src/research/types.d.ts +2 -0
- package/dist/web-index/index.js +20 -7
- package/dist/web-index/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -34,6 +34,8 @@ export type ResearchReviewCheckpoint = {
|
|
|
34
34
|
pass: number;
|
|
35
35
|
stage?: "extract" | "review";
|
|
36
36
|
nextField: number;
|
|
37
|
+
/** Reduced after a settled failed batch; never increases the configured maximum. */
|
|
38
|
+
nextBatchSize?: number;
|
|
37
39
|
pending: boolean;
|
|
38
40
|
finished?: boolean;
|
|
39
41
|
draft: unknown;
|
package/dist/web-index/index.js
CHANGED
|
@@ -123563,8 +123563,10 @@ var createResearch = (config) => {
|
|
|
123563
123563
|
reviewBatchSize
|
|
123564
123564
|
});
|
|
123565
123565
|
const resumed = input.resumeReview;
|
|
123566
|
-
if (resumed && (resumed.version !== 1 || resumed.fingerprint !== fingerprint || resumed.pending || !Number.isSafeInteger(resumed.nextField) || resumed.nextField < 0 || !Number.isSafeInteger(resumed.pass) || resumed.pass < 0 || resumed.pass > evidenceRepairs))
|
|
123566
|
+
if (resumed && (resumed.version !== 1 || resumed.fingerprint !== fingerprint || resumed.pending || resumed.nextBatchSize !== undefined && (!Number.isSafeInteger(resumed.nextBatchSize) || resumed.nextBatchSize < 1 || resumed.nextBatchSize > reviewBatchSize) || !Number.isSafeInteger(resumed.nextField) || resumed.nextField < 0 || !Number.isSafeInteger(resumed.pass) || resumed.pass < 0 || resumed.pass > evidenceRepairs))
|
|
123567
123567
|
throw new Error("Review checkpoint requires reconciliation or does not match this task");
|
|
123568
|
+
const legacyFailedReview = resumed && !resumed.pending && resumed.result.operations.at(-1)?.kind === "review" && resumed.result.operations.at(-1)?.status === "unknown";
|
|
123569
|
+
let nextBatchSize = resumed?.nextBatchSize ?? (legacyFailedReview ? Math.max(1, Math.floor(reviewBatchSize / 2)) : reviewBatchSize);
|
|
123568
123570
|
const result = resumed ? structuredClone(resumed.result) : {
|
|
123569
123571
|
id: crypto.randomUUID(),
|
|
123570
123572
|
status: "unavailable",
|
|
@@ -123599,6 +123601,7 @@ var createResearch = (config) => {
|
|
|
123599
123601
|
pass,
|
|
123600
123602
|
stage,
|
|
123601
123603
|
nextField,
|
|
123604
|
+
nextBatchSize,
|
|
123602
123605
|
pending,
|
|
123603
123606
|
finished,
|
|
123604
123607
|
draft: structuredClone(draft),
|
|
@@ -123968,9 +123971,17 @@ Correct the previous schema-invalid response using the validation diagnostics. T
|
|
|
123968
123971
|
if (!continuing)
|
|
123969
123972
|
result.fields = [];
|
|
123970
123973
|
await persistReview(pass, continuing ? resumed.nextField : 0, false, data);
|
|
123971
|
-
|
|
123972
|
-
if (continuing
|
|
123973
|
-
|
|
123974
|
+
let leaves = researchLeaves(data, Number.MAX_SAFE_INTEGER);
|
|
123975
|
+
if (continuing) {
|
|
123976
|
+
const byPath = new Map(leaves.map((field) => [field.path, field]));
|
|
123977
|
+
const completedPaths = new Set(result.fields.map((field) => field.path));
|
|
123978
|
+
if (resumed.nextField > leaves.length || result.fields.length !== resumed.nextField || completedPaths.size !== result.fields.length || result.fields.some((field) => !byPath.has(field.path) || byPath.get(field.path).value !== field.value))
|
|
123979
|
+
throw new Error("Review checkpoint fields do not match draft");
|
|
123980
|
+
leaves = [
|
|
123981
|
+
...result.fields.map(({ path, value }) => ({ path, value })),
|
|
123982
|
+
...leaves.filter((field) => !completedPaths.has(field.path))
|
|
123983
|
+
];
|
|
123984
|
+
}
|
|
123974
123985
|
if (!leaves.length) {
|
|
123975
123986
|
result.data = data;
|
|
123976
123987
|
result.status = result.limitations.length ? "partial" : "empty";
|
|
@@ -123979,13 +123990,13 @@ Correct the previous schema-invalid response using the validation diagnostics. T
|
|
|
123979
123990
|
}
|
|
123980
123991
|
const reviewSources = researchPassages(result.sources);
|
|
123981
123992
|
const reviewStart = continuing ? resumed.nextField : 0;
|
|
123982
|
-
for (let offset = reviewStart;offset < leaves.length; offset += Math.min(
|
|
123993
|
+
for (let offset = reviewStart;offset < leaves.length; offset += Math.min(nextBatchSize, limits.fields - (offset - reviewStart))) {
|
|
123983
123994
|
if (offset - reviewStart >= limits.fields) {
|
|
123984
123995
|
result.status = "partial";
|
|
123985
123996
|
result.limitations.push("Review field allowance reached; remaining fields are saved for explicit continuation");
|
|
123986
123997
|
return result;
|
|
123987
123998
|
}
|
|
123988
|
-
const batch = leaves.slice(offset, offset + Math.min(
|
|
123999
|
+
const batch = leaves.slice(offset, offset + Math.min(nextBatchSize, limits.fields - (offset - reviewStart)));
|
|
123989
124000
|
await persistReview(pass, offset, true, data);
|
|
123990
124001
|
let reviewed;
|
|
123991
124002
|
try {
|
|
@@ -124002,6 +124013,8 @@ Correct the previous schema-invalid response using the validation diagnostics. T
|
|
|
124002
124013
|
});
|
|
124003
124014
|
} catch (error) {
|
|
124004
124015
|
const known = error instanceof Error && error.message === "Research budget denied" || !admit && await config.isReviewFailureSettled?.(error) === true;
|
|
124016
|
+
if (known && !(error instanceof Error && error.message === "Research budget denied"))
|
|
124017
|
+
nextBatchSize = Math.max(1, Math.floor(batch.length / 2));
|
|
124005
124018
|
await persistReview(pass, offset, !known, data);
|
|
124006
124019
|
throw error;
|
|
124007
124020
|
}
|
|
@@ -124198,5 +124211,5 @@ export {
|
|
|
124198
124211
|
webIndexPostgresSchemaSql
|
|
124199
124212
|
};
|
|
124200
124213
|
|
|
124201
|
-
//# debugId=
|
|
124214
|
+
//# debugId=222ABFDFD829B1BC64756E2164756E21
|
|
124202
124215
|
//# sourceMappingURL=index.js.map
|