react-native-pageindex 0.1.0
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/CHANGELOG.md +25 -0
- package/LICENSE +21 -0
- package/README.md +405 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +22 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/pageIndex.d.ts +48 -0
- package/dist/pageIndex.d.ts.map +1 -0
- package/dist/pageIndex.js +962 -0
- package/dist/pageIndex.js.map +1 -0
- package/dist/pageIndexDocument.d.ts +85 -0
- package/dist/pageIndexDocument.d.ts.map +1 -0
- package/dist/pageIndexDocument.js +145 -0
- package/dist/pageIndexDocument.js.map +1 -0
- package/dist/pageIndexMd.d.ts +31 -0
- package/dist/pageIndexMd.d.ts.map +1 -0
- package/dist/pageIndexMd.js +260 -0
- package/dist/pageIndexMd.js.map +1 -0
- package/dist/parsers/csv.d.ts +17 -0
- package/dist/parsers/csv.d.ts.map +1 -0
- package/dist/parsers/csv.js +147 -0
- package/dist/parsers/csv.js.map +1 -0
- package/dist/parsers/docx.d.ts +20 -0
- package/dist/parsers/docx.d.ts.map +1 -0
- package/dist/parsers/docx.js +134 -0
- package/dist/parsers/docx.js.map +1 -0
- package/dist/parsers/xlsx.d.ts +19 -0
- package/dist/parsers/xlsx.d.ts.map +1 -0
- package/dist/parsers/xlsx.js +121 -0
- package/dist/parsers/xlsx.js.map +1 -0
- package/dist/reverseIndex.d.ts +39 -0
- package/dist/reverseIndex.d.ts.map +1 -0
- package/dist/reverseIndex.js +248 -0
- package/dist/reverseIndex.js.map +1 -0
- package/dist/types.d.ts +190 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/json.d.ts +13 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +69 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/pdf.d.ts +20 -0
- package/dist/utils/pdf.d.ts.map +1 -0
- package/dist/utils/pdf.js +96 -0
- package/dist/utils/pdf.js.map +1 -0
- package/dist/utils/progress.d.ts +29 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +59 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/tokens.d.ts +7 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +12 -0
- package/dist/utils/tokens.js.map +1 -0
- package/dist/utils/tree.d.ts +88 -0
- package/dist/utils/tree.d.ts.map +1 -0
- package/dist/utils/tree.js +365 -0
- package/dist/utils/tree.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageIndex.js","sourceRoot":"","sources":["../src/pageIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified multi-format document indexing entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* Accepts PDF, DOCX, CSV, XLSX, or Markdown data and routes to the correct
|
|
5
|
+
* parser + pipeline automatically.
|
|
6
|
+
*
|
|
7
|
+
* Supported formats:
|
|
8
|
+
* pdf — requires pdfjs-dist (optional)
|
|
9
|
+
* docx — requires mammoth (optional)
|
|
10
|
+
* csv — no extra deps
|
|
11
|
+
* xlsx — requires xlsx / SheetJS (optional)
|
|
12
|
+
* md — no extra deps
|
|
13
|
+
*/
|
|
14
|
+
import type { DocumentFileType, LLMProvider, PageIndexOptions, PageIndexResult, MdPageIndexOptions, CsvParseOptions, XlsxParseOptions, ProgressCallback, TokenCounter } from './types';
|
|
15
|
+
/** Options specific to a document type, combined in one bag */
|
|
16
|
+
export interface PageIndexDocumentOptions {
|
|
17
|
+
/** Options forwarded to the PDF/DOCX/CSV/XLSX pipeline (shared with pageIndex) */
|
|
18
|
+
pdfOptions?: PageIndexOptions;
|
|
19
|
+
/** Options forwarded to the Markdown pipeline */
|
|
20
|
+
mdOptions?: MdPageIndexOptions;
|
|
21
|
+
/** Options for CSV parsing */
|
|
22
|
+
csvOptions?: CsvParseOptions;
|
|
23
|
+
/** Options for XLSX parsing */
|
|
24
|
+
xlsxOptions?: XlsxParseOptions;
|
|
25
|
+
/** Custom token counter */
|
|
26
|
+
tokenCounter?: TokenCounter;
|
|
27
|
+
/** Progress callback */
|
|
28
|
+
onProgress?: ProgressCallback;
|
|
29
|
+
}
|
|
30
|
+
/** Input for the unified indexing entrypoint */
|
|
31
|
+
export interface PageIndexDocumentInput {
|
|
32
|
+
/**
|
|
33
|
+
* Raw file bytes (for pdf / docx / xlsx).
|
|
34
|
+
* Pass a `string` for csv or md (UTF-8 text).
|
|
35
|
+
* Exactly one of `data` or `text` is required for each format.
|
|
36
|
+
*/
|
|
37
|
+
data?: ArrayBuffer | Uint8Array | string;
|
|
38
|
+
/** Convenience alias — pass Markdown/CSV content as a string */
|
|
39
|
+
text?: string;
|
|
40
|
+
/** File format. If omitted, inferred from `fileName`. */
|
|
41
|
+
fileType?: DocumentFileType;
|
|
42
|
+
/** File name — used to infer `fileType` when not supplied explicitly */
|
|
43
|
+
fileName?: string;
|
|
44
|
+
/** Human-readable document name used in the index result */
|
|
45
|
+
docName?: string;
|
|
46
|
+
/** LLM provider callback */
|
|
47
|
+
llm: LLMProvider;
|
|
48
|
+
/** All format-specific and pipeline options */
|
|
49
|
+
options?: PageIndexDocumentOptions;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Index any supported document format and return a hierarchical `PageIndexResult`.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // PDF from bytes
|
|
56
|
+
* const result = await pageIndexDocument({
|
|
57
|
+
* data: pdfBuffer,
|
|
58
|
+
* fileType: 'pdf',
|
|
59
|
+
* docName: 'Annual Report 2024',
|
|
60
|
+
* llm: myLlmProvider,
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // Markdown string
|
|
65
|
+
* const result = await pageIndexDocument({
|
|
66
|
+
* text: markdownString,
|
|
67
|
+
* fileType: 'md',
|
|
68
|
+
* docName: 'README',
|
|
69
|
+
* llm: myLlmProvider,
|
|
70
|
+
* });
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* // DOCX with progress tracking
|
|
74
|
+
* const result = await pageIndexDocument({
|
|
75
|
+
* data: docxBuffer,
|
|
76
|
+
* fileName: 'contract.docx',
|
|
77
|
+
* docName: 'Service Contract',
|
|
78
|
+
* llm: myLlmProvider,
|
|
79
|
+
* options: {
|
|
80
|
+
* onProgress: (info) => console.log(info.step, info.percent + '%'),
|
|
81
|
+
* },
|
|
82
|
+
* });
|
|
83
|
+
*/
|
|
84
|
+
export declare function pageIndexDocument(input: PageIndexDocumentInput): Promise<PageIndexResult>;
|
|
85
|
+
//# sourceMappingURL=pageIndexDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageIndexDocument.d.ts","sourceRoot":"","sources":["../src/pageIndexDocument.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACb,MAAM,SAAS,CAAC;AAWjB,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,kFAAkF;IAClF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,iDAAiD;IACjD,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,8BAA8B;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,+BAA+B;IAC/B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wBAAwB;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,gDAAgD;AAChD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IACzC,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAuG1B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified multi-format document indexing entrypoint.
|
|
4
|
+
*
|
|
5
|
+
* Accepts PDF, DOCX, CSV, XLSX, or Markdown data and routes to the correct
|
|
6
|
+
* parser + pipeline automatically.
|
|
7
|
+
*
|
|
8
|
+
* Supported formats:
|
|
9
|
+
* pdf — requires pdfjs-dist (optional)
|
|
10
|
+
* docx — requires mammoth (optional)
|
|
11
|
+
* csv — no extra deps
|
|
12
|
+
* xlsx — requires xlsx / SheetJS (optional)
|
|
13
|
+
* md — no extra deps
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.pageIndexDocument = pageIndexDocument;
|
|
17
|
+
const pageIndex_1 = require("./pageIndex");
|
|
18
|
+
const pageIndexMd_1 = require("./pageIndexMd");
|
|
19
|
+
const pdf_1 = require("./utils/pdf");
|
|
20
|
+
const docx_1 = require("./parsers/docx");
|
|
21
|
+
const csv_1 = require("./parsers/csv");
|
|
22
|
+
const xlsx_1 = require("./parsers/xlsx");
|
|
23
|
+
// ─── File Type Inference ──────────────────────────────────────────────────────
|
|
24
|
+
function inferFileType(fileName) {
|
|
25
|
+
if (!fileName)
|
|
26
|
+
return null;
|
|
27
|
+
const ext = fileName.split('.').pop()?.toLowerCase();
|
|
28
|
+
switch (ext) {
|
|
29
|
+
case 'pdf': return 'pdf';
|
|
30
|
+
case 'docx': return 'docx';
|
|
31
|
+
case 'csv': return 'csv';
|
|
32
|
+
case 'xlsx':
|
|
33
|
+
case 'xls':
|
|
34
|
+
case 'ods': return 'xlsx';
|
|
35
|
+
case 'md':
|
|
36
|
+
case 'markdown': return 'md';
|
|
37
|
+
default: return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// ─── Main Entrypoint ──────────────────────────────────────────────────────────
|
|
41
|
+
/**
|
|
42
|
+
* Index any supported document format and return a hierarchical `PageIndexResult`.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // PDF from bytes
|
|
46
|
+
* const result = await pageIndexDocument({
|
|
47
|
+
* data: pdfBuffer,
|
|
48
|
+
* fileType: 'pdf',
|
|
49
|
+
* docName: 'Annual Report 2024',
|
|
50
|
+
* llm: myLlmProvider,
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // Markdown string
|
|
55
|
+
* const result = await pageIndexDocument({
|
|
56
|
+
* text: markdownString,
|
|
57
|
+
* fileType: 'md',
|
|
58
|
+
* docName: 'README',
|
|
59
|
+
* llm: myLlmProvider,
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* // DOCX with progress tracking
|
|
64
|
+
* const result = await pageIndexDocument({
|
|
65
|
+
* data: docxBuffer,
|
|
66
|
+
* fileName: 'contract.docx',
|
|
67
|
+
* docName: 'Service Contract',
|
|
68
|
+
* llm: myLlmProvider,
|
|
69
|
+
* options: {
|
|
70
|
+
* onProgress: (info) => console.log(info.step, info.percent + '%'),
|
|
71
|
+
* },
|
|
72
|
+
* });
|
|
73
|
+
*/
|
|
74
|
+
async function pageIndexDocument(input) {
|
|
75
|
+
const { data, text, fileType: explicitType, fileName, docName, llm, options = {}, } = input;
|
|
76
|
+
const { pdfOptions, mdOptions, csvOptions, xlsxOptions, tokenCounter, onProgress, } = options;
|
|
77
|
+
// Resolve file type
|
|
78
|
+
const fileType = explicitType ?? inferFileType(fileName);
|
|
79
|
+
if (!fileType) {
|
|
80
|
+
throw new Error('[PageIndex] Cannot determine file type. ' +
|
|
81
|
+
'Provide `fileType` or a `fileName` with a recognised extension (.pdf, .docx, .csv, .xlsx, .md).');
|
|
82
|
+
}
|
|
83
|
+
// ── Markdown ────────────────────────────────────────────────────────────────
|
|
84
|
+
if (fileType === 'md') {
|
|
85
|
+
const content = text ?? (typeof data === 'string' ? data : null);
|
|
86
|
+
if (!content) {
|
|
87
|
+
throw new Error('[PageIndex] Markdown input requires a string. Pass `text` or `data` as a string.');
|
|
88
|
+
}
|
|
89
|
+
return (0, pageIndexMd_1.pageIndexMd)({
|
|
90
|
+
content,
|
|
91
|
+
docName,
|
|
92
|
+
llm,
|
|
93
|
+
options: {
|
|
94
|
+
...mdOptions,
|
|
95
|
+
tokenCounter: tokenCounter ?? mdOptions?.tokenCounter,
|
|
96
|
+
onProgress: onProgress ?? mdOptions?.onProgress,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// ── Extract pages from binary formats ───────────────────────────────────────
|
|
101
|
+
let pages;
|
|
102
|
+
const bytes = data instanceof ArrayBuffer || data instanceof Uint8Array
|
|
103
|
+
? data
|
|
104
|
+
: null;
|
|
105
|
+
if (!bytes) {
|
|
106
|
+
throw new Error(`[PageIndex] File type "${fileType}" requires binary data. Pass \`data\` as ArrayBuffer or Uint8Array.`);
|
|
107
|
+
}
|
|
108
|
+
onProgress?.({ step: 'Parsing document', percent: 0, detail: fileType.toUpperCase() });
|
|
109
|
+
switch (fileType) {
|
|
110
|
+
case 'pdf':
|
|
111
|
+
pages = await (0, pdf_1.extractPdfPages)(bytes, tokenCounter);
|
|
112
|
+
break;
|
|
113
|
+
case 'docx':
|
|
114
|
+
pages = await (0, docx_1.extractDocxPages)(bytes, tokenCounter);
|
|
115
|
+
break;
|
|
116
|
+
case 'csv': {
|
|
117
|
+
// CSV can be passed as raw bytes or as a string
|
|
118
|
+
const csvData = text ?? data;
|
|
119
|
+
if (csvData == null) {
|
|
120
|
+
throw new Error('[PageIndex] CSV input requires `data` or `text`.');
|
|
121
|
+
}
|
|
122
|
+
pages = await (0, csv_1.extractCsvPages)(csvData, csvOptions, tokenCounter);
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case 'xlsx':
|
|
126
|
+
pages = await (0, xlsx_1.extractXlsxPages)(bytes, xlsxOptions, tokenCounter);
|
|
127
|
+
break;
|
|
128
|
+
default: {
|
|
129
|
+
const _exhaustive = fileType;
|
|
130
|
+
throw new Error(`[PageIndex] Unsupported file type: ${String(_exhaustive)}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// ── Build page index from extracted pages ────────────────────────────────────
|
|
134
|
+
return (0, pageIndex_1.pageIndex)({
|
|
135
|
+
pages,
|
|
136
|
+
docName,
|
|
137
|
+
llm,
|
|
138
|
+
options: {
|
|
139
|
+
...pdfOptions,
|
|
140
|
+
tokenCounter: tokenCounter ?? pdfOptions?.tokenCounter,
|
|
141
|
+
onProgress: onProgress ?? pdfOptions?.onProgress,
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=pageIndexDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageIndexDocument.js","sourceRoot":"","sources":["../src/pageIndexDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown pipeline — port of pageindex/page_index_md.py
|
|
3
|
+
*
|
|
4
|
+
* Parses a Markdown string by its heading hierarchy (#, ##, ### …) and
|
|
5
|
+
* builds a nested tree index, optionally generating LLM summaries.
|
|
6
|
+
*/
|
|
7
|
+
import type { LLMProvider, MdPageIndexOptions, PageIndexResult } from './types';
|
|
8
|
+
import { extractJson } from './utils/json';
|
|
9
|
+
/**
|
|
10
|
+
* Builds a hierarchical tree index from a Markdown document.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const result = await pageIndexMd({
|
|
15
|
+
* content: markdownString,
|
|
16
|
+
* llm: myLlmCallback,
|
|
17
|
+
* options: {
|
|
18
|
+
* onProgress: ({ step, percent, detail }) =>
|
|
19
|
+
* console.log(`[${percent}%] ${step}${detail ? ` — ${detail}` : ''}`),
|
|
20
|
+
* },
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function pageIndexMd(input: {
|
|
25
|
+
content: string;
|
|
26
|
+
docName?: string;
|
|
27
|
+
llm: LLMProvider;
|
|
28
|
+
options?: MdPageIndexOptions;
|
|
29
|
+
}): Promise<PageIndexResult>;
|
|
30
|
+
export { extractJson };
|
|
31
|
+
//# sourceMappingURL=pageIndexMd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageIndexMd.d.ts","sourceRoot":"","sources":["../src/pageIndexMd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAY,MAAM,SAAS,CAAC;AAG1F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgO3C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,GAAG,OAAO,CAAC,eAAe,CAAC,CA8D3B;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Markdown pipeline — port of pageindex/page_index_md.py
|
|
4
|
+
*
|
|
5
|
+
* Parses a Markdown string by its heading hierarchy (#, ##, ### …) and
|
|
6
|
+
* builds a nested tree index, optionally generating LLM summaries.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.extractJson = void 0;
|
|
10
|
+
exports.pageIndexMd = pageIndexMd;
|
|
11
|
+
const config_1 = require("./config");
|
|
12
|
+
const tokens_1 = require("./utils/tokens");
|
|
13
|
+
const json_1 = require("./utils/json");
|
|
14
|
+
Object.defineProperty(exports, "extractJson", { enumerable: true, get: function () { return json_1.extractJson; } });
|
|
15
|
+
const progress_1 = require("./utils/progress");
|
|
16
|
+
const tree_1 = require("./utils/tree");
|
|
17
|
+
// ─── Markdown Pipeline Steps (in order) ──────────────────────────────────────
|
|
18
|
+
const MD_STEPS = [
|
|
19
|
+
'Initializing',
|
|
20
|
+
'Parsing document headings',
|
|
21
|
+
'Extracting section text',
|
|
22
|
+
'Optimizing tree structure',
|
|
23
|
+
'Building tree',
|
|
24
|
+
'Generating node summaries',
|
|
25
|
+
'Generating document description',
|
|
26
|
+
'Done',
|
|
27
|
+
];
|
|
28
|
+
// ─── LLM Helpers ─────────────────────────────────────────────────────────────
|
|
29
|
+
async function generateNodeSummary(node, llm) {
|
|
30
|
+
const prompt = `You are given a part of a document, your task is to generate a description of the partial document about what are main points covered in the partial document.
|
|
31
|
+
|
|
32
|
+
Partial Document Text: ${node.text}
|
|
33
|
+
|
|
34
|
+
Directly return the description, do not include any other text.`;
|
|
35
|
+
const result = await llm(prompt);
|
|
36
|
+
return result.content;
|
|
37
|
+
}
|
|
38
|
+
async function getNodeSummary(node, summaryTokenThreshold, llm, counter) {
|
|
39
|
+
const text = node.text ?? '';
|
|
40
|
+
return counter(text) < summaryTokenThreshold ? text : generateNodeSummary(node, llm);
|
|
41
|
+
}
|
|
42
|
+
async function generateSummariesForStructureMd(structure, summaryTokenThreshold, llm, counter, pr) {
|
|
43
|
+
const nodes = (0, tree_1.structureToList)(structure);
|
|
44
|
+
pr.report('Generating node summaries', `0 / ${nodes.length} nodes`);
|
|
45
|
+
let done = 0;
|
|
46
|
+
const summaries = await Promise.all(nodes.map(async (node) => {
|
|
47
|
+
const summary = await getNodeSummary(node, summaryTokenThreshold, llm, counter);
|
|
48
|
+
done++;
|
|
49
|
+
pr.advance('Generating node summaries', `${done} / ${nodes.length} nodes`);
|
|
50
|
+
return summary;
|
|
51
|
+
}));
|
|
52
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
53
|
+
if (!nodes[i].nodes || nodes[i].nodes.length === 0) {
|
|
54
|
+
nodes[i].summary = summaries[i];
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
nodes[i].prefix_summary = summaries[i];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return structure;
|
|
61
|
+
}
|
|
62
|
+
async function generateDocDescription(structure, llm, pr) {
|
|
63
|
+
pr.report('Generating document description');
|
|
64
|
+
const prompt = `Your are an expert in generating descriptions for a document.
|
|
65
|
+
You are given a structure of a document. Your task is to generate a one-sentence description for the document, which makes it easy to distinguish the document from other documents.
|
|
66
|
+
|
|
67
|
+
Document Structure: ${JSON.stringify(structure)}
|
|
68
|
+
|
|
69
|
+
Directly return the description, do not include any other text.`;
|
|
70
|
+
const result = await llm(prompt);
|
|
71
|
+
return result.content;
|
|
72
|
+
}
|
|
73
|
+
// ─── Markdown Parsing ─────────────────────────────────────────────────────────
|
|
74
|
+
function extractNodesFromMarkdown(markdownContent) {
|
|
75
|
+
const headerPattern = /^(#{1,6})\s+(.+)$/;
|
|
76
|
+
const codeBlockPattern = /^```/;
|
|
77
|
+
const nodeList = [];
|
|
78
|
+
const lines = markdownContent.split('\n');
|
|
79
|
+
let inCodeBlock = false;
|
|
80
|
+
for (let lineNum = 1; lineNum <= lines.length; lineNum++) {
|
|
81
|
+
const stripped = lines[lineNum - 1].trim();
|
|
82
|
+
if (codeBlockPattern.test(stripped)) {
|
|
83
|
+
inCodeBlock = !inCodeBlock;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (!stripped)
|
|
87
|
+
continue;
|
|
88
|
+
if (!inCodeBlock) {
|
|
89
|
+
const match = headerPattern.exec(stripped);
|
|
90
|
+
if (match)
|
|
91
|
+
nodeList.push({ node_title: match[2].trim(), line_num: lineNum });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return { nodeList, lines };
|
|
95
|
+
}
|
|
96
|
+
function extractNodeTextContent(nodeList, markdownLines) {
|
|
97
|
+
const allNodes = [];
|
|
98
|
+
for (const node of nodeList) {
|
|
99
|
+
const lineContent = markdownLines[node.line_num - 1];
|
|
100
|
+
const headerMatch = /^(#{1,6})/.exec(lineContent);
|
|
101
|
+
if (!headerMatch) {
|
|
102
|
+
console.warn(`[PageIndex] Line ${node.line_num} is not a valid header`);
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
allNodes.push({ title: node.node_title, line_num: node.line_num, level: headerMatch[1].length });
|
|
106
|
+
}
|
|
107
|
+
for (let i = 0; i < allNodes.length; i++) {
|
|
108
|
+
const startLine = allNodes[i].line_num - 1;
|
|
109
|
+
const endLine = i + 1 < allNodes.length ? allNodes[i + 1].line_num - 1 : markdownLines.length;
|
|
110
|
+
allNodes[i].text = markdownLines.slice(startLine, endLine).join('\n').trim();
|
|
111
|
+
}
|
|
112
|
+
return allNodes;
|
|
113
|
+
}
|
|
114
|
+
// ─── Tree Thinning ────────────────────────────────────────────────────────────
|
|
115
|
+
function findAllChildren(parentIndex, parentLevel, nodeList) {
|
|
116
|
+
const children = [];
|
|
117
|
+
for (let i = parentIndex + 1; i < nodeList.length; i++) {
|
|
118
|
+
if (nodeList[i].level <= parentLevel)
|
|
119
|
+
break;
|
|
120
|
+
children.push(i);
|
|
121
|
+
}
|
|
122
|
+
return children;
|
|
123
|
+
}
|
|
124
|
+
function updateNodeListWithTextTokenCount(nodeList, counter) {
|
|
125
|
+
const result = [...nodeList];
|
|
126
|
+
for (let i = result.length - 1; i >= 0; i--) {
|
|
127
|
+
const children = findAllChildren(i, result[i].level, result);
|
|
128
|
+
let totalText = result[i].text ?? '';
|
|
129
|
+
for (const ci of children) {
|
|
130
|
+
const ct = result[ci].text ?? '';
|
|
131
|
+
if (ct)
|
|
132
|
+
totalText += '\n' + ct;
|
|
133
|
+
}
|
|
134
|
+
result[i].text_token_count = counter(totalText);
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
function treeThinningForIndex(nodeList, minNodeToken, counter) {
|
|
139
|
+
const result = [...nodeList];
|
|
140
|
+
const nodesToRemove = new Set();
|
|
141
|
+
for (let i = result.length - 1; i >= 0; i--) {
|
|
142
|
+
if (nodesToRemove.has(i))
|
|
143
|
+
continue;
|
|
144
|
+
const current = result[i];
|
|
145
|
+
if ((current.text_token_count ?? 0) < minNodeToken) {
|
|
146
|
+
const children = findAllChildren(i, current.level, result);
|
|
147
|
+
const childrenTexts = [];
|
|
148
|
+
for (const ci of children.sort((a, b) => a - b)) {
|
|
149
|
+
if (!nodesToRemove.has(ci)) {
|
|
150
|
+
const ct = result[ci].text ?? '';
|
|
151
|
+
if (ct.trim())
|
|
152
|
+
childrenTexts.push(ct);
|
|
153
|
+
nodesToRemove.add(ci);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (childrenTexts.length > 0) {
|
|
157
|
+
let merged = current.text ?? '';
|
|
158
|
+
for (const ct of childrenTexts) {
|
|
159
|
+
if (merged && !merged.endsWith('\n'))
|
|
160
|
+
merged += '\n\n';
|
|
161
|
+
merged += ct;
|
|
162
|
+
}
|
|
163
|
+
result[i].text = merged;
|
|
164
|
+
result[i].text_token_count = counter(merged);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return result.filter((_, idx) => !nodesToRemove.has(idx));
|
|
169
|
+
}
|
|
170
|
+
// ─── Tree Assembly ────────────────────────────────────────────────────────────
|
|
171
|
+
function buildTreeFromNodes(nodeList) {
|
|
172
|
+
if (nodeList.length === 0)
|
|
173
|
+
return [];
|
|
174
|
+
const stack = [];
|
|
175
|
+
const rootNodes = [];
|
|
176
|
+
let counter = 1;
|
|
177
|
+
for (const node of nodeList) {
|
|
178
|
+
const treeNode = { title: node.title, node_id: String(counter).padStart(4, '0'), text: node.text, nodes: [] };
|
|
179
|
+
counter++;
|
|
180
|
+
while (stack.length > 0 && stack[stack.length - 1][1] >= node.level)
|
|
181
|
+
stack.pop();
|
|
182
|
+
if (stack.length === 0)
|
|
183
|
+
rootNodes.push(treeNode);
|
|
184
|
+
else
|
|
185
|
+
stack[stack.length - 1][0].nodes.push(treeNode);
|
|
186
|
+
stack.push([treeNode, node.level]);
|
|
187
|
+
}
|
|
188
|
+
return rootNodes;
|
|
189
|
+
}
|
|
190
|
+
function cleanTreeForOutput(treeNodes) {
|
|
191
|
+
return treeNodes.map((node) => {
|
|
192
|
+
const cleaned = { title: node.title, node_id: node.node_id, text: node.text };
|
|
193
|
+
if (node.nodes && node.nodes.length > 0)
|
|
194
|
+
cleaned.nodes = cleanTreeForOutput(node.nodes);
|
|
195
|
+
return cleaned;
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
// ─── Public API ───────────────────────────────────────────────────────────────
|
|
199
|
+
/**
|
|
200
|
+
* Builds a hierarchical tree index from a Markdown document.
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```ts
|
|
204
|
+
* const result = await pageIndexMd({
|
|
205
|
+
* content: markdownString,
|
|
206
|
+
* llm: myLlmCallback,
|
|
207
|
+
* options: {
|
|
208
|
+
* onProgress: ({ step, percent, detail }) =>
|
|
209
|
+
* console.log(`[${percent}%] ${step}${detail ? ` — ${detail}` : ''}`),
|
|
210
|
+
* },
|
|
211
|
+
* });
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
async function pageIndexMd(input) {
|
|
215
|
+
const { content, docName = 'document', llm, options = {} } = input;
|
|
216
|
+
const opts = { ...config_1.DEFAULT_MD_OPTIONS, ...options };
|
|
217
|
+
const counter = options.tokenCounter ?? tokens_1.defaultTokenCounter;
|
|
218
|
+
const pr = new progress_1.ProgressReporter([...MD_STEPS], options.onProgress);
|
|
219
|
+
pr.report('Initializing');
|
|
220
|
+
pr.report('Parsing document headings');
|
|
221
|
+
const { nodeList, lines } = extractNodesFromMarkdown(content);
|
|
222
|
+
pr.advance('Parsing document headings', `Found ${nodeList.length} heading(s)`);
|
|
223
|
+
pr.report('Extracting section text');
|
|
224
|
+
let nodesWithContent = extractNodeTextContent(nodeList, lines);
|
|
225
|
+
pr.advance('Extracting section text', `Extracted text for ${nodesWithContent.length} section(s)`);
|
|
226
|
+
if (opts.ifThinning) {
|
|
227
|
+
pr.report('Optimizing tree structure', 'Calculating token counts');
|
|
228
|
+
nodesWithContent = updateNodeListWithTextTokenCount(nodesWithContent, counter);
|
|
229
|
+
pr.advance('Optimizing tree structure', 'Merging small nodes');
|
|
230
|
+
nodesWithContent = treeThinningForIndex(nodesWithContent, opts.minTokenThreshold, counter);
|
|
231
|
+
pr.advance('Optimizing tree structure', `${nodesWithContent.length} node(s) after thinning`);
|
|
232
|
+
}
|
|
233
|
+
pr.report('Building tree', `Assembling ${nodesWithContent.length} node(s)`);
|
|
234
|
+
let treeStructure = buildTreeFromNodes(nodesWithContent);
|
|
235
|
+
treeStructure = cleanTreeForOutput(treeStructure);
|
|
236
|
+
if (opts.ifAddNodeId)
|
|
237
|
+
(0, tree_1.writeNodeId)(treeStructure);
|
|
238
|
+
if (opts.ifAddNodeSummary) {
|
|
239
|
+
treeStructure = (0, tree_1.formatStructure)(treeStructure, ['title', 'node_id', 'summary', 'prefix_summary', 'text', 'nodes']);
|
|
240
|
+
treeStructure = await generateSummariesForStructureMd(treeStructure, opts.summaryTokenThreshold, llm, counter, pr);
|
|
241
|
+
if (!opts.ifAddNodeText) {
|
|
242
|
+
treeStructure = (0, tree_1.formatStructure)(treeStructure, ['title', 'node_id', 'summary', 'prefix_summary', 'nodes']);
|
|
243
|
+
}
|
|
244
|
+
if (opts.ifAddDocDescription) {
|
|
245
|
+
const cleanStructure = (0, tree_1.createCleanStructureForDescription)(treeStructure);
|
|
246
|
+
const docDescription = await generateDocDescription(cleanStructure, llm, pr);
|
|
247
|
+
pr.report('Done');
|
|
248
|
+
return { doc_name: docName, doc_description: docDescription, structure: treeStructure };
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
const textOrder = opts.ifAddNodeText
|
|
253
|
+
? ['title', 'node_id', 'text', 'nodes']
|
|
254
|
+
: ['title', 'node_id', 'nodes'];
|
|
255
|
+
treeStructure = (0, tree_1.formatStructure)(treeStructure, textOrder);
|
|
256
|
+
}
|
|
257
|
+
pr.report('Done');
|
|
258
|
+
return { doc_name: docName, structure: treeStructure };
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=pageIndexMd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageIndexMd.js","sourceRoot":"","sources":["../src/pageIndexMd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSV parser — no external dependencies.
|
|
3
|
+
*
|
|
4
|
+
* Converts a CSV string or buffer into page-like chunks so it can be fed
|
|
5
|
+
* into pageIndex(). Each "page" is a fixed number of rows (rowsPerPage)
|
|
6
|
+
* formatted as a plain-text table.
|
|
7
|
+
*/
|
|
8
|
+
import type { CsvParseOptions, PageData, TokenCounter } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* Parses a CSV file into `PageData[]` chunks.
|
|
11
|
+
*
|
|
12
|
+
* @param data CSV as a UTF-8 string or raw bytes (ArrayBuffer / Uint8Array)
|
|
13
|
+
* @param options Parsing options (delimiter, rowsPerPage, hasHeader)
|
|
14
|
+
* @param counter Token counter function
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractCsvPages(data: string | ArrayBuffer | Uint8Array, options?: CsvParseOptions, counter?: TokenCounter): Promise<PageData[]>;
|
|
17
|
+
//# sourceMappingURL=csv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/parsers/csv.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxE;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,EACvC,OAAO,GAAE,eAAoB,EAC7B,OAAO,GAAE,YAAkC,GAC1C,OAAO,CAAC,QAAQ,EAAE,CAAC,CA4BrB"}
|