universal-parcel-scraper 0.87.0-main.963 → 0.87.1-main.965

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/data/catalog.json CHANGED
@@ -2198,7 +2198,7 @@
2198
2198
  "checksum": "s10"
2199
2199
  },
2200
2200
  {
2201
- "pattern": "^JJBE[A-Z]\\d{18}$",
2201
+ "pattern": "^JJBE[A-Z]\\d{18}(?:\\d{4})?$",
2202
2202
  "confidence": "high"
2203
2203
  }
2204
2204
  ]
@@ -29530,6 +29530,14 @@
29530
29530
  "india-post"
29531
29531
  ]
29532
29532
  },
29533
+ {
29534
+ "input": "JJBEA2356412012365478896541",
29535
+ "carrier": "bpost",
29536
+ "confidence": "high",
29537
+ "candidates": [
29538
+ "bpost"
29539
+ ]
29540
+ },
29533
29541
  {
29534
29542
  "input": "JJBEA650014000002759639",
29535
29543
  "carrier": "bpost",
@@ -1903,7 +1903,7 @@ var be = {
1903
1903
  checksum: "s10"
1904
1904
  },
1905
1905
  {
1906
- pattern: "^JJBE[A-Z]\\d{18}$",
1906
+ pattern: "^JJBE[A-Z]\\d{18}(?:\\d{4})?$",
1907
1907
  confidence: "high"
1908
1908
  }
1909
1909
  ]
@@ -92,7 +92,7 @@
92
92
  },
93
93
  {
94
94
  "id": "bpost-jjbe",
95
- "pattern": "^JJBE[A-Z]\\d{18}$",
95
+ "pattern": "^JJBE[A-Z]\\d{18}(?:\\d{4})?$",
96
96
  "confidence": "high"
97
97
  }
98
98
  ]
@@ -286,6 +286,20 @@
286
286
  },
287
287
  "note": "Official documentation example, not a real shipment. The S10 check digit does not validate, so bpost is not named."
288
288
  },
289
+ {
290
+ "number": "JJBEA2356412012365478896541",
291
+ "role": "shipment",
292
+ "evidence": "official_documentation_example",
293
+ "source": {
294
+ "url": "https://www.bpost.be/en/faq/what-does-barcode-look-and-where-can-i-find-it",
295
+ "access": "full_page"
296
+ },
297
+ "expect": {
298
+ "carrier": "bpost",
299
+ "confidence": "high"
300
+ },
301
+ "note": "Official parcel-barcode example of bpost's 27-character licence plate; the documented prefix and length select bpost without asserting shipment existence."
302
+ },
289
303
  {
290
304
  "number": "CE642607416BE",
291
305
  "role": "shipment",
@@ -1,4 +1,4 @@
1
1
  import type { CarrierResult } from '../../core/result/index.js';
2
- /** Barcodes, postal S10 numbers, and bpost's `JJBE` licence plate, as on a registered letter. */
2
+ /** Barcodes, postal S10 numbers, and bpost's `JJBE` licence plate, as on a registered letter or a parcel. */
3
3
  export declare function normalizeBpostNumber(raw: string): string;
4
4
  export declare function parseBpost(payload: unknown, number: string): CarrierResult;
@@ -5,10 +5,10 @@ import { zonedTime } from '../../core/time/index.js';
5
5
  import { clean } from '../../core/transport/index.js';
6
6
  import { isRecord } from '../../core/types.js';
7
7
  import { classifyBpostStatus } from './status.js';
8
- /** Barcodes, postal S10 numbers, and bpost's `JJBE` licence plate, as on a registered letter. */
8
+ /** Barcodes, postal S10 numbers, and bpost's `JJBE` licence plate, as on a registered letter or a parcel. */
9
9
  export function normalizeBpostNumber(raw) {
10
10
  const number = raw.toUpperCase().replace(/[\s.-]/g, '');
11
- if (!/^(?:\d{18}|\d{24}|\d{30}|JJBE[A-Z]\d{18})$/.test(number) && !isValidS10TrackingNumber(number)) {
11
+ if (!/^(?:\d{18}|\d{24}|\d{30}|JJBE[A-Z]\d{18}(?:\d{4})?)$/.test(number) && !isValidS10TrackingNumber(number)) {
12
12
  throw new InvalidInputError('bpost', 'bpost requires a parcel barcode or postal tracking number');
13
13
  }
14
14
  return number;
@@ -2198,7 +2198,7 @@
2198
2198
  "checksum": "s10"
2199
2199
  },
2200
2200
  {
2201
- "pattern": "^JJBE[A-Z]\\d{18}$",
2201
+ "pattern": "^JJBE[A-Z]\\d{18}(?:\\d{4})?$",
2202
2202
  "confidence": "high"
2203
2203
  }
2204
2204
  ]
@@ -1467,7 +1467,7 @@ export declare const CARRIER_CATALOG: {
1467
1467
  readonly confidence: "high";
1468
1468
  readonly checksum: "s10";
1469
1469
  }, {
1470
- readonly pattern: "^JJBE[A-Z]\\d{18}$";
1470
+ readonly pattern: "^JJBE[A-Z]\\d{18}(?:\\d{4})?$";
1471
1471
  readonly confidence: "high";
1472
1472
  }];
1473
1473
  };
@@ -2199,7 +2199,7 @@ export const CARRIER_CATALOG = {
2199
2199
  "checksum": "s10"
2200
2200
  },
2201
2201
  {
2202
- "pattern": "^JJBE[A-Z]\\d{18}$",
2202
+ "pattern": "^JJBE[A-Z]\\d{18}(?:\\d{4})?$",
2203
2203
  "confidence": "high"
2204
2204
  }
2205
2205
  ]
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Universal Parcel Scraper",
5
- "version": "0.87.0"
5
+ "version": "0.87.1"
6
6
  },
7
7
  "paths": {
8
8
  "/health": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "universal-parcel-scraper",
3
- "version": "0.87.0-main.963",
3
+ "version": "0.87.1-main.965",
4
4
  "description": "Self-hosted parcel tracking: carrier detection, dedicated scrapers and optional universal providers.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",