@gojinko/cli 2.8.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/dist/commands/find-dates.js +3 -3
- package/dist/commands/find-dates.js.map +1 -1
- package/dist/commands/flight-calendar.js +3 -3
- package/dist/commands/flight-calendar.js.map +1 -1
- package/dist/commands/get-booking.d.ts.map +1 -1
- package/dist/commands/get-booking.js +3 -19
- package/dist/commands/get-booking.js.map +1 -1
- package/dist/commands/lowest-fare.js +3 -3
- package/dist/commands/lowest-fare.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -29,6 +29,18 @@ jinko auth status # Show current method, expiry
|
|
|
29
29
|
jinko auth logout # Clear stored credentials
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
## Environments (prod / sandbox)
|
|
33
|
+
|
|
34
|
+
Defaults to **production**. Use `--env sandbox` to target the sandbox environment (isolated data, **separate API keys**):
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
jinko auth login --env sandbox --key jnk_your_sandbox_key # store the sandbox key
|
|
38
|
+
jinko config set environment sandbox # make sandbox the default
|
|
39
|
+
jinko --env prod find-destination --origins NYC # one-off prod override
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Prod and sandbox keys are stored separately in `~/.jinko/config.yaml`. Resolution precedence: `--env` → `JINKO_ENV` → config `environment` → `prod`. `JINKO_API_BASE` overrides the mapped URL (for dev/staging).
|
|
43
|
+
|
|
32
44
|
## Commands
|
|
33
45
|
|
|
34
46
|
### Exploration (cached)
|
|
@@ -65,8 +77,7 @@ jinko auth logout # Clear stored credentials
|
|
|
65
77
|
|
|
66
78
|
| Command | Description |
|
|
67
79
|
|---|---|
|
|
68
|
-
| `get-booking` | Retrieve the whole booking (flight + hotel) by reference (booking ref + last-name guest-auth). No subcommands.
|
|
69
|
-
| `hotel-cancel` | Cancel a hotel booking (idempotent, safe to retry). Guest auth (`--ref` + `--last-name`) or authenticated shortcut (`--provider-booking-id`). |
|
|
80
|
+
| `get-booking` | Retrieve the whole booking (flight + hotel) by reference (booking ref + last-name guest-auth). No subcommands. |
|
|
70
81
|
| `refund check` | Check refund eligibility for a booking |
|
|
71
82
|
| `refund commit` | Initiate a refund for a booking |
|
|
72
83
|
| `refund status` | Check the status of a previously committed refund |
|
|
@@ -80,7 +91,7 @@ jinko auth logout # Clear stored credentials
|
|
|
80
91
|
|
|
81
92
|
| Command | Description |
|
|
82
93
|
|---|---|
|
|
83
|
-
| `config set` / `config show` | Manage local config |
|
|
94
|
+
| `config set` / `config show` | Manage local config — `config set environment <prod\|sandbox>`, `config set api_key <jnk_…>` (stored under the active env) |
|
|
84
95
|
| `schema [cmd]` | Show request/response schemas |
|
|
85
96
|
|
|
86
97
|
## Canonical Flow
|
|
@@ -43,7 +43,7 @@ export function registerFindDatesCommand(program) {
|
|
|
43
43
|
.description('Answers "when should I fly?" for a known route. Takes the same inputs as Flight Calendar but returns up to ten cheapest itineraries — one per (departure, return) date-pair — spread across the requested departure window, so the user gets a diverse shortlist rather than ten near-adjacent cheapest days. Cache-backed; no live pricing. Each result includes an offer token you can pass into a live price check or directly into a trip.')
|
|
44
44
|
// Canonical flat discovery flags — match jinko-api FlightDiscoveryRequest.
|
|
45
45
|
.option("--origins <codes...>", "origin IATA airport/city codes. JSON: `origins[]`. [required]")
|
|
46
|
-
.option("--destinations <codes...>", "destination IATA airport/city codes. JSON: `destinations[]`.
|
|
46
|
+
.option("--destinations <codes...>", "destination IATA airport/city codes. Omit to scan all destinations. JSON: `destinations[]`.")
|
|
47
47
|
.option("--month <month>", "departure month to scan (YYYY-MM), defaults to current month")
|
|
48
48
|
.option("--trip-type <type>", "oneway or roundtrip (default: roundtrip). JSON: `trip_type`.")
|
|
49
49
|
.option("--stay-days <n>", "nights away for a roundtrip (default: 7). JSON: `stay_days`.")
|
|
@@ -58,8 +58,8 @@ export function registerFindDatesCommand(program) {
|
|
|
58
58
|
const origins = resolveDeprecatedFlag(opts.origins, opts.from ? [opts.from] : undefined, "--from", "--origins");
|
|
59
59
|
const destinations = resolveDeprecatedFlag(opts.destinations, opts.to ? [opts.to] : undefined, "--to", "--destinations");
|
|
60
60
|
const cabinClass = resolveDeprecatedFlag(opts.cabinClass, opts.cabin, "--cabin", "--cabin-class") ?? "economy";
|
|
61
|
-
if (!origins?.length
|
|
62
|
-
console.error("Error: --origins
|
|
61
|
+
if (!origins?.length) {
|
|
62
|
+
console.error("Error: --origins is required (--destinations is optional — omit to scan all destinations).");
|
|
63
63
|
process.exit(3);
|
|
64
64
|
}
|
|
65
65
|
const tripType = opts.tripType ?? "roundtrip";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-dates.js","sourceRoot":"","sources":["../../src/commands/find-dates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAc5B,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAC1B,KAAa;IAEb,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjD,OAAO;QACL,KAAK,EAAE,GAAG,KAAK,KAAK;QACpB,GAAG,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;KACpD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAsB;IAEtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAsB;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3C,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,QAAQ;KAClB,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CACN,4GAA4G,CAC7G;SACA,WAAW,CACV,gbAAgb,CACjb;QACD,2EAA2E;SAC1E,MAAM,CACL,sBAAsB,EACtB,+DAA+D,CAChE;SACA,MAAM,CACL,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"find-dates.js","sourceRoot":"","sources":["../../src/commands/find-dates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAc5B,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAC1B,KAAa;IAEb,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjD,OAAO;QACL,KAAK,EAAE,GAAG,KAAK,KAAK;QACpB,GAAG,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;KACpD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAsB;IAEtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAsB;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3C,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,QAAQ;KAClB,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CACN,4GAA4G,CAC7G;SACA,WAAW,CACV,gbAAgb,CACjb;QACD,2EAA2E;SAC1E,MAAM,CACL,sBAAsB,EACtB,+DAA+D,CAChE;SACA,MAAM,CACL,2BAA2B,EAC3B,6FAA6F,CAC9F;SACA,MAAM,CACL,iBAAiB,EACjB,8DAA8D,CAC/D;SACA,MAAM,CACL,oBAAoB,EACpB,8DAA8D,CAC/D;SACA,MAAM,CACL,iBAAiB,EACjB,8DAA8D,CAC/D;SACA,MAAM,CACL,uBAAuB,EACvB,iGAAiG,CAClG;SACA,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,8DAA8D,CAAC;QACtF,2EAA2E;SAC1E,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,CAAC;SAC/D,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SAC3D,MAAM,CACL,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,qBAAqB,CACnC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EACnC,QAAQ,EACR,WAAW,CACZ,CAAC;QACF,MAAM,YAAY,GAAG,qBAAqB,CACxC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/B,MAAM,EACN,gBAAgB,CACjB,CAAC;QACF,MAAM,UAAU,GACd,qBAAqB,CACnB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,KAAK,EACV,SAAS,EACT,eAAe,CAChB,IAAI,SAAS,CAAC;QAEjB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAC5G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC9C,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CAAC;YACpC,OAAO;YACP,YAAY;YACZ,KAAK;YACL,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CACT,wBAAwB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,QAAQ,GAAG,CAChG,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
|
|
@@ -6,7 +6,7 @@ export function registerFlightCalendarCommand(program) {
|
|
|
6
6
|
.description('Find priced itineraries between a known origin and destination using cached results, ideal when the user is flexible on dates. It answers questions like "cheapest week to fly Paris to Barcelona in June" or "best Friday to Sunday options from JFK to LAX next month". Each result includes an offer token you can pass into a live price check or directly into a trip.')
|
|
7
7
|
// Canonical flat discovery flags — match jinko-api FlightDiscoveryRequest.
|
|
8
8
|
.option('--origins <codes...>', 'origin IATA airport/city codes. JSON: `origins[]`. [required]')
|
|
9
|
-
.option('--destinations <codes...>', 'destination IATA airport/city codes. JSON: `destinations[]`.
|
|
9
|
+
.option('--destinations <codes...>', 'destination IATA airport/city codes. Omit to scan all destinations. JSON: `destinations[]`.')
|
|
10
10
|
.option('--month <month>', 'month to display (YYYY-MM), defaults to current month')
|
|
11
11
|
.option('--cabin-class <class>', 'cabin class: economy, premium_economy, business, first (default: economy). JSON: `cabin_class`.')
|
|
12
12
|
.option('--direct-only', 'only direct flights. JSON: `direct_only`.')
|
|
@@ -22,8 +22,8 @@ export function registerFlightCalendarCommand(program) {
|
|
|
22
22
|
const origins = resolveDeprecatedFlag(opts.origins, opts.from ? [opts.from] : undefined, '--from', '--origins');
|
|
23
23
|
const destinations = resolveDeprecatedFlag(opts.destinations, opts.to ? [opts.to] : undefined, '--to', '--destinations');
|
|
24
24
|
const cabinClass = resolveDeprecatedFlag(opts.cabinClass, opts.cabin, '--cabin', '--cabin-class') ?? 'economy';
|
|
25
|
-
if (!origins?.length
|
|
26
|
-
console.error('Error: --origins
|
|
25
|
+
if (!origins?.length) {
|
|
26
|
+
console.error('Error: --origins is required (--destinations is optional — omit to scan all destinations).');
|
|
27
27
|
process.exit(3);
|
|
28
28
|
}
|
|
29
29
|
const month = opts.month ?? new Date().toISOString().slice(0, 7);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flight-calendar.js","sourceRoot":"","sources":["../../src/commands/flight-calendar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,OAAO,CAAC,0EAA0E,CAAC;SACnF,WAAW,CACV,6WAA6W,CAC9W;QACD,2EAA2E;SAC1E,MAAM,CAAC,sBAAsB,EAAE,+DAA+D,CAAC;SAC/F,MAAM,CAAC,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"flight-calendar.js","sourceRoot":"","sources":["../../src/commands/flight-calendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-booking.d.ts","sourceRoot":"","sources":["../../src/commands/get-booking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"get-booking.d.ts","sourceRoot":"","sources":["../../src/commands/get-booking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAWhE"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { withClient, output, resolveDeprecatedFlag } from './shared.js';
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// as a deprecated alias (JIN-665).
|
|
2
|
+
// Commander action for `get-booking`. The canonical flag is `--booking-ref`
|
|
3
|
+
// (matches the jinko-api `booking_ref` leaf); `--ref` is kept as a deprecated
|
|
4
|
+
// alias (JIN-665).
|
|
6
5
|
const action = withClient(async (client, globals, opts) => {
|
|
7
6
|
const bookingRef = resolveDeprecatedFlag(opts.bookingRef, opts.ref, '--ref', '--booking-ref');
|
|
8
7
|
if (!bookingRef) {
|
|
@@ -24,20 +23,5 @@ export function registerGetBookingCommand(program) {
|
|
|
24
23
|
.requiredOption('--last-name <name>', 'Last name of the primary traveler. JSON: `last_name`. [required]')
|
|
25
24
|
.option('--ref <ref>', 'DEPRECATED: use --booking-ref.')
|
|
26
25
|
.action(action);
|
|
27
|
-
// Deprecated alias (JIN-663) — hidden from `--help`, emits a one-line
|
|
28
|
-
// deprecation warning to stderr, then runs the same action. Remove once
|
|
29
|
-
// external scripts have migrated to `jinko get-booking`.
|
|
30
|
-
program
|
|
31
|
-
.command('lookup-booking', { hidden: true })
|
|
32
|
-
.description('[DEPRECATED] Alias for `get-booking`. Use `get-booking` instead.')
|
|
33
|
-
.option('--booking-ref <ref>', 'Jinko booking reference (e.g. JNK-A7B3X9). JSON: `booking_ref`. [required]')
|
|
34
|
-
.requiredOption('--last-name <name>', 'Last name of the primary traveler. JSON: `last_name`. [required]')
|
|
35
|
-
.option('--ref <ref>', 'DEPRECATED: use --booking-ref.')
|
|
36
|
-
.action(function deprecatedLookupBookingAction(...args) {
|
|
37
|
-
// eslint-disable-next-line no-console
|
|
38
|
-
console.error('[DEPRECATED] `jinko lookup-booking` is renamed to `jinko get-booking`. ' +
|
|
39
|
-
'The old name will be removed in a future release.');
|
|
40
|
-
return action.apply(this, args);
|
|
41
|
-
});
|
|
42
26
|
}
|
|
43
27
|
//# sourceMappingURL=get-booking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-booking.js","sourceRoot":"","sources":["../../src/commands/get-booking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,
|
|
1
|
+
{"version":3,"file":"get-booking.js","sourceRoot":"","sources":["../../src/commands/get-booking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,4EAA4E;AAC5E,8EAA8E;AAC9E,mBAAmB;AACnB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;QACvC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,IAAI,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,mFAAmF,CAAC;SAC5F,WAAW,CACV,+VAA+V,CAChW;SACA,MAAM,CAAC,qBAAqB,EAAE,4EAA4E,CAAC;SAC3G,cAAc,CAAC,oBAAoB,EAAE,kEAAkE,CAAC;SACxG,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -27,7 +27,7 @@ export function registerLowestFareCommand(program) {
|
|
|
27
27
|
.summary("Cheapest fares for a fixed route + date — up to ten itineraries, cheapest first")
|
|
28
28
|
.description("The cheapest fares for a fixed route and date. Takes the same inputs as Flight Calendar but for one specific departure date (one-way, or with a return date for round-trip) returns up to ten itineraries sorted cheapest-first. The fixed-date counterpart of Flight Calendar — reach for it when the date is locked and you just want the cheapest options that day. Cache-backed; no live pricing. Each result includes an offer token you can pass into a live price check or directly into a trip.")
|
|
29
29
|
.option("--origins <codes...>", "origin IATA airport/city codes. JSON: `origins[]`. [required]")
|
|
30
|
-
.option("--destinations <codes...>", "destination IATA airport/city codes. JSON: `destinations[]`.
|
|
30
|
+
.option("--destinations <codes...>", "destination IATA airport/city codes. Omit to scan all destinations. JSON: `destinations[]`.")
|
|
31
31
|
.option("--date <date>", "departure date (YYYY-MM-DD). JSON: `departure_dates[0]`. [required]")
|
|
32
32
|
.option("--return-date <date>", "return date (YYYY-MM-DD) — makes it a round-trip. JSON: `return_dates[0]`.")
|
|
33
33
|
.option("--cabin-class <class>", "cabin class: economy, premium_economy, business, first (default: economy). JSON: `cabin_class`.")
|
|
@@ -40,8 +40,8 @@ export function registerLowestFareCommand(program) {
|
|
|
40
40
|
const origins = resolveDeprecatedFlag(opts.origins, opts.from ? [opts.from] : undefined, "--from", "--origins");
|
|
41
41
|
const destinations = resolveDeprecatedFlag(opts.destinations, opts.to ? [opts.to] : undefined, "--to", "--destinations");
|
|
42
42
|
const cabinClass = resolveDeprecatedFlag(opts.cabinClass, opts.cabin, "--cabin", "--cabin-class") ?? "economy";
|
|
43
|
-
if (!origins?.length
|
|
44
|
-
console.error("Error: --origins
|
|
43
|
+
if (!origins?.length) {
|
|
44
|
+
console.error("Error: --origins is required (--destinations is optional — omit to scan all destinations).");
|
|
45
45
|
process.exit(3);
|
|
46
46
|
}
|
|
47
47
|
if (!opts.date || !DATE_RE.test(opts.date)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowest-fare.js","sourceRoot":"","sources":["../../src/commands/lowest-fare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAYtC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAuB;IAEvB,MAAM,OAAO,GAAsB;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QACpD,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,QAAQ;KAClB,CAAC;IACF,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CACN,iFAAiF,CAClF;SACA,WAAW,CACV,yeAAye,CAC1e;SACA,MAAM,CACL,sBAAsB,EACtB,+DAA+D,CAChE;SACA,MAAM,CACL,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"lowest-fare.js","sourceRoot":"","sources":["../../src/commands/lowest-fare.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.
|
|
3
|
+
"version": "2.10.0",
|
|
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.
|
|
20
|
+
"@gojinko/api-client": "2.10.0",
|
|
21
21
|
"commander": "^12.1.0",
|
|
22
22
|
"chalk": "^5.4.1",
|
|
23
23
|
"open": "^10.0.0"
|