@absolutejs/absolute 0.19.0-beta.510 → 0.19.0-beta.511
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 +112 -1
- package/dist/ai/client/index.js.map +3 -3
- package/dist/ai/index.js +123 -8
- package/dist/ai/index.js.map +4 -4
- package/dist/ai-client/react/ai/index.js +323 -0
- package/dist/ai-client/vue/ai/index.js +323 -0
- package/dist/angular/index.js +2 -2
- package/dist/angular/index.js.map +1 -1
- package/dist/angular/server.js +2 -2
- package/dist/angular/server.js.map +1 -1
- package/dist/build.js +2 -2
- package/dist/build.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/react/ai/index.js +112 -1
- package/dist/react/ai/index.js.map +3 -3
- package/dist/src/ai/index.d.ts +2 -2
- package/dist/src/ai/rag/index.d.ts +1 -1
- package/dist/src/ai/rag/quality.d.ts +15 -1
- package/dist/src/ai/rag/types.d.ts +1 -1
- package/dist/svelte/ai/index.js +112 -1
- package/dist/svelte/ai/index.js.map +3 -3
- package/dist/types/ai.d.ts +45 -0
- package/dist/vue/ai/index.js +112 -1
- package/dist/vue/ai/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RAGDocumentChunk, RAGQueryInput, RAGQueryResult, RAGUpsertInput } from '../../../types/ai';
|
|
2
|
-
export type { AIHTMXRenderConfig, RAGAnswerWorkflowState, RAGBackendCapabilities, RAGCitation, RAGCitationReferenceMap, RAGGroundedAnswer, RAGGroundedAnswerPart, RAGGroundingReference, RAGChunkingOptions, RAGChunkingStrategy, RAGCollection, RAGCollectionSearchParams, RAGContentFormat, RAGHTMXConfig, RAGHybridFusionMode, RAGHybridRetrievalMode, RAGHybridSearchOptions, RAGDocumentChunk, RAGDocumentChunkPreview, RAGArchiveEntry, RAGArchiveExpander, RAGArchiveExpansionResult, RAGExtractedFileDocument, RAGFileExtractionInput, RAGFileExtractor, RAGPDFOCRExtractorOptions, RAGDirectoryIngestInput, RAGDirectorySyncSourceOptions, RAGDocumentFileInput, RAGDocumentIngestInput, RAGDocumentUploadIngestInput, RAGDocumentUploadInput, RAGEmbeddingFunction, RAGEmbeddingInput, RAGEmbeddingProvider, RAGEmbeddingProviderLike, RAGBackendDescriptor, RAGHTMXWorkflowRenderConfig, RAGIngestDocument, RAGIndexedDocument, RAGMediaTranscriber, RAGMediaTranscriptSegment, RAGMediaTranscriptionResult, RAGLexicalQueryInput, RAGDocumentUrlInput, RAGDocumentUrlIngestInput, RAGEmailSyncAttachment, RAGEmailSyncClient, RAGEmailSyncListInput, RAGEmailSyncListResult, RAGEmailSyncMessage, RAGEmailSyncSourceOptions, RAGStorageSyncClient, RAGStorageSyncFile, RAGStorageSyncListInput, RAGStorageSyncListResult, RAGStorageSyncObject, RAGStorageSyncSourceOptions, RAGOCRProvider, RAGOCRResult, RAGPreparedDocument, RAGSource, RAGSourceGroup, RAGSourceSummary, RAGIngestResponse, RAGMutationResponse, RAGPostgresNativeDiagnostics, RAGQueryInput, RAGQueryResult, RAGQueryTransformInput, RAGQueryTransformProvider, RAGQueryTransformProviderLike, RAGQueryTransformResult, RAGQueryTransformer, RAGSearchRequest, RAGSyncManager, RAGSyncRunOptions, RAGSyncSchedule, RAGSyncScheduler, RAGSyncResponse, RAGSyncStateStore, RAGSyncSourceContext, RAGSyncSourceDefinition, RAGSyncSourceRecord, RAGSyncSourceRunResult, RAGUrlSyncSourceOptions, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGStreamStage, RAGEvaluationCase, RAGEvaluationCaseResult, RAGEvaluationLeaderboardEntry, RAGEvaluationInput, RAGEvaluationResponse, RAGEvaluationSummary, RAGEvaluationSuite, RAGEvaluationSuiteRun, RAGRetrievalCandidate, RAGRetrievalComparison, RAGRetrievalComparisonEntry, RAGRetrievalComparisonSummary, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution } from '../../../types/ai';
|
|
2
|
+
export type { AIHTMXRenderConfig, RAGAnswerWorkflowState, RAGBackendCapabilities, RAGCitation, RAGCitationReferenceMap, RAGGroundedAnswer, RAGGroundedAnswerPart, RAGGroundingReference, RAGChunkingOptions, RAGChunkingStrategy, RAGCollection, RAGCollectionSearchParams, RAGContentFormat, RAGHTMXConfig, RAGHybridFusionMode, RAGHybridRetrievalMode, RAGHybridSearchOptions, RAGDocumentChunk, RAGDocumentChunkPreview, RAGArchiveEntry, RAGArchiveExpander, RAGArchiveExpansionResult, RAGExtractedFileDocument, RAGFileExtractionInput, RAGFileExtractor, RAGPDFOCRExtractorOptions, RAGDirectoryIngestInput, RAGDirectorySyncSourceOptions, RAGDocumentFileInput, RAGDocumentIngestInput, RAGDocumentUploadIngestInput, RAGDocumentUploadInput, RAGEmbeddingFunction, RAGEmbeddingInput, RAGEmbeddingProvider, RAGEmbeddingProviderLike, RAGBackendDescriptor, RAGHTMXWorkflowRenderConfig, RAGIngestDocument, RAGIndexedDocument, RAGMediaTranscriber, RAGMediaTranscriptSegment, RAGMediaTranscriptionResult, RAGLexicalQueryInput, RAGDocumentUrlInput, RAGDocumentUrlIngestInput, RAGEmailSyncAttachment, RAGEmailSyncClient, RAGEmailSyncListInput, RAGEmailSyncListResult, RAGEmailSyncMessage, RAGEmailSyncSourceOptions, RAGStorageSyncClient, RAGStorageSyncFile, RAGStorageSyncListInput, RAGStorageSyncListResult, RAGStorageSyncObject, RAGStorageSyncSourceOptions, RAGOCRProvider, RAGOCRResult, RAGPreparedDocument, RAGSource, RAGSourceGroup, RAGSourceSummary, RAGIngestResponse, RAGMutationResponse, RAGPostgresNativeDiagnostics, RAGQueryInput, RAGQueryResult, RAGQueryTransformInput, RAGQueryTransformProvider, RAGQueryTransformProviderLike, RAGQueryTransformResult, RAGQueryTransformer, RAGSearchRequest, RAGSyncManager, RAGSyncRunOptions, RAGSyncSchedule, RAGSyncScheduler, RAGSyncResponse, RAGSyncStateStore, RAGSyncSourceContext, RAGSyncSourceDefinition, RAGSyncSourceRecord, RAGSyncSourceRunResult, RAGUrlSyncSourceOptions, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGStreamStage, RAGEvaluationCase, RAGEvaluationCaseDiff, RAGEvaluationHistory, RAGEvaluationHistoryStore, RAGEvaluationCaseResult, RAGEvaluationLeaderboardEntry, RAGEvaluationInput, RAGEvaluationResponse, RAGEvaluationRunDiff, RAGEvaluationSummary, RAGEvaluationSuite, RAGEvaluationSuiteRun, RAGRetrievalCandidate, RAGRetrievalComparison, RAGRetrievalComparisonEntry, RAGRetrievalComparisonSummary, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution } from '../../../types/ai';
|
|
3
3
|
export type InternalRAGStoredChunk = RAGDocumentChunk & {
|
|
4
4
|
vector: number[];
|
|
5
5
|
sourceId: string;
|
package/dist/svelte/ai/index.js
CHANGED
|
@@ -1614,7 +1614,10 @@ var createRAGDocuments = (path) => {
|
|
|
1614
1614
|
import { derived as derived2, writable as writable3 } from "svelte/store";
|
|
1615
1615
|
|
|
1616
1616
|
// src/ai/rag/quality.ts
|
|
1617
|
+
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
1618
|
+
import { dirname } from "path";
|
|
1617
1619
|
var DEFAULT_TOP_K = 6;
|
|
1620
|
+
var DEFAULT_HISTORY_LIMIT = 20;
|
|
1618
1621
|
var normalizeStringArray = (value) => {
|
|
1619
1622
|
if (!Array.isArray(value)) {
|
|
1620
1623
|
return [];
|
|
@@ -1672,6 +1675,114 @@ var buildRAGEvaluationLeaderboard = (runs) => {
|
|
|
1672
1675
|
totalCases: run.response.totalCases
|
|
1673
1676
|
}));
|
|
1674
1677
|
};
|
|
1678
|
+
var toHistorySortOrder = (left, right) => right.finishedAt - left.finishedAt;
|
|
1679
|
+
var normalizeHistoryRuns = (runs) => [...runs].sort(toHistorySortOrder);
|
|
1680
|
+
var buildCaseDiff = (currentCase, previousCase) => ({
|
|
1681
|
+
caseId: currentCase.caseId,
|
|
1682
|
+
currentF1: currentCase.f1,
|
|
1683
|
+
currentMatchedIds: currentCase.matchedIds,
|
|
1684
|
+
currentMissingIds: currentCase.missingIds,
|
|
1685
|
+
currentStatus: currentCase.status,
|
|
1686
|
+
label: currentCase.label,
|
|
1687
|
+
previousF1: previousCase?.f1,
|
|
1688
|
+
previousMatchedIds: previousCase?.matchedIds ?? [],
|
|
1689
|
+
previousMissingIds: previousCase?.missingIds ?? [],
|
|
1690
|
+
previousStatus: previousCase?.status,
|
|
1691
|
+
query: currentCase.query
|
|
1692
|
+
});
|
|
1693
|
+
var getStatusRank = (status) => status === "pass" ? 2 : status === "partial" ? 1 : 0;
|
|
1694
|
+
var buildRAGEvaluationRunDiff = ({
|
|
1695
|
+
current,
|
|
1696
|
+
previous
|
|
1697
|
+
}) => {
|
|
1698
|
+
const previousCases = new Map((previous?.response.cases ?? []).map((entry) => [entry.caseId, entry]));
|
|
1699
|
+
const diffs = current.response.cases.map((entry) => buildCaseDiff(entry, previousCases.get(entry.caseId)));
|
|
1700
|
+
const regressedCases = diffs.filter((entry) => getStatusRank(entry.currentStatus) < getStatusRank(entry.previousStatus ?? "fail"));
|
|
1701
|
+
const improvedCases = diffs.filter((entry) => getStatusRank(entry.currentStatus) > getStatusRank(entry.previousStatus ?? "fail"));
|
|
1702
|
+
const unchangedCases = diffs.filter((entry) => getStatusRank(entry.currentStatus) === getStatusRank(entry.previousStatus ?? "fail"));
|
|
1703
|
+
return {
|
|
1704
|
+
currentRunId: current.id,
|
|
1705
|
+
improvedCases,
|
|
1706
|
+
previousRunId: previous?.id,
|
|
1707
|
+
regressedCases,
|
|
1708
|
+
suiteId: current.suiteId,
|
|
1709
|
+
summaryDelta: {
|
|
1710
|
+
averageF1: current.response.summary.averageF1 - (previous?.response.summary.averageF1 ?? 0),
|
|
1711
|
+
averageLatencyMs: current.response.summary.averageLatencyMs - (previous?.response.summary.averageLatencyMs ?? 0),
|
|
1712
|
+
failedCases: current.response.summary.failedCases - (previous?.response.summary.failedCases ?? 0),
|
|
1713
|
+
passedCases: current.response.summary.passedCases - (previous?.response.summary.passedCases ?? 0),
|
|
1714
|
+
passingRate: current.response.passingRate - (previous?.response.passingRate ?? 0),
|
|
1715
|
+
partialCases: current.response.summary.partialCases - (previous?.response.summary.partialCases ?? 0)
|
|
1716
|
+
},
|
|
1717
|
+
unchangedCases
|
|
1718
|
+
};
|
|
1719
|
+
};
|
|
1720
|
+
var createRAGFileEvaluationHistoryStore = (path) => ({
|
|
1721
|
+
listRuns: async ({ limit, suiteId } = {}) => {
|
|
1722
|
+
let parsed = [];
|
|
1723
|
+
try {
|
|
1724
|
+
const content = await readFile(path, "utf8");
|
|
1725
|
+
const value = JSON.parse(content);
|
|
1726
|
+
parsed = Array.isArray(value) ? value : [];
|
|
1727
|
+
} catch (error) {
|
|
1728
|
+
if (error.code !== "ENOENT") {
|
|
1729
|
+
throw error;
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
const filtered = parsed.filter((entry) => !suiteId || entry.suiteId === suiteId);
|
|
1733
|
+
const sorted = normalizeHistoryRuns(filtered);
|
|
1734
|
+
return typeof limit === "number" ? sorted.slice(0, limit) : sorted;
|
|
1735
|
+
},
|
|
1736
|
+
saveRun: async (run) => {
|
|
1737
|
+
const existing = await (async () => {
|
|
1738
|
+
try {
|
|
1739
|
+
const content = await readFile(path, "utf8");
|
|
1740
|
+
const value = JSON.parse(content);
|
|
1741
|
+
return Array.isArray(value) ? value : [];
|
|
1742
|
+
} catch (error) {
|
|
1743
|
+
if (error.code !== "ENOENT") {
|
|
1744
|
+
throw error;
|
|
1745
|
+
}
|
|
1746
|
+
return [];
|
|
1747
|
+
}
|
|
1748
|
+
})();
|
|
1749
|
+
const next = normalizeHistoryRuns([
|
|
1750
|
+
run,
|
|
1751
|
+
...existing.filter((entry) => entry.id !== run.id)
|
|
1752
|
+
]);
|
|
1753
|
+
await mkdir(dirname(path), { recursive: true });
|
|
1754
|
+
await writeFile(path, JSON.stringify(next, null, "\t") + `
|
|
1755
|
+
`, "utf8");
|
|
1756
|
+
}
|
|
1757
|
+
});
|
|
1758
|
+
var loadRAGEvaluationHistory = async ({
|
|
1759
|
+
store,
|
|
1760
|
+
suite,
|
|
1761
|
+
limit = DEFAULT_HISTORY_LIMIT
|
|
1762
|
+
}) => {
|
|
1763
|
+
const runs = normalizeHistoryRuns(await Promise.resolve(store.listRuns({ limit, suiteId: suite.id })));
|
|
1764
|
+
const latestRun = runs[0];
|
|
1765
|
+
const previousRun = runs[1];
|
|
1766
|
+
return {
|
|
1767
|
+
diff: latestRun ? buildRAGEvaluationRunDiff({
|
|
1768
|
+
current: latestRun,
|
|
1769
|
+
previous: previousRun
|
|
1770
|
+
}) : undefined,
|
|
1771
|
+
latestRun,
|
|
1772
|
+
leaderboard: buildRAGEvaluationLeaderboard(runs),
|
|
1773
|
+
previousRun,
|
|
1774
|
+
runs,
|
|
1775
|
+
suiteId: suite.id,
|
|
1776
|
+
suiteLabel: suite.label ?? suite.id
|
|
1777
|
+
};
|
|
1778
|
+
};
|
|
1779
|
+
var persistRAGEvaluationSuiteRun = async ({
|
|
1780
|
+
store,
|
|
1781
|
+
run
|
|
1782
|
+
}) => {
|
|
1783
|
+
await Promise.resolve(store.saveRun(run));
|
|
1784
|
+
return run;
|
|
1785
|
+
};
|
|
1675
1786
|
var buildRAGEvaluationResponse = (cases) => {
|
|
1676
1787
|
const totalCases = cases.length;
|
|
1677
1788
|
const passedCases = cases.filter((entry) => entry.status === "pass").length;
|
|
@@ -2615,5 +2726,5 @@ export {
|
|
|
2615
2726
|
createAIStream
|
|
2616
2727
|
};
|
|
2617
2728
|
|
|
2618
|
-
//# debugId=
|
|
2729
|
+
//# debugId=9700FB9A49629A6964756E2164756E21
|
|
2619
2730
|
//# sourceMappingURL=index.js.map
|