@absolutejs/absolute 0.19.0-beta.621 → 0.19.0-beta.622
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 +5 -1
- package/dist/ai/client/index.js.map +3 -3
- package/dist/ai/client/ui.js +5 -1
- package/dist/ai/client/ui.js.map +3 -3
- package/dist/ai/index.js +107 -12
- package/dist/ai/index.js.map +6 -6
- 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 +4 -0
- package/dist/ai-client/react/ai/index.js +4 -0
- package/dist/ai-client/vue/ai/index.js +4 -0
- package/dist/angular/ai/index.js +5 -1
- package/dist/angular/ai/index.js.map +3 -3
- package/dist/react/ai/index.js +5 -1
- package/dist/react/ai/index.js.map +3 -3
- package/dist/svelte/ai/index.js +5 -1
- package/dist/svelte/ai/index.js.map +3 -3
- package/dist/vue/ai/index.js +5 -1
- package/dist/vue/ai/index.js.map +3 -3
- package/package.json +7 -7
package/dist/ai/index.js
CHANGED
|
@@ -4471,6 +4471,8 @@ var buildProvenanceLabel2 = (metadata) => {
|
|
|
4471
4471
|
const mediaSegmentGroupIndex = getContextNumber2(metadata.mediaSegmentGroupIndex);
|
|
4472
4472
|
const mediaChannel = getContextString2(metadata.mediaChannel);
|
|
4473
4473
|
const mediaDurationLabel = formatMediaDurationLabel2(metadata.mediaDurationMs);
|
|
4474
|
+
const mediaSegmentWindowDurationLabel = formatMediaDurationLabel2(metadata.mediaSegmentGroupDurationMs);
|
|
4475
|
+
const mediaSegmentGapLabel = formatMediaDurationLabel2(metadata.mediaSegmentGapFromPreviousMs);
|
|
4474
4476
|
const spreadsheetHeaders = getSpreadsheetHeaders(metadata);
|
|
4475
4477
|
const slideNotesText = getContextString2(metadata.slideNotesText);
|
|
4476
4478
|
const pdfTextMode = getContextString2(metadata.pdfTextMode);
|
|
@@ -4506,6 +4508,8 @@ var buildProvenanceLabel2 = (metadata) => {
|
|
|
4506
4508
|
mediaChannel ? `Channel ${mediaChannel}` : "",
|
|
4507
4509
|
mediaSpeakerCount ? `${mediaSpeakerCount} speakers` : "",
|
|
4508
4510
|
mediaDurationLabel ? `Duration ${mediaDurationLabel}` : "",
|
|
4511
|
+
mediaSegmentWindowDurationLabel ? `Segment window ${mediaSegmentWindowDurationLabel}` : "",
|
|
4512
|
+
mediaSegmentGapLabel ? `Gap ${mediaSegmentGapLabel} from previous window` : "",
|
|
4509
4513
|
transcriptSource ? `Transcript ${transcriptSource}` : "",
|
|
4510
4514
|
threadTopic ? `Thread ${threadTopic}` : "",
|
|
4511
4515
|
threadRootMessageId ? `Thread root ${threadRootMessageId}` : "",
|
|
@@ -8715,6 +8719,10 @@ var scoreStructuredEvidenceMatch = (queryTokens, result) => {
|
|
|
8715
8719
|
const mediaSpeakerCount = typeof metadata.mediaSpeakerCount === "number" ? metadata.mediaSpeakerCount : undefined;
|
|
8716
8720
|
const mediaSegmentCount = typeof metadata.mediaSegmentCount === "number" ? metadata.mediaSegmentCount : undefined;
|
|
8717
8721
|
const mediaSegmentGroupSize = typeof metadata.mediaSegmentGroupSize === "number" ? metadata.mediaSegmentGroupSize : undefined;
|
|
8722
|
+
const mediaSegmentGroupStartMs = typeof metadata.mediaSegmentGroupStartMs === "number" && Number.isFinite(metadata.mediaSegmentGroupStartMs) ? metadata.mediaSegmentGroupStartMs : typeof metadata.mediaSegmentStartMs === "number" && Number.isFinite(metadata.mediaSegmentStartMs) ? metadata.mediaSegmentStartMs : undefined;
|
|
8723
|
+
const mediaSegmentGroupEndMs = typeof metadata.mediaSegmentGroupEndMs === "number" && Number.isFinite(metadata.mediaSegmentGroupEndMs) ? metadata.mediaSegmentGroupEndMs : typeof metadata.mediaSegmentEndMs === "number" && Number.isFinite(metadata.mediaSegmentEndMs) ? metadata.mediaSegmentEndMs : undefined;
|
|
8724
|
+
const mediaSegmentGroupDurationMs = typeof metadata.mediaSegmentGroupDurationMs === "number" && Number.isFinite(metadata.mediaSegmentGroupDurationMs) ? metadata.mediaSegmentGroupDurationMs : typeof mediaSegmentGroupStartMs === "number" && typeof mediaSegmentGroupEndMs === "number" && mediaSegmentGroupEndMs >= mediaSegmentGroupStartMs ? mediaSegmentGroupEndMs - mediaSegmentGroupStartMs : undefined;
|
|
8725
|
+
const mediaSegmentGapFromPreviousMs = typeof metadata.mediaSegmentGapFromPreviousMs === "number" && Number.isFinite(metadata.mediaSegmentGapFromPreviousMs) ? metadata.mediaSegmentGapFromPreviousMs : undefined;
|
|
8718
8726
|
const mediaChannel = metadataString(metadata.mediaChannel);
|
|
8719
8727
|
const speaker = metadataString(metadata.speaker);
|
|
8720
8728
|
const ocrConfidence = typeof metadata.ocrRegionConfidence === "number" ? metadata.ocrRegionConfidence : typeof metadata.ocrPageAverageConfidence === "number" ? metadata.ocrPageAverageConfidence : typeof metadata.ocrAverageConfidence === "number" ? metadata.ocrAverageConfidence : typeof metadata.ocrConfidence === "number" ? metadata.ocrConfidence : undefined;
|
|
@@ -8836,6 +8844,36 @@ var scoreStructuredEvidenceMatch = (queryTokens, result) => {
|
|
|
8836
8844
|
])) {
|
|
8837
8845
|
score += 0.06;
|
|
8838
8846
|
}
|
|
8847
|
+
if (typeof mediaSegmentGroupStartMs === "number" && typeof mediaSegmentGroupEndMs === "number" && queryHasAnyToken(queryTokens, [
|
|
8848
|
+
"timestamp",
|
|
8849
|
+
"segment",
|
|
8850
|
+
"segments",
|
|
8851
|
+
"audio",
|
|
8852
|
+
"video",
|
|
8853
|
+
"window",
|
|
8854
|
+
"start",
|
|
8855
|
+
"end"
|
|
8856
|
+
])) {
|
|
8857
|
+
score += 0.05;
|
|
8858
|
+
}
|
|
8859
|
+
if (typeof mediaSegmentGroupDurationMs === "number" && queryHasAnyToken(queryTokens, ["duration", "timestamp", "segment"])) {
|
|
8860
|
+
score += 0.06;
|
|
8861
|
+
if (queryHasAnyToken(queryTokens, ["long", "longer", "longest"]) && mediaSegmentGroupDurationMs >= 1e4) {
|
|
8862
|
+
score += 0.12;
|
|
8863
|
+
}
|
|
8864
|
+
if (queryHasAnyToken(queryTokens, ["short", "shorter", "shortest"]) && mediaSegmentGroupDurationMs <= 5000) {
|
|
8865
|
+
score += 0.12;
|
|
8866
|
+
}
|
|
8867
|
+
}
|
|
8868
|
+
if (queryHasAnyToken(queryTokens, ["continuous", "gap", "gaps"]) && typeof mediaSegmentGapFromPreviousMs === "number") {
|
|
8869
|
+
if (mediaSegmentGapFromPreviousMs === 0) {
|
|
8870
|
+
score += 0.2;
|
|
8871
|
+
} else if (mediaSegmentGapFromPreviousMs <= 1000) {
|
|
8872
|
+
score += 0.14;
|
|
8873
|
+
} else if (mediaSegmentGapFromPreviousMs <= 3000) {
|
|
8874
|
+
score += 0.06;
|
|
8875
|
+
}
|
|
8876
|
+
}
|
|
8839
8877
|
if (mediaChannel && queryHasAnyToken(queryTokens, [
|
|
8840
8878
|
"channel",
|
|
8841
8879
|
"channels",
|
|
@@ -9133,28 +9171,71 @@ var formatMediaTimestampForIngest = (value) => {
|
|
|
9133
9171
|
return `${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}.${String(milliseconds).padStart(3, "0")}`;
|
|
9134
9172
|
};
|
|
9135
9173
|
var normalizeMediaSpeaker = (value) => typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
|
|
9136
|
-
var
|
|
9174
|
+
var normalizeMediaTimestamp = (value) => typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : undefined;
|
|
9175
|
+
var normalizeMediaSegmentWindow = (startMs, endMs) => {
|
|
9176
|
+
if (typeof startMs !== "number" && typeof endMs !== "number") {
|
|
9177
|
+
return { endMs, startMs };
|
|
9178
|
+
}
|
|
9179
|
+
if (typeof startMs === "number" && typeof endMs === "number" && endMs < startMs) {
|
|
9180
|
+
return {
|
|
9181
|
+
startMs: undefined,
|
|
9182
|
+
endMs: undefined
|
|
9183
|
+
};
|
|
9184
|
+
}
|
|
9185
|
+
return {
|
|
9186
|
+
startMs,
|
|
9187
|
+
endMs
|
|
9188
|
+
};
|
|
9189
|
+
};
|
|
9190
|
+
var canonicalMediaChannel = (value) => {
|
|
9191
|
+
if (typeof value !== "string") {
|
|
9192
|
+
return;
|
|
9193
|
+
}
|
|
9194
|
+
switch (value.trim().toLowerCase().replace(/[\s_-]+/g, "")) {
|
|
9195
|
+
case "l":
|
|
9196
|
+
case "left":
|
|
9197
|
+
case "ch1":
|
|
9198
|
+
case "channel1":
|
|
9199
|
+
case "one":
|
|
9200
|
+
return "left";
|
|
9201
|
+
case "r":
|
|
9202
|
+
case "right":
|
|
9203
|
+
case "ch2":
|
|
9204
|
+
case "channel2":
|
|
9205
|
+
case "two":
|
|
9206
|
+
return "right";
|
|
9207
|
+
case "m":
|
|
9208
|
+
case "mono":
|
|
9209
|
+
return "mono";
|
|
9210
|
+
default:
|
|
9211
|
+
return value.trim().toLowerCase();
|
|
9212
|
+
}
|
|
9213
|
+
};
|
|
9214
|
+
var normalizeMediaChannel = (value) => canonicalMediaChannel(value);
|
|
9137
9215
|
var buildMediaTimestampBoundary = (segments) => {
|
|
9138
9216
|
let startMs;
|
|
9139
9217
|
let endMs;
|
|
9140
9218
|
for (const segment of segments) {
|
|
9141
9219
|
if (typeof segment.startMs === "number" && Number.isFinite(segment.startMs)) {
|
|
9142
|
-
startMs = segment.startMs;
|
|
9143
|
-
break;
|
|
9220
|
+
startMs = typeof startMs === "number" ? Math.min(startMs, segment.startMs) : segment.startMs;
|
|
9144
9221
|
}
|
|
9145
9222
|
}
|
|
9146
|
-
for (
|
|
9147
|
-
const segment = segments[index];
|
|
9148
|
-
if (!segment) {
|
|
9149
|
-
continue;
|
|
9150
|
-
}
|
|
9223
|
+
for (const segment of segments) {
|
|
9151
9224
|
if (typeof segment.endMs === "number" && Number.isFinite(segment.endMs)) {
|
|
9152
|
-
endMs = segment.endMs;
|
|
9153
|
-
break;
|
|
9225
|
+
endMs = typeof endMs === "number" ? Math.max(endMs, segment.endMs) : segment.endMs;
|
|
9154
9226
|
}
|
|
9155
9227
|
}
|
|
9156
9228
|
return { endMs, startMs };
|
|
9157
9229
|
};
|
|
9230
|
+
var normalizeMediaSegment = (segment) => {
|
|
9231
|
+
const normalizedTimestampWindow = normalizeMediaSegmentWindow(normalizeMediaTimestamp(segment.startMs), normalizeMediaTimestamp(segment.endMs));
|
|
9232
|
+
return {
|
|
9233
|
+
...segment,
|
|
9234
|
+
speaker: normalizeMediaSpeaker(segment.speaker),
|
|
9235
|
+
channel: canonicalMediaChannel(segment.channel),
|
|
9236
|
+
...normalizedTimestampWindow
|
|
9237
|
+
};
|
|
9238
|
+
};
|
|
9158
9239
|
var groupTranscriptSegments = (segments) => {
|
|
9159
9240
|
const groups = [];
|
|
9160
9241
|
for (const segment of segments) {
|
|
@@ -10743,7 +10824,7 @@ var createRAGMediaFileExtractor = (transcriber) => ({
|
|
|
10743
10824
|
return false;
|
|
10744
10825
|
}
|
|
10745
10826
|
return normalizeWhitespace(segment.text ?? "").length > 0;
|
|
10746
|
-
});
|
|
10827
|
+
}).map(normalizeMediaSegment);
|
|
10747
10828
|
const segmentGroups = groupTranscriptSegments(rawSegments);
|
|
10748
10829
|
const source = input.source ?? input.path ?? input.name ?? `${slugify(input.title ?? DEFAULT_BINARY_NAME)}.media.txt`;
|
|
10749
10830
|
const segmentCount = rawSegments.length;
|
|
@@ -10758,6 +10839,7 @@ var createRAGMediaFileExtractor = (transcriber) => ({
|
|
|
10758
10839
|
...new Set(rawSegments.map((segment) => normalizeMediaSpeaker(segment.speaker)).filter((value) => typeof value === "string"))
|
|
10759
10840
|
];
|
|
10760
10841
|
const segmentDocuments = [];
|
|
10842
|
+
let previousGroupEndMs;
|
|
10761
10843
|
for (const [index, segmentGroup] of segmentGroups.entries()) {
|
|
10762
10844
|
const { endMs, startMs } = buildMediaTimestampBoundary(segmentGroup.segments);
|
|
10763
10845
|
const groupText = normalizeWhitespace(segmentGroup.segments.map((segment) => normalizeWhitespace(segment.text ?? "")).filter((value) => value.length > 0).join(" "));
|
|
@@ -10769,6 +10851,9 @@ var createRAGMediaFileExtractor = (transcriber) => ({
|
|
|
10769
10851
|
const startLabel = formatMediaTimestampForIngest(startMs);
|
|
10770
10852
|
const endLabel = formatMediaTimestampForIngest(endMs);
|
|
10771
10853
|
const mediaKind = typeof result.metadata?.mediaKind === "string" ? result.metadata.mediaKind : "media";
|
|
10854
|
+
const mediaSegmentGapFromPreviousMs = typeof startMs === "number" && typeof previousGroupEndMs === "number" && Number.isFinite(startMs) && Number.isFinite(previousGroupEndMs) ? Math.max(0, startMs - previousGroupEndMs) : undefined;
|
|
10855
|
+
previousGroupEndMs = endMs;
|
|
10856
|
+
const mediaSegmentGroupDurationMs = typeof endMs === "number" && typeof startMs === "number" && Number.isFinite(endMs) && Number.isFinite(startMs) && endMs >= startMs ? endMs - startMs : undefined;
|
|
10772
10857
|
segmentDocuments.push({
|
|
10773
10858
|
chunking: input.chunking,
|
|
10774
10859
|
contentType: input.contentType,
|
|
@@ -10787,6 +10872,10 @@ var createRAGMediaFileExtractor = (transcriber) => ({
|
|
|
10787
10872
|
mediaSegmentGroupSize: segmentGroup.segments.length,
|
|
10788
10873
|
mediaSegmentGroupSpeaker: segmentGroup.speaker,
|
|
10789
10874
|
mediaChannel: segmentGroup.channel,
|
|
10875
|
+
mediaSegmentGroupDurationMs,
|
|
10876
|
+
mediaSegmentGapFromPreviousMs,
|
|
10877
|
+
mediaSegmentGroupStartMs: startMs,
|
|
10878
|
+
mediaSegmentGroupEndMs: endMs,
|
|
10790
10879
|
mediaSegments: segmentGroup.segments,
|
|
10791
10880
|
startMs: mediaSegmentStartMs,
|
|
10792
10881
|
endMs: mediaSegmentEndMs,
|
|
@@ -12650,6 +12739,9 @@ var buildRAGContextProvenanceLabel = (metadata) => {
|
|
|
12650
12739
|
const threadTopic = getContextString3(metadata.threadTopic);
|
|
12651
12740
|
const from = getContextString3(metadata.from);
|
|
12652
12741
|
const speaker = getContextString3(metadata.speaker);
|
|
12742
|
+
const mediaChannel = getContextString3(metadata.mediaChannel);
|
|
12743
|
+
const mediaSegmentGroupDurationMs = getContextNumber3(metadata.mediaSegmentGroupDurationMs);
|
|
12744
|
+
const mediaSegmentGapFromPreviousMs = getContextNumber3(metadata.mediaSegmentGapFromPreviousMs);
|
|
12653
12745
|
const ocrConfidence = getContextNumber3(metadata.ocrRegionConfidence) ?? getContextNumber3(metadata.ocrConfidence);
|
|
12654
12746
|
const labels = [
|
|
12655
12747
|
pdfTextMode ? `PDF ${pdfTextMode}` : "",
|
|
@@ -12659,6 +12751,9 @@ var buildRAGContextProvenanceLabel = (metadata) => {
|
|
|
12659
12751
|
transcriptSource ? `Transcript ${transcriptSource}` : "",
|
|
12660
12752
|
threadTopic ? `Thread ${threadTopic}` : "",
|
|
12661
12753
|
speaker ? `Speaker ${speaker}` : "",
|
|
12754
|
+
mediaChannel ? `Channel ${mediaChannel}` : "",
|
|
12755
|
+
typeof mediaSegmentGroupDurationMs === "number" ? `Segment window ${String(Math.floor(mediaSegmentGroupDurationMs / 1000))}s` : "",
|
|
12756
|
+
typeof mediaSegmentGapFromPreviousMs === "number" ? `Segment gap ${String(Math.floor(mediaSegmentGapFromPreviousMs / 1000))}s` : "",
|
|
12662
12757
|
from ? `Sender ${from}` : ""
|
|
12663
12758
|
].filter((value) => value.length > 0);
|
|
12664
12759
|
return labels.length > 0 ? labels.join(" \xB7 ") : undefined;
|
|
@@ -24836,5 +24931,5 @@ export {
|
|
|
24836
24931
|
aiChat
|
|
24837
24932
|
};
|
|
24838
24933
|
|
|
24839
|
-
//# debugId=
|
|
24934
|
+
//# debugId=E93ED81BD7E5AC3C64756E2164756E21
|
|
24840
24935
|
//# sourceMappingURL=index.js.map
|