@absolutejs/rag 0.24.0 → 0.24.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/CHANGELOG.md +12 -0
- package/RESEARCH.md +2 -0
- package/changelog.json +28 -0
- package/dist/research/index.js +20 -7
- package/dist/research/index.js.map +3 -3
- package/dist/src/research/types.d.ts +9 -0
- package/dist/web-index/index.js +20 -7
- package/dist/web-index/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -34,9 +34,18 @@ 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;
|
|
42
|
+
searched?: string[];
|
|
43
|
+
read?: string[];
|
|
44
|
+
links?: Array<{
|
|
45
|
+
url: string;
|
|
46
|
+
label: string;
|
|
47
|
+
discoveredOn: string;
|
|
48
|
+
}>;
|
|
40
49
|
result: ResearchResult;
|
|
41
50
|
};
|
|
42
51
|
export type ResearchResult<T = 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,10 +123601,14 @@ 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),
|
|
123605
|
-
result: structuredClone(snapshot)
|
|
123608
|
+
result: structuredClone(snapshot),
|
|
123609
|
+
searched: [...queries],
|
|
123610
|
+
read: [...urls],
|
|
123611
|
+
links: [...discoveredLinks.values()]
|
|
123606
123612
|
};
|
|
123607
123613
|
try {
|
|
123608
123614
|
await input.onReviewCheckpoint?.(checkpoint);
|
|
@@ -123715,8 +123721,12 @@ Correct the previous schema-invalid response using the validation diagnostics. T
|
|
|
123715
123721
|
document2.url,
|
|
123716
123722
|
document2.text
|
|
123717
123723
|
]));
|
|
123718
|
-
for (const prior of result.searches)
|
|
123719
|
-
queries.add(prior
|
|
123724
|
+
for (const prior of resumed?.searched ?? result.searches.map((search) => search.query))
|
|
123725
|
+
queries.add(prior);
|
|
123726
|
+
for (const prior of resumed?.read ?? [])
|
|
123727
|
+
urls.add(prior);
|
|
123728
|
+
for (const link of resumed?.links ?? [])
|
|
123729
|
+
discoveredLinks.set(link.url, link);
|
|
123720
123730
|
for (const prior of result.sources)
|
|
123721
123731
|
if (prior.contentFetchedAt)
|
|
123722
123732
|
urls.add(prior.url);
|
|
@@ -123967,17 +123977,18 @@ Correct the previous schema-invalid response using the validation diagnostics. T
|
|
|
123967
123977
|
if (!leaves.length) {
|
|
123968
123978
|
result.data = data;
|
|
123969
123979
|
result.status = result.limitations.length ? "partial" : "empty";
|
|
123980
|
+
await persistReview(pass, 0, false, data, true);
|
|
123970
123981
|
return result;
|
|
123971
123982
|
}
|
|
123972
123983
|
const reviewSources = researchPassages(result.sources);
|
|
123973
123984
|
const reviewStart = continuing ? resumed.nextField : 0;
|
|
123974
|
-
for (let offset = reviewStart;offset < leaves.length; offset += Math.min(
|
|
123985
|
+
for (let offset = reviewStart;offset < leaves.length; offset += Math.min(nextBatchSize, limits.fields - (offset - reviewStart))) {
|
|
123975
123986
|
if (offset - reviewStart >= limits.fields) {
|
|
123976
123987
|
result.status = "partial";
|
|
123977
123988
|
result.limitations.push("Review field allowance reached; remaining fields are saved for explicit continuation");
|
|
123978
123989
|
return result;
|
|
123979
123990
|
}
|
|
123980
|
-
const batch = leaves.slice(offset, offset + Math.min(
|
|
123991
|
+
const batch = leaves.slice(offset, offset + Math.min(nextBatchSize, limits.fields - (offset - reviewStart)));
|
|
123981
123992
|
await persistReview(pass, offset, true, data);
|
|
123982
123993
|
let reviewed;
|
|
123983
123994
|
try {
|
|
@@ -123994,6 +124005,8 @@ Correct the previous schema-invalid response using the validation diagnostics. T
|
|
|
123994
124005
|
});
|
|
123995
124006
|
} catch (error) {
|
|
123996
124007
|
const known = error instanceof Error && error.message === "Research budget denied" || !admit && await config.isReviewFailureSettled?.(error) === true;
|
|
124008
|
+
if (known && !(error instanceof Error && error.message === "Research budget denied"))
|
|
124009
|
+
nextBatchSize = Math.max(1, Math.floor(batch.length / 2));
|
|
123997
124010
|
await persistReview(pass, offset, !known, data);
|
|
123998
124011
|
throw error;
|
|
123999
124012
|
}
|
|
@@ -124190,5 +124203,5 @@ export {
|
|
|
124190
124203
|
webIndexPostgresSchemaSql
|
|
124191
124204
|
};
|
|
124192
124205
|
|
|
124193
|
-
//# debugId=
|
|
124206
|
+
//# debugId=A5E570BDB36F03C864756E2164756E21
|
|
124194
124207
|
//# sourceMappingURL=index.js.map
|