@absolutejs/absolute 0.19.0-beta.615 → 0.19.0-beta.617
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 +93 -46
- package/dist/ai/client/index.js.map +7 -7
- package/dist/ai/client/ui.js +5 -1
- package/dist/ai/client/ui.js.map +3 -3
- package/dist/ai/index.js +1544 -253
- package/dist/ai/index.js.map +14 -12
- package/dist/ai/rag/quality.js +49 -6
- package/dist/ai/rag/quality.js.map +4 -4
- package/dist/ai/rag/ui.js +5 -1
- package/dist/ai/rag/ui.js.map +3 -3
- package/dist/ai-client/angular/ai/index.js +44 -40
- package/dist/ai-client/react/ai/index.js +46 -42
- package/dist/ai-client/vue/ai/index.js +44 -40
- package/dist/angular/ai/index.js +46 -42
- package/dist/angular/ai/index.js.map +6 -6
- 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 +97 -50
- package/dist/react/ai/index.js.map +9 -9
- package/dist/src/ai/client/actions.d.ts +1 -1
- package/dist/src/ai/index.d.ts +2 -2
- package/dist/src/ai/protocol.d.ts +1 -1
- package/dist/src/ai/rag/accessControl.d.ts +2 -0
- package/dist/src/ai/rag/chat.d.ts +21 -23
- package/dist/src/ai/rag/index.d.ts +4 -2
- package/dist/src/ai/rag/ingestion.d.ts +12 -3
- package/dist/src/ai/rag/jobState.d.ts +2 -0
- package/dist/src/ai/rag/quality.d.ts +20 -10
- package/dist/src/vue/ai/useRAG.d.ts +26 -0
- package/dist/src/vue/ai/useRAGChunkPreview.d.ts +4 -0
- package/dist/src/vue/ai/useRAGDocuments.d.ts +4 -0
- package/dist/src/vue/ai/useRAGEvaluate.d.ts +14 -0
- package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +2 -0
- package/dist/src/vue/ai/useRAGSearch.d.ts +2 -0
- package/dist/svelte/ai/index.js +93 -46
- package/dist/svelte/ai/index.js.map +7 -7
- package/dist/types/ai.d.ts +190 -0
- package/dist/vue/ai/index.js +93 -46
- package/dist/vue/ai/index.js.map +7 -7
- package/package.json +7 -7
package/dist/ai/client/index.js
CHANGED
|
@@ -187,7 +187,7 @@ var parseAIMessage = (raw) => {
|
|
|
187
187
|
return null;
|
|
188
188
|
}
|
|
189
189
|
};
|
|
190
|
-
var serializeAIMessage = (
|
|
190
|
+
var serializeAIMessage = (message) => JSON.stringify(message);
|
|
191
191
|
|
|
192
192
|
// src/ai/rag/grounding.ts
|
|
193
193
|
var getContextString = (value) => typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
|
|
@@ -1275,7 +1275,10 @@ var evaluateRAGCollectionCases = async ({
|
|
|
1275
1275
|
const expectedIds = normalizeExpectedIds(mode === "chunkId" ? caseInput.expectedChunkIds ?? [] : mode === "source" ? caseInput.expectedSources ?? [] : caseInput.expectedDocumentIds ?? []);
|
|
1276
1276
|
const topK = typeof caseInput.topK === "number" ? caseInput.topK : typeof input.topK === "number" ? input.topK : defaultTopK;
|
|
1277
1277
|
const searchInput = {
|
|
1278
|
-
filter:
|
|
1278
|
+
filter: caseInput.corpusKey ? {
|
|
1279
|
+
...(typeof caseInput.filter === "object" ? caseInput.filter : input.filter) ?? {},
|
|
1280
|
+
corpusKey: caseInput.corpusKey
|
|
1281
|
+
} : typeof caseInput.filter === "object" ? caseInput.filter : input.filter,
|
|
1279
1282
|
model: caseInput.model ?? input.model,
|
|
1280
1283
|
query,
|
|
1281
1284
|
rerank,
|
|
@@ -1677,6 +1680,7 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
1677
1680
|
return {
|
|
1678
1681
|
candidateTopK: currentTrace?.candidateTopK ?? 0,
|
|
1679
1682
|
caseId: caseResult.caseId,
|
|
1683
|
+
corpusKey: caseResult.corpusKey,
|
|
1680
1684
|
inputFilter: filter,
|
|
1681
1685
|
finalCount: currentTrace?.resultCounts.final ?? 0,
|
|
1682
1686
|
label: caseResult.label,
|
|
@@ -2991,16 +2995,32 @@ var loadRAGRetrievalComparisonHistory = async ({
|
|
|
2991
2995
|
suiteId,
|
|
2992
2996
|
label,
|
|
2993
2997
|
winnerId,
|
|
2998
|
+
corpusGroupKey,
|
|
2994
2999
|
groupKey,
|
|
2995
3000
|
tag
|
|
2996
|
-
}) => normalizeRetrievalComparisonRuns(await Promise.resolve(store.listRuns({
|
|
3001
|
+
}) => normalizeRetrievalComparisonRuns(await Promise.resolve(store.listRuns({
|
|
3002
|
+
corpusGroupKey,
|
|
3003
|
+
groupKey,
|
|
3004
|
+
label,
|
|
3005
|
+
limit,
|
|
3006
|
+
suiteId,
|
|
3007
|
+
tag,
|
|
3008
|
+
winnerId
|
|
3009
|
+
})));
|
|
2997
3010
|
var loadRAGRetrievalBaselines = async ({
|
|
2998
3011
|
store,
|
|
3012
|
+
corpusGroupKey,
|
|
2999
3013
|
groupKey,
|
|
3000
3014
|
tag,
|
|
3001
3015
|
limit,
|
|
3002
3016
|
status
|
|
3003
|
-
}) => normalizeRetrievalBaselineRecords(await Promise.resolve(store.listBaselines({
|
|
3017
|
+
}) => normalizeRetrievalBaselineRecords(await Promise.resolve(store.listBaselines({
|
|
3018
|
+
corpusGroupKey,
|
|
3019
|
+
groupKey,
|
|
3020
|
+
limit,
|
|
3021
|
+
status,
|
|
3022
|
+
tag
|
|
3023
|
+
})));
|
|
3004
3024
|
var persistRAGRetrievalBaseline = async ({
|
|
3005
3025
|
store,
|
|
3006
3026
|
record
|
|
@@ -3010,18 +3030,21 @@ var persistRAGRetrievalBaseline = async ({
|
|
|
3010
3030
|
};
|
|
3011
3031
|
var loadRAGRetrievalReleaseDecisions = async ({
|
|
3012
3032
|
store,
|
|
3033
|
+
corpusGroupKey,
|
|
3013
3034
|
groupKey,
|
|
3014
3035
|
limit,
|
|
3015
3036
|
kind
|
|
3016
|
-
}) => normalizeRetrievalReleaseDecisionRecords(await Promise.resolve(store.listDecisions({ groupKey, kind, limit })));
|
|
3037
|
+
}) => normalizeRetrievalReleaseDecisionRecords(await Promise.resolve(store.listDecisions({ corpusGroupKey, groupKey, kind, limit })));
|
|
3017
3038
|
var loadRAGRetrievalLaneHandoffDecisions = async ({
|
|
3018
3039
|
store,
|
|
3040
|
+
corpusGroupKey,
|
|
3019
3041
|
groupKey,
|
|
3020
3042
|
limit,
|
|
3021
3043
|
kind,
|
|
3022
3044
|
sourceRolloutLabel,
|
|
3023
3045
|
targetRolloutLabel
|
|
3024
3046
|
}) => normalizeRetrievalLaneHandoffDecisionRecords(await Promise.resolve(store.listDecisions({
|
|
3047
|
+
corpusGroupKey,
|
|
3025
3048
|
groupKey,
|
|
3026
3049
|
kind,
|
|
3027
3050
|
limit,
|
|
@@ -3044,12 +3067,14 @@ var loadRAGRetrievalReleaseIncidents = async ({
|
|
|
3044
3067
|
})));
|
|
3045
3068
|
var loadRAGRetrievalLaneHandoffIncidents = async ({
|
|
3046
3069
|
store,
|
|
3070
|
+
corpusGroupKey,
|
|
3047
3071
|
groupKey,
|
|
3048
3072
|
limit,
|
|
3049
3073
|
targetRolloutLabel,
|
|
3050
3074
|
status,
|
|
3051
3075
|
severity
|
|
3052
3076
|
}) => normalizeRetrievalReleaseIncidentRecords(await Promise.resolve(store.listIncidents({
|
|
3077
|
+
corpusGroupKey,
|
|
3053
3078
|
groupKey,
|
|
3054
3079
|
limit,
|
|
3055
3080
|
severity,
|
|
@@ -3058,12 +3083,14 @@ var loadRAGRetrievalLaneHandoffIncidents = async ({
|
|
|
3058
3083
|
})));
|
|
3059
3084
|
var loadRAGRetrievalLaneHandoffIncidentHistory = async ({
|
|
3060
3085
|
store,
|
|
3086
|
+
corpusGroupKey,
|
|
3061
3087
|
action,
|
|
3062
3088
|
groupKey,
|
|
3063
3089
|
incidentId,
|
|
3064
3090
|
limit,
|
|
3065
3091
|
targetRolloutLabel
|
|
3066
3092
|
}) => await Promise.resolve(store.listRecords({
|
|
3093
|
+
corpusGroupKey,
|
|
3067
3094
|
action,
|
|
3068
3095
|
groupKey,
|
|
3069
3096
|
incidentId,
|
|
@@ -3108,21 +3135,25 @@ var loadRAGRetrievalIncidentRemediationExecutionHistory = async ({
|
|
|
3108
3135
|
})));
|
|
3109
3136
|
var loadRAGRetrievalLaneHandoffAutoCompletePolicyHistory = async ({
|
|
3110
3137
|
store,
|
|
3138
|
+
corpusGroupKey,
|
|
3111
3139
|
groupKey,
|
|
3112
3140
|
limit,
|
|
3113
3141
|
targetRolloutLabel
|
|
3114
3142
|
}) => await Promise.resolve(store.listRecords({
|
|
3143
|
+
corpusGroupKey,
|
|
3115
3144
|
groupKey,
|
|
3116
3145
|
limit,
|
|
3117
3146
|
targetRolloutLabel
|
|
3118
3147
|
}));
|
|
3119
3148
|
var loadRAGRetrievalReleaseLanePolicyHistory = async ({
|
|
3120
3149
|
store,
|
|
3150
|
+
corpusGroupKey,
|
|
3121
3151
|
groupKey,
|
|
3122
3152
|
limit,
|
|
3123
3153
|
rolloutLabel,
|
|
3124
3154
|
scope
|
|
3125
3155
|
}) => await Promise.resolve(store.listRecords({
|
|
3156
|
+
corpusGroupKey,
|
|
3126
3157
|
groupKey,
|
|
3127
3158
|
limit,
|
|
3128
3159
|
rolloutLabel,
|
|
@@ -3130,11 +3161,13 @@ var loadRAGRetrievalReleaseLanePolicyHistory = async ({
|
|
|
3130
3161
|
}));
|
|
3131
3162
|
var loadRAGRetrievalBaselineGatePolicyHistory = async ({
|
|
3132
3163
|
store,
|
|
3164
|
+
corpusGroupKey,
|
|
3133
3165
|
groupKey,
|
|
3134
3166
|
limit,
|
|
3135
3167
|
rolloutLabel,
|
|
3136
3168
|
scope
|
|
3137
3169
|
}) => await Promise.resolve(store.listRecords({
|
|
3170
|
+
corpusGroupKey,
|
|
3138
3171
|
groupKey,
|
|
3139
3172
|
limit,
|
|
3140
3173
|
rolloutLabel,
|
|
@@ -3142,6 +3175,7 @@ var loadRAGRetrievalBaselineGatePolicyHistory = async ({
|
|
|
3142
3175
|
}));
|
|
3143
3176
|
var loadRAGRetrievalReleaseLaneEscalationPolicyHistory = async ({
|
|
3144
3177
|
store,
|
|
3178
|
+
corpusGroupKey,
|
|
3145
3179
|
groupKey,
|
|
3146
3180
|
limit,
|
|
3147
3181
|
targetRolloutLabel
|
|
@@ -3229,11 +3263,15 @@ var persistRAGRetrievalReleaseLaneEscalationPolicyHistory = async ({
|
|
|
3229
3263
|
};
|
|
3230
3264
|
var buildRAGEvaluationResponse = (cases) => {
|
|
3231
3265
|
const totalCases = cases.length;
|
|
3266
|
+
const corpusKeys = [
|
|
3267
|
+
...new Set(cases.flatMap((entry) => entry.corpusKey ?? []))
|
|
3268
|
+
];
|
|
3232
3269
|
const passedCases = cases.filter((entry) => entry.status === "pass").length;
|
|
3233
3270
|
const partialCases = cases.filter((entry) => entry.status === "partial").length;
|
|
3234
3271
|
const failedCases = cases.filter((entry) => entry.status === "fail").length;
|
|
3235
3272
|
return {
|
|
3236
3273
|
cases,
|
|
3274
|
+
...corpusKeys.length > 0 ? { corpusKeys } : {},
|
|
3237
3275
|
elapsedMs: cases.reduce((sum, result) => sum + result.elapsedMs, 0),
|
|
3238
3276
|
ok: true,
|
|
3239
3277
|
passingRate: totalCases > 0 ? passedCases / totalCases * 100 : 0,
|
|
@@ -3459,6 +3497,9 @@ var compareRAGRetrievalStrategies = async ({
|
|
|
3459
3497
|
traceSummary: entry.traceSummary
|
|
3460
3498
|
})));
|
|
3461
3499
|
return {
|
|
3500
|
+
corpusKeys: [
|
|
3501
|
+
...new Set(entries.flatMap((entry) => entry.response.corpusKeys ?? []))
|
|
3502
|
+
],
|
|
3462
3503
|
entries,
|
|
3463
3504
|
leaderboard,
|
|
3464
3505
|
summary: summarizeRAGRetrievalComparison(entries),
|
|
@@ -3491,6 +3532,7 @@ var compareRAGRetrievalTraceSummaries = (current, previous) => ({
|
|
|
3491
3532
|
});
|
|
3492
3533
|
var buildSearchTraceResultSnapshots = (results) => results.map((result) => ({
|
|
3493
3534
|
chunkId: result.chunkId,
|
|
3535
|
+
corpusKey: result.corpusKey ?? (typeof result.metadata?.corpusKey === "string" ? result.metadata.corpusKey : undefined),
|
|
3494
3536
|
documentId: typeof result.metadata?.documentId === "string" ? result.metadata.documentId : undefined,
|
|
3495
3537
|
score: result.score,
|
|
3496
3538
|
source: result.source,
|
|
@@ -3690,6 +3732,7 @@ var summarizeRAGEvaluationCase = ({
|
|
|
3690
3732
|
const status = expectedCount === 0 ? "partial" : matchedCount === expectedCount ? "pass" : matchedCount > 0 ? "partial" : "fail";
|
|
3691
3733
|
return {
|
|
3692
3734
|
caseId: caseInput.id ?? `case-${caseIndex + 1}`,
|
|
3735
|
+
corpusKey: caseInput.corpusKey,
|
|
3693
3736
|
elapsedMs,
|
|
3694
3737
|
expectedCount,
|
|
3695
3738
|
expectedIds,
|
|
@@ -3715,73 +3758,73 @@ var summarizeRAGRerankerComparison = (entries) => {
|
|
|
3715
3758
|
var summarizeRAGRetrievalComparison = (entries) => summarizeEvaluationResponseComparison(entries, "retrievalId");
|
|
3716
3759
|
|
|
3717
3760
|
// src/ai/client/actions.ts
|
|
3718
|
-
var serverMessageToAction = (
|
|
3719
|
-
switch (
|
|
3761
|
+
var serverMessageToAction = (message) => {
|
|
3762
|
+
switch (message.type) {
|
|
3720
3763
|
case "chunk":
|
|
3721
3764
|
return {
|
|
3722
|
-
content:
|
|
3723
|
-
conversationId:
|
|
3724
|
-
messageId:
|
|
3765
|
+
content: message.content,
|
|
3766
|
+
conversationId: message.conversationId,
|
|
3767
|
+
messageId: message.messageId,
|
|
3725
3768
|
type: "chunk"
|
|
3726
3769
|
};
|
|
3727
3770
|
case "thinking":
|
|
3728
3771
|
return {
|
|
3729
|
-
content:
|
|
3730
|
-
conversationId:
|
|
3731
|
-
messageId:
|
|
3772
|
+
content: message.content,
|
|
3773
|
+
conversationId: message.conversationId,
|
|
3774
|
+
messageId: message.messageId,
|
|
3732
3775
|
type: "thinking"
|
|
3733
3776
|
};
|
|
3734
3777
|
case "tool_status":
|
|
3735
3778
|
return {
|
|
3736
|
-
conversationId:
|
|
3737
|
-
input:
|
|
3738
|
-
messageId:
|
|
3739
|
-
name:
|
|
3740
|
-
result:
|
|
3741
|
-
status:
|
|
3779
|
+
conversationId: message.conversationId,
|
|
3780
|
+
input: message.input,
|
|
3781
|
+
messageId: message.messageId,
|
|
3782
|
+
name: message.name,
|
|
3783
|
+
result: message.result,
|
|
3784
|
+
status: message.status,
|
|
3742
3785
|
type: "tool_status"
|
|
3743
3786
|
};
|
|
3744
3787
|
case "image":
|
|
3745
3788
|
return {
|
|
3746
|
-
conversationId:
|
|
3747
|
-
data:
|
|
3748
|
-
format:
|
|
3749
|
-
imageId:
|
|
3750
|
-
isPartial:
|
|
3751
|
-
messageId:
|
|
3752
|
-
revisedPrompt:
|
|
3789
|
+
conversationId: message.conversationId,
|
|
3790
|
+
data: message.data,
|
|
3791
|
+
format: message.format,
|
|
3792
|
+
imageId: message.imageId,
|
|
3793
|
+
isPartial: message.isPartial,
|
|
3794
|
+
messageId: message.messageId,
|
|
3795
|
+
revisedPrompt: message.revisedPrompt,
|
|
3753
3796
|
type: "image"
|
|
3754
3797
|
};
|
|
3755
3798
|
case "complete":
|
|
3756
3799
|
return {
|
|
3757
|
-
conversationId:
|
|
3758
|
-
durationMs:
|
|
3759
|
-
messageId:
|
|
3760
|
-
model:
|
|
3761
|
-
sources:
|
|
3800
|
+
conversationId: message.conversationId,
|
|
3801
|
+
durationMs: message.durationMs,
|
|
3802
|
+
messageId: message.messageId,
|
|
3803
|
+
model: message.model,
|
|
3804
|
+
sources: message.sources,
|
|
3762
3805
|
type: "complete",
|
|
3763
|
-
usage:
|
|
3806
|
+
usage: message.usage
|
|
3764
3807
|
};
|
|
3765
3808
|
case "rag_retrieving":
|
|
3766
3809
|
return {
|
|
3767
|
-
conversationId:
|
|
3768
|
-
messageId:
|
|
3769
|
-
retrievalStartedAt:
|
|
3810
|
+
conversationId: message.conversationId,
|
|
3811
|
+
messageId: message.messageId,
|
|
3812
|
+
retrievalStartedAt: message.retrievalStartedAt,
|
|
3770
3813
|
type: "rag_retrieving"
|
|
3771
3814
|
};
|
|
3772
3815
|
case "rag_retrieved":
|
|
3773
3816
|
return {
|
|
3774
|
-
conversationId:
|
|
3775
|
-
messageId:
|
|
3776
|
-
retrievalDurationMs:
|
|
3777
|
-
retrievalStartedAt:
|
|
3778
|
-
retrievedAt:
|
|
3779
|
-
sources:
|
|
3780
|
-
trace:
|
|
3817
|
+
conversationId: message.conversationId,
|
|
3818
|
+
messageId: message.messageId,
|
|
3819
|
+
retrievalDurationMs: message.retrievalDurationMs,
|
|
3820
|
+
retrievalStartedAt: message.retrievalStartedAt,
|
|
3821
|
+
retrievedAt: message.retrievedAt,
|
|
3822
|
+
sources: message.sources,
|
|
3823
|
+
trace: message.trace,
|
|
3781
3824
|
type: "rag_retrieved"
|
|
3782
3825
|
};
|
|
3783
3826
|
case "error":
|
|
3784
|
-
return { message:
|
|
3827
|
+
return { message: message.message, type: "error" };
|
|
3785
3828
|
default:
|
|
3786
3829
|
return null;
|
|
3787
3830
|
}
|
|
@@ -4240,8 +4283,8 @@ var createAIStream = (path, conversationId) => {
|
|
|
4240
4283
|
listeners.forEach((listener) => listener());
|
|
4241
4284
|
};
|
|
4242
4285
|
const unsubscribeStore = store.subscribe(syncState);
|
|
4243
|
-
const unsubscribeConnection = connection.subscribe((
|
|
4244
|
-
const action = serverMessageToAction(
|
|
4286
|
+
const unsubscribeConnection = connection.subscribe((message) => {
|
|
4287
|
+
const action = serverMessageToAction(message);
|
|
4245
4288
|
if (action) {
|
|
4246
4289
|
store.dispatch(action);
|
|
4247
4290
|
}
|
|
@@ -4886,10 +4929,14 @@ var buildProvenanceLabel2 = (metadata) => {
|
|
|
4886
4929
|
const transcriptSource = getContextString2(metadata.transcriptSource);
|
|
4887
4930
|
const pdfTextMode = getContextString2(metadata.pdfTextMode);
|
|
4888
4931
|
const ocrEngine = getContextString2(metadata.ocrEngine);
|
|
4932
|
+
const extractorRegistryMatch = getContextString2(metadata.extractorRegistryMatch);
|
|
4933
|
+
const chunkingProfile = getContextString2(metadata.chunkingProfile);
|
|
4889
4934
|
const ocrConfidence = getContextNumber2(metadata.ocrRegionConfidence) ?? getContextNumber2(metadata.ocrConfidence);
|
|
4890
4935
|
const labels = [
|
|
4891
4936
|
pdfTextMode ? `PDF ${pdfTextMode}` : "",
|
|
4892
4937
|
ocrEngine ? `OCR ${ocrEngine}` : "",
|
|
4938
|
+
extractorRegistryMatch ? `Extractor ${extractorRegistryMatch}` : "",
|
|
4939
|
+
chunkingProfile ? `Chunking ${chunkingProfile}` : "",
|
|
4893
4940
|
typeof ocrConfidence === "number" ? `Confidence ${ocrConfidence.toFixed(2)}` : "",
|
|
4894
4941
|
mediaKind ? `Media ${mediaKind}` : "",
|
|
4895
4942
|
transcriptSource ? `Transcript ${transcriptSource}` : "",
|
|
@@ -7468,5 +7515,5 @@ export {
|
|
|
7468
7515
|
buildRAGEvaluationLeaderboard
|
|
7469
7516
|
};
|
|
7470
7517
|
|
|
7471
|
-
//# debugId=
|
|
7518
|
+
//# debugId=C05B96F630EB2B9164756E2164756E21
|
|
7472
7519
|
//# sourceMappingURL=index.js.map
|