@gojinko/cli 2.28.0 → 2.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +34 -8
  2. package/SKILL.md +21 -1
  3. package/dist/commands/cars/car-cancel.d.ts +46 -0
  4. package/dist/commands/cars/car-cancel.d.ts.map +1 -0
  5. package/dist/commands/cars/car-cancel.js +136 -0
  6. package/dist/commands/cars/car-cancel.js.map +1 -0
  7. package/dist/commands/cars/car-search.d.ts +42 -0
  8. package/dist/commands/cars/car-search.d.ts.map +1 -0
  9. package/dist/commands/cars/car-search.js +184 -0
  10. package/dist/commands/cars/car-search.js.map +1 -0
  11. package/dist/commands/cars/car-shared.d.ts +54 -0
  12. package/dist/commands/cars/car-shared.d.ts.map +1 -0
  13. package/dist/commands/cars/car-shared.js +89 -0
  14. package/dist/commands/cars/car-shared.js.map +1 -0
  15. package/dist/commands/exchange.d.ts.map +1 -1
  16. package/dist/commands/exchange.js +16 -13
  17. package/dist/commands/exchange.js.map +1 -1
  18. package/dist/commands/get-booking.d.ts +4 -2
  19. package/dist/commands/get-booking.d.ts.map +1 -1
  20. package/dist/commands/get-booking.js +27 -8
  21. package/dist/commands/get-booking.js.map +1 -1
  22. package/dist/commands/hotel-cancel.d.ts +0 -15
  23. package/dist/commands/hotel-cancel.d.ts.map +1 -1
  24. package/dist/commands/hotel-cancel.js +17 -45
  25. package/dist/commands/hotel-cancel.js.map +1 -1
  26. package/dist/commands/hotel-details.js +1 -1
  27. package/dist/commands/hotel-details.js.map +1 -1
  28. package/dist/commands/refund.d.ts +7 -9
  29. package/dist/commands/refund.d.ts.map +1 -1
  30. package/dist/commands/refund.js +26 -17
  31. package/dist/commands/refund.js.map +1 -1
  32. package/dist/commands/schema.d.ts.map +1 -1
  33. package/dist/commands/schema.js +63 -5
  34. package/dist/commands/schema.js.map +1 -1
  35. package/dist/commands/select-ancillaries.js +1 -1
  36. package/dist/commands/select-ancillaries.js.map +1 -1
  37. package/dist/commands/trip-status.d.ts.map +1 -1
  38. package/dist/commands/trip-status.js +4 -2
  39. package/dist/commands/trip-status.js.map +1 -1
  40. package/dist/commands/trip.d.ts.map +1 -1
  41. package/dist/commands/trip.js +4 -4
  42. package/dist/commands/trip.js.map +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +6 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/output/servicing.d.ts +2 -0
  47. package/dist/output/servicing.d.ts.map +1 -0
  48. package/dist/output/servicing.js +81 -0
  49. package/dist/output/servicing.js.map +1 -0
  50. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6RpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmC5D"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4WpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmC5D"}
@@ -5,7 +5,8 @@ import { getGlobalOptions } from "../config/config.js";
5
5
  *
6
6
  * HAND-MAINTAINED. This table is prose about the contract, not generated from
7
7
  * `public-api.yaml` or `generated.ts`, so a spec sync does NOT update it —
8
- * update it here when the contract moves. Last aligned to contract 0.3.0.
8
+ * update it here when the contract moves. Last aligned to contract 0.3.0; the
9
+ * car entries and `contact.title` on `trip` to 0.16.0.
9
10
  */
10
11
  /**
11
12
  * The identity a submitted offer echoes back on every item and booking (C11,
@@ -19,6 +20,8 @@ const HOTEL_TERMS = '{ terms_as_of: "search" | "quote", is_refundable?, free_can
19
20
  const ERROR_CODES = "error.code is a closed enum: AUTH_REQUIRED, PAYMENT_REQUIRED, RATE_LIMITED, BAD_REQUEST, FORBIDDEN, NOT_FOUND, CONFLICT, GONE (410, the generic 410 beneath QUOTE_EXPIRED and OFFER_EXPIRED — what the request named is gone for good, so repeating it cannot succeed), QUOTE_EXPIRED (410, carries expires_at and a numeric quoted_cart_id naming which quote lapsed), TRIP_EXPIRED (409, carries status), TRIP_STATE_CONFLICT (409, carries status), OFFER_EXPIRED, OFFER_UNAVAILABLE, MISSING_CUSTOMER_DETAILS, CURRENCY_UNSUPPORTED, UPSTREAM_REJECTED, UPSTREAM_UNAVAILABLE, UPSTREAM_TIMEOUT, UPSTREAM_ERROR, INTERNAL. Carried keys are SIBLINGS of error, never nested inside it.";
20
21
  /** Every lifecycle state a trip can report (C13). */
21
22
  const TRIP_STATUS = "draft | quoting | quoted | fulfillment_prepared | fulfilling | fulfilled | partially_fulfilled | failed | cancelled | expired";
23
+ /** Money on the car endpoints (C-money): always integer minor units with the scale beside it. */
24
+ const CAR_MONEY_FORMAT = "CarAmount is { value: INTEGER MINOR units, currency, decimal_places, display? } — divide value by 10 ** decimal_places, or print display as sent. Never assume 2 decimals. See docs.gojinko.com/concepts/money.";
22
25
  const SCHEMAS = {
23
26
  "find-destination": {
24
27
  description: "Discover destinations from origin airports (POST /v1/find_destination).",
@@ -120,19 +123,19 @@ const SCHEMAS = {
120
123
  money_format: "Money objects here are INTEGER MINOR UNITS: divide value by 10 ** decimal_places to display ({ value: 15977, decimal_places: 2 } is 159.77). See docs.gojinko.com/concepts/money.",
121
124
  },
122
125
  trip: {
123
- description: "Manage a trip: create, add/remove flight items, set travelers (POST /v1/trip).",
126
+ description: "Manage a trip: create, add/remove items (flight, hotel, ground, car), set travelers (POST /v1/trip).",
124
127
  request: {
125
128
  trip_id: "string? (omit to create new)",
126
- add_item: "{ trip_item_token: string }? (from flight-search)",
129
+ add_item: "{ trip_item_token: string }? (a fare's trip_item_token from flight-search, an htl_* offer_id from hotel-search, a connection id from ground-search, or a car_* offer_id from car-search)",
127
130
  remove_item: "{ item_id: string }? (item_id from prior trip response items[].item_id; requires trip_id; can be combined with add_item to swap in one call)",
128
- upsert_travelers: "{ travelers: [{ first_name, last_name, passenger_type, date_of_birth?, gender?, frequent_flyer?: { airline, number }, known_traveler_number?, known_traveler_issuing_country?, redress_number?, redress_issuing_country?, ... }], contact?: { email, phone } }? (travelers + contact email/phone required to book; date_of_birth + gender required for flights, optional for hotel-only; KTN/redress issuing countries default to US; contact name taken from first traveler)",
131
+ upsert_travelers: "{ travelers: [{ first_name, last_name, passenger_type, date_of_birth?, gender?, frequent_flyer?: { airline, number }, known_traveler_number?, known_traveler_issuing_country?, redress_number?, redress_issuing_country?, ... }], contact?: { email, phone, title? } }? (travelers + contact email/phone required to book; contact.title is the honorific — mr / ms / mx — and is REQUIRED to book a car rental, optional otherwise; date_of_birth + gender required for flights, optional for hotel-only; KTN/redress issuing countries default to US; contact name taken from first traveler)",
129
132
  },
130
133
  response: {
131
134
  trip_id: "string",
132
135
  status: TRIP_STATUS,
133
136
  items: `[{ item_id, type, description, price, currency, ${IDENTITY_FIELDS} }]`,
134
137
  travelers: "[...]",
135
- contact: "{ email, phone }",
138
+ contact: "{ email, phone, title? }",
136
139
  totals: "{ total, currency }",
137
140
  actions_performed: "string[]",
138
141
  },
@@ -145,6 +148,8 @@ const SCHEMAS = {
145
148
  trip_id: "string (from trip command)",
146
149
  },
147
150
  response: {
151
+ quoted_cart_id: "number (quote to pay against)",
152
+ accepted_payment_types: "[{ type: spt | card, card_kinds?: (customer_card | vcc)[], requires: { headers: string[], fields: string[] }, authentication: customer_handoff | unavailable }]",
148
153
  session_id: "string",
149
154
  checkout_url: "string (human payment URL)",
150
155
  expires_at: "string? (ISO datetime)",
@@ -208,6 +213,59 @@ const SCHEMAS = {
208
213
  },
209
214
  money_format: "total_with_ancillaries is { amount: INTEGER MINOR units, currency, decimal_places } — divide amount by 10 ** decimal_places to display. See docs.gojinko.com/concepts/money.",
210
215
  },
216
+ "car-search": {
217
+ description: "Live car-rental search — priced, bookable offers for a pick-up place, a date-time window and a driver (POST /v1/car_search). Each offer's `offer_id` (`car_…`) is the trip item token: pass it to `trip --trip-item-token`, then checkout as normal. There is no car exchange on this surface: a different rental means `car-cancel`, then `car-search` again.",
218
+ request: {
219
+ pick_up: "{ date_time: string (branch-local, NO timezone: 2026-09-12T10:00:00), airport_code?: string (IATA), place?: string (free text, resolved server-side), geo?: { latitude, longitude, range (metres, >= 50) } } — exactly ONE of airport_code / place / geo",
220
+ drop_off: "{ date_time?, airport_code?, place?, geo? }? — one-way rental only; omit it to return the car to the pick-up branch. A geo search is round-trip only.",
221
+ drop_off_date_time: "string? (branch-local) — the return time of a round trip; required unless drop_off.date_time is set",
222
+ driver_age: "number (18-99) — price-affecting, required",
223
+ residence_country: "string (ISO 3166-1 alpha-2, e.g. FR) — price-affecting, required",
224
+ currency: "string? (ISO 4217; defaults to USD)",
225
+ lang: "string? (BCP-47, e.g. en-gb)",
226
+ },
227
+ response: {
228
+ offers: "[{ offer_id (car_… — the trip item token, never truncate it), vehicle, package, pick_up, drop_off, price, driver_age_range: { min, max }, on_request (the supplier confirms by hand, so the booking settles asynchronously), cancellation_fees, expires_at (~30 min — search again after it) }]",
229
+ "offers[].vehicle": "{ acriss_code, name (the model, 'or similar' unless model_guaranteed), category, type, transmission, fuel_type, seats, doors, big_suitcases, small_suitcases, air_conditioned, built_in_gps, model_guaranteed, supplier_code, images: [{ url }] }",
230
+ "offers[].package": "{ name (the rate plan), code, supplier_name (the rental company the customer collects from — show it with every offer), supplier_code, fuel_policy, mileage_unlimited, mileage_allowance, inclusions, coverages, fees }",
231
+ "offers[].pick_up / offers[].drop_off": "{ name, address, city, country, phone, date_time (branch-local), time_zone (IANA — the only way to turn a local time into an instant), latitude, longitude, opening_hours, out_of_hours, requires_flight_number, terminals, is_meet_and_greet }",
232
+ "offers[].price": "{ pay_now (the ONLY amount Jinko charges), due_at_desk (collected by the rental desk, display-only), estimated_total, deposit (a card hold) } — never sum them into a total",
233
+ "offers[].cancellation_fees": "[{ type, fee, non_refundable, applicable_from, applicable_to, applicable_now, seconds_before_pick_up }] — an EMPTY list means the fee is UNKNOWN, never free",
234
+ resolved_place: "{ name, kind, city, country }? — what an unambiguous free-text place matched",
235
+ candidates: "[{ name, kind, city, country }]? — returned INSTEAD of offers when a free-text place is ambiguous: a retry signal, not an empty result — re-run with --pick-up-place \"<candidate name>\"",
236
+ currency: "string",
237
+ warnings: "[{ code, message }]? — supplier notices for branches that returned nothing (BranchClosed, NoMatches, VehiclesUnderStopSale, SupplierConnectivity); informational, offers[] is still the complete answer",
238
+ },
239
+ error_codes: ERROR_CODES,
240
+ money_format: CAR_MONEY_FORMAT,
241
+ },
242
+ "car-cancel": {
243
+ description: "Quote the fee for, commit, or poll a car-rental cancellation — subcommands preview | commit | status (POST /v1/car_cancel_preview | _commit | _status). Call get-booking first and pass the car item's --item-id. Modifying a rental (dates, vehicle, extras) is not offered: keep the booking, or cancel it and book again with car-search.",
244
+ request: {
245
+ preview: {
246
+ booking_ref: "string (JNK-…, from get-booking)",
247
+ item_id: "number? (stable booked item id from get-booking; required when the booking holds more than one car, else 409 item_selection_required lists them)",
248
+ last_name: "string? (required for guest lookup; an owning credential may omit it)",
249
+ },
250
+ commit: {
251
+ booking_ref: "string",
252
+ item_id: "number?",
253
+ last_name: "string?",
254
+ cancellation_id: "string (the ccl_… from preview — binds the commit to the fee the customer saw)",
255
+ reason: "string? (free text, carried into the cancellation email)",
256
+ manual_ok: "boolean? (send true ONLY to hand a manual_required preview to a Jinko agent, once the customer has agreed — nothing reaches the rental company on that call)",
257
+ },
258
+ status: { booking_ref: "string", item_id: "number?", last_name: "string?" },
259
+ },
260
+ response: {
261
+ preview: "{ cancellation_id (ccl_…), cancellable, fee_known (false = the fee is UNKNOWN, not free — fee and refund_amount are then absent), fee_type?, fee?, paid?, refund_amount? (paid minus fee; absent is not zero), currency?, non_refundable?, refund_pending_review?, refund_review_reason? (why a person is involved, or the supplier's reason on a cancellable: false preview), manual_required? (cannot be completed online — commit with manual_ok), expires_at? (commit before this, else preview again) }",
262
+ commit: "{ cancellation_id, state: preview | pending | confirmed | rejected | failed, fee_known, fee?, paid?, refund_amount?, refund_pending_review? (the booking IS cancelled, or recorded for an agent, but the refund needs a person — do not quote refund_amount as final), rejected_reason?, completed_at? }",
263
+ status: "{ cancellation_id, state, fee_known, fee?, paid?, refund_amount?, refund_pending_review?, rejected_reason? }",
264
+ },
265
+ error_codes: "commit answers 409 CONFLICT with a sibling `code` and cancels nothing: manual_required (resend with manual_ok once the customer agrees), quote_drift (`requote` is a fresh cancellation_id and `current.refund` the figure now — show it, then commit against requote), quote_expired (preview again), active_operation_exists (another cancellation is in flight — wait, then car-cancel status), not_cancellable (error.message says why; status reports what stands), funds_unavailable (`shortfall`, `blocking`). A wrong booking_ref + last_name pair is 404 NOT_FOUND. Otherwise: " +
266
+ ERROR_CODES,
267
+ money_format: CAR_MONEY_FORMAT,
268
+ },
211
269
  "agent-pay": {
212
270
  description: "One-call programmatic payment with a Shared Payment Token — the alternative to opening `checkout`'s checkout URL. Get `agent_spt_params` from `checkout`, mint an SPT scoped to them, then `agent-pay submit` presents trip_id + the SPT: the BFF schedules the agent fulfillment and redeems the token (POST /v1/agent_payment/submit).",
213
271
  request: {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export function registerSelectAncillariesCommand(program) {
3
3
  program
4
4
  .command('select-ancillaries')
5
5
  .summary('Select ancillaries (baggage, seats, meals) for a trip item')
6
- .description('Add baggage, seat selections, or meals to a flight item before checkout. Use it after the trip has a flight item and travelers attached but before `book`, for example when a user requests "two checked bags and a window seat for the outbound leg". Selections use full-replacement semantics — include everything the user wants kept on the trip in a single call.')
6
+ .description('Add baggage, seat selections, or meals to a flight item before checkout. Use it after the trip has a flight item and travelers attached but before `checkout`, for example when a user requests "two checked bags and a window seat for the outbound leg". Selections use full-replacement semantics — include everything the user wants kept on the trip in a single call.')
7
7
  .requiredOption('--trip-id <id>', 'trip ID [required]')
8
8
  .requiredOption('--item-id <id>', 'trip item ID [required]')
9
9
  .requiredOption('--select <ids>', 'comma-separated ancillary offer IDs [required]')
@@ -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,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,UAAU,gCAAgC,CAAC,OAAgB;IAC/D,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,OAAO,CAAC,4DAA4D,CAAC;SACrE,WAAW,CACV,yWAAyW,CAC1W;SACA,cAAc,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;SACtD,cAAc,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SAC3D,cAAc,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;SAClF,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,CAAC;SACtD,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,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"}
1
+ {"version":3,"file":"select-ancillaries.js","sourceRoot":"","sources":["../../src/commands/select-ancillaries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,UAAU,gCAAgC,CAAC,OAAgB;IAC/D,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,OAAO,CAAC,4DAA4D,CAAC;SACrE,WAAW,CACV,6WAA6W,CAC9W;SACA,cAAc,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;SACtD,cAAc,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SAC3D,cAAc,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;SAClF,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,CAAC;SACtD,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,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"}
@@ -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;AAIpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAahE"}
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;AAKpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAchE"}
@@ -1,4 +1,5 @@
1
1
  import { withClient, output } from './shared.js';
2
+ import { publicServicingResponse } from '../output/servicing.js';
2
3
  import { printPriceChangeNotices } from '../output/price-change.js';
3
4
  export function registerTripStatusCommand(program) {
4
5
  program
@@ -8,8 +9,9 @@ export function registerTripStatusCommand(program) {
8
9
  .requiredOption('--trip-id <id>', 'trip ID [required]')
9
10
  .action(withClient(async (client, globals, opts) => {
10
11
  const response = await client.getTrip(opts.tripId);
11
- output(response, { format: globals.format });
12
- printPriceChangeNotices(response);
12
+ const publicResponse = publicServicingResponse(response, ['provider_booking_id', 'connector_reference']);
13
+ output(publicResponse, { format: globals.format });
14
+ printPriceChangeNotices(publicResponse);
13
15
  }));
14
16
  }
15
17
  //# 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;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,6GAA6G,CAAC;SACtH,WAAW,CACV,qVAAqV,CACtV;SACA,cAAc,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;SACtD,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;QAC7C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpC,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;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,6GAA6G,CAAC;SACtH,WAAW,CACV,qVAAqV,CACtV;SACA,cAAc,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;SACtD,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,GAAG,uBAAuB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACzG,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAC1C,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;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoE1D"}
1
+ {"version":3,"file":"trip.d.ts","sourceRoot":"","sources":["../../src/commands/trip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuE1D"}
@@ -3,13 +3,13 @@ import { printPriceChangeNotices } from '../output/price-change.js';
3
3
  export function registerTripCommand(program) {
4
4
  program
5
5
  .command('trip')
6
- .summary('Create and manage a trip — add or remove items, set travelers, select ancillaries')
7
- .description('Assemble and edit a trip before sending it to checkout. Use it to add a flight or hotel offer, set traveler details, swap one item for another, or attach ancillaries like bags and seats. Flights and hotels can sit side by side in the same trip and settle through a single checkout.')
6
+ .summary('Create and manage a trip — add or remove items, set travelers')
7
+ .description('Assemble and edit a trip before sending it to checkout. Use it to add a flight, hotel, ground or car-rental offer, set traveler details, swap one item for another, or remove an item. For bags, seats and meals, use get-ancillaries to list offers, then the separate select-ancillaries command to choose them. Flights, hotels, ground and cars can sit side by side in the same trip and settle through a single checkout; a trip holding a car needs the contact\'s honorific (`contact.title`) before checkout.')
8
8
  .option('--trip-id <id>', 'existing trip ID (omit to create new)')
9
- .option('--trip-item-token <token>', 'add a flight item (from flight-search)')
9
+ .option('--trip-item-token <token>', 'add an item: a fare\'s trip_item_token (flight-search), an htl_* offer_id (hotel-search), a connection id (ground-search) or a car_* offer_id (car-search). JSON: `add_item.trip_item_token`.')
10
10
  .option('--remove-item-id <id>', 'remove an existing item by item_id (from a prior trip response items[].item_id). Requires --trip-id. Can be combined with --trip-item-token to swap an item in one call.')
11
11
  .option('--travelers <json>', 'travelers JSON array. Required to complete a booking; date_of_birth + gender are required for flights but optional for hotel-only trips; the first traveler also supplies the booking contact name.')
12
- .option('--contact <json>', 'contact JSON {email, phone} — both required. Optional while building the cart, but required before booking.')
12
+ .option('--contact <json>', 'contact JSON {email, phone, title?} (sent as upsert_travelers.contact) — email and phone are required; title is the honorific (mr / ms / mx), required to book a car rental and optional otherwise. Optional while building the cart, but required before booking.')
13
13
  .addOption(userIntentOption())
14
14
  .action(withClient(async (client, globals, opts) => {
15
15
  const body = {};
@@ -1 +1 @@
1
- {"version":3,"file":"trip.js","sourceRoot":"","sources":["../../src/commands/trip.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,mFAAmF,CAAC;SAC5F,WAAW,CACV,2RAA2R,CAC5R;SACA,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;SACjE,MAAM,CAAC,2BAA2B,EAAE,wCAAwC,CAAC;SAC7E,MAAM,CACL,uBAAuB,EACvB,0KAA0K,CAC3K;SACA,MAAM,CACL,oBAAoB,EACpB,qMAAqM,CACtM;SACA,MAAM,CACL,kBAAkB,EAClB,6GAA6G,CAC9G;SACA,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,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;QAC7C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpC,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,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,+DAA+D,CAAC;SACxE,WAAW,CACV,wfAAwf,CACzf;SACA,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;SACjE,MAAM,CACL,2BAA2B,EAC3B,+LAA+L,CAChM;SACA,MAAM,CACL,uBAAuB,EACvB,0KAA0K,CAC3K;SACA,MAAM,CACL,oBAAoB,EACpB,qMAAqM,CACtM;SACA,MAAM,CACL,kBAAkB,EAClB,oQAAoQ,CACrQ;SACA,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,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;QAC7C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAgB,aAAa,IAAI,OAAO,CAsDvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,aAAa,IAAI,OAAO,CA0DvC"}
package/dist/index.js CHANGED
@@ -21,6 +21,8 @@ import { registerRefundCommand } from "./commands/refund.js";
21
21
  import { registerExchangeCommand } from "./commands/exchange.js";
22
22
  import { registerGetBookingCommand } from "./commands/get-booking.js";
23
23
  import { registerHotelCancelCommand } from "./commands/hotel-cancel.js";
24
+ import { registerCarSearchCommand } from "./commands/cars/car-search.js";
25
+ import { registerCarCancelCommand } from "./commands/cars/car-cancel.js";
24
26
  import { registerAuthCommands } from "./commands/auth/index.js";
25
27
  import { registerSchemaCommand } from "./commands/schema.js";
26
28
  import { registerConfigCommands } from "./commands/config/index.js";
@@ -47,6 +49,7 @@ export function createProgram() {
47
49
  registerHotelSearchCommand(program);
48
50
  registerHotelDetailsCommand(program);
49
51
  registerGroundSearchCommand(program);
52
+ registerCarSearchCommand(program);
50
53
  // Trip building + checkout
51
54
  registerTripCommand(program);
52
55
  registerCheckoutCommand(program);
@@ -59,6 +62,9 @@ export function createProgram() {
59
62
  registerHotelCancelCommand(program);
60
63
  registerRefundCommand(program);
61
64
  registerExchangeCommand(program);
65
+ // Cars cancel only (JIN-2091): there is no car-exchange — Auto Europe
66
+ // support is search, book and cancel (JIN-2312).
67
+ registerCarCancelCommand(program);
62
68
  // Travel Demand Intelligence
63
69
  registerTravelDemandCommands(program);
64
70
  // Utility commands
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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"}
@@ -0,0 +1,2 @@
1
+ export declare function publicServicingResponse(value: unknown, extraKeys?: readonly string[]): unknown;
2
+ //# sourceMappingURL=servicing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servicing.d.ts","sourceRoot":"","sources":["../../src/output/servicing.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,OAAO,CAwFT"}
@@ -0,0 +1,81 @@
1
+ // Older API deployments may still return supplier handles. Project a copy before
2
+ // either output formatter sees it; airline, hotel and Jinko references remain public.
3
+ export function publicServicingResponse(value, extraKeys = []) {
4
+ const privateKeys = new Set([
5
+ "new_order_id",
6
+ "connector_booking_id",
7
+ "sabre_pnr",
8
+ "provider_order_id",
9
+ "provider_cancellation_id",
10
+ ...extraKeys,
11
+ ]);
12
+ const diagnosticKeys = new Set([
13
+ "warnings",
14
+ "manual_reason",
15
+ "message",
16
+ "error",
17
+ "error_message",
18
+ "refund_unavailable_reason",
19
+ "exchange_unavailable_reason",
20
+ "rejected_reason",
21
+ ]);
22
+ const references = new Set();
23
+ const publicReferences = new Set();
24
+ const publicReferenceKeys = new Set([
25
+ "booking_ref",
26
+ "booking_reference",
27
+ "airline_locator",
28
+ "pnr",
29
+ "primary_pnr",
30
+ "confirmation_number",
31
+ ]);
32
+ const isPrivate = (key, parentPath) => privateKeys.has(key.toLowerCase()) ||
33
+ (key.toLowerCase() === "booking_id" &&
34
+ parentPath.slice(-2).join(".") === "provider.references");
35
+ const collect = (node, path = []) => {
36
+ if (Array.isArray(node)) {
37
+ node.forEach((child) => collect(child, path));
38
+ return;
39
+ }
40
+ if (!node || typeof node !== "object")
41
+ return;
42
+ for (const [key, child] of Object.entries(node)) {
43
+ if (isPrivate(key, path) && typeof child === "string" && child.trim()) {
44
+ references.add(child.trim());
45
+ }
46
+ if (publicReferenceKeys.has(key.toLowerCase()) &&
47
+ typeof child === "string" &&
48
+ child.trim()) {
49
+ publicReferences.add(child.trim().toLowerCase());
50
+ }
51
+ collect(child, [...path, key.toLowerCase()]);
52
+ }
53
+ };
54
+ collect(value);
55
+ // A provider and customer locator can coincide. The explicit public label
56
+ // wins, including when that same value is repeated in an explanation.
57
+ const escaped = [...references]
58
+ .filter((reference) => !publicReferences.has(reference.toLowerCase()))
59
+ .sort((a, b) => b.length - a.length)
60
+ .map((reference) => reference.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
61
+ const knownReference = escaped.length
62
+ ? new RegExp(`(?<![a-z0-9])(?:${escaped.join("|")})(?![a-z0-9])`, "gi")
63
+ : undefined;
64
+ const project = (node, path = [], diagnostic = false) => {
65
+ if (typeof node === "string" && diagnostic && knownReference) {
66
+ return node.replace(knownReference, "[internal reference]");
67
+ }
68
+ if (Array.isArray(node))
69
+ return node.map((child) => project(child, path, diagnostic));
70
+ if (!node || typeof node !== "object")
71
+ return node;
72
+ return Object.fromEntries(Object.entries(node)
73
+ .filter(([key]) => !isPrivate(key, path))
74
+ .map(([key, child]) => [
75
+ key,
76
+ project(child, [...path, key.toLowerCase()], diagnostic || diagnosticKeys.has(key.toLowerCase())),
77
+ ]));
78
+ };
79
+ return project(value);
80
+ }
81
+ //# sourceMappingURL=servicing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servicing.js","sourceRoot":"","sources":["../../src/output/servicing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gojinko/cli",
3
- "version": "2.28.0",
3
+ "version": "2.29.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "jinko": "./dist/bin/jinko.js"
@@ -17,7 +17,7 @@
17
17
  "docs:gen": "tsx scripts/gen-cli-docs.ts"
18
18
  },
19
19
  "dependencies": {
20
- "@gojinko/api-client": "2.28.0",
20
+ "@gojinko/api-client": "2.29.1",
21
21
  "commander": "^12.1.0",
22
22
  "chalk": "^5.4.1"
23
23
  },