@absolutejs/absolute 0.19.0-beta.604 → 0.19.0-beta.605
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 +186 -6
- package/dist/ai/client/index.js.map +4 -4
- package/dist/ai/client/ui.js +190 -6
- package/dist/ai/client/ui.js.map +4 -4
- package/dist/ai/index.js +289 -36
- package/dist/ai/index.js.map +7 -7
- package/dist/ai/rag/quality.js +17 -6
- package/dist/ai/rag/quality.js.map +3 -3
- package/dist/ai/rag/ui.js +190 -6
- package/dist/ai/rag/ui.js.map +4 -4
- package/dist/ai-client/angular/ai/index.js +185 -5
- package/dist/ai-client/react/ai/index.js +200 -6
- package/dist/ai-client/vue/ai/index.js +289 -97
- package/dist/angular/ai/index.js +186 -6
- package/dist/angular/ai/index.js.map +4 -4
- 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 +201 -7
- package/dist/react/ai/index.js.map +6 -6
- package/dist/src/ai/client/ui.d.ts +1 -1
- package/dist/src/ai/rag/index.d.ts +1 -1
- package/dist/src/ai/rag/presentation.d.ts +7 -1
- package/dist/src/ai/rag/ui.d.ts +1 -1
- package/dist/src/react/ai/useRAG.d.ts +5 -0
- package/dist/src/react/ai/useRAGChunkPreview.d.ts +4 -0
- package/dist/src/react/ai/useRAGSources.d.ts +1 -0
- package/dist/src/svelte/ai/createRAG.d.ts +5 -0
- package/dist/src/svelte/ai/createRAGChunkPreview.d.ts +4 -0
- package/dist/src/svelte/ai/createRAGSources.d.ts +1 -0
- package/dist/src/vue/ai/useRAG.d.ts +65 -0
- package/dist/src/vue/ai/useRAGChunkPreview.d.ts +34 -0
- package/dist/src/vue/ai/useRAGSearch.d.ts +30 -0
- package/dist/src/vue/ai/useRAGSources.d.ts +1 -0
- package/dist/svelte/ai/index.js +247 -53
- package/dist/svelte/ai/index.js.map +6 -6
- package/dist/types/ai.d.ts +60 -0
- package/dist/vue/ai/index.js +253 -59
- package/dist/vue/ai/index.js.map +6 -6
- package/package.json +1 -1
package/dist/svelte/ai/index.js
CHANGED
|
@@ -243,6 +243,11 @@ var buildContextLabel = (metadata) => {
|
|
|
243
243
|
if (speaker) {
|
|
244
244
|
return `Speaker ${speaker}`;
|
|
245
245
|
}
|
|
246
|
+
const sectionPath = Array.isArray(metadata.sectionPath) ? metadata.sectionPath.map((value) => getContextString(value)).filter((value) => typeof value === "string") : [];
|
|
247
|
+
const sectionTitle = getContextString(metadata.sectionTitle) ?? sectionPath.at(-1);
|
|
248
|
+
if (sectionTitle) {
|
|
249
|
+
return `Section ${sectionTitle}`;
|
|
250
|
+
}
|
|
246
251
|
return;
|
|
247
252
|
};
|
|
248
253
|
var formatMediaTimestamp = (value) => {
|
|
@@ -292,6 +297,10 @@ var buildLocatorLabel = (metadata, source, title) => {
|
|
|
292
297
|
if (mediaStart) {
|
|
293
298
|
return `Timestamp ${mediaStart}`;
|
|
294
299
|
}
|
|
300
|
+
const sectionPath = Array.isArray(metadata.sectionPath) ? metadata.sectionPath.map((value) => getContextString(value)).filter((value) => typeof value === "string") : [];
|
|
301
|
+
if (sectionPath.length > 0) {
|
|
302
|
+
return `Section ${sectionPath.join(" > ")}`;
|
|
303
|
+
}
|
|
295
304
|
return;
|
|
296
305
|
};
|
|
297
306
|
var formatTimestampLabel = (value) => {
|
|
@@ -341,8 +350,10 @@ var buildExcerpt = (text, maxLength = 160) => {
|
|
|
341
350
|
var buildGroundingReferenceEvidenceLabel = (reference) => [reference.label, reference.locatorLabel, reference.contextLabel].filter((value) => Boolean(value && value.length > 0)).filter((value, index, values) => values.findIndex((entry) => entry === value) === index).join(" \xB7 ");
|
|
342
351
|
var buildGroundingReferenceEvidenceSummary = (reference) => [
|
|
343
352
|
reference.source ?? reference.title ?? reference.chunkId,
|
|
353
|
+
reference.locatorLabel,
|
|
354
|
+
reference.contextLabel,
|
|
344
355
|
reference.provenanceLabel
|
|
345
|
-
].filter((value) => Boolean(value && value.length > 0)).join(" \xB7 ");
|
|
356
|
+
].filter((value) => Boolean(value && value.length > 0)).filter((value, index, values) => values.findIndex((entry) => entry === value) === index).join(" \xB7 ");
|
|
346
357
|
var buildGroundedAnswerCitationDetail = (reference) => ({
|
|
347
358
|
contextLabel: reference.contextLabel,
|
|
348
359
|
evidenceLabel: buildGroundingReferenceEvidenceLabel(reference),
|
|
@@ -366,12 +377,12 @@ var buildRAGCitations = (sources) => {
|
|
|
366
377
|
continue;
|
|
367
378
|
unique.set(key, {
|
|
368
379
|
chunkId: source.chunkId,
|
|
369
|
-
contextLabel: buildContextLabel(source.metadata),
|
|
380
|
+
contextLabel: source.labels?.contextLabel ?? buildContextLabel(source.metadata),
|
|
370
381
|
key,
|
|
371
382
|
label: buildSourceLabel(source),
|
|
372
|
-
locatorLabel: buildLocatorLabel(source.metadata, source.source, source.title),
|
|
383
|
+
locatorLabel: source.labels?.locatorLabel ?? buildLocatorLabel(source.metadata, source.source, source.title),
|
|
373
384
|
metadata: source.metadata,
|
|
374
|
-
provenanceLabel: buildProvenanceLabel(source.metadata),
|
|
385
|
+
provenanceLabel: source.labels?.provenanceLabel ?? buildProvenanceLabel(source.metadata),
|
|
375
386
|
score: source.score,
|
|
376
387
|
source: source.source,
|
|
377
388
|
text: source.text,
|
|
@@ -441,7 +452,7 @@ var buildRAGGroundingReferences = (sources) => {
|
|
|
441
452
|
const citationReferenceMap = buildRAGCitationReferenceMap(citations);
|
|
442
453
|
return citations.map((citation) => ({
|
|
443
454
|
chunkId: citation.chunkId,
|
|
444
|
-
contextLabel: buildContextLabel(citation.metadata),
|
|
455
|
+
contextLabel: citation.contextLabel ?? buildContextLabel(citation.metadata),
|
|
445
456
|
excerpt: buildExcerpt(citation.text),
|
|
446
457
|
label: citation.label,
|
|
447
458
|
locatorLabel: citation.locatorLabel ?? buildLocatorLabel(citation.metadata, citation.source, citation.title),
|
|
@@ -4014,6 +4025,11 @@ var buildContextLabel2 = (metadata) => {
|
|
|
4014
4025
|
if (speaker) {
|
|
4015
4026
|
return `Speaker ${speaker}`;
|
|
4016
4027
|
}
|
|
4028
|
+
const sectionPath = Array.isArray(metadata.sectionPath) ? metadata.sectionPath.map((value) => getContextString2(value)).filter((value) => typeof value === "string") : [];
|
|
4029
|
+
const sectionTitle = getContextString2(metadata.sectionTitle) ?? sectionPath.at(-1);
|
|
4030
|
+
if (sectionTitle) {
|
|
4031
|
+
return `Section ${sectionTitle}`;
|
|
4032
|
+
}
|
|
4017
4033
|
return;
|
|
4018
4034
|
};
|
|
4019
4035
|
var buildLocatorLabel2 = (metadata, source, title) => {
|
|
@@ -4053,6 +4069,10 @@ var buildLocatorLabel2 = (metadata, source, title) => {
|
|
|
4053
4069
|
if (mediaStart) {
|
|
4054
4070
|
return `Timestamp ${mediaStart}`;
|
|
4055
4071
|
}
|
|
4072
|
+
const sectionPath = Array.isArray(metadata.sectionPath) ? metadata.sectionPath.map((value) => getContextString2(value)).filter((value) => typeof value === "string") : [];
|
|
4073
|
+
if (sectionPath.length > 0) {
|
|
4074
|
+
return `Section ${sectionPath.join(" > ")}`;
|
|
4075
|
+
}
|
|
4056
4076
|
return;
|
|
4057
4077
|
};
|
|
4058
4078
|
var buildProvenanceLabel2 = (metadata) => {
|
|
@@ -4098,6 +4118,33 @@ var buildRAGSourceLabels = ({
|
|
|
4098
4118
|
provenanceLabel
|
|
4099
4119
|
};
|
|
4100
4120
|
};
|
|
4121
|
+
var buildRAGChunkStructure = (metadata) => {
|
|
4122
|
+
if (!metadata) {
|
|
4123
|
+
return;
|
|
4124
|
+
}
|
|
4125
|
+
const sectionPath = Array.isArray(metadata.sectionPath) ? metadata.sectionPath.filter((value) => typeof value === "string" && value.trim().length > 0) : undefined;
|
|
4126
|
+
const sectionKind = metadata.sectionKind === "markdown_heading" || metadata.sectionKind === "html_heading" ? metadata.sectionKind : undefined;
|
|
4127
|
+
const section = {
|
|
4128
|
+
depth: getContextNumber2(metadata.sectionDepth),
|
|
4129
|
+
kind: sectionKind,
|
|
4130
|
+
path: sectionPath && sectionPath.length > 0 ? sectionPath : undefined,
|
|
4131
|
+
title: getContextString2(metadata.sectionTitle)
|
|
4132
|
+
};
|
|
4133
|
+
const sequence = {
|
|
4134
|
+
nextChunkId: getContextString2(metadata.nextChunkId),
|
|
4135
|
+
previousChunkId: getContextString2(metadata.previousChunkId),
|
|
4136
|
+
sectionChunkCount: getContextNumber2(metadata.sectionChunkCount),
|
|
4137
|
+
sectionChunkId: getContextString2(metadata.sectionChunkId),
|
|
4138
|
+
sectionChunkIndex: getContextNumber2(metadata.sectionChunkIndex)
|
|
4139
|
+
};
|
|
4140
|
+
if (!section.title && (!section.path || section.path.length === 0) && typeof section.depth !== "number" && !section.kind && !sequence.nextChunkId && !sequence.previousChunkId && typeof sequence.sectionChunkCount !== "number" && !sequence.sectionChunkId && typeof sequence.sectionChunkIndex !== "number") {
|
|
4141
|
+
return;
|
|
4142
|
+
}
|
|
4143
|
+
return {
|
|
4144
|
+
section: section.title || section.path && section.path.length > 0 || typeof section.depth === "number" || section.kind ? section : undefined,
|
|
4145
|
+
sequence: sequence.nextChunkId || sequence.previousChunkId || typeof sequence.sectionChunkCount === "number" || sequence.sectionChunkId || typeof sequence.sectionChunkIndex === "number" ? sequence : undefined
|
|
4146
|
+
};
|
|
4147
|
+
};
|
|
4101
4148
|
var buildExcerpt2 = (text, maxLength = 160) => {
|
|
4102
4149
|
const normalized = text.replaceAll(/\s+/g, " ").trim();
|
|
4103
4150
|
if (normalized.length <= maxLength) {
|
|
@@ -4105,6 +4152,136 @@ var buildExcerpt2 = (text, maxLength = 160) => {
|
|
|
4105
4152
|
}
|
|
4106
4153
|
return `${normalized.slice(0, Math.max(0, maxLength - 1)).trimEnd()}\u2026`;
|
|
4107
4154
|
};
|
|
4155
|
+
var buildRAGChunkGraph = (chunks) => {
|
|
4156
|
+
const nodes = [];
|
|
4157
|
+
const edges = [];
|
|
4158
|
+
const edgeKeys = new Set;
|
|
4159
|
+
const sections = new Map;
|
|
4160
|
+
for (const chunk of chunks) {
|
|
4161
|
+
const labels = chunk.labels ?? buildRAGSourceLabels({
|
|
4162
|
+
metadata: chunk.metadata,
|
|
4163
|
+
source: chunk.source,
|
|
4164
|
+
title: chunk.title
|
|
4165
|
+
});
|
|
4166
|
+
const structure = chunk.structure ?? buildRAGChunkStructure(chunk.metadata);
|
|
4167
|
+
nodes.push({
|
|
4168
|
+
chunkId: chunk.chunkId,
|
|
4169
|
+
contextLabel: labels?.contextLabel,
|
|
4170
|
+
label: chunk.source ?? chunk.title ?? chunk.chunkId,
|
|
4171
|
+
locatorLabel: labels?.locatorLabel,
|
|
4172
|
+
provenanceLabel: labels?.provenanceLabel,
|
|
4173
|
+
score: chunk.score,
|
|
4174
|
+
source: chunk.source,
|
|
4175
|
+
structure,
|
|
4176
|
+
title: chunk.title
|
|
4177
|
+
});
|
|
4178
|
+
const previousChunkId = structure?.sequence?.previousChunkId;
|
|
4179
|
+
if (previousChunkId) {
|
|
4180
|
+
const key = `previous:${previousChunkId}:${chunk.chunkId}`;
|
|
4181
|
+
if (!edgeKeys.has(key)) {
|
|
4182
|
+
edgeKeys.add(key);
|
|
4183
|
+
edges.push({
|
|
4184
|
+
fromChunkId: previousChunkId,
|
|
4185
|
+
relation: "previous",
|
|
4186
|
+
toChunkId: chunk.chunkId
|
|
4187
|
+
});
|
|
4188
|
+
}
|
|
4189
|
+
}
|
|
4190
|
+
const nextChunkId = structure?.sequence?.nextChunkId;
|
|
4191
|
+
if (nextChunkId) {
|
|
4192
|
+
const key = `next:${chunk.chunkId}:${nextChunkId}`;
|
|
4193
|
+
if (!edgeKeys.has(key)) {
|
|
4194
|
+
edgeKeys.add(key);
|
|
4195
|
+
edges.push({
|
|
4196
|
+
fromChunkId: chunk.chunkId,
|
|
4197
|
+
relation: "next",
|
|
4198
|
+
toChunkId: nextChunkId
|
|
4199
|
+
});
|
|
4200
|
+
}
|
|
4201
|
+
}
|
|
4202
|
+
const sectionId = structure?.sequence?.sectionChunkId;
|
|
4203
|
+
if (sectionId) {
|
|
4204
|
+
const existing = sections.get(sectionId);
|
|
4205
|
+
if (!existing) {
|
|
4206
|
+
sections.set(sectionId, {
|
|
4207
|
+
chunkCount: structure.sequence?.sectionChunkCount ?? 1,
|
|
4208
|
+
chunkIds: [chunk.chunkId],
|
|
4209
|
+
depth: structure.section?.depth,
|
|
4210
|
+
id: sectionId,
|
|
4211
|
+
kind: structure.section?.kind,
|
|
4212
|
+
path: structure.section?.path,
|
|
4213
|
+
title: structure.section?.title
|
|
4214
|
+
});
|
|
4215
|
+
continue;
|
|
4216
|
+
}
|
|
4217
|
+
if (!existing.chunkIds.includes(chunk.chunkId)) {
|
|
4218
|
+
existing.chunkIds.push(chunk.chunkId);
|
|
4219
|
+
}
|
|
4220
|
+
existing.chunkCount = Math.max(existing.chunkCount, structure.sequence?.sectionChunkCount ?? existing.chunkCount);
|
|
4221
|
+
}
|
|
4222
|
+
}
|
|
4223
|
+
for (const section of sections.values()) {
|
|
4224
|
+
section.chunkIds.sort((left, right) => {
|
|
4225
|
+
const leftNode = nodes.find((node) => node.chunkId === left);
|
|
4226
|
+
const rightNode = nodes.find((node) => node.chunkId === right);
|
|
4227
|
+
const leftIndex = leftNode?.structure?.sequence?.sectionChunkIndex ?? Number.MAX_SAFE_INTEGER;
|
|
4228
|
+
const rightIndex = rightNode?.structure?.sequence?.sectionChunkIndex ?? Number.MAX_SAFE_INTEGER;
|
|
4229
|
+
if (leftIndex !== rightIndex) {
|
|
4230
|
+
return leftIndex - rightIndex;
|
|
4231
|
+
}
|
|
4232
|
+
return left.localeCompare(right);
|
|
4233
|
+
});
|
|
4234
|
+
}
|
|
4235
|
+
nodes.sort((left, right) => {
|
|
4236
|
+
const leftSection = left.structure?.sequence?.sectionChunkIndex ?? Number.MAX_SAFE_INTEGER;
|
|
4237
|
+
const rightSection = right.structure?.sequence?.sectionChunkIndex ?? Number.MAX_SAFE_INTEGER;
|
|
4238
|
+
if (leftSection !== rightSection) {
|
|
4239
|
+
return leftSection - rightSection;
|
|
4240
|
+
}
|
|
4241
|
+
const leftScore = left.score ?? Number.NEGATIVE_INFINITY;
|
|
4242
|
+
const rightScore = right.score ?? Number.NEGATIVE_INFINITY;
|
|
4243
|
+
if (leftScore !== rightScore) {
|
|
4244
|
+
return rightScore - leftScore;
|
|
4245
|
+
}
|
|
4246
|
+
return left.label.localeCompare(right.label);
|
|
4247
|
+
});
|
|
4248
|
+
return {
|
|
4249
|
+
edges,
|
|
4250
|
+
nodes,
|
|
4251
|
+
sections: [...sections.values()].sort((left, right) => (left.title ?? left.id).localeCompare(right.title ?? right.id))
|
|
4252
|
+
};
|
|
4253
|
+
};
|
|
4254
|
+
var buildRAGChunkPreviewGraph = (preview) => buildRAGChunkGraph(preview.chunks.map((chunk) => ({
|
|
4255
|
+
chunkId: chunk.chunkId,
|
|
4256
|
+
labels: chunk.labels,
|
|
4257
|
+
metadata: chunk.metadata,
|
|
4258
|
+
source: chunk.source ?? preview.document.source,
|
|
4259
|
+
structure: chunk.structure,
|
|
4260
|
+
title: chunk.title ?? preview.document.title
|
|
4261
|
+
})));
|
|
4262
|
+
var buildRAGChunkPreviewNavigation = (preview, activeChunkId) => buildRAGChunkGraphNavigation(buildRAGChunkPreviewGraph(preview), activeChunkId);
|
|
4263
|
+
var buildRAGChunkGraphNavigation = (graph, activeChunkId) => {
|
|
4264
|
+
if (graph.nodes.length === 0) {
|
|
4265
|
+
return {
|
|
4266
|
+
activeChunkId,
|
|
4267
|
+
sectionNodes: []
|
|
4268
|
+
};
|
|
4269
|
+
}
|
|
4270
|
+
const activeNode = (activeChunkId ? graph.nodes.find((node) => node.chunkId === activeChunkId) : undefined) ?? graph.nodes[0];
|
|
4271
|
+
const resolvedActiveChunkId = activeNode?.chunkId;
|
|
4272
|
+
const previousNode = activeNode?.structure?.sequence?.previousChunkId ? graph.nodes.find((node) => node.chunkId === activeNode.structure?.sequence?.previousChunkId) : undefined;
|
|
4273
|
+
const nextNode = activeNode?.structure?.sequence?.nextChunkId ? graph.nodes.find((node) => node.chunkId === activeNode.structure?.sequence?.nextChunkId) : undefined;
|
|
4274
|
+
const section = activeNode?.structure?.sequence?.sectionChunkId ? graph.sections.find((entry) => entry.id === activeNode.structure?.sequence?.sectionChunkId) : undefined;
|
|
4275
|
+
const sectionNodes = section ? section.chunkIds.map((chunkId) => graph.nodes.find((node) => node.chunkId === chunkId)).filter((node) => Boolean(node)) : activeNode ? [activeNode] : [];
|
|
4276
|
+
return {
|
|
4277
|
+
activeChunkId: resolvedActiveChunkId,
|
|
4278
|
+
activeNode,
|
|
4279
|
+
nextNode,
|
|
4280
|
+
previousNode,
|
|
4281
|
+
section,
|
|
4282
|
+
sectionNodes
|
|
4283
|
+
};
|
|
4284
|
+
};
|
|
4108
4285
|
var buildRAGRetrievedState = (messages) => {
|
|
4109
4286
|
const message = getLatestRetrievedMessage(messages);
|
|
4110
4287
|
if (!message) {
|
|
@@ -4146,6 +4323,7 @@ var buildRAGSourceSummaries = (sources) => {
|
|
|
4146
4323
|
label: group.label,
|
|
4147
4324
|
locatorLabel: leadChunk?.labels?.locatorLabel ?? buildLocatorLabel2(leadChunk?.metadata, leadChunk?.source, leadChunk?.title),
|
|
4148
4325
|
provenanceLabel: leadChunk?.labels?.provenanceLabel ?? buildProvenanceLabel2(leadChunk?.metadata),
|
|
4326
|
+
structure: leadChunk?.structure ?? buildRAGChunkStructure(leadChunk?.metadata),
|
|
4149
4327
|
source: group.source,
|
|
4150
4328
|
title: group.title
|
|
4151
4329
|
};
|
|
@@ -4274,6 +4452,7 @@ var buildSourceGroup = (source, key) => ({
|
|
|
4274
4452
|
source: source.source,
|
|
4275
4453
|
title: source.title
|
|
4276
4454
|
}),
|
|
4455
|
+
structure: source.structure ?? buildRAGChunkStructure(source.metadata),
|
|
4277
4456
|
source: source.source,
|
|
4278
4457
|
title: source.title
|
|
4279
4458
|
});
|
|
@@ -4292,6 +4471,7 @@ var updateSourceGroup = (groups, source) => {
|
|
|
4292
4471
|
source: source.source,
|
|
4293
4472
|
title: source.title
|
|
4294
4473
|
});
|
|
4474
|
+
existing.structure = source.structure ?? buildRAGChunkStructure(source.metadata);
|
|
4295
4475
|
existing.source = source.source;
|
|
4296
4476
|
existing.title = source.title;
|
|
4297
4477
|
} else {
|
|
@@ -5513,7 +5693,7 @@ var createAIStream = (path, conversationId) => {
|
|
|
5513
5693
|
};
|
|
5514
5694
|
};
|
|
5515
5695
|
// src/svelte/ai/createRAGChunkPreview.ts
|
|
5516
|
-
import { writable } from "svelte/store";
|
|
5696
|
+
import { derived, writable } from "svelte/store";
|
|
5517
5697
|
|
|
5518
5698
|
// src/ai/client/ragClient.ts
|
|
5519
5699
|
init_constants();
|
|
@@ -6591,8 +6771,11 @@ var createRAGClient = (options) => {
|
|
|
6591
6771
|
var createRAGChunkPreview = (path) => {
|
|
6592
6772
|
const client = createRAGClient({ path });
|
|
6593
6773
|
const preview = writable(null);
|
|
6774
|
+
const activeChunkId = writable(null);
|
|
6594
6775
|
const error = writable(null);
|
|
6595
6776
|
const isLoading = writable(false);
|
|
6777
|
+
const chunkGraph = derived(preview, ($preview) => $preview ? buildRAGChunkPreviewGraph($preview) : null);
|
|
6778
|
+
const navigationWithSelection = derived([preview, activeChunkId], ([$preview, $activeChunkId]) => $preview ? buildRAGChunkPreviewNavigation($preview, $activeChunkId ?? undefined) : null);
|
|
6596
6779
|
const inspect = async (id) => {
|
|
6597
6780
|
isLoading.set(true);
|
|
6598
6781
|
error.set(null);
|
|
@@ -6602,6 +6785,7 @@ var createRAGChunkPreview = (path) => {
|
|
|
6602
6785
|
throw new Error(response.error);
|
|
6603
6786
|
}
|
|
6604
6787
|
preview.set(response);
|
|
6788
|
+
activeChunkId.set(response.chunks[0]?.chunkId ?? null);
|
|
6605
6789
|
return response;
|
|
6606
6790
|
} catch (caught) {
|
|
6607
6791
|
error.set(caught instanceof Error ? caught.message : String(caught));
|
|
@@ -6613,25 +6797,33 @@ var createRAGChunkPreview = (path) => {
|
|
|
6613
6797
|
const clear = () => {
|
|
6614
6798
|
error.set(null);
|
|
6615
6799
|
isLoading.set(false);
|
|
6800
|
+
activeChunkId.set(null);
|
|
6616
6801
|
preview.set(null);
|
|
6617
6802
|
};
|
|
6803
|
+
const selectChunk = (id) => {
|
|
6804
|
+
activeChunkId.set(id);
|
|
6805
|
+
};
|
|
6618
6806
|
return {
|
|
6807
|
+
activeChunkId,
|
|
6619
6808
|
clear,
|
|
6809
|
+
chunkGraph,
|
|
6620
6810
|
error,
|
|
6621
6811
|
inspect,
|
|
6622
6812
|
isLoading,
|
|
6623
|
-
|
|
6813
|
+
navigation: navigationWithSelection,
|
|
6814
|
+
preview,
|
|
6815
|
+
selectChunk
|
|
6624
6816
|
};
|
|
6625
6817
|
};
|
|
6626
6818
|
|
|
6627
6819
|
// src/svelte/ai/createRAGCitations.ts
|
|
6628
|
-
import { derived } from "svelte/store";
|
|
6820
|
+
import { derived as derived2 } from "svelte/store";
|
|
6629
6821
|
var createRAGCitations = (sources) => {
|
|
6630
|
-
const citations =
|
|
6631
|
-
const sourceGroups =
|
|
6632
|
-
const sourceSummaries =
|
|
6633
|
-
const citationReferenceMap =
|
|
6634
|
-
const hasCitations =
|
|
6822
|
+
const citations = derived2(sources, ($sources) => buildRAGCitations($sources));
|
|
6823
|
+
const sourceGroups = derived2(sources, ($sources) => buildRAGSourceGroups($sources));
|
|
6824
|
+
const sourceSummaries = derived2(sources, ($sources) => buildRAGSourceSummaries($sources));
|
|
6825
|
+
const citationReferenceMap = derived2(citations, ($citations) => buildRAGCitationReferenceMap($citations));
|
|
6826
|
+
const hasCitations = derived2(citations, ($citations) => $citations.length > 0);
|
|
6635
6827
|
return {
|
|
6636
6828
|
citationReferenceMap,
|
|
6637
6829
|
citations,
|
|
@@ -6681,7 +6873,7 @@ var createRAGDocuments = (path) => {
|
|
|
6681
6873
|
};
|
|
6682
6874
|
|
|
6683
6875
|
// src/svelte/ai/createRAGEvaluate.ts
|
|
6684
|
-
import { derived as
|
|
6876
|
+
import { derived as derived3, writable as writable3 } from "svelte/store";
|
|
6685
6877
|
var createRAGEvaluate = (path) => {
|
|
6686
6878
|
const client = createRAGClient({ path });
|
|
6687
6879
|
const error = writable3(null);
|
|
@@ -6738,7 +6930,7 @@ var createRAGEvaluate = (path) => {
|
|
|
6738
6930
|
const clearRuns = () => {
|
|
6739
6931
|
suiteRuns.set([]);
|
|
6740
6932
|
};
|
|
6741
|
-
const leaderboard =
|
|
6933
|
+
const leaderboard = derived3(suiteRuns, ($suiteRuns) => buildRAGEvaluationLeaderboard($suiteRuns));
|
|
6742
6934
|
const reset = () => {
|
|
6743
6935
|
error.set(null);
|
|
6744
6936
|
lastRequest.set(null);
|
|
@@ -6763,14 +6955,14 @@ var createRAGEvaluate = (path) => {
|
|
|
6763
6955
|
};
|
|
6764
6956
|
|
|
6765
6957
|
// src/svelte/ai/createRAGGrounding.ts
|
|
6766
|
-
import { derived as
|
|
6958
|
+
import { derived as derived4 } from "svelte/store";
|
|
6767
6959
|
var createRAGGrounding = (content, sources) => {
|
|
6768
|
-
const groundedAnswer =
|
|
6769
|
-
const references =
|
|
6770
|
-
const hasCitations =
|
|
6771
|
-
const hasGrounding =
|
|
6772
|
-
const coverage =
|
|
6773
|
-
const ungroundedReferenceNumbers =
|
|
6960
|
+
const groundedAnswer = derived4([content, sources], ([$content, $sources]) => buildRAGGroundedAnswer($content, $sources));
|
|
6961
|
+
const references = derived4(sources, ($sources) => buildRAGGroundingReferences($sources));
|
|
6962
|
+
const hasCitations = derived4(groundedAnswer, ($groundedAnswer) => $groundedAnswer.hasCitations);
|
|
6963
|
+
const hasGrounding = derived4(references, ($references) => $references.length > 0);
|
|
6964
|
+
const coverage = derived4(groundedAnswer, ($groundedAnswer) => $groundedAnswer.coverage);
|
|
6965
|
+
const ungroundedReferenceNumbers = derived4(groundedAnswer, ($groundedAnswer) => $groundedAnswer.ungroundedReferenceNumbers);
|
|
6774
6966
|
return {
|
|
6775
6967
|
coverage,
|
|
6776
6968
|
groundedAnswer,
|
|
@@ -7179,16 +7371,18 @@ var createRAGSearch = (path) => {
|
|
|
7179
7371
|
};
|
|
7180
7372
|
|
|
7181
7373
|
// src/svelte/ai/createRAGSources.ts
|
|
7182
|
-
import { derived as
|
|
7374
|
+
import { derived as derived5 } from "svelte/store";
|
|
7183
7375
|
var createRAGSources = (messages) => {
|
|
7184
|
-
const latestAssistantMessage =
|
|
7185
|
-
const sources =
|
|
7186
|
-
const sourceGroups =
|
|
7187
|
-
const sourceSummaries =
|
|
7188
|
-
const
|
|
7189
|
-
const
|
|
7376
|
+
const latestAssistantMessage = derived5(messages, ($messages) => getLatestAssistantMessage($messages));
|
|
7377
|
+
const sources = derived5(messages, ($messages) => getLatestRAGSources($messages));
|
|
7378
|
+
const sourceGroups = derived5(sources, ($sources) => buildRAGSourceGroups($sources));
|
|
7379
|
+
const sourceSummaries = derived5(sources, ($sources) => buildRAGSourceSummaries($sources));
|
|
7380
|
+
const chunkGraph = derived5(sources, ($sources) => buildRAGChunkGraph($sources));
|
|
7381
|
+
const citationReferenceMap = derived5(sourceSummaries, ($sourceSummaries) => buildRAGCitationReferenceMap($sourceSummaries.flatMap((summary) => summary.citations)));
|
|
7382
|
+
const hasSources = derived5(sources, ($sources) => $sources.length > 0);
|
|
7190
7383
|
return {
|
|
7191
7384
|
citationReferenceMap,
|
|
7385
|
+
chunkGraph,
|
|
7192
7386
|
hasSources,
|
|
7193
7387
|
latestAssistantMessage,
|
|
7194
7388
|
sourceGroups,
|
|
@@ -7242,14 +7436,14 @@ var createRAGStatus = (path, autoLoad = true) => {
|
|
|
7242
7436
|
};
|
|
7243
7437
|
|
|
7244
7438
|
// src/svelte/ai/createRAGWorkflow.ts
|
|
7245
|
-
import { derived as
|
|
7439
|
+
import { derived as derived8 } from "svelte/store";
|
|
7246
7440
|
|
|
7247
7441
|
// src/svelte/ai/createRAGStream.ts
|
|
7248
|
-
import { derived as
|
|
7442
|
+
import { derived as derived7, readable } from "svelte/store";
|
|
7249
7443
|
|
|
7250
7444
|
// src/svelte/ai/createRAGStreamProgress.ts
|
|
7251
|
-
import { derived as
|
|
7252
|
-
var createRAGStreamProgress = (params) =>
|
|
7445
|
+
import { derived as derived6 } from "svelte/store";
|
|
7446
|
+
var createRAGStreamProgress = (params) => derived6([params.error, params.isStreaming, params.messages], ([$error, $isStreaming, $messages]) => buildRAGStreamProgress({
|
|
7253
7447
|
error: $error,
|
|
7254
7448
|
isStreaming: $isStreaming,
|
|
7255
7449
|
messages: $messages
|
|
@@ -7270,7 +7464,7 @@ var createRAGStream = (path, conversationId) => {
|
|
|
7270
7464
|
set(stream.isStreaming);
|
|
7271
7465
|
return stream.subscribe(() => set(stream.isStreaming));
|
|
7272
7466
|
});
|
|
7273
|
-
const workflow =
|
|
7467
|
+
const workflow = derived7([messages, error, isStreaming], ([$messages, $error, $isStreaming]) => buildRAGAnswerWorkflowState({
|
|
7274
7468
|
error: $error,
|
|
7275
7469
|
isStreaming: $isStreaming,
|
|
7276
7470
|
messages: $messages
|
|
@@ -7280,21 +7474,21 @@ var createRAGStream = (path, conversationId) => {
|
|
|
7280
7474
|
isStreaming,
|
|
7281
7475
|
messages
|
|
7282
7476
|
});
|
|
7283
|
-
const latestAssistantMessage =
|
|
7284
|
-
const sources =
|
|
7285
|
-
const sourceGroups =
|
|
7286
|
-
const citations =
|
|
7287
|
-
const sourceSummaries =
|
|
7288
|
-
const retrieval =
|
|
7289
|
-
const groundedAnswer =
|
|
7290
|
-
const groundingReferences =
|
|
7291
|
-
const stage =
|
|
7292
|
-
const hasRetrieved =
|
|
7293
|
-
const hasSources =
|
|
7294
|
-
const isRetrieving =
|
|
7295
|
-
const isRetrieved =
|
|
7296
|
-
const isAnswerStreaming =
|
|
7297
|
-
const isComplete =
|
|
7477
|
+
const latestAssistantMessage = derived7(workflow, ($workflow) => $workflow.latestAssistantMessage);
|
|
7478
|
+
const sources = derived7(workflow, ($workflow) => $workflow.sources);
|
|
7479
|
+
const sourceGroups = derived7(workflow, ($workflow) => $workflow.sourceGroups);
|
|
7480
|
+
const citations = derived7(workflow, ($workflow) => $workflow.citations);
|
|
7481
|
+
const sourceSummaries = derived7(workflow, ($workflow) => $workflow.sourceSummaries);
|
|
7482
|
+
const retrieval = derived7(workflow, ($workflow) => $workflow.retrieval);
|
|
7483
|
+
const groundedAnswer = derived7(workflow, ($workflow) => $workflow.groundedAnswer);
|
|
7484
|
+
const groundingReferences = derived7(workflow, ($workflow) => $workflow.groundingReferences);
|
|
7485
|
+
const stage = derived7(workflow, ($workflow) => $workflow.stage);
|
|
7486
|
+
const hasRetrieved = derived7(workflow, ($workflow) => $workflow.hasRetrieved);
|
|
7487
|
+
const hasSources = derived7(workflow, ($workflow) => $workflow.hasSources);
|
|
7488
|
+
const isRetrieving = derived7(workflow, ($workflow) => $workflow.isRetrieving);
|
|
7489
|
+
const isRetrieved = derived7(workflow, ($workflow) => $workflow.isRetrieved);
|
|
7490
|
+
const isAnswerStreaming = derived7(workflow, ($workflow) => $workflow.isAnswerStreaming);
|
|
7491
|
+
const isComplete = derived7(workflow, ($workflow) => $workflow.isComplete);
|
|
7298
7492
|
const query = (content, attachments) => {
|
|
7299
7493
|
stream.send(content, attachments);
|
|
7300
7494
|
};
|
|
@@ -7327,7 +7521,7 @@ var createRAGStream = (path, conversationId) => {
|
|
|
7327
7521
|
// src/svelte/ai/createRAGWorkflow.ts
|
|
7328
7522
|
var createRAGWorkflow = (path, conversationId) => {
|
|
7329
7523
|
const stream = createRAGStream(path, conversationId);
|
|
7330
|
-
const state =
|
|
7524
|
+
const state = derived8(stream.workflow, ($workflow) => $workflow);
|
|
7331
7525
|
return {
|
|
7332
7526
|
...stream,
|
|
7333
7527
|
state
|
|
@@ -7335,7 +7529,7 @@ var createRAGWorkflow = (path, conversationId) => {
|
|
|
7335
7529
|
};
|
|
7336
7530
|
|
|
7337
7531
|
// src/svelte/ai/createRAG.ts
|
|
7338
|
-
import { derived as
|
|
7532
|
+
import { derived as derived9 } from "svelte/store";
|
|
7339
7533
|
var createRAG = (path, options = {}) => {
|
|
7340
7534
|
const search = createRAGSearch(path);
|
|
7341
7535
|
const ingest = createRAGIngest(path);
|
|
@@ -7348,7 +7542,7 @@ var createRAG = (path, options = {}) => {
|
|
|
7348
7542
|
const workflow = createRAGWorkflow(options.streamPath ?? path, options.conversationId);
|
|
7349
7543
|
const sources = createRAGSources(workflow.messages);
|
|
7350
7544
|
const citations = createRAGCitations(sources.sources);
|
|
7351
|
-
const grounding = createRAGGrounding(
|
|
7545
|
+
const grounding = createRAGGrounding(derived9(workflow.latestAssistantMessage, ($latestAssistantMessage) => $latestAssistantMessage?.content ?? ""), sources.sources);
|
|
7352
7546
|
return {
|
|
7353
7547
|
chunkPreview,
|
|
7354
7548
|
citations,
|
|
@@ -7384,5 +7578,5 @@ export {
|
|
|
7384
7578
|
createAIStream
|
|
7385
7579
|
};
|
|
7386
7580
|
|
|
7387
|
-
//# debugId=
|
|
7581
|
+
//# debugId=4B08CD73149144C364756E2164756E21
|
|
7388
7582
|
//# sourceMappingURL=index.js.map
|