@gojinko/cli 2.19.0 → 2.20.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.
@@ -1,6 +1,10 @@
1
1
  /** Shared option registration + request building for the three travel-demand commands. */
2
2
  import type { Command } from 'commander';
3
- import { type DemandQuery, type JinkoClient } from '@gojinko/api-client';
3
+ import { type DemandQuery, type JinkoClient, type TravelPeriod, type TravelerType, type TripType } from '@gojinko/api-client';
4
+ export declare const TRAVEL_PERIODS: readonly TravelPeriod[];
5
+ export declare const TRAVELER_TYPES: readonly TravelerType[];
6
+ export declare const TRIP_TYPES: readonly TripType[];
7
+ export declare const LEVELS: string[];
4
8
  /** Raw option bag as parsed by Commander (camelCased flags). */
5
9
  export interface DemandCliOpts {
6
10
  analysis?: string;
@@ -23,6 +27,11 @@ export interface BuildOpts {
23
27
  requireDestination?: boolean;
24
28
  allowTravelerType?: boolean;
25
29
  }
30
+ export declare function checkEnum<T extends string>(value: string | undefined, allowed: readonly T[], flag: string): T | undefined;
31
+ export declare function checkLocation(value: string | undefined, flag: string): string | undefined;
32
+ export declare function checkDate(value: string | undefined, flag: string): string | undefined;
33
+ export declare function checkNonNegInt(value: string | undefined, flag: string): number | undefined;
34
+ export declare function checkRangeInt(value: string | undefined, flag: string, min: number, max: number, oneDayReason?: string): number | undefined;
26
35
  /** Validate CLI options and build the wire query. Throws UsageError (exit 3) on bad input. */
27
36
  export declare function buildDemandQuery(opts: DemandCliOpts, build?: BuildOpts): DemandQuery;
28
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"demand-shared.d.ts","sourceRoot":"","sources":["../../../src/commands/travel-demand/demand-shared.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAIjB,MAAM,qBAAqB,CAAC;AAmB7B,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,GAAE,SAAc,GAAG,WAAW,CAiFxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,IAE5C,MAAM,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA8B5D"}
1
+ {"version":3,"file":"demand-shared.d.ts","sourceRoot":"","sources":["../../../src/commands/travel-demand/demand-shared.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAK7B,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAQjD,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAA0C,CAAC;AAC7F,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA8B,CAAC;AACzE,eAAO,MAAM,MAAM,UAAsB,CAAC;AAG1C,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,SAAS,CAMf;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUzF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWrF;AAWD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO1F;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EAIX,YAAY,SAAoF,GAC/F,MAAM,GAAG,SAAS,CAUpB;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,GAAE,SAAc,GAAG,WAAW,CAiFxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,IAE5C,MAAM,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA8B5D"}
@@ -2,7 +2,7 @@ import { createJinkoClient, } from '@gojinko/api-client';
2
2
  import { getGlobalOptions } from '../../config/config.js';
3
3
  import { exitWithError, output, UsageError } from '../shared.js';
4
4
  const ANALYSIS = ['snapshot', 'trend'];
5
- const TRAVEL_PERIODS = [
5
+ export const TRAVEL_PERIODS = [
6
6
  'Summer',
7
7
  'Winter',
8
8
  'Christmas',
@@ -11,11 +11,11 @@ const TRAVEL_PERIODS = [
11
11
  'Next90Days',
12
12
  'Custom',
13
13
  ];
14
- const TRAVELER_TYPES = ['Solo', 'Couple', 'Group', 'Family'];
15
- const TRIP_TYPES = ['One-Way', 'Round-Trip'];
16
- const LEVELS = ['City', 'Country'];
14
+ export const TRAVELER_TYPES = ['Solo', 'Couple', 'Group', 'Family'];
15
+ export const TRIP_TYPES = ['One-Way', 'Round-Trip'];
16
+ export const LEVELS = ['City', 'Country'];
17
17
  const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
18
- function checkEnum(value, allowed, flag) {
18
+ export function checkEnum(value, allowed, flag) {
19
19
  if (value === undefined)
20
20
  return undefined;
21
21
  if (!allowed.includes(value)) {
@@ -23,7 +23,7 @@ function checkEnum(value, allowed, flag) {
23
23
  }
24
24
  return value;
25
25
  }
26
- function checkLocation(value, flag) {
26
+ export function checkLocation(value, flag) {
27
27
  if (value === undefined)
28
28
  return undefined;
29
29
  const parts = value.split(':');
@@ -35,7 +35,7 @@ function checkLocation(value, flag) {
35
35
  }
36
36
  return value;
37
37
  }
38
- function checkDate(value, flag) {
38
+ export function checkDate(value, flag) {
39
39
  if (value === undefined)
40
40
  return undefined;
41
41
  if (DATE_RE.test(value)) {
@@ -57,7 +57,7 @@ function checkLimit(value) {
57
57
  }
58
58
  return n;
59
59
  }
60
- function checkNonNegInt(value, flag) {
60
+ export function checkNonNegInt(value, flag) {
61
61
  if (value === undefined)
62
62
  return undefined;
63
63
  const n = Number(value);
@@ -66,12 +66,17 @@ function checkNonNegInt(value, flag) {
66
66
  }
67
67
  return n;
68
68
  }
69
- function checkRangeInt(value, flag, min, max) {
69
+ export function checkRangeInt(value, flag, min, max,
70
+ // Why "1" specifically is rejected. The snapshot/trend windows include the
71
+ // current (incomplete) day, hence the default; evolution windows end yesterday,
72
+ // so they pass their own reason. `1` looks like a reasonable input either way.
73
+ oneDayReason = 'a 1-day window relies on the current day, whose search data is not yet complete') {
70
74
  if (value === undefined)
71
75
  return undefined;
72
76
  const n = Number(value);
73
77
  if (!Number.isInteger(n) || n < min || n > max) {
74
- throw new UsageError(`${flag} must be an integer between ${min} and ${max} (got "${value}")`);
78
+ const why = n === 1 ? ` — ${oneDayReason}` : '';
79
+ throw new UsageError(`${flag} must be an integer between ${min} and ${max}${why} (got "${value}")`);
75
80
  }
76
81
  return n;
77
82
  }
@@ -117,11 +122,11 @@ export function buildDemandQuery(opts, build = {}) {
117
122
  }
118
123
  // Per-mode analysis-window overrides. Each is only valid in its own mode;
119
124
  // pairing it with the other mode is rejected (matches the API/BFF).
120
- const snapshotWindowDays = checkRangeInt(opts.snapshotWindowDays, '--snapshot-window-days', 1, 90);
125
+ const snapshotWindowDays = checkRangeInt(opts.snapshotWindowDays, '--snapshot-window-days', 2, 90);
121
126
  if (snapshotWindowDays !== undefined && analysis !== 'snapshot') {
122
127
  throw new UsageError('--snapshot-window-days is only valid with --analysis snapshot');
123
128
  }
124
- const trendWindowDays = checkRangeInt(opts.trendWindowDays, '--trend-window-days', 1, 45);
129
+ const trendWindowDays = checkRangeInt(opts.trendWindowDays, '--trend-window-days', 2, 45);
125
130
  if (trendWindowDays !== undefined && analysis !== 'trend') {
126
131
  throw new UsageError('--trend-window-days is only valid with --analysis trend');
127
132
  }
@@ -194,8 +199,8 @@ export function addCommonDemandOptions(cmd) {
194
199
  .option('--trip-duration-max <n>', 'maximum trip length in nights (>= --trip-duration-min)')
195
200
  .option('--search-window-min <n>', 'minimum advance-purchase window in days before departure (>= 0)')
196
201
  .option('--search-window-max <n>', 'maximum advance-purchase window in days (>= --search-window-min)')
197
- .option('--snapshot-window-days <n>', 'snapshot only: days of recent search activity in the level window (1-90, default 7)')
198
- .option('--trend-window-days <n>', 'trend only: size in days of each compared window (1-45, default 7)')
202
+ .option('--snapshot-window-days <n>', 'snapshot only: days of recent search activity in the level window (2-90, default 7)')
203
+ .option('--trend-window-days <n>', 'trend only: size in days of each compared window (2-45, default 7)')
199
204
  .option('--limit <n>', 'max rows, 1-200 (default 20)');
200
205
  }
201
206
  //# sourceMappingURL=demand-shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demand-shared.js","sourceRoot":"","sources":["../../../src/commands/travel-demand/demand-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demand-shared.js","sourceRoot":"","sources":["../../../src/commands/travel-demand/demand-shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Shared option registration + request building for the four travel-demand
3
+ * EVOLUTION (daily time-series) commands (JIN-1471):
4
+ *
5
+ * evolution — deep dive over explicit origin×destination pairs
6
+ * destination-evolution — top-N destinations, one series each
7
+ * market-evolution — top-N source markets (destination required)
8
+ * audience-evolution — per traveler-type segment (destination required)
9
+ *
10
+ * Evolution shares the demand filter vocabulary but drops `analysis` (a series is
11
+ * always a series — never snapshot/trend) and `snapshot_window_days`. The single
12
+ * window is `trend_window_days` (2-45, default 7); the series spans the last N
13
+ * complete days ending yesterday. The reusable validators live in
14
+ * ./demand-shared.ts to avoid duplicating the rules.
15
+ */
16
+ import type { Command } from 'commander';
17
+ import { type DemandEvolutionQuery, type JinkoClient } from '@gojinko/api-client';
18
+ /** Raw option bag as parsed by Commander (camelCased flags). */
19
+ export interface EvolutionCliOpts {
20
+ origin?: string[];
21
+ destination?: string | string[];
22
+ originMarket?: string;
23
+ limit?: string;
24
+ travelPeriod?: string;
25
+ departureDateFrom?: string;
26
+ departureDateTo?: string;
27
+ travelerType?: string;
28
+ tripType?: string;
29
+ tripDurationMin?: string;
30
+ tripDurationMax?: string;
31
+ searchWindowMin?: string;
32
+ searchWindowMax?: string;
33
+ trendWindowDays?: string;
34
+ granularity?: string;
35
+ }
36
+ export interface EvolutionBuildOpts {
37
+ /** Ranked commands where --destination must be supplied (market / audience). */
38
+ requireDestination?: boolean;
39
+ /** Whether --traveler-type is a valid filter (false for the audience endpoint, which buckets by it). */
40
+ allowTravelerType?: boolean;
41
+ }
42
+ /**
43
+ * Commander collector for the repeatable, comma-splittable `--origin` /
44
+ * `--destination` flags on the pairs command: `--origin A --origin B` and
45
+ * `--origin A,B` both accumulate into the same array.
46
+ */
47
+ export declare function collectLocations(value: string, previous?: string[]): string[];
48
+ /**
49
+ * Build the query for the `evolution` deep-dive (explicit pairs). v1 requires at
50
+ * least one origin and one destination, caps each list, and allows a list on only
51
+ * one side (the other must be a single location). The wire forwards
52
+ * comma-separated strings — the BFF splits them.
53
+ */
54
+ export declare function buildPairsEvolutionQuery(opts: EvolutionCliOpts): DemandEvolutionQuery;
55
+ /** Build the query for a ranked evolution command (destination / market / audience). */
56
+ export declare function buildRankedEvolutionQuery(opts: EvolutionCliOpts, build: EvolutionBuildOpts): DemandEvolutionQuery;
57
+ /**
58
+ * Build a Commander action for an evolution command. Same ordering contract as
59
+ * the snapshot/trend commands: validate input FIRST (UsageError -> exit 3), THEN
60
+ * construct the client (AuthError -> exit 2), THEN call the API.
61
+ */
62
+ export declare function evolutionAction(buildQuery: (opts: EvolutionCliOpts) => DemandEvolutionQuery, call: (client: JinkoClient, query: DemandEvolutionQuery) => Promise<unknown>): (this: Command, ...args: unknown[]) => Promise<void>;
63
+ /** Register the filter options shared by all four evolution commands. */
64
+ export declare function addCommonEvolutionOptions(cmd: Command): Command;
65
+ /** Register the options common to the three RANKED evolution commands (origin-market + top-N limit). */
66
+ export declare function addRankedEvolutionOptions(cmd: Command): Command;
67
+ //# sourceMappingURL=evolution-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolution-shared.d.ts","sourceRoot":"","sources":["../../../src/commands/travel-demand/evolution-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAmB7B,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAE/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEhC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAOjF;AAqFD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,CAoCrF;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,GACxB,oBAAoB,CAiBtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,oBAAoB,EAC5D,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,IAErD,MAAM,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwB/D;AAED,wGAAwG;AACxG,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI/D"}
@@ -0,0 +1,188 @@
1
+ import { createJinkoClient, } from '@gojinko/api-client';
2
+ import { getGlobalOptions } from '../../config/config.js';
3
+ import { exitWithError, output, UsageError } from '../shared.js';
4
+ import { checkDate, checkEnum, checkLocation, checkNonNegInt, checkRangeInt, TRAVEL_PERIODS, TRAVELER_TYPES, TRIP_TYPES, } from './demand-shared.js';
5
+ const GRANULARITIES = ['day', 'week', 'month'];
6
+ /** v1 caps the pairs deep-dive to a handful of locations per side to avoid an explosion of series. */
7
+ const MAX_PAIR_LOCATIONS = 10;
8
+ /**
9
+ * Commander collector for the repeatable, comma-splittable `--origin` /
10
+ * `--destination` flags on the pairs command: `--origin A --origin B` and
11
+ * `--origin A,B` both accumulate into the same array.
12
+ */
13
+ export function collectLocations(value, previous = []) {
14
+ return previous.concat(value
15
+ .split(',')
16
+ .map((s) => s.trim())
17
+ .filter((s) => s.length > 0));
18
+ }
19
+ function checkEvolutionLimit(value) {
20
+ if (value === undefined)
21
+ return undefined;
22
+ const n = Number(value);
23
+ if (!Number.isInteger(n) || n < 1 || n > 50) {
24
+ throw new UsageError(`--limit must be an integer between 1 and 50 (got "${value}")`);
25
+ }
26
+ return n;
27
+ }
28
+ /** Validate the filters shared by all four evolution commands and build the common query slice. */
29
+ function buildCommonEvolution(opts, build) {
30
+ const travelPeriod = checkEnum(opts.travelPeriod, TRAVEL_PERIODS, '--travel-period');
31
+ const from = checkDate(opts.departureDateFrom, '--departure-date-from');
32
+ const to = checkDate(opts.departureDateTo, '--departure-date-to');
33
+ if (travelPeriod === 'Custom') {
34
+ if (!from || !to) {
35
+ throw new UsageError('--travel-period Custom requires both --departure-date-from and --departure-date-to');
36
+ }
37
+ if (to < from) {
38
+ throw new UsageError('--departure-date-to must be on or after --departure-date-from');
39
+ }
40
+ }
41
+ else if (from || to) {
42
+ throw new UsageError('--departure-date-from/--departure-date-to are only valid with --travel-period Custom');
43
+ }
44
+ const travelerType = build.allowTravelerType
45
+ ? checkEnum(opts.travelerType, TRAVELER_TYPES, '--traveler-type')
46
+ : undefined;
47
+ const tripType = checkEnum(opts.tripType, TRIP_TYPES, '--trip-type');
48
+ const tripDurationMin = checkNonNegInt(opts.tripDurationMin, '--trip-duration-min');
49
+ const tripDurationMax = checkNonNegInt(opts.tripDurationMax, '--trip-duration-max');
50
+ if (tripDurationMin !== undefined &&
51
+ tripDurationMax !== undefined &&
52
+ tripDurationMax < tripDurationMin) {
53
+ throw new UsageError('--trip-duration-max must be >= --trip-duration-min');
54
+ }
55
+ const searchWindowMin = checkNonNegInt(opts.searchWindowMin, '--search-window-min');
56
+ const searchWindowMax = checkNonNegInt(opts.searchWindowMax, '--search-window-max');
57
+ if (searchWindowMin !== undefined &&
58
+ searchWindowMax !== undefined &&
59
+ searchWindowMax < searchWindowMin) {
60
+ throw new UsageError('--search-window-max must be >= --search-window-min');
61
+ }
62
+ // The evolution window reuses the wire field `trend_window_days` (2-45). Here it
63
+ // is not tied to an analysis mode — it is simply the span of the series, which
64
+ // ends yesterday (the current, incomplete day is excluded). A single day is not
65
+ // a series, so 1 is rejected for its own reason, not the snapshot/trend one.
66
+ const trendWindowDays = checkRangeInt(opts.trendWindowDays, '--trend-window-days', 2, 45, 'an evolution series needs at least 2 days');
67
+ const granularity = checkEnum(opts.granularity, GRANULARITIES, '--granularity');
68
+ const query = {};
69
+ if (travelPeriod)
70
+ query.travel_period = travelPeriod;
71
+ if (from)
72
+ query.departure_date_from = from;
73
+ if (to)
74
+ query.departure_date_to = to;
75
+ if (travelerType)
76
+ query.traveler_type = travelerType;
77
+ if (tripType)
78
+ query.trip_type = tripType;
79
+ if (tripDurationMin !== undefined)
80
+ query.trip_duration_min = tripDurationMin;
81
+ if (tripDurationMax !== undefined)
82
+ query.trip_duration_max = tripDurationMax;
83
+ if (searchWindowMin !== undefined)
84
+ query.search_window_min = searchWindowMin;
85
+ if (searchWindowMax !== undefined)
86
+ query.search_window_max = searchWindowMax;
87
+ if (trendWindowDays !== undefined)
88
+ query.trend_window_days = trendWindowDays;
89
+ if (granularity)
90
+ query.granularity = granularity;
91
+ return query;
92
+ }
93
+ /**
94
+ * Build the query for the `evolution` deep-dive (explicit pairs). v1 requires at
95
+ * least one origin and one destination, caps each list, and allows a list on only
96
+ * one side (the other must be a single location). The wire forwards
97
+ * comma-separated strings — the BFF splits them.
98
+ */
99
+ export function buildPairsEvolutionQuery(opts) {
100
+ const query = buildCommonEvolution(opts, { allowTravelerType: true });
101
+ const origins = Array.isArray(opts.origin) ? opts.origin : opts.origin ? [opts.origin] : [];
102
+ const destinations = Array.isArray(opts.destination)
103
+ ? opts.destination
104
+ : opts.destination
105
+ ? [opts.destination]
106
+ : [];
107
+ if (origins.length === 0) {
108
+ throw new UsageError('--origin is required (at least one), e.g. --origin Country:US');
109
+ }
110
+ if (destinations.length === 0) {
111
+ throw new UsageError('--destination is required (at least one), e.g. --destination Country:FR');
112
+ }
113
+ origins.forEach((o) => checkLocation(o, '--origin'));
114
+ destinations.forEach((d) => checkLocation(d, '--destination'));
115
+ if (origins.length > MAX_PAIR_LOCATIONS) {
116
+ throw new UsageError(`--origin accepts at most ${MAX_PAIR_LOCATIONS} locations (got ${origins.length})`);
117
+ }
118
+ if (destinations.length > MAX_PAIR_LOCATIONS) {
119
+ throw new UsageError(`--destination accepts at most ${MAX_PAIR_LOCATIONS} locations (got ${destinations.length})`);
120
+ }
121
+ if (origins.length > 1 && destinations.length > 1) {
122
+ throw new UsageError('v1: at most one of --origin / --destination may have more than one value — keep the other side a single location');
123
+ }
124
+ query.origins = origins.join(',');
125
+ query.destinations = destinations.join(',');
126
+ return query;
127
+ }
128
+ /** Build the query for a ranked evolution command (destination / market / audience). */
129
+ export function buildRankedEvolutionQuery(opts, build) {
130
+ const query = buildCommonEvolution(opts, build);
131
+ const destination = checkLocation(Array.isArray(opts.destination) ? opts.destination[0] : opts.destination, '--destination');
132
+ if (build.requireDestination && !destination) {
133
+ throw new UsageError('--destination is required for this command (e.g. --destination Country:TH)');
134
+ }
135
+ const originMarket = checkLocation(opts.originMarket, '--origin-market');
136
+ const limit = checkEvolutionLimit(opts.limit);
137
+ if (destination)
138
+ query.destination = destination;
139
+ if (originMarket)
140
+ query.origin_market = originMarket;
141
+ if (limit !== undefined)
142
+ query.limit = limit;
143
+ return query;
144
+ }
145
+ /**
146
+ * Build a Commander action for an evolution command. Same ordering contract as
147
+ * the snapshot/trend commands: validate input FIRST (UsageError -> exit 3), THEN
148
+ * construct the client (AuthError -> exit 2), THEN call the API.
149
+ */
150
+ export function evolutionAction(buildQuery, call) {
151
+ return async function (...args) {
152
+ const command = args[args.length - 1];
153
+ const opts = args[args.length - 2] ?? {};
154
+ const globals = getGlobalOptions(command);
155
+ try {
156
+ const query = buildQuery(opts);
157
+ const client = await createJinkoClient({
158
+ apiKey: globals.apiKey,
159
+ environment: globals.environment,
160
+ });
161
+ output(await call(client, query), { format: globals.format });
162
+ }
163
+ catch (err) {
164
+ exitWithError(err, globals);
165
+ }
166
+ };
167
+ }
168
+ /** Register the filter options shared by all four evolution commands. */
169
+ export function addCommonEvolutionOptions(cmd) {
170
+ return cmd
171
+ .option('--travel-period <period>', 'Summer|Winter|Christmas|Easter|Next30Days|Next90Days|Custom (default Next90Days)')
172
+ .option('--departure-date-from <YYYY-MM-DD>', 'start of departure window (requires --travel-period Custom)')
173
+ .option('--departure-date-to <YYYY-MM-DD>', 'end of departure window (requires --travel-period Custom)')
174
+ .option('--trip-type <type>', 'One-Way|Round-Trip')
175
+ .option('--trip-duration-min <n>', 'minimum trip length in nights (round-trips only, >= 0)')
176
+ .option('--trip-duration-max <n>', 'maximum trip length in nights (>= --trip-duration-min)')
177
+ .option('--search-window-min <n>', 'minimum advance-purchase window in days before departure (>= 0)')
178
+ .option('--search-window-max <n>', 'maximum advance-purchase window in days (>= --search-window-min)')
179
+ .option('--trend-window-days <n>', 'evolution window: number of days the series spans, ending yesterday (2-45, default 7)')
180
+ .option('--granularity <bucket>', 'series bucket size: day (default) | week | month');
181
+ }
182
+ /** Register the options common to the three RANKED evolution commands (origin-market + top-N limit). */
183
+ export function addRankedEvolutionOptions(cmd) {
184
+ return addCommonEvolutionOptions(cmd)
185
+ .option('--origin-market <level:code>', 'origin market filter/scope, e.g. Country:US or City:NYC')
186
+ .option('--limit <n>', 'max number of series (top-N), 1-50 (default 10)');
187
+ }
188
+ //# sourceMappingURL=evolution-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolution-shared.js","sourceRoot":"","sources":["../../../src/commands/travel-demand/evolution-shared.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import type { Command } from 'commander';
2
2
  /**
3
- * `jinko travel-demand <operation>` — Travel Demand Intelligence (JIN-1378).
3
+ * `jinko travel-demand <operation>` — Travel Demand Intelligence (JIN-1378, JIN-1471).
4
4
  *
5
- * A second-level command group (like `auth`/`config`) with three operations:
6
- * destination / market / audience. ("demand-" is dropped — it is redundant under
7
- * `travel-demand`.) The SDK keeps its demand* method names
8
- * (demandDestination/demandMarket/demandAudience) since that namespace is flat.
9
- * Registration is purely additive — see createProgram() in ../../index.ts.
5
+ * A second-level command group (like `auth`/`config`) with seven operations:
6
+ * three snapshot/trend rankings — destination / market / audience — and four
7
+ * daily time-series ("evolution") deep-dives — evolution / destination-evolution
8
+ * / market-evolution / audience-evolution (JIN-1471). ("demand-" is dropped — it
9
+ * is redundant under `travel-demand`.) The SDK keeps its flat demand* method
10
+ * names (demandDestination/…/demandEvolution/…). Registration is purely
11
+ * additive — see createProgram() in ../../index.ts.
10
12
  */
11
13
  export declare function registerTravelDemandCommands(program: Command): void;
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/travel-demand/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkDnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/travel-demand/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsDnE"}
@@ -1,19 +1,24 @@
1
1
  import { addCommonDemandOptions, demandAction } from './demand-shared.js';
2
+ import { addCommonEvolutionOptions, addRankedEvolutionOptions, buildPairsEvolutionQuery, buildRankedEvolutionQuery, collectLocations, evolutionAction, } from './evolution-shared.js';
2
3
  /**
3
- * `jinko travel-demand <operation>` — Travel Demand Intelligence (JIN-1378).
4
+ * `jinko travel-demand <operation>` — Travel Demand Intelligence (JIN-1378, JIN-1471).
4
5
  *
5
- * A second-level command group (like `auth`/`config`) with three operations:
6
- * destination / market / audience. ("demand-" is dropped — it is redundant under
7
- * `travel-demand`.) The SDK keeps its demand* method names
8
- * (demandDestination/demandMarket/demandAudience) since that namespace is flat.
9
- * Registration is purely additive — see createProgram() in ../../index.ts.
6
+ * A second-level command group (like `auth`/`config`) with seven operations:
7
+ * three snapshot/trend rankings — destination / market / audience — and four
8
+ * daily time-series ("evolution") deep-dives — evolution / destination-evolution
9
+ * / market-evolution / audience-evolution (JIN-1471). ("demand-" is dropped — it
10
+ * is redundant under `travel-demand`.) The SDK keeps its flat demand* method
11
+ * names (demandDestination/…/demandEvolution/…). Registration is purely
12
+ * additive — see createProgram() in ../../index.ts.
10
13
  */
11
14
  export function registerTravelDemandCommands(program) {
12
15
  const td = program
13
16
  .command('travel-demand')
14
- .summary('Travel Demand Intelligence — top destinations, source markets, audience mix')
15
- .description('Query de-sampled search-demand analytics (JIN-1378): the most-searched destinations, ' +
16
- 'the source markets driving demand for a destination, and the traveler-type mix.');
17
+ .summary('Travel Demand Intelligence — rankings + daily evolution time series')
18
+ .description('Query de-sampled search-demand analytics (JIN-1378, JIN-1471): the most-searched ' +
19
+ 'destinations, the source markets driving demand for a destination, and the traveler-type ' +
20
+ 'mix — as point-in-time rankings (snapshot/trend) or as daily "evolution" time series you ' +
21
+ 'can plot over a window.');
17
22
  addCommonDemandOptions(td
18
23
  .command('destination')
19
24
  .summary('Top destinations by search demand')
@@ -33,5 +38,44 @@ export function registerTravelDemandCommands(program) {
33
38
  .description('Traveler-type composition (Solo/Couple/Family/Group) of demand for a destination. ' +
34
39
  '--destination is required. (traveler_type is not a filter here — it is the dimension.)')
35
40
  .option('--destination <level:code>', 'destination, e.g. Country:JP (required)')).action(demandAction({ requireDestination: true }, (client, query) => client.demandAudience(query)));
41
+ registerEvolutionCommands(td);
42
+ }
43
+ /**
44
+ * The four EVOLUTION (daily time-series) commands (JIN-1471). A series is always
45
+ * a series, so there is no --analysis / --snapshot-window-days here; the window is
46
+ * --trend-window-days (2-45, default 7) and --granularity buckets it.
47
+ */
48
+ function registerEvolutionCommands(td) {
49
+ // Deep dive over explicit pairs. --origin / --destination are repeatable and
50
+ // comma-splittable; v1 requires one side to be a single location.
51
+ addCommonEvolutionOptions(td
52
+ .command('evolution')
53
+ .summary('Daily demand time series for explicit origin/destination pairs')
54
+ .description('Deep dive: one daily de-sampled search-volume series per (origin, destination) pair. ' +
55
+ '--origin and --destination are repeatable (or comma-separated); v1 allows a list on ' +
56
+ 'only one side (keep the other a single location).')
57
+ .option('--origin <level:code>', 'origin selector, e.g. Country:US (repeatable)', collectLocations, [])
58
+ .option('--destination <level:code>', 'destination selector, e.g. Country:FR (repeatable)', collectLocations, [])
59
+ .option('--traveler-type <type>', 'Solo|Couple|Group|Family')).action(evolutionAction(buildPairsEvolutionQuery, (client, query) => client.demandEvolution(query)));
60
+ addRankedEvolutionOptions(td
61
+ .command('destination-evolution')
62
+ .summary('Daily demand time series for the top-N destinations')
63
+ .description('Ranks destinations (optionally reachable from --origin-market) by within-window growth, ' +
64
+ 'then returns each top-N destination’s daily series.')
65
+ .option('--destination <level:code>', 'optional destination filter, e.g. Country:TH')
66
+ .option('--traveler-type <type>', 'Solo|Couple|Group|Family')).action(evolutionAction((opts) => buildRankedEvolutionQuery(opts, { allowTravelerType: true }), (client, query) => client.demandDestinationEvolution(query)));
67
+ addRankedEvolutionOptions(td
68
+ .command('market-evolution')
69
+ .summary('Daily demand time series for the top-N source markets')
70
+ .description('Ranks source markets for a destination by within-window growth, then returns each ' +
71
+ 'top-N market’s daily series. --destination is required.')
72
+ .option('--destination <level:code>', 'destination, e.g. Country:TH (required)')
73
+ .option('--traveler-type <type>', 'Solo|Couple|Group|Family')).action(evolutionAction((opts) => buildRankedEvolutionQuery(opts, { requireDestination: true, allowTravelerType: true }), (client, query) => client.demandMarketEvolution(query)));
74
+ addRankedEvolutionOptions(td
75
+ .command('audience-evolution')
76
+ .summary('Daily demand time series for the traveler-type mix')
77
+ .description('A daily series per traveler-type segment (Solo/Couple/Family/Group) of demand for a ' +
78
+ 'destination. --destination is required. (traveler_type is not a filter here — it is the dimension.)')
79
+ .option('--destination <level:code>', 'destination, e.g. Country:JP (required)')).action(evolutionAction((opts) => buildRankedEvolutionQuery(opts, { requireDestination: true }), (client, query) => client.demandAudienceEvolution(query)));
36
80
  }
37
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/travel-demand/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,EAAE,GAAG,OAAO;SACf,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,6EAA6E,CAAC;SACtF,WAAW,CACV,uFAAuF;QACrF,iFAAiF,CACpF,CAAC;IAEJ,sBAAsB,CACpB,EAAE;SACC,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,mCAAmC,CAAC;SAC5C,WAAW,CACV,wFAAwF;QACtF,oFAAoF,CACvF;SACA,MAAM,CAAC,4BAA4B,EAAE,8CAA8C,CAAC;SACpF,MAAM,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAChE,CAAC,MAAM,CACN,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAC9F,CAAC;IAEF,sBAAsB,CACpB,EAAE;SACC,OAAO,CAAC,QAAQ,CAAC;SACjB,OAAO,CAAC,sCAAsC,CAAC;SAC/C,WAAW,CACV,6FAA6F,CAC9F;SACA,MAAM,CAAC,4BAA4B,EAAE,yCAAyC,CAAC;SAC/E,MAAM,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAChE,CAAC,MAAM,CACN,YAAY,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACpF,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAC3B,CACF,CAAC;IAEF,sBAAsB,CACpB,EAAE;SACC,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,qCAAqC,CAAC;SAC9C,WAAW,CACV,oFAAoF;QAClF,wFAAwF,CAC3F;SACA,MAAM,CAAC,4BAA4B,EAAE,yCAAyC,CAAC,CACnF,CAAC,MAAM,CACN,YAAY,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAC5F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/travel-demand/index.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.19.0",
3
+ "version": "2.20.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.19.0",
20
+ "@gojinko/api-client": "2.20.0",
21
21
  "commander": "^12.1.0",
22
22
  "chalk": "^5.4.1",
23
23
  "open": "^10.0.0"