@gojinko/cli 1.3.0 → 2.1.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 (59) 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-dates.d.ts +25 -0
  9. package/dist/commands/find-dates.d.ts.map +1 -0
  10. package/dist/commands/find-dates.js +88 -0
  11. package/dist/commands/find-dates.js.map +1 -0
  12. package/dist/commands/find-destination.d.ts +5 -0
  13. package/dist/commands/find-destination.d.ts.map +1 -1
  14. package/dist/commands/find-destination.js +89 -90
  15. package/dist/commands/find-destination.js.map +1 -1
  16. package/dist/commands/find-flight.d.ts.map +1 -1
  17. package/dist/commands/find-flight.js +45 -33
  18. package/dist/commands/find-flight.js.map +1 -1
  19. package/dist/commands/flight-calendar.d.ts.map +1 -1
  20. package/dist/commands/flight-calendar.js +31 -25
  21. package/dist/commands/flight-calendar.js.map +1 -1
  22. package/dist/commands/flight-search.d.ts.map +1 -1
  23. package/dist/commands/flight-search.js +52 -48
  24. package/dist/commands/flight-search.js.map +1 -1
  25. package/dist/commands/get-booking.d.ts.map +1 -1
  26. package/dist/commands/get-booking.js +16 -7
  27. package/dist/commands/get-booking.js.map +1 -1
  28. package/dist/commands/hotel-cancel.d.ts +4 -2
  29. package/dist/commands/hotel-cancel.d.ts.map +1 -1
  30. package/dist/commands/hotel-cancel.js +18 -14
  31. package/dist/commands/hotel-cancel.js.map +1 -1
  32. package/dist/commands/hotel-search.d.ts.map +1 -1
  33. package/dist/commands/hotel-search.js +65 -46
  34. package/dist/commands/hotel-search.js.map +1 -1
  35. package/dist/commands/price-monitoring.d.ts.map +1 -1
  36. package/dist/commands/price-monitoring.js +48 -33
  37. package/dist/commands/price-monitoring.js.map +1 -1
  38. package/dist/commands/select-ancillaries.d.ts.map +1 -1
  39. package/dist/commands/select-ancillaries.js +5 -7
  40. package/dist/commands/select-ancillaries.js.map +1 -1
  41. package/dist/commands/shared.d.ts +11 -0
  42. package/dist/commands/shared.d.ts.map +1 -1
  43. package/dist/commands/shared.js +17 -0
  44. package/dist/commands/shared.js.map +1 -1
  45. package/dist/commands/trip-status.d.ts.map +1 -1
  46. package/dist/commands/trip-status.js +2 -4
  47. package/dist/commands/trip-status.js.map +1 -1
  48. package/dist/commands/trip.d.ts.map +1 -1
  49. package/dist/commands/trip.js +2 -4
  50. package/dist/commands/trip.js.map +1 -1
  51. package/dist/index.d.ts +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +29 -29
  54. package/dist/index.js.map +1 -1
  55. package/package.json +2 -2
  56. package/dist/commands/hotel-lookup-booking.d.ts +0 -7
  57. package/dist/commands/hotel-lookup-booking.d.ts.map +0 -1
  58. package/dist/commands/hotel-lookup-booking.js +0 -20
  59. package/dist/commands/hotel-lookup-booking.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { withClient, output } from './shared.js';
2
+ import { withClient, output, resolveDeprecatedFlag } from './shared.js';
3
3
  function isLowConfidenceError(body) {
4
4
  if (!body || typeof body !== 'object')
5
5
  return false;
@@ -33,43 +33,61 @@ function formatLowConfidenceError(body, format) {
33
33
  console.error(` ${chalk.cyan('destination=')}${dest}`);
34
34
  }
35
35
  else {
36
- console.error(chalk.dim('No suggested_retry — provide --city and --country to narrow the lookup, or try a different name.'));
36
+ console.error(chalk.dim('No suggested_retry — provide --city-name and --country-code to narrow the lookup, or try a different name.'));
37
37
  }
38
38
  }
39
39
  export function registerHotelSearchCommand(program) {
40
40
  program
41
41
  .command('hotel-search')
42
42
  .description('Search live hotel inventory and rates by destination, dates, and occupancy.')
43
- .option('--query <text>', 'free-text destination (city, region, POI) — Mode B')
44
- .option('--city <name>', 'city name (e.g. "Paris") — Mode B destination, or Mode A lookup scope when combined with --hotel-name')
45
- .option('--country <code>', 'ISO 3166-1 alpha-2 country code (e.g. fr) — Mode B destination, or Mode A lookup scope when combined with --hotel-name')
46
- .option('--lat <latitude>', 'latitude for geo-radius search — Mode B')
47
- .option('--lng <longitude>', 'longitude for geo-radius search — Mode B')
48
- .option('--radius <km>', 'search radius in km (default 5, max 50) — Mode B')
49
- .option('--place-id <id>', 'Google Places ID or upstream place identifier — Mode B')
50
- .option('--hotel-ids <ids...>', 're-shop specific hotel IDs — Mode A')
51
- .option('--hotel-name <name>', 'look up a specific hotel by name — Mode A. Pair with --city and --country to narrow the lookup scope.')
52
- .option('--checkin <date>', 'check-in date (YYYY-MM-DD)', undefined)
53
- .option('--checkout <date>', 'check-out date (YYYY-MM-DD)', undefined)
54
- .option('--adults <n>', 'number of adults (shorthand)', '2')
55
- .option('--children <ages...>', 'children ages (shorthand, e.g. 5 7)')
56
- .option('--rooms <n>', 'number of rooms (shorthand)')
57
- .option('--currency <code>', 'ISO 4217 currency code (default USD)')
58
- .option('--nationality <code>', 'guest nationality (ISO 3166-1 alpha-2)')
59
- .option('--min-rating <n>', 'minimum guest review rating (0-10)')
60
- .option('--stars <n>', 'minimum star rating (1-5)')
61
- .option('--max-stars <n>', 'maximum star rating (1-5)')
62
- .option('--min-reviews <n>', 'minimum number of reviews')
63
- .option('--max-results <n>', 'maximum hotels to return (default 50)')
43
+ .option('--query <text>', 'free-text destination (city, region, POI) — Mode B. JSON: `query`.')
44
+ .option('--city-name <name>', 'city name (e.g. "Paris") — Mode B destination, or Mode A lookup scope when combined with --hotel-name. JSON: `city_name`.')
45
+ .option('--country-code <code>', 'ISO 3166-1 alpha-2 country code (e.g. fr) — Mode B destination, or Mode A lookup scope when combined with --hotel-name. JSON: `country_code`.')
46
+ .option('--latitude <latitude>', 'latitude for geo-radius search — Mode B. JSON: `latitude`.')
47
+ .option('--longitude <longitude>', 'longitude for geo-radius search — Mode B. JSON: `longitude`.')
48
+ .option('--radius-km <km>', 'search radius in km (default 5, max 50) — Mode B. JSON: `radius_km`.')
49
+ .option('--place-id <id>', 'Google Places ID or upstream place identifier — Mode B. JSON: `place_id`.')
50
+ .option('--hotel-ids <ids...>', 're-shop specific hotel IDs — Mode A. JSON: `hotel_ids`.')
51
+ .option('--hotel-name <name>', 'look up a specific hotel by name — Mode A. Pair with --city-name and --country-code to narrow the lookup scope.')
52
+ .option('--checkin <date>', 'check-in date (YYYY-MM-DD). JSON: `checkin`.', undefined)
53
+ .option('--checkout <date>', 'check-out date (YYYY-MM-DD). JSON: `checkout`.', undefined)
54
+ .option('--adults <n>', 'number of adults (shorthand). JSON: `adults`.', '2')
55
+ .option('--children <ages...>', 'children ages (shorthand, e.g. 5 7). JSON: `children`.')
56
+ .option('--rooms <n>', 'number of rooms (shorthand). JSON: `rooms`.')
57
+ .option('--currency <code>', 'ISO 4217 currency code (default USD). JSON: `currency`.')
58
+ .option('--guest-nationality <code>', 'guest nationality (ISO 3166-1 alpha-2). JSON: `guest_nationality`.')
59
+ .option('--min-rating <n>', 'minimum guest review rating (0-10). JSON: `min_rating`.')
60
+ .option('--star-rating <n>', 'minimum star rating (1-5). JSON: `min_star_rating`.')
61
+ .option('--max-star-rating <n>', 'maximum star rating (1-5). JSON: `max_star_rating`.')
62
+ .option('--min-reviews <n>', 'minimum number of reviews. JSON: `min_reviews`.')
63
+ .option('--max-results <n>', 'maximum hotels to return (default 50). JSON: `max_results`.')
64
+ // Deprecated aliases — Phase 1 transition (JIN-665), remove in next major.
65
+ .option('--city <name>', 'DEPRECATED: use --city-name.')
66
+ .option('--country <code>', 'DEPRECATED: use --country-code.')
67
+ .option('--lat <latitude>', 'DEPRECATED: use --latitude.')
68
+ .option('--lng <longitude>', 'DEPRECATED: use --longitude.')
69
+ .option('--radius <km>', 'DEPRECATED: use --radius-km.')
70
+ .option('--nationality <code>', 'DEPRECATED: use --guest-nationality.')
71
+ .option('--stars <n>', 'DEPRECATED: use --star-rating.')
72
+ .option('--max-stars <n>', 'DEPRECATED: use --max-star-rating.')
64
73
  .action(withClient(async (client, globals, opts) => {
74
+ // Resolve deprecated aliases onto canonical flags.
75
+ const cityName = resolveDeprecatedFlag(opts.cityName, opts.city, '--city', '--city-name');
76
+ const countryCode = resolveDeprecatedFlag(opts.countryCode, opts.country, '--country', '--country-code');
77
+ const latitude = resolveDeprecatedFlag(opts.latitude, opts.lat, '--lat', '--latitude');
78
+ const longitude = resolveDeprecatedFlag(opts.longitude, opts.lng, '--lng', '--longitude');
79
+ const radiusKm = resolveDeprecatedFlag(opts.radiusKm, opts.radius, '--radius', '--radius-km');
80
+ const guestNationality = resolveDeprecatedFlag(opts.guestNationality, opts.nationality, '--nationality', '--guest-nationality');
81
+ const starRating = resolveDeprecatedFlag(opts.starRating, opts.stars, '--stars', '--star-rating');
82
+ const maxStarRating = resolveDeprecatedFlag(opts.maxStarRating, opts.maxStars, '--max-stars', '--max-star-rating');
65
83
  if (!opts.checkin || !opts.checkout) {
66
84
  console.error('Error: --checkin and --checkout are required.');
67
85
  process.exit(3);
68
86
  }
69
- const hasDestination = opts.query || opts.city || opts.lat || opts.placeId || opts.hotelIds || opts.hotelName;
87
+ const hasDestination = opts.query || cityName || latitude || opts.placeId || opts.hotelIds || opts.hotelName;
70
88
  if (!hasDestination) {
71
- console.error('Error: provide a destination — Mode A: --hotel-name (optionally + --city/--country) or --hotel-ids; ' +
72
- 'Mode B: --query, --city, --lat+--lng, or --place-id.');
89
+ console.error('Error: provide a destination — Mode A: --hotel-name (optionally + --city-name/--country-code) or --hotel-ids; ' +
90
+ 'Mode B: --query, --city-name, --latitude+--longitude, or --place-id.');
73
91
  process.exit(3);
74
92
  }
75
93
  // Mode A signal: --hotel-name or --hotel-ids. In Mode A the server
@@ -77,9 +95,9 @@ export function registerHotelSearchCommand(program) {
77
95
  // happen (server-side behavior is lenient-with-warnings for now per
78
96
  // JIN-639 Phase 4 plan; may become a 422 in a future version).
79
97
  const isModeA = Boolean(opts.hotelName || opts.hotelIds);
80
- const hasFilters = Boolean(opts.minRating || opts.stars || opts.maxStars || opts.minReviews || opts.maxResults);
98
+ const hasFilters = Boolean(opts.minRating || starRating || maxStarRating || opts.minReviews || opts.maxResults);
81
99
  if (isModeA && hasFilters) {
82
- console.warn('Warning: filters (--min-rating / --stars / --max-stars / --min-reviews / --max-results) ' +
100
+ console.warn('Warning: filters (--min-rating / --star-rating / --max-star-rating / --min-reviews / --max-results) ' +
83
101
  'are ignored when --hotel-name or --hotel-ids is set (rate-lookup mode). ' +
84
102
  'The server will return a warnings entry in the response.');
85
103
  }
@@ -91,16 +109,16 @@ export function registerHotelSearchCommand(program) {
91
109
  // Destination
92
110
  if (opts.query)
93
111
  body.query = opts.query;
94
- if (opts.city)
95
- body.city_name = opts.city;
96
- if (opts.country)
97
- body.country_code = opts.country;
98
- if (opts.lat)
99
- body.latitude = Number(opts.lat);
100
- if (opts.lng)
101
- body.longitude = Number(opts.lng);
102
- if (opts.radius)
103
- body.radius_km = Number(opts.radius);
112
+ if (cityName)
113
+ body.city_name = cityName;
114
+ if (countryCode)
115
+ body.country_code = countryCode;
116
+ if (latitude)
117
+ body.latitude = Number(latitude);
118
+ if (longitude)
119
+ body.longitude = Number(longitude);
120
+ if (radiusKm)
121
+ body.radius_km = Number(radiusKm);
104
122
  if (opts.placeId)
105
123
  body.place_id = opts.placeId;
106
124
  if (opts.hotelIds)
@@ -115,20 +133,21 @@ export function registerHotelSearchCommand(program) {
115
133
  // Context
116
134
  if (opts.currency)
117
135
  body.currency = opts.currency;
118
- if (opts.nationality)
119
- body.guest_nationality = opts.nationality;
120
- // Filters (Mode B only — Mode A warned above)
136
+ if (guestNationality)
137
+ body.guest_nationality = guestNationality;
138
+ // Filters (Mode B only — Mode A warned above). `--star-rating` maps to
139
+ // the canonical `min_star_rating` leaf (minimum-stars semantics).
121
140
  if (opts.minRating)
122
141
  body.min_rating = Number(opts.minRating);
123
- if (opts.stars)
124
- body.min_star_rating = Number(opts.stars);
125
- if (opts.maxStars)
126
- body.max_star_rating = Number(opts.maxStars);
142
+ if (starRating)
143
+ body.min_star_rating = Number(starRating);
144
+ if (maxStarRating)
145
+ body.max_star_rating = Number(maxStarRating);
127
146
  if (opts.minReviews)
128
147
  body.min_reviews = Number(opts.minReviews);
129
148
  if (opts.maxResults)
130
149
  body.max_results = Number(opts.maxResults);
131
- const response = await client.raw.POST('/api/v1/hotels/shop', {
150
+ const response = await client.raw.POST('/v1/hotel_search', {
132
151
  body,
133
152
  });
134
153
  // 422 HOTEL_NAME_LOW_CONFIDENCE is actionable, not fatal — pretty-print
@@ -1 +1 @@
1
- {"version":3,"file":"hotel-search.js","sourceRoot":"","sources":["../../src/commands/hotel-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hotel-search.js","sourceRoot":"","sources":["../../src/commands/hotel-search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"price-monitoring.d.ts","sourceRoot":"","sources":["../../src/commands/price-monitoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4DrE"}
1
+ {"version":3,"file":"price-monitoring.d.ts","sourceRoot":"","sources":["../../src/commands/price-monitoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4ErE"}
@@ -1,50 +1,65 @@
1
- import { withClient, output } from './shared.js';
1
+ import { withClient, output, resolveDeprecatedFlag } from './shared.js';
2
2
  // price_monitoring — cache-only flight price snapshot for a fixed OD +
3
3
  // dates pair. JIN-256. Intended to be wired into a cron / scheduled job
4
- // so partners can track a route over time. On cache miss the BFF returns
4
+ // so partners can track a route over time. On cache miss the surface returns
5
5
  // status:"stale" and this command surfaces it as a non-zero-but-not-error
6
6
  // path — the caller can use --format=json + jq to act on it.
7
+ //
8
+ // Wired to the public jinko-api surface POST /v1/price_monitoring via the SDK
9
+ // `priceMonitoring()` method (no longer the raw BFF path).
7
10
  export function registerPriceMonitoringCommand(program) {
8
11
  program
9
12
  .command('price-monitoring')
10
13
  .description('Cache-only flight price snapshot for a fixed OD + dates pair. Poll-friendly; never triggers a live call.')
11
- .option('--from <origin>', 'origin IATA code (e.g. PAR for city, CDG for airport)')
12
- .option('--origin-type <type>', 'origin code type: city or airport (default: city)', 'city')
13
- .option('--to <destination>', 'destination IATA code (e.g. NYC for city, JFK for airport)')
14
- .option('--destination-type <type>', 'destination code type: city or airport (default: city)', 'city')
15
- .option('--date <date>', 'departure date (YYYY-MM-DD)')
16
- .option('--return <date>', 'return date for round-trip (YYYY-MM-DD)')
17
- .option('--cabin <class>', 'cabin class: economy, premium_economy, business, first')
18
- .option('--direct-only', 'only consider direct flights')
19
- .option('--max-price <amount>', 'upper bound on total fare')
20
- .option('--include-carriers <codes...>', 'whitelist IATA 2-letter carrier codes (e.g. AF KL)')
21
- .option('--exclude-carriers <codes...>', 'blacklist IATA 2-letter carrier codes (e.g. FR U2)')
14
+ // Canonical flat flags match jinko-api PriceMonitoringRequest leaf names.
15
+ .option('--origin <code>', 'origin IATA code (e.g. PAR for city, CDG for airport). JSON: `origin`.')
16
+ .option('--destination <code>', 'destination IATA code (e.g. NYC for city, JFK for airport). JSON: `destination`.')
17
+ .option('--origin-type <type>', 'origin code type: city or airport (default: city). JSON: `origin_type`.', 'city')
18
+ .option('--destination-type <type>', 'destination code type: city or airport (default: city). JSON: `destination_type`.', 'city')
19
+ .option('--departure-date <date>', 'departure date (YYYY-MM-DD). JSON: `departure_date`.')
20
+ .option('--return-date <date>', 'return date for round-trip (YYYY-MM-DD). JSON: `return_date`.')
21
+ .option('--adults <n>', 'number of adult passengers (default: 1). JSON: `adults`.')
22
+ .option('--cabin-class <class>', 'cabin class: economy, premium_economy, business, first. JSON: `cabin_class`.')
23
+ .option('--direct-only', 'only consider direct flights. JSON: `direct_only`.')
24
+ .option('--max-price <amount>', 'upper bound on total fare. JSON: `max_price`.')
25
+ .option('--include-carriers <codes...>', 'whitelist IATA 2-letter carrier codes (e.g. AF KL). JSON: `include_carriers`.')
26
+ .option('--exclude-carriers <codes...>', 'blacklist IATA 2-letter carrier codes (e.g. FR U2). JSON: `exclude_carriers`.')
27
+ // Deprecated aliases — Phase 1 transition (JIN-665), remove in next major.
28
+ .option('--from <origin>', 'DEPRECATED: use --origin.')
29
+ .option('--to <destination>', 'DEPRECATED: use --destination.')
30
+ .option('--date <date>', 'DEPRECATED: use --departure-date.')
31
+ .option('--return <date>', 'DEPRECATED: use --return-date.')
32
+ .option('--cabin <class>', 'DEPRECATED: use --cabin-class.')
33
+ .option('--passengers <n>', 'DEPRECATED: use --adults.')
22
34
  .action(withClient(async (client, globals, opts) => {
23
- if (!opts.from || !opts.to || !opts.date) {
24
- console.error('Error: --from, --to, and --date are required.');
35
+ // Resolve deprecated aliases onto canonical flags.
36
+ const origin = resolveDeprecatedFlag(opts.origin, opts.from, '--from', '--origin');
37
+ const destination = resolveDeprecatedFlag(opts.destination, opts.to, '--to', '--destination');
38
+ const departureDate = resolveDeprecatedFlag(opts.departureDate, opts.date, '--date', '--departure-date');
39
+ const returnDate = resolveDeprecatedFlag(opts.returnDate, opts.return, '--return', '--return-date');
40
+ const cabinClass = resolveDeprecatedFlag(opts.cabinClass, opts.cabin, '--cabin', '--cabin-class');
41
+ const adults = resolveDeprecatedFlag(opts.adults, opts.passengers, '--passengers', '--adults');
42
+ if (!origin || !destination || !departureDate) {
43
+ console.error('Error: --origin, --destination, and --departure-date are required.');
25
44
  process.exit(3);
26
45
  }
27
- const body = {
28
- origin: String(opts.from).toUpperCase(),
46
+ // Canonical flat body for the public surface (POST /v1/price_monitoring).
47
+ const request = {
48
+ origin: String(origin).toUpperCase(),
29
49
  origin_type: opts.originType ?? 'city',
30
- destination: String(opts.to).toUpperCase(),
50
+ destination: String(destination).toUpperCase(),
31
51
  destination_type: opts.destinationType ?? 'city',
32
- departure_date: opts.date,
52
+ departure_date: departureDate,
53
+ adults: Number(adults) || 1,
54
+ ...(returnDate ? { return_date: returnDate } : {}),
55
+ ...(cabinClass ? { cabin_class: cabinClass } : {}),
56
+ ...(opts.directOnly ? { direct_only: true } : {}),
57
+ ...(opts.maxPrice ? { max_price: Number(opts.maxPrice) } : {}),
58
+ ...(opts.includeCarriers ? { include_carriers: opts.includeCarriers } : {}),
59
+ ...(opts.excludeCarriers ? { exclude_carriers: opts.excludeCarriers } : {}),
33
60
  };
34
- if (opts.return)
35
- body.return_date = opts.return;
36
- if (opts.cabin)
37
- body.cabin_class = opts.cabin;
38
- if (opts.directOnly)
39
- body.direct_only = true;
40
- if (opts.maxPrice)
41
- body.max_price = Number(opts.maxPrice);
42
- if (opts.includeCarriers)
43
- body.include_carriers = opts.includeCarriers;
44
- if (opts.excludeCarriers)
45
- body.exclude_carriers = opts.excludeCarriers;
46
- const response = await client.raw.POST('/api/v1/flights/monitor', { body });
47
- output(response.data, { format: globals.format });
61
+ const response = await client.priceMonitoring(request);
62
+ output(response, { format: globals.format });
48
63
  }));
49
64
  }
50
65
  //# sourceMappingURL=price-monitoring.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"price-monitoring.js","sourceRoot":"","sources":["../../src/commands/price-monitoring.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,6DAA6D;AAC7D,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CACV,0GAA0G,CAC3G;SACA,MAAM,CAAC,iBAAiB,EAAE,uDAAuD,CAAC;SAClF,MAAM,CACL,sBAAsB,EACtB,mDAAmD,EACnD,MAAM,CACP;SACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;SAC1F,MAAM,CACL,2BAA2B,EAC3B,wDAAwD,EACxD,MAAM,CACP;SACA,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;SACnF,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;SAC3D,MAAM,CACL,+BAA+B,EAC/B,oDAAoD,CACrD;SACA,MAAM,CACL,+BAA+B,EAC/B,oDAAoD,CACrD;SACA,MAAM,CACL,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAA4B;YACpC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YACvC,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM;YACtC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;YAC1C,gBAAgB,EAAE,IAAI,CAAC,eAAe,IAAI,MAAM;YAChD,cAAc,EAAE,IAAI,CAAC,IAAI;SAC1B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QACvE,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAEvE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CACpC,yBAAkC,EAClC,EAAE,IAAI,EAAW,CAClB,CAAC;QAEF,MAAM,CAAE,QAA+B,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"price-monitoring.js","sourceRoot":"","sources":["../../src/commands/price-monitoring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"select-ancillaries.d.ts","sourceRoot":"","sources":["../../src/commands/select-ancillaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiCvE"}
1
+ {"version":3,"file":"select-ancillaries.d.ts","sourceRoot":"","sources":["../../src/commands/select-ancillaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+BvE"}
@@ -20,14 +20,12 @@ export function registerSelectAncillariesCommand(program) {
20
20
  ...(opts.pax && { pax_ref_id: opts.pax }),
21
21
  ...(parsedQuantity !== 1 && { quantity: parsedQuantity }),
22
22
  }));
23
- const response = await client.raw.POST('/api/v1/shop/sync/ancillaries', {
24
- body: {
25
- trip_id: opts.tripId,
26
- item_id: opts.itemId,
27
- selections,
28
- },
23
+ const response = await client.selectAncillaries({
24
+ trip_id: opts.tripId,
25
+ item_id: opts.itemId,
26
+ selections,
29
27
  });
30
- output(response.data, { format: globals.format });
28
+ output(response, { format: globals.format });
31
29
  }));
32
30
  }
33
31
  //# sourceMappingURL=select-ancillaries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-ancillaries.js","sourceRoot":"","sources":["../../src/commands/select-ancillaries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,gCAAgC,CAAC,OAAgB;IAC/D,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,6DAA6D,CAAC;SAC1E,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC3C,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC;SAChD,cAAc,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,CAAC;SACtD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;YAClE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;SAC1D,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,+BAAwC,EAAE;YAC/E,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,UAAU;aACX;SACO,CAAC,CAAC;QAEZ,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":"select-ancillaries.js","sourceRoot":"","sources":["../../src/commands/select-ancillaries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,gCAAgC,CAAC,OAAgB;IAC/D,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,6DAA6D,CAAC;SAC1E,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC3C,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC;SAChD,cAAc,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,CAAC;SACtD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;YAClE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;SAC1D,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -4,6 +4,17 @@ import { type GlobalOptions } from '../config/config.js';
4
4
  import { output, outputError } from '../output/formatter.js';
5
5
  export { output, outputError };
6
6
  export type { GlobalOptions };
7
+ /**
8
+ * Promote a deprecated flag onto its canonical counterpart (JIN-665).
9
+ *
10
+ * Flag renames are ADDITIVE: the old spelling keeps working so existing user
11
+ * scripts don't break, but it now feeds the canonical option and prints a
12
+ * one-line deprecation notice to stderr (never stdout, so JSON output stays
13
+ * machine-parseable). The canonical value wins when both are set.
14
+ *
15
+ * Returns the resolved canonical value so callers can use it inline.
16
+ */
17
+ export declare function resolveDeprecatedFlag<T>(canonical: T | undefined, deprecated: T | undefined, oldFlag: string, newFlag: string): T | undefined;
7
18
  /**
8
19
  * Wraps a command handler with standard error handling and client creation.
9
20
  * Commander calls action with varying arg counts:
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,CACP,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,aAAa,EAEtB,OAAO,CAAC,EAAE,GAAG,EACb,GAAG,CAAC,EAAE,OAAO,KACV,OAAO,CAAC,IAAI,CAAC,IAGK,MAAM,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,mBA2BrD"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,SAAS,EAAE,CAAC,GAAG,SAAS,EACxB,UAAU,EAAE,CAAC,GAAG,SAAS,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,GAAG,SAAS,CAMf;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,CACP,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,aAAa,EAEtB,OAAO,CAAC,EAAE,GAAG,EACb,GAAG,CAAC,EAAE,OAAO,KACV,OAAO,CAAC,IAAI,CAAC,IAGK,MAAM,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,mBA2BrD"}
@@ -2,6 +2,23 @@ import { createJinkoClient, ApiError, AuthError } from '@gojinko/api-client';
2
2
  import { getGlobalOptions } from '../config/config.js';
3
3
  import { output, outputError } from '../output/formatter.js';
4
4
  export { output, outputError };
5
+ /**
6
+ * Promote a deprecated flag onto its canonical counterpart (JIN-665).
7
+ *
8
+ * Flag renames are ADDITIVE: the old spelling keeps working so existing user
9
+ * scripts don't break, but it now feeds the canonical option and prints a
10
+ * one-line deprecation notice to stderr (never stdout, so JSON output stays
11
+ * machine-parseable). The canonical value wins when both are set.
12
+ *
13
+ * Returns the resolved canonical value so callers can use it inline.
14
+ */
15
+ export function resolveDeprecatedFlag(canonical, deprecated, oldFlag, newFlag) {
16
+ if (deprecated !== undefined && canonical === undefined) {
17
+ process.stderr.write(`[jinko] DEPRECATED: ${oldFlag} is deprecated, use ${newFlag}.\n`);
18
+ return deprecated;
19
+ }
20
+ return canonical;
21
+ }
5
22
  /**
6
23
  * Wraps a command handler with standard error handling and client creation.
7
24
  * Commander calls action with varying arg counts:
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAG/B;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,OAMkB;IAElB,8DAA8D;IAC9D,OAAO,KAAK,WAA0B,GAAG,IAAW;QAClD,uEAAuE;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAA4B,CAAC;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACrC,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAC/B,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAG/B;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAwB,EACxB,UAAyB,EACzB,OAAe,EACf,OAAe;IAEf,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,uBAAuB,OAAO,KAAK,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,OAMkB;IAElB,8DAA8D;IAC9D,OAAO,KAAK,WAA0B,GAAG,IAAW;QAClD,uEAAuE;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAA4B,CAAC;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACrC,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAC/B,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trip-status.d.ts","sourceRoot":"","sources":["../../src/commands/trip-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAWhE"}
1
+ {"version":3,"file":"trip-status.d.ts","sourceRoot":"","sources":["../../src/commands/trip-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAShE"}
@@ -5,10 +5,8 @@ export function registerTripStatusCommand(program) {
5
5
  .description('Get full status of a trip: cart, quote, fulfillment, bookings.')
6
6
  .requiredOption('--trip-id <id>', 'trip ID')
7
7
  .action(withClient(async (client, globals, opts) => {
8
- const response = await client.raw.GET('/api/v1/shop/sync/{id}', {
9
- params: { path: { id: opts.tripId } },
10
- });
11
- output(response.data, { format: globals.format });
8
+ const response = await client.getTrip(opts.tripId);
9
+ output(response, { format: globals.format });
12
10
  }));
13
11
  }
14
12
  //# sourceMappingURL=trip-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trip-status.js","sourceRoot":"","sources":["../../src/commands/trip-status.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,gEAAgE,CAAC;SAC7E,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC3C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAiC,EAAE;YACvE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;SAC7B,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":"trip-status.js","sourceRoot":"","sources":["../../src/commands/trip-status.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,gEAAgE,CAAC;SAC7E,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC3C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,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":"trip.d.ts","sourceRoot":"","sources":["../../src/commands/trip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4D1D"}
1
+ {"version":3,"file":"trip.d.ts","sourceRoot":"","sources":["../../src/commands/trip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyD1D"}
@@ -44,10 +44,8 @@ export function registerTripCommand(program) {
44
44
  }
45
45
  body['upsert_travelers'] = upsertTravelers;
46
46
  }
47
- const response = await client.raw.POST('/api/v1/shop/sync', {
48
- body,
49
- });
50
- output(response.data, { format: globals.format });
47
+ const response = await client.trip(body);
48
+ output(response, { format: globals.format });
51
49
  }));
52
50
  }
53
51
  //# sourceMappingURL=trip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trip.js","sourceRoot":"","sources":["../../src/commands/trip.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,4FAA4F,CAAC;SACzG,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;SACjE,MAAM,CAAC,2BAA2B,EAAE,wCAAwC,CAAC;SAC7E,MAAM,CACL,uBAAuB,EACvB,0KAA0K,CAC3K;SACA,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;SACpD,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACzD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,IAAI,GAA4B,EAAE,CAAC;QAEzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,SAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAc,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,eAAe,GAA4B,EAAE,SAAS,EAAE,CAAC;YAE/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,mBAA4B,EAAE;YACnE,IAAI;SACI,CAAC,CAAC;QAEZ,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":"trip.js","sourceRoot":"","sources":["../../src/commands/trip.ts"],"names":[],"mappings":"AAEA,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,4FAA4F,CAAC;SACzG,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;SACjE,MAAM,CAAC,2BAA2B,EAAE,wCAAwC,CAAC;SAC7E,MAAM,CACL,uBAAuB,EACvB,0KAA0K,CAC3K;SACA,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;SACpD,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACzD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,IAAI,GAA4B,EAAE,CAAC;QAEzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,SAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAc,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,eAAe,GAA4B,EAAE,SAAS,EAAE,CAAC;YAE/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAmB,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { Command } from 'commander';
1
+ import { Command } from "commander";
2
2
  export declare function createProgram(): Command;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,aAAa,IAAI,OAAO,CAsCvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,wBAAgB,aAAa,IAAI,OAAO,CA4CvC"}
package/dist/index.js CHANGED
@@ -1,42 +1,43 @@
1
- import { readFileSync } from 'node:fs';
2
- import { fileURLToPath } from 'node:url';
3
- import { dirname, join } from 'node:path';
4
- import { Command } from 'commander';
5
- import { registerFindFlightCommand } from './commands/find-flight.js';
6
- import { registerFindDestinationCommand } from './commands/find-destination.js';
7
- import { registerFlightSearchCommand } from './commands/flight-search.js';
8
- import { registerFlightCalendarCommand } from './commands/flight-calendar.js';
9
- import { registerPriceMonitoringCommand } from './commands/price-monitoring.js';
10
- import { registerHotelSearchCommand } from './commands/hotel-search.js';
11
- import { registerHotelDetailsCommand } from './commands/hotel-details.js';
12
- import { registerTripCommand } from './commands/trip.js';
13
- import { registerBookCommand } from './commands/checkout.js';
14
- import { registerTripStatusCommand } from './commands/trip-status.js';
15
- import { registerSelectAncillariesCommand } from './commands/select-ancillaries.js';
16
- import { registerRefundCommand } from './commands/refund.js';
17
- import { registerExchangeCommand } from './commands/exchange.js';
18
- import { registerGetBookingCommand } from './commands/get-booking.js';
19
- import { registerHotelLookupBookingCommand } from './commands/hotel-lookup-booking.js';
20
- import { registerHotelCancelCommand } from './commands/hotel-cancel.js';
21
- import { registerAuthCommands } from './commands/auth/index.js';
22
- import { registerSchemaCommand } from './commands/schema.js';
23
- import { registerConfigCommands } from './commands/config/index.js';
1
+ import { readFileSync } from "node:fs";
2
+ import { fileURLToPath } from "node:url";
3
+ import { dirname, join } from "node:path";
4
+ import { Command } from "commander";
5
+ import { registerFindFlightCommand } from "./commands/find-flight.js";
6
+ import { registerFindDestinationCommand } from "./commands/find-destination.js";
7
+ import { registerFlightSearchCommand } from "./commands/flight-search.js";
8
+ import { registerFlightCalendarCommand } from "./commands/flight-calendar.js";
9
+ import { registerFindDatesCommand } from "./commands/find-dates.js";
10
+ import { registerPriceMonitoringCommand } from "./commands/price-monitoring.js";
11
+ import { registerHotelSearchCommand } from "./commands/hotel-search.js";
12
+ import { registerHotelDetailsCommand } from "./commands/hotel-details.js";
13
+ import { registerTripCommand } from "./commands/trip.js";
14
+ import { registerBookCommand } from "./commands/checkout.js";
15
+ import { registerTripStatusCommand } from "./commands/trip-status.js";
16
+ import { registerSelectAncillariesCommand } from "./commands/select-ancillaries.js";
17
+ import { registerRefundCommand } from "./commands/refund.js";
18
+ import { registerExchangeCommand } from "./commands/exchange.js";
19
+ import { registerGetBookingCommand } from "./commands/get-booking.js";
20
+ import { registerHotelCancelCommand } from "./commands/hotel-cancel.js";
21
+ import { registerAuthCommands } from "./commands/auth/index.js";
22
+ import { registerSchemaCommand } from "./commands/schema.js";
23
+ import { registerConfigCommands } from "./commands/config/index.js";
24
24
  // Read version dynamically from package.json so it never drifts.
25
25
  // Compiled file lives at dist/index.js; package.json is one level up.
26
- const pkg = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), '..', 'package.json'), 'utf-8'));
26
+ const pkg = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), "..", "package.json"), "utf-8"));
27
27
  export function createProgram() {
28
28
  const program = new Command();
29
29
  program
30
- .name('jinko')
31
- .description('Jinko CLI — search flights, manage trips, and book travel from the terminal.')
30
+ .name("jinko")
31
+ .description("Jinko CLI — search flights, manage trips, and book travel from the terminal.")
32
32
  .version(pkg.version)
33
- .option('--format <format>', 'output format: json (default) or table', 'json')
34
- .option('--api-key <key>', 'API key (jnk_...) — overrides env/config');
33
+ .option("--format <format>", "output format: json (default) or table", "json")
34
+ .option("--api-key <key>", "API key (jnk_...) — overrides env/config");
35
35
  // Discovery
36
36
  registerFindFlightCommand(program);
37
37
  registerFindDestinationCommand(program);
38
38
  registerFlightSearchCommand(program);
39
39
  registerFlightCalendarCommand(program);
40
+ registerFindDatesCommand(program);
40
41
  registerPriceMonitoringCommand(program);
41
42
  registerHotelSearchCommand(program);
42
43
  registerHotelDetailsCommand(program);
@@ -47,7 +48,6 @@ export function createProgram() {
47
48
  registerTripStatusCommand(program);
48
49
  // Post-booking
49
50
  registerGetBookingCommand(program);
50
- registerHotelLookupBookingCommand(program);
51
51
  registerHotelCancelCommand(program);
52
52
  registerRefundCommand(program);
53
53
  registerExchangeCommand(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}