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.
Files changed (64) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +21 -0
  3. package/README.md +405 -0
  4. package/dist/config.d.ts +4 -0
  5. package/dist/config.d.ts.map +1 -0
  6. package/dist/config.js +22 -0
  7. package/dist/config.js.map +1 -0
  8. package/dist/index.d.ts +49 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +75 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/pageIndex.d.ts +48 -0
  13. package/dist/pageIndex.d.ts.map +1 -0
  14. package/dist/pageIndex.js +962 -0
  15. package/dist/pageIndex.js.map +1 -0
  16. package/dist/pageIndexDocument.d.ts +85 -0
  17. package/dist/pageIndexDocument.d.ts.map +1 -0
  18. package/dist/pageIndexDocument.js +145 -0
  19. package/dist/pageIndexDocument.js.map +1 -0
  20. package/dist/pageIndexMd.d.ts +31 -0
  21. package/dist/pageIndexMd.d.ts.map +1 -0
  22. package/dist/pageIndexMd.js +260 -0
  23. package/dist/pageIndexMd.js.map +1 -0
  24. package/dist/parsers/csv.d.ts +17 -0
  25. package/dist/parsers/csv.d.ts.map +1 -0
  26. package/dist/parsers/csv.js +147 -0
  27. package/dist/parsers/csv.js.map +1 -0
  28. package/dist/parsers/docx.d.ts +20 -0
  29. package/dist/parsers/docx.d.ts.map +1 -0
  30. package/dist/parsers/docx.js +134 -0
  31. package/dist/parsers/docx.js.map +1 -0
  32. package/dist/parsers/xlsx.d.ts +19 -0
  33. package/dist/parsers/xlsx.d.ts.map +1 -0
  34. package/dist/parsers/xlsx.js +121 -0
  35. package/dist/parsers/xlsx.js.map +1 -0
  36. package/dist/reverseIndex.d.ts +39 -0
  37. package/dist/reverseIndex.d.ts.map +1 -0
  38. package/dist/reverseIndex.js +248 -0
  39. package/dist/reverseIndex.js.map +1 -0
  40. package/dist/types.d.ts +190 -0
  41. package/dist/types.d.ts.map +1 -0
  42. package/dist/types.js +4 -0
  43. package/dist/types.js.map +1 -0
  44. package/dist/utils/json.d.ts +13 -0
  45. package/dist/utils/json.d.ts.map +1 -0
  46. package/dist/utils/json.js +69 -0
  47. package/dist/utils/json.js.map +1 -0
  48. package/dist/utils/pdf.d.ts +20 -0
  49. package/dist/utils/pdf.d.ts.map +1 -0
  50. package/dist/utils/pdf.js +96 -0
  51. package/dist/utils/pdf.js.map +1 -0
  52. package/dist/utils/progress.d.ts +29 -0
  53. package/dist/utils/progress.d.ts.map +1 -0
  54. package/dist/utils/progress.js +59 -0
  55. package/dist/utils/progress.js.map +1 -0
  56. package/dist/utils/tokens.d.ts +7 -0
  57. package/dist/utils/tokens.d.ts.map +1 -0
  58. package/dist/utils/tokens.js +12 -0
  59. package/dist/utils/tokens.js.map +1 -0
  60. package/dist/utils/tree.d.ts +88 -0
  61. package/dist/utils/tree.d.ts.map +1 -0
  62. package/dist/utils/tree.js +365 -0
  63. package/dist/utils/tree.js.map +1 -0
  64. 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"}