@hszrdm/core 1.7.0 → 1.9.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 (233) hide show
  1. package/.medusa/server/src/admin/index.js +6832 -5418
  2. package/.medusa/server/src/admin/index.mjs +6834 -5420
  3. package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.d.ts +2 -0
  4. package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.js +26 -0
  5. package/.medusa/server/src/api/admin/billingo/advance/route.d.ts +8 -0
  6. package/.medusa/server/src/api/admin/billingo/advance/route.js +55 -0
  7. package/.medusa/server/src/api/admin/billingo/partial-credit/route.d.ts +8 -0
  8. package/.medusa/server/src/api/admin/billingo/partial-credit/route.js +69 -0
  9. package/.medusa/server/src/api/admin/documents/[id]/route.d.ts +22 -0
  10. package/.medusa/server/src/api/admin/documents/[id]/route.js +107 -0
  11. package/.medusa/server/src/api/admin/documents/route.d.ts +21 -0
  12. package/.medusa/server/src/api/admin/documents/route.js +117 -0
  13. package/.medusa/server/src/api/admin/google-ads/diagnostics/route.d.ts +2 -0
  14. package/.medusa/server/src/api/admin/google-ads/diagnostics/route.js +26 -0
  15. package/.medusa/server/src/api/admin/google-ads/oauth/start/route.d.ts +2 -0
  16. package/.medusa/server/src/api/admin/google-ads/oauth/start/route.js +27 -0
  17. package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.d.ts +2 -0
  18. package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.js +69 -0
  19. package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.js +26 -0
  21. package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.d.ts +2 -0
  22. package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.js +25 -0
  23. package/.medusa/server/src/api/admin/integrations/[key]/verify/route.d.ts +2 -0
  24. package/.medusa/server/src/api/admin/integrations/[key]/verify/route.js +79 -0
  25. package/.medusa/server/src/api/admin/orders/[id]/billingo/route.js +10 -1
  26. package/.medusa/server/src/api/admin/orders/[id]/foxpost/create/route.d.ts +3 -5
  27. package/.medusa/server/src/api/admin/orders/[id]/foxpost/create/route.js +7 -14
  28. package/.medusa/server/src/api/admin/orders/[id]/foxpost/label/route.js +12 -6
  29. package/.medusa/server/src/api/admin/orders/[id]/gls/create/route.d.ts +2 -1
  30. package/.medusa/server/src/api/admin/orders/[id]/gls/create/route.js +6 -14
  31. package/.medusa/server/src/api/admin/orders/[id]/gls/label/route.js +9 -4
  32. package/.medusa/server/src/api/admin/orders/[id]/shipping/label/route.js +4 -2
  33. package/.medusa/server/src/api/admin/orders/[id]/shipping/route.d.ts +1 -2
  34. package/.medusa/server/src/api/admin/orders/[id]/shipping/route.js +46 -8
  35. package/.medusa/server/src/api/admin/shipping/bulk/create/route.d.ts +3 -6
  36. package/.medusa/server/src/api/admin/shipping/bulk/create/route.js +6 -57
  37. package/.medusa/server/src/api/admin/shipping/bulk/labels/route.js +4 -2
  38. package/.medusa/server/src/api/admin/shipping/mpl/close/route.d.ts +1 -1
  39. package/.medusa/server/src/api/admin/shipping/mpl/close/route.js +48 -70
  40. package/.medusa/server/src/api/admin/shipping/orders/route.js +19 -4
  41. package/.medusa/server/src/api/auth/google-ads/callback/route.d.ts +2 -0
  42. package/.medusa/server/src/api/auth/google-ads/callback/route.js +58 -0
  43. package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.d.ts +2 -0
  44. package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.js +33 -0
  45. package/.medusa/server/src/api/feeds/google-merchant.xml/route.js +5 -3
  46. package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.d.ts +2 -0
  47. package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.js +211 -0
  48. package/.medusa/server/src/api/hooks/simplepay/ipn/route.js +113 -23
  49. package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.d.ts +2 -0
  50. package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.js +113 -0
  51. package/.medusa/server/src/api/store/arukereso/backlink/route.d.ts +2 -0
  52. package/.medusa/server/src/api/store/arukereso/backlink/route.js +73 -0
  53. package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.d.ts +2 -0
  54. package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.js +84 -0
  55. package/.medusa/server/src/api/store/arukereso/widget/route.d.ts +2 -0
  56. package/.medusa/server/src/api/store/arukereso/widget/route.js +64 -0
  57. package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +3 -2
  58. package/.medusa/server/src/api/store/cms/entries/route.js +3 -2
  59. package/.medusa/server/src/api/store/documents/route.d.ts +2 -0
  60. package/.medusa/server/src/api/store/documents/route.js +84 -0
  61. package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.d.ts +2 -0
  62. package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.js +50 -0
  63. package/.medusa/server/src/config.d.ts +3 -3
  64. package/.medusa/server/src/config.js +70 -87
  65. package/.medusa/server/src/core/documents.d.ts +31 -0
  66. package/.medusa/server/src/core/documents.js +47 -0
  67. package/.medusa/server/src/core/version.d.ts +2 -2
  68. package/.medusa/server/src/core/version.js +2 -2
  69. package/.medusa/server/src/jobs/mpl-status-sync.js +10 -6
  70. package/.medusa/server/src/jobs/shipping-status-sync-eligibility.d.ts +5 -0
  71. package/.medusa/server/src/jobs/shipping-status-sync-eligibility.js +26 -0
  72. package/.medusa/server/src/jobs/shipping-status-sync.d.ts +6 -0
  73. package/.medusa/server/src/jobs/shipping-status-sync.js +63 -28
  74. package/.medusa/server/src/lib/modules/arukereso/index.d.ts +1 -0
  75. package/.medusa/server/src/lib/modules/arukereso/index.js +2 -1
  76. package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.d.ts +19 -0
  77. package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.js +100 -0
  78. package/.medusa/server/src/lib/modules/billingo/actions.js +42 -12
  79. package/.medusa/server/src/lib/modules/billingo/advance.d.ts +68 -0
  80. package/.medusa/server/src/lib/modules/billingo/advance.js +309 -0
  81. package/.medusa/server/src/lib/modules/billingo/automation.js +49 -9
  82. package/.medusa/server/src/lib/modules/billingo/client.d.ts +5 -2
  83. package/.medusa/server/src/lib/modules/billingo/client.js +17 -8
  84. package/.medusa/server/src/lib/modules/billingo/index.d.ts +2 -0
  85. package/.medusa/server/src/lib/modules/billingo/index.js +3 -1
  86. package/.medusa/server/src/lib/modules/billingo/mapper.d.ts +42 -2
  87. package/.medusa/server/src/lib/modules/billingo/mapper.js +77 -4
  88. package/.medusa/server/src/lib/modules/billingo/partial-credit.d.ts +55 -0
  89. package/.medusa/server/src/lib/modules/billingo/partial-credit.js +338 -0
  90. package/.medusa/server/src/lib/modules/billingo/types.d.ts +21 -2
  91. package/.medusa/server/src/lib/modules/google-ads/adjustments.d.ts +21 -0
  92. package/.medusa/server/src/lib/modules/google-ads/adjustments.js +146 -0
  93. package/.medusa/server/src/lib/modules/google-ads/api.d.ts +23 -0
  94. package/.medusa/server/src/lib/modules/google-ads/api.js +171 -0
  95. package/.medusa/server/src/lib/modules/google-ads/diagnostics.d.ts +47 -0
  96. package/.medusa/server/src/lib/modules/google-ads/diagnostics.js +164 -0
  97. package/.medusa/server/src/lib/modules/google-merchant/category-fields.d.ts +7 -0
  98. package/.medusa/server/src/lib/modules/google-merchant/category-fields.js +210 -0
  99. package/.medusa/server/src/lib/modules/google-merchant/data-source.d.ts +17 -0
  100. package/.medusa/server/src/lib/modules/google-merchant/data-source.js +132 -0
  101. package/.medusa/server/src/lib/modules/google-merchant/diagnostics.d.ts +33 -0
  102. package/.medusa/server/src/lib/modules/google-merchant/diagnostics.js +113 -0
  103. package/.medusa/server/src/lib/modules/google-merchant/index.d.ts +5 -0
  104. package/.medusa/server/src/lib/modules/google-merchant/index.js +6 -1
  105. package/.medusa/server/src/lib/modules/google-merchant/merchant-api.d.ts +18 -0
  106. package/.medusa/server/src/lib/modules/google-merchant/merchant-api.js +120 -0
  107. package/.medusa/server/src/lib/modules/google-merchant/shipping.d.ts +13 -0
  108. package/.medusa/server/src/lib/modules/google-merchant/shipping.js +97 -0
  109. package/.medusa/server/src/lib/modules/google-tag-manager/api.d.ts +1 -0
  110. package/.medusa/server/src/lib/modules/google-tag-manager/api.js +3 -0
  111. package/.medusa/server/src/lib/modules/google-tag-manager/index.d.ts +1 -0
  112. package/.medusa/server/src/lib/modules/google-tag-manager/index.js +3 -0
  113. package/.medusa/server/src/lib/modules/google-tag-manager/sync.d.ts +1 -0
  114. package/.medusa/server/src/lib/modules/google-tag-manager/sync.js +3 -0
  115. package/.medusa/server/src/lib/modules/shipping/actions.d.ts +2 -2
  116. package/.medusa/server/src/lib/modules/shipping/actions.js +171 -352
  117. package/.medusa/server/src/lib/modules/shipping/durable-create.d.ts +2 -1
  118. package/.medusa/server/src/lib/modules/shipping/durable-create.js +33 -5
  119. package/.medusa/server/src/lib/modules/shipping/idempotency.js +4 -2
  120. package/.medusa/server/src/lib/modules/shipping/index.d.ts +1 -0
  121. package/.medusa/server/src/lib/modules/shipping/index.js +2 -1
  122. package/.medusa/server/src/lib/modules/shipping/native-fulfillment.d.ts +73 -0
  123. package/.medusa/server/src/lib/modules/shipping/native-fulfillment.js +191 -0
  124. package/.medusa/server/src/lib/modules/shipping/operations.d.ts +28 -0
  125. package/.medusa/server/src/lib/modules/shipping/operations.js +9 -1
  126. package/.medusa/server/src/lib/modules/shipping/print-eligibility.d.ts +12 -0
  127. package/.medusa/server/src/lib/modules/shipping/print-eligibility.js +34 -0
  128. package/.medusa/server/src/lib/modules/shipping/recipient-email.d.ts +18 -0
  129. package/.medusa/server/src/lib/modules/shipping/recipient-email.js +29 -0
  130. package/.medusa/server/src/lib/modules/shipping/resolve.d.ts +9 -0
  131. package/.medusa/server/src/lib/modules/shipping/resolve.js +65 -0
  132. package/.medusa/server/src/lib/modules/shipping/types.d.ts +1 -1
  133. package/.medusa/server/src/modules/core-documents/index.d.ts +38 -0
  134. package/.medusa/server/src/modules/core-documents/index.js +18 -0
  135. package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.d.ts +5 -0
  136. package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.js +22 -0
  137. package/.medusa/server/src/modules/core-documents/models/core-document-assignment.d.ts +9 -0
  138. package/.medusa/server/src/modules/core-documents/models/core-document-assignment.js +18 -0
  139. package/.medusa/server/src/modules/core-documents/models/core-document.d.ts +18 -0
  140. package/.medusa/server/src/modules/core-documents/models/core-document.js +27 -0
  141. package/.medusa/server/src/modules/core-documents/service.d.ts +38 -0
  142. package/.medusa/server/src/modules/core-documents/service.js +13 -0
  143. package/.medusa/server/src/modules/integration-operation/migrations/Migration20261104010000.d.ts +5 -0
  144. package/.medusa/server/src/modules/integration-operation/migrations/Migration20261104010000.js +34 -0
  145. package/.medusa/server/src/modules/integration-operation/models/integration-operation.d.ts +1 -1
  146. package/.medusa/server/src/modules/integration-operation/models/integration-operation.js +2 -2
  147. package/.medusa/server/src/modules/integration-operation/service.d.ts +1 -1
  148. package/.medusa/server/src/modules/integration-operation/state.d.ts +1 -0
  149. package/.medusa/server/src/modules/integration-operation/state.js +11 -50
  150. package/.medusa/server/src/modules/integration-operation/types.d.ts +1 -1
  151. package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +19 -2
  152. package/.medusa/server/src/modules/integration-settings/connection-test.js +20 -4
  153. package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.d.ts +2 -0
  154. package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.js +49 -0
  155. package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.d.ts +1 -0
  156. package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.js +35 -0
  157. package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +23 -2
  158. package/.medusa/server/src/modules/integration-settings/hot-reload-registration.d.ts +1 -0
  159. package/.medusa/server/src/modules/integration-settings/hot-reload-registration.js +23 -0
  160. package/.medusa/server/src/modules/integration-settings/index.d.ts +4 -0
  161. package/.medusa/server/src/modules/integration-settings/index.js +5 -1
  162. package/.medusa/server/src/modules/integration-settings/manager.js +38 -4
  163. package/.medusa/server/src/modules/integration-settings/registry.js +1 -14
  164. package/.medusa/server/src/modules/integration-settings/reloadable.d.ts +10 -0
  165. package/.medusa/server/src/modules/integration-settings/reloadable.js +58 -0
  166. package/.medusa/server/src/modules/integration-settings/runtime-snapshot.d.ts +9 -0
  167. package/.medusa/server/src/modules/integration-settings/runtime-snapshot.js +48 -3
  168. package/.medusa/server/src/modules/integration-settings/simplepay-registration.d.ts +1 -0
  169. package/.medusa/server/src/modules/integration-settings/simplepay-registration.js +18 -0
  170. package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -5
  171. package/.medusa/server/src/providers/csomagpiac/client.d.ts +25 -0
  172. package/.medusa/server/src/providers/csomagpiac/client.js +144 -0
  173. package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.d.ts +50 -0
  174. package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +248 -0
  175. package/.medusa/server/src/providers/csomagpiac/index.d.ts +7 -0
  176. package/.medusa/server/src/providers/csomagpiac/index.js +30 -0
  177. package/.medusa/server/src/providers/csomagpiac/service.d.ts +60 -0
  178. package/.medusa/server/src/providers/csomagpiac/service.js +296 -0
  179. package/.medusa/server/src/providers/csomagpiac/types.d.ts +66 -0
  180. package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
  181. package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +5 -1
  182. package/.medusa/server/src/providers/dpd/fulfillment-provider.js +94 -27
  183. package/.medusa/server/src/providers/dpd/service.d.ts +2 -0
  184. package/.medusa/server/src/providers/dpd/service.js +32 -4
  185. package/.medusa/server/src/providers/dpd/types.d.ts +1 -0
  186. package/.medusa/server/src/providers/dpd/types.js +1 -1
  187. package/.medusa/server/src/providers/email/service.d.ts +7 -6
  188. package/.medusa/server/src/providers/email/service.js +51 -25
  189. package/.medusa/server/src/providers/foxpost/foxpost-service.d.ts +3 -1
  190. package/.medusa/server/src/providers/foxpost/foxpost-service.js +19 -17
  191. package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +10 -3
  192. package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +99 -69
  193. package/.medusa/server/src/providers/foxpost/types.d.ts +1 -0
  194. package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +4 -0
  195. package/.medusa/server/src/providers/gls/fulfillment-provider.js +87 -17
  196. package/.medusa/server/src/providers/gls/gls-service.d.ts +19 -1
  197. package/.medusa/server/src/providers/gls/gls-service.js +32 -64
  198. package/.medusa/server/src/providers/gls/types.d.ts +16 -0
  199. package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +4 -0
  200. package/.medusa/server/src/providers/mpl/fulfillment-provider.js +67 -176
  201. package/.medusa/server/src/providers/mpl/index.d.ts +2 -0
  202. package/.medusa/server/src/providers/mpl/index.js +7 -2
  203. package/.medusa/server/src/providers/mpl/service.d.ts +37 -1
  204. package/.medusa/server/src/providers/mpl/service.js +113 -366
  205. package/.medusa/server/src/providers/mpl/types.d.ts +19 -0
  206. package/.medusa/server/src/providers/mpl/types.js +1 -1
  207. package/.medusa/server/src/providers/packeta/client.d.ts +2 -1
  208. package/.medusa/server/src/providers/packeta/client.js +24 -2
  209. package/.medusa/server/src/providers/packeta/fulfillment-provider.d.ts +4 -0
  210. package/.medusa/server/src/providers/packeta/fulfillment-provider.js +84 -9
  211. package/.medusa/server/src/providers/packeta/point-validation.d.ts +2 -0
  212. package/.medusa/server/src/providers/packeta/point-validation.js +99 -0
  213. package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
  214. package/.medusa/server/src/providers/packeta/service.js +91 -23
  215. package/.medusa/server/src/providers/packeta/types.d.ts +27 -0
  216. package/.medusa/server/src/providers/packeta/types.js +1 -1
  217. package/.medusa/server/src/providers/resilient-stripe/index.d.ts +19 -1
  218. package/.medusa/server/src/providers/resilient-stripe/index.js +59 -12
  219. package/.medusa/server/src/providers/simplepay/config.js +11 -1
  220. package/.medusa/server/src/providers/simplepay/index.d.ts +2 -0
  221. package/.medusa/server/src/providers/simplepay/index.js +5 -3
  222. package/.medusa/server/src/providers/simplepay/runtime-service.d.ts +13 -0
  223. package/.medusa/server/src/providers/simplepay/runtime-service.js +55 -0
  224. package/.medusa/server/src/providers/simplepay/service.d.ts +2 -0
  225. package/.medusa/server/src/providers/simplepay/service.js +40 -5
  226. package/.medusa/server/src/scripts/verify-runtime-modules.d.ts +7 -0
  227. package/.medusa/server/src/scripts/verify-runtime-modules.js +46 -0
  228. package/.medusa/server/src/subscribers/google-ads-order-canceled.d.ts +7 -0
  229. package/.medusa/server/src/subscribers/google-ads-order-canceled.js +50 -0
  230. package/.medusa/server/src/subscribers/google-ads-payment-refunded.d.ts +7 -0
  231. package/.medusa/server/src/subscribers/google-ads-payment-refunded.js +181 -0
  232. package/.medusa/server/src/subscribers/simplepay-paid-order-recovery.js +14 -1
  233. package/package.json +23 -18
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.csomagpiacService = exports.CsomagpiacService = exports.CSOMAGPIAC_TEST_URL = exports.CSOMAGPIAC_LIVE_URL = void 0;
4
+ exports.loadCsomagpiacConfig = loadCsomagpiacConfig;
5
+ exports.rejectUnsupportedCsomagpiacRecipientPoint = rejectUnsupportedCsomagpiacRecipientPoint;
6
+ const client_1 = require("./client");
7
+ const reloadable_1 = require("../../modules/integration-settings/reloadable");
8
+ const types_1 = require("./types");
9
+ exports.CSOMAGPIAC_LIVE_URL = "https://bestr.csomagpiac.hu/api/v1/";
10
+ exports.CSOMAGPIAC_TEST_URL = "https://demo.csomagpiac.hu/api/v1/";
11
+ function loadCsomagpiacConfig(env = process.env) {
12
+ const live = env.CSOMAGPIAC_LIVE === "true";
13
+ return {
14
+ apiUrl: env.CSOMAGPIAC_API_URL?.trim() ||
15
+ (live ? exports.CSOMAGPIAC_LIVE_URL : exports.CSOMAGPIAC_TEST_URL),
16
+ token: clean(env.CSOMAGPIAC_TOKEN),
17
+ username: clean(env.CSOMAGPIAC_USERNAME),
18
+ password: clean(env.CSOMAGPIAC_PASSWORD),
19
+ live,
20
+ pickupPointId: positiveInteger(env.CSOMAGPIAC_PICKUP_POINT_ID),
21
+ priceHuf: positiveNumber(env.CSOMAGPIAC_PRICE_HUF) ?? 1990,
22
+ freeShippingThresholdHuf: positiveNumber(env.CSOMAGPIAC_FREE_SHIPPING_THRESHOLD_HUF),
23
+ timeoutMs: positiveNumber(env.CSOMAGPIAC_TIMEOUT_MS) ?? 15000,
24
+ defaultWeightKg: positiveNumber(env.CSOMAGPIAC_DEFAULT_WEIGHT_KG) ?? 1,
25
+ labelFormat: env.CSOMAGPIAC_LABEL_FORMAT === "A6" ? "A6" : "A4",
26
+ };
27
+ }
28
+ /**
29
+ * Csomagpiac pickupPointId is the SENDER's registered collection address.
30
+ * Recipient locker/parcel-shop IDs are NOT interchangeable with this value.
31
+ * Until the recipient-location field is verified from API v1 documentation,
32
+ * fail closed instead of silently producing home-delivery labels.
33
+ */
34
+ function rejectUnsupportedCsomagpiacRecipientPoint(selection) {
35
+ const fields = ["deliveryPointId", "delivery_point_id", "recipientPointId", "recipient_point_id", "pickupPoint", "deliveryPoint", "recipientPoint", "locker", "parcelShop"];
36
+ if (fields.some((field) => selection[field] !== undefined && selection[field] !== null)) {
37
+ throw new types_1.CsomagpiacValidationError("A Csomagpiac címzetti csomagpontja még nincs igazoltan támogatva. " +
38
+ "A pickupPointId kizárólag a feladó felvételi címe. " +
39
+ "Csomagpontra címzéshez hitelesített API-mezőleképezés szükséges.");
40
+ }
41
+ }
42
+ class CsomagpiacService {
43
+ constructor(fallbackConfig) {
44
+ this.fallbackConfig = fallbackConfig;
45
+ this.runtimeClient = (0, reloadable_1.createReloadableIntegrationService)(() => new client_1.CsomagpiacClient(this.config));
46
+ }
47
+ get config() {
48
+ const runtime = loadCsomagpiacConfig();
49
+ const fallback = this.fallbackConfig;
50
+ if (!fallback)
51
+ return runtime;
52
+ const has = (name) => Object.prototype.hasOwnProperty.call(process.env, name);
53
+ return {
54
+ ...fallback,
55
+ ...runtime,
56
+ apiUrl: has("CSOMAGPIAC_API_URL") ? runtime.apiUrl : fallback.apiUrl || runtime.apiUrl,
57
+ token: has("CSOMAGPIAC_TOKEN") ? clean(process.env.CSOMAGPIAC_TOKEN) : fallback.token,
58
+ username: has("CSOMAGPIAC_USERNAME") ? clean(process.env.CSOMAGPIAC_USERNAME) : fallback.username,
59
+ password: has("CSOMAGPIAC_PASSWORD") ? clean(process.env.CSOMAGPIAC_PASSWORD) : fallback.password,
60
+ live: has("CSOMAGPIAC_LIVE") ? process.env.CSOMAGPIAC_LIVE === "true" : fallback.live,
61
+ pickupPointId: has("CSOMAGPIAC_PICKUP_POINT_ID") ? runtime.pickupPointId : fallback.pickupPointId,
62
+ priceHuf: has("CSOMAGPIAC_PRICE_HUF") ? runtime.priceHuf : fallback.priceHuf,
63
+ freeShippingThresholdHuf: has("CSOMAGPIAC_FREE_SHIPPING_THRESHOLD_HUF")
64
+ ? runtime.freeShippingThresholdHuf
65
+ : fallback.freeShippingThresholdHuf,
66
+ timeoutMs: has("CSOMAGPIAC_TIMEOUT_MS") ? runtime.timeoutMs : fallback.timeoutMs,
67
+ defaultWeightKg: has("CSOMAGPIAC_DEFAULT_WEIGHT_KG") ? runtime.defaultWeightKg : fallback.defaultWeightKg,
68
+ labelFormat: has("CSOMAGPIAC_LABEL_FORMAT") ? runtime.labelFormat : fallback.labelFormat,
69
+ };
70
+ }
71
+ get client() {
72
+ return this.runtimeClient;
73
+ }
74
+ extractShipment(order) {
75
+ const raw = order.metadata?.csomagpiac;
76
+ return raw && typeof raw === "object" ? raw : null;
77
+ }
78
+ async validateSenderPickupPoint(id) {
79
+ if (!Number.isSafeInteger(id) || id <= 0) {
80
+ throw new types_1.CsomagpiacValidationError("Érvénytelen Csomagpiac feladói felvételipont-azonosító.");
81
+ }
82
+ // The authenticated endpoint returns merchant-owned sender collection addresses.
83
+ const data = await this.client.listPickupPoints();
84
+ const root = asRecord(data);
85
+ const nested = asRecord(root.data);
86
+ const points = Array.isArray(data) ? data :
87
+ [root.pickupPoints, root.pickuppoints, root.data, root.items, nested.pickupPoints, nested.items]
88
+ .find(Array.isArray);
89
+ if (!points || !points.length) {
90
+ throw new types_1.CsomagpiacValidationError("A Csomagpiac feladói címek nem ellenőrizhetők.");
91
+ }
92
+ const exists = points.some(point => {
93
+ const value = asRecord(point);
94
+ const attributes = asRecord(value.attributes);
95
+ const identifier = positiveInteger(value.id ?? value.pickupPointId ?? value.pickup_point_id ??
96
+ attributes.id ?? attributes.pickupPointId);
97
+ return identifier === id;
98
+ });
99
+ if (!exists) {
100
+ throw new types_1.CsomagpiacValidationError("A Csomagpiac felvételi cím nem szerepel a hitelesített fiók címjegyzékében.");
101
+ }
102
+ return id;
103
+ }
104
+ async validateServices(services) {
105
+ if (!services.length)
106
+ return;
107
+ const data = await this.client.listServices();
108
+ const root = asRecord(data);
109
+ const nested = asRecord(root.data);
110
+ const allowed = Array.isArray(data) ? data :
111
+ [root.services, root.data, root.items, nested.services, nested.items]
112
+ .find(Array.isArray);
113
+ if (!allowed || !allowed.length) {
114
+ throw new types_1.CsomagpiacValidationError("A Csomagpiac engedélyezett szolgáltatásai nem ellenőrizhetők.");
115
+ }
116
+ for (const requested of services) {
117
+ const accepted = allowed.some(item => {
118
+ const row = asRecord(item), attrs = asRecord(row.attributes);
119
+ const name = String(row.name ?? attrs.name ?? "").trim();
120
+ const value = String(row.value ?? attrs.value ?? "").trim();
121
+ return name === requested.name && value === requested.value;
122
+ });
123
+ if (!accepted) {
124
+ throw new types_1.CsomagpiacValidationError("A kért Csomagpiac szolgáltatás nem engedélyezett ennél a fióknál.");
125
+ }
126
+ }
127
+ }
128
+ async createShipment(order) {
129
+ const client = this.client;
130
+ if (!client.isConfigured())
131
+ throw new types_1.CsomagpiacConfigError();
132
+ const config = this.config;
133
+ const current = this.extractShipment(order);
134
+ if (!current)
135
+ throw new types_1.CsomagpiacValidationError("A rendelés nem Csomagpiac szállítású.");
136
+ // Never interpret a recipient's locker ID as the sender collection-address ID.
137
+ const selection = asRecord(asRecord(order.metadata).csomagpiac);
138
+ rejectUnsupportedCsomagpiacRecipientPoint(selection);
139
+ if (current.identifier && String(current.status).toUpperCase() !== "CANCELLED")
140
+ return current;
141
+ const address = asRecord(order.shipping_address);
142
+ const pickupPointId = positiveInteger(current.pickupPointId) ?? config.pickupPointId;
143
+ if (!pickupPointId)
144
+ throw new types_1.CsomagpiacValidationError("Hiányzik a Csomagpiac felvételi cím azonosítója.");
145
+ await this.validateSenderPickupPoint(pickupPointId);
146
+ await this.validateServices(current.services ?? []);
147
+ const recipientName = [address.first_name, address.last_name]
148
+ .map((value) => String(value ?? "").trim())
149
+ .filter(Boolean)
150
+ .join(" ");
151
+ const recipientEmail = String(order.email ?? "").trim();
152
+ const recipientPhone = String(address.phone ?? "").trim();
153
+ const recipientZip = String(address.postal_code ?? "").trim();
154
+ const recipientCity = String(address.city ?? "").trim();
155
+ const recipientAddress = [address.address_1, address.address_2]
156
+ .map((value) => String(value ?? "").trim())
157
+ .filter(Boolean)
158
+ .join(" ");
159
+ const recipientCountryCode = String(address.country_code ?? "HU").trim().toUpperCase();
160
+ for (const [label, value] of [
161
+ ["címzett neve", recipientName],
162
+ ["címzett e-mail-címe", recipientEmail],
163
+ ["címzett telefonszáma", recipientPhone],
164
+ ["irányítószám", recipientZip],
165
+ ["város", recipientCity],
166
+ ["cím", recipientAddress],
167
+ ]) {
168
+ if (!value)
169
+ throw new types_1.CsomagpiacValidationError(`Hiányzik a Csomagpiac küldemény ${label} mezője.`);
170
+ }
171
+ const weightKg = positiveNumber(current.weightKg) ?? config.defaultWeightKg;
172
+ const orderTotal = nonNegativeNumber(order.total);
173
+ const payload = {
174
+ pickupPointId,
175
+ recipientName: recipientName.slice(0, 40),
176
+ recipientCountryCode: recipientCountryCode.slice(0, 3),
177
+ recipientZip: recipientZip.slice(0, 10),
178
+ recipientCity: recipientCity.slice(0, 40),
179
+ recipientAddress: recipientAddress.slice(0, 40),
180
+ recipientPhone: recipientPhone.slice(0, 20),
181
+ recipientEmail: recipientEmail.slice(0, 100),
182
+ packageCount: 1,
183
+ weights: [Math.max(1, Math.round(weightKg * 1000))],
184
+ weightUnit: "g",
185
+ reference: String(order.display_id ?? order.id ?? "").slice(0, 100),
186
+ ...(orderTotal == null ? {} : { parcelValue: Math.round(orderTotal) }),
187
+ ...(current.codAmount > 0 ? { cashOnDelivery: Math.round(current.codAmount) } : {}),
188
+ ...(current.insuredValue == null ? {} : { insuredValue: Math.round(current.insuredValue) }),
189
+ ...(current.services?.length ? { services: current.services } : {}),
190
+ };
191
+ const response = asRecord(await client.createShipment(payload));
192
+ const identifier = remoteIdentifier(response);
193
+ if (!identifier) {
194
+ throw new types_1.CsomagpiacError("A Csomagpiac sikeresnek tűnő válasza nem tartalmazott küldeményazonosítót.", { remoteOutcomeUncertain: true });
195
+ }
196
+ return {
197
+ ...current,
198
+ pickupPointId,
199
+ weightKg,
200
+ identifier,
201
+ trackingNumber: remoteTrackingNumber(response) ?? identifier,
202
+ status: normalizeStatus(response) ?? "CREATED",
203
+ statusText: remoteStatusText(response),
204
+ statusUpdatedAt: new Date().toISOString(),
205
+ createdAt: new Date().toISOString(),
206
+ remote: response,
207
+ };
208
+ }
209
+ async refreshStatus(shipment) {
210
+ if (!shipment.identifier)
211
+ throw new types_1.CsomagpiacValidationError("Hiányzik a Csomagpiac küldeményazonosító.");
212
+ const response = asRecord(await this.client.getShipmentStatus(shipment.identifier));
213
+ return {
214
+ ...shipment,
215
+ status: normalizeStatus(response) ?? shipment.status,
216
+ statusText: remoteStatusText(response) ?? shipment.statusText,
217
+ trackingNumber: remoteTrackingNumber(response) ?? shipment.trackingNumber,
218
+ statusUpdatedAt: new Date().toISOString(),
219
+ remote: response,
220
+ };
221
+ }
222
+ async cancelShipment(shipment) {
223
+ if (!shipment.identifier || String(shipment.status).toUpperCase() === "CANCELLED")
224
+ return shipment;
225
+ await this.client.deleteShipment(shipment.identifier);
226
+ return {
227
+ ...shipment,
228
+ status: "CANCELLED",
229
+ statusText: "Törölve",
230
+ statusUpdatedAt: new Date().toISOString(),
231
+ };
232
+ }
233
+ async getLabel(shipment, format) {
234
+ if (!shipment.identifier)
235
+ throw new types_1.CsomagpiacValidationError("Hiányzik a Csomagpiac küldeményazonosító.");
236
+ return this.client.downloadShipmentLabel(shipment.identifier, format ?? this.config.labelFormat);
237
+ }
238
+ }
239
+ exports.CsomagpiacService = CsomagpiacService;
240
+ exports.csomagpiacService = new CsomagpiacService();
241
+ function remoteIdentifier(response) {
242
+ const data = asRecord(response.data);
243
+ return firstString(response.identifier, response.cspIdentifier, response.shipmentIdentifier, response.id, data.identifier, data.cspIdentifier, data.shipmentIdentifier, data.id);
244
+ }
245
+ function remoteTrackingNumber(response) {
246
+ const data = asRecord(response.data);
247
+ return firstString(response.trackingNumber, response.tracking_number, response.parcelNumber, response.parcel_number, data.trackingNumber, data.tracking_number, data.parcelNumber, data.parcel_number);
248
+ }
249
+ function remoteStatusText(response) {
250
+ const data = asRecord(response.data);
251
+ return firstString(response.statusName, response.statusText, response.status, data.statusName, data.statusText, data.status);
252
+ }
253
+ function normalizeStatus(response) {
254
+ const raw = (remoteStatusText(response) ?? "").toLocaleLowerCase("hu-HU");
255
+ if (!raw)
256
+ return undefined;
257
+ if (raw.includes("kézbes") || raw.includes("deliver"))
258
+ return "DELIVERED";
259
+ if (raw.includes("vissza") || raw.includes("return"))
260
+ return "RETURNED";
261
+ if (raw.includes("töröl") || raw.includes("cancel"))
262
+ return "CANCELLED";
263
+ if (raw.includes("hiba") || raw.includes("error") || raw.includes("sikertelen"))
264
+ return "ERROR";
265
+ if (raw.includes("száll") || raw.includes("úton") || raw.includes("transit") || raw.includes("futár"))
266
+ return "IN_TRANSIT";
267
+ return "CREATED";
268
+ }
269
+ function asRecord(value) {
270
+ return value && typeof value === "object" && !Array.isArray(value) ? value : {};
271
+ }
272
+ function clean(value) {
273
+ const text = String(value ?? "").trim();
274
+ return text || undefined;
275
+ }
276
+ function firstString(...values) {
277
+ for (const value of values) {
278
+ const text = clean(value);
279
+ if (text)
280
+ return text;
281
+ }
282
+ return undefined;
283
+ }
284
+ function positiveInteger(value) {
285
+ const number = Number(value);
286
+ return Number.isInteger(number) && number > 0 ? number : undefined;
287
+ }
288
+ function positiveNumber(value) {
289
+ const number = Number(value);
290
+ return Number.isFinite(number) && number > 0 ? number : undefined;
291
+ }
292
+ function nonNegativeNumber(value) {
293
+ const number = Number(value);
294
+ return Number.isFinite(number) && number >= 0 ? number : undefined;
295
+ }
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvY3NvbWFncGlhYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLG9EQWlCQztBQVFELDhGQVNDO0FBaERELHFDQUEyQztBQUMzQyw4RUFBa0c7QUFDbEcsbUNBT2dCO0FBRUgsUUFBQSxtQkFBbUIsR0FBRyxxQ0FBcUMsQ0FBQTtBQUMzRCxRQUFBLG1CQUFtQixHQUFHLG9DQUFvQyxDQUFBO0FBRXZFLFNBQWdCLG9CQUFvQixDQUFDLE1BQXlCLE9BQU8sQ0FBQyxHQUFHO0lBQ3ZFLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxlQUFlLEtBQUssTUFBTSxDQUFBO0lBQzNDLE9BQU87UUFDTCxNQUFNLEVBQ0osR0FBRyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRTtZQUM5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMkJBQW1CLENBQUMsQ0FBQyxDQUFDLDJCQUFtQixDQUFDO1FBQ3BELEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1FBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1FBQ3hDLElBQUk7UUFDSixhQUFhLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQztRQUM5RCxRQUFRLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUk7UUFDMUQsd0JBQXdCLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQztRQUNwRixTQUFTLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEtBQUs7UUFDN0QsZUFBZSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQTRC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
@@ -0,0 +1,66 @@
1
+ export type CsomagpiacConfig = {
2
+ apiUrl: string;
3
+ token?: string;
4
+ username?: string;
5
+ password?: string;
6
+ live: boolean;
7
+ pickupPointId?: number;
8
+ priceHuf: number;
9
+ freeShippingThresholdHuf?: number;
10
+ timeoutMs: number;
11
+ defaultWeightKg: number;
12
+ labelFormat: "A4" | "A6";
13
+ };
14
+ export type CsomagpiacShipmentStatus = "CREATED" | "IN_TRANSIT" | "DELIVERED" | "RETURNED" | "CANCELLED" | "ERROR";
15
+ export type CsomagpiacServiceSelection = {
16
+ name: string;
17
+ value: string;
18
+ };
19
+ export type CsomagpiacShipmentData = {
20
+ recipientEmail?: string | null;
21
+ pickupPointId: number;
22
+ weightKg: number;
23
+ services?: CsomagpiacServiceSelection[];
24
+ codAmount: number;
25
+ insuredValue?: number;
26
+ identifier?: string;
27
+ trackingNumber?: string;
28
+ status: CsomagpiacShipmentStatus | string;
29
+ statusText?: string;
30
+ statusUpdatedAt?: string;
31
+ createdAt?: string;
32
+ remote?: Record<string, unknown>;
33
+ };
34
+ export type CsomagpiacCreateRequest = {
35
+ pickupPointId: number;
36
+ recipientName: string;
37
+ recipientCountryCode: string;
38
+ recipientZip: string;
39
+ recipientCity: string;
40
+ recipientAddress: string;
41
+ recipientPhone: string;
42
+ recipientEmail: string;
43
+ packageCount?: number;
44
+ weights?: number[];
45
+ weightUnit?: "g" | "dkg" | "kg";
46
+ insuredValue?: number;
47
+ observation?: string;
48
+ reference?: string;
49
+ parcelValue?: number;
50
+ cashOnDelivery?: number;
51
+ services?: CsomagpiacServiceSelection[];
52
+ };
53
+ export declare class CsomagpiacError extends Error {
54
+ status?: number;
55
+ remoteOutcomeUncertain?: boolean;
56
+ constructor(message: string, options?: {
57
+ status?: number;
58
+ remoteOutcomeUncertain?: boolean;
59
+ });
60
+ }
61
+ export declare class CsomagpiacConfigError extends CsomagpiacError {
62
+ constructor(message?: string);
63
+ }
64
+ export declare class CsomagpiacValidationError extends CsomagpiacError {
65
+ constructor(message: string);
66
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CsomagpiacValidationError = exports.CsomagpiacConfigError = exports.CsomagpiacError = void 0;
4
+ class CsomagpiacError extends Error {
5
+ constructor(message, options = {}) {
6
+ super(message);
7
+ this.name = "CsomagpiacError";
8
+ this.status = options.status;
9
+ this.remoteOutcomeUncertain = options.remoteOutcomeUncertain;
10
+ }
11
+ }
12
+ exports.CsomagpiacError = CsomagpiacError;
13
+ class CsomagpiacConfigError extends CsomagpiacError {
14
+ constructor(message = "A Csomagpiac API nincs megfelelően konfigurálva.") {
15
+ super(message);
16
+ this.name = "CsomagpiacConfigError";
17
+ }
18
+ }
19
+ exports.CsomagpiacConfigError = CsomagpiacConfigError;
20
+ class CsomagpiacValidationError extends CsomagpiacError {
21
+ constructor(message) {
22
+ super(message);
23
+ this.name = "CsomagpiacValidationError";
24
+ }
25
+ }
26
+ exports.CsomagpiacValidationError = CsomagpiacValidationError;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2Nzb21hZ3BpYWMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0RBLE1BQWEsZUFBZ0IsU0FBUSxLQUFLO0lBSXhDLFlBQVksT0FBZSxFQUFFLFVBQWlFLEVBQUU7UUFDOUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQTtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQTtJQUM5RCxDQUFDO0NBQ0Y7QUFWRCwwQ0FVQztBQUVELE1BQWEscUJBQXNCLFNBQVEsZUFBZTtJQUN4RCxZQUFZLE9BQU8sR0FBRyxrREFBa0Q7UUFDdEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQTtJQUNyQyxDQUFDO0NBQ0Y7QUFMRCxzREFLQztBQUVELE1BQWEseUJBQTBCLFNBQVEsZUFBZTtJQUM1RCxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRywyQkFBMkIsQ0FBQTtJQUN6QyxDQUFDO0NBQ0Y7QUFMRCw4REFLQyJ9
@@ -1,3 +1,4 @@
1
+ import { type RecipientEmailOrderService } from "../../lib/modules/shipping/recipient-email";
1
2
  import { AbstractFulfillmentProviderService } from "@medusajs/framework/utils";
2
3
  import type { CalculatedShippingOptionPrice, CalculateShippingOptionPriceContext, CreateFulfillmentResult, CreateShippingOptionDTO, FulfillmentDTO, FulfillmentItemDTO, FulfillmentOption, FulfillmentOrderDTO, ValidateFulfillmentDataContext } from "@medusajs/framework/types";
3
4
  import { DpdService } from "./service";
@@ -27,6 +28,7 @@ type InjectedDependencies = {
27
28
  info: (message: string) => void;
28
29
  };
29
30
  integrationOperation?: IntegrationOperationStore;
31
+ order?: RecipientEmailOrderService;
30
32
  };
31
33
  export default class DpdFulfillmentProviderService extends AbstractFulfillmentProviderService {
32
34
  static identifier: string;
@@ -34,6 +36,7 @@ export default class DpdFulfillmentProviderService extends AbstractFulfillmentPr
34
36
  protected readonly options_: ProviderOptions;
35
37
  protected readonly logger_?: InjectedDependencies["logger"];
36
38
  protected readonly operationStore_?: IntegrationOperationStore;
39
+ protected readonly orderService_?: RecipientEmailOrderService;
37
40
  constructor(container?: InjectedDependencies, options?: ProviderOptions);
38
41
  getFulfillmentOptions(): Promise<FulfillmentOption[]>;
39
42
  validateFulfillmentData(optionData: Record<string, unknown>, data: Record<string, unknown>, context: ValidateFulfillmentDataContext): Promise<Record<string, unknown>>;
@@ -43,9 +46,10 @@ export default class DpdFulfillmentProviderService extends AbstractFulfillmentPr
43
46
  createFulfillment(data: Record<string, unknown>, _items: Partial<Omit<FulfillmentItemDTO, "fulfillment">>[], order: Partial<FulfillmentOrderDTO> | undefined, fulfillment: Partial<Omit<FulfillmentDTO, "provider_id" | "data" | "items">>): Promise<CreateFulfillmentResult>;
44
47
  cancelFulfillment(data: Record<string, unknown>): Promise<Record<string, unknown>>;
45
48
  getFulfillmentDocuments(_data: Record<string, unknown>): Promise<never[]>;
46
- createReturnFulfillment(fulfillment: Record<string, unknown>): Promise<CreateFulfillmentResult>;
49
+ createReturnFulfillment(_fulfillment: Record<string, unknown>): Promise<CreateFulfillmentResult>;
47
50
  retrieveDocuments(_fulfillmentData: Record<string, unknown>, _documentType: string): Promise<void>;
48
51
  getReturnDocuments(_data: Record<string, unknown>): Promise<never[]>;
49
52
  getShipmentDocuments(_data: Record<string, unknown>): Promise<never[]>;
53
+ private runDurableCancel;
50
54
  }
51
55
  export {};