@helloxiaohu/plugin-mineru 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/mineru-toolset.strategy.d.ts +25 -0
- package/dist/lib/mineru-toolset.strategy.d.ts.map +1 -1
- package/dist/lib/mineru-toolset.strategy.js +27 -0
- package/dist/lib/mineru.tool.d.ts +1 -0
- package/dist/lib/mineru.tool.d.ts.map +1 -1
- package/dist/lib/mineru.tool.js +27 -2
- package/dist/lib/mineru.toolset.d.ts +1 -0
- package/dist/lib/mineru.toolset.d.ts.map +1 -1
- package/dist/lib/mineru.toolset.js +2 -1
- package/package.json +1 -1
|
@@ -200,6 +200,31 @@ export declare class MinerUToolsetStrategy implements IToolsetStrategy<MinerUToo
|
|
|
200
200
|
};
|
|
201
201
|
};
|
|
202
202
|
};
|
|
203
|
+
includeNonImageFiles: {
|
|
204
|
+
type: string;
|
|
205
|
+
title: {
|
|
206
|
+
en_US: string;
|
|
207
|
+
zh_Hans: string;
|
|
208
|
+
};
|
|
209
|
+
description: {
|
|
210
|
+
en_US: string;
|
|
211
|
+
zh_Hans: string;
|
|
212
|
+
};
|
|
213
|
+
enum: string[];
|
|
214
|
+
default: string;
|
|
215
|
+
'x-ui': {
|
|
216
|
+
enumLabels: {
|
|
217
|
+
true: {
|
|
218
|
+
en_US: string;
|
|
219
|
+
zh_Hans: string;
|
|
220
|
+
};
|
|
221
|
+
false: {
|
|
222
|
+
en_US: string;
|
|
223
|
+
zh_Hans: string;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
};
|
|
203
228
|
extraFormats: {
|
|
204
229
|
type: string;
|
|
205
230
|
title: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mineru-toolset.strategy.d.ts","sourceRoot":"","sources":["../../src/lib/mineru-toolset.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAiB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AASzE,qBAEa,qBAAsB,YAAW,gBAAgB,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mineru-toolset.strategy.d.ts","sourceRoot":"","sources":["../../src/lib/mineru-toolset.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAiB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AASzE,qBAEa,qBAAsB,YAAW,gBAAgB,CAAC,mBAAmB,CAAC;IA+P/E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAhQ/B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA4Ca,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsMjC;IAEF,QAAQ,CAAC,WAAW,yBAMlB;gBAIiB,aAAa,EAAE,aAAa,EAE5B,YAAY,EAAE,yBAAyB;IAG1D,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IA0BlD,WAAW;;;;;;;;;;;;;;;;;;;;CAmBZ"}
|
|
@@ -212,6 +212,31 @@ let MinerUToolsetStrategy = class MinerUToolsetStrategy {
|
|
|
212
212
|
},
|
|
213
213
|
},
|
|
214
214
|
},
|
|
215
|
+
includeNonImageFiles: {
|
|
216
|
+
type: 'string',
|
|
217
|
+
title: {
|
|
218
|
+
en_US: 'Include Non-Image Files',
|
|
219
|
+
zh_Hans: '包含非图片文件',
|
|
220
|
+
},
|
|
221
|
+
description: {
|
|
222
|
+
en_US: 'Include markdown and JSON files in tool file outputs.',
|
|
223
|
+
zh_Hans: '在工具文件输出中包含 Markdown 与 JSON 文件。',
|
|
224
|
+
},
|
|
225
|
+
enum: ['true', 'false'],
|
|
226
|
+
default: 'true',
|
|
227
|
+
'x-ui': {
|
|
228
|
+
enumLabels: {
|
|
229
|
+
'true': {
|
|
230
|
+
en_US: 'Enabled',
|
|
231
|
+
zh_Hans: '启用',
|
|
232
|
+
},
|
|
233
|
+
'false': {
|
|
234
|
+
en_US: 'Disabled',
|
|
235
|
+
zh_Hans: '禁用',
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
},
|
|
215
240
|
extraFormats: {
|
|
216
241
|
type: 'string',
|
|
217
242
|
title: {
|
|
@@ -259,6 +284,7 @@ let MinerUToolsetStrategy = class MinerUToolsetStrategy {
|
|
|
259
284
|
language: creds.language,
|
|
260
285
|
modelVersion: creds.modelVersion,
|
|
261
286
|
returnJson: creds.returnJson,
|
|
287
|
+
includeNonImageFiles: creds.includeNonImageFiles,
|
|
262
288
|
configService: this.configService,
|
|
263
289
|
resultParser: this.resultParser,
|
|
264
290
|
};
|
|
@@ -273,6 +299,7 @@ let MinerUToolsetStrategy = class MinerUToolsetStrategy {
|
|
|
273
299
|
language: 'ch',
|
|
274
300
|
modelVersion: 'pipeline',
|
|
275
301
|
returnJson: false,
|
|
302
|
+
includeNonImageFiles: true,
|
|
276
303
|
}),
|
|
277
304
|
];
|
|
278
305
|
}
|
|
@@ -10,6 +10,7 @@ export interface MinerUToolDefaults {
|
|
|
10
10
|
language?: 'en' | 'ch';
|
|
11
11
|
modelVersion?: 'pipeline' | 'vlm';
|
|
12
12
|
returnJson?: boolean | string;
|
|
13
|
+
includeNonImageFiles?: boolean | string;
|
|
13
14
|
}
|
|
14
15
|
export declare function buildMinerUTool(configService: ConfigService, resultParser: MinerUResultParserService, options?: MinerUIntegrationOptions, fileSystem?: XpFileSystem, defaults?: MinerUToolDefaults): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
15
16
|
doc_url: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mineru.tool.d.ts","sourceRoot":"","sources":["../../src/lib/mineru.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAU,wBAAwB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mineru.tool.d.ts","sourceRoot":"","sources":["../../src/lib/mineru.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAU,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzC;AA+BD,wBAAgB,eAAe,CAC7B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,yBAAyB,EACvC,OAAO,CAAC,EAAE,wBAAwB,EAClC,UAAU,CAAC,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;MAgO9B"}
|
package/dist/lib/mineru.tool.js
CHANGED
|
@@ -4,6 +4,21 @@ import { getErrorMessage } from '@xpert-ai/plugin-sdk';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { MinerUClient } from './mineru.client.js';
|
|
6
6
|
import { MinerU } from './types.js';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
9
|
+
function createLocalFileSystem(baseDir) {
|
|
10
|
+
return {
|
|
11
|
+
async writeFile(filePath, content) {
|
|
12
|
+
const resolvedPath = path.isAbsolute(filePath)
|
|
13
|
+
? filePath
|
|
14
|
+
: path.join(baseDir, filePath);
|
|
15
|
+
await mkdir(path.dirname(resolvedPath), { recursive: true });
|
|
16
|
+
const buffer = typeof content === 'string' ? Buffer.from(content) : content;
|
|
17
|
+
await writeFile(resolvedPath, buffer);
|
|
18
|
+
return resolvedPath;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
7
22
|
function normalizeExtraFormats(value) {
|
|
8
23
|
if (!value) {
|
|
9
24
|
return undefined;
|
|
@@ -49,6 +64,7 @@ export function buildMinerUTool(configService, resultParser, options, fileSystem
|
|
|
49
64
|
language: defaults?.language,
|
|
50
65
|
modelVersion: defaults?.modelVersion,
|
|
51
66
|
returnJson: defaults?.returnJson,
|
|
67
|
+
includeNonImageFiles: defaults?.includeNonImageFiles,
|
|
52
68
|
},
|
|
53
69
|
});
|
|
54
70
|
const finalIsOcr = defaults?.isOcr === undefined
|
|
@@ -74,6 +90,11 @@ export function buildMinerUTool(configService, resultParser, options, fileSystem
|
|
|
74
90
|
: typeof defaults.returnJson === 'string'
|
|
75
91
|
? defaults.returnJson === 'true'
|
|
76
92
|
: defaults.returnJson === true;
|
|
93
|
+
const includeNonImageFiles = defaults?.includeNonImageFiles === undefined
|
|
94
|
+
? true
|
|
95
|
+
: typeof defaults.includeNonImageFiles === 'string'
|
|
96
|
+
? defaults.includeNonImageFiles === 'true'
|
|
97
|
+
: defaults.includeNonImageFiles === true;
|
|
77
98
|
const effectiveOptions = {
|
|
78
99
|
apiUrl: finalApiUrl,
|
|
79
100
|
apiKey: finalApiKey,
|
|
@@ -107,6 +128,7 @@ export function buildMinerUTool(configService, resultParser, options, fileSystem
|
|
|
107
128
|
extraFormats: finalExtraFormats,
|
|
108
129
|
});
|
|
109
130
|
let parsedResult;
|
|
131
|
+
const writeFileSystem = fileSystem ?? createLocalFileSystem(workspacePath);
|
|
110
132
|
if (mineruClient.serverType === 'self-hosted') {
|
|
111
133
|
const taskResult = mineruClient.getSelfHostedTask(taskId);
|
|
112
134
|
if (!taskResult) {
|
|
@@ -116,7 +138,7 @@ export function buildMinerUTool(configService, resultParser, options, fileSystem
|
|
|
116
138
|
fileUrl: doc_url,
|
|
117
139
|
name: finalFileName,
|
|
118
140
|
folder: workspacePath,
|
|
119
|
-
},
|
|
141
|
+
}, writeFileSystem);
|
|
120
142
|
}
|
|
121
143
|
else {
|
|
122
144
|
const result = await mineruClient.waitForTask(taskId, 5 * 60 * 1000, 5000);
|
|
@@ -125,7 +147,7 @@ export function buildMinerUTool(configService, resultParser, options, fileSystem
|
|
|
125
147
|
fileUrl: doc_url,
|
|
126
148
|
name: finalFileName,
|
|
127
149
|
folder: workspacePath,
|
|
128
|
-
},
|
|
150
|
+
}, writeFileSystem);
|
|
129
151
|
if (fullZipUrl) {
|
|
130
152
|
parsedResult.metadata = parsedResult.metadata ?? {};
|
|
131
153
|
parsedResult.metadata.fullZipUrl = parsedResult.metadata.fullZipUrl ?? fullZipUrl;
|
|
@@ -136,6 +158,9 @@ export function buildMinerUTool(configService, resultParser, options, fileSystem
|
|
|
136
158
|
if (parsedResult.metadata?.assets) {
|
|
137
159
|
for (const asset of parsedResult.metadata.assets) {
|
|
138
160
|
if (asset.type === 'file' || asset.type === 'image') {
|
|
161
|
+
if (asset.type !== 'image' && !includeNonImageFiles) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
139
164
|
const fileName = asset.filePath?.split(/[/\\]/).pop() ||
|
|
140
165
|
asset.url?.split('/').pop() ||
|
|
141
166
|
'file';
|
|
@@ -15,6 +15,7 @@ export interface MinerUToolsetConfig {
|
|
|
15
15
|
language?: 'en' | 'ch';
|
|
16
16
|
modelVersion?: 'pipeline' | 'vlm';
|
|
17
17
|
returnJson?: boolean | string;
|
|
18
|
+
includeNonImageFiles?: boolean | string;
|
|
18
19
|
}
|
|
19
20
|
export declare class MinerUToolset extends BuiltinToolset<StructuredToolInterface, MinerUToolsetConfig> {
|
|
20
21
|
private readonly config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mineru.toolset.d.ts","sourceRoot":"","sources":["../../src/lib/mineru.toolset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mineru.toolset.d.ts","sourceRoot":"","sources":["../../src/lib/mineru.toolset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzC;AAED,qBAAa,aAAc,SAAQ,cAAc,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IACpC,KAAK,EAAE,GAAG,EAAE,CAAM;gBAEf,MAAM,EAAE,mBAAmB;IAiBxB,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,SAAS,IAAI,OAAO,CAAC,uBAAuB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CAmDzF"}
|
|
@@ -20,7 +20,7 @@ export class MinerUToolset extends BuiltinToolset {
|
|
|
20
20
|
// No validation during authorization phase.
|
|
21
21
|
}
|
|
22
22
|
async initTools() {
|
|
23
|
-
const { configService, resultParser, apiUrl, apiKey, extraFormats, fileSystem, isOcr, enableFormula, enableTable, language, modelVersion, returnJson, } = this.config;
|
|
23
|
+
const { configService, resultParser, apiUrl, apiKey, extraFormats, fileSystem, isOcr, enableFormula, enableTable, language, modelVersion, returnJson, includeNonImageFiles, } = this.config;
|
|
24
24
|
if (!configService || !resultParser) {
|
|
25
25
|
throw new Error('ConfigService and MinerUResultParserService are required');
|
|
26
26
|
}
|
|
@@ -42,6 +42,7 @@ export class MinerUToolset extends BuiltinToolset {
|
|
|
42
42
|
language: finalLanguage,
|
|
43
43
|
modelVersion: finalModelVersion,
|
|
44
44
|
returnJson,
|
|
45
|
+
includeNonImageFiles,
|
|
45
46
|
}),
|
|
46
47
|
];
|
|
47
48
|
return this.tools;
|