@gojinko/api-client 2.22.0 → 2.23.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 +42 -5
- package/dist/client.d.ts +11 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +31 -7
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/oauth.d.ts +9 -0
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +9 -0
- package/dist/oauth.js.map +1 -1
- package/dist/tools.d.ts +23 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +17 -2
- package/dist/tools.js.map +1 -1
- package/dist/types/devplatform.d.ts +48 -13
- package/dist/types/devplatform.d.ts.map +1 -1
- package/dist/types/generated.d.ts +3927 -893
- package/dist/types/generated.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.yaml +4409 -1202
package/README.md
CHANGED
|
@@ -22,13 +22,16 @@ const client = await createJinkoClient({ apiKey: 'jnk_...' });
|
|
|
22
22
|
|
|
23
23
|
## Authentication
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Authenticate with a **tenant API key** (`jnk_...`) — get one from
|
|
26
|
+
**dashboard.gojinko.com → Developers → API keys**. The client resolves
|
|
27
|
+
credentials automatically in this order:
|
|
26
28
|
|
|
27
29
|
1. `apiKey` option passed to `createJinkoClient()`
|
|
28
30
|
2. `JINKO_API_KEY` environment variable
|
|
29
|
-
3. `~/.jinko/config.yaml` — API key
|
|
31
|
+
3. `~/.jinko/config.yaml` — API key (managed by `jinko auth login --key jnk_...`)
|
|
30
32
|
|
|
31
|
-
OAuth tokens
|
|
33
|
+
> OAuth is deprecated. Legacy OAuth tokens still present in `~/.jinko/config.yaml`
|
|
34
|
+
> continue to auto-refresh, but new logins use API keys.
|
|
32
35
|
|
|
33
36
|
## Methods
|
|
34
37
|
|
|
@@ -52,6 +55,7 @@ canonical `/v1/*` routes). Authenticate with a `jnk_` API key (`X-API-Key`).
|
|
|
52
55
|
| `client.flightSearch()` | `POST /v1/flight_search` |
|
|
53
56
|
| `client.hotelSearch()` | `POST /v1/hotel_search` |
|
|
54
57
|
| `client.hotelDetails()` | `GET /v1/hotel_details/{hotel_id}` |
|
|
58
|
+
| `client.groundSearch()` | `POST /v1/ground_search` |
|
|
55
59
|
| `client.trip()` | `POST /v1/trip` |
|
|
56
60
|
| `client.getTrip(tripId)` | `GET /v1/trip/{trip_id}` |
|
|
57
61
|
|
|
@@ -123,6 +127,35 @@ const results = await client.hotelSearch({
|
|
|
123
127
|
await client.trip({ add_item: { trip_item_token: 'htl_xxx:rate_yyy' } });
|
|
124
128
|
```
|
|
125
129
|
|
|
130
|
+
### ground_search — Live rail, coach and ferry search
|
|
131
|
+
|
|
132
|
+
Returns ground connections (Distribusion). Two things to know before your first call:
|
|
133
|
+
|
|
134
|
+
1. **Codes are ISO-country + city, not IATA** — `GBLON` for London, not `LON`. A
|
|
135
|
+
wrong code returns no inventory rather than an error, which is a confusing way
|
|
136
|
+
to fail.
|
|
137
|
+
2. **`connections[].id` *is* the trip item token.** Unlike hotels it carries no
|
|
138
|
+
`htl_`-style prefix — pass it verbatim to `trip()`.
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
const results = await client.groundSearch({
|
|
142
|
+
departure_city: 'GBLON',
|
|
143
|
+
arrival_city: 'GBLON',
|
|
144
|
+
departure_date: '2026-08-28',
|
|
145
|
+
passengers: [{ pax: 1 }], // omit max_age for an adult; 0-15 prices as a child
|
|
146
|
+
currency: 'GBP',
|
|
147
|
+
});
|
|
148
|
+
// → { connections: [ { id, departure_station, arrival_station, departure_time,
|
|
149
|
+
// duration_minutes, transport_mode, marketing_carrier,
|
|
150
|
+
// fares: [ { fare_class, total_price, refundable } ] } ] }
|
|
151
|
+
|
|
152
|
+
// Add the journey to a trip — the id goes in unmodified:
|
|
153
|
+
await client.trip({ add_item: { trip_item_token: results.connections[0].id } });
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Pass `return_date` for a round trip. Ground shares the cart with flights and
|
|
157
|
+
hotels, so `checkout()` and `getTrip()` need no ground-specific handling.
|
|
158
|
+
|
|
126
159
|
### trip — Create trip, add flight or hotel, set travelers
|
|
127
160
|
|
|
128
161
|
```typescript
|
|
@@ -138,6 +171,9 @@ const trip = await client.trip({
|
|
|
138
171
|
// Optional per-traveler loyalty program. airline = IATA code of the
|
|
139
172
|
// program issuer (e.g. 'LH'), not necessarily the operating carrier.
|
|
140
173
|
frequent_flyer: { airline: 'LH', number: '992100100' },
|
|
174
|
+
// Optional US trusted-traveler identifiers (flights only). The issuing
|
|
175
|
+
// country defaults to US; a redress_number works the same way.
|
|
176
|
+
known_traveler_number: '998765432',
|
|
141
177
|
}],
|
|
142
178
|
contact: { email: 'jane@example.com', phone: '+33612345678' },
|
|
143
179
|
},
|
|
@@ -220,7 +256,8 @@ const refund = await client.refundCommit({ booking_ref: 'JNK-ABC123', last_
|
|
|
220
256
|
findFlight / findDestination / flightCalendar → offer_token (cached, flights)
|
|
221
257
|
flightSearch (offer_token) → trip_item_token (live, flights)
|
|
222
258
|
hotelSearch → htl_* offer_id (live, hotels)
|
|
223
|
-
|
|
259
|
+
groundSearch → connections[].id (live, ground; raw, NOT prefixed)
|
|
260
|
+
trip (trip_item_token OR htl_* OR ground id) → trip_id (multi-domain)
|
|
224
261
|
checkout (trip_id) → checkout_url + agent_spt_params + items
|
|
225
262
|
├─ [human] user pays on checkout_url
|
|
226
263
|
└─ [agent] submitAgentPayment(trip_id, spt) → authorized server-side
|
|
@@ -238,7 +275,7 @@ try {
|
|
|
238
275
|
const client = await createJinkoClient();
|
|
239
276
|
} catch (error) {
|
|
240
277
|
if (error instanceof AuthError) {
|
|
241
|
-
// No credentials configured — run `jinko auth login
|
|
278
|
+
// No credentials configured — run `jinko auth login --key jnk_...`
|
|
242
279
|
}
|
|
243
280
|
if (error instanceof ApiError) {
|
|
244
281
|
console.error(error.code, error.message, error.statusCode);
|
package/dist/client.d.ts
CHANGED
|
@@ -30,6 +30,17 @@ export interface ClientOptions {
|
|
|
30
30
|
* producer (jinkoso/mcp-bff#1146) consumes it.
|
|
31
31
|
*/
|
|
32
32
|
readonly originAction?: string;
|
|
33
|
+
/**
|
|
34
|
+
* The end user's request in their own words (avoid PII), forwarded to Jinko
|
|
35
|
+
* for observability and relevance. When set, it is merged into the JSON
|
|
36
|
+
* request body of every POST tool call as the optional
|
|
37
|
+
* `intent: { user_intent }` envelope (IntentInput) — the shape all 21
|
|
38
|
+
* intent-eligible public POST operations accept. Unlike the X-Origin-*
|
|
39
|
+
* headers this is a body field, so non-ASCII text (any language) passes
|
|
40
|
+
* through untouched; the value is trimmed and omitted entirely when blank.
|
|
41
|
+
* The CLI threads its per-command `--user-intent` flag here.
|
|
42
|
+
*/
|
|
43
|
+
readonly userIntent?: string;
|
|
33
44
|
}
|
|
34
45
|
export type JinkoRawClient = ReturnType<typeof createClient<paths>>;
|
|
35
46
|
export interface JinkoClient extends JinkoTools {
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAInB,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAInB,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAgDlD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAQD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA2LzF"}
|
package/dist/client.js
CHANGED
|
@@ -36,6 +36,17 @@ function sanitizeOriginAction(value) {
|
|
|
36
36
|
.slice(0, ORIGIN_ACTION_MAX_LEN);
|
|
37
37
|
return ascii.length > 0 ? ascii : undefined;
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Normalize the user-intent text destined for the `intent.user_intent`
|
|
41
|
+
* request-body field. Unlike X-Origin-Action this travels in the JSON body,
|
|
42
|
+
* not a header, so non-ASCII text (any language) passes through untouched —
|
|
43
|
+
* we only trim whitespace and return undefined when the result is empty so
|
|
44
|
+
* the `intent` envelope is omitted rather than sent blank.
|
|
45
|
+
*/
|
|
46
|
+
function normalizeUserIntent(value) {
|
|
47
|
+
const trimmed = value?.trim();
|
|
48
|
+
return trimmed ? trimmed : undefined;
|
|
49
|
+
}
|
|
39
50
|
/**
|
|
40
51
|
* Create a configured openapi-fetch client for the Jinko BFF.
|
|
41
52
|
*
|
|
@@ -71,8 +82,14 @@ export async function createJinkoClient(options = {}) {
|
|
|
71
82
|
// sufficient for backend trace continuity.
|
|
72
83
|
const traceId = randomBytes(16).toString('hex'); // 32 hex chars
|
|
73
84
|
const newSpanId = () => randomBytes(8).toString('hex'); // 16 hex chars
|
|
74
|
-
// Derive a best-effort user id. API-key auth
|
|
75
|
-
//
|
|
85
|
+
// Derive a best-effort user id for the legacy X-User-ID header. API-key auth
|
|
86
|
+
// (the supported path) doesn't expose one, so this stays `undefined` for every
|
|
87
|
+
// `jnk_...` request — X-User-ID is never sent on the api_key path. It is only
|
|
88
|
+
// populated for OAuth/JWT tokens via the `sub` claim. OAuth sign-in is
|
|
89
|
+
// deprecated, so this only fires for pre-existing OAuth credentials or an
|
|
90
|
+
// explicit non-`jnk_` token; the downstream side treats it as optional. Do not
|
|
91
|
+
// wire new behavior onto X-User-ID — it is legacy and effectively dead for new
|
|
92
|
+
// (API-key) auth.
|
|
76
93
|
const userId = auth.method === 'oauth' ? extractUserIdFromJwt(auth.token) : undefined;
|
|
77
94
|
// Intent-tracking provenance (Revision 2 contract). X-Origin-Source carries
|
|
78
95
|
// the caller's surface (only when the caller opts in — see ClientOptions) and
|
|
@@ -99,13 +116,15 @@ export async function createJinkoClient(options = {}) {
|
|
|
99
116
|
// (e.g. a 401 at the public ingress) — masking every auth failure as an
|
|
100
117
|
// opaque "fetch failed". Header mutation leaves the body untouched.
|
|
101
118
|
const { headers } = request;
|
|
102
|
-
headers.set('X-Tenant-ID', 'jinko');
|
|
103
119
|
headers.set('Content-Type', 'application/json');
|
|
104
120
|
headers.set('Accept', 'application/json');
|
|
105
121
|
// Observability headers — let downstream services group, filter, and trace
|
|
106
122
|
// a user's CLI flow in Datadog. `X-Session-ID` is stable per CLI session;
|
|
107
|
-
// `X-Request-ID` is unique per HTTP call
|
|
108
|
-
// OAuth is in use (JWT sub claim)
|
|
123
|
+
// `X-Request-ID` is unique per HTTP call. `X-User-ID` is legacy: it is set
|
|
124
|
+
// only when OAuth is in use (JWT sub claim) and is NEVER sent on the
|
|
125
|
+
// api_key path (`userId` is undefined there). Kept for back-compat with
|
|
126
|
+
// pre-existing OAuth tokens; the clean api_key path authenticates purely
|
|
127
|
+
// via the X-API-Key header below.
|
|
109
128
|
headers.set('X-Session-ID', sessionId);
|
|
110
129
|
headers.set('X-Request-ID', randomUUID());
|
|
111
130
|
if (userId) {
|
|
@@ -140,10 +159,12 @@ export async function createJinkoClient(options = {}) {
|
|
|
140
159
|
// public ingress and rebuilds it post-auth from the validated API key.
|
|
141
160
|
headers.set('traceparent', `00-${traceId}-${newSpanId()}-01`);
|
|
142
161
|
if (auth.method === 'api_key') {
|
|
162
|
+
// Supported, documented auth path: the tenant API key travels in
|
|
163
|
+
// X-API-Key. No Authorization bearer, no X-User-ID — just the key.
|
|
143
164
|
headers.set('X-API-Key', auth.token);
|
|
144
165
|
}
|
|
145
166
|
else {
|
|
146
|
-
// OAuth — check if we need to refresh
|
|
167
|
+
// OAuth (deprecated, legacy tokens only) — check if we need to refresh
|
|
147
168
|
let currentToken = auth.token;
|
|
148
169
|
if (tokenState && isTokenExpired({ access_token: tokenState.accessToken, refresh_token: tokenState.refreshToken, expires_at: tokenState.expiresAt })) {
|
|
149
170
|
try {
|
|
@@ -196,7 +217,10 @@ export async function createJinkoClient(options = {}) {
|
|
|
196
217
|
};
|
|
197
218
|
client.use(authMiddleware);
|
|
198
219
|
client.use(errorMiddleware);
|
|
199
|
-
|
|
220
|
+
// User intent travels in the request BODY (intent.user_intent), not a
|
|
221
|
+
// header, so it is threaded into the tools layer where POST bodies are
|
|
222
|
+
// assembled rather than into the middleware above.
|
|
223
|
+
const tools = createTools(client, { userIntent: normalizeUserIntent(options.userIntent) });
|
|
200
224
|
return {
|
|
201
225
|
raw: client,
|
|
202
226
|
auth,
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,GAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAG1D,qEAAqE;AACrE,gEAAgE;AAChE,sEAAsE;AACtE,oCAAoC;AACpC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAC;AAErF,qEAAqE;AACrE,uEAAuE;AACvE,4DAA4D;AAC5D,MAAM,eAAe,GAAG,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC;AAEnD,6EAA6E;AAC7E,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK;SAChB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,cAAc,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAQ3D,MAAM,IAAI,cAAc,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;CAQlD;AAED,qBAAa,SAAU,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,cAAc,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAQ3D,MAAM,IAAI,cAAc,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;CAQlD;AAED,qBAAa,SAAU,SAAQ,QAAQ;gBAEnC,OAAO,SAAgK;CAK1K;AAED,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/errors.js
CHANGED
|
@@ -19,7 +19,7 @@ export class ApiError extends Error {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
export class AuthError extends ApiError {
|
|
22
|
-
constructor(message = 'Authentication required.
|
|
22
|
+
constructor(message = 'Authentication required. Get an API key from dashboard.gojinko.com → Developers → API keys, then run `jinko auth login --key jnk_...` or set JINKO_API_KEY.') {
|
|
23
23
|
super({ code: 'AUTH_REQUIRED', message, statusCode: 401 });
|
|
24
24
|
this.name = 'AuthError';
|
|
25
25
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,MAAM,CAAU;IAEzB,YAAY,MAA+C;QACzD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,MAAM,CAAU;IAEzB,YAAY,MAA+C;QACzD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,YACE,OAAO,GAAG,6JAA6J;QAEvK,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessi
|
|
|
5
5
|
export { ApiError, AuthError, ValidationError, type ApiErrorDetail } from './errors.js';
|
|
6
6
|
export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, type OAuthTokens, type DeviceAuthorization, } from './oauth.js';
|
|
7
7
|
export type { paths, components } from './types/generated.js';
|
|
8
|
-
export type { Money, Amount, DateRange, Itinerary, FlightDiscoveryRequest, FlightFindRequest, FlightCalendarResponse, FindDestinationRequest, FlightDestinationSearchRequest, DestinationSuggestion, FindDestinationResponse, FlightSearchRequest, FlightSearchResponse, FlightOffer, Fare, FlightLeg, PriceMonitoringRequest, PriceMonitoringResponse, HotelOccupancy, HotelSearchRequest, HotelSearchResponse, HotelDetailsRequest, HotelDetailsResponse, Traveler, TripRequest, TripResponse, BookRequest, BookResponse, CheckoutRequest, CheckoutResponse, GetTripResponse, TripStatusResponse, TripAncillariesResponse, AncillaryOffer, AncillaryRequest, AncillaryResponse, SelectAncillariesRequest, BookingGetRequest, BookingGetResponse, BookingLookupRequest, BookingLookupResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, HotelCancelBookingRequest, HotelCancelBookingResponse, DemandQuery, Level, TravelerType, TripType, DestinationRow, MarketRow, AudienceRow, DestinationResponse, MarketResponse, AudienceResponse, DemandTrendQuery, Granularity, TrendPoint, SeriesSummary, TrendSeries, TrendResponse, } from './types/devplatform.js';
|
|
8
|
+
export type { Money, Amount, DateRange, Itinerary, FlightDiscoveryRequest, FlightFindRequest, FlightCalendarResponse, FindDestinationRequest, FlightDestinationSearchRequest, DestinationSuggestion, FindDestinationResponse, FlightSearchRequest, FlightSearchResponse, FlightOffer, Fare, FlightLeg, PriceMonitoringRequest, PriceMonitoringResponse, HotelOccupancy, GroundSearchRequest, GroundSearchResponse, GroundConnection, GroundFare, GroundStation, GroundCarrier, GroundAmount, HotelSearchRequest, HotelSearchResponse, HotelDetailsRequest, HotelDetailsResponse, Traveler, TripRequest, TripResponse, BookRequest, BookResponse, CheckoutRequest, CheckoutResponse, GetTripResponse, TripStatusResponse, TripAncillariesResponse, AncillaryOffer, AncillaryRequest, AncillaryResponse, SelectAncillariesRequest, BookingGetRequest, BookingGetResponse, BookingLookupRequest, BookingLookupResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, HotelCancelBookingRequest, HotelCancelBookingResponse, DemandQuery, Level, TravelerType, TripType, DestinationRow, MarketRow, AudienceRow, DestinationResponse, MarketResponse, AudienceResponse, DemandTrendQuery, Granularity, TrendPoint, SeriesSummary, TrendSeries, TrendResponse, } from './types/devplatform.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAEV,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,SAAS,EAET,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAE1B,WAAW,EACX,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAEV,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,SAAS,EAET,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAE1B,WAAW,EACX,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC"}
|
package/dist/oauth.d.ts
CHANGED
|
@@ -19,11 +19,20 @@ export declare class OAuthRefreshError extends OAuthError {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Request device authorization — returns a user code and verification URL.
|
|
22
|
+
*
|
|
23
|
+
* @deprecated OAuth sign-in was retired for the Jinko data plane. Tenant API
|
|
24
|
+
* keys (`jnk_...`) are the auth model — see `jinko auth login --key`. This
|
|
25
|
+
* device-authorization helper is no longer reachable from the CLI and is kept
|
|
26
|
+
* only for backward compatibility of the SDK's public surface.
|
|
22
27
|
*/
|
|
23
28
|
export declare function requestDeviceAuthorization(): Promise<DeviceAuthorization>;
|
|
24
29
|
/**
|
|
25
30
|
* Poll the token endpoint until the user approves or the code expires.
|
|
26
31
|
* Calls onPoll() before each attempt (for progress indicators).
|
|
32
|
+
*
|
|
33
|
+
* @deprecated OAuth sign-in was retired for the Jinko data plane. Tenant API
|
|
34
|
+
* keys (`jnk_...`) are the auth model. This device-flow poller is no longer
|
|
35
|
+
* reachable from the CLI and is kept only for SDK back-compat.
|
|
27
36
|
*/
|
|
28
37
|
export declare function pollForToken(deviceCode: string, options: {
|
|
29
38
|
readonly intervalSeconds: number;
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,SAAwE;CAI5F;AAED
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,SAAwE;CAI5F;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAa/E;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,GACA,OAAO,CAAC,WAAW,CAAC,CAqDtB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BnF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,SAAK,GAAG,OAAO,CAE/E;AAQD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBhF"}
|
package/dist/oauth.js
CHANGED
|
@@ -17,6 +17,11 @@ export class OAuthRefreshError extends OAuthError {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Request device authorization — returns a user code and verification URL.
|
|
20
|
+
*
|
|
21
|
+
* @deprecated OAuth sign-in was retired for the Jinko data plane. Tenant API
|
|
22
|
+
* keys (`jnk_...`) are the auth model — see `jinko auth login --key`. This
|
|
23
|
+
* device-authorization helper is no longer reachable from the CLI and is kept
|
|
24
|
+
* only for backward compatibility of the SDK's public surface.
|
|
20
25
|
*/
|
|
21
26
|
export async function requestDeviceAuthorization() {
|
|
22
27
|
const response = await fetch(DEVICE_AUTHORIZE_URL, {
|
|
@@ -33,6 +38,10 @@ export async function requestDeviceAuthorization() {
|
|
|
33
38
|
/**
|
|
34
39
|
* Poll the token endpoint until the user approves or the code expires.
|
|
35
40
|
* Calls onPoll() before each attempt (for progress indicators).
|
|
41
|
+
*
|
|
42
|
+
* @deprecated OAuth sign-in was retired for the Jinko data plane. Tenant API
|
|
43
|
+
* keys (`jnk_...`) are the auth model. This device-flow poller is no longer
|
|
44
|
+
* reachable from the CLI and is kept only for SDK back-compat.
|
|
36
45
|
*/
|
|
37
46
|
export async function pollForToken(deviceCode, options) {
|
|
38
47
|
const { intervalSeconds, expiresIn, onPoll } = options;
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,oBAAoB,GAAG,yDAAyD,CAAC;AACvF,MAAM,gBAAgB,GAAG,qDAAqD,CAAC;AAC/E,MAAM,SAAS,GAAG,qDAAqD,CAAC;AACxE,MAAM,SAAS,GAAG,mCAAmC,CAAC;AAiBtD,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IAC/C,YAAY,OAAO,GAAG,qEAAqE;QACzF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JinkoRawClient } from "./client.js";
|
|
2
|
-
import type { FlightFindRequest, FlightDestinationSearchRequest, FlightSearchRequest, FlightSearchResponse, PriceMonitoringRequest, PriceMonitoringResponse, FlightCalendarResponse, FindDestinationResponse, HotelSearchRequest, HotelSearchResponse, HotelDetailsRequest, HotelDetailsResponse, TripRequest, TripResponse, CheckoutResponse, AgentPaymentSubmitResponse, GetTripResponse, TripAncillariesResponse, AncillaryRequest, AncillaryResponse, BookingGetRequest, BookingGetResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, HotelCancelBookingRequest, HotelCancelBookingResponse, DemandQuery, DestinationResponse, MarketResponse, AudienceResponse, DemandTrendQuery, TrendResponse } from "./types/devplatform.js";
|
|
2
|
+
import type { FlightFindRequest, FlightDestinationSearchRequest, FlightSearchRequest, FlightSearchResponse, PriceMonitoringRequest, PriceMonitoringResponse, FlightCalendarResponse, FindDestinationResponse, GroundSearchRequest, GroundSearchResponse, HotelSearchRequest, HotelSearchResponse, HotelDetailsRequest, HotelDetailsResponse, TripRequest, TripResponse, CheckoutResponse, AgentPaymentSubmitResponse, GetTripResponse, TripAncillariesResponse, AncillaryRequest, AncillaryResponse, BookingGetRequest, BookingGetResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, HotelCancelBookingRequest, HotelCancelBookingResponse, DemandQuery, DestinationResponse, MarketResponse, AudienceResponse, DemandTrendQuery, TrendResponse } from "./types/devplatform.js";
|
|
3
3
|
/**
|
|
4
4
|
* Tool methods matching the canonical jinko-api capability names.
|
|
5
5
|
*
|
|
@@ -15,6 +15,7 @@ import type { FlightFindRequest, FlightDestinationSearchRequest, FlightSearchReq
|
|
|
15
15
|
* flight_search → flightSearch() POST /v1/flight_search
|
|
16
16
|
* price_monitoring → priceMonitoring() POST /v1/price_monitoring
|
|
17
17
|
* hotel_search → hotelSearch() POST /v1/hotel_search
|
|
18
|
+
* ground_search → groundSearch() POST /v1/ground_search
|
|
18
19
|
* hotel_details → hotelDetails() GET /v1/hotel_details/{hotel_id}
|
|
19
20
|
* trip → trip() POST /v1/trip
|
|
20
21
|
* get_trip → getTrip() GET /v1/trip/{trip_id}
|
|
@@ -47,6 +48,15 @@ export interface JinkoTools {
|
|
|
47
48
|
readonly lowestFare: (request: FlightFindRequest) => Promise<FlightCalendarResponse>;
|
|
48
49
|
/** hotel_search — live hotel search by destination, dates, occupancy. */
|
|
49
50
|
readonly hotelSearch: (request: HotelSearchRequest) => Promise<HotelSearchResponse>;
|
|
51
|
+
/**
|
|
52
|
+
* ground_search — live rail / coach / ferry search (Distribusion).
|
|
53
|
+
*
|
|
54
|
+
* Codes are ISO-country + city (`GBLON` for London, NOT the IATA `LON`); a
|
|
55
|
+
* wrong code returns no inventory rather than an error. Each
|
|
56
|
+
* `connections[].id` is the trip item token — pass it verbatim to `trip()` as
|
|
57
|
+
* `trip_item_token`, unprefixed, then `checkout()` as normal.
|
|
58
|
+
*/
|
|
59
|
+
readonly groundSearch: (request: GroundSearchRequest) => Promise<GroundSearchResponse>;
|
|
50
60
|
/** hotel_details — rich metadata (gallery, facilities, policies, per-room details). */
|
|
51
61
|
readonly hotelDetails: (request: HotelDetailsRequest) => Promise<HotelDetailsResponse>;
|
|
52
62
|
/** trip — create trip, add/remove items, set travelers. Returns trip_id. */
|
|
@@ -110,5 +120,16 @@ export interface JinkoTools {
|
|
|
110
120
|
/** demand_audience_trend — series per traveler-type segment. GET /v1/audience/trend. */
|
|
111
121
|
readonly demandAudienceTrend: (query: DemandTrendQuery) => Promise<TrendResponse>;
|
|
112
122
|
}
|
|
113
|
-
export
|
|
123
|
+
export interface ToolsOptions {
|
|
124
|
+
/**
|
|
125
|
+
* The end user's request in their own words. When set, merged into every
|
|
126
|
+
* POST request body as the optional `intent: { user_intent }` envelope
|
|
127
|
+
* (IntentInput). Every POST on this surface is one of the 21
|
|
128
|
+
* intent-eligible public operations — they all route through the `post()`
|
|
129
|
+
* helper below, and the GET tools carry no body — so the envelope lands on
|
|
130
|
+
* exactly the eligible set.
|
|
131
|
+
*/
|
|
132
|
+
readonly userIntent?: string;
|
|
133
|
+
}
|
|
134
|
+
export declare function createTools(raw: JinkoRawClient, options?: ToolsOptions): JinkoTools;
|
|
114
135
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EACjB,8BAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAGhC
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { ApiError } from "./errors.js";
|
|
2
|
-
export function createTools(raw) {
|
|
2
|
+
export function createTools(raw, options = {}) {
|
|
3
|
+
const { userIntent } = options;
|
|
4
|
+
// Merge `intent: { user_intent }` into a JSON body when userIntent is set.
|
|
5
|
+
// A caller-provided `intent` key wins (never clobbered); non-object bodies
|
|
6
|
+
// pass through untouched.
|
|
7
|
+
function withIntent(body) {
|
|
8
|
+
if (userIntent === undefined ||
|
|
9
|
+
typeof body !== 'object' ||
|
|
10
|
+
body === null ||
|
|
11
|
+
Array.isArray(body) ||
|
|
12
|
+
'intent' in body) {
|
|
13
|
+
return body;
|
|
14
|
+
}
|
|
15
|
+
return { ...body, intent: { user_intent: userIntent } };
|
|
16
|
+
}
|
|
3
17
|
async function post(path, body) {
|
|
4
|
-
const response = await raw.POST(path, { body });
|
|
18
|
+
const response = await raw.POST(path, { body: withIntent(body) });
|
|
5
19
|
return response.data;
|
|
6
20
|
}
|
|
7
21
|
// GET with a query-string params object — used by the demand endpoints. The
|
|
@@ -30,6 +44,7 @@ export function createTools(raw) {
|
|
|
30
44
|
flightSearch: async (request) => (await post("/v1/flight_search", request)),
|
|
31
45
|
priceMonitoring: async (request) => (await post("/v1/price_monitoring", request)),
|
|
32
46
|
hotelSearch: async (request) => (await post("/v1/hotel_search", request)),
|
|
47
|
+
groundSearch: async (request) => (await post("/v1/ground_search", request)),
|
|
33
48
|
hotelDetails: async ({ hotel_id, checkin, checkout }) => {
|
|
34
49
|
const query = {};
|
|
35
50
|
if (checkin)
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkNvC,MAAM,UAAU,WAAW,CAAC,GAAmB,EAAE,UAAwB,EAAE;IACzE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,2EAA2E;IAC3E,2EAA2E;IAC3E,0BAA0B;IAC1B,SAAS,UAAU,CAAC,IAAa;QAC/B,IACE,UAAU,KAAK,SAAS;YACxB,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACb,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACnB,QAAQ,IAAI,IAAI,EAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,IAAa;QAC7C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAa,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAW,CAAC,CAAC;QACpF,OAAQ,QAA+B,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,4EAA4E;IAC5E,sEAAsE;IACtE,gFAAgF;IAChF,oDAAoD;IACpD,KAAK,UAAU,GAAG,CAChB,IAAY,EACZ,KAAqC;QAErC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAa,EAAE;YACvD,MAAM,EAAE,EAAE,KAAK,EAAE;SACT,CAAC,CAAqC,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAAC;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,6BAA6B,QAAQ,CAAC,MAAM,IAAI;gBACzD,UAAU,EAAE,QAAQ,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC5B,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAA2B;QACxE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAChC,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAA2B;QACxE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC3B,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAA2B;QACnE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC5B,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAA2B;QACpE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAA4B;QAC1E,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAyB;QACpE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACjC,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAA4B;QAC1E,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC7B,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAwB;QAClE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAyB;QACpE,YAAY,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;YACtD,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,IAAI,OAAO;gBAAE,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YACxC,IAAI,QAAQ;gBAAE,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAC5B,8BAAuC,EACvC;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE,EAAE,QAAQ,EAAE;oBAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpD;aACO,CACX,CAAC;YACF,OAAQ,QAA4C;iBACjD,IAA4B,CAAC;QAClC,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAiB;QAC1E,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CACjC,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAqB;QACvE,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CAC7B,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAqB;QACnE,kBAAkB,EAAE,KAAK,EACvB,MAAc,EACd,kBAA0B,EAC1B,EAAE,CACF,CAAC,MAAM,IAAI,CAAC,0BAA0B,EAAE;YACtC,OAAO,EAAE,MAAM;YACf,oBAAoB,EAAE,kBAAkB;SACzC,CAAC,CAA+B;QACnC,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACnC,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAsB;QACtE,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAC5B,oBAA6B,EAC7B;gBACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;aAC7B,CACX,CAAC;YACF,OAAQ,QAAuC,CAAC,IAAuB,CAAC;QAC1E,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAC5B,gCAAyC,EACzC;gBACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;aAC7B,CACX,CAAC;YACF,OAAQ,QAA+C;iBACpD,IAA+B,CAAC;QACrC,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC5B,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAuB;QAChE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC7B,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAwB;QAClE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAyB;QACpE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAyB;QACpE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAyB;QACpE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC/B,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAA0B;QACtE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAChC,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAA2B;QACxE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAChC,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAA2B;QACxE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACpC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAA+B;QACzE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAsB,iBAAiB,EAAE,KAAK,CAAC;QAChF,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAiB,YAAY,EAAE,KAAK,CAAC;QACjE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAmB,cAAc,EAAE,KAAK,CAAC;QACvE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAgB,WAAW,EAAE,KAAK,CAAC;QAC9D,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAChC,GAAG,CAAgB,uBAAuB,EAAE,KAAK,CAAC;QACpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAgB,kBAAkB,EAAE,KAAK,CAAC;QAC3E,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAgB,oBAAoB,EAAE,KAAK,CAAC;KAChF,CAAC;AACJ,CAAC"}
|
|
@@ -20,12 +20,26 @@
|
|
|
20
20
|
import type { components } from './generated.js';
|
|
21
21
|
type Schemas = components['schemas'];
|
|
22
22
|
/**
|
|
23
|
-
* Money on the public surface
|
|
24
|
-
*
|
|
25
|
-
*
|
|
23
|
+
* Money on the public surface. Endpoints populate EITHER `value` OR `amount`
|
|
24
|
+
* (never both); `decimal_places` is the scale discriminator:
|
|
25
|
+
*
|
|
26
|
+
* - Object WITH `decimal_places` → the number (whether named `value` or
|
|
27
|
+
* `amount`) is an INTEGER in minor units: display = n / 10 ** decimal_places.
|
|
28
|
+
* E.g. flight search/monitor/refund/exchange `value`, select_ancillaries and
|
|
29
|
+
* booking-confirmation `amount`.
|
|
30
|
+
* - Object WITHOUT `decimal_places` (e.g. trip/checkout totals) → `amount` is
|
|
31
|
+
* already a decimal in MAJOR units: display as-is.
|
|
32
|
+
*
|
|
33
|
+
* Do NOT default `decimal_places` to 2 when absent — on the no-decimal_places
|
|
34
|
+
* shapes the number is already major units, and dividing it by 100 displays
|
|
35
|
+
* prices 100x too small. See https://docs.gojinko.com/concepts/money.
|
|
26
36
|
*/
|
|
27
37
|
export type Money = Schemas['Money'];
|
|
28
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Precision-carrying amount used in refund/exchange responses:
|
|
40
|
+
* `value` is an INTEGER in minor units — divide by 10 ** decimal_places to
|
|
41
|
+
* display (value 15977 with decimal_places 2 is 159.77).
|
|
42
|
+
*/
|
|
29
43
|
export type Amount = Schemas['Amount'];
|
|
30
44
|
export type DateRange = Schemas['DateRange'];
|
|
31
45
|
export type Itinerary = Schemas['Itinerary'];
|
|
@@ -48,6 +62,23 @@ export type FlightLeg = Schemas['FlightLeg'];
|
|
|
48
62
|
export type PriceMonitoringRequest = Omit<Schemas['PriceMonitoringRequest'], 'adults'> & Partial<Pick<Schemas['PriceMonitoringRequest'], 'adults'>>;
|
|
49
63
|
export type PriceMonitoringResponse = Schemas['PriceMonitoringResponse'];
|
|
50
64
|
export type HotelSearchRequest = Schemas['HotelSearchRequest'];
|
|
65
|
+
/**
|
|
66
|
+
* Ground transport (rail / coach / ferry via Distribusion) — JIN-1524.
|
|
67
|
+
*
|
|
68
|
+
* `GroundConnection.id` doubles as the trip item token: pass it verbatim to
|
|
69
|
+
* `trip()` as `trip_item_token`. It carries NO prefix (unlike `htl_*`); the BFF
|
|
70
|
+
* recognises the raw Distribusion connection-id shape.
|
|
71
|
+
*
|
|
72
|
+
* Station and city codes are ISO-country + city — `GBLON` for London, not the
|
|
73
|
+
* IATA `LON`. A wrong code returns no inventory rather than an error.
|
|
74
|
+
*/
|
|
75
|
+
export type GroundSearchRequest = Schemas['GroundSearchRequest'];
|
|
76
|
+
export type GroundSearchResponse = Schemas['GroundSearchResponse'];
|
|
77
|
+
export type GroundConnection = Schemas['GroundConnection'];
|
|
78
|
+
export type GroundFare = Schemas['GroundFare'];
|
|
79
|
+
export type GroundStation = Schemas['GroundStation'];
|
|
80
|
+
export type GroundCarrier = Schemas['GroundCarrier'];
|
|
81
|
+
export type GroundAmount = Schemas['GroundAmount'];
|
|
51
82
|
export type HotelSearchResponse = Schemas['HotelSearchResponse'];
|
|
52
83
|
export type HotelOccupancy = Schemas['Occupancy'];
|
|
53
84
|
export interface HotelDetailsRequest {
|
|
@@ -81,8 +112,12 @@ export type TripAncillariesResponse = Schemas['TripAncillariesResponse'];
|
|
|
81
112
|
* A purchasable ancillary offered on a trip item. Prefer `display_label`
|
|
82
113
|
* (cleaned: HTML entities decoded, provider "&" joiners normalized) for
|
|
83
114
|
* display; `label` is the raw provider string.
|
|
115
|
+
*
|
|
116
|
+
* The refreshed spec inlines this shape into
|
|
117
|
+
* `TripAncillariesResponse.items[].available_ancillaries[]` instead of naming
|
|
118
|
+
* it, so it is derived structurally to keep the exported name stable.
|
|
84
119
|
*/
|
|
85
|
-
export type AncillaryOffer =
|
|
120
|
+
export type AncillaryOffer = NonNullable<NonNullable<TripAncillariesResponse['items']>[number]['available_ancillaries']>[number];
|
|
86
121
|
export type AncillaryRequest = Schemas['AncillaryRequest'];
|
|
87
122
|
export type AncillaryResponse = Schemas['AncillaryResponse'];
|
|
88
123
|
/** @deprecated Renamed to {@link AncillaryRequest} at the jinko-api cutover. */
|
|
@@ -109,8 +144,8 @@ export type ExchangeStatusRequest = Schemas['ExchangeStatusRequest'];
|
|
|
109
144
|
export type ExchangeStatusResponse = Schemas['ExchangeStatusResponse'];
|
|
110
145
|
export type HotelCancelBookingRequest = Schemas['HotelCancelRequest'];
|
|
111
146
|
export type HotelCancelBookingResponse = Schemas['HotelCancelResponse'];
|
|
112
|
-
export type TravelerType =
|
|
113
|
-
export type TripType =
|
|
147
|
+
export type TravelerType = 'Solo' | 'Couple' | 'Group' | 'Family';
|
|
148
|
+
export type TripType = 'One-Way' | 'Round-Trip';
|
|
114
149
|
/**
|
|
115
150
|
* Ranked-output granularity for the demand RANKING endpoints (destination /
|
|
116
151
|
* market) and their trend variants: group ranked results by `country`
|
|
@@ -119,9 +154,9 @@ export type TripType = Schemas['TripType'];
|
|
|
119
154
|
* OpenAPI spec has not yet regenerated this parameter, so it is declared here
|
|
120
155
|
* directly rather than aliased from `Schemas`. */
|
|
121
156
|
export type Level = 'country' | 'city';
|
|
122
|
-
export type DestinationRow = Schemas['
|
|
123
|
-
export type MarketRow = Schemas['
|
|
124
|
-
export type AudienceRow = Schemas['
|
|
157
|
+
export type DestinationRow = Schemas['DestinationSnapshotRow'];
|
|
158
|
+
export type MarketRow = Schemas['MarketSnapshotRow'];
|
|
159
|
+
export type AudienceRow = Schemas['AudienceSnapshotRow'];
|
|
125
160
|
export type DestinationResponse = Schemas['DestinationResponse'];
|
|
126
161
|
export type MarketResponse = Schemas['MarketResponse'];
|
|
127
162
|
export type AudienceResponse = Schemas['AudienceResponse'];
|
|
@@ -161,10 +196,10 @@ export interface DemandQuery {
|
|
|
161
196
|
/** 1-200; defaults to 20 server-side. */
|
|
162
197
|
limit?: number;
|
|
163
198
|
}
|
|
164
|
-
export type Granularity =
|
|
165
|
-
export type TrendPoint = Schemas['TrendPoint'];
|
|
166
|
-
export type SeriesSummary = Schemas['SeriesSummary'];
|
|
199
|
+
export type Granularity = 'day' | 'week' | 'month';
|
|
167
200
|
export type TrendSeries = Schemas['TrendSeries'];
|
|
201
|
+
export type TrendPoint = TrendSeries['series'][number];
|
|
202
|
+
export type SeriesSummary = NonNullable<TrendSeries['summary']>;
|
|
168
203
|
export type TrendResponse = Schemas['TrendResponse'];
|
|
169
204
|
/**
|
|
170
205
|
* Query parameters accepted by the four trend endpoints. As with
|