@llamaindex/liteparse-grpc 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.
package/dist/client.js ADDED
@@ -0,0 +1,1674 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/protogen/parser.ts
4
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
5
+ import {
6
+ makeGenericClientConstructor
7
+ } from "@grpc/grpc-js";
8
+ function imageModeFromJSON(object) {
9
+ switch (object) {
10
+ case 0:
11
+ case "IMAGE_MODE_UNSPECIFIED":
12
+ return 0 /* IMAGE_MODE_UNSPECIFIED */;
13
+ case 1:
14
+ case "IMAGE_MODE_OFF":
15
+ return 1 /* IMAGE_MODE_OFF */;
16
+ case 2:
17
+ case "IMAGE_MODE_PLACEHOLDER":
18
+ return 2 /* IMAGE_MODE_PLACEHOLDER */;
19
+ case 3:
20
+ case "IMAGE_MODE_EMBED":
21
+ return 3 /* IMAGE_MODE_EMBED */;
22
+ case -1:
23
+ case "UNRECOGNIZED":
24
+ default:
25
+ return -1 /* UNRECOGNIZED */;
26
+ }
27
+ }
28
+ function imageModeToJSON(object) {
29
+ switch (object) {
30
+ case 0 /* IMAGE_MODE_UNSPECIFIED */:
31
+ return "IMAGE_MODE_UNSPECIFIED";
32
+ case 1 /* IMAGE_MODE_OFF */:
33
+ return "IMAGE_MODE_OFF";
34
+ case 2 /* IMAGE_MODE_PLACEHOLDER */:
35
+ return "IMAGE_MODE_PLACEHOLDER";
36
+ case 3 /* IMAGE_MODE_EMBED */:
37
+ return "IMAGE_MODE_EMBED";
38
+ case -1 /* UNRECOGNIZED */:
39
+ default:
40
+ return "UNRECOGNIZED";
41
+ }
42
+ }
43
+ function outputFormatFromJSON(object) {
44
+ switch (object) {
45
+ case 0:
46
+ case "OUTPUT_FORMAT_UNSPECIFIED":
47
+ return 0 /* OUTPUT_FORMAT_UNSPECIFIED */;
48
+ case 1:
49
+ case "OUTPUT_FORMAT_JSON":
50
+ return 1 /* OUTPUT_FORMAT_JSON */;
51
+ case 2:
52
+ case "OUTPUT_FORMAT_TEXT":
53
+ return 2 /* OUTPUT_FORMAT_TEXT */;
54
+ case 3:
55
+ case "OUTPUT_FORMAT_MARKDOWN":
56
+ return 3 /* OUTPUT_FORMAT_MARKDOWN */;
57
+ case -1:
58
+ case "UNRECOGNIZED":
59
+ default:
60
+ return -1 /* UNRECOGNIZED */;
61
+ }
62
+ }
63
+ function outputFormatToJSON(object) {
64
+ switch (object) {
65
+ case 0 /* OUTPUT_FORMAT_UNSPECIFIED */:
66
+ return "OUTPUT_FORMAT_UNSPECIFIED";
67
+ case 1 /* OUTPUT_FORMAT_JSON */:
68
+ return "OUTPUT_FORMAT_JSON";
69
+ case 2 /* OUTPUT_FORMAT_TEXT */:
70
+ return "OUTPUT_FORMAT_TEXT";
71
+ case 3 /* OUTPUT_FORMAT_MARKDOWN */:
72
+ return "OUTPUT_FORMAT_MARKDOWN";
73
+ case -1 /* UNRECOGNIZED */:
74
+ default:
75
+ return "UNRECOGNIZED";
76
+ }
77
+ }
78
+ function createBaseLiteParseConfig() {
79
+ return {
80
+ ocrLanguage: "",
81
+ ocrEnabled: false,
82
+ ocrServerUrl: void 0,
83
+ ocrServerHeaders: [],
84
+ tessdataPath: void 0,
85
+ maxPages: 0,
86
+ targetPages: void 0,
87
+ dpi: 0,
88
+ outputFormat: 0,
89
+ preserveVerySmallText: false,
90
+ password: void 0,
91
+ quiet: false,
92
+ numWorkers: 0,
93
+ imageMode: 0,
94
+ extractLinks: false,
95
+ ocrFailureFatal: false,
96
+ ocrHedgeDelaysMs: [],
97
+ emitWordBoxes: false
98
+ };
99
+ }
100
+ var LiteParseConfig = {
101
+ encode(message, writer = new BinaryWriter()) {
102
+ if (message.ocrLanguage !== "") {
103
+ writer.uint32(10).string(message.ocrLanguage);
104
+ }
105
+ if (message.ocrEnabled !== false) {
106
+ writer.uint32(16).bool(message.ocrEnabled);
107
+ }
108
+ if (message.ocrServerUrl !== void 0) {
109
+ writer.uint32(26).string(message.ocrServerUrl);
110
+ }
111
+ for (const v of message.ocrServerHeaders) {
112
+ HttpHeader.encode(v, writer.uint32(34).fork()).join();
113
+ }
114
+ if (message.tessdataPath !== void 0) {
115
+ writer.uint32(42).string(message.tessdataPath);
116
+ }
117
+ if (message.maxPages !== 0) {
118
+ writer.uint32(48).uint64(message.maxPages);
119
+ }
120
+ if (message.targetPages !== void 0) {
121
+ writer.uint32(58).string(message.targetPages);
122
+ }
123
+ if (message.dpi !== 0) {
124
+ writer.uint32(69).float(message.dpi);
125
+ }
126
+ if (message.outputFormat !== 0) {
127
+ writer.uint32(72).int32(message.outputFormat);
128
+ }
129
+ if (message.preserveVerySmallText !== false) {
130
+ writer.uint32(80).bool(message.preserveVerySmallText);
131
+ }
132
+ if (message.password !== void 0) {
133
+ writer.uint32(90).string(message.password);
134
+ }
135
+ if (message.quiet !== false) {
136
+ writer.uint32(96).bool(message.quiet);
137
+ }
138
+ if (message.numWorkers !== 0) {
139
+ writer.uint32(104).uint64(message.numWorkers);
140
+ }
141
+ if (message.imageMode !== 0) {
142
+ writer.uint32(112).int32(message.imageMode);
143
+ }
144
+ if (message.extractLinks !== false) {
145
+ writer.uint32(120).bool(message.extractLinks);
146
+ }
147
+ if (message.ocrFailureFatal !== false) {
148
+ writer.uint32(128).bool(message.ocrFailureFatal);
149
+ }
150
+ writer.uint32(138).fork();
151
+ for (const v of message.ocrHedgeDelaysMs) {
152
+ writer.uint64(v);
153
+ }
154
+ writer.join();
155
+ if (message.emitWordBoxes !== false) {
156
+ writer.uint32(144).bool(message.emitWordBoxes);
157
+ }
158
+ return writer;
159
+ },
160
+ decode(input, length) {
161
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
162
+ const end = length === void 0 ? reader.len : reader.pos + length;
163
+ const message = createBaseLiteParseConfig();
164
+ while (reader.pos < end) {
165
+ const tag = reader.uint32();
166
+ switch (tag >>> 3) {
167
+ case 1: {
168
+ if (tag !== 10) {
169
+ break;
170
+ }
171
+ message.ocrLanguage = reader.string();
172
+ continue;
173
+ }
174
+ case 2: {
175
+ if (tag !== 16) {
176
+ break;
177
+ }
178
+ message.ocrEnabled = reader.bool();
179
+ continue;
180
+ }
181
+ case 3: {
182
+ if (tag !== 26) {
183
+ break;
184
+ }
185
+ message.ocrServerUrl = reader.string();
186
+ continue;
187
+ }
188
+ case 4: {
189
+ if (tag !== 34) {
190
+ break;
191
+ }
192
+ message.ocrServerHeaders.push(
193
+ HttpHeader.decode(reader, reader.uint32())
194
+ );
195
+ continue;
196
+ }
197
+ case 5: {
198
+ if (tag !== 42) {
199
+ break;
200
+ }
201
+ message.tessdataPath = reader.string();
202
+ continue;
203
+ }
204
+ case 6: {
205
+ if (tag !== 48) {
206
+ break;
207
+ }
208
+ message.maxPages = longToNumber(reader.uint64());
209
+ continue;
210
+ }
211
+ case 7: {
212
+ if (tag !== 58) {
213
+ break;
214
+ }
215
+ message.targetPages = reader.string();
216
+ continue;
217
+ }
218
+ case 8: {
219
+ if (tag !== 69) {
220
+ break;
221
+ }
222
+ message.dpi = reader.float();
223
+ continue;
224
+ }
225
+ case 9: {
226
+ if (tag !== 72) {
227
+ break;
228
+ }
229
+ message.outputFormat = reader.int32();
230
+ continue;
231
+ }
232
+ case 10: {
233
+ if (tag !== 80) {
234
+ break;
235
+ }
236
+ message.preserveVerySmallText = reader.bool();
237
+ continue;
238
+ }
239
+ case 11: {
240
+ if (tag !== 90) {
241
+ break;
242
+ }
243
+ message.password = reader.string();
244
+ continue;
245
+ }
246
+ case 12: {
247
+ if (tag !== 96) {
248
+ break;
249
+ }
250
+ message.quiet = reader.bool();
251
+ continue;
252
+ }
253
+ case 13: {
254
+ if (tag !== 104) {
255
+ break;
256
+ }
257
+ message.numWorkers = longToNumber(reader.uint64());
258
+ continue;
259
+ }
260
+ case 14: {
261
+ if (tag !== 112) {
262
+ break;
263
+ }
264
+ message.imageMode = reader.int32();
265
+ continue;
266
+ }
267
+ case 15: {
268
+ if (tag !== 120) {
269
+ break;
270
+ }
271
+ message.extractLinks = reader.bool();
272
+ continue;
273
+ }
274
+ case 16: {
275
+ if (tag !== 128) {
276
+ break;
277
+ }
278
+ message.ocrFailureFatal = reader.bool();
279
+ continue;
280
+ }
281
+ case 17: {
282
+ if (tag === 136) {
283
+ message.ocrHedgeDelaysMs.push(longToNumber(reader.uint64()));
284
+ continue;
285
+ }
286
+ if (tag === 138) {
287
+ const end2 = reader.uint32() + reader.pos;
288
+ while (reader.pos < end2) {
289
+ message.ocrHedgeDelaysMs.push(longToNumber(reader.uint64()));
290
+ }
291
+ continue;
292
+ }
293
+ break;
294
+ }
295
+ case 18: {
296
+ if (tag !== 144) {
297
+ break;
298
+ }
299
+ message.emitWordBoxes = reader.bool();
300
+ continue;
301
+ }
302
+ }
303
+ if ((tag & 7) === 4 || tag === 0) {
304
+ break;
305
+ }
306
+ reader.skip(tag & 7);
307
+ }
308
+ return message;
309
+ },
310
+ fromJSON(object) {
311
+ return {
312
+ ocrLanguage: isSet(object.ocrLanguage) ? globalThis.String(object.ocrLanguage) : isSet(object.ocr_language) ? globalThis.String(object.ocr_language) : "",
313
+ ocrEnabled: isSet(object.ocrEnabled) ? globalThis.Boolean(object.ocrEnabled) : isSet(object.ocr_enabled) ? globalThis.Boolean(object.ocr_enabled) : false,
314
+ ocrServerUrl: isSet(object.ocrServerUrl) ? globalThis.String(object.ocrServerUrl) : isSet(object.ocr_server_url) ? globalThis.String(object.ocr_server_url) : void 0,
315
+ ocrServerHeaders: globalThis.Array.isArray(object?.ocrServerHeaders) ? object.ocrServerHeaders.map((e) => HttpHeader.fromJSON(e)) : globalThis.Array.isArray(object?.ocr_server_headers) ? object.ocr_server_headers.map((e) => HttpHeader.fromJSON(e)) : [],
316
+ tessdataPath: isSet(object.tessdataPath) ? globalThis.String(object.tessdataPath) : isSet(object.tessdata_path) ? globalThis.String(object.tessdata_path) : void 0,
317
+ maxPages: isSet(object.maxPages) ? globalThis.Number(object.maxPages) : isSet(object.max_pages) ? globalThis.Number(object.max_pages) : 0,
318
+ targetPages: isSet(object.targetPages) ? globalThis.String(object.targetPages) : isSet(object.target_pages) ? globalThis.String(object.target_pages) : void 0,
319
+ dpi: isSet(object.dpi) ? globalThis.Number(object.dpi) : 0,
320
+ outputFormat: isSet(object.outputFormat) ? outputFormatFromJSON(object.outputFormat) : isSet(object.output_format) ? outputFormatFromJSON(object.output_format) : 0,
321
+ preserveVerySmallText: isSet(object.preserveVerySmallText) ? globalThis.Boolean(object.preserveVerySmallText) : isSet(object.preserve_very_small_text) ? globalThis.Boolean(object.preserve_very_small_text) : false,
322
+ password: isSet(object.password) ? globalThis.String(object.password) : void 0,
323
+ quiet: isSet(object.quiet) ? globalThis.Boolean(object.quiet) : false,
324
+ numWorkers: isSet(object.numWorkers) ? globalThis.Number(object.numWorkers) : isSet(object.num_workers) ? globalThis.Number(object.num_workers) : 0,
325
+ imageMode: isSet(object.imageMode) ? imageModeFromJSON(object.imageMode) : isSet(object.image_mode) ? imageModeFromJSON(object.image_mode) : 0,
326
+ extractLinks: isSet(object.extractLinks) ? globalThis.Boolean(object.extractLinks) : isSet(object.extract_links) ? globalThis.Boolean(object.extract_links) : false,
327
+ ocrFailureFatal: isSet(object.ocrFailureFatal) ? globalThis.Boolean(object.ocrFailureFatal) : isSet(object.ocr_failure_fatal) ? globalThis.Boolean(object.ocr_failure_fatal) : false,
328
+ ocrHedgeDelaysMs: globalThis.Array.isArray(object?.ocrHedgeDelaysMs) ? object.ocrHedgeDelaysMs.map((e) => globalThis.Number(e)) : globalThis.Array.isArray(object?.ocr_hedge_delays_ms) ? object.ocr_hedge_delays_ms.map((e) => globalThis.Number(e)) : [],
329
+ emitWordBoxes: isSet(object.emitWordBoxes) ? globalThis.Boolean(object.emitWordBoxes) : isSet(object.emit_word_boxes) ? globalThis.Boolean(object.emit_word_boxes) : false
330
+ };
331
+ },
332
+ toJSON(message) {
333
+ const obj = {};
334
+ if (message.ocrLanguage !== "") {
335
+ obj.ocrLanguage = message.ocrLanguage;
336
+ }
337
+ if (message.ocrEnabled !== false) {
338
+ obj.ocrEnabled = message.ocrEnabled;
339
+ }
340
+ if (message.ocrServerUrl !== void 0) {
341
+ obj.ocrServerUrl = message.ocrServerUrl;
342
+ }
343
+ if (message.ocrServerHeaders?.length) {
344
+ obj.ocrServerHeaders = message.ocrServerHeaders.map(
345
+ (e) => HttpHeader.toJSON(e)
346
+ );
347
+ }
348
+ if (message.tessdataPath !== void 0) {
349
+ obj.tessdataPath = message.tessdataPath;
350
+ }
351
+ if (message.maxPages !== 0) {
352
+ obj.maxPages = Math.round(message.maxPages);
353
+ }
354
+ if (message.targetPages !== void 0) {
355
+ obj.targetPages = message.targetPages;
356
+ }
357
+ if (message.dpi !== 0) {
358
+ obj.dpi = message.dpi;
359
+ }
360
+ if (message.outputFormat !== 0) {
361
+ obj.outputFormat = outputFormatToJSON(message.outputFormat);
362
+ }
363
+ if (message.preserveVerySmallText !== false) {
364
+ obj.preserveVerySmallText = message.preserveVerySmallText;
365
+ }
366
+ if (message.password !== void 0) {
367
+ obj.password = message.password;
368
+ }
369
+ if (message.quiet !== false) {
370
+ obj.quiet = message.quiet;
371
+ }
372
+ if (message.numWorkers !== 0) {
373
+ obj.numWorkers = Math.round(message.numWorkers);
374
+ }
375
+ if (message.imageMode !== 0) {
376
+ obj.imageMode = imageModeToJSON(message.imageMode);
377
+ }
378
+ if (message.extractLinks !== false) {
379
+ obj.extractLinks = message.extractLinks;
380
+ }
381
+ if (message.ocrFailureFatal !== false) {
382
+ obj.ocrFailureFatal = message.ocrFailureFatal;
383
+ }
384
+ if (message.ocrHedgeDelaysMs?.length) {
385
+ obj.ocrHedgeDelaysMs = message.ocrHedgeDelaysMs.map((e) => Math.round(e));
386
+ }
387
+ if (message.emitWordBoxes !== false) {
388
+ obj.emitWordBoxes = message.emitWordBoxes;
389
+ }
390
+ return obj;
391
+ },
392
+ create(base) {
393
+ return LiteParseConfig.fromPartial(base ?? {});
394
+ },
395
+ fromPartial(object) {
396
+ const message = createBaseLiteParseConfig();
397
+ message.ocrLanguage = object.ocrLanguage ?? "";
398
+ message.ocrEnabled = object.ocrEnabled ?? false;
399
+ message.ocrServerUrl = object.ocrServerUrl ?? void 0;
400
+ message.ocrServerHeaders = object.ocrServerHeaders?.map((e) => HttpHeader.fromPartial(e)) || [];
401
+ message.tessdataPath = object.tessdataPath ?? void 0;
402
+ message.maxPages = object.maxPages ?? 0;
403
+ message.targetPages = object.targetPages ?? void 0;
404
+ message.dpi = object.dpi ?? 0;
405
+ message.outputFormat = object.outputFormat ?? 0;
406
+ message.preserveVerySmallText = object.preserveVerySmallText ?? false;
407
+ message.password = object.password ?? void 0;
408
+ message.quiet = object.quiet ?? false;
409
+ message.numWorkers = object.numWorkers ?? 0;
410
+ message.imageMode = object.imageMode ?? 0;
411
+ message.extractLinks = object.extractLinks ?? false;
412
+ message.ocrFailureFatal = object.ocrFailureFatal ?? false;
413
+ message.ocrHedgeDelaysMs = object.ocrHedgeDelaysMs?.map((e) => e) || [];
414
+ message.emitWordBoxes = object.emitWordBoxes ?? false;
415
+ return message;
416
+ }
417
+ };
418
+ function createBaseHttpHeader() {
419
+ return { name: "", value: "" };
420
+ }
421
+ var HttpHeader = {
422
+ encode(message, writer = new BinaryWriter()) {
423
+ if (message.name !== "") {
424
+ writer.uint32(10).string(message.name);
425
+ }
426
+ if (message.value !== "") {
427
+ writer.uint32(18).string(message.value);
428
+ }
429
+ return writer;
430
+ },
431
+ decode(input, length) {
432
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
433
+ const end = length === void 0 ? reader.len : reader.pos + length;
434
+ const message = createBaseHttpHeader();
435
+ while (reader.pos < end) {
436
+ const tag = reader.uint32();
437
+ switch (tag >>> 3) {
438
+ case 1: {
439
+ if (tag !== 10) {
440
+ break;
441
+ }
442
+ message.name = reader.string();
443
+ continue;
444
+ }
445
+ case 2: {
446
+ if (tag !== 18) {
447
+ break;
448
+ }
449
+ message.value = reader.string();
450
+ continue;
451
+ }
452
+ }
453
+ if ((tag & 7) === 4 || tag === 0) {
454
+ break;
455
+ }
456
+ reader.skip(tag & 7);
457
+ }
458
+ return message;
459
+ },
460
+ fromJSON(object) {
461
+ return {
462
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
463
+ value: isSet(object.value) ? globalThis.String(object.value) : ""
464
+ };
465
+ },
466
+ toJSON(message) {
467
+ const obj = {};
468
+ if (message.name !== "") {
469
+ obj.name = message.name;
470
+ }
471
+ if (message.value !== "") {
472
+ obj.value = message.value;
473
+ }
474
+ return obj;
475
+ },
476
+ create(base) {
477
+ return HttpHeader.fromPartial(base ?? {});
478
+ },
479
+ fromPartial(object) {
480
+ const message = createBaseHttpHeader();
481
+ message.name = object.name ?? "";
482
+ message.value = object.value ?? "";
483
+ return message;
484
+ }
485
+ };
486
+ function createBaseParseRequest() {
487
+ return { file: Buffer.alloc(0), config: void 0 };
488
+ }
489
+ var ParseRequest = {
490
+ encode(message, writer = new BinaryWriter()) {
491
+ if (message.file.length !== 0) {
492
+ writer.uint32(10).bytes(message.file);
493
+ }
494
+ if (message.config !== void 0) {
495
+ LiteParseConfig.encode(message.config, writer.uint32(18).fork()).join();
496
+ }
497
+ return writer;
498
+ },
499
+ decode(input, length) {
500
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
501
+ const end = length === void 0 ? reader.len : reader.pos + length;
502
+ const message = createBaseParseRequest();
503
+ while (reader.pos < end) {
504
+ const tag = reader.uint32();
505
+ switch (tag >>> 3) {
506
+ case 1: {
507
+ if (tag !== 10) {
508
+ break;
509
+ }
510
+ message.file = Buffer.from(reader.bytes());
511
+ continue;
512
+ }
513
+ case 2: {
514
+ if (tag !== 18) {
515
+ break;
516
+ }
517
+ message.config = LiteParseConfig.decode(reader, reader.uint32());
518
+ continue;
519
+ }
520
+ }
521
+ if ((tag & 7) === 4 || tag === 0) {
522
+ break;
523
+ }
524
+ reader.skip(tag & 7);
525
+ }
526
+ return message;
527
+ },
528
+ fromJSON(object) {
529
+ return {
530
+ file: isSet(object.file) ? Buffer.from(bytesFromBase64(object.file)) : Buffer.alloc(0),
531
+ config: isSet(object.config) ? LiteParseConfig.fromJSON(object.config) : void 0
532
+ };
533
+ },
534
+ toJSON(message) {
535
+ const obj = {};
536
+ if (message.file.length !== 0) {
537
+ obj.file = base64FromBytes(message.file);
538
+ }
539
+ if (message.config !== void 0) {
540
+ obj.config = LiteParseConfig.toJSON(message.config);
541
+ }
542
+ return obj;
543
+ },
544
+ create(base) {
545
+ return ParseRequest.fromPartial(base ?? {});
546
+ },
547
+ fromPartial(object) {
548
+ const message = createBaseParseRequest();
549
+ message.file = object.file ?? Buffer.alloc(0);
550
+ message.config = object.config !== void 0 && object.config !== null ? LiteParseConfig.fromPartial(object.config) : void 0;
551
+ return message;
552
+ }
553
+ };
554
+ function createBaseScreenshotRequest() {
555
+ return { file: Buffer.alloc(0), config: void 0 };
556
+ }
557
+ var ScreenshotRequest = {
558
+ encode(message, writer = new BinaryWriter()) {
559
+ if (message.file.length !== 0) {
560
+ writer.uint32(10).bytes(message.file);
561
+ }
562
+ if (message.config !== void 0) {
563
+ LiteParseConfig.encode(message.config, writer.uint32(18).fork()).join();
564
+ }
565
+ return writer;
566
+ },
567
+ decode(input, length) {
568
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
569
+ const end = length === void 0 ? reader.len : reader.pos + length;
570
+ const message = createBaseScreenshotRequest();
571
+ while (reader.pos < end) {
572
+ const tag = reader.uint32();
573
+ switch (tag >>> 3) {
574
+ case 1: {
575
+ if (tag !== 10) {
576
+ break;
577
+ }
578
+ message.file = Buffer.from(reader.bytes());
579
+ continue;
580
+ }
581
+ case 2: {
582
+ if (tag !== 18) {
583
+ break;
584
+ }
585
+ message.config = LiteParseConfig.decode(reader, reader.uint32());
586
+ continue;
587
+ }
588
+ }
589
+ if ((tag & 7) === 4 || tag === 0) {
590
+ break;
591
+ }
592
+ reader.skip(tag & 7);
593
+ }
594
+ return message;
595
+ },
596
+ fromJSON(object) {
597
+ return {
598
+ file: isSet(object.file) ? Buffer.from(bytesFromBase64(object.file)) : Buffer.alloc(0),
599
+ config: isSet(object.config) ? LiteParseConfig.fromJSON(object.config) : void 0
600
+ };
601
+ },
602
+ toJSON(message) {
603
+ const obj = {};
604
+ if (message.file.length !== 0) {
605
+ obj.file = base64FromBytes(message.file);
606
+ }
607
+ if (message.config !== void 0) {
608
+ obj.config = LiteParseConfig.toJSON(message.config);
609
+ }
610
+ return obj;
611
+ },
612
+ create(base) {
613
+ return ScreenshotRequest.fromPartial(base ?? {});
614
+ },
615
+ fromPartial(object) {
616
+ const message = createBaseScreenshotRequest();
617
+ message.file = object.file ?? Buffer.alloc(0);
618
+ message.config = object.config !== void 0 && object.config !== null ? LiteParseConfig.fromPartial(object.config) : void 0;
619
+ return message;
620
+ }
621
+ };
622
+ function createBaseTextItem() {
623
+ return { text: "", x: 0, y: 0, width: 0, height: 0 };
624
+ }
625
+ var TextItem = {
626
+ encode(message, writer = new BinaryWriter()) {
627
+ if (message.text !== "") {
628
+ writer.uint32(10).string(message.text);
629
+ }
630
+ if (message.x !== 0) {
631
+ writer.uint32(21).float(message.x);
632
+ }
633
+ if (message.y !== 0) {
634
+ writer.uint32(29).float(message.y);
635
+ }
636
+ if (message.width !== 0) {
637
+ writer.uint32(37).float(message.width);
638
+ }
639
+ if (message.height !== 0) {
640
+ writer.uint32(45).float(message.height);
641
+ }
642
+ return writer;
643
+ },
644
+ decode(input, length) {
645
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
646
+ const end = length === void 0 ? reader.len : reader.pos + length;
647
+ const message = createBaseTextItem();
648
+ while (reader.pos < end) {
649
+ const tag = reader.uint32();
650
+ switch (tag >>> 3) {
651
+ case 1: {
652
+ if (tag !== 10) {
653
+ break;
654
+ }
655
+ message.text = reader.string();
656
+ continue;
657
+ }
658
+ case 2: {
659
+ if (tag !== 21) {
660
+ break;
661
+ }
662
+ message.x = reader.float();
663
+ continue;
664
+ }
665
+ case 3: {
666
+ if (tag !== 29) {
667
+ break;
668
+ }
669
+ message.y = reader.float();
670
+ continue;
671
+ }
672
+ case 4: {
673
+ if (tag !== 37) {
674
+ break;
675
+ }
676
+ message.width = reader.float();
677
+ continue;
678
+ }
679
+ case 5: {
680
+ if (tag !== 45) {
681
+ break;
682
+ }
683
+ message.height = reader.float();
684
+ continue;
685
+ }
686
+ }
687
+ if ((tag & 7) === 4 || tag === 0) {
688
+ break;
689
+ }
690
+ reader.skip(tag & 7);
691
+ }
692
+ return message;
693
+ },
694
+ fromJSON(object) {
695
+ return {
696
+ text: isSet(object.text) ? globalThis.String(object.text) : "",
697
+ x: isSet(object.x) ? globalThis.Number(object.x) : 0,
698
+ y: isSet(object.y) ? globalThis.Number(object.y) : 0,
699
+ width: isSet(object.width) ? globalThis.Number(object.width) : 0,
700
+ height: isSet(object.height) ? globalThis.Number(object.height) : 0
701
+ };
702
+ },
703
+ toJSON(message) {
704
+ const obj = {};
705
+ if (message.text !== "") {
706
+ obj.text = message.text;
707
+ }
708
+ if (message.x !== 0) {
709
+ obj.x = message.x;
710
+ }
711
+ if (message.y !== 0) {
712
+ obj.y = message.y;
713
+ }
714
+ if (message.width !== 0) {
715
+ obj.width = message.width;
716
+ }
717
+ if (message.height !== 0) {
718
+ obj.height = message.height;
719
+ }
720
+ return obj;
721
+ },
722
+ create(base) {
723
+ return TextItem.fromPartial(base ?? {});
724
+ },
725
+ fromPartial(object) {
726
+ const message = createBaseTextItem();
727
+ message.text = object.text ?? "";
728
+ message.x = object.x ?? 0;
729
+ message.y = object.y ?? 0;
730
+ message.width = object.width ?? 0;
731
+ message.height = object.height ?? 0;
732
+ return message;
733
+ }
734
+ };
735
+ function createBaseParsedPage() {
736
+ return { pageNumber: 0, pageWidth: 0, pageHeight: 0, textItems: [] };
737
+ }
738
+ var ParsedPage = {
739
+ encode(message, writer = new BinaryWriter()) {
740
+ if (message.pageNumber !== 0) {
741
+ writer.uint32(8).uint32(message.pageNumber);
742
+ }
743
+ if (message.pageWidth !== 0) {
744
+ writer.uint32(21).float(message.pageWidth);
745
+ }
746
+ if (message.pageHeight !== 0) {
747
+ writer.uint32(29).float(message.pageHeight);
748
+ }
749
+ for (const v of message.textItems) {
750
+ TextItem.encode(v, writer.uint32(34).fork()).join();
751
+ }
752
+ return writer;
753
+ },
754
+ decode(input, length) {
755
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
756
+ const end = length === void 0 ? reader.len : reader.pos + length;
757
+ const message = createBaseParsedPage();
758
+ while (reader.pos < end) {
759
+ const tag = reader.uint32();
760
+ switch (tag >>> 3) {
761
+ case 1: {
762
+ if (tag !== 8) {
763
+ break;
764
+ }
765
+ message.pageNumber = reader.uint32();
766
+ continue;
767
+ }
768
+ case 2: {
769
+ if (tag !== 21) {
770
+ break;
771
+ }
772
+ message.pageWidth = reader.float();
773
+ continue;
774
+ }
775
+ case 3: {
776
+ if (tag !== 29) {
777
+ break;
778
+ }
779
+ message.pageHeight = reader.float();
780
+ continue;
781
+ }
782
+ case 4: {
783
+ if (tag !== 34) {
784
+ break;
785
+ }
786
+ message.textItems.push(TextItem.decode(reader, reader.uint32()));
787
+ continue;
788
+ }
789
+ }
790
+ if ((tag & 7) === 4 || tag === 0) {
791
+ break;
792
+ }
793
+ reader.skip(tag & 7);
794
+ }
795
+ return message;
796
+ },
797
+ fromJSON(object) {
798
+ return {
799
+ pageNumber: isSet(object.pageNumber) ? globalThis.Number(object.pageNumber) : isSet(object.page_number) ? globalThis.Number(object.page_number) : 0,
800
+ pageWidth: isSet(object.pageWidth) ? globalThis.Number(object.pageWidth) : isSet(object.page_width) ? globalThis.Number(object.page_width) : 0,
801
+ pageHeight: isSet(object.pageHeight) ? globalThis.Number(object.pageHeight) : isSet(object.page_height) ? globalThis.Number(object.page_height) : 0,
802
+ textItems: globalThis.Array.isArray(object?.textItems) ? object.textItems.map((e) => TextItem.fromJSON(e)) : globalThis.Array.isArray(object?.text_items) ? object.text_items.map((e) => TextItem.fromJSON(e)) : []
803
+ };
804
+ },
805
+ toJSON(message) {
806
+ const obj = {};
807
+ if (message.pageNumber !== 0) {
808
+ obj.pageNumber = Math.round(message.pageNumber);
809
+ }
810
+ if (message.pageWidth !== 0) {
811
+ obj.pageWidth = message.pageWidth;
812
+ }
813
+ if (message.pageHeight !== 0) {
814
+ obj.pageHeight = message.pageHeight;
815
+ }
816
+ if (message.textItems?.length) {
817
+ obj.textItems = message.textItems.map((e) => TextItem.toJSON(e));
818
+ }
819
+ return obj;
820
+ },
821
+ create(base) {
822
+ return ParsedPage.fromPartial(base ?? {});
823
+ },
824
+ fromPartial(object) {
825
+ const message = createBaseParsedPage();
826
+ message.pageNumber = object.pageNumber ?? 0;
827
+ message.pageWidth = object.pageWidth ?? 0;
828
+ message.pageHeight = object.pageHeight ?? 0;
829
+ message.textItems = object.textItems?.map((e) => TextItem.fromPartial(e)) || [];
830
+ return message;
831
+ }
832
+ };
833
+ function createBaseParseResponse() {
834
+ return { text: "", pages: [] };
835
+ }
836
+ var ParseResponse = {
837
+ encode(message, writer = new BinaryWriter()) {
838
+ if (message.text !== "") {
839
+ writer.uint32(10).string(message.text);
840
+ }
841
+ for (const v of message.pages) {
842
+ ParsedPage.encode(v, writer.uint32(18).fork()).join();
843
+ }
844
+ return writer;
845
+ },
846
+ decode(input, length) {
847
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
848
+ const end = length === void 0 ? reader.len : reader.pos + length;
849
+ const message = createBaseParseResponse();
850
+ while (reader.pos < end) {
851
+ const tag = reader.uint32();
852
+ switch (tag >>> 3) {
853
+ case 1: {
854
+ if (tag !== 10) {
855
+ break;
856
+ }
857
+ message.text = reader.string();
858
+ continue;
859
+ }
860
+ case 2: {
861
+ if (tag !== 18) {
862
+ break;
863
+ }
864
+ message.pages.push(ParsedPage.decode(reader, reader.uint32()));
865
+ continue;
866
+ }
867
+ }
868
+ if ((tag & 7) === 4 || tag === 0) {
869
+ break;
870
+ }
871
+ reader.skip(tag & 7);
872
+ }
873
+ return message;
874
+ },
875
+ fromJSON(object) {
876
+ return {
877
+ text: isSet(object.text) ? globalThis.String(object.text) : "",
878
+ pages: globalThis.Array.isArray(object?.pages) ? object.pages.map((e) => ParsedPage.fromJSON(e)) : []
879
+ };
880
+ },
881
+ toJSON(message) {
882
+ const obj = {};
883
+ if (message.text !== "") {
884
+ obj.text = message.text;
885
+ }
886
+ if (message.pages?.length) {
887
+ obj.pages = message.pages.map((e) => ParsedPage.toJSON(e));
888
+ }
889
+ return obj;
890
+ },
891
+ create(base) {
892
+ return ParseResponse.fromPartial(base ?? {});
893
+ },
894
+ fromPartial(object) {
895
+ const message = createBaseParseResponse();
896
+ message.text = object.text ?? "";
897
+ message.pages = object.pages?.map((e) => ParsedPage.fromPartial(e)) || [];
898
+ return message;
899
+ }
900
+ };
901
+ function createBaseScreenshotPage() {
902
+ return {
903
+ imageBytes: Buffer.alloc(0),
904
+ pageNumber: 0,
905
+ height: 0,
906
+ width: 0,
907
+ mimeType: ""
908
+ };
909
+ }
910
+ var ScreenshotPage = {
911
+ encode(message, writer = new BinaryWriter()) {
912
+ if (message.imageBytes.length !== 0) {
913
+ writer.uint32(10).bytes(message.imageBytes);
914
+ }
915
+ if (message.pageNumber !== 0) {
916
+ writer.uint32(16).uint32(message.pageNumber);
917
+ }
918
+ if (message.height !== 0) {
919
+ writer.uint32(24).uint32(message.height);
920
+ }
921
+ if (message.width !== 0) {
922
+ writer.uint32(32).uint32(message.width);
923
+ }
924
+ if (message.mimeType !== "") {
925
+ writer.uint32(42).string(message.mimeType);
926
+ }
927
+ return writer;
928
+ },
929
+ decode(input, length) {
930
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
931
+ const end = length === void 0 ? reader.len : reader.pos + length;
932
+ const message = createBaseScreenshotPage();
933
+ while (reader.pos < end) {
934
+ const tag = reader.uint32();
935
+ switch (tag >>> 3) {
936
+ case 1: {
937
+ if (tag !== 10) {
938
+ break;
939
+ }
940
+ message.imageBytes = Buffer.from(reader.bytes());
941
+ continue;
942
+ }
943
+ case 2: {
944
+ if (tag !== 16) {
945
+ break;
946
+ }
947
+ message.pageNumber = reader.uint32();
948
+ continue;
949
+ }
950
+ case 3: {
951
+ if (tag !== 24) {
952
+ break;
953
+ }
954
+ message.height = reader.uint32();
955
+ continue;
956
+ }
957
+ case 4: {
958
+ if (tag !== 32) {
959
+ break;
960
+ }
961
+ message.width = reader.uint32();
962
+ continue;
963
+ }
964
+ case 5: {
965
+ if (tag !== 42) {
966
+ break;
967
+ }
968
+ message.mimeType = reader.string();
969
+ continue;
970
+ }
971
+ }
972
+ if ((tag & 7) === 4 || tag === 0) {
973
+ break;
974
+ }
975
+ reader.skip(tag & 7);
976
+ }
977
+ return message;
978
+ },
979
+ fromJSON(object) {
980
+ return {
981
+ imageBytes: isSet(object.imageBytes) ? Buffer.from(bytesFromBase64(object.imageBytes)) : isSet(object.image_bytes) ? Buffer.from(bytesFromBase64(object.image_bytes)) : Buffer.alloc(0),
982
+ pageNumber: isSet(object.pageNumber) ? globalThis.Number(object.pageNumber) : isSet(object.page_number) ? globalThis.Number(object.page_number) : 0,
983
+ height: isSet(object.height) ? globalThis.Number(object.height) : 0,
984
+ width: isSet(object.width) ? globalThis.Number(object.width) : 0,
985
+ mimeType: isSet(object.mimeType) ? globalThis.String(object.mimeType) : isSet(object.mime_type) ? globalThis.String(object.mime_type) : ""
986
+ };
987
+ },
988
+ toJSON(message) {
989
+ const obj = {};
990
+ if (message.imageBytes.length !== 0) {
991
+ obj.imageBytes = base64FromBytes(message.imageBytes);
992
+ }
993
+ if (message.pageNumber !== 0) {
994
+ obj.pageNumber = Math.round(message.pageNumber);
995
+ }
996
+ if (message.height !== 0) {
997
+ obj.height = Math.round(message.height);
998
+ }
999
+ if (message.width !== 0) {
1000
+ obj.width = Math.round(message.width);
1001
+ }
1002
+ if (message.mimeType !== "") {
1003
+ obj.mimeType = message.mimeType;
1004
+ }
1005
+ return obj;
1006
+ },
1007
+ create(base) {
1008
+ return ScreenshotPage.fromPartial(base ?? {});
1009
+ },
1010
+ fromPartial(object) {
1011
+ const message = createBaseScreenshotPage();
1012
+ message.imageBytes = object.imageBytes ?? Buffer.alloc(0);
1013
+ message.pageNumber = object.pageNumber ?? 0;
1014
+ message.height = object.height ?? 0;
1015
+ message.width = object.width ?? 0;
1016
+ message.mimeType = object.mimeType ?? "";
1017
+ return message;
1018
+ }
1019
+ };
1020
+ function createBaseScreenshotResponse() {
1021
+ return { screenshots: [] };
1022
+ }
1023
+ var ScreenshotResponse = {
1024
+ encode(message, writer = new BinaryWriter()) {
1025
+ for (const v of message.screenshots) {
1026
+ ScreenshotPage.encode(v, writer.uint32(10).fork()).join();
1027
+ }
1028
+ return writer;
1029
+ },
1030
+ decode(input, length) {
1031
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1032
+ const end = length === void 0 ? reader.len : reader.pos + length;
1033
+ const message = createBaseScreenshotResponse();
1034
+ while (reader.pos < end) {
1035
+ const tag = reader.uint32();
1036
+ switch (tag >>> 3) {
1037
+ case 1: {
1038
+ if (tag !== 10) {
1039
+ break;
1040
+ }
1041
+ message.screenshots.push(
1042
+ ScreenshotPage.decode(reader, reader.uint32())
1043
+ );
1044
+ continue;
1045
+ }
1046
+ }
1047
+ if ((tag & 7) === 4 || tag === 0) {
1048
+ break;
1049
+ }
1050
+ reader.skip(tag & 7);
1051
+ }
1052
+ return message;
1053
+ },
1054
+ fromJSON(object) {
1055
+ return {
1056
+ screenshots: globalThis.Array.isArray(object?.screenshots) ? object.screenshots.map((e) => ScreenshotPage.fromJSON(e)) : []
1057
+ };
1058
+ },
1059
+ toJSON(message) {
1060
+ const obj = {};
1061
+ if (message.screenshots?.length) {
1062
+ obj.screenshots = message.screenshots.map(
1063
+ (e) => ScreenshotPage.toJSON(e)
1064
+ );
1065
+ }
1066
+ return obj;
1067
+ },
1068
+ create(base) {
1069
+ return ScreenshotResponse.fromPartial(base ?? {});
1070
+ },
1071
+ fromPartial(object) {
1072
+ const message = createBaseScreenshotResponse();
1073
+ message.screenshots = object.screenshots?.map((e) => ScreenshotPage.fromPartial(e)) || [];
1074
+ return message;
1075
+ }
1076
+ };
1077
+ function createBaseIsComplexRequest() {
1078
+ return { file: Buffer.alloc(0), config: void 0 };
1079
+ }
1080
+ var IsComplexRequest = {
1081
+ encode(message, writer = new BinaryWriter()) {
1082
+ if (message.file.length !== 0) {
1083
+ writer.uint32(10).bytes(message.file);
1084
+ }
1085
+ if (message.config !== void 0) {
1086
+ LiteParseConfig.encode(message.config, writer.uint32(18).fork()).join();
1087
+ }
1088
+ return writer;
1089
+ },
1090
+ decode(input, length) {
1091
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1092
+ const end = length === void 0 ? reader.len : reader.pos + length;
1093
+ const message = createBaseIsComplexRequest();
1094
+ while (reader.pos < end) {
1095
+ const tag = reader.uint32();
1096
+ switch (tag >>> 3) {
1097
+ case 1: {
1098
+ if (tag !== 10) {
1099
+ break;
1100
+ }
1101
+ message.file = Buffer.from(reader.bytes());
1102
+ continue;
1103
+ }
1104
+ case 2: {
1105
+ if (tag !== 18) {
1106
+ break;
1107
+ }
1108
+ message.config = LiteParseConfig.decode(reader, reader.uint32());
1109
+ continue;
1110
+ }
1111
+ }
1112
+ if ((tag & 7) === 4 || tag === 0) {
1113
+ break;
1114
+ }
1115
+ reader.skip(tag & 7);
1116
+ }
1117
+ return message;
1118
+ },
1119
+ fromJSON(object) {
1120
+ return {
1121
+ file: isSet(object.file) ? Buffer.from(bytesFromBase64(object.file)) : Buffer.alloc(0),
1122
+ config: isSet(object.config) ? LiteParseConfig.fromJSON(object.config) : void 0
1123
+ };
1124
+ },
1125
+ toJSON(message) {
1126
+ const obj = {};
1127
+ if (message.file.length !== 0) {
1128
+ obj.file = base64FromBytes(message.file);
1129
+ }
1130
+ if (message.config !== void 0) {
1131
+ obj.config = LiteParseConfig.toJSON(message.config);
1132
+ }
1133
+ return obj;
1134
+ },
1135
+ create(base) {
1136
+ return IsComplexRequest.fromPartial(base ?? {});
1137
+ },
1138
+ fromPartial(object) {
1139
+ const message = createBaseIsComplexRequest();
1140
+ message.file = object.file ?? Buffer.alloc(0);
1141
+ message.config = object.config !== void 0 && object.config !== null ? LiteParseConfig.fromPartial(object.config) : void 0;
1142
+ return message;
1143
+ }
1144
+ };
1145
+ function createBasePageComplexityStats() {
1146
+ return {
1147
+ pageNumber: 0,
1148
+ textLength: 0,
1149
+ textCoverage: 0,
1150
+ hasSubstantialImages: false,
1151
+ imageBlockCount: 0,
1152
+ imageCoverage: 0,
1153
+ largestImageCoverage: 0,
1154
+ fullPageImage: false,
1155
+ uncovertedVectorArea: void 0,
1156
+ isGarbled: false,
1157
+ pageArea: 0,
1158
+ needsOcr: false,
1159
+ reasons: []
1160
+ };
1161
+ }
1162
+ var PageComplexityStats = {
1163
+ encode(message, writer = new BinaryWriter()) {
1164
+ if (message.pageNumber !== 0) {
1165
+ writer.uint32(8).uint32(message.pageNumber);
1166
+ }
1167
+ if (message.textLength !== 0) {
1168
+ writer.uint32(16).uint64(message.textLength);
1169
+ }
1170
+ if (message.textCoverage !== 0) {
1171
+ writer.uint32(29).float(message.textCoverage);
1172
+ }
1173
+ if (message.hasSubstantialImages !== false) {
1174
+ writer.uint32(32).bool(message.hasSubstantialImages);
1175
+ }
1176
+ if (message.imageBlockCount !== 0) {
1177
+ writer.uint32(40).uint32(message.imageBlockCount);
1178
+ }
1179
+ if (message.imageCoverage !== 0) {
1180
+ writer.uint32(53).float(message.imageCoverage);
1181
+ }
1182
+ if (message.largestImageCoverage !== 0) {
1183
+ writer.uint32(61).float(message.largestImageCoverage);
1184
+ }
1185
+ if (message.fullPageImage !== false) {
1186
+ writer.uint32(64).bool(message.fullPageImage);
1187
+ }
1188
+ if (message.uncovertedVectorArea !== void 0) {
1189
+ writer.uint32(77).float(message.uncovertedVectorArea);
1190
+ }
1191
+ if (message.isGarbled !== false) {
1192
+ writer.uint32(80).bool(message.isGarbled);
1193
+ }
1194
+ if (message.pageArea !== 0) {
1195
+ writer.uint32(93).float(message.pageArea);
1196
+ }
1197
+ if (message.needsOcr !== false) {
1198
+ writer.uint32(96).bool(message.needsOcr);
1199
+ }
1200
+ for (const v of message.reasons) {
1201
+ writer.uint32(106).string(v);
1202
+ }
1203
+ return writer;
1204
+ },
1205
+ decode(input, length) {
1206
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1207
+ const end = length === void 0 ? reader.len : reader.pos + length;
1208
+ const message = createBasePageComplexityStats();
1209
+ while (reader.pos < end) {
1210
+ const tag = reader.uint32();
1211
+ switch (tag >>> 3) {
1212
+ case 1: {
1213
+ if (tag !== 8) {
1214
+ break;
1215
+ }
1216
+ message.pageNumber = reader.uint32();
1217
+ continue;
1218
+ }
1219
+ case 2: {
1220
+ if (tag !== 16) {
1221
+ break;
1222
+ }
1223
+ message.textLength = longToNumber(reader.uint64());
1224
+ continue;
1225
+ }
1226
+ case 3: {
1227
+ if (tag !== 29) {
1228
+ break;
1229
+ }
1230
+ message.textCoverage = reader.float();
1231
+ continue;
1232
+ }
1233
+ case 4: {
1234
+ if (tag !== 32) {
1235
+ break;
1236
+ }
1237
+ message.hasSubstantialImages = reader.bool();
1238
+ continue;
1239
+ }
1240
+ case 5: {
1241
+ if (tag !== 40) {
1242
+ break;
1243
+ }
1244
+ message.imageBlockCount = reader.uint32();
1245
+ continue;
1246
+ }
1247
+ case 6: {
1248
+ if (tag !== 53) {
1249
+ break;
1250
+ }
1251
+ message.imageCoverage = reader.float();
1252
+ continue;
1253
+ }
1254
+ case 7: {
1255
+ if (tag !== 61) {
1256
+ break;
1257
+ }
1258
+ message.largestImageCoverage = reader.float();
1259
+ continue;
1260
+ }
1261
+ case 8: {
1262
+ if (tag !== 64) {
1263
+ break;
1264
+ }
1265
+ message.fullPageImage = reader.bool();
1266
+ continue;
1267
+ }
1268
+ case 9: {
1269
+ if (tag !== 77) {
1270
+ break;
1271
+ }
1272
+ message.uncovertedVectorArea = reader.float();
1273
+ continue;
1274
+ }
1275
+ case 10: {
1276
+ if (tag !== 80) {
1277
+ break;
1278
+ }
1279
+ message.isGarbled = reader.bool();
1280
+ continue;
1281
+ }
1282
+ case 11: {
1283
+ if (tag !== 93) {
1284
+ break;
1285
+ }
1286
+ message.pageArea = reader.float();
1287
+ continue;
1288
+ }
1289
+ case 12: {
1290
+ if (tag !== 96) {
1291
+ break;
1292
+ }
1293
+ message.needsOcr = reader.bool();
1294
+ continue;
1295
+ }
1296
+ case 13: {
1297
+ if (tag !== 106) {
1298
+ break;
1299
+ }
1300
+ message.reasons.push(reader.string());
1301
+ continue;
1302
+ }
1303
+ }
1304
+ if ((tag & 7) === 4 || tag === 0) {
1305
+ break;
1306
+ }
1307
+ reader.skip(tag & 7);
1308
+ }
1309
+ return message;
1310
+ },
1311
+ fromJSON(object) {
1312
+ return {
1313
+ pageNumber: isSet(object.pageNumber) ? globalThis.Number(object.pageNumber) : isSet(object.page_number) ? globalThis.Number(object.page_number) : 0,
1314
+ textLength: isSet(object.textLength) ? globalThis.Number(object.textLength) : isSet(object.text_length) ? globalThis.Number(object.text_length) : 0,
1315
+ textCoverage: isSet(object.textCoverage) ? globalThis.Number(object.textCoverage) : isSet(object.text_coverage) ? globalThis.Number(object.text_coverage) : 0,
1316
+ hasSubstantialImages: isSet(object.hasSubstantialImages) ? globalThis.Boolean(object.hasSubstantialImages) : isSet(object.has_substantial_images) ? globalThis.Boolean(object.has_substantial_images) : false,
1317
+ imageBlockCount: isSet(object.imageBlockCount) ? globalThis.Number(object.imageBlockCount) : isSet(object.image_block_count) ? globalThis.Number(object.image_block_count) : 0,
1318
+ imageCoverage: isSet(object.imageCoverage) ? globalThis.Number(object.imageCoverage) : isSet(object.image_coverage) ? globalThis.Number(object.image_coverage) : 0,
1319
+ largestImageCoverage: isSet(object.largestImageCoverage) ? globalThis.Number(object.largestImageCoverage) : isSet(object.largest_image_coverage) ? globalThis.Number(object.largest_image_coverage) : 0,
1320
+ fullPageImage: isSet(object.fullPageImage) ? globalThis.Boolean(object.fullPageImage) : isSet(object.full_page_image) ? globalThis.Boolean(object.full_page_image) : false,
1321
+ uncovertedVectorArea: isSet(object.uncovertedVectorArea) ? globalThis.Number(object.uncovertedVectorArea) : isSet(object.uncoverted_vector_area) ? globalThis.Number(object.uncoverted_vector_area) : void 0,
1322
+ isGarbled: isSet(object.isGarbled) ? globalThis.Boolean(object.isGarbled) : isSet(object.is_garbled) ? globalThis.Boolean(object.is_garbled) : false,
1323
+ pageArea: isSet(object.pageArea) ? globalThis.Number(object.pageArea) : isSet(object.page_area) ? globalThis.Number(object.page_area) : 0,
1324
+ needsOcr: isSet(object.needsOcr) ? globalThis.Boolean(object.needsOcr) : isSet(object.needs_ocr) ? globalThis.Boolean(object.needs_ocr) : false,
1325
+ reasons: globalThis.Array.isArray(object?.reasons) ? object.reasons.map((e) => globalThis.String(e)) : []
1326
+ };
1327
+ },
1328
+ toJSON(message) {
1329
+ const obj = {};
1330
+ if (message.pageNumber !== 0) {
1331
+ obj.pageNumber = Math.round(message.pageNumber);
1332
+ }
1333
+ if (message.textLength !== 0) {
1334
+ obj.textLength = Math.round(message.textLength);
1335
+ }
1336
+ if (message.textCoverage !== 0) {
1337
+ obj.textCoverage = message.textCoverage;
1338
+ }
1339
+ if (message.hasSubstantialImages !== false) {
1340
+ obj.hasSubstantialImages = message.hasSubstantialImages;
1341
+ }
1342
+ if (message.imageBlockCount !== 0) {
1343
+ obj.imageBlockCount = Math.round(message.imageBlockCount);
1344
+ }
1345
+ if (message.imageCoverage !== 0) {
1346
+ obj.imageCoverage = message.imageCoverage;
1347
+ }
1348
+ if (message.largestImageCoverage !== 0) {
1349
+ obj.largestImageCoverage = message.largestImageCoverage;
1350
+ }
1351
+ if (message.fullPageImage !== false) {
1352
+ obj.fullPageImage = message.fullPageImage;
1353
+ }
1354
+ if (message.uncovertedVectorArea !== void 0) {
1355
+ obj.uncovertedVectorArea = message.uncovertedVectorArea;
1356
+ }
1357
+ if (message.isGarbled !== false) {
1358
+ obj.isGarbled = message.isGarbled;
1359
+ }
1360
+ if (message.pageArea !== 0) {
1361
+ obj.pageArea = message.pageArea;
1362
+ }
1363
+ if (message.needsOcr !== false) {
1364
+ obj.needsOcr = message.needsOcr;
1365
+ }
1366
+ if (message.reasons?.length) {
1367
+ obj.reasons = message.reasons;
1368
+ }
1369
+ return obj;
1370
+ },
1371
+ create(base) {
1372
+ return PageComplexityStats.fromPartial(base ?? {});
1373
+ },
1374
+ fromPartial(object) {
1375
+ const message = createBasePageComplexityStats();
1376
+ message.pageNumber = object.pageNumber ?? 0;
1377
+ message.textLength = object.textLength ?? 0;
1378
+ message.textCoverage = object.textCoverage ?? 0;
1379
+ message.hasSubstantialImages = object.hasSubstantialImages ?? false;
1380
+ message.imageBlockCount = object.imageBlockCount ?? 0;
1381
+ message.imageCoverage = object.imageCoverage ?? 0;
1382
+ message.largestImageCoverage = object.largestImageCoverage ?? 0;
1383
+ message.fullPageImage = object.fullPageImage ?? false;
1384
+ message.uncovertedVectorArea = object.uncovertedVectorArea ?? void 0;
1385
+ message.isGarbled = object.isGarbled ?? false;
1386
+ message.pageArea = object.pageArea ?? 0;
1387
+ message.needsOcr = object.needsOcr ?? false;
1388
+ message.reasons = object.reasons?.map((e) => e) || [];
1389
+ return message;
1390
+ }
1391
+ };
1392
+ function createBaseIsComplexResponse() {
1393
+ return { complexity: [] };
1394
+ }
1395
+ var IsComplexResponse = {
1396
+ encode(message, writer = new BinaryWriter()) {
1397
+ for (const v of message.complexity) {
1398
+ PageComplexityStats.encode(v, writer.uint32(10).fork()).join();
1399
+ }
1400
+ return writer;
1401
+ },
1402
+ decode(input, length) {
1403
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1404
+ const end = length === void 0 ? reader.len : reader.pos + length;
1405
+ const message = createBaseIsComplexResponse();
1406
+ while (reader.pos < end) {
1407
+ const tag = reader.uint32();
1408
+ switch (tag >>> 3) {
1409
+ case 1: {
1410
+ if (tag !== 10) {
1411
+ break;
1412
+ }
1413
+ message.complexity.push(
1414
+ PageComplexityStats.decode(reader, reader.uint32())
1415
+ );
1416
+ continue;
1417
+ }
1418
+ }
1419
+ if ((tag & 7) === 4 || tag === 0) {
1420
+ break;
1421
+ }
1422
+ reader.skip(tag & 7);
1423
+ }
1424
+ return message;
1425
+ },
1426
+ fromJSON(object) {
1427
+ return {
1428
+ complexity: globalThis.Array.isArray(object?.complexity) ? object.complexity.map((e) => PageComplexityStats.fromJSON(e)) : []
1429
+ };
1430
+ },
1431
+ toJSON(message) {
1432
+ const obj = {};
1433
+ if (message.complexity?.length) {
1434
+ obj.complexity = message.complexity.map(
1435
+ (e) => PageComplexityStats.toJSON(e)
1436
+ );
1437
+ }
1438
+ return obj;
1439
+ },
1440
+ create(base) {
1441
+ return IsComplexResponse.fromPartial(base ?? {});
1442
+ },
1443
+ fromPartial(object) {
1444
+ const message = createBaseIsComplexResponse();
1445
+ message.complexity = object.complexity?.map((e) => PageComplexityStats.fromPartial(e)) || [];
1446
+ return message;
1447
+ }
1448
+ };
1449
+ var ParserServiceService = {
1450
+ /** Parse a file */
1451
+ parse: {
1452
+ path: "/parser.ParserService/Parse",
1453
+ requestStream: false,
1454
+ responseStream: false,
1455
+ requestSerialize: (value) => Buffer.from(ParseRequest.encode(value).finish()),
1456
+ requestDeserialize: (value) => ParseRequest.decode(value),
1457
+ responseSerialize: (value) => Buffer.from(ParseResponse.encode(value).finish()),
1458
+ responseDeserialize: (value) => ParseResponse.decode(value)
1459
+ },
1460
+ /** Screenshot the pages of a PDF file */
1461
+ screenshot: {
1462
+ path: "/parser.ParserService/Screenshot",
1463
+ requestStream: false,
1464
+ responseStream: false,
1465
+ requestSerialize: (value) => Buffer.from(ScreenshotRequest.encode(value).finish()),
1466
+ requestDeserialize: (value) => ScreenshotRequest.decode(value),
1467
+ responseSerialize: (value) => Buffer.from(ScreenshotResponse.encode(value).finish()),
1468
+ responseDeserialize: (value) => ScreenshotResponse.decode(value)
1469
+ },
1470
+ /** Estimate the complexity of a file and the need for OCR */
1471
+ isComplex: {
1472
+ path: "/parser.ParserService/IsComplex",
1473
+ requestStream: false,
1474
+ responseStream: false,
1475
+ requestSerialize: (value) => Buffer.from(IsComplexRequest.encode(value).finish()),
1476
+ requestDeserialize: (value) => IsComplexRequest.decode(value),
1477
+ responseSerialize: (value) => Buffer.from(IsComplexResponse.encode(value).finish()),
1478
+ responseDeserialize: (value) => IsComplexResponse.decode(value)
1479
+ }
1480
+ };
1481
+ var ParserServiceClient = makeGenericClientConstructor(
1482
+ ParserServiceService,
1483
+ "parser.ParserService"
1484
+ );
1485
+ function bytesFromBase64(b64) {
1486
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
1487
+ }
1488
+ function base64FromBytes(arr) {
1489
+ return globalThis.Buffer.from(arr).toString("base64");
1490
+ }
1491
+ function longToNumber(int64) {
1492
+ const num = globalThis.Number(int64.toString());
1493
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
1494
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
1495
+ }
1496
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
1497
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
1498
+ }
1499
+ return num;
1500
+ }
1501
+ function isSet(value) {
1502
+ return value !== null && value !== void 0;
1503
+ }
1504
+
1505
+ // src/client.ts
1506
+ import * as grpc from "@grpc/grpc-js";
1507
+ import fs from "fs/promises";
1508
+ import path from "path";
1509
+ var client = new ParserServiceClient(
1510
+ "127.0.0.1:50051",
1511
+ grpc.credentials.createInsecure()
1512
+ );
1513
+ async function getBufAndConfig(file, configFile, parseOptions) {
1514
+ const buf = await fs.readFile(file);
1515
+ const outputFormat = parseOptions.json ? 1 /* OUTPUT_FORMAT_JSON */ : parseOptions.markdown ? 3 /* OUTPUT_FORMAT_MARKDOWN */ : 2 /* OUTPUT_FORMAT_TEXT */;
1516
+ let conf = {
1517
+ ocrLanguage: "en",
1518
+ ocrEnabled: true,
1519
+ ocrServerUrl: void 0,
1520
+ ocrFailureFatal: false,
1521
+ ocrHedgeDelaysMs: [],
1522
+ ocrServerHeaders: [],
1523
+ maxPages: 500,
1524
+ dpi: 150,
1525
+ outputFormat,
1526
+ preserveVerySmallText: true,
1527
+ quiet: true,
1528
+ numWorkers: 4,
1529
+ imageMode: 1 /* IMAGE_MODE_OFF */,
1530
+ extractLinks: true,
1531
+ emitWordBoxes: false
1532
+ };
1533
+ if (configFile) {
1534
+ const content = await fs.readFile(file, { encoding: "utf-8" });
1535
+ conf = JSON.parse(content);
1536
+ }
1537
+ return { buf, conf };
1538
+ }
1539
+ async function runClient(action, file, configFile, parseOptions, screenshotOptions) {
1540
+ switch (action) {
1541
+ case "parse": {
1542
+ const { buf, conf } = await getBufAndConfig(
1543
+ file,
1544
+ configFile,
1545
+ parseOptions
1546
+ );
1547
+ client.parse({ config: conf, file: buf }, (err, response) => {
1548
+ if (err) {
1549
+ console.error(`An error occurred: ${err.message}`);
1550
+ return;
1551
+ }
1552
+ if (parseOptions.json) {
1553
+ console.log(JSON.stringify(response.pages, void 0, 2));
1554
+ } else {
1555
+ console.log(response.text);
1556
+ }
1557
+ });
1558
+ return;
1559
+ }
1560
+ case "is-complex": {
1561
+ const { buf, conf } = await getBufAndConfig(
1562
+ file,
1563
+ configFile,
1564
+ parseOptions
1565
+ );
1566
+ client.isComplex({ config: conf, file: buf }, (err, response) => {
1567
+ if (err) {
1568
+ console.error(`An error occurred: ${err.message}`);
1569
+ return;
1570
+ }
1571
+ console.log(JSON.stringify(response.complexity, void 0, 2));
1572
+ });
1573
+ return;
1574
+ }
1575
+ case "screenshot": {
1576
+ const { buf, conf } = await getBufAndConfig(
1577
+ file,
1578
+ configFile,
1579
+ parseOptions
1580
+ );
1581
+ client.screenshot({ config: conf, file: buf }, (err, response) => {
1582
+ if (err) {
1583
+ console.error(`An error occurred: ${err.message}`);
1584
+ return;
1585
+ }
1586
+ const destDir = screenshotOptions.destDir ?? "imgs/";
1587
+ fs.mkdir(destDir, { recursive: true }).then().catch(console.error);
1588
+ for (const s of response.screenshots) {
1589
+ const p = path.join(destDir, `page_${s.pageNumber}.png`);
1590
+ fs.writeFile(p, new Uint8Array(s.imageBytes)).then().catch(console.error);
1591
+ }
1592
+ });
1593
+ }
1594
+ }
1595
+ }
1596
+ async function main() {
1597
+ const args = process.argv;
1598
+ const command = args[2];
1599
+ if (!command) {
1600
+ console.error("You need to provide a command");
1601
+ process.exit(1);
1602
+ }
1603
+ if (command == "--help") {
1604
+ console.log(`liteparse-client [COMMAND] [OPTIONS]
1605
+
1606
+ Commands:
1607
+ parse: Parse a file, optionally providing the path to a config file and whether to output JSON or plain text/markdown.
1608
+ is-complex: Estimate the complexity of a file and the need for OCR when parsing it
1609
+ screenshot: Screenshot the pages of a PDF file and save them as PNG images to a folder.
1610
+
1611
+ Shared options:
1612
+ FILE: File to parse/screenshot/estimate the complexity of. Positional argument, required.
1613
+ --config-file, -c <CONFIG_FILE>: JSON file where the LiteParse configuration is stored. Optional.
1614
+
1615
+ parse command options:
1616
+ --json, -j: Whether or not to output the parse result as a JSON array. Optional, defaults to false.
1617
+ --markdown, -m: Whether or not to render the parse text as markdown. Optional, defaults to false.
1618
+
1619
+ screenshot command options:
1620
+ --dest-dir, -d: Directory where to save the screenshots to. Optional, defaults to 'imgs/'.
1621
+
1622
+ Run liteparse-client --help to show this help message again.
1623
+ `);
1624
+ return;
1625
+ }
1626
+ if (!["parse", "is-complex", "screenshot"].includes(command)) {
1627
+ console.error(`Unrecognized command: ${command}`);
1628
+ process.exit(1);
1629
+ }
1630
+ const file = args[3];
1631
+ if (!file) {
1632
+ console.error("You need to provide a file path");
1633
+ process.exit(1);
1634
+ }
1635
+ let configFile = void 0;
1636
+ const parseOptions = {};
1637
+ const screenshotOptions = {};
1638
+ let i = 4;
1639
+ for (const arg of args.slice(4)) {
1640
+ if (arg == "--config-file" || arg == "-c") {
1641
+ const cand = args[i + 1];
1642
+ if (!cand) {
1643
+ console.error(
1644
+ "invalid use of --config-file. It must be followed by a file path"
1645
+ );
1646
+ process.exit(1);
1647
+ }
1648
+ configFile = cand;
1649
+ } else if (arg == "--json" || arg == "-j") {
1650
+ parseOptions.json = true;
1651
+ } else if (arg == "--markdown" || arg == "-m") {
1652
+ parseOptions.markdown = true;
1653
+ } else if (arg == "--dest-dir" || arg == "-d") {
1654
+ const cand = args[i + 1];
1655
+ if (!cand) {
1656
+ console.error(
1657
+ "invalid use of --dest-dir/-d. It must be followed by a directory path"
1658
+ );
1659
+ process.exit(1);
1660
+ }
1661
+ screenshotOptions.destDir = cand;
1662
+ }
1663
+ i++;
1664
+ }
1665
+ await runClient(
1666
+ command,
1667
+ file,
1668
+ configFile,
1669
+ parseOptions,
1670
+ screenshotOptions
1671
+ );
1672
+ }
1673
+ main().catch(console.error);
1674
+ //# sourceMappingURL=client.js.map