@absolutejs/rag 0.0.8 → 0.0.10
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/ai/client/index.js +85 -48
- package/dist/ai/client/index.js.map +5 -4
- package/dist/ai/client/ui.js +85 -48
- package/dist/ai/client/ui.js.map +5 -4
- package/dist/ai/rag/index.js +95 -58
- package/dist/ai/rag/index.js.map +7 -6
- package/dist/ai/rag/quality.js +85 -48
- package/dist/ai/rag/quality.js.map +5 -4
- package/dist/ai/rag/ui.js +85 -48
- package/dist/ai/rag/ui.js.map +5 -4
- package/dist/angular/ai/index.js +5 -2
- package/dist/angular/ai/index.js.map +5 -4
- package/dist/react/ai/index.js +5 -2
- package/dist/react/ai/index.js.map +5 -4
- package/dist/src/ai/rag/atomicWrite.d.ts +1 -0
- package/dist/svelte/ai/index.js +5 -2
- package/dist/svelte/ai/index.js.map +5 -4
- package/dist/vue/ai/index.js +5 -2
- package/dist/vue/ai/index.js.map +5 -4
- package/package.json +1 -1
package/dist/ai/rag/index.js
CHANGED
|
@@ -1,7 +1,44 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// src/ai/rag/quality.ts
|
|
3
|
-
import { mkdir, readFile
|
|
3
|
+
import { mkdir, readFile } from "fs/promises";
|
|
4
|
+
|
|
5
|
+
// src/ai/rag/atomicWrite.ts
|
|
6
|
+
import { open, rename, unlink } from "fs/promises";
|
|
4
7
|
import { dirname } from "path";
|
|
8
|
+
var writeFileAtomic = async (path, data, encoding = "utf8") => {
|
|
9
|
+
const tmpPath = `${path}.tmp.${process.pid}.${Math.random().toString(36).slice(2, 10)}`;
|
|
10
|
+
const buffer = Buffer.from(data, encoding);
|
|
11
|
+
let renamed = false;
|
|
12
|
+
try {
|
|
13
|
+
const fileHandle = await open(tmpPath, "w");
|
|
14
|
+
try {
|
|
15
|
+
await fileHandle.writeFile(buffer);
|
|
16
|
+
await fileHandle.sync();
|
|
17
|
+
} finally {
|
|
18
|
+
await fileHandle.close();
|
|
19
|
+
}
|
|
20
|
+
await rename(tmpPath, path);
|
|
21
|
+
renamed = true;
|
|
22
|
+
try {
|
|
23
|
+
const dirHandle = await open(dirname(path), "r");
|
|
24
|
+
try {
|
|
25
|
+
await dirHandle.sync();
|
|
26
|
+
} finally {
|
|
27
|
+
await dirHandle.close();
|
|
28
|
+
}
|
|
29
|
+
} catch {}
|
|
30
|
+
} catch (error) {
|
|
31
|
+
if (!renamed) {
|
|
32
|
+
try {
|
|
33
|
+
await unlink(tmpPath);
|
|
34
|
+
} catch {}
|
|
35
|
+
}
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// src/ai/rag/quality.ts
|
|
41
|
+
import { dirname as dirname2 } from "path";
|
|
5
42
|
import { generateId } from "@absolutejs/ai";
|
|
6
43
|
|
|
7
44
|
// src/ai/rag/grounding.ts
|
|
@@ -6504,8 +6541,8 @@ var createRAGFileEvaluationHistoryStore = (path) => ({
|
|
|
6504
6541
|
run,
|
|
6505
6542
|
...existing.filter((entry) => entry.id !== run.id)
|
|
6506
6543
|
]);
|
|
6507
|
-
await mkdir(
|
|
6508
|
-
await
|
|
6544
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6545
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6509
6546
|
`, "utf8");
|
|
6510
6547
|
},
|
|
6511
6548
|
pruneRuns: async (input) => {
|
|
@@ -6524,8 +6561,8 @@ var createRAGFileEvaluationHistoryStore = (path) => ({
|
|
|
6524
6561
|
runs: existing,
|
|
6525
6562
|
sort: normalizeHistoryRuns
|
|
6526
6563
|
});
|
|
6527
|
-
await mkdir(
|
|
6528
|
-
await
|
|
6564
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6565
|
+
await writeFileAtomic(path, JSON.stringify(pruned.next, null, "\t") + `
|
|
6529
6566
|
`, "utf8");
|
|
6530
6567
|
return {
|
|
6531
6568
|
keptCount: pruned.keptCount,
|
|
@@ -6575,8 +6612,8 @@ var createRAGFileEvaluationSuiteSnapshotHistoryStore = (path) => ({
|
|
|
6575
6612
|
snapshot,
|
|
6576
6613
|
...existing.filter((entry) => entry.id !== snapshot.id)
|
|
6577
6614
|
]);
|
|
6578
|
-
await mkdir(
|
|
6579
|
-
await
|
|
6615
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6616
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6580
6617
|
`, "utf8");
|
|
6581
6618
|
},
|
|
6582
6619
|
pruneSnapshots: async (input) => {
|
|
@@ -6595,8 +6632,8 @@ var createRAGFileEvaluationSuiteSnapshotHistoryStore = (path) => ({
|
|
|
6595
6632
|
runs: existing,
|
|
6596
6633
|
sort: normalizeEvaluationSuiteSnapshots
|
|
6597
6634
|
});
|
|
6598
|
-
await mkdir(
|
|
6599
|
-
await
|
|
6635
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6636
|
+
await writeFileAtomic(path, JSON.stringify(pruned.next, null, "\t") + `
|
|
6600
6637
|
`, "utf8");
|
|
6601
6638
|
return {
|
|
6602
6639
|
keptCount: pruned.keptCount,
|
|
@@ -6638,8 +6675,8 @@ var createRAGFileRetrievalComparisonHistoryStore = (path) => ({
|
|
|
6638
6675
|
run,
|
|
6639
6676
|
...existing.filter((entry) => entry.id !== run.id)
|
|
6640
6677
|
]);
|
|
6641
|
-
await mkdir(
|
|
6642
|
-
await
|
|
6678
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6679
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6643
6680
|
`, "utf8");
|
|
6644
6681
|
}
|
|
6645
6682
|
});
|
|
@@ -6692,8 +6729,8 @@ var createRAGFileRetrievalBaselineStore = (path) => {
|
|
|
6692
6729
|
},
|
|
6693
6730
|
...existing.map((entry) => entry.groupKey === record.groupKey && (entry.rolloutLabel ?? undefined) === (record.rolloutLabel ?? undefined) ? { ...entry, status: "superseded" } : entry)
|
|
6694
6731
|
]);
|
|
6695
|
-
await mkdir(
|
|
6696
|
-
await
|
|
6732
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6733
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6697
6734
|
`, "utf8");
|
|
6698
6735
|
}
|
|
6699
6736
|
};
|
|
@@ -6731,8 +6768,8 @@ var createRAGFileRetrievalReleaseDecisionStore = (path) => ({
|
|
|
6731
6768
|
record,
|
|
6732
6769
|
...existing.filter((entry) => entry.id !== record.id)
|
|
6733
6770
|
]);
|
|
6734
|
-
await mkdir(
|
|
6735
|
-
await
|
|
6771
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6772
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6736
6773
|
`, "utf8");
|
|
6737
6774
|
}
|
|
6738
6775
|
});
|
|
@@ -6775,8 +6812,8 @@ var createRAGFileRetrievalLaneHandoffDecisionStore = (path) => ({
|
|
|
6775
6812
|
record,
|
|
6776
6813
|
...existing.filter((entry) => entry.id !== record.id)
|
|
6777
6814
|
]);
|
|
6778
|
-
await mkdir(
|
|
6779
|
-
await
|
|
6815
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6816
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6780
6817
|
`, "utf8");
|
|
6781
6818
|
}
|
|
6782
6819
|
});
|
|
@@ -6820,8 +6857,8 @@ var createRAGFileRetrievalReleaseIncidentStore = (path) => ({
|
|
|
6820
6857
|
record,
|
|
6821
6858
|
...existing.filter((entry) => entry.id !== record.id)
|
|
6822
6859
|
]);
|
|
6823
|
-
await mkdir(
|
|
6824
|
-
await
|
|
6860
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6861
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6825
6862
|
`, "utf8");
|
|
6826
6863
|
}
|
|
6827
6864
|
});
|
|
@@ -6864,8 +6901,8 @@ var createRAGFileRetrievalLaneHandoffIncidentStore = (path) => ({
|
|
|
6864
6901
|
record,
|
|
6865
6902
|
...existing.filter((entry) => entry.id !== record.id)
|
|
6866
6903
|
]);
|
|
6867
|
-
await mkdir(
|
|
6868
|
-
await
|
|
6904
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6905
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6869
6906
|
`, "utf8");
|
|
6870
6907
|
}
|
|
6871
6908
|
});
|
|
@@ -6904,8 +6941,8 @@ var createRAGFileRetrievalLaneHandoffIncidentHistoryStore = (path) => ({
|
|
|
6904
6941
|
}
|
|
6905
6942
|
})();
|
|
6906
6943
|
const next = [record, ...existing].sort((left, right) => right.recordedAt - left.recordedAt);
|
|
6907
|
-
await mkdir(
|
|
6908
|
-
await
|
|
6944
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6945
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6909
6946
|
`, "utf8");
|
|
6910
6947
|
}
|
|
6911
6948
|
});
|
|
@@ -6948,8 +6985,8 @@ var createRAGFileRetrievalIncidentRemediationDecisionStore = (path) => ({
|
|
|
6948
6985
|
record,
|
|
6949
6986
|
...existing
|
|
6950
6987
|
]);
|
|
6951
|
-
await mkdir(
|
|
6952
|
-
await
|
|
6988
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
6989
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6953
6990
|
`, "utf8");
|
|
6954
6991
|
}
|
|
6955
6992
|
});
|
|
@@ -6994,8 +7031,8 @@ var createRAGFileRetrievalIncidentRemediationExecutionHistoryStore = (path) => (
|
|
|
6994
7031
|
record,
|
|
6995
7032
|
...existing
|
|
6996
7033
|
]);
|
|
6997
|
-
await mkdir(
|
|
6998
|
-
await
|
|
7034
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7035
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
6999
7036
|
`, "utf8");
|
|
7000
7037
|
}
|
|
7001
7038
|
});
|
|
@@ -7028,8 +7065,8 @@ var createRAGFileRetrievalLaneHandoffAutoCompletePolicyHistoryStore = (path) =>
|
|
|
7028
7065
|
}
|
|
7029
7066
|
})();
|
|
7030
7067
|
const next = [record, ...existing].sort((left, right) => right.recordedAt - left.recordedAt);
|
|
7031
|
-
await mkdir(
|
|
7032
|
-
await
|
|
7068
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7069
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
7033
7070
|
`, "utf8");
|
|
7034
7071
|
}
|
|
7035
7072
|
});
|
|
@@ -7062,8 +7099,8 @@ var createRAGFileRetrievalReleaseLanePolicyHistoryStore = (path) => ({
|
|
|
7062
7099
|
}
|
|
7063
7100
|
})();
|
|
7064
7101
|
const next = [record, ...existing].sort((left, right) => right.recordedAt - left.recordedAt);
|
|
7065
|
-
await mkdir(
|
|
7066
|
-
await
|
|
7102
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7103
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
7067
7104
|
`, "utf8");
|
|
7068
7105
|
}
|
|
7069
7106
|
});
|
|
@@ -7096,8 +7133,8 @@ var createRAGFileRetrievalBaselineGatePolicyHistoryStore = (path) => ({
|
|
|
7096
7133
|
}
|
|
7097
7134
|
})();
|
|
7098
7135
|
const next = [record, ...existing].sort((left, right) => right.recordedAt - left.recordedAt);
|
|
7099
|
-
await mkdir(
|
|
7100
|
-
await
|
|
7136
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7137
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
7101
7138
|
`, "utf8");
|
|
7102
7139
|
}
|
|
7103
7140
|
});
|
|
@@ -7130,8 +7167,8 @@ var createRAGFileRetrievalReleaseLaneEscalationPolicyHistoryStore = (path) => ({
|
|
|
7130
7167
|
}
|
|
7131
7168
|
})();
|
|
7132
7169
|
const next = [record, ...existing].sort((left, right) => right.recordedAt - left.recordedAt);
|
|
7133
|
-
await mkdir(
|
|
7134
|
-
await
|
|
7170
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7171
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
7135
7172
|
`, "utf8");
|
|
7136
7173
|
}
|
|
7137
7174
|
});
|
|
@@ -7176,8 +7213,8 @@ var createRAGFileSearchTraceStore = (path) => ({
|
|
|
7176
7213
|
trace,
|
|
7177
7214
|
...traces.filter((entry) => entry.id !== trace.id)
|
|
7178
7215
|
]);
|
|
7179
|
-
await mkdir(
|
|
7180
|
-
await
|
|
7216
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7217
|
+
await writeFileAtomic(path, JSON.stringify({
|
|
7181
7218
|
traces: nextTraces
|
|
7182
7219
|
}, null, 2));
|
|
7183
7220
|
},
|
|
@@ -7196,8 +7233,8 @@ var createRAGFileSearchTraceStore = (path) => ({
|
|
|
7196
7233
|
input,
|
|
7197
7234
|
traces
|
|
7198
7235
|
});
|
|
7199
|
-
await mkdir(
|
|
7200
|
-
await
|
|
7236
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7237
|
+
await writeFileAtomic(path, JSON.stringify({
|
|
7201
7238
|
traces: pruned.next
|
|
7202
7239
|
}, null, 2));
|
|
7203
7240
|
return {
|
|
@@ -7239,8 +7276,8 @@ var createRAGFileSearchTracePruneHistoryStore = (path) => ({
|
|
|
7239
7276
|
run,
|
|
7240
7277
|
...existing.filter((entry) => entry.id !== run.id)
|
|
7241
7278
|
]);
|
|
7242
|
-
await mkdir(
|
|
7243
|
-
await
|
|
7279
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
7280
|
+
await writeFileAtomic(path, JSON.stringify(next, null, "\t") + `
|
|
7244
7281
|
`, "utf8");
|
|
7245
7282
|
}
|
|
7246
7283
|
});
|
|
@@ -8868,8 +8905,8 @@ var createRAGFileAnswerGroundingEvaluationHistoryStore = (path) => ({
|
|
|
8868
8905
|
run,
|
|
8869
8906
|
...runs.filter((entry) => entry.id !== run.id)
|
|
8870
8907
|
]);
|
|
8871
|
-
await mkdir(
|
|
8872
|
-
await
|
|
8908
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
8909
|
+
await writeFileAtomic(path, JSON.stringify({
|
|
8873
8910
|
runs: nextRuns
|
|
8874
8911
|
}, null, 2));
|
|
8875
8912
|
},
|
|
@@ -8889,8 +8926,8 @@ var createRAGFileAnswerGroundingEvaluationHistoryStore = (path) => ({
|
|
|
8889
8926
|
runs,
|
|
8890
8927
|
sort: normalizeGroundingHistoryRuns
|
|
8891
8928
|
});
|
|
8892
|
-
await mkdir(
|
|
8893
|
-
await
|
|
8929
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
8930
|
+
await writeFileAtomic(path, JSON.stringify({
|
|
8894
8931
|
runs: pruned.next
|
|
8895
8932
|
}, null, 2));
|
|
8896
8933
|
return {
|
|
@@ -8929,8 +8966,8 @@ var createRAGFileAnswerGroundingCaseDifficultyHistoryStore = (path) => ({
|
|
|
8929
8966
|
run,
|
|
8930
8967
|
...runs.filter((entry) => entry.id !== run.id)
|
|
8931
8968
|
]);
|
|
8932
|
-
await mkdir(
|
|
8933
|
-
await
|
|
8969
|
+
await mkdir(dirname2(path), { recursive: true });
|
|
8970
|
+
await writeFileAtomic(path, JSON.stringify({
|
|
8934
8971
|
runs: nextRuns
|
|
8935
8972
|
}, null, 2));
|
|
8936
8973
|
}
|
|
@@ -32137,8 +32174,8 @@ var createRAGInstagramBusinessConnector = (input) => ({
|
|
|
32137
32174
|
// src/ai/rag/sync.ts
|
|
32138
32175
|
var {S3Client } = globalThis.Bun;
|
|
32139
32176
|
import { createHash } from "crypto";
|
|
32140
|
-
import { mkdir as mkdir2, readFile as readFile3, readdir as readdir2
|
|
32141
|
-
import { basename as basename2, dirname as
|
|
32177
|
+
import { mkdir as mkdir2, readFile as readFile3, readdir as readdir2 } from "fs/promises";
|
|
32178
|
+
import { basename as basename2, dirname as dirname3, extname as extname2, join as join2, relative as relative2, resolve as resolve2 } from "path";
|
|
32142
32179
|
var toSyncError = (caught) => caught instanceof Error ? caught.message : String(caught);
|
|
32143
32180
|
var wait = async (delayMs) => {
|
|
32144
32181
|
if (!(delayMs > 0)) {
|
|
@@ -34635,8 +34672,8 @@ var createRAGFileSyncStateStore = (path) => {
|
|
|
34635
34672
|
}
|
|
34636
34673
|
},
|
|
34637
34674
|
save: async (records) => {
|
|
34638
|
-
await mkdir2(
|
|
34639
|
-
await
|
|
34675
|
+
await mkdir2(dirname3(resolvedPath), { recursive: true });
|
|
34676
|
+
await writeFileAtomic(resolvedPath, JSON.stringify(records, null, 2), "utf8");
|
|
34640
34677
|
}
|
|
34641
34678
|
};
|
|
34642
34679
|
};
|
|
@@ -34683,8 +34720,8 @@ var createRAGSyncScheduler = (input) => {
|
|
|
34683
34720
|
};
|
|
34684
34721
|
};
|
|
34685
34722
|
// src/ai/rag/jobState.ts
|
|
34686
|
-
import { mkdir as mkdir3, readFile as readFile4
|
|
34687
|
-
import { dirname as
|
|
34723
|
+
import { mkdir as mkdir3, readFile as readFile4 } from "fs/promises";
|
|
34724
|
+
import { dirname as dirname4, resolve as resolve3 } from "path";
|
|
34688
34725
|
var parseJobState = (content) => {
|
|
34689
34726
|
try {
|
|
34690
34727
|
const parsed = JSON.parse(content);
|
|
@@ -34719,8 +34756,8 @@ var createRAGFileJobStateStore = (path) => {
|
|
|
34719
34756
|
}
|
|
34720
34757
|
},
|
|
34721
34758
|
save: async (state) => {
|
|
34722
|
-
await mkdir3(
|
|
34723
|
-
await
|
|
34759
|
+
await mkdir3(dirname4(resolvedPath), { recursive: true });
|
|
34760
|
+
await writeFileAtomic(resolvedPath, JSON.stringify(state, null, 2), "utf8");
|
|
34724
34761
|
}
|
|
34725
34762
|
};
|
|
34726
34763
|
};
|
|
@@ -35952,7 +35989,7 @@ import { existsSync as existsSync2 } from "fs";
|
|
|
35952
35989
|
// src/ai/rag/resolveAbsoluteSQLiteVec.ts
|
|
35953
35990
|
import { existsSync, readFileSync } from "fs";
|
|
35954
35991
|
import { arch, platform } from "os";
|
|
35955
|
-
import { dirname as
|
|
35992
|
+
import { dirname as dirname5, join as join3 } from "path";
|
|
35956
35993
|
var PLATFORM_PACKAGE_MAP = {
|
|
35957
35994
|
"darwin-arm64": {
|
|
35958
35995
|
libraryFile: "vec0.dylib",
|
|
@@ -36006,7 +36043,7 @@ var resolveAbsoluteSQLiteVec = () => {
|
|
|
36006
36043
|
throw new Error("AbsoluteJS sqlite-vec package resolution requires import.meta.resolve support.");
|
|
36007
36044
|
}
|
|
36008
36045
|
const packageJsonPath = new URL(resolve4(`${packageInfo.packageName}/package.json`)).pathname;
|
|
36009
|
-
const packageRoot =
|
|
36046
|
+
const packageRoot = dirname5(packageJsonPath);
|
|
36010
36047
|
const libraryPath = join3(packageRoot, packageInfo.libraryFile);
|
|
36011
36048
|
const packageVersion = readPackageVersion(packageJsonPath);
|
|
36012
36049
|
if (!existsSync(libraryPath)) {
|
|
@@ -37474,5 +37511,5 @@ export {
|
|
|
37474
37511
|
addRAGEvaluationSuiteCase
|
|
37475
37512
|
};
|
|
37476
37513
|
|
|
37477
|
-
//# debugId=
|
|
37514
|
+
//# debugId=A89076338D70690164756E2164756E21
|
|
37478
37515
|
//# sourceMappingURL=index.js.map
|