shipflow 0.1.0 → 0.1.1

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 (34) hide show
  1. package/dist/carriers/aramex/adapter.d.ts +82 -0
  2. package/dist/carriers/aramex/adapter.d.ts.map +1 -0
  3. package/dist/carriers/aramex/index.d.ts +9 -0
  4. package/dist/carriers/aramex/index.d.ts.map +1 -0
  5. package/dist/carriers/aramex/index.js +661 -0
  6. package/dist/carriers/aramex/index.js.map +12 -0
  7. package/dist/carriers/aramex/mappers.d.ts +68 -0
  8. package/dist/carriers/aramex/mappers.d.ts.map +1 -0
  9. package/dist/carriers/aramex/services.d.ts +74 -0
  10. package/dist/carriers/aramex/services.d.ts.map +1 -0
  11. package/dist/carriers/aramex/types.d.ts +302 -0
  12. package/dist/carriers/aramex/types.d.ts.map +1 -0
  13. package/dist/carriers/aymakan/adapter.d.ts +3 -2
  14. package/dist/carriers/aymakan/adapter.d.ts.map +1 -1
  15. package/dist/carriers/aymakan/index.js +54 -43
  16. package/dist/carriers/aymakan/index.js.map +4 -4
  17. package/dist/carriers/aymakan/mappers.d.ts.map +1 -1
  18. package/dist/carriers/aymakan/types.d.ts +4 -6
  19. package/dist/carriers/aymakan/types.d.ts.map +1 -1
  20. package/dist/carriers/base.d.ts +2 -2
  21. package/dist/carriers/base.d.ts.map +1 -1
  22. package/dist/carriers/smsaexpress/adapter.d.ts +1 -1
  23. package/dist/carriers/smsaexpress/adapter.d.ts.map +1 -1
  24. package/dist/carriers/smsaexpress/index.js +12 -8
  25. package/dist/carriers/smsaexpress/index.js.map +4 -4
  26. package/dist/carriers/smsaexpress/mappers.d.ts.map +1 -1
  27. package/dist/core/http.d.ts.map +1 -1
  28. package/dist/core/schemas.d.ts +3 -3
  29. package/dist/core/types.d.ts +1 -1
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/{index-x8sk1kw9.js → index-qjtxhwzv.js} +5 -3
  32. package/dist/{index-x8sk1kw9.js.map → index-qjtxhwzv.js.map} +5 -5
  33. package/dist/index.js +1 -1
  34. package/package.json +8 -3
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Aramex Carrier Adapter
3
+ * Implementation of the CarrierAdapter interface for the Aramex JSON Shipping
4
+ * Services API v2.
5
+ *
6
+ * Key differences from the other carriers:
7
+ * - Auth is a `ClientInfo` object sent in EVERY request body (not headers).
8
+ * - The four Aramex services (Shipping, Tracking, RateCalculator, Location)
9
+ * live on different base URLs, so the adapter holds one HttpClient per service.
10
+ * - Errors use the "Fake 200 OK" pattern (HTTP 200 + `HasErrors`/`Notifications`),
11
+ * surfaced via the shared HttpClient's `errorExtractor` hook on every call.
12
+ */
13
+ import type { CarrierConfig, City, CreateShipmentInput, Location, Pickup, PickupRequest, Rate, Shipment, TrackingResult } from "../../core/types.js";
14
+ import { BaseCarrierAdapter } from "../base.js";
15
+ export interface AramexConfig extends CarrierConfig {
16
+ credentials: {
17
+ userName: string;
18
+ password: string;
19
+ accountNumber: string;
20
+ accountPin: string;
21
+ accountEntity: string;
22
+ accountCountryCode: string;
23
+ };
24
+ /** API source channel (default 24). */
25
+ source?: number;
26
+ /** ClientInfo version (default "v1.0"). */
27
+ version?: string;
28
+ /** Company name used when an address has no company set. */
29
+ companyName?: string;
30
+ /**
31
+ * Optional override for the Location service base URL. Live Aramex WSDLs
32
+ * disagree on the production Location host (ws.aramex.net vs anfe02.aramex.com);
33
+ * set this if your account is provisioned on a different host.
34
+ */
35
+ locationBaseUrl?: string;
36
+ }
37
+ export declare class AramexAdapter extends BaseCarrierAdapter {
38
+ readonly name = "aramex";
39
+ readonly supportedCountries: string[];
40
+ private shippingHttp;
41
+ private trackingHttp;
42
+ private rateHttp;
43
+ private locationHttp;
44
+ constructor(config: AramexConfig);
45
+ protected getBaseUrl(): string;
46
+ /** Derive a sibling service base URL by swapping the `/Shipping/` segment. */
47
+ private serviceBase;
48
+ private get aramexConfig();
49
+ private buildClientInfo;
50
+ /**
51
+ * Extracts the Aramex "Fake 200 OK" error (envelope-level `HasErrors` +
52
+ * `Notifications`). Passed to every request so the HttpClient raises APIError.
53
+ */
54
+ private static aramexErrorExtractor;
55
+ private static notificationsToErrors;
56
+ protected executeCreateShipment(input: CreateShipmentInput): Promise<Shipment>;
57
+ /**
58
+ * Create multiple shipments in a single request. Aramex's `CreateShipments`
59
+ * operation is natively batch — it takes a `Shipments` array and returns one
60
+ * processed result per shipment, in request order.
61
+ *
62
+ * Fails loud: if ANY shipment in the batch errors, an `APIError` is thrown
63
+ * whose `raw` holds the full response, so already-created AWBs remain
64
+ * recoverable (the unified `Shipment` type has no per-item error channel).
65
+ */
66
+ createBulkShipments(inputs: CreateShipmentInput[]): Promise<Shipment[]>;
67
+ /**
68
+ * Aramex's classic Shipping Services API has no shipment-cancellation
69
+ * endpoint, so this is unsupported. (Pickups can be cancelled via cancelPickup.)
70
+ */
71
+ cancelShipment(_trackingNumber: string): Promise<boolean>;
72
+ getLabel(trackingNumber: string, _format?: "PDF" | "ZPL" | "PNG"): Promise<string>;
73
+ track(trackingNumber: string): Promise<TrackingResult>;
74
+ trackMultiple(trackingNumbers: string[]): Promise<TrackingResult[]>;
75
+ trackByReference(reference: string): Promise<TrackingResult>;
76
+ getRates(input: CreateShipmentInput): Promise<Rate[]>;
77
+ createPickup(input: PickupRequest): Promise<Pickup>;
78
+ cancelPickup(pickupId: string | number): Promise<boolean>;
79
+ getCities(countryCode?: string): Promise<City[]>;
80
+ getDropoffLocations(countryCode?: string): Promise<Location[]>;
81
+ }
82
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/carriers/aramex/adapter.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EACV,aAAa,EACb,IAAI,EACJ,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAqD7C,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,kBAAkB,WAWzB;IAEF,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,YAAY,CAAa;gBAErB,MAAM,EAAE,YAAY;IAuBhC,SAAS,CAAC,UAAU,IAAI,MAAM;IAM9B,8EAA8E;IAC9E,OAAO,CAAC,WAAW;IAInB,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,eAAe;IAQvB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC,OAAO,CAAC,MAAM,CAAC,qBAAqB;cAcpB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC;IA6CpB;;;;;;;;OAQG;IACG,mBAAmB,CACvB,MAAM,EAAE,mBAAmB,EAAE,GAC5B,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwDtB;;;OAGG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnD,QAAQ,CACZ,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAC9B,OAAO,CAAC,MAAM,CAAC;IA4BZ,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYtD,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkBnE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU5D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IA4BrD,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCnD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBzD,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAehD,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAcrE"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Aramex Carrier Exports
3
+ * Import from 'shipflow/carriers/aramex' for tree-shaking.
4
+ */
5
+ export { AramexAdapter, type AramexConfig } from "./adapter.js";
6
+ export { AramexProductGroup, AramexProductType, AramexPaymentType, AramexService, AramexStatusCodes, type AramexProductGroupType, type AramexProductTypeCode, type AramexPaymentTypeCode, } from "./services.js";
7
+ export { buildClientInfo, mapAramexStatus, statusFromDescription, parseAramexDate, type AramexCredentials, } from "./mappers.js";
8
+ export type { AramexClientInfo, AramexCreateShipmentsRequest, AramexCreateShipmentsResponse, AramexProcessedShipment, AramexShipmentLabel, AramexPrintLabelResponse, AramexTrackShipmentsRequest, AramexTrackShipmentsResponse, AramexTrackingResult, AramexCalculateRateRequest, AramexCalculateRateResponse, AramexCreatePickupRequest, AramexCreatePickupResponse, AramexCancelPickupRequest, AramexFetchCitiesResponse, AramexFetchOfficesResponse, } from "./types.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/carriers/aramex/index.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,SAAS,CAAC"}