@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.
@@ -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;IAsO/E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAvO/B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA4Ca,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6KjC;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;IAyBlD,WAAW;;;;;;;;;;;;;;;;;;;;CAkBZ"}
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;AAE9D,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;CAC/B;AAiBD,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;;;;;;;;;;;;;;;;;;;MAoN9B"}
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"}
@@ -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
- }, fileSystem);
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
- }, fileSystem);
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;CAC/B;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;CAiDzF"}
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helloxiaohu/plugin-mineru",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "MinerU document converter plugin for Xpert AI platform",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {