doc-reader-sdk 0.0.0-stage → 1.0.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/LICENSE +21 -0
- package/README.md +220 -2
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +158 -0
- package/dist/cli.js.map +1 -0
- package/dist/extractors/csv.d.ts +6 -0
- package/dist/extractors/csv.d.ts.map +1 -0
- package/dist/extractors/csv.js +62 -0
- package/dist/extractors/csv.js.map +1 -0
- package/dist/extractors/docx.d.ts +6 -0
- package/dist/extractors/docx.d.ts.map +1 -0
- package/dist/extractors/docx.js +58 -0
- package/dist/extractors/docx.js.map +1 -0
- package/dist/extractors/json.d.ts +10 -0
- package/dist/extractors/json.d.ts.map +1 -0
- package/dist/extractors/json.js +89 -0
- package/dist/extractors/json.js.map +1 -0
- package/dist/extractors/pdf.d.ts +6 -0
- package/dist/extractors/pdf.d.ts.map +1 -0
- package/dist/extractors/pdf.js +74 -0
- package/dist/extractors/pdf.js.map +1 -0
- package/dist/extractors/pptx.d.ts +6 -0
- package/dist/extractors/pptx.d.ts.map +1 -0
- package/dist/extractors/pptx.js +81 -0
- package/dist/extractors/pptx.js.map +1 -0
- package/dist/extractors/text.d.ts +6 -0
- package/dist/extractors/text.d.ts.map +1 -0
- package/dist/extractors/text.js +40 -0
- package/dist/extractors/text.js.map +1 -0
- package/dist/extractors/xlsx.d.ts +6 -0
- package/dist/extractors/xlsx.d.ts.map +1 -0
- package/dist/extractors/xlsx.js +59 -0
- package/dist/extractors/xlsx.js.map +1 -0
- package/dist/extractors/zip.d.ts +6 -0
- package/dist/extractors/zip.d.ts.map +1 -0
- package/dist/extractors/zip.js +25 -0
- package/dist/extractors/zip.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +181 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +38 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/helpers.d.ts +13 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +164 -0
- package/dist/utils/helpers.js.map +1 -0
- package/package.json +74 -4
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.extractJson = extractJson;
|
|
37
|
+
exports.extractJsonl = extractJsonl;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const readline = __importStar(require("readline"));
|
|
40
|
+
async function extractJson(filePath, opts) {
|
|
41
|
+
const warnings = [];
|
|
42
|
+
const raw = fs.readFileSync(filePath, 'utf-8').trim();
|
|
43
|
+
try {
|
|
44
|
+
const parsed = JSON.parse(raw);
|
|
45
|
+
const formatted = JSON.stringify(parsed, null, 2);
|
|
46
|
+
return {
|
|
47
|
+
chunks: [{ index: 0, content: formatted, source: 'JSON' }],
|
|
48
|
+
warnings,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
warnings.push(`Not valid JSON: ${e.message}. Returning raw text.`);
|
|
53
|
+
return {
|
|
54
|
+
chunks: [{ index: 0, content: raw, source: 'JSON (raw)' }],
|
|
55
|
+
warnings,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async function extractJsonl(filePath, opts) {
|
|
60
|
+
const warnings = [];
|
|
61
|
+
const chunks = [];
|
|
62
|
+
const rl = readline.createInterface({
|
|
63
|
+
input: fs.createReadStream(filePath, 'utf-8'),
|
|
64
|
+
crlfDelay: Infinity,
|
|
65
|
+
});
|
|
66
|
+
let i = 0;
|
|
67
|
+
let totalChars = 0;
|
|
68
|
+
for await (const line of rl) {
|
|
69
|
+
if (!line.trim())
|
|
70
|
+
continue;
|
|
71
|
+
let pretty;
|
|
72
|
+
try {
|
|
73
|
+
pretty = JSON.stringify(JSON.parse(line), null, 2);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
pretty = line;
|
|
77
|
+
warnings.push(`Line ${i + 1}: not valid JSON, kept as-is.`);
|
|
78
|
+
}
|
|
79
|
+
chunks.push({ index: i, content: pretty, source: `Record ${i + 1}` });
|
|
80
|
+
totalChars += pretty.length;
|
|
81
|
+
i++;
|
|
82
|
+
if (opts.maxChars && totalChars > opts.maxChars) {
|
|
83
|
+
warnings.push(`JSONL truncated at record ${i} due to maxChars limit.`);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return { chunks, warnings };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kCAqBC;AAED,oCAoCC;AA/DD,uCAAyB;AACzB,mDAAqC;AAG9B,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,IAAuB;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1D,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,mBAAoB,CAAW,CAAC,OAAO,uBAAuB,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAC1D,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,IAAuB;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC7C,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAE3B,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;YACvE,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/extractors/pdf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAOrE,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8CrD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.extractPdf = extractPdf;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
async function extractPdf(filePath, opts) {
|
|
39
|
+
const warnings = [];
|
|
40
|
+
// Dynamically import pdf-parse (it has side-effects on require)
|
|
41
|
+
const pdfParse = (await Promise.resolve().then(() => __importStar(require('pdf-parse')))).default;
|
|
42
|
+
const buf = fs.readFileSync(filePath);
|
|
43
|
+
const chunks = [];
|
|
44
|
+
try {
|
|
45
|
+
if (opts.pageByPage) {
|
|
46
|
+
let pageNum = 0;
|
|
47
|
+
const pageTexts = [];
|
|
48
|
+
const pageRender = async (pageData) => {
|
|
49
|
+
const textContent = await pageData.getTextContent();
|
|
50
|
+
const text = textContent.items.map((item) => item.str).join(' ');
|
|
51
|
+
pageTexts.push(text);
|
|
52
|
+
return text;
|
|
53
|
+
};
|
|
54
|
+
await pdfParse(buf, { pagerender: pageRender });
|
|
55
|
+
for (const text of pageTexts) {
|
|
56
|
+
pageNum++;
|
|
57
|
+
chunks.push({ index: pageNum - 1, content: text.trim(), source: `Page ${pageNum}` });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const data = await pdfParse(buf);
|
|
62
|
+
chunks.push({ index: 0, content: data.text.trim(), source: `All ${data.numpages} pages` });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
warnings.push(`Failed to parse PDF structure (${err.message}). The file may use a layout the parser doesn't support.`);
|
|
67
|
+
return { chunks, warnings };
|
|
68
|
+
}
|
|
69
|
+
if (chunks.every(c => !c.content)) {
|
|
70
|
+
warnings.push('PDF appears to be image-based (scanned). No text could be extracted. Consider OCR.');
|
|
71
|
+
}
|
|
72
|
+
return { chunks, warnings };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=pdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/extractors/pdf.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,gCAiDC;AAzDD,uCAAyB;AAQlB,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,IAAuB;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,gEAAgE;IAChE,MAAM,QAAQ,GAAG,CAAC,wDAAa,WAAW,GAAC,CAAC,CAAC,OAGxB,CAAC;IAEtB,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,MAAM,UAAU,GAAG,KAAK,EAAE,QAA8E,EAAE,EAAE;gBAC1G,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,QAAQ,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YAEhD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,OAAO,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CACX,kCAAmC,GAAa,CAAC,OAAO,0DAA0D,CACnH,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IACtG,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pptx.d.ts","sourceRoot":"","sources":["../../src/extractors/pptx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAuBlD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8BrD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.extractPptx = extractPptx;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const adm_zip_1 = __importDefault(require("adm-zip"));
|
|
42
|
+
function parseXmlNodes(xml) {
|
|
43
|
+
// Use regex to extract text content from XML text nodes
|
|
44
|
+
// Extract content between tags, skipping tag-like content
|
|
45
|
+
const texts = [];
|
|
46
|
+
const re = />([^<]+)</g;
|
|
47
|
+
let m;
|
|
48
|
+
while ((m = re.exec(xml)) !== null) {
|
|
49
|
+
const t = m[1].trim();
|
|
50
|
+
if (t)
|
|
51
|
+
texts.push(t);
|
|
52
|
+
}
|
|
53
|
+
return texts;
|
|
54
|
+
}
|
|
55
|
+
async function extractPptx(filePath) {
|
|
56
|
+
const warnings = [];
|
|
57
|
+
const chunks = [];
|
|
58
|
+
const buf = fs.readFileSync(filePath);
|
|
59
|
+
const zip = new adm_zip_1.default(buf);
|
|
60
|
+
const slideEntries = zip
|
|
61
|
+
.getEntries()
|
|
62
|
+
.filter((e) => /^ppt\/slides\/slide\d+\.xml$/.test(e.entryName))
|
|
63
|
+
.sort((a, b) => {
|
|
64
|
+
const numA = parseInt(a.entryName.match(/\d+/)[0]);
|
|
65
|
+
const numB = parseInt(b.entryName.match(/\d+/)[0]);
|
|
66
|
+
return numA - numB;
|
|
67
|
+
});
|
|
68
|
+
if (slideEntries.length === 0) {
|
|
69
|
+
warnings.push('No slides found in PPTX.');
|
|
70
|
+
return { chunks, warnings };
|
|
71
|
+
}
|
|
72
|
+
for (let i = 0; i < slideEntries.length; i++) {
|
|
73
|
+
const entry = slideEntries[i];
|
|
74
|
+
const xml = entry.getData().toString('utf-8');
|
|
75
|
+
const textNodes = parseXmlNodes(xml);
|
|
76
|
+
const text = textNodes.join(' ').replace(/\s+/g, ' ').trim();
|
|
77
|
+
chunks.push({ index: i, content: text, source: `Slide ${i + 1}` });
|
|
78
|
+
}
|
|
79
|
+
return { chunks, warnings };
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=pptx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pptx.js","sourceRoot":"","sources":["../../src/extractors/pptx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,kCAgCC;AAzDD,uCAAyB;AACzB,sDAA6B;AAW7B,SAAS,aAAa,CAAC,GAAW;IAChC,wDAAwD;IACxD,0DAA0D;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,YAAY,CAAC;IACxB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,QAAgB;IAEhB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,iBAAM,CAAC,GAAG,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,GAAG;SACrB,UAAU,EAAE;SACZ,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACjF,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/extractors/text.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqCrD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractText = extractText;
|
|
4
|
+
const helpers_js_1 = require("../utils/helpers.js");
|
|
5
|
+
const TEN_MB = 10 * 1024 * 1024;
|
|
6
|
+
async function extractText(filePath, opts) {
|
|
7
|
+
const warnings = [];
|
|
8
|
+
const size = (0, helpers_js_1.fileSizeBytes)(filePath);
|
|
9
|
+
const useStreaming = opts.streaming ?? size > TEN_MB;
|
|
10
|
+
let content = '';
|
|
11
|
+
if (useStreaming) {
|
|
12
|
+
const parts = [];
|
|
13
|
+
let totalChars = 0;
|
|
14
|
+
let truncatedByOpts = false;
|
|
15
|
+
for await (const chunk of (0, helpers_js_1.streamTextFile)(filePath, opts.chunkSize)) {
|
|
16
|
+
parts.push(chunk);
|
|
17
|
+
totalChars += chunk.length;
|
|
18
|
+
if (opts.maxChars && totalChars >= opts.maxChars) {
|
|
19
|
+
truncatedByOpts = true;
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
content = parts.join('');
|
|
24
|
+
if (truncatedByOpts) {
|
|
25
|
+
warnings.push('Content truncated at maxChars limit during streaming.');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const { text, encoding } = await (0, helpers_js_1.readTextFile)(filePath, opts.encoding);
|
|
30
|
+
if (!encoding.startsWith('utf')) {
|
|
31
|
+
warnings.push(`File encoding detected as "${encoding}". Content decoded automatically.`);
|
|
32
|
+
}
|
|
33
|
+
content = text;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
chunks: [{ index: 0, content: content.trim(), source: 'Text' }],
|
|
37
|
+
warnings,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/extractors/text.ts"],"names":[],"mappings":";;AAMA,kCAwCC;AA7CD,oDAAkF;AAGlF,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzB,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,IAAuB;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,CAAC;IAErD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAA,2BAAc,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjD,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,yBAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,QAAQ,mCAAmC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/D,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx.d.ts","sourceRoot":"","sources":["../../src/extractors/xlsx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErE,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwBrD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.extractXlsx = extractXlsx;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const XLSX = __importStar(require("xlsx"));
|
|
39
|
+
async function extractXlsx(filePath, opts) {
|
|
40
|
+
const warnings = [];
|
|
41
|
+
const buf = fs.readFileSync(filePath);
|
|
42
|
+
const wb = XLSX.read(buf, { type: 'buffer', cellDates: true });
|
|
43
|
+
const sheetNames = opts.allSheets !== false ? wb.SheetNames : [wb.SheetNames[0]];
|
|
44
|
+
const chunks = [];
|
|
45
|
+
for (let i = 0; i < sheetNames.length; i++) {
|
|
46
|
+
const name = sheetNames[i];
|
|
47
|
+
const ws = wb.Sheets[name];
|
|
48
|
+
if (!ws)
|
|
49
|
+
continue;
|
|
50
|
+
const csv = XLSX.utils.sheet_to_csv(ws, { blankrows: false });
|
|
51
|
+
if (!csv.trim()) {
|
|
52
|
+
warnings.push(`Sheet "${name}" is empty.`);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
chunks.push({ index: i, content: csv.trim(), source: `Sheet: ${name}` });
|
|
56
|
+
}
|
|
57
|
+
return { chunks, warnings };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=xlsx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx.js","sourceRoot":"","sources":["../../src/extractors/xlsx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kCA2BC;AA/BD,uCAAyB;AACzB,2CAA6B;AAGtB,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,IAAuB;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../src/extractors/zip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,UAAO,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAmBrD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.extractZip = extractZip;
|
|
7
|
+
const adm_zip_1 = __importDefault(require("adm-zip"));
|
|
8
|
+
async function extractZip(filePath, listOnly = true) {
|
|
9
|
+
const warnings = [];
|
|
10
|
+
const zip = new adm_zip_1.default(filePath);
|
|
11
|
+
const entries = zip.getEntries();
|
|
12
|
+
const lines = ['Archive contents:', ''];
|
|
13
|
+
for (const e of entries) {
|
|
14
|
+
const size = e.header.size;
|
|
15
|
+
lines.push(` ${e.isDirectory ? '[DIR] ' : ' '} ${e.entryName} (${size} bytes)`);
|
|
16
|
+
}
|
|
17
|
+
if (!listOnly) {
|
|
18
|
+
warnings.push('Full ZIP extraction not performed. Set listOnly:false to extract individual entries.');
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
chunks: [{ index: 0, content: lines.join('\n'), source: `ZIP (${entries.length} entries)` }],
|
|
22
|
+
warnings,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/extractors/zip.ts"],"names":[],"mappings":";;;;;AAGA,gCAsBC;AAzBD,sDAA6B;AAGtB,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,QAAQ,GAAG,IAAI;IAEf,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,iBAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,MAAM,IAAI,SAAS,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACxG,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC;QAC5F,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ExtractionOptions, ExtractionResult } from './types/index.js';
|
|
2
|
+
export type { ExtractionOptions, ExtractionResult, DocChunk, DocType } from './types/index.js';
|
|
3
|
+
export declare class DocReader {
|
|
4
|
+
private defaultOptions;
|
|
5
|
+
constructor(defaultOptions?: ExtractionOptions);
|
|
6
|
+
/**
|
|
7
|
+
* Read any document file and return its full text content.
|
|
8
|
+
* Handles PDF, DOCX, XLSX, PPTX, CSV, JSON, JSONL, TXT, MD, HTML, XML, ZIP, and more.
|
|
9
|
+
*/
|
|
10
|
+
read(filePath: string, options?: ExtractionOptions): Promise<ExtractionResult>;
|
|
11
|
+
}
|
|
12
|
+
/** Convenience one-shot function */
|
|
13
|
+
export declare function readDoc(filePath: string, options?: ExtractionOptions): Promise<ExtractionResult>;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAW,MAAM,kBAAkB,CAAC;AAErF,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE/F,qBAAa,SAAS;IACpB,OAAO,CAAC,cAAc,CAAoB;gBAE9B,cAAc,GAAE,iBAAsB;IAUlD;;;OAGG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;CAoH7B;AAED,oCAAoC;AACpC,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
|