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.
Files changed (897) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +15 -0
  3. package/README.md +123 -2
  4. package/data/carrier-order.json +107 -0
  5. package/data/carrier.schema.json +415 -0
  6. package/data/catalog.json +3969 -0
  7. package/data/coverage-summary.json +17 -0
  8. package/data/detection-golden.json +5375 -0
  9. package/data/stages.json +13 -0
  10. package/dist/browser/scraper.js +9292 -0
  11. package/dist/carriers/aliexpress/adapter.d.ts +30 -0
  12. package/dist/carriers/aliexpress/adapter.js +164 -0
  13. package/dist/carriers/aliexpress/carrier.json +59 -0
  14. package/dist/carriers/aliexpress/numbers.json +36 -0
  15. package/dist/carriers/aliexpress/status.d.ts +31 -0
  16. package/dist/carriers/aliexpress/status.js +79 -0
  17. package/dist/carriers/aliexpress/statuses.json +355 -0
  18. package/dist/carriers/amazon-logistics/carrier.json +94 -0
  19. package/dist/carriers/amazon-logistics/numbers.json +307 -0
  20. package/dist/carriers/amazon-shipping/adapter.d.ts +34 -0
  21. package/dist/carriers/amazon-shipping/adapter.js +292 -0
  22. package/dist/carriers/amazon-shipping/carrier.json +96 -0
  23. package/dist/carriers/amazon-shipping/eligibility.d.ts +3 -0
  24. package/dist/carriers/amazon-shipping/eligibility.js +16 -0
  25. package/dist/carriers/amazon-shipping/numbers.json +67 -0
  26. package/dist/carriers/amazon-shipping/status.d.ts +26 -0
  27. package/dist/carriers/amazon-shipping/status.js +118 -0
  28. package/dist/carriers/amazon-shipping/statuses.json +19 -0
  29. package/dist/carriers/an-post/carrier.json +38 -0
  30. package/dist/carriers/an-post/numbers.json +33 -0
  31. package/dist/carriers/aramex/adapter.d.ts +11 -0
  32. package/dist/carriers/aramex/adapter.js +49 -0
  33. package/dist/carriers/aramex/carrier.json +62 -0
  34. package/dist/carriers/aramex/numbers.json +71 -0
  35. package/dist/carriers/aramex/parser.d.ts +5 -0
  36. package/dist/carriers/aramex/parser.js +83 -0
  37. package/dist/carriers/aramex/status.d.ts +2 -0
  38. package/dist/carriers/aramex/status.js +16 -0
  39. package/dist/carriers/aramex/statuses.json +41 -0
  40. package/dist/carriers/asendia/adapter.d.ts +82 -0
  41. package/dist/carriers/asendia/adapter.js +342 -0
  42. package/dist/carriers/asendia/carrier.json +91 -0
  43. package/dist/carriers/asendia/numbers.json +177 -0
  44. package/dist/carriers/asendia/probe.d.ts +31 -0
  45. package/dist/carriers/asendia/probe.js +355 -0
  46. package/dist/carriers/asendia/status.d.ts +41 -0
  47. package/dist/carriers/asendia/status.js +147 -0
  48. package/dist/carriers/asendia/statuses.json +877 -0
  49. package/dist/carriers/australia-post/adapter.d.ts +20 -0
  50. package/dist/carriers/australia-post/adapter.js +175 -0
  51. package/dist/carriers/australia-post/carrier.json +72 -0
  52. package/dist/carriers/australia-post/numbers.json +66 -0
  53. package/dist/carriers/australia-post/status.d.ts +2 -0
  54. package/dist/carriers/australia-post/status.js +34 -0
  55. package/dist/carriers/australia-post/statuses.json +172 -0
  56. package/dist/carriers/austrian-post/adapter.d.ts +13 -0
  57. package/dist/carriers/austrian-post/adapter.js +101 -0
  58. package/dist/carriers/austrian-post/carrier.json +58 -0
  59. package/dist/carriers/austrian-post/numbers.json +73 -0
  60. package/dist/carriers/austrian-post/status.d.ts +3 -0
  61. package/dist/carriers/austrian-post/status.js +30 -0
  62. package/dist/carriers/austrian-post/statuses.json +47 -0
  63. package/dist/carriers/blue-dart/adapter.d.ts +11 -0
  64. package/dist/carriers/blue-dart/adapter.js +34 -0
  65. package/dist/carriers/blue-dart/carrier.json +59 -0
  66. package/dist/carriers/blue-dart/numbers.json +113 -0
  67. package/dist/carriers/blue-dart/parser.d.ts +3 -0
  68. package/dist/carriers/blue-dart/parser.js +75 -0
  69. package/dist/carriers/blue-dart/status.d.ts +2 -0
  70. package/dist/carriers/blue-dart/status.js +14 -0
  71. package/dist/carriers/blue-dart/statuses.json +59 -0
  72. package/dist/carriers/bpost/adapter.d.ts +11 -0
  73. package/dist/carriers/bpost/adapter.js +46 -0
  74. package/dist/carriers/bpost/carrier.json +81 -0
  75. package/dist/carriers/bpost/numbers.json +103 -0
  76. package/dist/carriers/bpost/parser.d.ts +3 -0
  77. package/dist/carriers/bpost/parser.js +84 -0
  78. package/dist/carriers/bpost/status.d.ts +2 -0
  79. package/dist/carriers/bpost/status.js +18 -0
  80. package/dist/carriers/bpost/statuses.json +96 -0
  81. package/dist/carriers/bring-posten/adapter.d.ts +11 -0
  82. package/dist/carriers/bring-posten/adapter.js +35 -0
  83. package/dist/carriers/bring-posten/carrier.json +91 -0
  84. package/dist/carriers/bring-posten/numbers.json +33 -0
  85. package/dist/carriers/bring-posten/parser.d.ts +3 -0
  86. package/dist/carriers/bring-posten/parser.js +95 -0
  87. package/dist/carriers/bring-posten/status.d.ts +3 -0
  88. package/dist/carriers/bring-posten/status.js +23 -0
  89. package/dist/carriers/bring-posten/statuses.json +33 -0
  90. package/dist/carriers/brt/adapter.d.ts +11 -0
  91. package/dist/carriers/brt/adapter.js +36 -0
  92. package/dist/carriers/brt/carrier.json +80 -0
  93. package/dist/carriers/brt/numbers.json +91 -0
  94. package/dist/carriers/brt/parser.d.ts +3 -0
  95. package/dist/carriers/brt/parser.js +84 -0
  96. package/dist/carriers/brt/status.d.ts +2 -0
  97. package/dist/carriers/brt/status.js +14 -0
  98. package/dist/carriers/brt/statuses.json +53 -0
  99. package/dist/carriers/c-chez-vous/adapter.d.ts +31 -0
  100. package/dist/carriers/c-chez-vous/adapter.js +181 -0
  101. package/dist/carriers/c-chez-vous/carrier.json +69 -0
  102. package/dist/carriers/c-chez-vous/numbers.json +31 -0
  103. package/dist/carriers/c-chez-vous/status.d.ts +27 -0
  104. package/dist/carriers/c-chez-vous/status.js +19 -0
  105. package/dist/carriers/c-chez-vous/statuses.json +10 -0
  106. package/dist/carriers/canada-post/adapter.d.ts +40 -0
  107. package/dist/carriers/canada-post/adapter.js +78 -0
  108. package/dist/carriers/canada-post/carrier.json +77 -0
  109. package/dist/carriers/canada-post/numbers.json +81 -0
  110. package/dist/carriers/canada-post/parser.d.ts +5 -0
  111. package/dist/carriers/canada-post/parser.js +202 -0
  112. package/dist/carriers/canada-post/status.d.ts +9 -0
  113. package/dist/carriers/canada-post/status.js +67 -0
  114. package/dist/carriers/canada-post/statuses.json +171 -0
  115. package/dist/carriers/canpar/adapter.d.ts +11 -0
  116. package/dist/carriers/canpar/adapter.js +40 -0
  117. package/dist/carriers/canpar/carrier.json +74 -0
  118. package/dist/carriers/canpar/numbers.json +71 -0
  119. package/dist/carriers/canpar/parser.d.ts +3 -0
  120. package/dist/carriers/canpar/parser.js +75 -0
  121. package/dist/carriers/canpar/status.d.ts +2 -0
  122. package/dist/carriers/canpar/status.js +16 -0
  123. package/dist/carriers/canpar/statuses.json +82 -0
  124. package/dist/carriers/china-post/carrier.json +38 -0
  125. package/dist/carriers/china-post/numbers.json +59 -0
  126. package/dist/carriers/chronopost/carrier.json +84 -0
  127. package/dist/carriers/chronopost/numbers.json +110 -0
  128. package/dist/carriers/chronopost/statuses.json +47 -0
  129. package/dist/carriers/ciblex/adapter.d.ts +17 -0
  130. package/dist/carriers/ciblex/adapter.js +46 -0
  131. package/dist/carriers/ciblex/carrier.json +71 -0
  132. package/dist/carriers/ciblex/numbers.json +63 -0
  133. package/dist/carriers/ciblex/parser.d.ts +4 -0
  134. package/dist/carriers/ciblex/parser.js +100 -0
  135. package/dist/carriers/ciblex/status.d.ts +24 -0
  136. package/dist/carriers/ciblex/status.js +55 -0
  137. package/dist/carriers/ciblex/statuses.json +221 -0
  138. package/dist/carriers/colis-prive/adapter.d.ts +39 -0
  139. package/dist/carriers/colis-prive/adapter.js +0 -0
  140. package/dist/carriers/colis-prive/carrier.json +72 -0
  141. package/dist/carriers/colis-prive/numbers.json +97 -0
  142. package/dist/carriers/colis-prive/status.d.ts +30 -0
  143. package/dist/carriers/colis-prive/status.js +85 -0
  144. package/dist/carriers/colis-prive/statuses.json +39 -0
  145. package/dist/carriers/colisweb/adapter.d.ts +29 -0
  146. package/dist/carriers/colisweb/adapter.js +166 -0
  147. package/dist/carriers/colisweb/carrier.json +63 -0
  148. package/dist/carriers/colisweb/numbers.json +39 -0
  149. package/dist/carriers/colisweb/status.d.ts +32 -0
  150. package/dist/carriers/colisweb/status.js +61 -0
  151. package/dist/carriers/colisweb/statuses.json +25 -0
  152. package/dist/carriers/correios-br/adapter.d.ts +16 -0
  153. package/dist/carriers/correios-br/adapter.js +78 -0
  154. package/dist/carriers/correios-br/carrier.json +64 -0
  155. package/dist/carriers/correios-br/model/LICENSE +21 -0
  156. package/dist/carriers/correios-br/model/captcha.onnx +0 -0
  157. package/dist/carriers/correios-br/numbers.json +72 -0
  158. package/dist/carriers/correios-br/ocr-worker.mjs +53 -0
  159. package/dist/carriers/correios-br/ocr.d.ts +10 -0
  160. package/dist/carriers/correios-br/ocr.js +83 -0
  161. package/dist/carriers/correios-br/parser.d.ts +4 -0
  162. package/dist/carriers/correios-br/parser.js +79 -0
  163. package/dist/carriers/correios-br/status.d.ts +2 -0
  164. package/dist/carriers/correios-br/status.js +17 -0
  165. package/dist/carriers/correios-br/statuses.json +16 -0
  166. package/dist/carriers/correos-chile/adapter.d.ts +12 -0
  167. package/dist/carriers/correos-chile/adapter.js +85 -0
  168. package/dist/carriers/correos-chile/carrier.json +62 -0
  169. package/dist/carriers/correos-chile/numbers.json +38 -0
  170. package/dist/carriers/correos-chile/parser.d.ts +9 -0
  171. package/dist/carriers/correos-chile/parser.js +120 -0
  172. package/dist/carriers/correos-chile/status.d.ts +3 -0
  173. package/dist/carriers/correos-chile/status.js +17 -0
  174. package/dist/carriers/correos-chile/statuses.json +12 -0
  175. package/dist/carriers/correos-express/adapter.d.ts +11 -0
  176. package/dist/carriers/correos-express/adapter.js +32 -0
  177. package/dist/carriers/correos-express/carrier.json +65 -0
  178. package/dist/carriers/correos-express/numbers.json +80 -0
  179. package/dist/carriers/correos-express/parser.d.ts +3 -0
  180. package/dist/carriers/correos-express/parser.js +97 -0
  181. package/dist/carriers/correos-express/status.d.ts +2 -0
  182. package/dist/carriers/correos-express/status.js +25 -0
  183. package/dist/carriers/correos-express/statuses.json +19 -0
  184. package/dist/carriers/correos-spain/adapter.d.ts +15 -0
  185. package/dist/carriers/correos-spain/adapter.js +191 -0
  186. package/dist/carriers/correos-spain/carrier.json +92 -0
  187. package/dist/carriers/correos-spain/numbers.json +149 -0
  188. package/dist/carriers/correos-spain/status.d.ts +17 -0
  189. package/dist/carriers/correos-spain/status.js +51 -0
  190. package/dist/carriers/correos-spain/statuses.json +46 -0
  191. package/dist/carriers/ctt/adapter.d.ts +34 -0
  192. package/dist/carriers/ctt/adapter.js +320 -0
  193. package/dist/carriers/ctt/carrier.json +72 -0
  194. package/dist/carriers/ctt/numbers.json +33 -0
  195. package/dist/carriers/ctt/status.d.ts +16 -0
  196. package/dist/carriers/ctt/status.js +16 -0
  197. package/dist/carriers/ctt/statuses.json +15 -0
  198. package/dist/carriers/ctt-express/adapter.d.ts +11 -0
  199. package/dist/carriers/ctt-express/adapter.js +41 -0
  200. package/dist/carriers/ctt-express/carrier.json +64 -0
  201. package/dist/carriers/ctt-express/numbers.json +59 -0
  202. package/dist/carriers/ctt-express/parser.d.ts +3 -0
  203. package/dist/carriers/ctt-express/parser.js +107 -0
  204. package/dist/carriers/ctt-express/status.d.ts +2 -0
  205. package/dist/carriers/ctt-express/status.js +17 -0
  206. package/dist/carriers/ctt-express/statuses.json +15 -0
  207. package/dist/carriers/dachser/adapter.d.ts +25 -0
  208. package/dist/carriers/dachser/adapter.js +168 -0
  209. package/dist/carriers/dachser/carrier.json +80 -0
  210. package/dist/carriers/dachser/numbers.json +66 -0
  211. package/dist/carriers/dachser/status.d.ts +40 -0
  212. package/dist/carriers/dachser/status.js +57 -0
  213. package/dist/carriers/dachser/statuses.json +18 -0
  214. package/dist/carriers/delhivery/adapter.d.ts +11 -0
  215. package/dist/carriers/delhivery/adapter.js +36 -0
  216. package/dist/carriers/delhivery/carrier.json +50 -0
  217. package/dist/carriers/delhivery/numbers.json +108 -0
  218. package/dist/carriers/delhivery/parser.d.ts +3 -0
  219. package/dist/carriers/delhivery/parser.js +81 -0
  220. package/dist/carriers/delhivery/status.d.ts +2 -0
  221. package/dist/carriers/delhivery/status.js +11 -0
  222. package/dist/carriers/delhivery/statuses.json +11 -0
  223. package/dist/carriers/delivengo/carrier.json +56 -0
  224. package/dist/carriers/delivengo/numbers.json +31 -0
  225. package/dist/carriers/delivengo/statuses.json +5 -0
  226. package/dist/carriers/dhl/adapter.d.ts +70 -0
  227. package/dist/carriers/dhl/adapter.js +308 -0
  228. package/dist/carriers/dhl/carrier.json +98 -0
  229. package/dist/carriers/dhl/numbers.json +153 -0
  230. package/dist/carriers/dhl/status.d.ts +14 -0
  231. package/dist/carriers/dhl/status.js +45 -0
  232. package/dist/carriers/dhl/statuses.json +27 -0
  233. package/dist/carriers/dhl-ecommerce/adapter.d.ts +50 -0
  234. package/dist/carriers/dhl-ecommerce/adapter.js +179 -0
  235. package/dist/carriers/dhl-ecommerce/carrier.json +97 -0
  236. package/dist/carriers/dhl-ecommerce/numbers.json +130 -0
  237. package/dist/carriers/dhl-ecommerce/status.d.ts +13 -0
  238. package/dist/carriers/dhl-ecommerce/status.js +57 -0
  239. package/dist/carriers/dhl-ecommerce/statuses.json +23 -0
  240. package/dist/carriers/dpd/adapter.d.ts +70 -0
  241. package/dist/carriers/dpd/adapter.js +809 -0
  242. package/dist/carriers/dpd/carrier.json +111 -0
  243. package/dist/carriers/dpd/numbers.json +43 -0
  244. package/dist/carriers/dpd/status.d.ts +39 -0
  245. package/dist/carriers/dpd/status.js +93 -0
  246. package/dist/carriers/dpd/statuses.json +144 -0
  247. package/dist/carriers/dpd-fr/adapter.d.ts +42 -0
  248. package/dist/carriers/dpd-fr/adapter.js +288 -0
  249. package/dist/carriers/dpd-fr/carrier.json +83 -0
  250. package/dist/carriers/dpd-fr/numbers.json +80 -0
  251. package/dist/carriers/dpd-fr/status.d.ts +21 -0
  252. package/dist/carriers/dpd-fr/status.js +93 -0
  253. package/dist/carriers/dpd-fr/statuses.json +325 -0
  254. package/dist/carriers/dtdc/adapter.d.ts +11 -0
  255. package/dist/carriers/dtdc/adapter.js +39 -0
  256. package/dist/carriers/dtdc/carrier.json +77 -0
  257. package/dist/carriers/dtdc/numbers.json +50 -0
  258. package/dist/carriers/dtdc/parser.d.ts +3 -0
  259. package/dist/carriers/dtdc/parser.js +90 -0
  260. package/dist/carriers/dtdc/status.d.ts +2 -0
  261. package/dist/carriers/dtdc/status.js +15 -0
  262. package/dist/carriers/dtdc/statuses.json +65 -0
  263. package/dist/carriers/ecoscooting/adapter.d.ts +11 -0
  264. package/dist/carriers/ecoscooting/adapter.js +42 -0
  265. package/dist/carriers/ecoscooting/carrier.json +76 -0
  266. package/dist/carriers/ecoscooting/numbers.json +291 -0
  267. package/dist/carriers/ecoscooting/parser.d.ts +3 -0
  268. package/dist/carriers/ecoscooting/parser.js +88 -0
  269. package/dist/carriers/ecoscooting/status.d.ts +2 -0
  270. package/dist/carriers/ecoscooting/status.js +50 -0
  271. package/dist/carriers/ecoscooting/statuses.json +295 -0
  272. package/dist/carriers/ems/adapter.d.ts +14 -0
  273. package/dist/carriers/ems/adapter.js +124 -0
  274. package/dist/carriers/ems/carrier.json +61 -0
  275. package/dist/carriers/ems/numbers.json +43 -0
  276. package/dist/carriers/ems/status.d.ts +2 -0
  277. package/dist/carriers/ems/status.js +24 -0
  278. package/dist/carriers/ems/statuses.json +128 -0
  279. package/dist/carriers/estafeta/adapter.d.ts +11 -0
  280. package/dist/carriers/estafeta/adapter.js +45 -0
  281. package/dist/carriers/estafeta/carrier.json +79 -0
  282. package/dist/carriers/estafeta/numbers.json +85 -0
  283. package/dist/carriers/estafeta/parser.d.ts +11 -0
  284. package/dist/carriers/estafeta/parser.js +123 -0
  285. package/dist/carriers/estafeta/status.d.ts +3 -0
  286. package/dist/carriers/estafeta/status.js +17 -0
  287. package/dist/carriers/estafeta/statuses.json +47 -0
  288. package/dist/carriers/evri/adapter.d.ts +14 -0
  289. package/dist/carriers/evri/adapter.js +146 -0
  290. package/dist/carriers/evri/carrier.json +69 -0
  291. package/dist/carriers/evri/numbers.json +32 -0
  292. package/dist/carriers/evri/status.d.ts +2 -0
  293. package/dist/carriers/evri/status.js +24 -0
  294. package/dist/carriers/evri/statuses.json +133 -0
  295. package/dist/carriers/fedex/adapter.d.ts +32 -0
  296. package/dist/carriers/fedex/adapter.js +307 -0
  297. package/dist/carriers/fedex/carrier.json +74 -0
  298. package/dist/carriers/fedex/numbers.json +198 -0
  299. package/dist/carriers/fedex/status.d.ts +33 -0
  300. package/dist/carriers/fedex/status.js +114 -0
  301. package/dist/carriers/fedex/statuses.json +34 -0
  302. package/dist/carriers/four-px/adapter.d.ts +12 -0
  303. package/dist/carriers/four-px/adapter.js +113 -0
  304. package/dist/carriers/four-px/carrier.json +60 -0
  305. package/dist/carriers/four-px/numbers.json +32 -0
  306. package/dist/carriers/four-px/status.d.ts +2 -0
  307. package/dist/carriers/four-px/status.js +22 -0
  308. package/dist/carriers/four-px/statuses.json +141 -0
  309. package/dist/carriers/geodis/adapter.d.ts +37 -0
  310. package/dist/carriers/geodis/adapter.js +275 -0
  311. package/dist/carriers/geodis/carrier.json +75 -0
  312. package/dist/carriers/geodis/numbers.json +45 -0
  313. package/dist/carriers/geodis/status.d.ts +37 -0
  314. package/dist/carriers/geodis/status.js +105 -0
  315. package/dist/carriers/geodis/statuses.json +51 -0
  316. package/dist/carriers/gls-ch/adapter.d.ts +39 -0
  317. package/dist/carriers/gls-ch/adapter.js +405 -0
  318. package/dist/carriers/gls-ch/carrier.json +122 -0
  319. package/dist/carriers/gls-ch/numbers.json +31 -0
  320. package/dist/carriers/gls-ch/status.d.ts +19 -0
  321. package/dist/carriers/gls-ch/status.js +79 -0
  322. package/dist/carriers/gls-ch/statuses.json +31 -0
  323. package/dist/carriers/gls-de/adapter.d.ts +28 -0
  324. package/dist/carriers/gls-de/adapter.js +113 -0
  325. package/dist/carriers/gls-de/carrier.json +126 -0
  326. package/dist/carriers/gls-de/numbers.json +111 -0
  327. package/dist/carriers/gls-de/status.d.ts +10 -0
  328. package/dist/carriers/gls-de/status.js +10 -0
  329. package/dist/carriers/gls-de/statuses.json +31 -0
  330. package/dist/carriers/gls-fr/adapter.d.ts +29 -0
  331. package/dist/carriers/gls-fr/adapter.js +220 -0
  332. package/dist/carriers/gls-fr/carrier.json +107 -0
  333. package/dist/carriers/gls-fr/numbers.json +113 -0
  334. package/dist/carriers/gls-fr/status.d.ts +28 -0
  335. package/dist/carriers/gls-fr/status.js +58 -0
  336. package/dist/carriers/gls-fr/statuses.json +34 -0
  337. package/dist/carriers/gofo/adapter.d.ts +11 -0
  338. package/dist/carriers/gofo/adapter.js +41 -0
  339. package/dist/carriers/gofo/carrier.json +80 -0
  340. package/dist/carriers/gofo/numbers.json +59 -0
  341. package/dist/carriers/gofo/parser.d.ts +5 -0
  342. package/dist/carriers/gofo/parser.js +131 -0
  343. package/dist/carriers/gofo/status.d.ts +2 -0
  344. package/dist/carriers/gofo/status.js +7 -0
  345. package/dist/carriers/gofo/statuses.json +54 -0
  346. package/dist/carriers/heppner/adapter.d.ts +27 -0
  347. package/dist/carriers/heppner/adapter.js +247 -0
  348. package/dist/carriers/heppner/carrier.json +74 -0
  349. package/dist/carriers/heppner/numbers.json +39 -0
  350. package/dist/carriers/heppner/status.d.ts +28 -0
  351. package/dist/carriers/heppner/status.js +43 -0
  352. package/dist/carriers/heppner/statuses.json +69 -0
  353. package/dist/carriers/hermes/adapter.d.ts +17 -0
  354. package/dist/carriers/hermes/adapter.js +103 -0
  355. package/dist/carriers/hermes/carrier.json +58 -0
  356. package/dist/carriers/hermes/numbers.json +20 -0
  357. package/dist/carriers/hermes/status.d.ts +15 -0
  358. package/dist/carriers/hermes/status.js +61 -0
  359. package/dist/carriers/hermes/statuses.json +31 -0
  360. package/dist/carriers/hermes-de/adapter.d.ts +22 -0
  361. package/dist/carriers/hermes-de/adapter.js +168 -0
  362. package/dist/carriers/hermes-de/carrier.json +90 -0
  363. package/dist/carriers/hermes-de/numbers.json +125 -0
  364. package/dist/carriers/hermes-de/status.d.ts +24 -0
  365. package/dist/carriers/hermes-de/status.js +52 -0
  366. package/dist/carriers/hermes-de/statuses.json +277 -0
  367. package/dist/carriers/hongkong-post/carrier.json +38 -0
  368. package/dist/carriers/hongkong-post/numbers.json +32 -0
  369. package/dist/carriers/india-post/adapter.d.ts +33 -0
  370. package/dist/carriers/india-post/adapter.js +415 -0
  371. package/dist/carriers/india-post/carrier.json +74 -0
  372. package/dist/carriers/india-post/numbers.json +58 -0
  373. package/dist/carriers/india-post/status.d.ts +23 -0
  374. package/dist/carriers/india-post/status.js +99 -0
  375. package/dist/carriers/india-post/statuses.json +18 -0
  376. package/dist/carriers/inpost/adapter.d.ts +14 -0
  377. package/dist/carriers/inpost/adapter.js +143 -0
  378. package/dist/carriers/inpost/carrier.json +75 -0
  379. package/dist/carriers/inpost/numbers.json +130 -0
  380. package/dist/carriers/inpost/status.d.ts +16 -0
  381. package/dist/carriers/inpost/status.js +31 -0
  382. package/dist/carriers/inpost/statuses.json +26 -0
  383. package/dist/carriers/intl-post/carrier.json +46 -0
  384. package/dist/carriers/intl-post/numbers.json +29 -0
  385. package/dist/carriers/j-and-t/carrier.json +66 -0
  386. package/dist/carriers/j-and-t/numbers.json +90 -0
  387. package/dist/carriers/japan-post/adapter.d.ts +13 -0
  388. package/dist/carriers/japan-post/adapter.js +159 -0
  389. package/dist/carriers/japan-post/carrier.json +71 -0
  390. package/dist/carriers/japan-post/numbers.json +35 -0
  391. package/dist/carriers/japan-post/status.d.ts +2 -0
  392. package/dist/carriers/japan-post/status.js +25 -0
  393. package/dist/carriers/japan-post/statuses.json +136 -0
  394. package/dist/carriers/jd-logistics/carrier.json +37 -0
  395. package/dist/carriers/jd-logistics/numbers.json +19 -0
  396. package/dist/carriers/korea-post/adapter.d.ts +12 -0
  397. package/dist/carriers/korea-post/adapter.js +101 -0
  398. package/dist/carriers/korea-post/carrier.json +74 -0
  399. package/dist/carriers/korea-post/numbers.json +54 -0
  400. package/dist/carriers/korea-post/status.d.ts +2 -0
  401. package/dist/carriers/korea-post/status.js +19 -0
  402. package/dist/carriers/korea-post/statuses.json +103 -0
  403. package/dist/carriers/la-poste/adapter.d.ts +29 -0
  404. package/dist/carriers/la-poste/adapter.js +241 -0
  405. package/dist/carriers/la-poste/carrier.json +87 -0
  406. package/dist/carriers/la-poste/numbers.json +140 -0
  407. package/dist/carriers/la-poste/status.d.ts +30 -0
  408. package/dist/carriers/la-poste/status.js +110 -0
  409. package/dist/carriers/la-poste/statuses.json +163 -0
  410. package/dist/carriers/landmark-global/adapter.d.ts +11 -0
  411. package/dist/carriers/landmark-global/adapter.js +30 -0
  412. package/dist/carriers/landmark-global/carrier.json +64 -0
  413. package/dist/carriers/landmark-global/numbers.json +58 -0
  414. package/dist/carriers/landmark-global/parser.d.ts +3 -0
  415. package/dist/carriers/landmark-global/parser.js +78 -0
  416. package/dist/carriers/landmark-global/status.d.ts +2 -0
  417. package/dist/carriers/landmark-global/status.js +13 -0
  418. package/dist/carriers/landmark-global/statuses.json +125 -0
  419. package/dist/carriers/mondial-relay/adapter.d.ts +32 -0
  420. package/dist/carriers/mondial-relay/adapter.js +352 -0
  421. package/dist/carriers/mondial-relay/carrier.json +94 -0
  422. package/dist/carriers/mondial-relay/numbers.json +130 -0
  423. package/dist/carriers/mondial-relay/status.d.ts +31 -0
  424. package/dist/carriers/mondial-relay/status.js +98 -0
  425. package/dist/carriers/mondial-relay/statuses.json +50 -0
  426. package/dist/carriers/mrw/adapter.d.ts +13 -0
  427. package/dist/carriers/mrw/adapter.js +131 -0
  428. package/dist/carriers/mrw/carrier.json +60 -0
  429. package/dist/carriers/mrw/numbers.json +116 -0
  430. package/dist/carriers/mrw/parser.d.ts +12 -0
  431. package/dist/carriers/mrw/parser.js +149 -0
  432. package/dist/carriers/mrw/status.d.ts +2 -0
  433. package/dist/carriers/mrw/status.js +14 -0
  434. package/dist/carriers/mrw/statuses.json +13 -0
  435. package/dist/carriers/nacex/adapter.d.ts +11 -0
  436. package/dist/carriers/nacex/adapter.js +99 -0
  437. package/dist/carriers/nacex/carrier.json +78 -0
  438. package/dist/carriers/nacex/numbers.json +47 -0
  439. package/dist/carriers/nacex/parser.d.ts +4 -0
  440. package/dist/carriers/nacex/parser.js +119 -0
  441. package/dist/carriers/nacex/status.d.ts +2 -0
  442. package/dist/carriers/nacex/status.js +12 -0
  443. package/dist/carriers/nacex/statuses.json +11 -0
  444. package/dist/carriers/ninja-van/adapter.d.ts +11 -0
  445. package/dist/carriers/ninja-van/adapter.js +45 -0
  446. package/dist/carriers/ninja-van/carrier.json +79 -0
  447. package/dist/carriers/ninja-van/numbers.json +67 -0
  448. package/dist/carriers/ninja-van/parser.d.ts +5 -0
  449. package/dist/carriers/ninja-van/parser.js +95 -0
  450. package/dist/carriers/ninja-van/status.d.ts +3 -0
  451. package/dist/carriers/ninja-van/status.js +25 -0
  452. package/dist/carriers/ninja-van/statuses.json +11 -0
  453. package/dist/carriers/nz-post/adapter.d.ts +11 -0
  454. package/dist/carriers/nz-post/adapter.js +45 -0
  455. package/dist/carriers/nz-post/carrier.json +82 -0
  456. package/dist/carriers/nz-post/numbers.json +49 -0
  457. package/dist/carriers/nz-post/parser.d.ts +3 -0
  458. package/dist/carriers/nz-post/parser.js +97 -0
  459. package/dist/carriers/nz-post/status.d.ts +2 -0
  460. package/dist/carriers/nz-post/status.js +29 -0
  461. package/dist/carriers/nz-post/statuses.json +68 -0
  462. package/dist/carriers/old-dominion/carrier.json +51 -0
  463. package/dist/carriers/old-dominion/numbers.json +83 -0
  464. package/dist/carriers/ontrac/adapter.d.ts +11 -0
  465. package/dist/carriers/ontrac/adapter.js +34 -0
  466. package/dist/carriers/ontrac/carrier.json +81 -0
  467. package/dist/carriers/ontrac/numbers.json +214 -0
  468. package/dist/carriers/ontrac/parser.d.ts +3 -0
  469. package/dist/carriers/ontrac/parser.js +72 -0
  470. package/dist/carriers/ontrac/status.d.ts +2 -0
  471. package/dist/carriers/ontrac/status.js +19 -0
  472. package/dist/carriers/ontrac/statuses.json +61 -0
  473. package/dist/carriers/paack/adapter.d.ts +19 -0
  474. package/dist/carriers/paack/adapter.js +255 -0
  475. package/dist/carriers/paack/carrier.json +79 -0
  476. package/dist/carriers/paack/numbers.json +106 -0
  477. package/dist/carriers/paack/status.d.ts +26 -0
  478. package/dist/carriers/paack/status.js +82 -0
  479. package/dist/carriers/paack/statuses.json +357 -0
  480. package/dist/carriers/packeta/adapter.d.ts +15 -0
  481. package/dist/carriers/packeta/adapter.js +166 -0
  482. package/dist/carriers/packeta/carrier.json +90 -0
  483. package/dist/carriers/packeta/numbers.json +71 -0
  484. package/dist/carriers/packeta/status.d.ts +23 -0
  485. package/dist/carriers/packeta/status.js +40 -0
  486. package/dist/carriers/packeta/statuses.json +21 -0
  487. package/dist/carriers/parcelforce/carrier.json +47 -0
  488. package/dist/carriers/parcelforce/numbers.json +32 -0
  489. package/dist/carriers/planzer/adapter.d.ts +40 -0
  490. package/dist/carriers/planzer/adapter.js +148 -0
  491. package/dist/carriers/planzer/carrier.json +85 -0
  492. package/dist/carriers/planzer/numbers.json +118 -0
  493. package/dist/carriers/planzer/shared.d.ts +19 -0
  494. package/dist/carriers/planzer/shared.js +135 -0
  495. package/dist/carriers/planzer/status.d.ts +33 -0
  496. package/dist/carriers/planzer/status.js +89 -0
  497. package/dist/carriers/planzer/statuses.json +229 -0
  498. package/dist/carriers/poczta-polska/adapter.d.ts +15 -0
  499. package/dist/carriers/poczta-polska/adapter.js +65 -0
  500. package/dist/carriers/poczta-polska/carrier.json +79 -0
  501. package/dist/carriers/poczta-polska/numbers.json +130 -0
  502. package/dist/carriers/poczta-polska/parser.d.ts +3 -0
  503. package/dist/carriers/poczta-polska/parser.js +96 -0
  504. package/dist/carriers/poczta-polska/status.d.ts +2 -0
  505. package/dist/carriers/poczta-polska/status.js +21 -0
  506. package/dist/carriers/poczta-polska/statuses.json +47 -0
  507. package/dist/carriers/pos-malaysia/adapter.d.ts +18 -0
  508. package/dist/carriers/pos-malaysia/adapter.js +199 -0
  509. package/dist/carriers/pos-malaysia/carrier.json +78 -0
  510. package/dist/carriers/pos-malaysia/numbers.json +73 -0
  511. package/dist/carriers/pos-malaysia/status.d.ts +17 -0
  512. package/dist/carriers/pos-malaysia/status.js +21 -0
  513. package/dist/carriers/pos-malaysia/statuses.json +17 -0
  514. package/dist/carriers/poste-italiane/adapter.d.ts +15 -0
  515. package/dist/carriers/poste-italiane/adapter.js +211 -0
  516. package/dist/carriers/poste-italiane/carrier.json +86 -0
  517. package/dist/carriers/poste-italiane/numbers.json +117 -0
  518. package/dist/carriers/poste-italiane/status.d.ts +19 -0
  519. package/dist/carriers/poste-italiane/status.js +44 -0
  520. package/dist/carriers/poste-italiane/statuses.json +22 -0
  521. package/dist/carriers/posti/adapter.d.ts +17 -0
  522. package/dist/carriers/posti/adapter.js +195 -0
  523. package/dist/carriers/posti/carrier.json +69 -0
  524. package/dist/carriers/posti/numbers.json +52 -0
  525. package/dist/carriers/posti/status.d.ts +4 -0
  526. package/dist/carriers/posti/status.js +41 -0
  527. package/dist/carriers/posti/statuses.json +18 -0
  528. package/dist/carriers/postlogistics/adapter.d.ts +39 -0
  529. package/dist/carriers/postlogistics/adapter.js +162 -0
  530. package/dist/carriers/postlogistics/carrier.json +67 -0
  531. package/dist/carriers/postlogistics/number.d.ts +2 -0
  532. package/dist/carriers/postlogistics/number.js +7 -0
  533. package/dist/carriers/postlogistics/numbers.json +54 -0
  534. package/dist/carriers/postlogistics/status.d.ts +20 -0
  535. package/dist/carriers/postlogistics/status.js +12 -0
  536. package/dist/carriers/postlogistics/statuses.json +40 -0
  537. package/dist/carriers/postnord/adapter.d.ts +11 -0
  538. package/dist/carriers/postnord/adapter.js +76 -0
  539. package/dist/carriers/postnord/carrier.json +82 -0
  540. package/dist/carriers/postnord/numbers.json +66 -0
  541. package/dist/carriers/postnord/parser.d.ts +3 -0
  542. package/dist/carriers/postnord/parser.js +75 -0
  543. package/dist/carriers/postnord/status.d.ts +3 -0
  544. package/dist/carriers/postnord/status.js +38 -0
  545. package/dist/carriers/postnord/statuses.json +16 -0
  546. package/dist/carriers/purolator/adapter.d.ts +11 -0
  547. package/dist/carriers/purolator/adapter.js +45 -0
  548. package/dist/carriers/purolator/carrier.json +75 -0
  549. package/dist/carriers/purolator/numbers.json +146 -0
  550. package/dist/carriers/purolator/parser.d.ts +3 -0
  551. package/dist/carriers/purolator/parser.js +79 -0
  552. package/dist/carriers/purolator/status.d.ts +2 -0
  553. package/dist/carriers/purolator/status.js +17 -0
  554. package/dist/carriers/purolator/statuses.json +15 -0
  555. package/dist/carriers/quickpac/carrier.json +68 -0
  556. package/dist/carriers/quickpac/numbers.json +31 -0
  557. package/dist/carriers/quickpac/statuses.json +213 -0
  558. package/dist/carriers/relais-colis/adapter.d.ts +28 -0
  559. package/dist/carriers/relais-colis/adapter.js +242 -0
  560. package/dist/carriers/relais-colis/carrier.json +77 -0
  561. package/dist/carriers/relais-colis/numbers.json +64 -0
  562. package/dist/carriers/relais-colis/status.d.ts +26 -0
  563. package/dist/carriers/relais-colis/status.js +91 -0
  564. package/dist/carriers/relais-colis/statuses.json +341 -0
  565. package/dist/carriers/royal-mail/adapter.d.ts +32 -0
  566. package/dist/carriers/royal-mail/adapter.js +260 -0
  567. package/dist/carriers/royal-mail/carrier.json +60 -0
  568. package/dist/carriers/royal-mail/numbers.json +57 -0
  569. package/dist/carriers/royal-mail/status.d.ts +19 -0
  570. package/dist/carriers/royal-mail/status.js +80 -0
  571. package/dist/carriers/royal-mail/statuses.json +16 -0
  572. package/dist/carriers/seur/adapter.d.ts +11 -0
  573. package/dist/carriers/seur/adapter.js +35 -0
  574. package/dist/carriers/seur/carrier.json +89 -0
  575. package/dist/carriers/seur/numbers.json +80 -0
  576. package/dist/carriers/seur/parser.d.ts +3 -0
  577. package/dist/carriers/seur/parser.js +78 -0
  578. package/dist/carriers/seur/status.d.ts +2 -0
  579. package/dist/carriers/seur/status.js +14 -0
  580. package/dist/carriers/seur/statuses.json +47 -0
  581. package/dist/carriers/sf-express/adapter.d.ts +17 -0
  582. package/dist/carriers/sf-express/adapter.js +87 -0
  583. package/dist/carriers/sf-express/carrier.json +78 -0
  584. package/dist/carriers/sf-express/numbers.json +66 -0
  585. package/dist/carriers/sf-express/parser.d.ts +4 -0
  586. package/dist/carriers/sf-express/parser.js +102 -0
  587. package/dist/carriers/sf-express/status.d.ts +4 -0
  588. package/dist/carriers/sf-express/status.js +28 -0
  589. package/dist/carriers/sf-express/statuses.json +334 -0
  590. package/dist/carriers/shipup/carrier.json +28 -0
  591. package/dist/carriers/shipup/numbers.json +20 -0
  592. package/dist/carriers/singapore-post/adapter.d.ts +12 -0
  593. package/dist/carriers/singapore-post/adapter.js +106 -0
  594. package/dist/carriers/singapore-post/carrier.json +62 -0
  595. package/dist/carriers/singapore-post/numbers.json +77 -0
  596. package/dist/carriers/singapore-post/status.d.ts +2 -0
  597. package/dist/carriers/singapore-post/status.js +17 -0
  598. package/dist/carriers/singapore-post/statuses.json +101 -0
  599. package/dist/carriers/spee-dee/carrier.json +51 -0
  600. package/dist/carriers/spee-dee/numbers.json +55 -0
  601. package/dist/carriers/speedx/carrier.json +49 -0
  602. package/dist/carriers/speedx/numbers.json +112 -0
  603. package/dist/carriers/spring-gds/adapter.d.ts +35 -0
  604. package/dist/carriers/spring-gds/adapter.js +212 -0
  605. package/dist/carriers/spring-gds/carrier.json +90 -0
  606. package/dist/carriers/spring-gds/numbers.json +224 -0
  607. package/dist/carriers/spring-gds/status.d.ts +19 -0
  608. package/dist/carriers/spring-gds/status.js +28 -0
  609. package/dist/carriers/spring-gds/statuses.json +140 -0
  610. package/dist/carriers/sto/carrier.json +37 -0
  611. package/dist/carriers/sto/numbers.json +33 -0
  612. package/dist/carriers/sunyou/adapter.d.ts +18 -0
  613. package/dist/carriers/sunyou/adapter.js +156 -0
  614. package/dist/carriers/sunyou/carrier.json +64 -0
  615. package/dist/carriers/sunyou/numbers.json +44 -0
  616. package/dist/carriers/sunyou/status.d.ts +17 -0
  617. package/dist/carriers/sunyou/status.js +13 -0
  618. package/dist/carriers/sunyou/statuses.json +53 -0
  619. package/dist/carriers/swiss-post/adapter.d.ts +18 -0
  620. package/dist/carriers/swiss-post/adapter.js +282 -0
  621. package/dist/carriers/swiss-post/carrier.json +84 -0
  622. package/dist/carriers/swiss-post/numbers.json +55 -0
  623. package/dist/carriers/swiss-post/status.d.ts +27 -0
  624. package/dist/carriers/swiss-post/status.js +64 -0
  625. package/dist/carriers/swiss-post/statuses.json +33 -0
  626. package/dist/carriers/swiss-post-cargo/adapter.d.ts +19 -0
  627. package/dist/carriers/swiss-post-cargo/adapter.js +173 -0
  628. package/dist/carriers/swiss-post-cargo/carrier.json +60 -0
  629. package/dist/carriers/swiss-post-cargo/numbers.json +23 -0
  630. package/dist/carriers/swiss-post-cargo/reference.d.ts +13 -0
  631. package/dist/carriers/swiss-post-cargo/reference.js +48 -0
  632. package/dist/carriers/swiss-post-cargo/status.d.ts +13 -0
  633. package/dist/carriers/swiss-post-cargo/status.js +53 -0
  634. package/dist/carriers/swiss-post-cargo/statuses.json +19 -0
  635. package/dist/carriers/thailand-post/carrier.json +38 -0
  636. package/dist/carriers/thailand-post/numbers.json +33 -0
  637. package/dist/carriers/the-courier-guy/adapter.d.ts +11 -0
  638. package/dist/carriers/the-courier-guy/adapter.js +49 -0
  639. package/dist/carriers/the-courier-guy/carrier.json +73 -0
  640. package/dist/carriers/the-courier-guy/number.d.ts +3 -0
  641. package/dist/carriers/the-courier-guy/number.js +18 -0
  642. package/dist/carriers/the-courier-guy/numbers.json +74 -0
  643. package/dist/carriers/the-courier-guy/parser.d.ts +3 -0
  644. package/dist/carriers/the-courier-guy/parser.js +104 -0
  645. package/dist/carriers/the-courier-guy/status.d.ts +5 -0
  646. package/dist/carriers/the-courier-guy/status.js +21 -0
  647. package/dist/carriers/the-courier-guy/statuses.json +61 -0
  648. package/dist/carriers/tipsa/adapter.d.ts +12 -0
  649. package/dist/carriers/tipsa/adapter.js +52 -0
  650. package/dist/carriers/tipsa/carrier.json +92 -0
  651. package/dist/carriers/tipsa/numbers.json +100 -0
  652. package/dist/carriers/tipsa/parser.d.ts +17 -0
  653. package/dist/carriers/tipsa/parser.js +114 -0
  654. package/dist/carriers/tipsa/status.d.ts +3 -0
  655. package/dist/carriers/tipsa/status.js +25 -0
  656. package/dist/carriers/tipsa/statuses.json +12 -0
  657. package/dist/carriers/tnt/adapter.d.ts +23 -0
  658. package/dist/carriers/tnt/adapter.js +210 -0
  659. package/dist/carriers/tnt/carrier.json +66 -0
  660. package/dist/carriers/tnt/numbers.json +116 -0
  661. package/dist/carriers/tnt/status.d.ts +3 -0
  662. package/dist/carriers/tnt/status.js +35 -0
  663. package/dist/carriers/tnt/statuses.json +126 -0
  664. package/dist/carriers/ukrposhta/adapter.d.ts +13 -0
  665. package/dist/carriers/ukrposhta/adapter.js +152 -0
  666. package/dist/carriers/ukrposhta/carrier.json +62 -0
  667. package/dist/carriers/ukrposhta/numbers.json +53 -0
  668. package/dist/carriers/ukrposhta/parser.d.ts +15 -0
  669. package/dist/carriers/ukrposhta/parser.js +130 -0
  670. package/dist/carriers/ukrposhta/status.d.ts +3 -0
  671. package/dist/carriers/ukrposhta/status.js +34 -0
  672. package/dist/carriers/ukrposhta/statuses.json +208 -0
  673. package/dist/carriers/uniuni/adapter.d.ts +11 -0
  674. package/dist/carriers/uniuni/adapter.js +48 -0
  675. package/dist/carriers/uniuni/carrier.json +90 -0
  676. package/dist/carriers/uniuni/numbers.json +72 -0
  677. package/dist/carriers/uniuni/parser.d.ts +5 -0
  678. package/dist/carriers/uniuni/parser.js +114 -0
  679. package/dist/carriers/uniuni/status.d.ts +2 -0
  680. package/dist/carriers/uniuni/status.js +16 -0
  681. package/dist/carriers/uniuni/statuses.json +54 -0
  682. package/dist/carriers/unknown/carrier.json +57 -0
  683. package/dist/carriers/unknown/numbers.json +257 -0
  684. package/dist/carriers/ups/adapter.d.ts +40 -0
  685. package/dist/carriers/ups/adapter.js +473 -0
  686. package/dist/carriers/ups/carrier.json +69 -0
  687. package/dist/carriers/ups/numbers.json +134 -0
  688. package/dist/carriers/ups/status.d.ts +25 -0
  689. package/dist/carriers/ups/status.js +41 -0
  690. package/dist/carriers/ups/statuses.json +35 -0
  691. package/dist/carriers/usps/adapter.d.ts +25 -0
  692. package/dist/carriers/usps/adapter.js +261 -0
  693. package/dist/carriers/usps/carrier.json +74 -0
  694. package/dist/carriers/usps/numbers.json +286 -0
  695. package/dist/carriers/usps/status.d.ts +25 -0
  696. package/dist/carriers/usps/status.js +72 -0
  697. package/dist/carriers/usps/statuses.json +24 -0
  698. package/dist/carriers/yamato/adapter.d.ts +13 -0
  699. package/dist/carriers/yamato/adapter.js +130 -0
  700. package/dist/carriers/yamato/carrier.json +72 -0
  701. package/dist/carriers/yamato/numbers.json +57 -0
  702. package/dist/carriers/yamato/status.d.ts +2 -0
  703. package/dist/carriers/yamato/status.js +27 -0
  704. package/dist/carriers/yamato/statuses.json +159 -0
  705. package/dist/carriers/yanwen/adapter.d.ts +13 -0
  706. package/dist/carriers/yanwen/adapter.js +130 -0
  707. package/dist/carriers/yanwen/carrier.json +66 -0
  708. package/dist/carriers/yanwen/numbers.json +45 -0
  709. package/dist/carriers/yanwen/status.d.ts +2 -0
  710. package/dist/carriers/yanwen/status.js +25 -0
  711. package/dist/carriers/yanwen/statuses.json +131 -0
  712. package/dist/carriers/yto/adapter.d.ts +11 -0
  713. package/dist/carriers/yto/adapter.js +36 -0
  714. package/dist/carriers/yto/carrier.json +75 -0
  715. package/dist/carriers/yto/numbers.json +33 -0
  716. package/dist/carriers/yto/parser.d.ts +3 -0
  717. package/dist/carriers/yto/parser.js +92 -0
  718. package/dist/carriers/yto/status.d.ts +10 -0
  719. package/dist/carriers/yto/status.js +46 -0
  720. package/dist/carriers/yto/statuses.json +206 -0
  721. package/dist/carriers/yunda/adapter.d.ts +11 -0
  722. package/dist/carriers/yunda/adapter.js +68 -0
  723. package/dist/carriers/yunda/carrier.json +69 -0
  724. package/dist/carriers/yunda/challenge.d.ts +5 -0
  725. package/dist/carriers/yunda/challenge.js +68 -0
  726. package/dist/carriers/yunda/numbers.json +43 -0
  727. package/dist/carriers/yunda/parser.d.ts +4 -0
  728. package/dist/carriers/yunda/parser.js +105 -0
  729. package/dist/carriers/yunda/status.d.ts +4 -0
  730. package/dist/carriers/yunda/status.js +9 -0
  731. package/dist/carriers/yunda/statuses.json +40 -0
  732. package/dist/carriers/yunexpress/adapter.d.ts +20 -0
  733. package/dist/carriers/yunexpress/adapter.js +240 -0
  734. package/dist/carriers/yunexpress/carrier.json +69 -0
  735. package/dist/carriers/yunexpress/numbers.json +32 -0
  736. package/dist/carriers/yunexpress/status.d.ts +2 -0
  737. package/dist/carriers/yunexpress/status.js +23 -0
  738. package/dist/carriers/yunexpress/statuses.json +112 -0
  739. package/dist/carriers/zto/carrier.json +37 -0
  740. package/dist/carriers/zto/numbers.json +30 -0
  741. package/dist/cli/index.d.ts +2 -0
  742. package/dist/cli/index.js +82 -0
  743. package/dist/core/adapter/index.d.ts +90 -0
  744. package/dist/core/adapter/index.js +103 -0
  745. package/dist/core/adapter/track.d.ts +10 -0
  746. package/dist/core/adapter/track.js +20 -0
  747. package/dist/core/catalog/amazon.d.ts +5 -0
  748. package/dist/core/catalog/amazon.js +33 -0
  749. package/dist/core/catalog/definitions.d.ts +24 -0
  750. package/dist/core/catalog/definitions.js +44 -0
  751. package/dist/core/catalog/handoff.d.ts +9 -0
  752. package/dist/core/catalog/handoff.js +56 -0
  753. package/dist/core/catalog/hints.d.ts +45 -0
  754. package/dist/core/catalog/hints.js +162 -0
  755. package/dist/core/catalog/index.d.ts +38 -0
  756. package/dist/core/catalog/index.js +223 -0
  757. package/dist/core/catalog/inputs.d.ts +6 -0
  758. package/dist/core/catalog/inputs.js +89 -0
  759. package/dist/core/catalog/linkRules.d.ts +24 -0
  760. package/dist/core/catalog/linkRules.js +20 -0
  761. package/dist/core/catalog/networks.d.ts +9 -0
  762. package/dist/core/catalog/networks.js +13 -0
  763. package/dist/core/catalog/recognition.d.ts +22 -0
  764. package/dist/core/catalog/recognition.js +52 -0
  765. package/dist/core/catalog/types.d.ts +135 -0
  766. package/dist/core/catalog/types.js +1 -0
  767. package/dist/core/catalog/urls.d.ts +2 -0
  768. package/dist/core/catalog/urls.js +125 -0
  769. package/dist/core/detection/amazon.d.ts +2 -0
  770. package/dist/core/detection/amazon.js +14 -0
  771. package/dist/core/detection/candidates.d.ts +5 -0
  772. package/dist/core/detection/candidates.js +41 -0
  773. package/dist/core/detection/detect.d.ts +17 -0
  774. package/dist/core/detection/detect.js +52 -0
  775. package/dist/core/detection/gls.d.ts +16 -0
  776. package/dist/core/detection/gls.js +21 -0
  777. package/dist/core/detection/hermes.d.ts +14 -0
  778. package/dist/core/detection/hermes.js +19 -0
  779. package/dist/core/detection/index.d.ts +19 -0
  780. package/dist/core/detection/index.js +9 -0
  781. package/dist/core/detection/mondialRelay.d.ts +13 -0
  782. package/dist/core/detection/mondialRelay.js +25 -0
  783. package/dist/core/detection/normalize.d.ts +15 -0
  784. package/dist/core/detection/normalize.js +39 -0
  785. package/dist/core/detection/parse.d.ts +6 -0
  786. package/dist/core/detection/parse.js +112 -0
  787. package/dist/core/detection/s10.d.ts +4 -0
  788. package/dist/core/detection/s10.js +25 -0
  789. package/dist/core/detection/types.d.ts +22 -0
  790. package/dist/core/detection/types.js +1 -0
  791. package/dist/core/errors/hint.d.ts +7 -0
  792. package/dist/core/errors/hint.js +7 -0
  793. package/dist/core/errors/index.d.ts +98 -0
  794. package/dist/core/errors/index.js +178 -0
  795. package/dist/core/recognition/index.d.ts +24 -0
  796. package/dist/core/recognition/index.js +65 -0
  797. package/dist/core/result/index.d.ts +57 -0
  798. package/dist/core/result/index.js +114 -0
  799. package/dist/core/result/resolve.d.ts +18 -0
  800. package/dist/core/result/resolve.js +49 -0
  801. package/dist/core/runner/index.d.ts +33 -0
  802. package/dist/core/runner/index.js +109 -0
  803. package/dist/core/status/index.d.ts +22 -0
  804. package/dist/core/status/index.js +3 -0
  805. package/dist/core/status/language.d.ts +11 -0
  806. package/dist/core/status/language.js +149 -0
  807. package/dist/core/status/wording.d.ts +25 -0
  808. package/dist/core/status/wording.js +91 -0
  809. package/dist/core/telemetry/index.d.ts +62 -0
  810. package/dist/core/telemetry/index.js +55 -0
  811. package/dist/core/time/index.d.ts +84 -0
  812. package/dist/core/time/index.js +243 -0
  813. package/dist/core/time/result.d.ts +5 -0
  814. package/dist/core/time/result.js +55 -0
  815. package/dist/core/transport/boundedFetch.d.ts +26 -0
  816. package/dist/core/transport/boundedFetch.js +152 -0
  817. package/dist/core/transport/browser.d.ts +14 -0
  818. package/dist/core/transport/browser.js +113 -0
  819. package/dist/core/transport/index.d.ts +8 -0
  820. package/dist/core/transport/index.js +5 -0
  821. package/dist/core/transport/optional.d.ts +2 -0
  822. package/dist/core/transport/optional.js +17 -0
  823. package/dist/core/transport/text.d.ts +8 -0
  824. package/dist/core/transport/text.js +18 -0
  825. package/dist/core/transport/trawl.d.ts +80 -0
  826. package/dist/core/transport/trawl.js +212 -0
  827. package/dist/core/transport/upstreamHttpDiagnostics.d.ts +16 -0
  828. package/dist/core/transport/upstreamHttpDiagnostics.js +97 -0
  829. package/dist/core/types.d.ts +8 -0
  830. package/dist/core/types.js +11 -0
  831. package/dist/data/catalog.json +3969 -0
  832. package/dist/facade/index.d.ts +57 -0
  833. package/dist/facade/index.js +195 -0
  834. package/dist/generated/catalog.d.ts +2671 -0
  835. package/dist/generated/catalog.js +4090 -0
  836. package/dist/generated/recognition.d.ts +2 -0
  837. package/dist/generated/recognition.js +31 -0
  838. package/dist/generated/regionTowns.d.ts +2 -0
  839. package/dist/generated/regionTowns.js +11 -0
  840. package/dist/generated/registry.d.ts +4 -0
  841. package/dist/generated/registry.js +286 -0
  842. package/dist/index.d.ts +19 -0
  843. package/dist/index.js +18 -0
  844. package/dist/node.d.ts +11 -0
  845. package/dist/node.js +11 -0
  846. package/dist/places/countries.json +1670 -0
  847. package/dist/places/facilities.json +11 -0
  848. package/dist/places/index.d.ts +42 -0
  849. package/dist/places/index.js +307 -0
  850. package/dist/places/names.d.mts +15 -0
  851. package/dist/places/names.mjs +36 -0
  852. package/dist/places/places.tsv.br +0 -0
  853. package/dist/places/trackingLocation.d.ts +18 -0
  854. package/dist/places/trackingLocation.js +89 -0
  855. package/dist/providers/coverage.d.ts +31 -0
  856. package/dist/providers/coverage.js +70 -0
  857. package/dist/providers/coverage.json +1744 -0
  858. package/dist/providers/parcelsapp/adapter.d.ts +23 -0
  859. package/dist/providers/parcelsapp/adapter.js +391 -0
  860. package/dist/providers/parcelsapp/http.d.ts +9 -0
  861. package/dist/providers/parcelsapp/http.js +67 -0
  862. package/dist/providers/plan.d.ts +38 -0
  863. package/dist/providers/plan.js +54 -0
  864. package/dist/providers/postal-ninja/adapter.d.ts +17 -0
  865. package/dist/providers/postal-ninja/adapter.js +200 -0
  866. package/dist/providers/seventeentrack/adapter.d.ts +50 -0
  867. package/dist/providers/seventeentrack/adapter.js +165 -0
  868. package/dist/providers/seventeentrack/events.d.ts +4 -0
  869. package/dist/providers/seventeentrack/events.js +56 -0
  870. package/dist/providers/shared/capture.d.ts +46 -0
  871. package/dist/providers/shared/capture.js +92 -0
  872. package/dist/providers/shared/hints.d.ts +16 -0
  873. package/dist/providers/shared/hints.js +37 -0
  874. package/dist/providers/shared/result.d.ts +15 -0
  875. package/dist/providers/shared/result.js +161 -0
  876. package/dist/providers/shared/scans.d.ts +22 -0
  877. package/dist/providers/shared/scans.js +29 -0
  878. package/dist/providers/ship24/adapter.d.ts +17 -0
  879. package/dist/providers/ship24/adapter.js +140 -0
  880. package/dist/providers/ship24/http.d.ts +7 -0
  881. package/dist/providers/ship24/http.js +75 -0
  882. package/dist/providers/types.d.ts +1 -0
  883. package/dist/providers/types.js +1 -0
  884. package/dist/providers/universal.d.ts +66 -0
  885. package/dist/providers/universal.js +95 -0
  886. package/dist/providers/upu/adapter.d.ts +5 -0
  887. package/dist/providers/upu/adapter.js +107 -0
  888. package/dist/scripts/canary-report.d.mts +22 -0
  889. package/dist/scripts/canary-report.mjs +69 -0
  890. package/dist/scripts/carrier-canary.d.ts +50 -0
  891. package/dist/scripts/carrier-canary.js +220 -0
  892. package/dist/server/index.d.ts +20 -0
  893. package/dist/server/index.js +226 -0
  894. package/dist/server/openapi.json +487 -0
  895. package/dist/server/page.d.ts +1 -0
  896. package/dist/server/page.js +33 -0
  897. package/package.json +102 -4
@@ -0,0 +1,55 @@
1
+ import { clean } from '../../core/transport/index.js';
2
+ /** Lower-case, unaccent and reduce a French label to letters, digits and single spaces. */
3
+ export function comparableText(value) {
4
+ return clean(value)
5
+ .toLocaleLowerCase('fr-FR')
6
+ .normalize('NFD')
7
+ .replace(/\p{Diacritic}/gu, '')
8
+ .replace(/[^\p{Letter}\p{Number}]+/gu, ' ')
9
+ .replace(/\s+/g, ' ')
10
+ .trim();
11
+ }
12
+ function includesAny(value, phrases) {
13
+ return phrases.some((phrase) => value.includes(phrase));
14
+ }
15
+ export function classifyCiblexStatus(rawDescription) {
16
+ const value = comparableText(rawDescription);
17
+ if (/\b(?:prevu|prevue|demain|prochainement|sera|seront|doit|doivent)\b/.test(value)
18
+ || /\b(?:pas|jamais)\b/.test(value)) {
19
+ return { status: 'unknown', stage: 'in_transit', description: 'Ciblex tracking update' };
20
+ }
21
+ if (includesAny(value, ['retour expediteur', 'retourne a l expediteur', 'retour a l expediteur'])) {
22
+ return { status: 'exception', stage: 'returned', description: 'Returned to sender' };
23
+ }
24
+ if (includesAny(value, ['colis livre', 'livraison effectuee', 'remis au destinataire'])) {
25
+ return { status: 'delivered', stage: 'delivered', description: 'Delivered' };
26
+ }
27
+ if (includesAny(value, ['mis en livraison', 'mise en livraison', 'en cours de livraison'])) {
28
+ return { status: 'out_for_delivery', stage: 'out_for_delivery', description: 'Out for delivery' };
29
+ }
30
+ if (includesAny(value, ['disponible en relais', 'disponible au relais', 'mis a disposition'])) {
31
+ return { status: 'out_for_delivery', stage: 'ready_for_pickup', description: 'Ready for pickup' };
32
+ }
33
+ if (includesAny(value, [
34
+ 'complement adresse',
35
+ 'adresse incorrecte',
36
+ 'incident',
37
+ 'anomalie',
38
+ 'refuse',
39
+ ])) {
40
+ return { status: 'exception', stage: 'exception', description: 'Shipment exception' };
41
+ }
42
+ if (includesAny(value, ['destinataire absent', 'non livre'])) {
43
+ return { status: 'exception', stage: 'failed_attempt', description: 'Delivery issue' };
44
+ }
45
+ if (includesAny(value, ['colis controle', 'colis en transit', 'arrive agence', 'depart agence'])) {
46
+ return { status: 'in_transit', stage: 'in_transit', description: 'Parcel processed at Ciblex facility' };
47
+ }
48
+ if (includesAny(value, ['colis pris en charge', 'prise en charge'])) {
49
+ return { status: 'in_transit', stage: 'accepted', description: 'Shipment collected' };
50
+ }
51
+ if (includesAny(value, ['annonce', 'information recue'])) {
52
+ return { status: 'pending', stage: 'registered', description: 'Shipment information received' };
53
+ }
54
+ return { status: 'unknown', stage: 'in_transit', description: 'Ciblex tracking update' };
55
+ }
@@ -0,0 +1,221 @@
1
+ {
2
+ "carrier": "ciblex",
3
+ "entries": [
4
+ {
5
+ "wording": "retour expediteur",
6
+ "language": "fr",
7
+ "stage": "returned",
8
+ "confirmedBy": "fixture",
9
+ "firstSeen": "2026-09-12",
10
+ "note": "Matched on the fixture row \"Retour expéditeur\"."
11
+ },
12
+ {
13
+ "wording": "retourne a l expediteur",
14
+ "language": "fr",
15
+ "stage": "returned",
16
+ "confirmedBy": "prior-art",
17
+ "firstSeen": "2026-09-12",
18
+ "note": "Spelling variant inherited from the pre-package adapter; source not recorded."
19
+ },
20
+ {
21
+ "wording": "retour a l expediteur",
22
+ "language": "fr",
23
+ "stage": "returned",
24
+ "confirmedBy": "prior-art",
25
+ "firstSeen": "2026-09-12",
26
+ "note": "Spelling variant inherited from the pre-package adapter; source not recorded."
27
+ },
28
+ {
29
+ "wording": "colis livre",
30
+ "language": "fr",
31
+ "stage": "delivered",
32
+ "confirmedBy": "live",
33
+ "firstSeen": "2026-09-12",
34
+ "note": "Native event-table wording."
35
+ },
36
+ {
37
+ "wording": "livraison effectuee",
38
+ "language": "fr",
39
+ "stage": "delivered",
40
+ "confirmedBy": "prior-art",
41
+ "firstSeen": "2026-09-12",
42
+ "note": "Inherited from the pre-package adapter; source not recorded."
43
+ },
44
+ {
45
+ "wording": "remis au destinataire",
46
+ "language": "fr",
47
+ "stage": "delivered",
48
+ "confirmedBy": "prior-art",
49
+ "firstSeen": "2026-09-12",
50
+ "note": "Inherited from the pre-package adapter; source not recorded."
51
+ },
52
+ {
53
+ "wording": "mis en livraison",
54
+ "language": "fr",
55
+ "stage": "out_for_delivery",
56
+ "confirmedBy": "live",
57
+ "firstSeen": "2026-09-12",
58
+ "note": "Native event-table wording."
59
+ },
60
+ {
61
+ "wording": "mise en livraison",
62
+ "language": "fr",
63
+ "stage": "out_for_delivery",
64
+ "confirmedBy": "prior-art",
65
+ "firstSeen": "2026-09-12",
66
+ "note": "Spelling variant inherited from the pre-package adapter; source not recorded."
67
+ },
68
+ {
69
+ "wording": "en cours de livraison",
70
+ "language": "fr",
71
+ "stage": "out_for_delivery",
72
+ "confirmedBy": "prior-art",
73
+ "firstSeen": "2026-09-12",
74
+ "note": "Inherited from the pre-package adapter; source not recorded."
75
+ },
76
+ {
77
+ "wording": "disponible au relais",
78
+ "language": "fr",
79
+ "stage": "ready_for_pickup",
80
+ "confirmedBy": "fixture",
81
+ "firstSeen": "2026-09-12",
82
+ "note": "Matched on the fixture row \"Disponible au relais\"."
83
+ },
84
+ {
85
+ "wording": "disponible en relais",
86
+ "language": "fr",
87
+ "stage": "ready_for_pickup",
88
+ "confirmedBy": "prior-art",
89
+ "firstSeen": "2026-09-12",
90
+ "note": "Spelling variant inherited from the pre-package adapter; source not recorded."
91
+ },
92
+ {
93
+ "wording": "mis a disposition",
94
+ "language": "fr",
95
+ "stage": "ready_for_pickup",
96
+ "confirmedBy": "prior-art",
97
+ "firstSeen": "2026-09-12",
98
+ "note": "Inherited from the pre-package adapter; source not recorded."
99
+ },
100
+ {
101
+ "wording": "complement adresse",
102
+ "language": "fr",
103
+ "stage": "exception",
104
+ "confirmedBy": "fixture",
105
+ "firstSeen": "2026-09-12",
106
+ "note": "Matched on the fixture row \"COMPLEMENT ADRESSE\"; such rows carry the recipient address, so their place cell is dropped. Reclassified to exception 2026-09-12."
107
+ },
108
+ {
109
+ "wording": "adresse incorrecte",
110
+ "language": "fr",
111
+ "stage": "exception",
112
+ "confirmedBy": "prior-art",
113
+ "firstSeen": "2026-09-12",
114
+ "note": "Inherited from the pre-package adapter; source not recorded. Reclassified to exception 2026-09-12."
115
+ },
116
+ {
117
+ "wording": "destinataire absent",
118
+ "language": "fr",
119
+ "stage": "failed_attempt",
120
+ "confirmedBy": "prior-art",
121
+ "firstSeen": "2026-09-12",
122
+ "note": "Inherited from the pre-package adapter; source not recorded."
123
+ },
124
+ {
125
+ "wording": "incident",
126
+ "language": "fr",
127
+ "stage": "exception",
128
+ "confirmedBy": "prior-art",
129
+ "firstSeen": "2026-09-12",
130
+ "note": "Inherited from the pre-package adapter; source not recorded. Reclassified to exception 2026-09-12."
131
+ },
132
+ {
133
+ "wording": "anomalie",
134
+ "language": "fr",
135
+ "stage": "exception",
136
+ "confirmedBy": "prior-art",
137
+ "firstSeen": "2026-09-12",
138
+ "note": "Inherited from the pre-package adapter; source not recorded. Reclassified to exception 2026-09-12."
139
+ },
140
+ {
141
+ "wording": "non livre",
142
+ "language": "fr",
143
+ "stage": "failed_attempt",
144
+ "confirmedBy": "prior-art",
145
+ "firstSeen": "2026-09-12",
146
+ "note": "Inherited from the pre-package adapter; source not recorded."
147
+ },
148
+ {
149
+ "wording": "refuse",
150
+ "language": "fr",
151
+ "stage": "exception",
152
+ "confirmedBy": "prior-art",
153
+ "firstSeen": "2026-09-12",
154
+ "note": "Inherited from the pre-package adapter; source not recorded. Reclassified to exception 2026-09-12."
155
+ },
156
+ {
157
+ "wording": "colis controle",
158
+ "language": "fr",
159
+ "stage": "in_transit",
160
+ "confirmedBy": "live",
161
+ "firstSeen": "2026-09-12",
162
+ "note": "Native event-table wording."
163
+ },
164
+ {
165
+ "wording": "colis en transit",
166
+ "language": "fr",
167
+ "stage": "in_transit",
168
+ "confirmedBy": "prior-art",
169
+ "firstSeen": "2026-09-12",
170
+ "note": "Inherited from the pre-package adapter; source not recorded."
171
+ },
172
+ {
173
+ "wording": "arrive agence",
174
+ "language": "fr",
175
+ "stage": "in_transit",
176
+ "confirmedBy": "prior-art",
177
+ "firstSeen": "2026-09-12",
178
+ "note": "Inherited from the pre-package adapter; source not recorded."
179
+ },
180
+ {
181
+ "wording": "depart agence",
182
+ "language": "fr",
183
+ "stage": "in_transit",
184
+ "confirmedBy": "prior-art",
185
+ "firstSeen": "2026-09-12",
186
+ "note": "Inherited from the pre-package adapter; source not recorded."
187
+ },
188
+ {
189
+ "wording": "colis pris en charge",
190
+ "language": "fr",
191
+ "stage": "accepted",
192
+ "confirmedBy": "fixture",
193
+ "firstSeen": "2026-09-12",
194
+ "note": "Matched on the fixture row \"Colis pris en charge\"."
195
+ },
196
+ {
197
+ "wording": "prise en charge",
198
+ "language": "fr",
199
+ "stage": "accepted",
200
+ "confirmedBy": "prior-art",
201
+ "firstSeen": "2026-09-12",
202
+ "note": "Broader variant inherited from the pre-package adapter; source not recorded."
203
+ },
204
+ {
205
+ "wording": "annonce",
206
+ "language": "fr",
207
+ "stage": "registered",
208
+ "confirmedBy": "prior-art",
209
+ "firstSeen": "2026-09-12",
210
+ "note": "Inherited from the pre-package adapter; source not recorded."
211
+ },
212
+ {
213
+ "wording": "information recue",
214
+ "language": "fr",
215
+ "stage": "registered",
216
+ "confirmedBy": "prior-art",
217
+ "firstSeen": "2026-09-12",
218
+ "note": "Inherited from the pre-package adapter; source not recorded."
219
+ }
220
+ ]
221
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Colis Privé: the public "Mon Colis" detail page.
3
+ *
4
+ * One bounded GET per lookup ('direct' step). The page is server-rendered HTML
5
+ * that contains the status banner, the timeline table and — in a `.divDesti`
6
+ * block — the recipient's name and full delivery address. That block is removed
7
+ * before any text is read, so nothing identifying a person can reach the result.
8
+ *
9
+ * The lookup credential is the 12-character shipment number followed by the
10
+ * recipient's 5-digit postcode. The postcode is what makes the page reachable,
11
+ * so it is part of the tracking credential: it is never logged, put in an issue
12
+ * or written into a fixture.
13
+ */
14
+ import { type AdapterFactory } from '../../core/adapter/index.js';
15
+ import { NotFoundError } from '../../core/errors/index.js';
16
+ import type { CarrierResult } from '../../core/result/index.js';
17
+ export { classifyStatus } from './status.js';
18
+ /**
19
+ * Kept as a named class because the host's sync tests and the grouped live
20
+ * suite construct it and match on its name. It is a plain `NotFoundError`.
21
+ */
22
+ export declare class ColisPriveTrackingError extends NotFoundError {
23
+ constructor();
24
+ }
25
+ export declare function normalizeColisPriveCredential(raw: string): string;
26
+ export declare function colisPriveTrackingUrl(rawCredential: string): string;
27
+ export declare function parseColisPriveTrackingHtml(html: string, rawCredential: string): CarrierResult;
28
+ export interface ColisPriveTrackerOptions {
29
+ timeoutMs?: number;
30
+ /** Test seam; production uses the global fetch. */
31
+ fetcher?: typeof fetch;
32
+ }
33
+ export declare class ColisPriveTracker {
34
+ #private;
35
+ readonly timeoutMs: number;
36
+ constructor(options?: ColisPriveTrackerOptions);
37
+ fetch(rawCredential: string): Promise<CarrierResult>;
38
+ }
39
+ export declare const adapter: AdapterFactory;
@@ -0,0 +1,72 @@
1
+ {
2
+ "id": "colis-prive",
3
+ "displayName": "Colis Privé",
4
+ "aliases": [
5
+ "Colis Prive"
6
+ ],
7
+ "region": {
8
+ "countries": [
9
+ "FR"
10
+ ]
11
+ },
12
+ "brand": {
13
+ "color": "#e30613"
14
+ },
15
+ "selectable": true,
16
+ "timezone": "Europe/Paris",
17
+ "tracking": {
18
+ "mode": "automatic",
19
+ "adapter": "colis-prive",
20
+ "steps": [
21
+ "direct"
22
+ ],
23
+ "recognition": {
24
+ "rank": 30
25
+ }
26
+ },
27
+ "capabilities": [
28
+ "history"
29
+ ],
30
+ "portal": {
31
+ "url": "https://colisprive.com/moncolis/pages/DetailColis.aspx?numColis={trackingNumber}&lang=fr",
32
+ "canaryUrl": "https://colisprive.com/moncolis/pages/DetailColis.aspx",
33
+ "shows": [
34
+ "status",
35
+ "history",
36
+ "recipient_name",
37
+ "recipient_address"
38
+ ],
39
+ "scraped": [
40
+ "status",
41
+ "history"
42
+ ],
43
+ "discarded": [
44
+ "recipient_name",
45
+ "recipient_address"
46
+ ],
47
+ "unavailable": []
48
+ },
49
+ "links": [
50
+ {
51
+ "domains": [
52
+ "colisprive.com",
53
+ "colisprive.fr"
54
+ ],
55
+ "params": [
56
+ "numColis"
57
+ ]
58
+ }
59
+ ],
60
+ "detection": [
61
+ {
62
+ "id": "colis-prive-1",
63
+ "pattern": "^[A-Z0-9]{12}(?:0[1-9]|[1-8]\\d|9[0-5]|97|98)\\d{3}$",
64
+ "confidence": "low"
65
+ },
66
+ {
67
+ "id": "colis-prive-2",
68
+ "pattern": "^[A-Z0-9]{12}$",
69
+ "confidence": "low"
70
+ }
71
+ ]
72
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "carrier": "colis-prive",
3
+ "records": [
4
+ {
5
+ "number": "431 001 411 698",
6
+ "role": "shipment",
7
+ "evidence": "public_shipment_report",
8
+ "source": {
9
+ "url": "https://www.trustpilot.com/reviews/6ab69eff549e166662e257d4",
10
+ "date": "2026-09-25"
11
+ },
12
+ "expect": {
13
+ "carrier": "unknown",
14
+ "confidence": "low",
15
+ "candidates": [
16
+ "fedex",
17
+ "mondial-relay",
18
+ "colis-prive",
19
+ "mrw",
20
+ "purolator",
21
+ "sf-express",
22
+ "sto",
23
+ "zto",
24
+ "yamato",
25
+ "j-and-t"
26
+ ]
27
+ },
28
+ "note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to Colis Privé, which stays one candidate among several."
29
+ },
30
+ {
31
+ "number": "HS0000329755",
32
+ "role": "shipment",
33
+ "evidence": "public_shipment_report",
34
+ "source": {
35
+ "url": "https://fr-be.trustpilot.com/review/boutikplus.fr",
36
+ "date": "2026-01-19"
37
+ },
38
+ "expect": {
39
+ "carrier": "unknown",
40
+ "confidence": "low",
41
+ "candidates": [
42
+ "colis-prive"
43
+ ]
44
+ },
45
+ "note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to Colis Privé, which stays one candidate among several."
46
+ },
47
+ {
48
+ "number": "R99600071550",
49
+ "role": "shipment",
50
+ "evidence": "merchant_published_example",
51
+ "source": {
52
+ "url": "https://marketplace.fnacdarty.com/s/article/Dois-je-obligatoirement-renseigner-un-num%C3%A9ro-de-suivi-tracking-pour-ma-commande?language=fr_BE"
53
+ },
54
+ "expect": {
55
+ "carrier": "unknown",
56
+ "confidence": "low",
57
+ "candidates": [
58
+ "colis-prive"
59
+ ]
60
+ },
61
+ "note": "Published integration example, not a real shipment. The source attributes it to Colis Privé, which stays one candidate among several."
62
+ },
63
+ {
64
+ "number": "WT0004403087",
65
+ "role": "shipment",
66
+ "evidence": "public_shipment_report",
67
+ "source": {
68
+ "url": "https://www.trustpilot.com/reviews/6ab3c577c2d2ef2146c930ae",
69
+ "date": "2026-09-23"
70
+ },
71
+ "expect": {
72
+ "carrier": "unknown",
73
+ "confidence": "low",
74
+ "candidates": [
75
+ "colis-prive"
76
+ ]
77
+ },
78
+ "note": "Publicly reported shipment number; the attribution was not independently verified. The source attributes it to Colis Privé, which stays one candidate among several."
79
+ },
80
+ {
81
+ "number": "ZE0000294369",
82
+ "role": "shipment",
83
+ "evidence": "merchant_published_example",
84
+ "source": {
85
+ "url": "https://marketplace.fnacdarty.com/s/article/Dois-je-obligatoirement-renseigner-un-num%C3%A9ro-de-suivi-tracking-pour-ma-commande?language=fr_BE"
86
+ },
87
+ "expect": {
88
+ "carrier": "unknown",
89
+ "confidence": "low",
90
+ "candidates": [
91
+ "colis-prive"
92
+ ]
93
+ },
94
+ "note": "Published integration example, not a real shipment. The source attributes it to Colis Privé, which stays one candidate among several."
95
+ }
96
+ ]
97
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Colis Privé wording classifier.
3
+ *
4
+ * The recipient page shows French sentences and no status code, so the only
5
+ * thing to map is wording. Rows are compared after accents, case and
6
+ * punctuation are removed, and each rule is a substring of the sentence the
7
+ * page prints. The first matching group wins, so the exception and return
8
+ * groups are checked before the delivery ones: "nous avons tenté de livrer"
9
+ * must not be read as a delivery. Wording that matches nothing stays unmapped —
10
+ * the adapter emits the row with no stage and the sync classifies it.
11
+ */
12
+ import type { CarrierStatus } from '../../core/result/index.js';
13
+ import type { Stage } from '../../generated/catalog.js';
14
+ export interface ClassifiedStatus {
15
+ status: CarrierStatus;
16
+ /** Absent when no rule matched: the sync's classifier decides instead. */
17
+ stage?: Stage;
18
+ }
19
+ /** Lowercase, strip accents, and reduce anything that is not a letter or digit to one space. */
20
+ export declare function comparableText(value: string): string;
21
+ export declare const RETURNED_PHRASES: readonly ["retour a l expediteur", "retourne a l expediteur", "retour expediteur"];
22
+ export declare const FAILED_ATTEMPT_PHRASES: readonly ["avons tente de livrer", "n avons pas pu livrer", "echec de livraison", "n a pas pu etre livre", "subi un retard"];
23
+ /** Carrier-reported problems that are neither a missed attempt nor a return. */
24
+ export declare const EXCEPTION_PHRASES: readonly ["adresse incorrecte", "incident", "anomalie", "endommage", "refuse", "perdu"];
25
+ export declare const DELIVERED_PHRASES: readonly ["a ete livre", "vous a ete remis au relais", "remis au destinataire", "livraison effectuee"];
26
+ export declare const READY_FOR_PICKUP_PHRASES: readonly ["vous attend au relais", "disponible au relais", "disponible en point relais", "disponible en consigne"];
27
+ export declare const OUT_FOR_DELIVERY_PHRASES: readonly ["en cours de distribution par le livreur", "en cours de livraison par le livreur"];
28
+ export declare const REGISTERED_PHRASES: readonly ["en cours de preparation par l expediteur", "sera confie prochainement", "information transmise par l expediteur"];
29
+ export declare const IN_TRANSIT_PHRASES: readonly ["pris en charge", "en cours d acheminement", "arrive sur notre agence", "arrive dans notre agence", "expedie vers", "va etre prochainement depose", "a ete collecte"];
30
+ export declare function classifyStatus(description: string): ClassifiedStatus;
@@ -0,0 +1,85 @@
1
+ import { clean } from '../../core/transport/index.js';
2
+ /** Lowercase, strip accents, and reduce anything that is not a letter or digit to one space. */
3
+ export function comparableText(value) {
4
+ return clean(value)
5
+ .toLocaleLowerCase('fr-FR')
6
+ .normalize('NFD')
7
+ .replace(/\p{Diacritic}/gu, '')
8
+ .replace(/[^\p{Letter}\p{Number}]+/gu, ' ')
9
+ .replace(/\s+/g, ' ')
10
+ .trim();
11
+ }
12
+ function includesAny(value, phrases) {
13
+ return phrases.some((phrase) => value.includes(phrase));
14
+ }
15
+ export const RETURNED_PHRASES = [
16
+ 'retour a l expediteur',
17
+ 'retourne a l expediteur',
18
+ 'retour expediteur',
19
+ ];
20
+ export const FAILED_ATTEMPT_PHRASES = [
21
+ 'avons tente de livrer',
22
+ 'n avons pas pu livrer',
23
+ 'echec de livraison',
24
+ 'n a pas pu etre livre',
25
+ 'subi un retard',
26
+ ];
27
+ /** Carrier-reported problems that are neither a missed attempt nor a return. */
28
+ export const EXCEPTION_PHRASES = [
29
+ 'adresse incorrecte',
30
+ 'incident',
31
+ 'anomalie',
32
+ 'endommage',
33
+ 'refuse',
34
+ 'perdu',
35
+ ];
36
+ export const DELIVERED_PHRASES = [
37
+ 'a ete livre',
38
+ 'vous a ete remis au relais',
39
+ 'remis au destinataire',
40
+ 'livraison effectuee',
41
+ ];
42
+ export const READY_FOR_PICKUP_PHRASES = [
43
+ 'vous attend au relais',
44
+ 'disponible au relais',
45
+ 'disponible en point relais',
46
+ 'disponible en consigne',
47
+ ];
48
+ export const OUT_FOR_DELIVERY_PHRASES = [
49
+ 'en cours de distribution par le livreur',
50
+ 'en cours de livraison par le livreur',
51
+ ];
52
+ export const REGISTERED_PHRASES = [
53
+ 'en cours de preparation par l expediteur',
54
+ 'sera confie prochainement',
55
+ 'information transmise par l expediteur',
56
+ ];
57
+ export const IN_TRANSIT_PHRASES = [
58
+ 'pris en charge',
59
+ 'en cours d acheminement',
60
+ 'arrive sur notre agence',
61
+ 'arrive dans notre agence',
62
+ 'expedie vers',
63
+ 'va etre prochainement depose',
64
+ 'a ete collecte',
65
+ ];
66
+ export function classifyStatus(description) {
67
+ const value = comparableText(description);
68
+ if (includesAny(value, RETURNED_PHRASES))
69
+ return { status: 'exception', stage: 'returned' };
70
+ if (includesAny(value, EXCEPTION_PHRASES))
71
+ return { status: 'exception', stage: 'exception' };
72
+ if (includesAny(value, FAILED_ATTEMPT_PHRASES))
73
+ return { status: 'exception', stage: 'failed_attempt' };
74
+ if (includesAny(value, DELIVERED_PHRASES))
75
+ return { status: 'delivered', stage: 'delivered' };
76
+ if (includesAny(value, READY_FOR_PICKUP_PHRASES))
77
+ return { status: 'out_for_delivery', stage: 'ready_for_pickup' };
78
+ if (includesAny(value, OUT_FOR_DELIVERY_PHRASES))
79
+ return { status: 'out_for_delivery', stage: 'out_for_delivery' };
80
+ if (includesAny(value, REGISTERED_PHRASES))
81
+ return { status: 'pending', stage: 'registered' };
82
+ if (includesAny(value, IN_TRANSIT_PHRASES))
83
+ return { status: 'in_transit', stage: 'in_transit' };
84
+ return { status: 'unknown' };
85
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "carrier": "colis-prive",
3
+ "entries": [
4
+ { "wording": "retour à l'expéditeur", "language": "fr", "stage": "returned", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Matched as a substring, accents and punctuation removed." },
5
+ { "wording": "retourné à l'expéditeur", "language": "fr", "stage": "returned", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
6
+ { "wording": "retour expéditeur", "language": "fr", "stage": "returned", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
7
+ { "wording": "nous avons tenté de livrer", "language": "fr", "stage": "failed_attempt", "confirmedBy": "fixture", "firstSeen": "2026-09-12", "note": "Checked before the delivery wording so it is not read as a delivery." },
8
+ { "wording": "n'avons pas pu livrer", "language": "fr", "stage": "failed_attempt", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
9
+ { "wording": "échec de livraison", "language": "fr", "stage": "failed_attempt", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
10
+ { "wording": "n'a pas pu être livré", "language": "fr", "stage": "failed_attempt", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
11
+ { "wording": "subi un retard", "language": "fr", "stage": "failed_attempt", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
12
+ { "wording": "adresse incorrecte", "language": "fr", "stage": "exception", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Reclassified to exception 2026-09-12." },
13
+ { "wording": "incident", "language": "fr", "stage": "exception", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Reclassified to exception 2026-09-12." },
14
+ { "wording": "anomalie", "language": "fr", "stage": "exception", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Reclassified to exception 2026-09-12." },
15
+ { "wording": "endommagé", "language": "fr", "stage": "exception", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Reclassified to exception 2026-09-12." },
16
+ { "wording": "refusé", "language": "fr", "stage": "exception", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Reclassified to exception 2026-09-12." },
17
+ { "wording": "perdu", "language": "fr", "stage": "exception", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "Reclassified to exception 2026-09-12." },
18
+ { "wording": "a été livré", "language": "fr", "stage": "delivered", "confirmedBy": "fixture", "firstSeen": "2026-09-12", "note": "Covers the letterbox and hand-over wordings." },
19
+ { "wording": "vous a été remis au relais", "language": "fr", "stage": "delivered", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
20
+ { "wording": "remis au destinataire", "language": "fr", "stage": "delivered", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
21
+ { "wording": "livraison effectuée", "language": "fr", "stage": "delivered", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
22
+ { "wording": "vous attend au relais", "language": "fr", "stage": "ready_for_pickup", "confirmedBy": "fixture", "firstSeen": "2026-09-12", "note": "" },
23
+ { "wording": "disponible au relais", "language": "fr", "stage": "ready_for_pickup", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
24
+ { "wording": "disponible en point relais", "language": "fr", "stage": "ready_for_pickup", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
25
+ { "wording": "disponible en consigne", "language": "fr", "stage": "ready_for_pickup", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
26
+ { "wording": "en cours de distribution par le livreur", "language": "fr", "stage": "out_for_delivery", "confirmedBy": "fixture", "firstSeen": "2026-09-12", "note": "" },
27
+ { "wording": "en cours de livraison par le livreur", "language": "fr", "stage": "out_for_delivery", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "The phrase must name the driver; a bare \"en cours de livraison\" is not mapped here." },
28
+ { "wording": "en cours de préparation par l'expéditeur", "language": "fr", "stage": "registered", "confirmedBy": "fixture", "firstSeen": "2026-09-12", "note": "" },
29
+ { "wording": "sera confié prochainement", "language": "fr", "stage": "registered", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
30
+ { "wording": "information transmise par l'expéditeur", "language": "fr", "stage": "registered", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
31
+ { "wording": "pris en charge", "language": "fr", "stage": "in_transit", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
32
+ { "wording": "en cours d'acheminement", "language": "fr", "stage": "in_transit", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
33
+ { "wording": "arrivé sur notre agence", "language": "fr", "stage": "in_transit", "confirmedBy": "fixture", "firstSeen": "2026-09-12", "note": "" },
34
+ { "wording": "arrivé dans notre agence", "language": "fr", "stage": "in_transit", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
35
+ { "wording": "expédié vers", "language": "fr", "stage": "in_transit", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
36
+ { "wording": "va être prochainement déposé", "language": "fr", "stage": "in_transit", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" },
37
+ { "wording": "a été collecté", "language": "fr", "stage": "in_transit", "confirmedBy": "official-doc", "firstSeen": "2026-09-12", "note": "" }
38
+ ]
39
+ }