@voyantjs/flights 0.55.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -23,8 +23,10 @@ pnpm add @voyantjs/flights
23
23
  discriminated union. Shapes mirror voyant-cloud's `connect-flight-contract`
24
24
  so adapters are portable across `voyant-cloud` and Voyant Catalog.
25
25
  - **`./contract/adapter`** — `FlightConnectorAdapter` interface (5 core methods
26
- + capability declarations). Provider-agnostic; implementations come from
27
- Voyant Connect, third-party providers, or operator-built adapters.
26
+ + optional capability-gated methods for holds, seat maps, post-book seat
27
+ selection, check-in, exchange, refund, void, SSR, ancillaries, and order
28
+ listing). Provider-agnostic; implementations come from Voyant Connect,
29
+ third-party providers, or operator-built adapters.
28
30
  - **`./orchestration/fingerprint`** — Itinerary fingerprint helper. Two
29
31
  providers selling the same flight produce identical fingerprints.
30
32
  - **`./orchestration/fan-out`** — Multi-connection fan-out search:
@@ -12,10 +12,18 @@
12
12
  *
13
13
  * See `docs/architecture/catalog-flights-architecture.md` §3.
14
14
  */
15
- import type { AncillaryRequest, AncillaryResponse, FlightBookRequest, FlightCapability, FlightOffer, FlightOrder, FlightOrderStatus, FlightSearchPaginationMeta, FlightSearchRequest, SeatMapRequest, SeatMapResponse } from "./types.js";
15
+ import type { AncillaryRequest, AncillaryResponse, CheckInRequest, CheckInResponse, FlightBookRequest, FlightCapability, FlightModifyRequest, FlightModifyResponse, FlightOffer, FlightOrder, FlightOrderStatus, FlightRefundRequest, FlightRefundResponse, FlightSearchPaginationMeta, FlightSearchRequest, FlightVoidResponse, SeatMapRequest, SeatMapResponse, SeatSelectionRequest, SeatSelectionResponse, SsrRequest, SsrResponse } from "./types.js";
16
+ export interface AdapterLogger {
17
+ debug(message: string, meta?: Record<string, unknown>): void;
18
+ info(message: string, meta?: Record<string, unknown>): void;
19
+ warn(message: string, meta?: Record<string, unknown>): void;
20
+ error(message: string, meta?: Record<string, unknown>): void;
21
+ }
22
+ export type FlightAdapterEnvironment = "sandbox" | "production";
16
23
  /**
17
24
  * Context passed to every adapter call. Identifies the connection and
18
- * carries credentials, optional point-of-sale, tracing identifiers.
25
+ * carries credentials, optional point-of-sale, tracing identifiers,
26
+ * cancellation, idempotency, logging, and environment selection signals.
19
27
  *
20
28
  * `deps` is an escape hatch for adapter-specific runtime dependencies that
21
29
  * shouldn't bleed into the contract — e.g. a Postgres handle for a demo
@@ -27,7 +35,18 @@ export interface FlightAdapterContext {
27
35
  credentials?: Record<string, string>;
28
36
  /** Operator's IATA office id / pseudo-city / point-of-sale, when applicable. */
29
37
  pointOfSale?: string;
38
+ /** Upstream trace id, usually propagated from the caller. */
30
39
  correlationId?: string;
40
+ /** Per-call request id for adapter-local tracing. */
41
+ requestId?: string;
42
+ /** Idempotency key for replay-safe writes: book, modify, refund, void. */
43
+ idempotencyKey?: string;
44
+ /** Adapter-scoped logger with provider/connection/request metadata bound in. */
45
+ logger?: AdapterLogger;
46
+ /** Cancellation signal propagated from the orchestration layer. */
47
+ signal?: AbortSignal;
48
+ /** Selects the supplier environment when the adapter supports both. */
49
+ environment?: FlightAdapterEnvironment;
31
50
  deps?: Record<string, unknown>;
32
51
  }
33
52
  export interface FlightSearchResponse {
@@ -113,7 +132,14 @@ export interface FlightConnectorAdapter {
113
132
  readonly capabilities: FlightAdapterCapabilities;
114
133
  /** Search flights matching the request's slices + passengers + cabin. */
115
134
  searchFlights(ctx: FlightAdapterContext, request: FlightSearchRequest): Promise<FlightSearchResponse>;
116
- /** Re-price an offer immediately before booking. */
135
+ /**
136
+ * Re-price an offer immediately before booking.
137
+ *
138
+ * This is also the canonical re-quote path for offers approaching
139
+ * `FlightOffer.expiresAt` or `lastTicketingDate`. Callers should invoke it
140
+ * before booking whenever the offer is older than the provider's freshness
141
+ * window or the UI is resuming a saved/held offer.
142
+ */
117
143
  priceOffer(ctx: FlightAdapterContext, request: FlightPriceRequest): Promise<FlightPriceResponse>;
118
144
  /**
119
145
  * Book the flight. Behavior depends on `paymentIntent`:
@@ -150,6 +176,18 @@ export interface FlightConnectorAdapter {
150
176
  * are submitted at book time via `FlightBookRequest.ancillaries.seats`.
151
177
  */
152
178
  getSeatMap?(ctx: FlightAdapterContext, request: SeatMapRequest): Promise<SeatMapResponse>;
179
+ /** `flight/seat-selection` — change/add seat selections on an existing order. */
180
+ selectSeats?(ctx: FlightAdapterContext, request: SeatSelectionRequest): Promise<SeatSelectionResponse>;
181
+ /** `flight/checkin` — initiate or complete online check-in for passengers. */
182
+ checkIn?(ctx: FlightAdapterContext, request: CheckInRequest): Promise<CheckInResponse>;
183
+ /** `flight/exchange` — change an existing order's itinerary, fare, pax, or extras. */
184
+ modifyOrder?(ctx: FlightAdapterContext, request: FlightModifyRequest): Promise<FlightModifyResponse>;
185
+ /** `flight/refund` — refund a ticketed order after the ticketing/void window. */
186
+ refundOrder?(ctx: FlightAdapterContext, request: FlightRefundRequest): Promise<FlightRefundResponse>;
187
+ /** `flight/void` — void a ticketed order inside the supplier void window. */
188
+ voidOrder?(ctx: FlightAdapterContext, orderId: string): Promise<FlightVoidResponse>;
189
+ /** `flight/ssr` — add a special service request such as wheelchair, meal, or UMNR. */
190
+ addSpecialServiceRequest?(ctx: FlightAdapterContext, request: SsrRequest): Promise<SsrResponse>;
153
191
  }
154
192
  /**
155
193
  * Standard error code for capability-gated methods that aren't supported
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,171 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { FlightCapabilityNotSupportedError, requireCapability, } from "./adapter.js";
3
+ import { FLIGHT_CAPABILITIES } from "./types.js";
4
+ const offer = {
5
+ offerId: "offer_1",
6
+ source: "test",
7
+ itineraries: [
8
+ {
9
+ segments: [
10
+ {
11
+ segmentId: "seg_1",
12
+ carrierCode: "BA",
13
+ flightNumber: "177",
14
+ departure: { iataCode: "LHR", at: "2026-10-15T11:00:00+00:00" },
15
+ arrival: { iataCode: "JFK", at: "2026-10-15T14:00:00-04:00" },
16
+ cabin: "economy",
17
+ },
18
+ ],
19
+ },
20
+ ],
21
+ fareBreakdowns: [
22
+ {
23
+ passengerType: "adult",
24
+ passengerCount: 1,
25
+ baseFare: { amount: "500.00", currency: "USD" },
26
+ taxes: { amount: "100.00", currency: "USD" },
27
+ total: { amount: "600.00", currency: "USD" },
28
+ },
29
+ ],
30
+ totalPrice: { amount: "600.00", currency: "USD" },
31
+ };
32
+ const order = {
33
+ orderId: "order_1",
34
+ pnr: "ABC123",
35
+ status: "ticketed",
36
+ offer,
37
+ passengers: [
38
+ {
39
+ passengerId: "pax_1",
40
+ type: "adult",
41
+ firstName: "Ada",
42
+ lastName: "Lovelace",
43
+ dateOfBirth: "1980-01-01",
44
+ },
45
+ ],
46
+ totalPrice: offer.totalPrice,
47
+ createdAt: "2026-10-01T10:00:00Z",
48
+ };
49
+ function makeCoreAdapter() {
50
+ return {
51
+ capabilities: { provider: "core", declared: [] },
52
+ async searchFlights() {
53
+ return { offers: [offer] };
54
+ },
55
+ async priceOffer() {
56
+ return { offer, valid: true };
57
+ },
58
+ async bookFlight() {
59
+ return { order };
60
+ },
61
+ async getOrder() {
62
+ return { order };
63
+ },
64
+ async cancelOrder() {
65
+ return { order: { ...order, status: "cancelled" } };
66
+ },
67
+ };
68
+ }
69
+ describe("FlightConnectorAdapter contract", () => {
70
+ it("allows core-only adapters to omit every optional capability method", async () => {
71
+ const adapter = makeCoreAdapter();
72
+ await expect(adapter.searchFlights({ connectionId: "conn" }, {})).resolves.toEqual({
73
+ offers: [offer],
74
+ });
75
+ expect(adapter.selectSeats).toBeUndefined();
76
+ expect(adapter.checkIn).toBeUndefined();
77
+ expect(adapter.modifyOrder).toBeUndefined();
78
+ expect(adapter.refundOrder).toBeUndefined();
79
+ expect(adapter.voidOrder).toBeUndefined();
80
+ expect(adapter.addSpecialServiceRequest).toBeUndefined();
81
+ });
82
+ it("allows adapters to implement every declared capability method", async () => {
83
+ const adapter = {
84
+ ...makeCoreAdapter(),
85
+ capabilities: {
86
+ provider: "full",
87
+ declared: Object.values(FLIGHT_CAPABILITIES),
88
+ },
89
+ async listOrders() {
90
+ return { orders: [order], pagination: { total: 1, hasMore: false } };
91
+ },
92
+ async ticketOrder() {
93
+ return { order };
94
+ },
95
+ async getAncillaries() {
96
+ return { catalog: { baggage: [], assistance: [], extras: [] } };
97
+ },
98
+ async getSeatMap() {
99
+ return {
100
+ seatMap: {
101
+ segmentId: "seg_1",
102
+ cabin: "economy",
103
+ columnLayout: ["A", "B", "C", null, "D", "E", "F"],
104
+ rows: [],
105
+ },
106
+ };
107
+ },
108
+ async selectSeats(_ctx, request) {
109
+ return { order, selections: request.selections };
110
+ },
111
+ async checkIn() {
112
+ return { order, status: "checked_in", boardingPasses: [] };
113
+ },
114
+ async modifyOrder() {
115
+ return { order, priceDifference: { amount: "0.00", currency: "USD" } };
116
+ },
117
+ async refundOrder() {
118
+ return { order: { ...order, status: "cancelled" }, refundedAmount: order.totalPrice };
119
+ },
120
+ async voidOrder() {
121
+ return { order: { ...order, status: "cancelled" }, voidedAt: "2026-10-01T11:00:00Z" };
122
+ },
123
+ async addSpecialServiceRequest() {
124
+ return { order, status: "requested" };
125
+ },
126
+ };
127
+ await expect(adapter.selectSeats?.({ connectionId: "conn" }, { orderId: order.orderId, selections: [] })).resolves.toEqual({ order, selections: [] });
128
+ await expect(adapter.refundOrder?.({ connectionId: "conn" }, { orderId: order.orderId })).resolves.toEqual({
129
+ order: { ...order, status: "cancelled" },
130
+ refundedAmount: order.totalPrice,
131
+ });
132
+ });
133
+ it("types the new adapter context fields as optional runtime signals", () => {
134
+ const controller = new AbortController();
135
+ const loggerMessages = [];
136
+ const context = {
137
+ connectionId: "conn",
138
+ requestId: "req_1",
139
+ correlationId: "corr_1",
140
+ idempotencyKey: "idem_1",
141
+ environment: "sandbox",
142
+ signal: controller.signal,
143
+ logger: {
144
+ debug: (message) => loggerMessages.push(message),
145
+ info: (message) => loggerMessages.push(message),
146
+ warn: (message) => loggerMessages.push(message),
147
+ error: (message) => loggerMessages.push(message),
148
+ },
149
+ };
150
+ context.logger?.info("context ready");
151
+ expect(context.requestId).toBe("req_1");
152
+ expect(context.signal).toBe(controller.signal);
153
+ expect(loggerMessages).toEqual(["context ready"]);
154
+ });
155
+ it.each([
156
+ [FLIGHT_CAPABILITIES.SEAT_SELECTION, "selectSeats"],
157
+ [FLIGHT_CAPABILITIES.CHECKIN, "checkIn"],
158
+ [FLIGHT_CAPABILITIES.EXCHANGE, "modifyOrder"],
159
+ [FLIGHT_CAPABILITIES.REFUND, "refundOrder"],
160
+ [FLIGHT_CAPABILITIES.VOID, "voidOrder"],
161
+ [FLIGHT_CAPABILITIES.SSR, "addSpecialServiceRequest"],
162
+ ])("throws the standard not-supported error for %s", (capability, operation) => {
163
+ expect(() => requireCapability({ provider: "core", declared: [] }, capability, operation)).toThrow(FlightCapabilityNotSupportedError);
164
+ try {
165
+ requireCapability({ provider: "core", declared: [] }, capability, operation);
166
+ }
167
+ catch (error) {
168
+ expect(error).toMatchObject({ provider: "core", capability, operation });
169
+ }
170
+ });
171
+ });
@@ -0,0 +1,90 @@
1
+ import type { AncillarySelection, FlightOffer, FlightOrder, FlightPassenger, Money } from "./types.js";
2
+ export interface SeatAssignment {
3
+ passengerId: string;
4
+ segmentId: string;
5
+ seatNumber: string;
6
+ /** Per-pax seat fee. Omitted = included in fare or already paid. */
7
+ price?: Money;
8
+ /** Provider-specific data — opaque round-trip. */
9
+ providerData?: Record<string, unknown>;
10
+ }
11
+ export interface SeatSelectionRequest {
12
+ orderId: string;
13
+ selections: SeatAssignment[];
14
+ }
15
+ export interface SeatSelectionResponse {
16
+ order: FlightOrder;
17
+ selections: SeatAssignment[];
18
+ /** Total additional charge collected for the seat change, if any. */
19
+ additionalAmount?: Money;
20
+ }
21
+ export type CheckInStatus = "initiated" | "checked_in" | "failed";
22
+ export interface CheckInRequest {
23
+ orderId: string;
24
+ passengerIds?: string[];
25
+ segmentIds?: string[];
26
+ }
27
+ export interface FlightBoardingPass {
28
+ passengerId: string;
29
+ segmentId: string;
30
+ boardingPassId?: string;
31
+ seatNumber?: string;
32
+ sequenceNumber?: string;
33
+ zone?: string;
34
+ /** Provider-specific data — opaque round-trip. */
35
+ providerData?: Record<string, unknown>;
36
+ }
37
+ export interface CheckInResponse {
38
+ order: FlightOrder;
39
+ status: CheckInStatus;
40
+ boardingPasses?: FlightBoardingPass[];
41
+ }
42
+ export type FlightModifyReason = "customer_request" | "schedule_change" | "name_correction" | "disruption" | "operational";
43
+ export interface FlightModifyRequest {
44
+ orderId: string;
45
+ /** Re-priced replacement offer when the modification changes itinerary/fare. */
46
+ offer?: FlightOffer;
47
+ /** Replacement passenger details for corrections allowed by the provider. */
48
+ passengers?: FlightPassenger[];
49
+ /** Add or replace ancillary picks as part of the modification. */
50
+ ancillaries?: AncillarySelection;
51
+ reason?: FlightModifyReason;
52
+ }
53
+ export interface FlightModifyResponse {
54
+ order: FlightOrder;
55
+ /** Positive means collect more from the traveler; negative means credit due. */
56
+ priceDifference?: Money;
57
+ penalties?: Money[];
58
+ }
59
+ export type FlightRefundReason = "customer_request" | "schedule_change" | "disruption" | "duplicate_booking" | "medical" | "other";
60
+ export interface FlightRefundRequest {
61
+ orderId: string;
62
+ reason?: FlightRefundReason;
63
+ /** Omit for a full refund; provide for supplier-supported partial refunds. */
64
+ amount?: Money;
65
+ }
66
+ export interface FlightRefundResponse {
67
+ order: FlightOrder;
68
+ refundId?: string;
69
+ refundedAmount: Money;
70
+ penalties?: Money[];
71
+ }
72
+ export interface FlightVoidResponse {
73
+ order: FlightOrder;
74
+ voidId?: string;
75
+ voidedAt: string;
76
+ }
77
+ export type SsrCode = "WCHR" | "WCHS" | "WCHC" | "BLND" | "DEAF" | "MAAS" | "UMNR" | "INFT" | "PETC" | "VGML" | "KSML" | "MOML" | "OTHER";
78
+ export interface SsrRequest {
79
+ orderId: string;
80
+ code: SsrCode;
81
+ passengerIds?: string[];
82
+ segmentIds?: string[];
83
+ text?: string;
84
+ }
85
+ export interface SsrResponse {
86
+ order: FlightOrder;
87
+ ssrId?: string;
88
+ status: "requested" | "confirmed" | "rejected";
89
+ }
90
+ //# sourceMappingURL=post-book-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-book-types.d.ts","sourceRoot":"","sources":["../../src/contract/post-book-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -481,6 +481,7 @@ export interface SeatMapResponse {
481
481
  /** ISO 8601 — when this seat map quote stops being valid for booking. */
482
482
  validUntil?: string;
483
483
  }
484
+ export type { CheckInRequest, CheckInResponse, CheckInStatus, FlightBoardingPass, FlightModifyReason, FlightModifyRequest, FlightModifyResponse, FlightRefundReason, FlightRefundRequest, FlightRefundResponse, FlightVoidResponse, SeatAssignment, SeatSelectionRequest, SeatSelectionResponse, SsrCode, SsrRequest, SsrResponse, } from "./post-book-types.js";
484
485
  /**
485
486
  * Capability ids declared per connection. Adapters that don't declare a
486
487
  * capability stub the corresponding method with `CAPABILITY_NOT_SUPPORTED`.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { CAPABILITY_NOT_SUPPORTED, type FlightAdapterCapabilities, type FlightAdapterContext, type FlightBookResponse, type FlightCancelReason, type FlightCancelResponse, FlightCapabilityNotSupportedError, type FlightConnectorAdapter, type FlightGetOrderResponse, type FlightPriceRequest, type FlightPriceResponse, type FlightSearchResponse, requireCapability, } from "./contract/adapter.js";
1
+ export { type AdapterLogger, CAPABILITY_NOT_SUPPORTED, type FlightAdapterCapabilities, type FlightAdapterContext, type FlightAdapterEnvironment, type FlightBookResponse, type FlightCancelReason, type FlightCancelResponse, FlightCapabilityNotSupportedError, type FlightConnectorAdapter, type FlightGetOrderResponse, type FlightPriceRequest, type FlightPriceResponse, type FlightSearchResponse, requireCapability, } from "./contract/adapter.js";
2
2
  export * from "./contract/types.js";
3
3
  export { type ConnectionResult, type ConnectionSearchStatus, type FanOutFlightSearchOptions, type FanOutFlightSearchResult, fanOutFlightSearch, type MergedFlightOffer, } from "./orchestration/fan-out.js";
4
4
  export { itineraryFingerprint } from "./orchestration/fingerprint.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,iCAAiC,EACjC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,WAAW,EACX,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,oCAAoC,EACpC,KAAK,qCAAqC,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mCAAmC,EACnC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,KAAK,+BAA+B,EACpC,wBAAwB,GACzB,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,iCAAiC,EACjC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,WAAW,EACX,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,oCAAoC,EACpC,KAAK,qCAAqC,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mCAAmC,EACnC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,KAAK,+BAA+B,EACpC,wBAAwB,GACzB,MAAM,eAAe,CAAA"}
@@ -38,7 +38,8 @@ function makeAdapter(provider, behaviour = {}) {
38
38
  declared: [],
39
39
  maxSlicesPerSearch: behaviour.maxSlices,
40
40
  },
41
- async searchFlights() {
41
+ async searchFlights(ctx) {
42
+ behaviour.captureContext?.(ctx);
42
43
  if (behaviour.delayMs) {
43
44
  await new Promise((r) => setTimeout(r, behaviour.delayMs));
44
45
  }
@@ -234,4 +235,37 @@ describe("fanOutFlightSearch", () => {
234
235
  expect(result.offers).toHaveLength(1);
235
236
  expect(result.offers[0]?.cheapest.totalPrice.amount).toBe("100");
236
237
  });
238
+ it("propagates adapter context fields to each connection", async () => {
239
+ const controller = new AbortController();
240
+ const captured = [];
241
+ await fanOutFlightSearch({
242
+ adapters: [
243
+ {
244
+ connectionId: "conn_a",
245
+ adapter: makeAdapter("a", {
246
+ offers: [makeOffer({})],
247
+ captureContext: (ctx) => {
248
+ captured.push(ctx);
249
+ },
250
+ }),
251
+ context: {
252
+ requestId: "req_1",
253
+ correlationId: "corr_1",
254
+ idempotencyKey: "idem_1",
255
+ environment: "sandbox",
256
+ signal: controller.signal,
257
+ },
258
+ },
259
+ ],
260
+ request: oneSliceRequest,
261
+ });
262
+ expect(captured[0]).toMatchObject({
263
+ connectionId: "conn_a",
264
+ requestId: "req_1",
265
+ correlationId: "corr_1",
266
+ idempotencyKey: "idem_1",
267
+ environment: "sandbox",
268
+ });
269
+ expect(captured[0]?.signal).toBe(controller.signal);
270
+ });
237
271
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/flights",
3
- "version": "0.55.0",
3
+ "version": "0.56.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -58,8 +58,8 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "drizzle-orm": "^0.45.2",
61
- "@voyantjs/db": "0.55.0",
62
- "@voyantjs/catalog": "0.55.0"
61
+ "@voyantjs/db": "0.56.0",
62
+ "@voyantjs/catalog": "0.56.0"
63
63
  },
64
64
  "devDependencies": {
65
65
  "typescript": "^6.0.2",