@absolutejs/rag 0.24.2 → 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 CHANGED
@@ -6,6 +6,12 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.24.3 — 2026-11-03
10
+
11
+ ### Fixed
12
+
13
+ - **Resume persisted review drafts by JSON pointer and value across database key reordering, preserving completed verdicts and rejecting changed identities.** (`createResearch`)
14
+
9
15
  ## 0.24.2 — 2026-11-03
10
16
 
11
17
  ### Fixed
package/changelog.json CHANGED
@@ -2,6 +2,19 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/rag",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "kind": "fixed",
9
+ "summary": "Resume persisted review drafts by JSON pointer and value across database key reordering, preserving completed verdicts and rejecting changed identities.",
10
+ "symbols": [
11
+ "createResearch"
12
+ ]
13
+ }
14
+ ],
15
+ "date": "2026-11-03",
16
+ "version": "0.24.3"
17
+ },
5
18
  {
6
19
  "changes": [
7
20
  {
@@ -122688,9 +122688,17 @@ Correct the previous schema-invalid response using the validation diagnostics. T
122688
122688
  if (!continuing)
122689
122689
  result.fields = [];
122690
122690
  await persistReview(pass, continuing ? resumed.nextField : 0, false, data);
122691
- const leaves = researchLeaves(data, Number.MAX_SAFE_INTEGER);
122692
- if (continuing && (resumed.nextField > leaves.length || result.fields.length !== resumed.nextField || result.fields.some((field, index) => field.path !== leaves[index]?.path || field.value !== leaves[index]?.value)))
122693
- throw new Error("Review checkpoint fields do not match draft");
122691
+ let leaves = researchLeaves(data, Number.MAX_SAFE_INTEGER);
122692
+ if (continuing) {
122693
+ const byPath = new Map(leaves.map((field) => [field.path, field]));
122694
+ const completedPaths = new Set(result.fields.map((field) => field.path));
122695
+ 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))
122696
+ throw new Error("Review checkpoint fields do not match draft");
122697
+ leaves = [
122698
+ ...result.fields.map(({ path, value }) => ({ path, value })),
122699
+ ...leaves.filter((field) => !completedPaths.has(field.path))
122700
+ ];
122701
+ }
122694
122702
  if (!leaves.length) {
122695
122703
  result.data = data;
122696
122704
  result.status = result.limitations.length ? "partial" : "empty";
@@ -123539,5 +123547,5 @@ export {
123539
123547
  selectResearchMonitorEvents
123540
123548
  };
123541
123549
 
123542
- //# debugId=8B8DD9C3BFAE701F64756E2164756E21
123550
+ //# debugId=98A9BACE966FD2EB64756E2164756E21
123543
123551
  //# sourceMappingURL=index.js.map