n8n-nodes-ldxhub 0.9.2 → 0.10.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.
@@ -1,4 +1,6 @@
1
1
  import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ import { getAnalyzeDocModels } from './methods/loadOptions/getAnalyzeDocModels';
3
+ import { getAnalyzeDocOutputFormats } from './methods/loadOptions/getAnalyzeDocOutputFormats';
2
4
  import { getCastDocEngines } from './methods/loadOptions/getCastDocEngines';
3
5
  import { getCastDocOutputFormats } from './methods/loadOptions/getCastDocOutputFormats';
4
6
  import { getExtractDocEngines } from './methods/loadOptions/getExtractDocEngines';
@@ -12,6 +14,8 @@ export declare class LdxHub implements INodeType {
12
14
  description: INodeTypeDescription;
13
15
  methods: {
14
16
  loadOptions: {
17
+ getAnalyzeDocModels: typeof getAnalyzeDocModels;
18
+ getAnalyzeDocOutputFormats: typeof getAnalyzeDocOutputFormats;
15
19
  getCastDocEngines: typeof getCastDocEngines;
16
20
  getCastDocOutputFormats: typeof getCastDocOutputFormats;
17
21
  getExtractDocEngines: typeof getExtractDocEngines;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LdxHub = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
+ const getAnalyzeDocModels_1 = require("./methods/loadOptions/getAnalyzeDocModels");
6
+ const getAnalyzeDocOutputFormats_1 = require("./methods/loadOptions/getAnalyzeDocOutputFormats");
5
7
  const getCastDocEngines_1 = require("./methods/loadOptions/getCastDocEngines");
6
8
  const getCastDocOutputFormats_1 = require("./methods/loadOptions/getCastDocOutputFormats");
7
9
  const getExtractDocEngines_1 = require("./methods/loadOptions/getExtractDocEngines");
@@ -11,16 +13,18 @@ const getRenderOcrEngines_1 = require("./methods/loadOptions/getRenderOcrEngines
11
13
  const getRenderOcrLanguages_1 = require("./methods/loadOptions/getRenderOcrLanguages");
12
14
  const getRenderOcrOutputFormats_1 = require("./methods/loadOptions/getRenderOcrOutputFormats");
13
15
  const getStructFlowModels_1 = require("./methods/loadOptions/getStructFlowModels");
16
+ const analyzeDoc_1 = require("./resources/analyzeDoc");
17
+ const runJob_execute_1 = require("./resources/analyzeDoc/runJob.execute");
14
18
  const castDoc_1 = require("./resources/castDoc");
15
- const runJob_execute_1 = require("./resources/castDoc/runJob.execute");
19
+ const runJob_execute_2 = require("./resources/castDoc/runJob.execute");
16
20
  const extractDoc_1 = require("./resources/extractDoc");
17
- const runJob_execute_2 = require("./resources/extractDoc/runJob.execute");
21
+ const runJob_execute_3 = require("./resources/extractDoc/runJob.execute");
18
22
  const refineLoop_1 = require("./resources/refineLoop");
19
- const runJob_execute_3 = require("./resources/refineLoop/runJob.execute");
23
+ const runJob_execute_4 = require("./resources/refineLoop/runJob.execute");
20
24
  const renderOcr_1 = require("./resources/renderOcr");
21
- const runJob_execute_4 = require("./resources/renderOcr/runJob.execute");
25
+ const runJob_execute_5 = require("./resources/renderOcr/runJob.execute");
22
26
  const structFlow_1 = require("./resources/structFlow");
23
- const runJob_execute_5 = require("./resources/structFlow/runJob.execute");
27
+ const runJob_execute_6 = require("./resources/structFlow/runJob.execute");
24
28
  class LdxHub {
25
29
  constructor() {
26
30
  this.description = {
@@ -50,6 +54,10 @@ class LdxHub {
50
54
  type: 'options',
51
55
  noDataExpression: true,
52
56
  options: [
57
+ {
58
+ name: 'AnalyzeDoc',
59
+ value: 'analyzeDoc',
60
+ },
53
61
  {
54
62
  name: 'CastDoc',
55
63
  value: 'castDoc',
@@ -73,6 +81,7 @@ class LdxHub {
73
81
  ],
74
82
  default: 'refineLoop',
75
83
  },
84
+ ...analyzeDoc_1.analyzeDocDescription,
76
85
  ...castDoc_1.castDocDescription,
77
86
  ...extractDoc_1.extractDocDescription,
78
87
  ...refineLoop_1.refineLoopDescription,
@@ -82,6 +91,8 @@ class LdxHub {
82
91
  };
83
92
  this.methods = {
84
93
  loadOptions: {
94
+ getAnalyzeDocModels: getAnalyzeDocModels_1.getAnalyzeDocModels,
95
+ getAnalyzeDocOutputFormats: getAnalyzeDocOutputFormats_1.getAnalyzeDocOutputFormats,
85
96
  getCastDocEngines: getCastDocEngines_1.getCastDocEngines,
86
97
  getCastDocOutputFormats: getCastDocOutputFormats_1.getCastDocOutputFormats,
87
98
  getExtractDocEngines: getExtractDocEngines_1.getExtractDocEngines,
@@ -98,21 +109,24 @@ class LdxHub {
98
109
  const items = this.getInputData();
99
110
  const resource = this.getNodeParameter('resource', 0);
100
111
  const operation = this.getNodeParameter('operation', 0);
101
- if (resource === 'castDoc' && operation === 'runJob') {
112
+ if (resource === 'analyzeDoc' && operation === 'runJob') {
102
113
  return runJob_execute_1.runJobExecute.call(this, items);
103
114
  }
104
- if (resource === 'extractDoc' && operation === 'runJob') {
115
+ if (resource === 'castDoc' && operation === 'runJob') {
105
116
  return runJob_execute_2.runJobExecute.call(this, items);
106
117
  }
107
- if (resource === 'refineLoop' && operation === 'runJob') {
118
+ if (resource === 'extractDoc' && operation === 'runJob') {
108
119
  return runJob_execute_3.runJobExecute.call(this, items);
109
120
  }
110
- if (resource === 'renderOcr' && operation === 'runJob') {
121
+ if (resource === 'refineLoop' && operation === 'runJob') {
111
122
  return runJob_execute_4.runJobExecute.call(this, items);
112
123
  }
113
- if (resource === 'structFlow' && operation === 'runJob') {
124
+ if (resource === 'renderOcr' && operation === 'runJob') {
114
125
  return runJob_execute_5.runJobExecute.call(this, items);
115
126
  }
127
+ if (resource === 'structFlow' && operation === 'runJob') {
128
+ return runJob_execute_6.runJobExecute.call(this, items);
129
+ }
116
130
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Operation "${resource}.${operation}" is not supported`);
117
131
  }
118
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LdxHub.node.js","sourceRoot":"","sources":["../../../nodes/LdxHub/LdxHub.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LdxHub.node.js","sourceRoot":"","sources":["../../../nodes/LdxHub/LdxHub.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
2
+ export declare function getAnalyzeDocModels(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAnalyzeDocModels = getAnalyzeDocModels;
4
+ const transport_1 = require("../../shared/transport");
5
+ async function getAnalyzeDocModels() {
6
+ var _a;
7
+ const response = (await transport_1.ldxHubApiRequest.call(this, 'GET', '/analyzedoc/models'));
8
+ const models = (_a = response.data) !== null && _a !== void 0 ? _a : [];
9
+ return models.map((m) => {
10
+ var _a;
11
+ return ({
12
+ name: (_a = m.display_name) !== null && _a !== void 0 ? _a : m.id,
13
+ value: m.id,
14
+ description: m.description,
15
+ });
16
+ });
17
+ }
18
+ //# sourceMappingURL=getAnalyzeDocModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAnalyzeDocModels.js","sourceRoot":"","sources":["../../../../../nodes/LdxHub/methods/loadOptions/getAnalyzeDocModels.ts"],"names":[],"mappings":";;AAiBA,kDAgBC;AA/BD,sDAA0D;AAenD,KAAK,UAAU,mBAAmB;;IAGxC,MAAM,QAAQ,GAAG,CAAC,MAAM,4BAAgB,CAAC,IAAI,CAC5C,IAAI,EACJ,KAAK,EACL,oBAAoB,CACpB,CAAmB,CAAC;IAErB,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAC;IAEnC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;QAAC,OAAA,CAAC;YACzB,IAAI,EAAE,MAAA,CAAC,CAAC,YAAY,mCAAI,CAAC,CAAC,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,WAAW;SAC1B,CAAC,CAAA;KAAA,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
2
+ export declare function getAnalyzeDocOutputFormats(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAnalyzeDocOutputFormats = getAnalyzeDocOutputFormats;
4
+ const transport_1 = require("../../shared/transport");
5
+ async function getAnalyzeDocOutputFormats() {
6
+ var _a, _b;
7
+ const modelId = this.getCurrentNodeParameter('model');
8
+ if (!modelId) {
9
+ return [];
10
+ }
11
+ const response = (await transport_1.ldxHubApiRequest.call(this, 'GET', '/analyzedoc/models'));
12
+ const model = (_a = response.data) === null || _a === void 0 ? void 0 : _a.find((m) => m.id === modelId);
13
+ const conversions = (_b = model === null || model === void 0 ? void 0 : model.supported_conversions) !== null && _b !== void 0 ? _b : [];
14
+ const formats = Array.from(new Set(conversions.map((c) => c.to))).sort();
15
+ return formats.map((f) => ({
16
+ name: f.toUpperCase(),
17
+ value: f,
18
+ }));
19
+ }
20
+ //# sourceMappingURL=getAnalyzeDocOutputFormats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAnalyzeDocOutputFormats.js","sourceRoot":"","sources":["../../../../../nodes/LdxHub/methods/loadOptions/getAnalyzeDocOutputFormats.ts"],"names":[],"mappings":";;AAkBA,gEAuBC;AAvCD,sDAA0D;AAgBnD,KAAK,UAAU,0BAA0B;;IAG/C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAuB,CAAC;IAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,4BAAgB,CAAC,IAAI,CAC5C,IAAI,EACJ,KAAK,EACL,oBAAoB,CACpB,CAAmB,CAAC;IAErB,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,qBAAqB,mCAAI,EAAE,CAAC;IAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;QACrB,KAAK,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const analyzeDocDescription: INodeProperties[];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeDocDescription = void 0;
4
+ const runJob_1 = require("./runJob");
5
+ const showOnlyForAnalyzeDoc = {
6
+ resource: ['analyzeDoc'],
7
+ };
8
+ exports.analyzeDocDescription = [
9
+ {
10
+ displayName: 'Operation',
11
+ name: 'operation',
12
+ type: 'options',
13
+ noDataExpression: true,
14
+ displayOptions: {
15
+ show: showOnlyForAnalyzeDoc,
16
+ },
17
+ options: [
18
+ {
19
+ name: 'Run Analysis Job',
20
+ value: 'runJob',
21
+ action: 'Run an analysis job',
22
+ description: 'Upload a PDF or image and extract structured JSON with a vision AI model',
23
+ },
24
+ ],
25
+ default: 'runJob',
26
+ },
27
+ ...runJob_1.runJobFields,
28
+ ];
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/LdxHub/resources/analyzeDoc/index.ts"],"names":[],"mappings":";;;AAEA,qCAAwC;AAExC,MAAM,qBAAqB,GAAG;IAC7B,QAAQ,EAAE,CAAC,YAAY,CAAC;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAsB;IACvD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE,qBAAqB;SAC3B;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,qBAAqB;gBAC7B,WAAW,EACV,0EAA0E;aAC3E;SACD;QACD,OAAO,EAAE,QAAQ;KACjB;IACD,GAAG,qBAAY;CACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const runJobFields: INodeProperties[];
@@ -0,0 +1,2 @@
1
+ import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ export declare function runJobExecute(this: IExecuteFunctions, items: INodeExecutionData[]): Promise<INodeExecutionData[][]>;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runJobExecute = runJobExecute;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const files_1 = require("../../shared/files");
6
+ const polling_1 = require("../../shared/polling");
7
+ const transport_1 = require("../../shared/transport");
8
+ const OUTPUT_MIME_TYPES = {
9
+ json: 'application/json',
10
+ };
11
+ const OUTPUT_FILE_EXTENSIONS = {
12
+ json: 'json',
13
+ };
14
+ function parseJsonIfString(value) {
15
+ if (typeof value === 'string') {
16
+ try {
17
+ return JSON.parse(value);
18
+ }
19
+ catch {
20
+ return value;
21
+ }
22
+ }
23
+ return value;
24
+ }
25
+ async function runJobExecute(items) {
26
+ var _a, _b, _c, _d, _e, _f, _g;
27
+ const returnData = [];
28
+ for (let i = 0; i < items.length; i++) {
29
+ try {
30
+ const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i);
31
+ const model = this.getNodeParameter('model', i);
32
+ const systemPrompt = this.getNodeParameter('system_prompt', i);
33
+ const exampleOutput = parseJsonIfString(this.getNodeParameter('example_output', i));
34
+ const outputFormat = this.getNodeParameter('output_format', i);
35
+ const pollingSettings = this.getNodeParameter('pollingSettings', i, {});
36
+ const binaryMeta = this.helpers.assertBinaryData(i, binaryPropertyName);
37
+ const buffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);
38
+ const filename = (_a = binaryMeta.fileName) !== null && _a !== void 0 ? _a : 'input';
39
+ const mimeType = (_b = binaryMeta.mimeType) !== null && _b !== void 0 ? _b : 'application/octet-stream';
40
+ const uploadRes = await files_1.uploadFile.call(this, buffer, filename, mimeType);
41
+ const jobBody = {
42
+ model,
43
+ file_id: uploadRes.file_id,
44
+ system_prompt: systemPrompt,
45
+ example_output: exampleOutput,
46
+ output_format: outputFormat,
47
+ };
48
+ const jobRes = (await transport_1.ldxHubApiRequest.call(this, 'POST', '/analyzedoc/jobs', jobBody));
49
+ const finalJob = await polling_1.pollJobUntilDone.call(this, {
50
+ jobId: jobRes.job_id,
51
+ endpoint: `/analyzedoc/jobs/${encodeURIComponent(jobRes.job_id)}`,
52
+ serviceLabel: 'AnalyzeDoc',
53
+ }, {
54
+ serverWaitSeconds: (_c = pollingSettings.serverWaitSeconds) !== null && _c !== void 0 ? _c : 10,
55
+ pollingMaxAttempts: (_d = pollingSettings.pollingMaxAttempts) !== null && _d !== void 0 ? _d : 180,
56
+ }, i);
57
+ if (!finalJob.output_file_id) {
58
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `AnalyzeDoc job ${jobRes.job_id} completed but returned no output_file_id`, { itemIndex: i });
59
+ }
60
+ const download = await files_1.downloadFile.call(this, finalJob.output_file_id);
61
+ const overrideMime = (_e = OUTPUT_MIME_TYPES[outputFormat]) !== null && _e !== void 0 ? _e : download.mimeType;
62
+ const ext = (_f = OUTPUT_FILE_EXTENSIONS[outputFormat]) !== null && _f !== void 0 ? _f : outputFormat;
63
+ const defaultFilename = `output.${ext}`;
64
+ const outputBinary = await this.helpers.prepareBinaryData(download.buffer, (_g = download.filename) !== null && _g !== void 0 ? _g : defaultFilename, overrideMime);
65
+ returnData.push({
66
+ json: {
67
+ job_id: jobRes.job_id,
68
+ model,
69
+ status: finalJob.status,
70
+ output_file_id: finalJob.output_file_id,
71
+ usage: finalJob.usage,
72
+ },
73
+ binary: {
74
+ [binaryPropertyName]: outputBinary,
75
+ },
76
+ pairedItem: { item: i },
77
+ });
78
+ }
79
+ catch (error) {
80
+ if (this.continueOnFail()) {
81
+ const wrapped = error instanceof n8n_workflow_1.NodeOperationError
82
+ ? error
83
+ : new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex: i });
84
+ returnData.push({
85
+ json: items[i].json,
86
+ error: wrapped,
87
+ pairedItem: { item: i },
88
+ });
89
+ continue;
90
+ }
91
+ const ctx = error.context;
92
+ if (ctx)
93
+ ctx.itemIndex = i;
94
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
95
+ }
96
+ }
97
+ return [returnData];
98
+ }
99
+ //# sourceMappingURL=runJob.execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runJob.execute.js","sourceRoot":"","sources":["../../../../../nodes/LdxHub/resources/analyzeDoc/runJob.execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runJobFields = void 0;
4
+ const showOnlyForRunJob = {
5
+ resource: ['analyzeDoc'],
6
+ operation: ['runJob'],
7
+ };
8
+ exports.runJobFields = [
9
+ {
10
+ displayName: 'Input Binary Field',
11
+ name: 'binaryPropertyName',
12
+ type: 'string',
13
+ default: 'data',
14
+ required: true,
15
+ description: 'Name of the binary property from the previous node that contains the PDF or image to analyze',
16
+ displayOptions: { show: showOnlyForRunJob },
17
+ },
18
+ {
19
+ displayName: 'Model Name or ID',
20
+ name: 'model',
21
+ type: 'options',
22
+ typeOptions: {
23
+ loadOptionsMethod: 'getAnalyzeDocModels',
24
+ },
25
+ required: true,
26
+ default: '',
27
+ description: 'Vision AI model for analysis. Click to load available models from LDXhub. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
28
+ displayOptions: { show: showOnlyForRunJob },
29
+ },
30
+ {
31
+ displayName: 'System Prompt',
32
+ name: 'system_prompt',
33
+ type: 'string',
34
+ typeOptions: { rows: 6 },
35
+ required: true,
36
+ default: '',
37
+ description: 'Instruction describing what structured data to extract from the document and how',
38
+ displayOptions: { show: showOnlyForRunJob },
39
+ },
40
+ {
41
+ displayName: 'Example Output',
42
+ name: 'example_output',
43
+ type: 'json',
44
+ required: true,
45
+ default: '{}',
46
+ description: 'A JSON object showing the desired output structure with example values',
47
+ displayOptions: { show: showOnlyForRunJob },
48
+ },
49
+ {
50
+ displayName: 'Output Format Name or ID',
51
+ name: 'output_format',
52
+ type: 'options',
53
+ typeOptions: {
54
+ loadOptionsMethod: 'getAnalyzeDocOutputFormats',
55
+ loadOptionsDependsOn: ['model'],
56
+ },
57
+ required: true,
58
+ default: '',
59
+ description: 'Output file format. Options depend on the selected model. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
60
+ displayOptions: { show: showOnlyForRunJob },
61
+ },
62
+ {
63
+ displayName: 'Polling Settings',
64
+ name: 'pollingSettings',
65
+ type: 'collection',
66
+ placeholder: 'Add Setting',
67
+ default: {},
68
+ displayOptions: { show: showOnlyForRunJob },
69
+ options: [
70
+ {
71
+ displayName: 'Max Polling Attempts',
72
+ name: 'pollingMaxAttempts',
73
+ type: 'number',
74
+ typeOptions: { minValue: 1 },
75
+ default: 180,
76
+ description: 'Maximum number of polling attempts before giving up. With default serverWaitSeconds=10 and pollingMaxAttempts=180, maximum wait is about 30 minutes.',
77
+ },
78
+ {
79
+ displayName: 'Server Wait Seconds',
80
+ name: 'serverWaitSeconds',
81
+ type: 'number',
82
+ typeOptions: { minValue: 1, maxValue: 10 },
83
+ default: 10,
84
+ description: 'Seconds the LDXhub server should wait before responding. Longer values reduce client-side polling frequency.',
85
+ },
86
+ ],
87
+ },
88
+ ];
89
+ //# sourceMappingURL=runJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runJob.js","sourceRoot":"","sources":["../../../../../nodes/LdxHub/resources/analyzeDoc/runJob.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB,GAAG;IACzB,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,SAAS,EAAE,CAAC,QAAQ,CAAC;CACrB,CAAC;AAEW,QAAA,YAAY,GAAsB;IAE9C;QACC,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EACV,8FAA8F;QAC/F,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC3C;IACD;QACC,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,qBAAqB;SACxC;QACD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,2LAA2L;QAC5L,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC3C;IACD;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;QACxB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,kFAAkF;QACnF,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC3C;IACD;QACC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,WAAW,EACV,wEAAwE;QACzE,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC3C;IACD;QACC,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,4BAA4B;YAC/C,oBAAoB,EAAE,CAAC,OAAO,CAAC;SAC/B;QACD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,2KAA2K;QAC5K,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC3C;IAGD;QACC,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAC3C,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAC5B,OAAO,EAAE,GAAG;gBACZ,WAAW,EACV,sJAAsJ;aACvJ;YACD;gBACC,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC1C,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,8GAA8G;aAC/G;SACD;KACD;CACD,CAAC"}
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "n8n-nodes-ldxhub",
3
- "version": "0.9.2",
4
- "description": "n8n community node for LDX hub — AI-powered document processing platform with structured data extraction (StructFlow), layout-preserving OCR (RenderOCR), text-based PDF conversion (CastDoc), and XLIFF translation refinement (RefineLoop)",
3
+ "version": "0.10.0",
4
+ "description": "n8n community node for LDX hub — AI-powered document processing platform with vision document analysis (AnalyzeDoc), text-based PDF conversion (CastDoc), document text extraction (ExtractDoc), XLIFF translation refinement (RefineLoop), layout-preserving OCR (RenderOCR), and structured data extraction (StructFlow)",
5
5
  "license": "MIT",
6
6
  "homepage": "https://ldxlab.io/ldxhub",
7
7
  "bugs": {
@@ -31,6 +31,12 @@
31
31
  "pdf-conversion",
32
32
  "castdoc",
33
33
  "document-conversion",
34
+ "extractdoc",
35
+ "text-extraction",
36
+ "analyzedoc",
37
+ "document-analysis",
38
+ "vision",
39
+ "vision-ai",
34
40
  "gemini",
35
41
  "claude",
36
42
  "gpt"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "n8n-nodes-ldxhub",
3
- "version": "0.9.2",
4
- "description": "n8n community node for LDX hub — AI-powered document processing platform with structured data extraction (StructFlow), layout-preserving OCR (RenderOCR), text-based PDF conversion (CastDoc), and XLIFF translation refinement (RefineLoop)",
3
+ "version": "0.10.0",
4
+ "description": "n8n community node for LDX hub — AI-powered document processing platform with vision document analysis (AnalyzeDoc), text-based PDF conversion (CastDoc), document text extraction (ExtractDoc), XLIFF translation refinement (RefineLoop), layout-preserving OCR (RenderOCR), and structured data extraction (StructFlow)",
5
5
  "license": "MIT",
6
6
  "homepage": "https://ldxlab.io/ldxhub",
7
7
  "bugs": {
@@ -31,6 +31,12 @@
31
31
  "pdf-conversion",
32
32
  "castdoc",
33
33
  "document-conversion",
34
+ "extractdoc",
35
+ "text-extraction",
36
+ "analyzedoc",
37
+ "document-analysis",
38
+ "vision",
39
+ "vision-ai",
34
40
  "gemini",
35
41
  "claude",
36
42
  "gpt"