universal-parcel-scraper 0.0.0-stage → 0.2.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/LICENSE +201 -0
- package/NOTICE +15 -0
- package/README.md +123 -2
- package/data/carrier-order.json +107 -0
- package/data/carrier.schema.json +415 -0
- package/data/catalog.json +3969 -0
- package/data/coverage-summary.json +17 -0
- package/data/detection-golden.json +5375 -0
- package/data/stages.json +13 -0
- package/dist/browser/scraper.js +9292 -0
- package/dist/carriers/aliexpress/adapter.d.ts +30 -0
- package/dist/carriers/aliexpress/adapter.js +164 -0
- package/dist/carriers/aliexpress/carrier.json +59 -0
- package/dist/carriers/aliexpress/numbers.json +36 -0
- package/dist/carriers/aliexpress/status.d.ts +31 -0
- package/dist/carriers/aliexpress/status.js +79 -0
- package/dist/carriers/aliexpress/statuses.json +355 -0
- package/dist/carriers/amazon-logistics/carrier.json +94 -0
- package/dist/carriers/amazon-logistics/numbers.json +307 -0
- package/dist/carriers/amazon-shipping/adapter.d.ts +34 -0
- package/dist/carriers/amazon-shipping/adapter.js +292 -0
- package/dist/carriers/amazon-shipping/carrier.json +96 -0
- package/dist/carriers/amazon-shipping/eligibility.d.ts +3 -0
- package/dist/carriers/amazon-shipping/eligibility.js +16 -0
- package/dist/carriers/amazon-shipping/numbers.json +67 -0
- package/dist/carriers/amazon-shipping/status.d.ts +26 -0
- package/dist/carriers/amazon-shipping/status.js +118 -0
- package/dist/carriers/amazon-shipping/statuses.json +19 -0
- package/dist/carriers/an-post/carrier.json +38 -0
- package/dist/carriers/an-post/numbers.json +33 -0
- package/dist/carriers/aramex/adapter.d.ts +11 -0
- package/dist/carriers/aramex/adapter.js +49 -0
- package/dist/carriers/aramex/carrier.json +62 -0
- package/dist/carriers/aramex/numbers.json +71 -0
- package/dist/carriers/aramex/parser.d.ts +5 -0
- package/dist/carriers/aramex/parser.js +83 -0
- package/dist/carriers/aramex/status.d.ts +2 -0
- package/dist/carriers/aramex/status.js +16 -0
- package/dist/carriers/aramex/statuses.json +41 -0
- package/dist/carriers/asendia/adapter.d.ts +82 -0
- package/dist/carriers/asendia/adapter.js +342 -0
- package/dist/carriers/asendia/carrier.json +91 -0
- package/dist/carriers/asendia/numbers.json +177 -0
- package/dist/carriers/asendia/probe.d.ts +31 -0
- package/dist/carriers/asendia/probe.js +355 -0
- package/dist/carriers/asendia/status.d.ts +41 -0
- package/dist/carriers/asendia/status.js +147 -0
- package/dist/carriers/asendia/statuses.json +877 -0
- package/dist/carriers/australia-post/adapter.d.ts +20 -0
- package/dist/carriers/australia-post/adapter.js +175 -0
- package/dist/carriers/australia-post/carrier.json +72 -0
- package/dist/carriers/australia-post/numbers.json +66 -0
- package/dist/carriers/australia-post/status.d.ts +2 -0
- package/dist/carriers/australia-post/status.js +34 -0
- package/dist/carriers/australia-post/statuses.json +172 -0
- package/dist/carriers/austrian-post/adapter.d.ts +13 -0
- package/dist/carriers/austrian-post/adapter.js +101 -0
- package/dist/carriers/austrian-post/carrier.json +58 -0
- package/dist/carriers/austrian-post/numbers.json +73 -0
- package/dist/carriers/austrian-post/status.d.ts +3 -0
- package/dist/carriers/austrian-post/status.js +30 -0
- package/dist/carriers/austrian-post/statuses.json +47 -0
- package/dist/carriers/blue-dart/adapter.d.ts +11 -0
- package/dist/carriers/blue-dart/adapter.js +34 -0
- package/dist/carriers/blue-dart/carrier.json +59 -0
- package/dist/carriers/blue-dart/numbers.json +113 -0
- package/dist/carriers/blue-dart/parser.d.ts +3 -0
- package/dist/carriers/blue-dart/parser.js +75 -0
- package/dist/carriers/blue-dart/status.d.ts +2 -0
- package/dist/carriers/blue-dart/status.js +14 -0
- package/dist/carriers/blue-dart/statuses.json +59 -0
- package/dist/carriers/bpost/adapter.d.ts +11 -0
- package/dist/carriers/bpost/adapter.js +46 -0
- package/dist/carriers/bpost/carrier.json +81 -0
- package/dist/carriers/bpost/numbers.json +103 -0
- package/dist/carriers/bpost/parser.d.ts +3 -0
- package/dist/carriers/bpost/parser.js +84 -0
- package/dist/carriers/bpost/status.d.ts +2 -0
- package/dist/carriers/bpost/status.js +18 -0
- package/dist/carriers/bpost/statuses.json +96 -0
- package/dist/carriers/bring-posten/adapter.d.ts +11 -0
- package/dist/carriers/bring-posten/adapter.js +35 -0
- package/dist/carriers/bring-posten/carrier.json +91 -0
- package/dist/carriers/bring-posten/numbers.json +33 -0
- package/dist/carriers/bring-posten/parser.d.ts +3 -0
- package/dist/carriers/bring-posten/parser.js +95 -0
- package/dist/carriers/bring-posten/status.d.ts +3 -0
- package/dist/carriers/bring-posten/status.js +23 -0
- package/dist/carriers/bring-posten/statuses.json +33 -0
- package/dist/carriers/brt/adapter.d.ts +11 -0
- package/dist/carriers/brt/adapter.js +36 -0
- package/dist/carriers/brt/carrier.json +80 -0
- package/dist/carriers/brt/numbers.json +91 -0
- package/dist/carriers/brt/parser.d.ts +3 -0
- package/dist/carriers/brt/parser.js +84 -0
- package/dist/carriers/brt/status.d.ts +2 -0
- package/dist/carriers/brt/status.js +14 -0
- package/dist/carriers/brt/statuses.json +53 -0
- package/dist/carriers/c-chez-vous/adapter.d.ts +31 -0
- package/dist/carriers/c-chez-vous/adapter.js +181 -0
- package/dist/carriers/c-chez-vous/carrier.json +69 -0
- package/dist/carriers/c-chez-vous/numbers.json +31 -0
- package/dist/carriers/c-chez-vous/status.d.ts +27 -0
- package/dist/carriers/c-chez-vous/status.js +19 -0
- package/dist/carriers/c-chez-vous/statuses.json +10 -0
- package/dist/carriers/canada-post/adapter.d.ts +40 -0
- package/dist/carriers/canada-post/adapter.js +78 -0
- package/dist/carriers/canada-post/carrier.json +77 -0
- package/dist/carriers/canada-post/numbers.json +81 -0
- package/dist/carriers/canada-post/parser.d.ts +5 -0
- package/dist/carriers/canada-post/parser.js +202 -0
- package/dist/carriers/canada-post/status.d.ts +9 -0
- package/dist/carriers/canada-post/status.js +67 -0
- package/dist/carriers/canada-post/statuses.json +171 -0
- package/dist/carriers/canpar/adapter.d.ts +11 -0
- package/dist/carriers/canpar/adapter.js +40 -0
- package/dist/carriers/canpar/carrier.json +74 -0
- package/dist/carriers/canpar/numbers.json +71 -0
- package/dist/carriers/canpar/parser.d.ts +3 -0
- package/dist/carriers/canpar/parser.js +75 -0
- package/dist/carriers/canpar/status.d.ts +2 -0
- package/dist/carriers/canpar/status.js +16 -0
- package/dist/carriers/canpar/statuses.json +82 -0
- package/dist/carriers/china-post/carrier.json +38 -0
- package/dist/carriers/china-post/numbers.json +59 -0
- package/dist/carriers/chronopost/carrier.json +84 -0
- package/dist/carriers/chronopost/numbers.json +110 -0
- package/dist/carriers/chronopost/statuses.json +47 -0
- package/dist/carriers/ciblex/adapter.d.ts +17 -0
- package/dist/carriers/ciblex/adapter.js +46 -0
- package/dist/carriers/ciblex/carrier.json +71 -0
- package/dist/carriers/ciblex/numbers.json +63 -0
- package/dist/carriers/ciblex/parser.d.ts +4 -0
- package/dist/carriers/ciblex/parser.js +100 -0
- package/dist/carriers/ciblex/status.d.ts +24 -0
- package/dist/carriers/ciblex/status.js +55 -0
- package/dist/carriers/ciblex/statuses.json +221 -0
- package/dist/carriers/colis-prive/adapter.d.ts +39 -0
- package/dist/carriers/colis-prive/adapter.js +0 -0
- package/dist/carriers/colis-prive/carrier.json +72 -0
- package/dist/carriers/colis-prive/numbers.json +97 -0
- package/dist/carriers/colis-prive/status.d.ts +30 -0
- package/dist/carriers/colis-prive/status.js +85 -0
- package/dist/carriers/colis-prive/statuses.json +39 -0
- package/dist/carriers/colisweb/adapter.d.ts +29 -0
- package/dist/carriers/colisweb/adapter.js +166 -0
- package/dist/carriers/colisweb/carrier.json +63 -0
- package/dist/carriers/colisweb/numbers.json +39 -0
- package/dist/carriers/colisweb/status.d.ts +32 -0
- package/dist/carriers/colisweb/status.js +61 -0
- package/dist/carriers/colisweb/statuses.json +25 -0
- package/dist/carriers/correios-br/adapter.d.ts +16 -0
- package/dist/carriers/correios-br/adapter.js +78 -0
- package/dist/carriers/correios-br/carrier.json +64 -0
- package/dist/carriers/correios-br/model/LICENSE +21 -0
- package/dist/carriers/correios-br/model/captcha.onnx +0 -0
- package/dist/carriers/correios-br/numbers.json +72 -0
- package/dist/carriers/correios-br/ocr-worker.mjs +53 -0
- package/dist/carriers/correios-br/ocr.d.ts +10 -0
- package/dist/carriers/correios-br/ocr.js +83 -0
- package/dist/carriers/correios-br/parser.d.ts +4 -0
- package/dist/carriers/correios-br/parser.js +79 -0
- package/dist/carriers/correios-br/status.d.ts +2 -0
- package/dist/carriers/correios-br/status.js +17 -0
- package/dist/carriers/correios-br/statuses.json +16 -0
- package/dist/carriers/correos-chile/adapter.d.ts +12 -0
- package/dist/carriers/correos-chile/adapter.js +85 -0
- package/dist/carriers/correos-chile/carrier.json +62 -0
- package/dist/carriers/correos-chile/numbers.json +38 -0
- package/dist/carriers/correos-chile/parser.d.ts +9 -0
- package/dist/carriers/correos-chile/parser.js +120 -0
- package/dist/carriers/correos-chile/status.d.ts +3 -0
- package/dist/carriers/correos-chile/status.js +17 -0
- package/dist/carriers/correos-chile/statuses.json +12 -0
- package/dist/carriers/correos-express/adapter.d.ts +11 -0
- package/dist/carriers/correos-express/adapter.js +32 -0
- package/dist/carriers/correos-express/carrier.json +65 -0
- package/dist/carriers/correos-express/numbers.json +80 -0
- package/dist/carriers/correos-express/parser.d.ts +3 -0
- package/dist/carriers/correos-express/parser.js +97 -0
- package/dist/carriers/correos-express/status.d.ts +2 -0
- package/dist/carriers/correos-express/status.js +25 -0
- package/dist/carriers/correos-express/statuses.json +19 -0
- package/dist/carriers/correos-spain/adapter.d.ts +15 -0
- package/dist/carriers/correos-spain/adapter.js +191 -0
- package/dist/carriers/correos-spain/carrier.json +92 -0
- package/dist/carriers/correos-spain/numbers.json +149 -0
- package/dist/carriers/correos-spain/status.d.ts +17 -0
- package/dist/carriers/correos-spain/status.js +51 -0
- package/dist/carriers/correos-spain/statuses.json +46 -0
- package/dist/carriers/ctt/adapter.d.ts +34 -0
- package/dist/carriers/ctt/adapter.js +320 -0
- package/dist/carriers/ctt/carrier.json +72 -0
- package/dist/carriers/ctt/numbers.json +33 -0
- package/dist/carriers/ctt/status.d.ts +16 -0
- package/dist/carriers/ctt/status.js +16 -0
- package/dist/carriers/ctt/statuses.json +15 -0
- package/dist/carriers/ctt-express/adapter.d.ts +11 -0
- package/dist/carriers/ctt-express/adapter.js +41 -0
- package/dist/carriers/ctt-express/carrier.json +64 -0
- package/dist/carriers/ctt-express/numbers.json +59 -0
- package/dist/carriers/ctt-express/parser.d.ts +3 -0
- package/dist/carriers/ctt-express/parser.js +107 -0
- package/dist/carriers/ctt-express/status.d.ts +2 -0
- package/dist/carriers/ctt-express/status.js +17 -0
- package/dist/carriers/ctt-express/statuses.json +15 -0
- package/dist/carriers/dachser/adapter.d.ts +25 -0
- package/dist/carriers/dachser/adapter.js +168 -0
- package/dist/carriers/dachser/carrier.json +80 -0
- package/dist/carriers/dachser/numbers.json +66 -0
- package/dist/carriers/dachser/status.d.ts +40 -0
- package/dist/carriers/dachser/status.js +57 -0
- package/dist/carriers/dachser/statuses.json +18 -0
- package/dist/carriers/delhivery/adapter.d.ts +11 -0
- package/dist/carriers/delhivery/adapter.js +36 -0
- package/dist/carriers/delhivery/carrier.json +50 -0
- package/dist/carriers/delhivery/numbers.json +108 -0
- package/dist/carriers/delhivery/parser.d.ts +3 -0
- package/dist/carriers/delhivery/parser.js +81 -0
- package/dist/carriers/delhivery/status.d.ts +2 -0
- package/dist/carriers/delhivery/status.js +11 -0
- package/dist/carriers/delhivery/statuses.json +11 -0
- package/dist/carriers/delivengo/carrier.json +56 -0
- package/dist/carriers/delivengo/numbers.json +31 -0
- package/dist/carriers/delivengo/statuses.json +5 -0
- package/dist/carriers/dhl/adapter.d.ts +70 -0
- package/dist/carriers/dhl/adapter.js +308 -0
- package/dist/carriers/dhl/carrier.json +98 -0
- package/dist/carriers/dhl/numbers.json +153 -0
- package/dist/carriers/dhl/status.d.ts +14 -0
- package/dist/carriers/dhl/status.js +45 -0
- package/dist/carriers/dhl/statuses.json +27 -0
- package/dist/carriers/dhl-ecommerce/adapter.d.ts +50 -0
- package/dist/carriers/dhl-ecommerce/adapter.js +179 -0
- package/dist/carriers/dhl-ecommerce/carrier.json +97 -0
- package/dist/carriers/dhl-ecommerce/numbers.json +130 -0
- package/dist/carriers/dhl-ecommerce/status.d.ts +13 -0
- package/dist/carriers/dhl-ecommerce/status.js +57 -0
- package/dist/carriers/dhl-ecommerce/statuses.json +23 -0
- package/dist/carriers/dpd/adapter.d.ts +70 -0
- package/dist/carriers/dpd/adapter.js +809 -0
- package/dist/carriers/dpd/carrier.json +111 -0
- package/dist/carriers/dpd/numbers.json +43 -0
- package/dist/carriers/dpd/status.d.ts +39 -0
- package/dist/carriers/dpd/status.js +93 -0
- package/dist/carriers/dpd/statuses.json +144 -0
- package/dist/carriers/dpd-fr/adapter.d.ts +42 -0
- package/dist/carriers/dpd-fr/adapter.js +288 -0
- package/dist/carriers/dpd-fr/carrier.json +83 -0
- package/dist/carriers/dpd-fr/numbers.json +80 -0
- package/dist/carriers/dpd-fr/status.d.ts +21 -0
- package/dist/carriers/dpd-fr/status.js +93 -0
- package/dist/carriers/dpd-fr/statuses.json +325 -0
- package/dist/carriers/dtdc/adapter.d.ts +11 -0
- package/dist/carriers/dtdc/adapter.js +39 -0
- package/dist/carriers/dtdc/carrier.json +77 -0
- package/dist/carriers/dtdc/numbers.json +50 -0
- package/dist/carriers/dtdc/parser.d.ts +3 -0
- package/dist/carriers/dtdc/parser.js +90 -0
- package/dist/carriers/dtdc/status.d.ts +2 -0
- package/dist/carriers/dtdc/status.js +15 -0
- package/dist/carriers/dtdc/statuses.json +65 -0
- package/dist/carriers/ecoscooting/adapter.d.ts +11 -0
- package/dist/carriers/ecoscooting/adapter.js +42 -0
- package/dist/carriers/ecoscooting/carrier.json +76 -0
- package/dist/carriers/ecoscooting/numbers.json +291 -0
- package/dist/carriers/ecoscooting/parser.d.ts +3 -0
- package/dist/carriers/ecoscooting/parser.js +88 -0
- package/dist/carriers/ecoscooting/status.d.ts +2 -0
- package/dist/carriers/ecoscooting/status.js +50 -0
- package/dist/carriers/ecoscooting/statuses.json +295 -0
- package/dist/carriers/ems/adapter.d.ts +14 -0
- package/dist/carriers/ems/adapter.js +124 -0
- package/dist/carriers/ems/carrier.json +61 -0
- package/dist/carriers/ems/numbers.json +43 -0
- package/dist/carriers/ems/status.d.ts +2 -0
- package/dist/carriers/ems/status.js +24 -0
- package/dist/carriers/ems/statuses.json +128 -0
- package/dist/carriers/estafeta/adapter.d.ts +11 -0
- package/dist/carriers/estafeta/adapter.js +45 -0
- package/dist/carriers/estafeta/carrier.json +79 -0
- package/dist/carriers/estafeta/numbers.json +85 -0
- package/dist/carriers/estafeta/parser.d.ts +11 -0
- package/dist/carriers/estafeta/parser.js +123 -0
- package/dist/carriers/estafeta/status.d.ts +3 -0
- package/dist/carriers/estafeta/status.js +17 -0
- package/dist/carriers/estafeta/statuses.json +47 -0
- package/dist/carriers/evri/adapter.d.ts +14 -0
- package/dist/carriers/evri/adapter.js +146 -0
- package/dist/carriers/evri/carrier.json +69 -0
- package/dist/carriers/evri/numbers.json +32 -0
- package/dist/carriers/evri/status.d.ts +2 -0
- package/dist/carriers/evri/status.js +24 -0
- package/dist/carriers/evri/statuses.json +133 -0
- package/dist/carriers/fedex/adapter.d.ts +32 -0
- package/dist/carriers/fedex/adapter.js +307 -0
- package/dist/carriers/fedex/carrier.json +74 -0
- package/dist/carriers/fedex/numbers.json +198 -0
- package/dist/carriers/fedex/status.d.ts +33 -0
- package/dist/carriers/fedex/status.js +114 -0
- package/dist/carriers/fedex/statuses.json +34 -0
- package/dist/carriers/four-px/adapter.d.ts +12 -0
- package/dist/carriers/four-px/adapter.js +113 -0
- package/dist/carriers/four-px/carrier.json +60 -0
- package/dist/carriers/four-px/numbers.json +32 -0
- package/dist/carriers/four-px/status.d.ts +2 -0
- package/dist/carriers/four-px/status.js +22 -0
- package/dist/carriers/four-px/statuses.json +141 -0
- package/dist/carriers/geodis/adapter.d.ts +37 -0
- package/dist/carriers/geodis/adapter.js +275 -0
- package/dist/carriers/geodis/carrier.json +75 -0
- package/dist/carriers/geodis/numbers.json +45 -0
- package/dist/carriers/geodis/status.d.ts +37 -0
- package/dist/carriers/geodis/status.js +105 -0
- package/dist/carriers/geodis/statuses.json +51 -0
- package/dist/carriers/gls-ch/adapter.d.ts +39 -0
- package/dist/carriers/gls-ch/adapter.js +405 -0
- package/dist/carriers/gls-ch/carrier.json +122 -0
- package/dist/carriers/gls-ch/numbers.json +31 -0
- package/dist/carriers/gls-ch/status.d.ts +19 -0
- package/dist/carriers/gls-ch/status.js +79 -0
- package/dist/carriers/gls-ch/statuses.json +31 -0
- package/dist/carriers/gls-de/adapter.d.ts +28 -0
- package/dist/carriers/gls-de/adapter.js +113 -0
- package/dist/carriers/gls-de/carrier.json +126 -0
- package/dist/carriers/gls-de/numbers.json +111 -0
- package/dist/carriers/gls-de/status.d.ts +10 -0
- package/dist/carriers/gls-de/status.js +10 -0
- package/dist/carriers/gls-de/statuses.json +31 -0
- package/dist/carriers/gls-fr/adapter.d.ts +29 -0
- package/dist/carriers/gls-fr/adapter.js +220 -0
- package/dist/carriers/gls-fr/carrier.json +107 -0
- package/dist/carriers/gls-fr/numbers.json +113 -0
- package/dist/carriers/gls-fr/status.d.ts +28 -0
- package/dist/carriers/gls-fr/status.js +58 -0
- package/dist/carriers/gls-fr/statuses.json +34 -0
- package/dist/carriers/gofo/adapter.d.ts +11 -0
- package/dist/carriers/gofo/adapter.js +41 -0
- package/dist/carriers/gofo/carrier.json +80 -0
- package/dist/carriers/gofo/numbers.json +59 -0
- package/dist/carriers/gofo/parser.d.ts +5 -0
- package/dist/carriers/gofo/parser.js +131 -0
- package/dist/carriers/gofo/status.d.ts +2 -0
- package/dist/carriers/gofo/status.js +7 -0
- package/dist/carriers/gofo/statuses.json +54 -0
- package/dist/carriers/heppner/adapter.d.ts +27 -0
- package/dist/carriers/heppner/adapter.js +247 -0
- package/dist/carriers/heppner/carrier.json +74 -0
- package/dist/carriers/heppner/numbers.json +39 -0
- package/dist/carriers/heppner/status.d.ts +28 -0
- package/dist/carriers/heppner/status.js +43 -0
- package/dist/carriers/heppner/statuses.json +69 -0
- package/dist/carriers/hermes/adapter.d.ts +17 -0
- package/dist/carriers/hermes/adapter.js +103 -0
- package/dist/carriers/hermes/carrier.json +58 -0
- package/dist/carriers/hermes/numbers.json +20 -0
- package/dist/carriers/hermes/status.d.ts +15 -0
- package/dist/carriers/hermes/status.js +61 -0
- package/dist/carriers/hermes/statuses.json +31 -0
- package/dist/carriers/hermes-de/adapter.d.ts +22 -0
- package/dist/carriers/hermes-de/adapter.js +168 -0
- package/dist/carriers/hermes-de/carrier.json +90 -0
- package/dist/carriers/hermes-de/numbers.json +125 -0
- package/dist/carriers/hermes-de/status.d.ts +24 -0
- package/dist/carriers/hermes-de/status.js +52 -0
- package/dist/carriers/hermes-de/statuses.json +277 -0
- package/dist/carriers/hongkong-post/carrier.json +38 -0
- package/dist/carriers/hongkong-post/numbers.json +32 -0
- package/dist/carriers/india-post/adapter.d.ts +33 -0
- package/dist/carriers/india-post/adapter.js +415 -0
- package/dist/carriers/india-post/carrier.json +74 -0
- package/dist/carriers/india-post/numbers.json +58 -0
- package/dist/carriers/india-post/status.d.ts +23 -0
- package/dist/carriers/india-post/status.js +99 -0
- package/dist/carriers/india-post/statuses.json +18 -0
- package/dist/carriers/inpost/adapter.d.ts +14 -0
- package/dist/carriers/inpost/adapter.js +143 -0
- package/dist/carriers/inpost/carrier.json +75 -0
- package/dist/carriers/inpost/numbers.json +130 -0
- package/dist/carriers/inpost/status.d.ts +16 -0
- package/dist/carriers/inpost/status.js +31 -0
- package/dist/carriers/inpost/statuses.json +26 -0
- package/dist/carriers/intl-post/carrier.json +46 -0
- package/dist/carriers/intl-post/numbers.json +29 -0
- package/dist/carriers/j-and-t/carrier.json +66 -0
- package/dist/carriers/j-and-t/numbers.json +90 -0
- package/dist/carriers/japan-post/adapter.d.ts +13 -0
- package/dist/carriers/japan-post/adapter.js +159 -0
- package/dist/carriers/japan-post/carrier.json +71 -0
- package/dist/carriers/japan-post/numbers.json +35 -0
- package/dist/carriers/japan-post/status.d.ts +2 -0
- package/dist/carriers/japan-post/status.js +25 -0
- package/dist/carriers/japan-post/statuses.json +136 -0
- package/dist/carriers/jd-logistics/carrier.json +37 -0
- package/dist/carriers/jd-logistics/numbers.json +19 -0
- package/dist/carriers/korea-post/adapter.d.ts +12 -0
- package/dist/carriers/korea-post/adapter.js +101 -0
- package/dist/carriers/korea-post/carrier.json +74 -0
- package/dist/carriers/korea-post/numbers.json +54 -0
- package/dist/carriers/korea-post/status.d.ts +2 -0
- package/dist/carriers/korea-post/status.js +19 -0
- package/dist/carriers/korea-post/statuses.json +103 -0
- package/dist/carriers/la-poste/adapter.d.ts +29 -0
- package/dist/carriers/la-poste/adapter.js +241 -0
- package/dist/carriers/la-poste/carrier.json +87 -0
- package/dist/carriers/la-poste/numbers.json +140 -0
- package/dist/carriers/la-poste/status.d.ts +30 -0
- package/dist/carriers/la-poste/status.js +110 -0
- package/dist/carriers/la-poste/statuses.json +163 -0
- package/dist/carriers/landmark-global/adapter.d.ts +11 -0
- package/dist/carriers/landmark-global/adapter.js +30 -0
- package/dist/carriers/landmark-global/carrier.json +64 -0
- package/dist/carriers/landmark-global/numbers.json +58 -0
- package/dist/carriers/landmark-global/parser.d.ts +3 -0
- package/dist/carriers/landmark-global/parser.js +78 -0
- package/dist/carriers/landmark-global/status.d.ts +2 -0
- package/dist/carriers/landmark-global/status.js +13 -0
- package/dist/carriers/landmark-global/statuses.json +125 -0
- package/dist/carriers/mondial-relay/adapter.d.ts +32 -0
- package/dist/carriers/mondial-relay/adapter.js +352 -0
- package/dist/carriers/mondial-relay/carrier.json +94 -0
- package/dist/carriers/mondial-relay/numbers.json +130 -0
- package/dist/carriers/mondial-relay/status.d.ts +31 -0
- package/dist/carriers/mondial-relay/status.js +98 -0
- package/dist/carriers/mondial-relay/statuses.json +50 -0
- package/dist/carriers/mrw/adapter.d.ts +13 -0
- package/dist/carriers/mrw/adapter.js +131 -0
- package/dist/carriers/mrw/carrier.json +60 -0
- package/dist/carriers/mrw/numbers.json +116 -0
- package/dist/carriers/mrw/parser.d.ts +12 -0
- package/dist/carriers/mrw/parser.js +149 -0
- package/dist/carriers/mrw/status.d.ts +2 -0
- package/dist/carriers/mrw/status.js +14 -0
- package/dist/carriers/mrw/statuses.json +13 -0
- package/dist/carriers/nacex/adapter.d.ts +11 -0
- package/dist/carriers/nacex/adapter.js +99 -0
- package/dist/carriers/nacex/carrier.json +78 -0
- package/dist/carriers/nacex/numbers.json +47 -0
- package/dist/carriers/nacex/parser.d.ts +4 -0
- package/dist/carriers/nacex/parser.js +119 -0
- package/dist/carriers/nacex/status.d.ts +2 -0
- package/dist/carriers/nacex/status.js +12 -0
- package/dist/carriers/nacex/statuses.json +11 -0
- package/dist/carriers/ninja-van/adapter.d.ts +11 -0
- package/dist/carriers/ninja-van/adapter.js +45 -0
- package/dist/carriers/ninja-van/carrier.json +79 -0
- package/dist/carriers/ninja-van/numbers.json +67 -0
- package/dist/carriers/ninja-van/parser.d.ts +5 -0
- package/dist/carriers/ninja-van/parser.js +95 -0
- package/dist/carriers/ninja-van/status.d.ts +3 -0
- package/dist/carriers/ninja-van/status.js +25 -0
- package/dist/carriers/ninja-van/statuses.json +11 -0
- package/dist/carriers/nz-post/adapter.d.ts +11 -0
- package/dist/carriers/nz-post/adapter.js +45 -0
- package/dist/carriers/nz-post/carrier.json +82 -0
- package/dist/carriers/nz-post/numbers.json +49 -0
- package/dist/carriers/nz-post/parser.d.ts +3 -0
- package/dist/carriers/nz-post/parser.js +97 -0
- package/dist/carriers/nz-post/status.d.ts +2 -0
- package/dist/carriers/nz-post/status.js +29 -0
- package/dist/carriers/nz-post/statuses.json +68 -0
- package/dist/carriers/old-dominion/carrier.json +51 -0
- package/dist/carriers/old-dominion/numbers.json +83 -0
- package/dist/carriers/ontrac/adapter.d.ts +11 -0
- package/dist/carriers/ontrac/adapter.js +34 -0
- package/dist/carriers/ontrac/carrier.json +81 -0
- package/dist/carriers/ontrac/numbers.json +214 -0
- package/dist/carriers/ontrac/parser.d.ts +3 -0
- package/dist/carriers/ontrac/parser.js +72 -0
- package/dist/carriers/ontrac/status.d.ts +2 -0
- package/dist/carriers/ontrac/status.js +19 -0
- package/dist/carriers/ontrac/statuses.json +61 -0
- package/dist/carriers/paack/adapter.d.ts +19 -0
- package/dist/carriers/paack/adapter.js +255 -0
- package/dist/carriers/paack/carrier.json +79 -0
- package/dist/carriers/paack/numbers.json +106 -0
- package/dist/carriers/paack/status.d.ts +26 -0
- package/dist/carriers/paack/status.js +82 -0
- package/dist/carriers/paack/statuses.json +357 -0
- package/dist/carriers/packeta/adapter.d.ts +15 -0
- package/dist/carriers/packeta/adapter.js +166 -0
- package/dist/carriers/packeta/carrier.json +90 -0
- package/dist/carriers/packeta/numbers.json +71 -0
- package/dist/carriers/packeta/status.d.ts +23 -0
- package/dist/carriers/packeta/status.js +40 -0
- package/dist/carriers/packeta/statuses.json +21 -0
- package/dist/carriers/parcelforce/carrier.json +47 -0
- package/dist/carriers/parcelforce/numbers.json +32 -0
- package/dist/carriers/planzer/adapter.d.ts +40 -0
- package/dist/carriers/planzer/adapter.js +148 -0
- package/dist/carriers/planzer/carrier.json +85 -0
- package/dist/carriers/planzer/numbers.json +118 -0
- package/dist/carriers/planzer/shared.d.ts +19 -0
- package/dist/carriers/planzer/shared.js +135 -0
- package/dist/carriers/planzer/status.d.ts +33 -0
- package/dist/carriers/planzer/status.js +89 -0
- package/dist/carriers/planzer/statuses.json +229 -0
- package/dist/carriers/poczta-polska/adapter.d.ts +15 -0
- package/dist/carriers/poczta-polska/adapter.js +65 -0
- package/dist/carriers/poczta-polska/carrier.json +79 -0
- package/dist/carriers/poczta-polska/numbers.json +130 -0
- package/dist/carriers/poczta-polska/parser.d.ts +3 -0
- package/dist/carriers/poczta-polska/parser.js +96 -0
- package/dist/carriers/poczta-polska/status.d.ts +2 -0
- package/dist/carriers/poczta-polska/status.js +21 -0
- package/dist/carriers/poczta-polska/statuses.json +47 -0
- package/dist/carriers/pos-malaysia/adapter.d.ts +18 -0
- package/dist/carriers/pos-malaysia/adapter.js +199 -0
- package/dist/carriers/pos-malaysia/carrier.json +78 -0
- package/dist/carriers/pos-malaysia/numbers.json +73 -0
- package/dist/carriers/pos-malaysia/status.d.ts +17 -0
- package/dist/carriers/pos-malaysia/status.js +21 -0
- package/dist/carriers/pos-malaysia/statuses.json +17 -0
- package/dist/carriers/poste-italiane/adapter.d.ts +15 -0
- package/dist/carriers/poste-italiane/adapter.js +211 -0
- package/dist/carriers/poste-italiane/carrier.json +86 -0
- package/dist/carriers/poste-italiane/numbers.json +117 -0
- package/dist/carriers/poste-italiane/status.d.ts +19 -0
- package/dist/carriers/poste-italiane/status.js +44 -0
- package/dist/carriers/poste-italiane/statuses.json +22 -0
- package/dist/carriers/posti/adapter.d.ts +17 -0
- package/dist/carriers/posti/adapter.js +195 -0
- package/dist/carriers/posti/carrier.json +69 -0
- package/dist/carriers/posti/numbers.json +52 -0
- package/dist/carriers/posti/status.d.ts +4 -0
- package/dist/carriers/posti/status.js +41 -0
- package/dist/carriers/posti/statuses.json +18 -0
- package/dist/carriers/postlogistics/adapter.d.ts +39 -0
- package/dist/carriers/postlogistics/adapter.js +162 -0
- package/dist/carriers/postlogistics/carrier.json +67 -0
- package/dist/carriers/postlogistics/number.d.ts +2 -0
- package/dist/carriers/postlogistics/number.js +7 -0
- package/dist/carriers/postlogistics/numbers.json +54 -0
- package/dist/carriers/postlogistics/status.d.ts +20 -0
- package/dist/carriers/postlogistics/status.js +12 -0
- package/dist/carriers/postlogistics/statuses.json +40 -0
- package/dist/carriers/postnord/adapter.d.ts +11 -0
- package/dist/carriers/postnord/adapter.js +76 -0
- package/dist/carriers/postnord/carrier.json +82 -0
- package/dist/carriers/postnord/numbers.json +66 -0
- package/dist/carriers/postnord/parser.d.ts +3 -0
- package/dist/carriers/postnord/parser.js +75 -0
- package/dist/carriers/postnord/status.d.ts +3 -0
- package/dist/carriers/postnord/status.js +38 -0
- package/dist/carriers/postnord/statuses.json +16 -0
- package/dist/carriers/purolator/adapter.d.ts +11 -0
- package/dist/carriers/purolator/adapter.js +45 -0
- package/dist/carriers/purolator/carrier.json +75 -0
- package/dist/carriers/purolator/numbers.json +146 -0
- package/dist/carriers/purolator/parser.d.ts +3 -0
- package/dist/carriers/purolator/parser.js +79 -0
- package/dist/carriers/purolator/status.d.ts +2 -0
- package/dist/carriers/purolator/status.js +17 -0
- package/dist/carriers/purolator/statuses.json +15 -0
- package/dist/carriers/quickpac/carrier.json +68 -0
- package/dist/carriers/quickpac/numbers.json +31 -0
- package/dist/carriers/quickpac/statuses.json +213 -0
- package/dist/carriers/relais-colis/adapter.d.ts +28 -0
- package/dist/carriers/relais-colis/adapter.js +242 -0
- package/dist/carriers/relais-colis/carrier.json +77 -0
- package/dist/carriers/relais-colis/numbers.json +64 -0
- package/dist/carriers/relais-colis/status.d.ts +26 -0
- package/dist/carriers/relais-colis/status.js +91 -0
- package/dist/carriers/relais-colis/statuses.json +341 -0
- package/dist/carriers/royal-mail/adapter.d.ts +32 -0
- package/dist/carriers/royal-mail/adapter.js +260 -0
- package/dist/carriers/royal-mail/carrier.json +60 -0
- package/dist/carriers/royal-mail/numbers.json +57 -0
- package/dist/carriers/royal-mail/status.d.ts +19 -0
- package/dist/carriers/royal-mail/status.js +80 -0
- package/dist/carriers/royal-mail/statuses.json +16 -0
- package/dist/carriers/seur/adapter.d.ts +11 -0
- package/dist/carriers/seur/adapter.js +35 -0
- package/dist/carriers/seur/carrier.json +89 -0
- package/dist/carriers/seur/numbers.json +80 -0
- package/dist/carriers/seur/parser.d.ts +3 -0
- package/dist/carriers/seur/parser.js +78 -0
- package/dist/carriers/seur/status.d.ts +2 -0
- package/dist/carriers/seur/status.js +14 -0
- package/dist/carriers/seur/statuses.json +47 -0
- package/dist/carriers/sf-express/adapter.d.ts +17 -0
- package/dist/carriers/sf-express/adapter.js +87 -0
- package/dist/carriers/sf-express/carrier.json +78 -0
- package/dist/carriers/sf-express/numbers.json +66 -0
- package/dist/carriers/sf-express/parser.d.ts +4 -0
- package/dist/carriers/sf-express/parser.js +102 -0
- package/dist/carriers/sf-express/status.d.ts +4 -0
- package/dist/carriers/sf-express/status.js +28 -0
- package/dist/carriers/sf-express/statuses.json +334 -0
- package/dist/carriers/shipup/carrier.json +28 -0
- package/dist/carriers/shipup/numbers.json +20 -0
- package/dist/carriers/singapore-post/adapter.d.ts +12 -0
- package/dist/carriers/singapore-post/adapter.js +106 -0
- package/dist/carriers/singapore-post/carrier.json +62 -0
- package/dist/carriers/singapore-post/numbers.json +77 -0
- package/dist/carriers/singapore-post/status.d.ts +2 -0
- package/dist/carriers/singapore-post/status.js +17 -0
- package/dist/carriers/singapore-post/statuses.json +101 -0
- package/dist/carriers/spee-dee/carrier.json +51 -0
- package/dist/carriers/spee-dee/numbers.json +55 -0
- package/dist/carriers/speedx/carrier.json +49 -0
- package/dist/carriers/speedx/numbers.json +112 -0
- package/dist/carriers/spring-gds/adapter.d.ts +35 -0
- package/dist/carriers/spring-gds/adapter.js +212 -0
- package/dist/carriers/spring-gds/carrier.json +90 -0
- package/dist/carriers/spring-gds/numbers.json +224 -0
- package/dist/carriers/spring-gds/status.d.ts +19 -0
- package/dist/carriers/spring-gds/status.js +28 -0
- package/dist/carriers/spring-gds/statuses.json +140 -0
- package/dist/carriers/sto/carrier.json +37 -0
- package/dist/carriers/sto/numbers.json +33 -0
- package/dist/carriers/sunyou/adapter.d.ts +18 -0
- package/dist/carriers/sunyou/adapter.js +156 -0
- package/dist/carriers/sunyou/carrier.json +64 -0
- package/dist/carriers/sunyou/numbers.json +44 -0
- package/dist/carriers/sunyou/status.d.ts +17 -0
- package/dist/carriers/sunyou/status.js +13 -0
- package/dist/carriers/sunyou/statuses.json +53 -0
- package/dist/carriers/swiss-post/adapter.d.ts +18 -0
- package/dist/carriers/swiss-post/adapter.js +282 -0
- package/dist/carriers/swiss-post/carrier.json +84 -0
- package/dist/carriers/swiss-post/numbers.json +55 -0
- package/dist/carriers/swiss-post/status.d.ts +27 -0
- package/dist/carriers/swiss-post/status.js +64 -0
- package/dist/carriers/swiss-post/statuses.json +33 -0
- package/dist/carriers/swiss-post-cargo/adapter.d.ts +19 -0
- package/dist/carriers/swiss-post-cargo/adapter.js +173 -0
- package/dist/carriers/swiss-post-cargo/carrier.json +60 -0
- package/dist/carriers/swiss-post-cargo/numbers.json +23 -0
- package/dist/carriers/swiss-post-cargo/reference.d.ts +13 -0
- package/dist/carriers/swiss-post-cargo/reference.js +48 -0
- package/dist/carriers/swiss-post-cargo/status.d.ts +13 -0
- package/dist/carriers/swiss-post-cargo/status.js +53 -0
- package/dist/carriers/swiss-post-cargo/statuses.json +19 -0
- package/dist/carriers/thailand-post/carrier.json +38 -0
- package/dist/carriers/thailand-post/numbers.json +33 -0
- package/dist/carriers/the-courier-guy/adapter.d.ts +11 -0
- package/dist/carriers/the-courier-guy/adapter.js +49 -0
- package/dist/carriers/the-courier-guy/carrier.json +73 -0
- package/dist/carriers/the-courier-guy/number.d.ts +3 -0
- package/dist/carriers/the-courier-guy/number.js +18 -0
- package/dist/carriers/the-courier-guy/numbers.json +74 -0
- package/dist/carriers/the-courier-guy/parser.d.ts +3 -0
- package/dist/carriers/the-courier-guy/parser.js +104 -0
- package/dist/carriers/the-courier-guy/status.d.ts +5 -0
- package/dist/carriers/the-courier-guy/status.js +21 -0
- package/dist/carriers/the-courier-guy/statuses.json +61 -0
- package/dist/carriers/tipsa/adapter.d.ts +12 -0
- package/dist/carriers/tipsa/adapter.js +52 -0
- package/dist/carriers/tipsa/carrier.json +92 -0
- package/dist/carriers/tipsa/numbers.json +100 -0
- package/dist/carriers/tipsa/parser.d.ts +17 -0
- package/dist/carriers/tipsa/parser.js +114 -0
- package/dist/carriers/tipsa/status.d.ts +3 -0
- package/dist/carriers/tipsa/status.js +25 -0
- package/dist/carriers/tipsa/statuses.json +12 -0
- package/dist/carriers/tnt/adapter.d.ts +23 -0
- package/dist/carriers/tnt/adapter.js +210 -0
- package/dist/carriers/tnt/carrier.json +66 -0
- package/dist/carriers/tnt/numbers.json +116 -0
- package/dist/carriers/tnt/status.d.ts +3 -0
- package/dist/carriers/tnt/status.js +35 -0
- package/dist/carriers/tnt/statuses.json +126 -0
- package/dist/carriers/ukrposhta/adapter.d.ts +13 -0
- package/dist/carriers/ukrposhta/adapter.js +152 -0
- package/dist/carriers/ukrposhta/carrier.json +62 -0
- package/dist/carriers/ukrposhta/numbers.json +53 -0
- package/dist/carriers/ukrposhta/parser.d.ts +15 -0
- package/dist/carriers/ukrposhta/parser.js +130 -0
- package/dist/carriers/ukrposhta/status.d.ts +3 -0
- package/dist/carriers/ukrposhta/status.js +34 -0
- package/dist/carriers/ukrposhta/statuses.json +208 -0
- package/dist/carriers/uniuni/adapter.d.ts +11 -0
- package/dist/carriers/uniuni/adapter.js +48 -0
- package/dist/carriers/uniuni/carrier.json +90 -0
- package/dist/carriers/uniuni/numbers.json +72 -0
- package/dist/carriers/uniuni/parser.d.ts +5 -0
- package/dist/carriers/uniuni/parser.js +114 -0
- package/dist/carriers/uniuni/status.d.ts +2 -0
- package/dist/carriers/uniuni/status.js +16 -0
- package/dist/carriers/uniuni/statuses.json +54 -0
- package/dist/carriers/unknown/carrier.json +57 -0
- package/dist/carriers/unknown/numbers.json +257 -0
- package/dist/carriers/ups/adapter.d.ts +40 -0
- package/dist/carriers/ups/adapter.js +473 -0
- package/dist/carriers/ups/carrier.json +69 -0
- package/dist/carriers/ups/numbers.json +134 -0
- package/dist/carriers/ups/status.d.ts +25 -0
- package/dist/carriers/ups/status.js +41 -0
- package/dist/carriers/ups/statuses.json +35 -0
- package/dist/carriers/usps/adapter.d.ts +25 -0
- package/dist/carriers/usps/adapter.js +261 -0
- package/dist/carriers/usps/carrier.json +74 -0
- package/dist/carriers/usps/numbers.json +286 -0
- package/dist/carriers/usps/status.d.ts +25 -0
- package/dist/carriers/usps/status.js +72 -0
- package/dist/carriers/usps/statuses.json +24 -0
- package/dist/carriers/yamato/adapter.d.ts +13 -0
- package/dist/carriers/yamato/adapter.js +130 -0
- package/dist/carriers/yamato/carrier.json +72 -0
- package/dist/carriers/yamato/numbers.json +57 -0
- package/dist/carriers/yamato/status.d.ts +2 -0
- package/dist/carriers/yamato/status.js +27 -0
- package/dist/carriers/yamato/statuses.json +159 -0
- package/dist/carriers/yanwen/adapter.d.ts +13 -0
- package/dist/carriers/yanwen/adapter.js +130 -0
- package/dist/carriers/yanwen/carrier.json +66 -0
- package/dist/carriers/yanwen/numbers.json +45 -0
- package/dist/carriers/yanwen/status.d.ts +2 -0
- package/dist/carriers/yanwen/status.js +25 -0
- package/dist/carriers/yanwen/statuses.json +131 -0
- package/dist/carriers/yto/adapter.d.ts +11 -0
- package/dist/carriers/yto/adapter.js +36 -0
- package/dist/carriers/yto/carrier.json +75 -0
- package/dist/carriers/yto/numbers.json +33 -0
- package/dist/carriers/yto/parser.d.ts +3 -0
- package/dist/carriers/yto/parser.js +92 -0
- package/dist/carriers/yto/status.d.ts +10 -0
- package/dist/carriers/yto/status.js +46 -0
- package/dist/carriers/yto/statuses.json +206 -0
- package/dist/carriers/yunda/adapter.d.ts +11 -0
- package/dist/carriers/yunda/adapter.js +68 -0
- package/dist/carriers/yunda/carrier.json +69 -0
- package/dist/carriers/yunda/challenge.d.ts +5 -0
- package/dist/carriers/yunda/challenge.js +68 -0
- package/dist/carriers/yunda/numbers.json +43 -0
- package/dist/carriers/yunda/parser.d.ts +4 -0
- package/dist/carriers/yunda/parser.js +105 -0
- package/dist/carriers/yunda/status.d.ts +4 -0
- package/dist/carriers/yunda/status.js +9 -0
- package/dist/carriers/yunda/statuses.json +40 -0
- package/dist/carriers/yunexpress/adapter.d.ts +20 -0
- package/dist/carriers/yunexpress/adapter.js +240 -0
- package/dist/carriers/yunexpress/carrier.json +69 -0
- package/dist/carriers/yunexpress/numbers.json +32 -0
- package/dist/carriers/yunexpress/status.d.ts +2 -0
- package/dist/carriers/yunexpress/status.js +23 -0
- package/dist/carriers/yunexpress/statuses.json +112 -0
- package/dist/carriers/zto/carrier.json +37 -0
- package/dist/carriers/zto/numbers.json +30 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +82 -0
- package/dist/core/adapter/index.d.ts +90 -0
- package/dist/core/adapter/index.js +103 -0
- package/dist/core/adapter/track.d.ts +10 -0
- package/dist/core/adapter/track.js +20 -0
- package/dist/core/catalog/amazon.d.ts +5 -0
- package/dist/core/catalog/amazon.js +33 -0
- package/dist/core/catalog/definitions.d.ts +24 -0
- package/dist/core/catalog/definitions.js +44 -0
- package/dist/core/catalog/handoff.d.ts +9 -0
- package/dist/core/catalog/handoff.js +56 -0
- package/dist/core/catalog/hints.d.ts +45 -0
- package/dist/core/catalog/hints.js +162 -0
- package/dist/core/catalog/index.d.ts +38 -0
- package/dist/core/catalog/index.js +223 -0
- package/dist/core/catalog/inputs.d.ts +6 -0
- package/dist/core/catalog/inputs.js +89 -0
- package/dist/core/catalog/linkRules.d.ts +24 -0
- package/dist/core/catalog/linkRules.js +20 -0
- package/dist/core/catalog/networks.d.ts +9 -0
- package/dist/core/catalog/networks.js +13 -0
- package/dist/core/catalog/recognition.d.ts +22 -0
- package/dist/core/catalog/recognition.js +52 -0
- package/dist/core/catalog/types.d.ts +135 -0
- package/dist/core/catalog/types.js +1 -0
- package/dist/core/catalog/urls.d.ts +2 -0
- package/dist/core/catalog/urls.js +125 -0
- package/dist/core/detection/amazon.d.ts +2 -0
- package/dist/core/detection/amazon.js +14 -0
- package/dist/core/detection/candidates.d.ts +5 -0
- package/dist/core/detection/candidates.js +41 -0
- package/dist/core/detection/detect.d.ts +17 -0
- package/dist/core/detection/detect.js +52 -0
- package/dist/core/detection/gls.d.ts +16 -0
- package/dist/core/detection/gls.js +21 -0
- package/dist/core/detection/hermes.d.ts +14 -0
- package/dist/core/detection/hermes.js +19 -0
- package/dist/core/detection/index.d.ts +19 -0
- package/dist/core/detection/index.js +9 -0
- package/dist/core/detection/mondialRelay.d.ts +13 -0
- package/dist/core/detection/mondialRelay.js +25 -0
- package/dist/core/detection/normalize.d.ts +15 -0
- package/dist/core/detection/normalize.js +39 -0
- package/dist/core/detection/parse.d.ts +6 -0
- package/dist/core/detection/parse.js +112 -0
- package/dist/core/detection/s10.d.ts +4 -0
- package/dist/core/detection/s10.js +25 -0
- package/dist/core/detection/types.d.ts +22 -0
- package/dist/core/detection/types.js +1 -0
- package/dist/core/errors/hint.d.ts +7 -0
- package/dist/core/errors/hint.js +7 -0
- package/dist/core/errors/index.d.ts +98 -0
- package/dist/core/errors/index.js +178 -0
- package/dist/core/recognition/index.d.ts +24 -0
- package/dist/core/recognition/index.js +65 -0
- package/dist/core/result/index.d.ts +57 -0
- package/dist/core/result/index.js +114 -0
- package/dist/core/result/resolve.d.ts +18 -0
- package/dist/core/result/resolve.js +49 -0
- package/dist/core/runner/index.d.ts +33 -0
- package/dist/core/runner/index.js +109 -0
- package/dist/core/status/index.d.ts +22 -0
- package/dist/core/status/index.js +3 -0
- package/dist/core/status/language.d.ts +11 -0
- package/dist/core/status/language.js +149 -0
- package/dist/core/status/wording.d.ts +25 -0
- package/dist/core/status/wording.js +91 -0
- package/dist/core/telemetry/index.d.ts +62 -0
- package/dist/core/telemetry/index.js +55 -0
- package/dist/core/time/index.d.ts +84 -0
- package/dist/core/time/index.js +243 -0
- package/dist/core/time/result.d.ts +5 -0
- package/dist/core/time/result.js +55 -0
- package/dist/core/transport/boundedFetch.d.ts +26 -0
- package/dist/core/transport/boundedFetch.js +152 -0
- package/dist/core/transport/browser.d.ts +14 -0
- package/dist/core/transport/browser.js +113 -0
- package/dist/core/transport/index.d.ts +8 -0
- package/dist/core/transport/index.js +5 -0
- package/dist/core/transport/optional.d.ts +2 -0
- package/dist/core/transport/optional.js +17 -0
- package/dist/core/transport/text.d.ts +8 -0
- package/dist/core/transport/text.js +18 -0
- package/dist/core/transport/trawl.d.ts +80 -0
- package/dist/core/transport/trawl.js +212 -0
- package/dist/core/transport/upstreamHttpDiagnostics.d.ts +16 -0
- package/dist/core/transport/upstreamHttpDiagnostics.js +97 -0
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.js +11 -0
- package/dist/data/catalog.json +3969 -0
- package/dist/facade/index.d.ts +57 -0
- package/dist/facade/index.js +195 -0
- package/dist/generated/catalog.d.ts +2671 -0
- package/dist/generated/catalog.js +4090 -0
- package/dist/generated/recognition.d.ts +2 -0
- package/dist/generated/recognition.js +31 -0
- package/dist/generated/regionTowns.d.ts +2 -0
- package/dist/generated/regionTowns.js +11 -0
- package/dist/generated/registry.d.ts +4 -0
- package/dist/generated/registry.js +286 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +18 -0
- package/dist/node.d.ts +11 -0
- package/dist/node.js +11 -0
- package/dist/places/countries.json +1670 -0
- package/dist/places/facilities.json +11 -0
- package/dist/places/index.d.ts +42 -0
- package/dist/places/index.js +307 -0
- package/dist/places/names.d.mts +15 -0
- package/dist/places/names.mjs +36 -0
- package/dist/places/places.tsv.br +0 -0
- package/dist/places/trackingLocation.d.ts +18 -0
- package/dist/places/trackingLocation.js +89 -0
- package/dist/providers/coverage.d.ts +31 -0
- package/dist/providers/coverage.js +70 -0
- package/dist/providers/coverage.json +1744 -0
- package/dist/providers/parcelsapp/adapter.d.ts +23 -0
- package/dist/providers/parcelsapp/adapter.js +391 -0
- package/dist/providers/parcelsapp/http.d.ts +9 -0
- package/dist/providers/parcelsapp/http.js +67 -0
- package/dist/providers/plan.d.ts +38 -0
- package/dist/providers/plan.js +54 -0
- package/dist/providers/postal-ninja/adapter.d.ts +17 -0
- package/dist/providers/postal-ninja/adapter.js +200 -0
- package/dist/providers/seventeentrack/adapter.d.ts +50 -0
- package/dist/providers/seventeentrack/adapter.js +165 -0
- package/dist/providers/seventeentrack/events.d.ts +4 -0
- package/dist/providers/seventeentrack/events.js +56 -0
- package/dist/providers/shared/capture.d.ts +46 -0
- package/dist/providers/shared/capture.js +92 -0
- package/dist/providers/shared/hints.d.ts +16 -0
- package/dist/providers/shared/hints.js +37 -0
- package/dist/providers/shared/result.d.ts +15 -0
- package/dist/providers/shared/result.js +161 -0
- package/dist/providers/shared/scans.d.ts +22 -0
- package/dist/providers/shared/scans.js +29 -0
- package/dist/providers/ship24/adapter.d.ts +17 -0
- package/dist/providers/ship24/adapter.js +140 -0
- package/dist/providers/ship24/http.d.ts +7 -0
- package/dist/providers/ship24/http.js +75 -0
- package/dist/providers/types.d.ts +1 -0
- package/dist/providers/types.js +1 -0
- package/dist/providers/universal.d.ts +66 -0
- package/dist/providers/universal.js +95 -0
- package/dist/providers/upu/adapter.d.ts +5 -0
- package/dist/providers/upu/adapter.js +107 -0
- package/dist/scripts/canary-report.d.mts +22 -0
- package/dist/scripts/canary-report.mjs +69 -0
- package/dist/scripts/carrier-canary.d.ts +50 -0
- package/dist/scripts/carrier-canary.js +220 -0
- package/dist/server/index.d.ts +20 -0
- package/dist/server/index.js +226 -0
- package/dist/server/openapi.json +487 -0
- package/dist/server/page.d.ts +1 -0
- package/dist/server/page.js +33 -0
- package/package.json +102 -4
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"carrier": "gls-ch",
|
|
3
|
+
"entries": [
|
|
4
|
+
{ "code": "PREADVICE", "stage": "registered", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Data entered, parcel not yet with GLS." },
|
|
5
|
+
{ "code": "PLANNEDPICKUP", "stage": "registered", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
6
|
+
{ "code": "NOTPICKEDUP", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Uncollected; reported as status 'exception'." },
|
|
7
|
+
{ "code": "INPICKUP", "stage": "accepted", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
8
|
+
{ "code": "INTRANSIT", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
9
|
+
{ "code": "INWAREHOUSE", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Final parcel center." },
|
|
10
|
+
{ "code": "INDELIVERY", "stage": "out_for_delivery", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
11
|
+
{ "code": "DELIVERED", "wording": "The parcel has been delivered.", "language": "en", "stage": "delivered", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
12
|
+
{ "code": "DELIVEREDPS", "wording": "The parcel is ready for collection at the ParcelShop.", "language": "en", "stage": "ready_for_pickup", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "ParcelShop/locker arrival. GLS labels it 'delivered'; the recipient does not have it yet, so it is reported as status 'out_for_delivery'." },
|
|
13
|
+
{ "code": "NOTDELIVERED", "stage": "failed_attempt", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
14
|
+
{ "code": "RETURNED", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
15
|
+
{ "code": "CANCELED", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Both spellings appear." },
|
|
16
|
+
{ "code": "CANCELLED", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Both spellings appear." },
|
|
17
|
+
{ "code": "FINAL", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
18
|
+
{ "code": "NORECORD", "stage": "pending", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Reported as status 'unknown'." },
|
|
19
|
+
{ "wording": "The parcel has not been handed over to GLS.", "language": "en", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Deliberately unmapped: a negative handoff does not prove GLS possession. Reported as status 'unknown' with stage in_transit." },
|
|
20
|
+
{ "wording": "The parcel was handed over to GLS.", "language": "en", "stage": "accepted", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule for rows with no status code." },
|
|
21
|
+
{ "wording": "The parcel data was entered into the GLS IT system…", "language": "en", "stage": "registered", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule; contains 'not yet handed over to GLS' and must not read as a handoff." },
|
|
22
|
+
{ "wording": "The parcel was released by customs.", "language": "en", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Release is completion, not active clearance." },
|
|
23
|
+
{ "wording": "The parcel has not been released by customs.", "language": "en", "stage": "customs", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Negated release stays in customs." },
|
|
24
|
+
{ "wording": "Customs Consignment via Customs Portal", "language": "en", "stage": "customs", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
25
|
+
{ "wording": "The parcel has reached / left the parcel center; depot", "language": "en", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule." },
|
|
26
|
+
{ "wording": "The parcel is in delivery.", "language": "en", "stage": "out_for_delivery", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule." },
|
|
27
|
+
{ "wording": "ready for pickup / parcelshop / locker", "language": "en", "stage": "ready_for_pickup", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Wording rule." },
|
|
28
|
+
{ "wording": "returned to sender / cancelled / delivery failed / not delivered", "language": "en", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Returns take 'returned'; the other phrases take 'failed_attempt'. Checked before the broad 'delivered' word." },
|
|
29
|
+
{ "wording": "any other wording", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Falls through to the package's shared multilingual classifier (core/status); if that also declines, the row is reported as status 'unknown' with stage in_transit and recorded for review." }
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AdapterFactory } from '../../core/adapter/index.js';
|
|
2
|
+
import { NotFoundError } from '../../core/errors/index.js';
|
|
3
|
+
import type { CarrierResult } from '../../core/result/index.js';
|
|
4
|
+
export interface GLSGermanyOptions {
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
now?: () => number;
|
|
7
|
+
/** Test seam; production uses the global fetch. */
|
|
8
|
+
fetcher?: typeof fetch;
|
|
9
|
+
}
|
|
10
|
+
/** Kept as a named class: the host's grouped live suite asserts this error's name. */
|
|
11
|
+
export declare class GLSGermanyTrackingError extends NotFoundError {
|
|
12
|
+
constructor();
|
|
13
|
+
}
|
|
14
|
+
export declare class GLSGermanyTracker {
|
|
15
|
+
#private;
|
|
16
|
+
readonly timeoutMs: number;
|
|
17
|
+
readonly now: () => number;
|
|
18
|
+
constructor(options?: number | GLSGermanyOptions);
|
|
19
|
+
fetch(rawTrackingNumber: string, rawPostcode: string): Promise<CarrierResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Whether GLS Germany itself recognizes an ambiguous numeric shape. Used by
|
|
22
|
+
* the host's carrier-detection route, which promotes a number to `gls-de`
|
|
23
|
+
* only after this returns true; a provider failure must stay a failure.
|
|
24
|
+
*/
|
|
25
|
+
recognizes(rawTrackingNumber: string): Promise<boolean>;
|
|
26
|
+
private request;
|
|
27
|
+
}
|
|
28
|
+
export declare const adapter: AdapterFactory;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { NotFoundError, SchemaError, UpstreamHttpError } from '../../core/errors/index.js';
|
|
2
|
+
import { fetchBounded, parseJsonBytes } from '../../core/transport/index.js';
|
|
3
|
+
import { isRecord } from '../../core/types.js';
|
|
4
|
+
import { glsSwitzerlandDetailApiUrl, glsDeliveryReference, glsSwitzerlandOverviewApiUrl, GLSSwitzerlandTrackingError, normalizeGLSSwitzerlandPostcode, normalizeGLSSwitzerlandTrackingNumber, parseGLSSwitzerlandTrackingResponse, selectGLSParcel, } from '../gls-ch/adapter.js';
|
|
5
|
+
// GLS's GROUP recipient service covers German and Swiss parcels. Keep the
|
|
6
|
+
// shared response parser; the delivery postcode can be Swiss or German.
|
|
7
|
+
const PROVIDER = 'GLS Germany tracking';
|
|
8
|
+
const CARRIER = 'GLS Germany';
|
|
9
|
+
const DEFAULT_TIMEOUT_MS = 15_000;
|
|
10
|
+
/** Kept as a named class: the host's grouped live suite asserts this error's name. */
|
|
11
|
+
export class GLSGermanyTrackingError extends NotFoundError {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(CARRIER);
|
|
14
|
+
this.name = 'GLSGermanyTrackingError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class GLSGermanyTracker {
|
|
18
|
+
timeoutMs;
|
|
19
|
+
now;
|
|
20
|
+
#fetcher;
|
|
21
|
+
constructor(options = {}) {
|
|
22
|
+
const { timeoutMs = DEFAULT_TIMEOUT_MS, now = Date.now, fetcher } = typeof options === 'number'
|
|
23
|
+
? { timeoutMs: options, now: Date.now, fetcher: undefined }
|
|
24
|
+
: options;
|
|
25
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0)
|
|
26
|
+
throw new TypeError('GLS Germany timeout must be positive');
|
|
27
|
+
this.timeoutMs = timeoutMs;
|
|
28
|
+
this.now = now;
|
|
29
|
+
this.#fetcher = fetcher;
|
|
30
|
+
}
|
|
31
|
+
async fetch(rawTrackingNumber, rawPostcode) {
|
|
32
|
+
const number = normalizeGLSSwitzerlandTrackingNumber(rawTrackingNumber);
|
|
33
|
+
const postcode = normalizeGLSSwitzerlandPostcode(rawPostcode, '4,5');
|
|
34
|
+
const overview = await this.request(glsSwitzerlandOverviewApiUrl(number, this.now()));
|
|
35
|
+
// Validate the overview identity before resolving a Track ID to a parcel number.
|
|
36
|
+
try {
|
|
37
|
+
parseGLSSwitzerlandTrackingResponse(overview, number);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (error instanceof GLSSwitzerlandTrackingError)
|
|
41
|
+
throw new GLSGermanyTrackingError();
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
if (!isRecord(overview) || !Array.isArray(overview.tuStatus)) {
|
|
45
|
+
throw new SchemaError(CARRIER, 'GLS Germany returned an invalid overview');
|
|
46
|
+
}
|
|
47
|
+
const parcel = selectGLSParcel(overview, number);
|
|
48
|
+
if (!parcel || !/^\d{11,14}$/.test(String(parcel.tuNo))) {
|
|
49
|
+
throw new SchemaError(CARRIER, 'GLS Germany did not return a numeric parcel number');
|
|
50
|
+
}
|
|
51
|
+
const owners = Array.isArray(parcel.owners) ? parcel.owners.filter(isRecord) : [];
|
|
52
|
+
const owner = owners.find((row) => row.type === 'REQUEST');
|
|
53
|
+
const detail = await this.request(glsSwitzerlandDetailApiUrl(String(parcel.tuNo), postcode, this.now(), String(owner?.code ?? ''), '4,5'));
|
|
54
|
+
try {
|
|
55
|
+
const result = parseGLSSwitzerlandTrackingResponse(detail, String(parcel.tuNo));
|
|
56
|
+
// Both services use CET/CEST; expose the regional timezone to clients.
|
|
57
|
+
return { ...result, ...glsDeliveryReference(parseGLSSwitzerlandTrackingResponse(overview, number)), timezone: 'Europe/Berlin' };
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof GLSSwitzerlandTrackingError)
|
|
61
|
+
throw new GLSGermanyTrackingError();
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Whether GLS Germany itself recognizes an ambiguous numeric shape. Used by
|
|
67
|
+
* the host's carrier-detection route, which promotes a number to `gls-de`
|
|
68
|
+
* only after this returns true; a provider failure must stay a failure.
|
|
69
|
+
*/
|
|
70
|
+
async recognizes(rawTrackingNumber) {
|
|
71
|
+
const number = normalizeGLSSwitzerlandTrackingNumber(rawTrackingNumber);
|
|
72
|
+
try {
|
|
73
|
+
const url = glsSwitzerlandOverviewApiUrl(number, this.now()).replace('/GROUP/en/', '/DE/en/');
|
|
74
|
+
const overview = await this.request(url);
|
|
75
|
+
const result = parseGLSSwitzerlandTrackingResponse(overview, number);
|
|
76
|
+
return result.status !== 'unknown';
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (error instanceof GLSGermanyTrackingError || error instanceof GLSSwitzerlandTrackingError)
|
|
80
|
+
return false;
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async request(url) {
|
|
85
|
+
const { response, bytes } = await fetchBounded(url, {
|
|
86
|
+
headers: { Accept: 'application/json', Referer: 'https://gls-group.eu/EU/en/parcel-tracking' },
|
|
87
|
+
}, {
|
|
88
|
+
provider: PROVIDER,
|
|
89
|
+
timeoutMs: this.timeoutMs,
|
|
90
|
+
maxBytes: 1_000_000,
|
|
91
|
+
allowHttpError: true,
|
|
92
|
+
...(this.#fetcher ? { fetcher: this.#fetcher } : {}),
|
|
93
|
+
});
|
|
94
|
+
// A challenge, invalid postcode, rate limit or outage must not become "not found".
|
|
95
|
+
if (response.status === 404) {
|
|
96
|
+
const payload = parseJsonBytes(bytes, PROVIDER);
|
|
97
|
+
if (isRecord(payload) && payload.lastError === 'E000')
|
|
98
|
+
throw new GLSGermanyTrackingError();
|
|
99
|
+
}
|
|
100
|
+
if (!response.ok)
|
|
101
|
+
throw new UpstreamHttpError(PROVIDER, response.status);
|
|
102
|
+
return parseJsonBytes(bytes, PROVIDER);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export const adapter = (environment) => {
|
|
106
|
+
const tracker = new GLSGermanyTracker({ fetcher: environment.fetcher });
|
|
107
|
+
return {
|
|
108
|
+
id: 'gls-de',
|
|
109
|
+
steps: ['direct'],
|
|
110
|
+
track: (input) => tracker.fetch(input.number, input.postcode ?? ''),
|
|
111
|
+
recognize: async (number) => ({ known: await tracker.recognizes(number) }),
|
|
112
|
+
};
|
|
113
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "gls-de",
|
|
3
|
+
"displayName": "GLS Germany",
|
|
4
|
+
"aliases": [
|
|
5
|
+
"General Logistics Systems",
|
|
6
|
+
"GLS Group"
|
|
7
|
+
],
|
|
8
|
+
"region": {
|
|
9
|
+
"countries": [
|
|
10
|
+
"DE"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"brand": {
|
|
14
|
+
"color": "#ffdd00"
|
|
15
|
+
},
|
|
16
|
+
"selectable": true,
|
|
17
|
+
"timezone": "Europe/Berlin",
|
|
18
|
+
"tracking": {
|
|
19
|
+
"mode": "automatic",
|
|
20
|
+
"adapter": "gls-de",
|
|
21
|
+
"requirements": [
|
|
22
|
+
{
|
|
23
|
+
"field": "dpdPostcode",
|
|
24
|
+
"validator": "swissOrFrancePostcode",
|
|
25
|
+
"label": "Delivery postcode",
|
|
26
|
+
"type": "text",
|
|
27
|
+
"placeholder": "10115",
|
|
28
|
+
"help": "GLS requires the four- or five-digit delivery postcode to show the detailed event history.",
|
|
29
|
+
"pattern": "^[0-9]{4,5}$",
|
|
30
|
+
"maxLength": 5,
|
|
31
|
+
"inputMode": "numeric",
|
|
32
|
+
"autoComplete": "postal-code"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"steps": [
|
|
36
|
+
"direct"
|
|
37
|
+
],
|
|
38
|
+
"recognition": {
|
|
39
|
+
"rank": 50
|
|
40
|
+
},
|
|
41
|
+
"refresh": {
|
|
42
|
+
"minMinutes": 60,
|
|
43
|
+
"afterFailureMinutes": 240
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"capabilities": [
|
|
47
|
+
"history",
|
|
48
|
+
"location",
|
|
49
|
+
"eta",
|
|
50
|
+
"pickup_point",
|
|
51
|
+
"weight",
|
|
52
|
+
"delivered_at",
|
|
53
|
+
"provider_code"
|
|
54
|
+
],
|
|
55
|
+
"portal": {
|
|
56
|
+
"url": "https://gls-group.eu/DE/de/paketverfolgung?match={trackingNumber}",
|
|
57
|
+
"canaryUrl": "https://gls-group.eu/EU/en/parcel-tracking",
|
|
58
|
+
"shows": [
|
|
59
|
+
"status",
|
|
60
|
+
"history",
|
|
61
|
+
"location",
|
|
62
|
+
"eta",
|
|
63
|
+
"pickup_point",
|
|
64
|
+
"weight",
|
|
65
|
+
"recipient_name",
|
|
66
|
+
"recipient_address",
|
|
67
|
+
"recipient_contact",
|
|
68
|
+
"signature",
|
|
69
|
+
"customer_reference"
|
|
70
|
+
],
|
|
71
|
+
"scraped": [
|
|
72
|
+
"status",
|
|
73
|
+
"history",
|
|
74
|
+
"location",
|
|
75
|
+
"eta",
|
|
76
|
+
"pickup_point",
|
|
77
|
+
"weight",
|
|
78
|
+
"delivered_at",
|
|
79
|
+
"provider_code"
|
|
80
|
+
],
|
|
81
|
+
"discarded": [
|
|
82
|
+
"recipient_name",
|
|
83
|
+
"recipient_address",
|
|
84
|
+
"recipient_contact",
|
|
85
|
+
"signature",
|
|
86
|
+
"customer_reference"
|
|
87
|
+
],
|
|
88
|
+
"unavailable": []
|
|
89
|
+
},
|
|
90
|
+
"links": [
|
|
91
|
+
{
|
|
92
|
+
"domains": [
|
|
93
|
+
"gls-group.eu",
|
|
94
|
+
"gls-group.com"
|
|
95
|
+
],
|
|
96
|
+
"pathPattern": "^/DE/",
|
|
97
|
+
"params": [
|
|
98
|
+
"match",
|
|
99
|
+
"parcelNumber",
|
|
100
|
+
"matchParcelNumber"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"domains": [
|
|
105
|
+
"gls-pakete.de"
|
|
106
|
+
],
|
|
107
|
+
"params": [
|
|
108
|
+
"match",
|
|
109
|
+
"trackingNumber"
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"detection": [
|
|
114
|
+
{
|
|
115
|
+
"id": "gls-de-1",
|
|
116
|
+
"pattern": "^(?:(?=[A-Z0-9]{8}$)(?=.*[A-Z])(?=.*\\d)[A-Z0-9]{8}|\\d{11})$",
|
|
117
|
+
"confidence": "low"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "gls-de-2",
|
|
121
|
+
"pattern": "^\\d{12}$",
|
|
122
|
+
"confidence": "low",
|
|
123
|
+
"checksum": "gls"
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"carrier": "gls-de",
|
|
3
|
+
"records": [
|
|
4
|
+
{
|
|
5
|
+
"number": "10272483975",
|
|
6
|
+
"role": "shipment",
|
|
7
|
+
"evidence": "public_shipment_report",
|
|
8
|
+
"source": {
|
|
9
|
+
"url": "https://www.paketda.de/fragen-antworten.php?suche_carrier=gls"
|
|
10
|
+
},
|
|
11
|
+
"expect": {
|
|
12
|
+
"carrier": "unknown",
|
|
13
|
+
"confidence": "low",
|
|
14
|
+
"candidates": [
|
|
15
|
+
"postlogistics",
|
|
16
|
+
"gls-ch",
|
|
17
|
+
"gls-fr",
|
|
18
|
+
"gls-de",
|
|
19
|
+
"blue-dart",
|
|
20
|
+
"aramex"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to GLS Germany, which stays one candidate among several."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"number": "123456789011",
|
|
27
|
+
"role": "shipment",
|
|
28
|
+
"evidence": "synthetic",
|
|
29
|
+
"derivedFrom": "invented",
|
|
30
|
+
"shapeConfirmed": "2026-09-12",
|
|
31
|
+
"expect": {
|
|
32
|
+
"carrier": "unknown",
|
|
33
|
+
"confidence": "low",
|
|
34
|
+
"candidates": [
|
|
35
|
+
"fedex",
|
|
36
|
+
"gls-ch",
|
|
37
|
+
"dpd-fr",
|
|
38
|
+
"mondial-relay",
|
|
39
|
+
"gls-fr",
|
|
40
|
+
"colis-prive",
|
|
41
|
+
"gls-de",
|
|
42
|
+
"mrw",
|
|
43
|
+
"purolator",
|
|
44
|
+
"sf-express",
|
|
45
|
+
"sto",
|
|
46
|
+
"zto",
|
|
47
|
+
"yamato",
|
|
48
|
+
"j-and-t"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"note": "Invented 12-digit placeholder with a valid GLS check digit; the route only resolves it after a verified GLS lookup. Filed under GLS Germany, which stays one candidate among several."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"number": "28286849236",
|
|
55
|
+
"role": "shipment",
|
|
56
|
+
"evidence": "public_shipment_report",
|
|
57
|
+
"source": {
|
|
58
|
+
"url": "https://www.paketda.de/fragen-antworten.php?suche_carrier=gls"
|
|
59
|
+
},
|
|
60
|
+
"expect": {
|
|
61
|
+
"carrier": "unknown",
|
|
62
|
+
"confidence": "low",
|
|
63
|
+
"candidates": [
|
|
64
|
+
"postlogistics",
|
|
65
|
+
"gls-ch",
|
|
66
|
+
"gls-fr",
|
|
67
|
+
"gls-de",
|
|
68
|
+
"blue-dart",
|
|
69
|
+
"aramex"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to GLS, which stays one candidate among several."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"number": "YVMNN4RO",
|
|
76
|
+
"role": "shipment",
|
|
77
|
+
"evidence": "public_shipment_report",
|
|
78
|
+
"source": {
|
|
79
|
+
"url": "https://www.paketda.de/fragen-antworten.php?suche=YVMNN4RO"
|
|
80
|
+
},
|
|
81
|
+
"expect": {
|
|
82
|
+
"carrier": "unknown",
|
|
83
|
+
"confidence": "low",
|
|
84
|
+
"candidates": [
|
|
85
|
+
"gls-ch",
|
|
86
|
+
"gls-fr",
|
|
87
|
+
"gls-de"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to GLS, which stays one candidate among several."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"number": "Z6E5E29R",
|
|
94
|
+
"role": "shipment",
|
|
95
|
+
"evidence": "public_shipment_report",
|
|
96
|
+
"source": {
|
|
97
|
+
"url": "https://www.paketda.de/fragen-antworten.php?suche_carrier=gls"
|
|
98
|
+
},
|
|
99
|
+
"expect": {
|
|
100
|
+
"carrier": "unknown",
|
|
101
|
+
"confidence": "low",
|
|
102
|
+
"candidates": [
|
|
103
|
+
"gls-ch",
|
|
104
|
+
"gls-fr",
|
|
105
|
+
"gls-de"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to GLS Germany, which stays one candidate among several."
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLS Germany status classification.
|
|
3
|
+
*
|
|
4
|
+
* Germany and Switzerland are served by the same GROUP recipient service, so
|
|
5
|
+
* there is one map for both and it lives in the Swiss folder. This module
|
|
6
|
+
* re-exports it so a reader of this folder finds the vocabulary where the
|
|
7
|
+
* skeleton says it should be, without a second copy to keep in step.
|
|
8
|
+
* The observed entries are listed in this folder's `statuses.json`.
|
|
9
|
+
*/
|
|
10
|
+
export { classifyDescription, GLS_STATUSES, glsSwitzerlandStatus as glsGermanyStatus, statusCode, type ClassifiedStatus, } from '../gls-ch/status.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLS Germany status classification.
|
|
3
|
+
*
|
|
4
|
+
* Germany and Switzerland are served by the same GROUP recipient service, so
|
|
5
|
+
* there is one map for both and it lives in the Swiss folder. This module
|
|
6
|
+
* re-exports it so a reader of this folder finds the vocabulary where the
|
|
7
|
+
* skeleton says it should be, without a second copy to keep in step.
|
|
8
|
+
* The observed entries are listed in this folder's `statuses.json`.
|
|
9
|
+
*/
|
|
10
|
+
export { classifyDescription, GLS_STATUSES, glsSwitzerlandStatus as glsGermanyStatus, statusCode, } from '../gls-ch/status.js';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"carrier": "gls-de",
|
|
3
|
+
"entries": [
|
|
4
|
+
{ "code": "PREADVICE", "stage": "registered", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Data entered, parcel not yet with GLS." },
|
|
5
|
+
{ "code": "PLANNEDPICKUP", "stage": "registered", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
6
|
+
{ "code": "NOTPICKEDUP", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Uncollected; reported as status 'exception'." },
|
|
7
|
+
{ "code": "INPICKUP", "stage": "accepted", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
8
|
+
{ "code": "INTRANSIT", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
9
|
+
{ "code": "INWAREHOUSE", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Final parcel center." },
|
|
10
|
+
{ "code": "INDELIVERY", "stage": "out_for_delivery", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
11
|
+
{ "code": "DELIVERED", "wording": "The parcel has been delivered.", "language": "en", "stage": "delivered", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
12
|
+
{ "code": "DELIVEREDPS", "wording": "The parcel is ready for collection at the ParcelShop.", "language": "en", "stage": "ready_for_pickup", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "ParcelShop/locker arrival. GLS labels it 'delivered'; the recipient does not have it yet, so it is reported as status 'out_for_delivery'." },
|
|
13
|
+
{ "code": "NOTDELIVERED", "stage": "failed_attempt", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
14
|
+
{ "code": "RETURNED", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
15
|
+
{ "code": "CANCELED", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Both spellings appear." },
|
|
16
|
+
{ "code": "CANCELLED", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Both spellings appear." },
|
|
17
|
+
{ "code": "FINAL", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "" },
|
|
18
|
+
{ "code": "NORECORD", "stage": "pending", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Reported as status 'unknown'." },
|
|
19
|
+
{ "wording": "The parcel has not been handed over to GLS.", "language": "en", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Deliberately unmapped: a negative handoff does not prove GLS possession. Reported as status 'unknown' with stage in_transit." },
|
|
20
|
+
{ "wording": "The parcel was handed over to GLS.", "language": "en", "stage": "accepted", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule for rows with no status code." },
|
|
21
|
+
{ "wording": "The parcel data was entered into the GLS IT system…", "language": "en", "stage": "registered", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule; contains 'not yet handed over to GLS' and must not read as a handoff." },
|
|
22
|
+
{ "wording": "The parcel was released by customs.", "language": "en", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Release is completion, not active clearance." },
|
|
23
|
+
{ "wording": "The parcel has not been released by customs.", "language": "en", "stage": "customs", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Negated release stays in customs." },
|
|
24
|
+
{ "wording": "Customs Consignment via Customs Portal", "language": "en", "stage": "customs", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "" },
|
|
25
|
+
{ "wording": "The parcel has reached / left the parcel center; depot", "language": "en", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule." },
|
|
26
|
+
{ "wording": "The parcel is in delivery.", "language": "en", "stage": "out_for_delivery", "confirmedBy": "fixture", "firstSeen": "2026-08-30", "note": "Wording rule." },
|
|
27
|
+
{ "wording": "ready for pickup / parcelshop / locker", "language": "en", "stage": "ready_for_pickup", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Wording rule." },
|
|
28
|
+
{ "wording": "returned to sender / cancelled / delivery failed / not delivered", "language": "en", "stage": "returned", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Returns take 'returned'; the other phrases take 'failed_attempt'. Checked before the broad 'delivered' word." },
|
|
29
|
+
{ "wording": "any other wording", "confirmedBy": "prior-art", "firstSeen": "2026-08-30", "note": "Falls through to the package's shared multilingual classifier (core/status); if that also declines, the row is reported as status 'unknown' with stage in_transit and recorded for review." }
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLS France: the public consignee endpoint called by moncolis.gls-france.com.
|
|
3
|
+
*
|
|
4
|
+
* One bounded GET per lookup ('direct' step). The response carries the parcel
|
|
5
|
+
* record, its event list, and blocks describing the people involved; `parse()`
|
|
6
|
+
* builds its result from an explicit allowlist of status, timing and
|
|
7
|
+
* operational-location fields, so recipient names, street addresses, contacts,
|
|
8
|
+
* signatures and delivery instructions never leave this module.
|
|
9
|
+
*/
|
|
10
|
+
import type { AdapterFactory } from '../../core/adapter/index.js';
|
|
11
|
+
import type { CarrierResult } from '../../core/result/index.js';
|
|
12
|
+
export { glsFranceStatus } from './status.js';
|
|
13
|
+
export declare function normalizeGLSFranceTrackingNumber(raw: string): string;
|
|
14
|
+
export declare function glsFranceTrackingUrl(trackingNumber: string): string;
|
|
15
|
+
export declare function glsFranceTrackingApiUrl(trackingNumber: string): string;
|
|
16
|
+
export declare function parseGLSFranceTrackingResponse(payload: unknown, trackingNumber: string): CarrierResult;
|
|
17
|
+
export interface GLSFranceTrackerOptions {
|
|
18
|
+
timeoutMs?: number;
|
|
19
|
+
/** Test seam; production uses the global fetch. */
|
|
20
|
+
fetcher?: typeof fetch;
|
|
21
|
+
}
|
|
22
|
+
export declare class GLSFranceTracker {
|
|
23
|
+
#private;
|
|
24
|
+
readonly timeoutMs: number;
|
|
25
|
+
constructor(options?: GLSFranceTrackerOptions);
|
|
26
|
+
fetch(trackingNumber: string): Promise<CarrierResult>;
|
|
27
|
+
private lookup;
|
|
28
|
+
}
|
|
29
|
+
export declare const adapter: AdapterFactory;
|