@gojinko/cli 1.2.1 → 2.0.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 (54) hide show
  1. package/README.md +30 -5
  2. package/dist/commands/checkout.d.ts.map +1 -1
  3. package/dist/commands/checkout.js +2 -4
  4. package/dist/commands/checkout.js.map +1 -1
  5. package/dist/commands/exchange.d.ts.map +1 -1
  6. package/dist/commands/exchange.js +2 -0
  7. package/dist/commands/exchange.js.map +1 -1
  8. package/dist/commands/find-destination.d.ts +5 -0
  9. package/dist/commands/find-destination.d.ts.map +1 -1
  10. package/dist/commands/find-destination.js +89 -90
  11. package/dist/commands/find-destination.js.map +1 -1
  12. package/dist/commands/find-flight.d.ts.map +1 -1
  13. package/dist/commands/find-flight.js +45 -33
  14. package/dist/commands/find-flight.js.map +1 -1
  15. package/dist/commands/flight-calendar.d.ts.map +1 -1
  16. package/dist/commands/flight-calendar.js +31 -25
  17. package/dist/commands/flight-calendar.js.map +1 -1
  18. package/dist/commands/flight-search.d.ts.map +1 -1
  19. package/dist/commands/flight-search.js +52 -48
  20. package/dist/commands/flight-search.js.map +1 -1
  21. package/dist/commands/get-booking.d.ts.map +1 -1
  22. package/dist/commands/get-booking.js +16 -7
  23. package/dist/commands/get-booking.js.map +1 -1
  24. package/dist/commands/hotel-cancel.d.ts +4 -2
  25. package/dist/commands/hotel-cancel.d.ts.map +1 -1
  26. package/dist/commands/hotel-cancel.js +18 -14
  27. package/dist/commands/hotel-cancel.js.map +1 -1
  28. package/dist/commands/hotel-search.d.ts.map +1 -1
  29. package/dist/commands/hotel-search.js +122 -42
  30. package/dist/commands/hotel-search.js.map +1 -1
  31. package/dist/commands/price-monitoring.d.ts.map +1 -1
  32. package/dist/commands/price-monitoring.js +48 -33
  33. package/dist/commands/price-monitoring.js.map +1 -1
  34. package/dist/commands/select-ancillaries.d.ts.map +1 -1
  35. package/dist/commands/select-ancillaries.js +5 -7
  36. package/dist/commands/select-ancillaries.js.map +1 -1
  37. package/dist/commands/shared.d.ts +11 -0
  38. package/dist/commands/shared.d.ts.map +1 -1
  39. package/dist/commands/shared.js +17 -0
  40. package/dist/commands/shared.js.map +1 -1
  41. package/dist/commands/trip-status.d.ts.map +1 -1
  42. package/dist/commands/trip-status.js +2 -4
  43. package/dist/commands/trip-status.js.map +1 -1
  44. package/dist/commands/trip.d.ts.map +1 -1
  45. package/dist/commands/trip.js +2 -4
  46. package/dist/commands/trip.js.map +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +0 -2
  49. package/dist/index.js.map +1 -1
  50. package/package.json +2 -2
  51. package/dist/commands/hotel-lookup-booking.d.ts +0 -7
  52. package/dist/commands/hotel-lookup-booking.d.ts.map +0 -1
  53. package/dist/commands/hotel-lookup-booking.js +0 -20
  54. package/dist/commands/hotel-lookup-booking.js.map +0 -1
package/README.md CHANGED
@@ -66,7 +66,8 @@ jinko auth logout # Clear stored credentials
66
66
 
67
67
  | Command | Description |
68
68
  |---|---|
69
- | `get-booking` | Retrieve a booking by reference (booking ref + last-name guest-auth). No subcommands. (Previously `lookup-booking`, which is kept as a hidden deprecated alias.) |
69
+ | `get-booking` | Retrieve the whole booking (flight + hotel) by reference (booking ref + last-name guest-auth). No subcommands. (Previously `lookup-booking`, which is kept as a hidden deprecated alias.) |
70
+ | `hotel-cancel` | Cancel a hotel booking (idempotent, safe to retry). Guest auth (`--ref` + `--last-name`) or authenticated shortcut (`--provider-booking-id`). |
70
71
  | `refund check` | Check refund eligibility for a booking |
71
72
  | `refund commit` | Initiate a refund for a booking |
72
73
  | `refund status` | Check the status of a previously committed refund |
@@ -94,13 +95,13 @@ Quote is automatic — `book` handles it internally. Payment happens on the Jink
94
95
 
95
96
  ```bash
96
97
  # Live flight search by route + dates (returns trip_item_token directly)
97
- jinko flight-search --from PAR --to NYC --date 2026-06-15
98
+ jinko flight-search --origin PAR --destination NYC --departure-date 2026-06-15
98
99
 
99
100
  # Or price-check an offer_token from flight-calendar
100
101
  jinko flight-search --offer-token <offer_token>
101
102
 
102
103
  # Live hotel search (returns htl_* tokens that plug into trip the same way as flight tokens)
103
- jinko hotel-search --city "Paris" --checkin 2026-07-15 --checkout 2026-07-18 --adults 2
104
+ jinko hotel-search --city-name "Paris" --country-code FR --checkin 2026-07-15 --checkout 2026-07-18 --adults 2
104
105
 
105
106
  # Multi-domain cart: add flight + hotel to the same trip → one Stripe checkout
106
107
  jinko trip --trip-item-token <flight_token> # returns trip_id
@@ -134,8 +135,8 @@ jinko refund commit --booking-ref <ref> --pnr <pnr> --reason "schedule change"
134
135
  ## Output Formats
135
136
 
136
137
  ```bash
137
- jinko flight-search --from PAR --to NYC --date 2026-06-15
138
- jinko flight-search --from PAR --to NYC --date 2026-06-15 --format table
138
+ jinko flight-search --origin PAR --destination NYC --departure-date 2026-06-15
139
+ jinko flight-search --origin PAR --destination NYC --departure-date 2026-06-15 --format table
139
140
  ```
140
141
 
141
142
  ## Schema Introspection
@@ -144,3 +145,27 @@ jinko flight-search --from PAR --to NYC --date 2026-06-15 --format table
144
145
  jinko schema # List all tools
145
146
  jinko schema flight-search # Show a tool's request/response schema
146
147
  ```
148
+
149
+ ## Canonical flags & deprecated aliases (JIN-665)
150
+
151
+ CLI flags now match the canonical jinko-api request field names, kebab-cased
152
+ (e.g. `departure_dates` → `--departure-dates`, `star_rating`/`min_star_rating`
153
+ → `--star-rating`). The previous flag spellings keep working as deprecated
154
+ aliases — they print a one-line `DEPRECATED` notice to stderr (never stdout, so
155
+ JSON output stays parseable) and will be removed in the next major release.
156
+
157
+ | Command | Canonical flag | Deprecated alias |
158
+ |---|---|---|
159
+ | `flight-search`, `price-monitoring` | `--origin` / `--destination` | `--from` / `--to` |
160
+ | `flight-search`, `price-monitoring` | `--departure-date` / `--return-date` | `--date` / `--return` |
161
+ | `flight-search`, `price-monitoring` | `--cabin-class` | `--cabin` |
162
+ | `flight-search`, `price-monitoring` | `--adults` | `--passengers` |
163
+ | `flight-calendar`, `find-flight` | `--origins` / `--destinations` | `--from` / `--to` |
164
+ | `find-flight` | `--departure-dates` / `--return-dates` | `--date` / `--return` |
165
+ | `find-flight` | `--cabin-class` / `--sort-by` / `--max-total` | `--cabin` / `--sort` / `--max-price` |
166
+ | `find-destination` | `--origins` / `--departure-dates` / `--max-total` / `--sort-by` … | `--from` / `--date` / `--max-price` / `--sort` … |
167
+ | `hotel-search` | `--city-name` / `--country-code` | `--city` / `--country` |
168
+ | `hotel-search` | `--latitude` / `--longitude` / `--radius-km` | `--lat` / `--lng` / `--radius` |
169
+ | `hotel-search` | `--guest-nationality` | `--nationality` |
170
+ | `hotel-search` | `--star-rating` / `--max-star-rating` | `--stars` / `--max-stars` |
171
+ | `get-booking`, `hotel-cancel` | `--booking-ref` | `--ref` |
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAW1D"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS1D"}
@@ -5,10 +5,8 @@ export function registerBookCommand(program) {
5
5
  .description('Book a trip — schedules checkout and returns a Stripe payment URL, plus cart items and available ancillaries.')
6
6
  .requiredOption('--trip-id <id>', 'trip ID (from trip command)')
7
7
  .action(withClient(async (client, globals, opts) => {
8
- const response = await client.raw.POST('/api/v1/shop/sync/checkout', {
9
- body: { trip_id: opts.tripId },
10
- });
11
- output(response.data, { format: globals.format });
8
+ const response = await client.book(opts.tripId);
9
+ output(response, { format: globals.format });
12
10
  }));
13
11
  }
14
12
  //# sourceMappingURL=checkout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+GAA+G,CAAC;SAC5H,cAAc,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;SAC/D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,4BAAqC,EAAE;YAC5E,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;SACtB,CAAC,CAAC;QACZ,MAAM,CAAE,QAA+B,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+GAA+G,CAAC;SAC5H,cAAc,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;SAC/D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/commands/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF9D"}
1
+ {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/commands/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmF9D"}
@@ -27,6 +27,7 @@ export function registerExchangeCommand(program) {
27
27
  .option('--booking-ref <ref>', 'Jinko booking reference (guest auth, requires --last-name)')
28
28
  .option('--last-name <name>', 'Last name of the primary traveler (guest auth)')
29
29
  .option('--order-id <id>', 'DevPlatform order ID (authenticated auth)')
30
+ .option('--provider <provider>', 'override provider hint')
30
31
  .option('--ticket-numbers <numbers...>', 'one or more ticket numbers')
31
32
  .action(withClient(async (client, globals, opts) => {
32
33
  const response = await client.exchangePrice({
@@ -43,6 +44,7 @@ export function registerExchangeCommand(program) {
43
44
  .option('--booking-ref <ref>', 'Jinko booking reference (guest auth, requires --last-name)')
44
45
  .option('--last-name <name>', 'Last name of the primary traveler (guest auth)')
45
46
  .option('--order-id <id>', 'DevPlatform order ID (authenticated auth)')
47
+ .option('--provider <provider>', 'override provider hint')
46
48
  .option('--ticket-numbers <numbers...>', 'one or more ticket numbers')
47
49
  .action(withClient(async (client, globals, opts) => {
48
50
  const response = await client.exchangeCommit({
@@ -1 +1 @@
1
- {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/commands/exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/commands/exchange.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,11 @@ export interface FindDestinationOpts {
38
38
  sort?: string;
39
39
  }
40
40
  export declare function applyDeprecatedAliases(opts: FindDestinationOpts): void;
41
+ /**
42
+ * Build the canonical FLAT find_destination body for jinko-api
43
+ * (POST /v1/find_destination). Every CLI flag maps 1:1 to a top-level JSON
44
+ * field — no nested `filters` / `passengers` wrapper any more.
45
+ */
41
46
  export declare function buildRequestBody(opts: FindDestinationOpts): Record<string, unknown>;
42
47
  export declare function registerFindDestinationCommand(program: Command): void;
43
48
  //# sourceMappingURL=find-destination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-destination.d.ts","sourceRoot":"","sources":["../../src/commands/find-destination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,WAAW,mBAAmB;IAElC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA8DD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAiCtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwDnF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0IrE"}
1
+ {"version":3,"file":"find-destination.d.ts","sourceRoot":"","sources":["../../src/commands/find-destination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,WAAW,mBAAmB;IAElC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA8CD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAiCtE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkEnF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwIrE"}
@@ -3,7 +3,7 @@ const DESCRIPTION = 'Discover travel destinations accessible from your departure
3
3
  'Surface inspiration when a user knows where they want to leave from but not where they want to go. ' +
4
4
  "Typical prompts include 'cheap beach getaways from New York' or 'weekend trips out of London under €200'. " +
5
5
  'Results come back ranked by lowest available fare so the user can compare options before committing to a route. ' +
6
- 'Same call as `POST /api/v1/flights/destination-search` — every CLI flag maps 1:1 to a JSON field.';
6
+ 'Same call as `POST /v1/find_destination` — every CLI flag maps 1:1 to a JSON field.';
7
7
  function parseDateRange(raw) {
8
8
  const [start, end] = raw.split(':');
9
9
  if (!start || !end) {
@@ -22,48 +22,34 @@ function warn(msg) {
22
22
  process.stderr.write(`[jinko] DEPRECATED: ${msg}\n`);
23
23
  }
24
24
  /**
25
- * Phase 1 translation: a small, documented bridge between canonical CLI / spec
26
- * names (what users learn) and the BFF's current legacy leaf names.
25
+ * Apply canonical passenger fields onto a flat jinko-api request body.
27
26
  *
28
- * When Phase 2 ships (BFF rename adt→adults, sort→sort_by, etc.), delete this
29
- * function and its callers. CLI users see no change.
30
- *
31
- * Tracked: JIN-665 phase 2.
27
+ * Wave 6 (JIN-665): the public surface is FLAT and uses canonical leaf names
28
+ * (`adults`, `children`, `infants_in_lap`, …) at the top level — the BFF's
29
+ * legacy nested `passengers.adt` shape is gone from the client contract. This
30
+ * mutates `body` in place for brevity; the caller owns a fresh object.
32
31
  */
33
- const PHASE_1_PASSENGER_LEGACY = {
34
- adults: 'adt',
35
- children: 'chd',
36
- infants_in_lap: 'inf_lap',
37
- infants_in_seat: 'inf_seat',
38
- };
39
- function buildPassengers(opts) {
40
- const canonical = {};
32
+ function applyPassengers(body, opts) {
41
33
  if (opts.adults !== undefined)
42
- canonical.adults = Number(opts.adults);
34
+ body.adults = Number(opts.adults);
43
35
  if (opts.children !== undefined)
44
- canonical.children = Number(opts.children);
36
+ body.children = Number(opts.children);
45
37
  if (opts.infantsInLap !== undefined)
46
- canonical.infants_in_lap = Number(opts.infantsInLap);
38
+ body.infants_in_lap = Number(opts.infantsInLap);
47
39
  if (opts.infantsInSeat !== undefined)
48
- canonical.infants_in_seat = Number(opts.infantsInSeat);
40
+ body.infants_in_seat = Number(opts.infantsInSeat);
49
41
  if (opts.youth !== undefined)
50
- canonical.youth = Number(opts.youth);
42
+ body.youth = Number(opts.youth);
51
43
  if (opts.student !== undefined)
52
- canonical.student = Number(opts.student);
44
+ body.student = Number(opts.student);
53
45
  if (opts.ages?.length)
54
- canonical.ages = opts.ages.map(Number);
46
+ body.ages = opts.ages.map(Number);
55
47
  if (opts.residencyCountry)
56
- canonical.residency_country = opts.residencyCountry;
57
- // Default to one adult so BFF doesn't reject the request.
58
- if (canonical.adults === undefined && canonical.children === undefined) {
59
- canonical.adults = 1;
60
- }
61
- // Apply Phase 1 legacy translation (adults→adt etc.). See PHASE_1_PASSENGER_LEGACY.
62
- const out = {};
63
- for (const [key, value] of Object.entries(canonical)) {
64
- out[PHASE_1_PASSENGER_LEGACY[key] ?? key] = value;
48
+ body.residency_country = opts.residencyCountry;
49
+ // Default to one adult so the request isn't rejected for missing pax.
50
+ if (body.adults === undefined && body.children === undefined) {
51
+ body.adults = 1;
65
52
  }
66
- return out;
67
53
  }
68
54
  export function applyDeprecatedAliases(opts) {
69
55
  if (opts.from && !opts.origins) {
@@ -99,59 +85,74 @@ export function applyDeprecatedAliases(opts) {
99
85
  opts.sortBy = opts.sort;
100
86
  }
101
87
  }
88
+ /**
89
+ * Build the canonical FLAT find_destination body for jinko-api
90
+ * (POST /v1/find_destination). Every CLI flag maps 1:1 to a top-level JSON
91
+ * field — no nested `filters` / `passengers` wrapper any more.
92
+ */
102
93
  export function buildRequestBody(opts) {
103
94
  if (!opts.origins || opts.origins.length === 0) {
104
95
  throw new Error('Missing required option: --origins.');
105
96
  }
106
- const locations = { origins: opts.origins };
97
+ const body = { origins: opts.origins };
98
+ // Locations
107
99
  if (opts.destinations?.length)
108
- locations.destinations = opts.destinations;
100
+ body.destinations = opts.destinations;
109
101
  if (opts.originType)
110
- locations.origin_type = opts.originType;
102
+ body.origin_type = opts.originType;
111
103
  if (opts.destinationType)
112
- locations.destination_type = opts.destinationType;
113
- const dates = {};
104
+ body.destination_type = opts.destinationType;
105
+ // Dates
114
106
  if (opts.departureDates?.length)
115
- dates.departure_dates = opts.departureDates;
107
+ body.departure_dates = opts.departureDates;
116
108
  if (opts.departureDateRanges?.length) {
117
- dates.departure_date_ranges = opts.departureDateRanges.map(parseDateRange);
109
+ body.departure_date_ranges = opts.departureDateRanges.map(parseDateRange);
118
110
  }
119
111
  if (opts.returnDates?.length)
120
- dates.return_dates = opts.returnDates;
112
+ body.return_dates = opts.returnDates;
121
113
  if (opts.returnDateRanges?.length) {
122
- dates.return_date_ranges = opts.returnDateRanges.map(parseDateRange);
114
+ body.return_date_ranges = opts.returnDateRanges.map(parseDateRange);
123
115
  }
124
116
  if (opts.stayDays !== undefined)
125
- dates.stay_days = Number(opts.stayDays);
117
+ body.stay_days = Number(opts.stayDays);
126
118
  if (opts.stayDaysRange)
127
- dates.stay_days_range = parseIntRange(opts.stayDaysRange);
128
- // BFF requires at least one date — default to next 12 months if none provided.
129
- if (Object.keys(dates).length === 0) {
119
+ body.stay_days_range = parseIntRange(opts.stayDaysRange);
120
+ // find_destination REQUIRES at least one date — default to the next 12
121
+ // months when none was given.
122
+ const hasDate = body.departure_dates ||
123
+ body.departure_date_ranges ||
124
+ body.return_dates ||
125
+ body.return_date_ranges ||
126
+ body.stay_days ||
127
+ body.stay_days_range;
128
+ if (!hasDate) {
130
129
  const today = new Date();
131
130
  const start = today.toISOString().slice(0, 10);
132
131
  const end = new Date(today.getFullYear() + 1, today.getMonth(), today.getDate())
133
- .toISOString().slice(0, 10);
134
- dates.departure_date_ranges = [{ start, end }];
135
- }
136
- const tripType = opts.tripType ??
137
- (opts.returnDates?.length || opts.returnDateRanges?.length ? 'roundtrip' : 'oneway');
138
- const filters = { locations, dates, trip_type: tripType };
132
+ .toISOString()
133
+ .slice(0, 10);
134
+ body.departure_date_ranges = [{ start, end }];
135
+ }
136
+ // Trip + filters
137
+ body.trip_type =
138
+ opts.tripType ??
139
+ (opts.returnDates?.length || opts.returnDateRanges?.length ? 'roundtrip' : 'oneway');
139
140
  if (opts.cabinClass)
140
- filters.cabin_class = opts.cabinClass;
141
+ body.cabin_class = opts.cabinClass;
141
142
  if (opts.directOnly)
142
- filters.direct_only = true;
143
- const body = {
144
- filters,
145
- passengers: buildPassengers(opts),
146
- // Phase 1 legacy: BFF leaf is `sort`; CLI canonical is `--sort-by`.
147
- sort: opts.sortBy,
148
- limit: Number(opts.limit) || 20,
149
- flights_per_destination: opts.flightsPerDestination
150
- ? Number(opts.flightsPerDestination)
151
- : 1,
152
- };
143
+ body.direct_only = true;
144
+ // Passengers (canonical flat leaf names)
145
+ applyPassengers(body, opts);
146
+ // Price
153
147
  if (opts.maxTotal)
154
- body.price_constraints = { max_total: Number(opts.maxTotal) };
148
+ body.max_total = Number(opts.maxTotal);
149
+ // Presentation + pagination
150
+ if (opts.sortBy)
151
+ body.sort_by = opts.sortBy;
152
+ body.limit = Number(opts.limit) || 20;
153
+ body.flights_per_destination = opts.flightsPerDestination
154
+ ? Number(opts.flightsPerDestination)
155
+ : 1;
155
156
  if (opts.currency)
156
157
  body.currency = opts.currency;
157
158
  if (opts.locale)
@@ -165,39 +166,39 @@ export function registerFindDestinationCommand(program) {
165
166
  .command('find-destination')
166
167
  .description(DESCRIPTION)
167
168
  // Location
168
- .option('--origins <codes...>', 'IATA airport or city codes (e.g. JFK LGA). JSON: `filters.locations.origins[]`. Required.')
169
- .option('--destinations <codes...>', 'IATA airport or city codes to filter to. Omit for global discovery. JSON: `filters.locations.destinations[]`.')
170
- .option('--origin-type <type>', 'How to interpret --origins: `city` or `airport` (default: `city`). JSON: `filters.locations.origin_type`.')
171
- .option('--destination-type <type>', 'How to interpret --destinations: `city` or `airport` (default: `city`). JSON: `filters.locations.destination_type`.')
169
+ .option('--origins <codes...>', 'IATA airport or city codes (e.g. JFK LGA). JSON: `origins[]`. Required.')
170
+ .option('--destinations <codes...>', 'IATA airport or city codes to filter to. Omit for global discovery. JSON: `destinations[]`.')
171
+ .option('--origin-type <type>', 'How to interpret --origins: `city` or `airport` (default: `city`). JSON: `origin_type`.')
172
+ .option('--destination-type <type>', 'How to interpret --destinations: `city` or `airport` (default: `city`). JSON: `destination_type`.')
172
173
  // Dates
173
- .option('--departure-dates <dates...>', 'Exact departure dates (YYYY-MM-DD), OR logic. JSON: `filters.dates.departure_dates[]`.')
174
- .option('--departure-date-ranges <ranges...>', 'Flexible departure ranges, repeatable. Format: `YYYY-MM-DD:YYYY-MM-DD`. JSON: `filters.dates.departure_date_ranges[]`.')
175
- .option('--return-dates <dates...>', 'Exact return dates (YYYY-MM-DD), roundtrip only. JSON: `filters.dates.return_dates[]`.')
176
- .option('--return-date-ranges <ranges...>', 'Flexible return ranges, roundtrip only. Format: `YYYY-MM-DD:YYYY-MM-DD`. JSON: `filters.dates.return_date_ranges[]`.')
177
- .option('--stay-days <n>', 'Exact stay length in days. JSON: `filters.dates.stay_days`.')
178
- .option('--stay-days-range <min:max>', 'Flexible stay range, e.g. `5:10`. JSON: `filters.dates.stay_days_range`.')
174
+ .option('--departure-dates <dates...>', 'Exact departure dates (YYYY-MM-DD), OR logic. JSON: `departure_dates[]`.')
175
+ .option('--departure-date-ranges <ranges...>', 'Flexible departure ranges, repeatable. Format: `YYYY-MM-DD:YYYY-MM-DD`. JSON: `departure_date_ranges[]`.')
176
+ .option('--return-dates <dates...>', 'Exact return dates (YYYY-MM-DD), roundtrip only. JSON: `return_dates[]`.')
177
+ .option('--return-date-ranges <ranges...>', 'Flexible return ranges, roundtrip only. Format: `YYYY-MM-DD:YYYY-MM-DD`. JSON: `return_date_ranges[]`.')
178
+ .option('--stay-days <n>', 'Exact stay length in days. JSON: `stay_days`.')
179
+ .option('--stay-days-range <min:max>', 'Flexible stay range, e.g. `5:10`. JSON: `stay_days_range`.')
179
180
  // Trip + filters
180
- .option('--trip-type <type>', '`oneway` or `roundtrip` (inferred from --return-dates if omitted). JSON: `filters.trip_type`.')
181
- .option('--cabin-class <class>', '`economy`, `premium_economy`, `business`, or `first` (default: `economy`). JSON: `filters.cabin_class`.', 'economy')
182
- .option('--direct-only', 'Only return nonstop flights. JSON: `filters.direct_only`.')
183
- // Passengers (canonical names — see PHASE_1_PASSENGER_LEGACY for the BFF leaf mapping)
184
- .option('--adults <n>', 'Adult passengers (default: 1). JSON: `passengers.adt`† (renames to `passengers.adults` after Phase 2).')
185
- .option('--children <n>', 'Child passengers. JSON: `passengers.chd`† (renames to `passengers.children` after Phase 2).')
186
- .option('--infants-in-lap <n>', 'Infants on lap (no seat). JSON: `passengers.inf_lap`† (renames to `passengers.infants_in_lap` after Phase 2).')
187
- .option('--infants-in-seat <n>', 'Infants in own seat. JSON: `passengers.inf_seat`† (renames to `passengers.infants_in_seat` after Phase 2).')
181
+ .option('--trip-type <type>', '`oneway` or `roundtrip` (inferred from --return-dates if omitted). JSON: `trip_type`.')
182
+ .option('--cabin-class <class>', '`economy`, `premium_economy`, `business`, or `first` (default: `economy`). JSON: `cabin_class`.', 'economy')
183
+ .option('--direct-only', 'Only return nonstop flights. JSON: `direct_only`.')
184
+ // Passengers (canonical flat leaf names).
185
+ .option('--adults <n>', 'Adult passengers (default: 1). JSON: `adults`.')
186
+ .option('--children <n>', 'Child passengers. JSON: `children`.')
187
+ .option('--infants-in-lap <n>', 'Infants on lap (no seat). JSON: `infants_in_lap`.')
188
+ .option('--infants-in-seat <n>', 'Infants in own seat. JSON: `infants_in_seat`.')
188
189
  .option('--youth <n>', 'Youth fare. JSON: `passengers.youth`.')
189
190
  .option('--student <n>', 'Student fare. JSON: `passengers.student`.')
190
- .option('--ages <ages...>', 'Explicit ages array (alternative to counts). JSON: `passengers.ages[]`.')
191
- .option('--residency-country <iso2>', 'Residency country, ISO 3166-1 alpha-2. JSON: `passengers.residency_country`.')
191
+ .option('--ages <ages...>', 'Explicit ages array (alternative to counts). JSON: `ages[]`.')
192
+ .option('--residency-country <iso2>', 'Residency country, ISO 3166-1 alpha-2. JSON: `residency_country`.')
192
193
  // Price
193
- .option('--max-total <amount>', 'Maximum total price in --currency. JSON: `price_constraints.max_total`.')
194
+ .option('--max-total <amount>', 'Maximum total price in --currency. JSON: `max_total`.')
194
195
  // Presentation + pagination
195
196
  .option('--currency <code>', 'ISO 4217 currency code (default: USD). JSON: `currency`.')
196
197
  .option('--locale <bcp47>', 'BCP 47 locale, e.g. `en-US`, `fr-FR` (default: `en-US`). JSON: `locale`.')
197
198
  .option('--limit <n>', 'Maximum destinations (1-100, default 20). JSON: `limit`.', '20')
198
199
  .option('--offset <n>', 'Pagination offset (default 0). JSON: `offset`.')
199
200
  .option('--flights-per-destination <n>', 'Itineraries per destination (1-10, default 1). JSON: `flights_per_destination`.')
200
- .option('--sort-by <strategy>', '`lowest` or `recommendation` (default: `lowest`). JSON: `sort`† (renames to `sort_by` after Phase 2).', 'lowest')
201
+ .option('--sort-by <strategy>', '`lowest` or `recommendation` (default: `lowest`). JSON: `sort_by`.', 'lowest')
201
202
  // Deprecated aliases — Phase 1 transition, remove in next major.
202
203
  .option('--from <origins...>', 'DEPRECATED: use --origins.')
203
204
  .option('--date <date>', 'DEPRECATED: use --departure-dates.')
@@ -210,10 +211,8 @@ export function registerFindDestinationCommand(program) {
210
211
  .action(withClient(async (client, globals, opts) => {
211
212
  applyDeprecatedAliases(opts);
212
213
  const body = buildRequestBody(opts);
213
- const response = await client.raw.POST('/api/v1/flights/destination-search', {
214
- body,
215
- });
216
- output(response.data, { format: globals.format });
214
+ const response = await client.findDestination(body);
215
+ output(response, { format: globals.format });
217
216
  }));
218
217
  }
219
218
  //# sourceMappingURL=find-destination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-destination.js","sourceRoot":"","sources":["../../src/commands/find-destination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-destination.js","sourceRoot":"","sources":["../../src/commands/find-destination.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-flight.d.ts","sourceRoot":"","sources":["../../src/commands/find-flight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2ChE"}
1
+ {"version":3,"file":"find-flight.d.ts","sourceRoot":"","sources":["../../src/commands/find-flight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8DhE"}
@@ -1,43 +1,55 @@
1
- import { withClient, output } from './shared.js';
1
+ import { withClient, output, resolveDeprecatedFlag } from './shared.js';
2
2
  export function registerFindFlightCommand(program) {
3
3
  program
4
4
  .command('find-flight')
5
5
  .description('[legacy] Cached flight search by route + dates. Prefer `flight-search` — it returns live pricing and a bookable trip_item_token in one step.')
6
- .requiredOption('--from <origin>', 'origin airport code (e.g. PAR)')
7
- .requiredOption('--to <destination>', 'destination airport code (e.g. NYC)')
8
- .requiredOption('--date <date>', 'departure date (YYYY-MM-DD)')
9
- .option('--return <date>', 'return date for round-trip (YYYY-MM-DD)')
10
- .option('--cabin <class>', 'cabin class: economy, premium_economy, business, first', 'economy')
11
- .option('--direct-only', 'only show direct flights')
12
- .option('--max-price <amount>', 'maximum price filter')
13
- .option('--sort <sort>', 'sort: lowest, recommendation', 'lowest')
14
- .option('--limit <n>', 'max results', '10')
6
+ // Canonical flat discovery flags — match jinko-api FlightDiscoveryRequest.
7
+ .option('--origins <codes...>', 'origin IATA airport/city codes (e.g. PAR). JSON: `origins[]`.')
8
+ .option('--destinations <codes...>', 'destination IATA airport/city codes (e.g. NYC). JSON: `destinations[]`.')
9
+ .option('--departure-dates <dates...>', 'departure dates (YYYY-MM-DD). JSON: `departure_dates[]`.')
10
+ .option('--return-dates <dates...>', 'return dates for round-trip (YYYY-MM-DD). JSON: `return_dates[]`.')
11
+ .option('--cabin-class <class>', 'cabin class: economy, premium_economy, business, first (default: economy). JSON: `cabin_class`.')
12
+ .option('--direct-only', 'only show direct flights. JSON: `direct_only`.')
13
+ .option('--max-total <amount>', 'maximum total price filter. JSON: `max_total`.')
14
+ .option('--sort-by <strategy>', 'sort: lowest, recommendation (default: lowest). JSON: `sort_by`.')
15
+ .option('--limit <n>', 'max results. JSON: `limit`.', '10')
16
+ // Deprecated aliases — Phase 1 transition (JIN-665), remove in next major.
17
+ .option('--from <origin>', 'DEPRECATED: use --origins.')
18
+ .option('--to <destination>', 'DEPRECATED: use --destinations.')
19
+ .option('--date <date>', 'DEPRECATED: use --departure-dates.')
20
+ .option('--return <date>', 'DEPRECATED: use --return-dates.')
21
+ .option('--cabin <class>', 'DEPRECATED: use --cabin-class.')
22
+ .option('--max-price <amount>', 'DEPRECATED: use --max-total.')
23
+ .option('--sort <strategy>', 'DEPRECATED: use --sort-by.')
15
24
  .action(withClient(async (client, globals, opts) => {
16
- const body = {
17
- passengers: { adt: 1 },
18
- filters: {
19
- locations: {
20
- origins: [opts.from],
21
- destinations: [opts.to],
22
- },
23
- dates: {
24
- departure_dates: [opts.date],
25
- ...(opts.return ? { return_dates: [opts.return] } : {}),
26
- },
27
- trip_type: opts.return ? 'roundtrip' : 'oneway',
28
- cabin_class: opts.cabin,
29
- direct_only: opts.directOnly ?? false,
30
- },
31
- sort: opts.sort,
25
+ // Resolve deprecated aliases onto canonical flags.
26
+ const origins = resolveDeprecatedFlag(opts.origins, opts.from ? [opts.from] : undefined, '--from', '--origins');
27
+ const destinations = resolveDeprecatedFlag(opts.destinations, opts.to ? [opts.to] : undefined, '--to', '--destinations');
28
+ const departureDates = resolveDeprecatedFlag(opts.departureDates, opts.date ? [opts.date] : undefined, '--date', '--departure-dates');
29
+ const returnDates = resolveDeprecatedFlag(opts.returnDates, opts.return ? [opts.return] : undefined, '--return', '--return-dates');
30
+ const cabinClass = resolveDeprecatedFlag(opts.cabinClass, opts.cabin, '--cabin', '--cabin-class') ?? 'economy';
31
+ const maxTotal = resolveDeprecatedFlag(opts.maxTotal, opts.maxPrice, '--max-price', '--max-total');
32
+ const sortBy = resolveDeprecatedFlag(opts.sortBy, opts.sort, '--sort', '--sort-by') ?? 'lowest';
33
+ if (!origins?.length || !destinations?.length || !departureDates?.length) {
34
+ console.error('Error: --origins, --destinations, and --departure-dates are required.');
35
+ process.exit(3);
36
+ }
37
+ // Canonical FLAT discovery body — jinko-api POST /v1/flight_calendar.
38
+ const request = {
39
+ origins,
40
+ destinations,
41
+ departure_dates: departureDates,
42
+ ...(returnDates?.length ? { return_dates: returnDates } : {}),
43
+ trip_type: returnDates?.length ? 'roundtrip' : 'oneway',
44
+ cabin_class: cabinClass,
45
+ direct_only: opts.directOnly ?? false,
46
+ adults: 1,
47
+ sort_by: sortBy,
32
48
  limit: Number(opts.limit) || 10,
49
+ ...(maxTotal ? { max_total: Number(maxTotal) } : {}),
33
50
  };
34
- if (opts.maxPrice) {
35
- body['price_constraints'] = { max_total: Number(opts.maxPrice) };
36
- }
37
- const response = await client.raw.POST('/api/v1/flights/search', {
38
- body,
39
- });
40
- output(response.data, { format: globals.format });
51
+ const response = await client.findFlight(request);
52
+ output(response, { format: globals.format });
41
53
  }));
42
54
  }
43
55
  //# sourceMappingURL=find-flight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-flight.js","sourceRoot":"","sources":["../../src/commands/find-flight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8IAA8I,CAAC;SAC3J,cAAc,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SACnE,cAAc,CAAC,oBAAoB,EAAE,qCAAqC,CAAC;SAC3E,cAAc,CAAC,eAAe,EAAE,6BAA6B,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,wDAAwD,EAAE,SAAS,CAAC;SAC9F,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;SACnD,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;SACtD,MAAM,CAAC,eAAe,EAAE,8BAA8B,EAAE,QAAQ,CAAC;SACjE,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,IAAI,GAA4B;YACpC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;YACtB,OAAO,EAAE;gBACP,SAAS,EAAE;oBACT,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpB,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;iBACxB;gBACD,KAAK,EAAE;oBACL,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD;gBACD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBAC/C,WAAW,EAAE,IAAI,CAAC,KAAK;gBACvB,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;aACtC;YACD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;SAChC,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC/D,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,CAAE,QAA+B,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"find-flight.js","sourceRoot":"","sources":["../../src/commands/find-flight.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flight-calendar.d.ts","sourceRoot":"","sources":["../../src/commands/flight-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmDpE"}
1
+ {"version":3,"file":"flight-calendar.d.ts","sourceRoot":"","sources":["../../src/commands/flight-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6DpE"}