@regolithco/ocr 1.0.2 → 1.0.3

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/node.js CHANGED
@@ -28,8 +28,30 @@ export const initPaddle = async () => {
28
28
  export const recognizeText = async (imagePath) => {
29
29
  const ocr = await initPaddle();
30
30
  const results = await ocr.detect(imagePath);
31
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
- const fullText = results.map((line) => line.text).join('\n');
31
+ // Heuristic: Split lines that have massive horizontal gaps, as they likely span multiple UI panels
32
+ const processedLines = [];
33
+ for (const result of results) {
34
+ const text = result.text;
35
+ const box = result.box; // [[x,y], [x,y], [x,y], [x,y]]
36
+ const width = Math.abs(box[1][0] - box[0][0]);
37
+ const height = Math.abs(box[2][1] - box[1][1]);
38
+ // If the box is extremely wide relative to its height and has few characters, it might be a joined line
39
+ // Or more reliably, if we had character-level boxes we could check gaps.
40
+ // Paddle node might not give char boxes easily.
41
+ // But we can check if the line contains a lot of spaces and is very wide.
42
+ // Fallback: If text contains multiple spaces and is wide, it might belong to different columns.
43
+ // However, without char boxes, splitting is risky.
44
+ const charWidth = width / text.length;
45
+ if (charWidth > height * 2 && text.includes(' ')) {
46
+ // High likelihood of a gap. Split by double spaces.
47
+ const parts = text.split(/\s{2,}/);
48
+ processedLines.push(...parts);
49
+ }
50
+ else {
51
+ processedLines.push(text);
52
+ }
53
+ }
54
+ const fullText = processedLines.join('\n');
33
55
  console.log('--- PADDLE OCR RAW RESULTS ---');
34
56
  console.log(JSON.stringify(results, null, 2));
35
57
  console.log('------------------------------');
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC/F,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAK1E,IAAI,WAAW,GAAe,IAAI,CAAA;AAClC,IAAI,qBAAqB,GAAmC,IAAI,CAAA;AAEhE,MAAM,WAAW,GAAG,KAAK,IAA6B,EAAE;IACtD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,CAAC;aAChD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;aAChC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,qBAAqB,GAAG,IAAI,CAAA;YAC5B,MAAM,YAAY,GAChB,0IAA0I,CAAA;YAC5I,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,KAAK,CAAC,OAAO,GAAG,GAAG,YAAY,KAAK,KAAK,CAAC,OAAO,EAAE,CAAA;gBACnD,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACN,CAAC;IACD,OAAO,qBAAqB,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;QACnC,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IACxE,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5C,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;IAE7C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAExC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,SAAiB,EAAmC,EAAE;IAC/F,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;IAC3C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAA4B,EAAE;IACjF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;IAC3C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC,CAAA"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  import { RefineryEnum, RefineryMethodEnum, ShipOreEnum, } from '@regolithco/common';
2
2
  import { cleanLine, findBestMatch } from './utils.js';
3
+ // Managed word arrays for OCR variations
4
+ const PROCESS_TIME_KEYWORDS = ['PROCESS TIME', 'TIME'];
5
+ const EXPENSE_LABELS = {
6
+ 'TOTAL COST': 'Refinery Fee',
7
+ 'REFINERY FEE': 'Refinery Fee',
8
+ 'SERVICE FEE': 'Service Fee',
9
+ };
10
+ const EXIT_SECTION_KEYWORDS = ['TOTAL COST', 'USER DETAILS', 'PROCESSING TIME', 'SELECT STORAGE OPTION'];
3
11
  export const parseShipMiningOrder = (ocrText) => {
4
12
  const lines = ocrText
5
13
  .split('\n')
@@ -125,31 +133,28 @@ export const parseShipMiningOrder = (ocrText) => {
125
133
  }
126
134
  }
127
135
  // 3. Process Time
128
- if (!processDurationS && (lineUpper.includes('PROCESS TIME') || lineUpper.includes('TIME'))) {
136
+ if (!processDurationS && PROCESS_TIME_KEYWORDS.some((k) => lineUpper.includes(k))) {
129
137
  const parseDuration = (str) => {
130
138
  let d = 0;
131
139
  let h = 0;
132
140
  let m = 0;
133
141
  let found = false;
134
- const dMatch = str.match(/(\d+)\s*D/);
142
+ const dMatch = str.match(/(\d+)\s*D/i);
135
143
  if (dMatch) {
136
144
  d = parseInt(dMatch[1], 10);
137
145
  found = true;
138
146
  }
139
- const hMatch = str.match(/(\d+)\s*H/);
147
+ const hMatch = str.match(/(\d+)\s*H/i);
140
148
  if (hMatch) {
141
149
  h = parseInt(hMatch[1], 10);
142
150
  found = true;
143
151
  }
144
- const mMatch = str.match(/(\d+)\s*M/);
152
+ const mMatch = str.match(/(\d+)\s*M/i);
145
153
  if (mMatch) {
146
154
  m = parseInt(mMatch[1], 10);
147
155
  found = true;
148
156
  }
149
- if (found) {
150
- return d * 86400 + h * 3600 + m * 60;
151
- }
152
- return null;
157
+ return found ? d * 86400 + h * 3600 + m * 60 : null;
153
158
  };
154
159
  const val = parseDuration(lineUpper);
155
160
  if (val !== null) {
@@ -164,30 +169,18 @@ export const parseShipMiningOrder = (ocrText) => {
164
169
  }
165
170
  }
166
171
  // 3.5. Expenses
167
- const feeMappings = {
168
- 'TOTAL COST': 'Refinery Fee',
169
- 'REFINERY FEE': 'Refinery Fee',
170
- 'SERVICE FEE': 'Service Fee',
171
- };
172
- const fees = Object.keys(feeMappings);
173
- for (const key of fees) {
174
- const idx = lineUpper.indexOf(key);
172
+ for (const [label, mappedName] of Object.entries(EXPENSE_LABELS)) {
173
+ const idx = lineUpper.indexOf(label);
175
174
  if (idx !== -1) {
176
175
  // Found the label. We want the number that follows it.
177
- // We take the substring starting from the label to ensuring we don't pick a number "before" it (which shouldn't happen usually but good for safety)
178
- // OR better: we treat the text AFTER the label.
179
- const relevantText = lineUpper.substring(idx + key.length);
176
+ const relevantText = lineUpper.substring(idx + label.length);
180
177
  // Find the FIRST number in this substring
181
178
  const match = relevantText.match(/(\d[\d,.]*)/);
182
179
  if (match) {
183
180
  const rawAmount = match[1].replace(/,/g, '');
184
181
  const amount = parseInt(rawAmount);
185
182
  if (!isNaN(amount)) {
186
- const mappedName = feeMappings[key];
187
- // Only add if not already present?
188
- // If we have multiple orders, we might see "TOTAL COST" twice.
189
- // But we only want the left-most one because we are assuming "One Work Order" per parsing.
190
- // So if we already found 'Refinery Fee', we ignore subsequent ones (which are likely to the right).
183
+ // Only add if not already present
191
184
  if (!expenses.find((e) => e.name === mappedName)) {
192
185
  expenses.push({
193
186
  __typename: 'WorkOrderExpense',
@@ -203,19 +196,18 @@ export const parseShipMiningOrder = (ocrText) => {
203
196
  // 4. Ores Section Management
204
197
  let exitingSection = false;
205
198
  if (!inMaterialsSection) {
206
- if (lineUpper.includes('MATERIALS SELECTED') ||
207
- (lineUpper.includes('YIELD') && lineUpper.includes('REFINE') && !lineUpper.includes('TO REFINE')) ||
208
- (lineUpper.includes('OTY') && lineUpper.includes('YIELD'))) {
199
+ const hasMaterialsSelected = lineUpper.includes('MATERIALS SELECTED');
200
+ const hasYield = lineUpper.includes('YIELD');
201
+ const hasRefine = lineUpper.includes('REFINE') && !lineUpper.includes('TO REFINE');
202
+ const hasQty = lineUpper.includes('OTY');
203
+ if (hasMaterialsSelected || (hasYield && (hasRefine || hasQty))) {
209
204
  inMaterialsSection = true;
210
205
  continue;
211
206
  }
212
207
  }
213
208
  else {
214
- // Check for exit conditions but allow processing of current line
215
- if (lineUpper.includes('TOTAL COST') ||
216
- lineUpper.includes('USER DETAILS') ||
217
- lineUpper.includes('PROCESSING TIME') ||
218
- lineUpper.includes('Select Storage Option'.toUpperCase())) {
209
+ // Check for exit conditions
210
+ if (EXIT_SECTION_KEYWORDS.some((k) => lineUpper.includes(k))) {
219
211
  exitingSection = true;
220
212
  }
221
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shipMiningOrder.js","sourceRoot":"","sources":["../../src/parsers/shipMiningOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shipMiningOrder.js","sourceRoot":"","sources":["../../src/parsers/shipMiningOrder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,21 @@
1
1
  import { ShipOreEnum, AsteroidTypeEnum, DepositTypeEnum, } from '@regolithco/common';
2
2
  import { cleanLine, levenshtein } from './utils.js';
3
+ // Managed word arrays for OCR variations
4
+ const SCAN_RESULTS_KEYWORDS = ['SCAN RESULTS'];
5
+ const MASS_KEYWORDS = ['MASS', 'NASS'];
6
+ const RESISTANCE_KEYWORDS = ['RESIST', 'RESISTANCE', 'RESISTANC', 'SISTAN'];
7
+ const INSTABILITY_KEYWORDS = ['INSTAB', 'INSTABILITY', 'INSTABILIT', 'ABIT', 'STAB'];
8
+ const COMPOSITION_KEYWORDS = ['COMPOSITION', 'COMP0SITI0N'];
9
+ const INERT_KEYWORDS = ['INERT', 'MATERIAL', 'MATERIALS'];
10
+ const ASTEROID_TYPE_MAP = {
11
+ [AsteroidTypeEnum.Mtype]: ['M-TYPE'],
12
+ [AsteroidTypeEnum.Ctype]: ['C-TYPE'],
13
+ [AsteroidTypeEnum.Stype]: ['S-TYPE'],
14
+ [AsteroidTypeEnum.Etype]: ['E-TYPE', 'E TYPE'],
15
+ [AsteroidTypeEnum.Itype]: ['I-TYPE'],
16
+ [AsteroidTypeEnum.Ptype]: ['P-TYPE'],
17
+ [AsteroidTypeEnum.Qtype]: ['Q-TYPE'],
18
+ };
3
19
  export const parseShipRock = (ocrText) => {
4
20
  // Split into lines to preserve spatial context
5
21
  const lines = ocrText
@@ -8,12 +24,15 @@ export const parseShipRock = (ocrText) => {
8
24
  .filter((l) => l.length > 0);
9
25
  // Validation: Check for required anchors to ensure this is a valid Rock Info panel
10
26
  const linesUpper = lines.map((l) => l.toUpperCase());
11
- const hasScan = linesUpper.some((l) => l.includes('SCAN RESULTS'));
12
- const hasMass = linesUpper.some((l) => l.includes('MASS'));
13
- const hasRes = linesUpper.some((l) => l.includes('RESIST') || l.includes('RESISTANCE'));
14
- const hasInst = linesUpper.some((l) => l.includes('INSTAB') || l.includes('INSTABILITY'));
15
- const hasComp = linesUpper.some((l) => l.includes('COMPOSITION'));
16
- if (!hasScan || !hasMass || !hasRes || !hasInst || !hasComp) {
27
+ const hasScan = linesUpper.some((l) => SCAN_RESULTS_KEYWORDS.some((k) => l.includes(k)));
28
+ const hasMass = linesUpper.some((l) => MASS_KEYWORDS.some((k) => l.includes(k)));
29
+ const hasRes = linesUpper.some((l) => RESISTANCE_KEYWORDS.some((k) => l.includes(k)));
30
+ const hasInst = linesUpper.some((l) => INSTABILITY_KEYWORDS.some((k) => l.includes(k)));
31
+ const hasComp = linesUpper.some((l) => COMPOSITION_KEYWORDS.some((k) => l.includes(k)));
32
+ // Require at least 3 anchors to be considered a valid rock scan
33
+ const anchors = [hasScan, hasMass, hasRes, hasInst, hasComp];
34
+ const anchorCount = anchors.filter(Boolean).length;
35
+ if (anchorCount < 3) {
17
36
  return {
18
37
  __typename: 'ShipRockCapture',
19
38
  mass: 0,
@@ -26,42 +45,44 @@ export const parseShipRock = (ocrText) => {
26
45
  let res;
27
46
  let rockType;
28
47
  const ores = [];
48
+ const allNumbers = [];
29
49
  const allOres = Object.values(ShipOreEnum);
30
- const asteroidMap = {
31
- 'M-TYPE': AsteroidTypeEnum.Mtype,
32
- 'C-TYPE': AsteroidTypeEnum.Ctype,
33
- 'S-TYPE': AsteroidTypeEnum.Stype,
34
- 'E-TYPE': AsteroidTypeEnum.Etype,
35
- 'E TYPE': AsteroidTypeEnum.Etype,
36
- 'I-TYPE': AsteroidTypeEnum.Itype,
37
- 'P-TYPE': AsteroidTypeEnum.Ptype,
38
- 'Q-TYPE': AsteroidTypeEnum.Qtype,
39
- };
40
50
  // Iterate lines to find tokens
41
51
  for (const line of lines) {
42
52
  const lineUpper = line.toUpperCase();
53
+ // Collect all plausible numbers for fallback
54
+ const numberRegex = /([\d,]+(?:\.[\d,]+)?)/g;
55
+ let match;
56
+ while ((match = numberRegex.exec(line)) !== null) {
57
+ const val = parseFloat(match[1].replace(/,/g, ''));
58
+ if (!isNaN(val))
59
+ allNumbers.push(val);
60
+ }
43
61
  // 1. Mass
44
62
  if (!mass) {
45
- // Strict Mass: "MASS: 1234"
46
- const massMatch = line.match(/Mass\s*[:=\s]\s*([\d,]+(?:\.\d+)?)/i);
63
+ // Flexible Mass: "MASS: 1234" or "NASS: 1234"
64
+ const massRegex = new RegExp(`(?:${MASS_KEYWORDS.join('|')})\\s*[:=\\s]\\s*([\\d,]+(?:\\.\\d+)?)`, 'i');
65
+ const massMatch = line.match(massRegex);
47
66
  if (massMatch) {
48
- const val = parseFloat(massMatch[1].replace(/,/g, ''));
67
+ const rawVal = massMatch[1].replace(/,/g, '');
68
+ const val = parseFloat(rawVal);
49
69
  if (!isNaN(val))
50
70
  mass = val;
51
71
  }
52
72
  }
53
73
  // 2. Instability
54
74
  if (inst === undefined) {
55
- const match = line.match(/(?:Inst|ABIT|STAB)[^\d]*([\d.]+)/i);
75
+ const instRegex = new RegExp(`(?:${INSTABILITY_KEYWORDS.join('|')})[^\\d]*([\\d,.]+)`, 'i');
76
+ const match = line.match(instRegex);
56
77
  if (match)
57
- inst = parseFloat(match[1]);
78
+ inst = parseFloat(match[1].replace(/,/g, ''));
58
79
  }
59
80
  // 3. Resistance
60
81
  if (res === undefined) {
61
- // RESISTANCE: 10%
62
- const match = line.match(/(?:Res|SISTAN|RESIST)[^\d]*([\d.]+)/i);
82
+ const resRegex = new RegExp(`(?:${RESISTANCE_KEYWORDS.join('|')})[^\\d]*([\\d,.]+)`, 'i');
83
+ const match = line.match(resRegex);
63
84
  if (match) {
64
- let val = parseFloat(match[1]);
85
+ let val = parseFloat(match[1].replace(/,/g, ''));
65
86
  if (line.includes('%') && val > 1)
66
87
  val /= 100;
67
88
  res = val;
@@ -69,14 +90,17 @@ export const parseShipRock = (ocrText) => {
69
90
  }
70
91
  // 4. Rock Type
71
92
  if (!rockType) {
72
- for (const [key, value] of Object.entries(asteroidMap)) {
73
- // Flexible match
74
- const cleanKey = key.replace(/[- ]/g, '[\\- _\\.]?');
75
- const regex = new RegExp(cleanKey, 'i');
76
- if (regex.test(line)) {
77
- rockType = value;
78
- break;
93
+ for (const [type, aliases] of Object.entries(ASTEROID_TYPE_MAP)) {
94
+ for (const alias of aliases) {
95
+ const cleanKey = alias.replace(/[- ]/g, '[\\- _\\.]?');
96
+ const regex = new RegExp(cleanKey, 'i');
97
+ if (regex.test(line)) {
98
+ rockType = type;
99
+ break;
100
+ }
79
101
  }
102
+ if (rockType)
103
+ break;
80
104
  }
81
105
  // Deposit types if not asteroid
82
106
  if (!rockType) {
@@ -91,10 +115,10 @@ export const parseShipRock = (ocrText) => {
91
115
  }
92
116
  }
93
117
  // 5. Ores
94
- // Refined logic: Iterate words in line. Identify Ores. Look for adjacent %.
95
- const words = lineUpper.split(/\s+/);
118
+ // Refined logic: Split by most delimiters to isolate tokens. Identify Ores. Look for adjacent %.
119
+ const words = lineUpper.split(/[^A-Z0-9%.-]+/).filter((w) => w.length > 0);
96
120
  for (let i = 0; i < words.length; i++) {
97
- const w = words[i].replace(/[^A-Z0-9%.-]/g, ''); // Clean word
121
+ const w = words[i];
98
122
  if (w.length < 3)
99
123
  continue;
100
124
  // Check if w is an Ore (Best match)
@@ -103,7 +127,7 @@ export const parseShipRock = (ocrText) => {
103
127
  for (const ore of allOres) {
104
128
  let dist = levenshtein(w, ore.toUpperCase());
105
129
  // Special cases
106
- if (w === 'INERT') {
130
+ if (INERT_KEYWORDS.includes(w)) {
107
131
  if (ore === ShipOreEnum.Inertmaterial)
108
132
  dist = 0;
109
133
  }
@@ -148,6 +172,7 @@ export const parseShipRock = (ocrText) => {
148
172
  if (percentVal > 0) {
149
173
  if (percentVal > 1)
150
174
  percentVal /= 100;
175
+ percentVal = Math.round(percentVal * 10000) / 10000;
151
176
  if (!ores.find((o) => o.ore === bestOre) && bestOre !== ShipOreEnum.Inertmaterial) {
152
177
  ores.push({
153
178
  ore: bestOre,
@@ -159,6 +184,26 @@ export const parseShipRock = (ocrText) => {
159
184
  }
160
185
  }
161
186
  }
187
+ // Fallbacks for Instability and Resistance if not found
188
+ if (inst === undefined || res === undefined) {
189
+ // Heuristic: If only two numbers and mass is known, assign the others
190
+ const filtered = allNumbers.filter((n) => n !== mass);
191
+ if (filtered.length === 2) {
192
+ if (inst === undefined)
193
+ inst = filtered[0];
194
+ if (res === undefined)
195
+ res = filtered[1] > 1 ? filtered[1] / 100 : filtered[1];
196
+ }
197
+ else if (filtered.length > 0) {
198
+ // If only one is missing, try to assign
199
+ if (inst === undefined) {
200
+ inst = filtered[0];
201
+ }
202
+ else if (res === undefined) {
203
+ res = filtered[0] > 1 ? filtered[0] / 100 : filtered[0];
204
+ }
205
+ }
206
+ }
162
207
  return {
163
208
  __typename: 'ShipRockCapture',
164
209
  mass,
@@ -1 +1 @@
1
- {"version":3,"file":"shipRock.js","sourceRoot":"","sources":["../../src/parsers/shipRock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shipRock.js","sourceRoot":"","sources":["../../src/parsers/shipRock.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regolithco/ocr",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "OCR utilities using PaddleOCR",
5
5
  "type": "module",
6
6
  "main": "dist/node.js",
package/dist/parser.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './parsers/shipRock.js';
2
- export * from './parsers/shipMiningOrder.js';
package/dist/parser.js DELETED
@@ -1,3 +0,0 @@
1
- export * from './parsers/shipRock.js';
2
- export * from './parsers/shipMiningOrder.js';
3
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC"}