@absolutejs/absolute 0.19.0-beta.606 → 0.19.0-beta.608

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.
@@ -1,5 +1,5 @@
1
1
  export { buildRAGAnswerWorkflowState, buildRAGSourceGroups, buildRAGSourceSummaries, buildRAGStreamProgress, getLatestAssistantMessage, resolveRAGStreamStage } from '../rag/workflowState';
2
2
  export { buildRAGStreamProgress as getRAGStreamProgress } from '../rag/workflowState';
3
- export { buildRAGCitationReferenceMap, buildRAGChunkGraphNavigation, buildRAGChunkGraph, buildRAGChunkPreviewGraph, buildRAGChunkPreviewNavigation, buildRAGGroundedAnswer, buildRAGGroundingReferences } from '../rag/presentation';
3
+ export { buildRAGCitationReferenceMap, buildRAGChunkExcerpts, buildRAGChunkGraphNavigation, buildRAGChunkGraph, buildRAGChunkPreviewGraph, buildRAGChunkPreviewNavigation, buildRAGGroundedAnswer, buildRAGGroundedAnswerSectionSummaries, buildRAGGroundingReferences } from '../rag/presentation';
4
4
  export type { RAGStreamProgress, RAGStreamProgressState } from '../rag/workflowState';
5
5
  export type { RAGAnswerWorkflowState } from '../../../types/ai';
@@ -1,5 +1,6 @@
1
- import type { RAGCitation, RAGCitationReferenceMap, RAGGroundedAnswer, RAGGroundingReference, RAGSource } from '../../../types/ai';
1
+ import type { RAGCitation, RAGCitationReferenceMap, RAGGroundedAnswer, RAGGroundedAnswerSectionSummary, RAGGroundingReference, RAGSource } from '../../../types/ai';
2
2
  export declare const buildRAGCitationReferenceMap: (citations: RAGCitation[]) => RAGCitationReferenceMap;
3
3
  export declare const buildRAGCitations: (sources: RAGSource[]) => RAGCitation[];
4
4
  export declare const buildRAGGroundedAnswer: (content: string, sources: RAGSource[]) => RAGGroundedAnswer;
5
+ export declare const buildRAGGroundedAnswerSectionSummaries: (references: RAGGroundingReference[]) => RAGGroundedAnswerSectionSummary[];
5
6
  export declare const buildRAGGroundingReferences: (sources: RAGSource[]) => RAGGroundingReference[];
@@ -10,7 +10,7 @@ export { createRAGGmailEmailSyncClient, createRAGGraphEmailSyncClient, createRAG
10
10
  export { buildRAGUpsertInputFromDirectory, buildRAGUpsertInputFromDocuments, buildRAGUpsertInputFromUploads, createBuiltinArchiveExpander, createEmailExtractor, createEPUBExtractor, createLegacyDocumentExtractor, createRAGPDFOCRExtractor, createRAGArchiveExpander, createRAGArchiveFileExtractor, createOfficeDocumentExtractor, createPDFFileExtractor, createRAGFileExtractor, createRAGImageOCRExtractor, createRAGMediaFileExtractor, createRAGMediaTranscriber, createRAGOCRProvider, createTextFileExtractor, loadRAGDocumentFromURL, loadRAGDocumentUpload, loadRAGDocumentsFromUploads, buildRAGUpsertInputFromURLs, loadRAGDocumentFile, loadRAGDocumentsFromDirectory, loadRAGDocumentsFromURLs, prepareRAGDirectoryDocuments, prepareRAGDocument, prepareRAGDocumentFile, prepareRAGDocuments } from './ingestion';
11
11
  export { buildRAGContext } from './types';
12
12
  export { buildRAGEvaluationLeaderboard, buildRAGEvaluationResponse, compareRAGRetrievalStrategies, compareRAGRerankers, buildRAGAnswerGroundingCaseDifficultyLeaderboard, buildRAGAnswerGroundingCaseDifficultyRunDiff, buildRAGAnswerGroundingEvaluationLeaderboard, buildRAGAnswerGroundingEvaluationResponse, buildRAGAnswerGroundingEvaluationRunDiff, buildRAGRetrievalComparisonDecisionSummary, buildRAGRetrievalReleaseVerdict, createRAGFileAnswerGroundingCaseDifficultyHistoryStore, createRAGFileAnswerGroundingEvaluationHistoryStore, createRAGFileEvaluationHistoryStore, createRAGFileRetrievalBaselineStore, createRAGFileRetrievalComparisonHistoryStore, createRAGFileRetrievalLaneHandoffDecisionStore, createRAGFileRetrievalLaneHandoffIncidentStore, createRAGFileRetrievalLaneHandoffIncidentHistoryStore, createRAGFileRetrievalIncidentRemediationDecisionStore, createRAGFileRetrievalIncidentRemediationExecutionHistoryStore, createRAGFileRetrievalLaneHandoffAutoCompletePolicyHistoryStore, createRAGFileRetrievalReleaseLanePolicyHistoryStore, createRAGFileRetrievalBaselineGatePolicyHistoryStore, createRAGFileRetrievalReleaseLaneEscalationPolicyHistoryStore, createRAGFileRetrievalReleaseDecisionStore, createRAGFileRetrievalReleaseIncidentStore, createRAGFileSearchTraceStore, createRAGFileSearchTracePruneHistoryStore, createRAGSQLiteSearchTraceStore, createRAGEvaluationSuite, evaluateRAGAnswerGrounding, evaluateRAGAnswerGroundingCase, evaluateRAGCollection, executeDryRunRAGEvaluation, loadRAGAnswerGroundingCaseDifficultyHistory, loadRAGAnswerGroundingEvaluationHistory, loadRAGEvaluationHistory, loadRAGRetrievalBaselines, loadRAGRetrievalComparisonHistory, loadRAGRetrievalLaneHandoffDecisions, loadRAGRetrievalLaneHandoffIncidents, loadRAGRetrievalLaneHandoffIncidentHistory, loadRAGRetrievalIncidentRemediationDecisions, loadRAGRetrievalIncidentRemediationExecutionHistory, loadRAGRetrievalLaneHandoffAutoCompletePolicyHistory, loadRAGRetrievalReleaseLanePolicyHistory, loadRAGRetrievalBaselineGatePolicyHistory, loadRAGRetrievalReleaseLaneEscalationPolicyHistory, loadRAGRetrievalReleaseDecisions, loadRAGRetrievalReleaseIncidents, loadRAGSearchTraceGroupHistory, loadRAGSearchTraceHistory, loadRAGSearchTracePruneHistory, previewRAGSearchTraceStorePrune, persistRAGRetrievalBaseline, persistRAGRetrievalComparisonRun, persistRAGRetrievalLaneHandoffDecision, persistRAGRetrievalLaneHandoffIncident, persistRAGRetrievalLaneHandoffIncidentHistory, persistRAGRetrievalIncidentRemediationDecision, persistRAGRetrievalIncidentRemediationExecutionHistory, persistRAGRetrievalLaneHandoffAutoCompletePolicyHistory, persistRAGRetrievalReleaseLanePolicyHistory, persistRAGRetrievalBaselineGatePolicyHistory, persistRAGRetrievalReleaseLaneEscalationPolicyHistory, persistRAGRetrievalReleaseDecision, persistRAGRetrievalReleaseIncident, persistRAGSearchTracePruneRun, pruneRAGSearchTraceStore, summarizeRAGSearchTraceStore, buildRAGRetrievalTraceHistoryTrend, persistRAGAnswerGroundingCaseDifficultyRun, persistRAGAnswerGroundingEvaluationRun, persistRAGEvaluationSuiteRun, persistRAGSearchTraceRecord, runRAGEvaluationSuite, summarizeRAGEvaluationCase, summarizeRAGRerankerComparison, compareRAGRetrievalTraceSummaries, summarizeRAGRetrievalTraces, buildRAGEvaluationRunDiff, buildRAGSearchTraceDiff, buildRAGSearchTraceRecord } from './quality';
13
- export { buildRAGAdminActionPresentation, buildRAGAdminActionPresentations, buildRAGAdminJobPresentation, buildRAGAdminJobPresentations, buildRAGAnswerGroundingCaseSnapshotPresentations, buildRAGAnswerGroundingHistoryPresentation, buildRAGAnswerGroundingHistoryRows, buildRAGCitations, buildRAGCitationReferenceMap, buildRAGChunkGraphNavigation, buildRAGChunkPreviewGraph, buildRAGChunkPreviewNavigation, buildRAGChunkGraph, buildRAGComparisonTraceDiffRows, buildRAGComparisonTraceSummaryRows, buildRAGCorpusHealthPresentation, buildRAGEvaluationCaseTracePresentations, buildRAGEvaluationHistoryPresentation, buildRAGEvaluationHistoryRows, buildRAGGroundedAnswer, buildRAGGroundingOverviewPresentation, buildRAGGroundingProviderCaseComparisonPresentations, buildRAGGroundingProviderOverviewPresentation, buildRAGGroundingProviderPresentations, buildRAGGroundingReferences, buildRAGQualityOverviewPresentation, buildRAGReadinessPresentation, buildRAGRerankerComparisonOverviewPresentation, buildRAGRerankerComparisonPresentations, buildRAGRerankerOverviewPresentation, buildRAGRetrievalComparisonOverviewPresentation, buildRAGRetrievalComparisonPresentations, buildRAGRetrievalOverviewPresentation, buildRAGRetrievalTracePresentation, buildRAGSourceGroups, buildRAGSourceSummaries, buildRAGSyncOverviewPresentation, buildRAGSyncSourcePresentation, buildRAGSyncSourcePresentations } from './ui';
13
+ export { buildRAGAdminActionPresentation, buildRAGAdminActionPresentations, buildRAGAdminJobPresentation, buildRAGAdminJobPresentations, buildRAGAnswerGroundingCaseSnapshotPresentations, buildRAGAnswerGroundingHistoryPresentation, buildRAGAnswerGroundingHistoryRows, buildRAGCitations, buildRAGCitationReferenceMap, buildRAGChunkExcerpts, buildRAGChunkGraphNavigation, buildRAGChunkPreviewGraph, buildRAGChunkPreviewNavigation, buildRAGChunkGraph, buildRAGComparisonTraceDiffRows, buildRAGComparisonTraceSummaryRows, buildRAGCorpusHealthPresentation, buildRAGEvaluationCaseTracePresentations, buildRAGEvaluationHistoryPresentation, buildRAGEvaluationHistoryRows, buildRAGGroundedAnswer, buildRAGGroundedAnswerSectionSummaries, buildRAGGroundingOverviewPresentation, buildRAGGroundingProviderCaseComparisonPresentations, buildRAGGroundingProviderOverviewPresentation, buildRAGGroundingProviderPresentations, buildRAGGroundingReferences, buildRAGQualityOverviewPresentation, buildRAGReadinessPresentation, buildRAGRerankerComparisonOverviewPresentation, buildRAGRerankerComparisonPresentations, buildRAGRerankerOverviewPresentation, buildRAGRetrievalComparisonOverviewPresentation, buildRAGRetrievalComparisonPresentations, buildRAGRetrievalOverviewPresentation, buildRAGRetrievalTracePresentation, buildRAGSourceGroups, buildRAGSourceSummaries, buildRAGSyncOverviewPresentation, buildRAGSyncSourcePresentation, buildRAGSyncSourcePresentations } from './ui';
14
14
  export { createRAGBunS3SyncClient, createRAGDirectorySyncSource, createRAGEmailSyncSource, createRAGFileSyncStateStore, createRAGStaticEmailSyncClient, createRAGStorageSyncSource, createRAGSyncManager, createRAGSyncScheduler, createRAGUrlSyncSource } from './sync';
15
15
  export { createRAGCollection, ingestDocuments, ingestRAGDocuments, searchDocuments } from './collection';
16
16
  export { createInMemoryRAGStore } from './adapters/inMemory';
@@ -1,6 +1,6 @@
1
- import type { RAGAdminActionPresentation, RAGAdminActionRecord, RAGAdminJobPresentation, RAGAdminJobRecord, AIMessage, RAGAnswerGroundingCaseSnapshotPresentation, RAGAnswerGroundingEvaluationHistory, RAGAnswerGroundingEvaluationResponse, RAGCorpusHealth, RAGCorpusHealthPresentation, RAGExtractorReadiness, RAGReadinessPresentation, RAGGroundingOverviewPresentation, RAGGroundingProviderCaseComparisonPresentation, RAGGroundingProviderOverviewPresentation, RAGGroundingProviderPresentation, RAGComparisonOverviewPresentation, RAGComparisonPresentation, RAGChunkGraph, RAGChunkGraphNavigation, RAGChunkStructure, RAGDocumentChunkPreview, RAGLabelValueRow, RAGRerankerComparisonEntry, RAGRetrievalComparison, RAGRetrievalComparisonEntry, RAGRetrievalTrace, RAGQualityOverviewPresentation, RAGEvaluationCaseTracePresentation, RAGEvaluationHistory, RAGAnswerGroundingHistoryPresentation, RAGEvaluationHistoryPresentation, RAGRerankerComparison, RAGAnswerWorkflowState, RAGRetrievalTracePresentation, RAGSource, RAGSourceLabels, RAGSourceGroup, RAGSourceSummary, RAGStreamStage, RAGSyncOverviewPresentation, RAGSyncSourcePresentation, RAGSyncSourceRecord } from '../../../types/ai';
2
- import { buildRAGCitationReferenceMap, buildRAGCitations, buildRAGGroundedAnswer, buildRAGGroundingReferences } from './grounding';
3
- export { buildRAGCitationReferenceMap, buildRAGCitations, buildRAGGroundedAnswer, buildRAGGroundingReferences };
1
+ import type { RAGAdminActionPresentation, RAGAdminActionRecord, RAGAdminJobPresentation, RAGAdminJobRecord, AIMessage, RAGAnswerGroundingCaseSnapshotPresentation, RAGAnswerGroundingEvaluationHistory, RAGAnswerGroundingEvaluationResponse, RAGCorpusHealth, RAGCorpusHealthPresentation, RAGExtractorReadiness, RAGReadinessPresentation, RAGGroundingOverviewPresentation, RAGGroundingProviderCaseComparisonPresentation, RAGGroundingProviderOverviewPresentation, RAGGroundingProviderPresentation, RAGComparisonOverviewPresentation, RAGComparisonPresentation, RAGChunkGraph, RAGChunkExcerpts, RAGChunkGraphNavigation, RAGChunkStructure, RAGDocumentChunkPreview, RAGLabelValueRow, RAGRerankerComparisonEntry, RAGRetrievalComparison, RAGRetrievalComparisonEntry, RAGRetrievalTrace, RAGQualityOverviewPresentation, RAGEvaluationCaseTracePresentation, RAGEvaluationHistory, RAGAnswerGroundingHistoryPresentation, RAGEvaluationHistoryPresentation, RAGRerankerComparison, RAGAnswerWorkflowState, RAGRetrievalTracePresentation, RAGSource, RAGSourceLabels, RAGSourceGroup, RAGSourceSummary, RAGStreamStage, RAGSyncOverviewPresentation, RAGSyncSourcePresentation, RAGSyncSourceRecord } from '../../../types/ai';
2
+ import { buildRAGCitationReferenceMap, buildRAGCitations, buildRAGGroundedAnswer, buildRAGGroundedAnswerSectionSummaries, buildRAGGroundingReferences } from './grounding';
3
+ export { buildRAGCitationReferenceMap, buildRAGCitations, buildRAGGroundedAnswer, buildRAGGroundedAnswerSectionSummaries, buildRAGGroundingReferences };
4
4
  export declare const buildRAGRetrievalTracePresentation: (trace?: RAGRetrievalTrace) => RAGRetrievalTracePresentation;
5
5
  export declare const buildRAGAdminJobPresentation: (job: RAGAdminJobRecord) => RAGAdminJobPresentation;
6
6
  export declare const buildRAGAdminJobPresentations: (jobs?: RAGAdminJobRecord[]) => RAGAdminJobPresentation[];
@@ -17,6 +17,9 @@ export declare const buildRAGSourceLabels: ({ metadata, source, title }: {
17
17
  title?: string;
18
18
  }) => RAGSourceLabels | undefined;
19
19
  export declare const buildRAGChunkStructure: (metadata?: Record<string, unknown>) => RAGChunkStructure | undefined;
20
+ type ExcerptChunkInput = Pick<RAGSource, 'chunkId' | 'metadata' | 'structure' | 'text'>;
21
+ export declare const buildRAGChunkExcerpts: (chunks: ExcerptChunkInput[], activeChunkId?: string) => RAGChunkExcerpts | undefined;
22
+ export declare const buildRAGPreferredExcerpt: (excerpts?: RAGChunkExcerpts, structure?: RAGChunkStructure) => string;
20
23
  type GraphChunkInput = Pick<RAGSource, 'chunkId' | 'metadata' | 'source' | 'title' | 'labels' | 'structure'> & Partial<Pick<RAGSource, 'score'>>;
21
24
  export declare const buildRAGChunkGraph: (chunks: GraphChunkInput[]) => RAGChunkGraph;
22
25
  export declare const buildRAGChunkPreviewGraph: (preview: Pick<RAGDocumentChunkPreview, "chunks" | "document">) => RAGChunkGraph;
@@ -1,4 +1,4 @@
1
- export { buildRAGAdminActionPresentation, buildRAGAdminActionPresentations, buildRAGAdminJobPresentation, buildRAGAdminJobPresentations, buildRAGCitations, buildRAGCitationReferenceMap, buildRAGChunkGraphNavigation, buildRAGChunkPreviewGraph, buildRAGChunkPreviewNavigation, buildRAGChunkGraph, buildRAGCorpusHealthPresentation, buildRAGGroundedAnswer, buildRAGGroundingReferences, buildRAGReadinessPresentation, buildRAGRetrievalTracePresentation, buildRAGSyncOverviewPresentation, buildRAGSyncSourcePresentation, buildRAGSyncSourcePresentations } from './presentation';
1
+ export { buildRAGAdminActionPresentation, buildRAGAdminActionPresentations, buildRAGAdminJobPresentation, buildRAGAdminJobPresentations, buildRAGCitations, buildRAGCitationReferenceMap, buildRAGChunkExcerpts, buildRAGChunkGraphNavigation, buildRAGChunkPreviewGraph, buildRAGChunkPreviewNavigation, buildRAGChunkGraph, buildRAGCorpusHealthPresentation, buildRAGGroundedAnswer, buildRAGGroundedAnswerSectionSummaries, buildRAGGroundingReferences, buildRAGReadinessPresentation, buildRAGRetrievalTracePresentation, buildRAGSyncOverviewPresentation, buildRAGSyncSourcePresentation, buildRAGSyncSourcePresentations } from './presentation';
2
2
  export { buildRAGAnswerWorkflowState, buildRAGRetrievedState, buildRAGSourceGroups, buildRAGSourceSummaries, buildRAGStreamProgress, getLatestAssistantMessage, getLatestRAGSources, resolveRAGStreamStage } from './workflowState';
3
3
  export { buildRAGAnswerGroundingCaseSnapshotPresentations, buildRAGAnswerGroundingHistoryPresentation, buildRAGAnswerGroundingHistoryRows, buildRAGComparisonTraceDiffRows, buildRAGComparisonTraceSummaryRows, buildRAGQualityOverviewPresentation, buildRAGGroundingOverviewPresentation, buildRAGGroundingProviderCaseComparisonPresentations, buildRAGGroundingProviderOverviewPresentation, buildRAGGroundingProviderPresentations, buildRAGRetrievalComparisonOverviewPresentation, buildRAGRetrievalOverviewPresentation, buildRAGRetrievalComparisonPresentations, buildRAGRerankerComparisonOverviewPresentation, buildRAGRerankerOverviewPresentation, buildRAGRerankerComparisonPresentations, buildRAGEvaluationCaseTracePresentations, buildRAGEvaluationHistoryPresentation, buildRAGEvaluationHistoryRows } from './presentation';
4
4
  export type { RAGStreamProgress, RAGStreamProgressState } from './workflowState';
@@ -47,7 +47,7 @@ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
47
47
  title?: string | undefined;
48
48
  path?: string[] | undefined;
49
49
  depth?: number | undefined;
50
- kind?: "markdown_heading" | "html_heading" | undefined;
50
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
51
51
  } | undefined;
52
52
  sequence?: {
53
53
  sectionChunkId?: string | undefined;
@@ -62,6 +62,11 @@ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
62
62
  locatorLabel?: string | undefined;
63
63
  provenanceLabel?: string | undefined;
64
64
  } | undefined;
65
+ excerpts?: {
66
+ chunkExcerpt: string;
67
+ windowExcerpt: string;
68
+ sectionExcerpt: string;
69
+ } | undefined;
65
70
  }[];
66
71
  } | null, import("../..").RAGDocumentChunkPreview | {
67
72
  document: {
@@ -95,7 +100,7 @@ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
95
100
  title?: string | undefined;
96
101
  path?: string[] | undefined;
97
102
  depth?: number | undefined;
98
- kind?: "markdown_heading" | "html_heading" | undefined;
103
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
99
104
  } | undefined;
100
105
  sequence?: {
101
106
  sectionChunkId?: string | undefined;
@@ -110,6 +115,11 @@ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
110
115
  locatorLabel?: string | undefined;
111
116
  provenanceLabel?: string | undefined;
112
117
  } | undefined;
118
+ excerpts?: {
119
+ chunkExcerpt: string;
120
+ windowExcerpt: string;
121
+ sectionExcerpt: string;
122
+ } | undefined;
113
123
  }[];
114
124
  } | null>;
115
125
  selectChildSection: (sectionId: string) => void;
@@ -1360,7 +1370,7 @@ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
1360
1370
  title?: string | undefined;
1361
1371
  path?: string[] | undefined;
1362
1372
  depth?: number | undefined;
1363
- kind?: "markdown_heading" | "html_heading" | undefined;
1373
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
1364
1374
  } | undefined;
1365
1375
  sequence?: {
1366
1376
  sectionChunkId?: string | undefined;
@@ -1387,7 +1397,7 @@ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
1387
1397
  title?: string | undefined;
1388
1398
  path?: string[] | undefined;
1389
1399
  depth?: number | undefined;
1390
- kind?: "markdown_heading" | "html_heading" | undefined;
1400
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
1391
1401
  } | undefined;
1392
1402
  sequence?: {
1393
1403
  sectionChunkId?: string | undefined;
@@ -41,7 +41,7 @@ export declare const useRAGChunkPreview: (path: string) => {
41
41
  title?: string | undefined;
42
42
  path?: string[] | undefined;
43
43
  depth?: number | undefined;
44
- kind?: "markdown_heading" | "html_heading" | undefined;
44
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
45
45
  } | undefined;
46
46
  sequence?: {
47
47
  sectionChunkId?: string | undefined;
@@ -56,6 +56,11 @@ export declare const useRAGChunkPreview: (path: string) => {
56
56
  locatorLabel?: string | undefined;
57
57
  provenanceLabel?: string | undefined;
58
58
  } | undefined;
59
+ excerpts?: {
60
+ chunkExcerpt: string;
61
+ windowExcerpt: string;
62
+ sectionExcerpt: string;
63
+ } | undefined;
59
64
  }[];
60
65
  } | null, RAGDocumentChunkPreview | {
61
66
  document: {
@@ -89,7 +94,7 @@ export declare const useRAGChunkPreview: (path: string) => {
89
94
  title?: string | undefined;
90
95
  path?: string[] | undefined;
91
96
  depth?: number | undefined;
92
- kind?: "markdown_heading" | "html_heading" | undefined;
97
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
93
98
  } | undefined;
94
99
  sequence?: {
95
100
  sectionChunkId?: string | undefined;
@@ -104,6 +109,11 @@ export declare const useRAGChunkPreview: (path: string) => {
104
109
  locatorLabel?: string | undefined;
105
110
  provenanceLabel?: string | undefined;
106
111
  } | undefined;
112
+ excerpts?: {
113
+ chunkExcerpt: string;
114
+ windowExcerpt: string;
115
+ sectionExcerpt: string;
116
+ } | undefined;
107
117
  }[];
108
118
  } | null>;
109
119
  selectChildSection: (sectionId: string) => void;
@@ -80,7 +80,7 @@ export declare const useRAGSearch: (path: string) => {
80
80
  title?: string | undefined;
81
81
  path?: string[] | undefined;
82
82
  depth?: number | undefined;
83
- kind?: "markdown_heading" | "html_heading" | undefined;
83
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
84
84
  } | undefined;
85
85
  sequence?: {
86
86
  sectionChunkId?: string | undefined;
@@ -107,7 +107,7 @@ export declare const useRAGSearch: (path: string) => {
107
107
  title?: string | undefined;
108
108
  path?: string[] | undefined;
109
109
  depth?: number | undefined;
110
- kind?: "markdown_heading" | "html_heading" | undefined;
110
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "spreadsheet_rows" | "presentation_slide" | undefined;
111
111
  } | undefined;
112
112
  sequence?: {
113
113
  sectionChunkId?: string | undefined;
@@ -347,6 +347,56 @@ var buildExcerpt = (text, maxLength = 160) => {
347
347
  }
348
348
  return `${normalized.slice(0, Math.max(0, maxLength - 1)).trimEnd()}\u2026`;
349
349
  };
350
+ var selectPreferredExcerpt = (excerpts, sectionChunkCount) => {
351
+ if (!excerpts) {
352
+ return "";
353
+ }
354
+ const chunkExcerpt = excerpts.chunkExcerpt?.trim() ?? "";
355
+ const windowExcerpt = excerpts.windowExcerpt?.trim() ?? "";
356
+ const sectionExcerpt = excerpts.sectionExcerpt?.trim() ?? "";
357
+ if (sectionChunkCount && sectionChunkCount > 1 && chunkExcerpt.length > 0 && chunkExcerpt.length < 72) {
358
+ if (sectionChunkCount <= 3 && sectionExcerpt) {
359
+ return sectionExcerpt;
360
+ }
361
+ if (windowExcerpt) {
362
+ return windowExcerpt;
363
+ }
364
+ }
365
+ return chunkExcerpt || windowExcerpt || sectionExcerpt;
366
+ };
367
+ var buildGroundingChunkExcerpts = (sources, activeChunkId) => {
368
+ if (sources.length === 0) {
369
+ return;
370
+ }
371
+ const activeSource = (activeChunkId ? sources.find((source) => source.chunkId === activeChunkId) : undefined) ?? sources[0];
372
+ if (!activeSource) {
373
+ return;
374
+ }
375
+ const chunkMap = new Map(sources.map((source) => [source.chunkId, source]));
376
+ const activeMetadata = activeSource.metadata ?? {};
377
+ const previousChunkId = getContextString(activeMetadata.previousChunkId);
378
+ const nextChunkId = getContextString(activeMetadata.nextChunkId);
379
+ const sectionChunkId = getContextString(activeMetadata.sectionChunkId);
380
+ const sectionSources = sectionChunkId ? sources.filter((source) => getContextString(source.metadata?.sectionChunkId) === sectionChunkId).sort((left, right) => {
381
+ const leftIndex = getContextNumber(left.metadata?.sectionChunkIndex) ?? Number.MAX_SAFE_INTEGER;
382
+ const rightIndex = getContextNumber(right.metadata?.sectionChunkIndex) ?? Number.MAX_SAFE_INTEGER;
383
+ if (leftIndex !== rightIndex) {
384
+ return leftIndex - rightIndex;
385
+ }
386
+ return left.chunkId.localeCompare(right.chunkId);
387
+ }) : [activeSource];
388
+ const collectText = (chunkIds) => chunkIds.map((chunkId) => chunkMap.get(chunkId)?.text).filter((text) => typeof text === "string").join(`
389
+
390
+ `);
391
+ const orderedWindowIds = [previousChunkId, activeSource.chunkId, nextChunkId].filter((chunkId, index, values) => Boolean(chunkId) && values.indexOf(chunkId) === index);
392
+ return {
393
+ chunkExcerpt: buildExcerpt(activeSource.text, 160),
394
+ sectionExcerpt: buildExcerpt(sectionSources.map((source) => source.text).join(`
395
+
396
+ `), 320),
397
+ windowExcerpt: buildExcerpt(collectText(orderedWindowIds), 240)
398
+ };
399
+ };
350
400
  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 ");
351
401
  var buildGroundingReferenceEvidenceSummary = (reference) => [
352
402
  reference.source ?? reference.title ?? reference.chunkId,
@@ -354,11 +404,19 @@ var buildGroundingReferenceEvidenceSummary = (reference) => [
354
404
  reference.contextLabel,
355
405
  reference.provenanceLabel
356
406
  ].filter((value) => Boolean(value && value.length > 0)).filter((value, index, values) => values.findIndex((entry) => entry === value) === index).join(" \xB7 ");
407
+ var buildGroundingSectionKey = (reference) => reference.contextLabel ?? reference.locatorLabel ?? reference.label ?? reference.source ?? reference.chunkId;
408
+ var buildGroundingSectionSummaryLine = (reference) => [
409
+ reference.source ?? reference.title ?? reference.chunkId,
410
+ reference.locatorLabel,
411
+ reference.contextLabel,
412
+ reference.provenanceLabel
413
+ ].filter((value) => Boolean(value && value.length > 0)).filter((value, index, values) => values.findIndex((entry) => entry === value) === index).join(" \xB7 ");
357
414
  var buildGroundedAnswerCitationDetail = (reference) => ({
358
415
  contextLabel: reference.contextLabel,
359
416
  evidenceLabel: buildGroundingReferenceEvidenceLabel(reference),
360
417
  evidenceSummary: buildGroundingReferenceEvidenceSummary(reference),
361
- excerpt: reference.excerpt,
418
+ excerpt: selectPreferredExcerpt(reference.excerpts, getContextNumber(reference.metadata?.sectionChunkCount)) || reference.excerpt,
419
+ excerpts: reference.excerpts,
362
420
  label: reference.label,
363
421
  locatorLabel: reference.locatorLabel,
364
422
  number: reference.number,
@@ -444,26 +502,97 @@ var buildRAGGroundedAnswer = (content, sources) => {
444
502
  hasCitations,
445
503
  parts,
446
504
  references,
505
+ sectionSummaries: buildRAGGroundedAnswerSectionSummaries(references),
447
506
  ungroundedReferenceNumbers: [...ungroundedReferenceNumbers].sort((left, right) => left - right)
448
507
  };
449
508
  };
509
+ var buildRAGGroundedAnswerSectionSummaries = (references) => {
510
+ const groups = new Map;
511
+ for (const reference of references) {
512
+ const key = buildGroundingSectionKey(reference);
513
+ const existing = groups.get(key);
514
+ if (!existing) {
515
+ const excerpts = reference.excerpts ? {
516
+ chunkExcerpt: reference.excerpts.chunkExcerpt,
517
+ sectionExcerpt: reference.excerpts.sectionExcerpt,
518
+ windowExcerpt: reference.excerpts.windowExcerpt
519
+ } : undefined;
520
+ groups.set(key, {
521
+ chunkIds: [reference.chunkId],
522
+ contextLabel: reference.contextLabel,
523
+ count: 1,
524
+ excerpt: selectPreferredExcerpt(excerpts, getContextNumber(reference.metadata?.sectionChunkCount)) || excerpts?.sectionExcerpt || reference.excerpt,
525
+ excerpts,
526
+ key,
527
+ label: key,
528
+ locatorLabel: reference.locatorLabel,
529
+ provenanceLabel: reference.provenanceLabel,
530
+ referenceNumbers: [reference.number],
531
+ references: [reference],
532
+ summary: buildGroundingSectionSummaryLine(reference) || reference.label || reference.chunkId
533
+ });
534
+ continue;
535
+ }
536
+ existing.count += 1;
537
+ if (!existing.chunkIds.includes(reference.chunkId)) {
538
+ existing.chunkIds.push(reference.chunkId);
539
+ }
540
+ if (!existing.referenceNumbers.includes(reference.number)) {
541
+ existing.referenceNumbers.push(reference.number);
542
+ }
543
+ existing.references.push(reference);
544
+ if (!existing.contextLabel && reference.contextLabel) {
545
+ existing.contextLabel = reference.contextLabel;
546
+ }
547
+ if (!existing.locatorLabel && reference.locatorLabel) {
548
+ existing.locatorLabel = reference.locatorLabel;
549
+ }
550
+ if (!existing.provenanceLabel && reference.provenanceLabel) {
551
+ existing.provenanceLabel = reference.provenanceLabel;
552
+ }
553
+ if (!existing.excerpts && reference.excerpts) {
554
+ existing.excerpts = {
555
+ chunkExcerpt: reference.excerpts.chunkExcerpt,
556
+ sectionExcerpt: reference.excerpts.sectionExcerpt,
557
+ windowExcerpt: reference.excerpts.windowExcerpt
558
+ };
559
+ existing.excerpt = reference.excerpts.sectionExcerpt;
560
+ }
561
+ }
562
+ return [...groups.values()].map((group) => ({
563
+ ...group,
564
+ referenceNumbers: [...group.referenceNumbers].sort((left, right) => left - right),
565
+ references: group.references.slice().sort((left, right) => left.number - right.number)
566
+ })).sort((left, right) => {
567
+ const leftFirst = left.referenceNumbers[0] ?? Number.POSITIVE_INFINITY;
568
+ const rightFirst = right.referenceNumbers[0] ?? Number.POSITIVE_INFINITY;
569
+ if (leftFirst !== rightFirst) {
570
+ return leftFirst - rightFirst;
571
+ }
572
+ return left.label.localeCompare(right.label);
573
+ });
574
+ };
450
575
  var buildRAGGroundingReferences = (sources) => {
451
576
  const citations = buildRAGCitations(sources);
452
577
  const citationReferenceMap = buildRAGCitationReferenceMap(citations);
453
- return citations.map((citation) => ({
454
- chunkId: citation.chunkId,
455
- contextLabel: citation.contextLabel ?? buildContextLabel(citation.metadata),
456
- excerpt: buildExcerpt(citation.text),
457
- label: citation.label,
458
- locatorLabel: citation.locatorLabel ?? buildLocatorLabel(citation.metadata, citation.source, citation.title),
459
- metadata: citation.metadata,
460
- number: citationReferenceMap[citation.chunkId] ?? 0,
461
- provenanceLabel: citation.provenanceLabel ?? buildProvenanceLabel(citation.metadata),
462
- score: citation.score,
463
- source: citation.source,
464
- text: citation.text,
465
- title: citation.title
466
- }));
578
+ return citations.map((citation) => {
579
+ const excerpts = buildGroundingChunkExcerpts(sources, citation.chunkId);
580
+ return {
581
+ chunkId: citation.chunkId,
582
+ contextLabel: citation.contextLabel ?? buildContextLabel(citation.metadata),
583
+ excerpt: selectPreferredExcerpt(excerpts, getContextNumber(citation.metadata?.sectionChunkCount)) || excerpts?.chunkExcerpt || buildExcerpt(citation.text),
584
+ excerpts,
585
+ label: citation.label,
586
+ locatorLabel: citation.locatorLabel ?? buildLocatorLabel(citation.metadata, citation.source, citation.title),
587
+ metadata: citation.metadata,
588
+ number: citationReferenceMap[citation.chunkId] ?? 0,
589
+ provenanceLabel: citation.provenanceLabel ?? buildProvenanceLabel(citation.metadata),
590
+ score: citation.score,
591
+ source: citation.source,
592
+ text: citation.text,
593
+ title: citation.title
594
+ };
595
+ });
467
596
  };
468
597
 
469
598
  // src/ai/rag/quality.ts
@@ -4123,7 +4252,7 @@ var buildRAGChunkStructure = (metadata) => {
4123
4252
  return;
4124
4253
  }
4125
4254
  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;
4255
+ const sectionKind = metadata.sectionKind === "markdown_heading" || metadata.sectionKind === "html_heading" || metadata.sectionKind === "office_heading" || metadata.sectionKind === "spreadsheet_rows" || metadata.sectionKind === "presentation_slide" ? metadata.sectionKind : undefined;
4127
4256
  const section = {
4128
4257
  depth: getContextNumber2(metadata.sectionDepth),
4129
4258
  kind: sectionKind,
@@ -4152,6 +4281,52 @@ var buildExcerpt2 = (text, maxLength = 160) => {
4152
4281
  }
4153
4282
  return `${normalized.slice(0, Math.max(0, maxLength - 1)).trimEnd()}\u2026`;
4154
4283
  };
4284
+ var buildRAGChunkExcerpts = (chunks, activeChunkId) => {
4285
+ if (chunks.length === 0) {
4286
+ return;
4287
+ }
4288
+ const graph = buildRAGChunkGraph(chunks.map((chunk) => ({
4289
+ chunkId: chunk.chunkId,
4290
+ metadata: chunk.metadata,
4291
+ structure: chunk.structure
4292
+ })));
4293
+ const navigation = buildRAGChunkGraphNavigation(graph, activeChunkId);
4294
+ const activeChunk = chunks.find((chunk) => chunk.chunkId === navigation.activeChunkId) ?? chunks[0];
4295
+ if (!activeChunk) {
4296
+ return;
4297
+ }
4298
+ const chunkMap = new Map(chunks.map((chunk) => [chunk.chunkId, chunk]));
4299
+ const orderedWindowIds = [
4300
+ navigation.previousNode?.chunkId,
4301
+ activeChunk.chunkId,
4302
+ navigation.nextNode?.chunkId
4303
+ ].filter((chunkId, index, ids) => Boolean(chunkId) && ids.indexOf(chunkId) === index);
4304
+ const orderedSectionIds = navigation.sectionNodes.length > 0 ? navigation.sectionNodes.map((node) => node.chunkId) : [activeChunk.chunkId];
4305
+ const collectText = (chunkIds) => chunkIds.map((chunkId) => chunkMap.get(chunkId)?.text).filter((text) => typeof text === "string").join(`
4306
+
4307
+ `);
4308
+ return {
4309
+ chunkExcerpt: buildExcerpt2(activeChunk.text, 160),
4310
+ sectionExcerpt: buildExcerpt2(collectText(orderedSectionIds), 320),
4311
+ windowExcerpt: buildExcerpt2(collectText(orderedWindowIds), 240)
4312
+ };
4313
+ };
4314
+ var buildRAGPreferredExcerpt = (excerpts, structure) => {
4315
+ if (!excerpts) {
4316
+ return "";
4317
+ }
4318
+ const chunkLength = excerpts.chunkExcerpt.trim().length;
4319
+ const sectionChunkCount = structure?.sequence?.sectionChunkCount ?? 1;
4320
+ if (sectionChunkCount > 1 && chunkLength > 0 && chunkLength < 72) {
4321
+ if (sectionChunkCount <= 3 && excerpts.sectionExcerpt.trim().length > 0) {
4322
+ return excerpts.sectionExcerpt;
4323
+ }
4324
+ if (excerpts.windowExcerpt.trim().length > 0) {
4325
+ return excerpts.windowExcerpt;
4326
+ }
4327
+ }
4328
+ return excerpts.chunkExcerpt;
4329
+ };
4155
4330
  var buildRAGChunkGraph = (chunks) => {
4156
4331
  const nodes = [];
4157
4332
  const edges = [];
@@ -4363,6 +4538,7 @@ var buildRAGSourceSummaries = (sources) => {
4363
4538
  return sourceGroups.map((group) => {
4364
4539
  const groupCitations = citations.filter((citation) => group.chunks.some((chunk) => chunk.chunkId === citation.chunkId));
4365
4540
  const leadChunk = group.chunks.slice().sort((left, right) => right.score - left.score)[0];
4541
+ const excerpts = leadChunk ? buildRAGChunkExcerpts(group.chunks, leadChunk.chunkId) : undefined;
4366
4542
  return {
4367
4543
  bestScore: group.bestScore,
4368
4544
  citationNumbers: groupCitations.map((citation) => citationReferenceMap[citation.chunkId] ?? 0),
@@ -4370,7 +4546,8 @@ var buildRAGSourceSummaries = (sources) => {
4370
4546
  chunkIds: group.chunks.map((chunk) => chunk.chunkId),
4371
4547
  contextLabel: leadChunk?.labels?.contextLabel ?? buildContextLabel2(leadChunk?.metadata),
4372
4548
  count: group.count,
4373
- excerpt: buildExcerpt2(leadChunk?.text ?? ""),
4549
+ excerpt: buildRAGPreferredExcerpt(excerpts, leadChunk?.structure ?? buildRAGChunkStructure(leadChunk?.metadata)) || buildExcerpt2(leadChunk?.text ?? ""),
4550
+ excerpts,
4374
4551
  key: group.key,
4375
4552
  label: group.label,
4376
4553
  locatorLabel: leadChunk?.labels?.locatorLabel ?? buildLocatorLabel2(leadChunk?.metadata, leadChunk?.source, leadChunk?.title),
@@ -7665,5 +7842,5 @@ export {
7665
7842
  createAIStream
7666
7843
  };
7667
7844
 
7668
- //# debugId=585BD3B22EFD464B64756E2164756E21
7845
+ //# debugId=B3B884394C8ABF5264756E2164756E21
7669
7846
  //# sourceMappingURL=index.js.map