@gojinko/api-client 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -15
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +24 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +33 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +110 -0
- package/dist/session.js.map +1 -0
- package/dist/tools.d.ts +24 -4
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +12 -2
- package/dist/tools.js.map +1 -1
- package/dist/types/devplatform.d.ts +178 -5
- package/dist/types/devplatform.d.ts.map +1 -1
- package/dist/types/generated.d.ts +3562 -762
- package/dist/types/generated.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -64,23 +64,10 @@ OAuth tokens auto-refresh when they expire.
|
|
|
64
64
|
|
|
65
65
|
## Usage
|
|
66
66
|
|
|
67
|
-
### find_flight — Cached search
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
const flights = await client.findFlight({
|
|
71
|
-
passengers: { adt: 1 },
|
|
72
|
-
filters: {
|
|
73
|
-
locations: { origins: ['PAR'], destinations: ['NYC'] },
|
|
74
|
-
dates: { departure_dates: ['2026-06-15'] },
|
|
75
|
-
trip_type: 'oneway',
|
|
76
|
-
},
|
|
77
|
-
sort: 'lowest',
|
|
78
|
-
limit: 10,
|
|
79
|
-
});
|
|
80
|
-
```
|
|
81
|
-
|
|
82
67
|
### flight_search — Live search / price-check
|
|
83
68
|
|
|
69
|
+
Preferred flight entry point. Returns a bookable `trip_item_token` in one step.
|
|
70
|
+
|
|
84
71
|
```typescript
|
|
85
72
|
// Search mode
|
|
86
73
|
const results = await client.flightSearch({
|
package/dist/auth.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ interface ConfigFile {
|
|
|
12
12
|
readonly api_key?: string;
|
|
13
13
|
readonly oauth?: OAuthConfig;
|
|
14
14
|
}
|
|
15
|
-
declare const DEFAULT_BASE_URL = "https://
|
|
15
|
+
declare const DEFAULT_BASE_URL = "https://api.gojinko.com";
|
|
16
16
|
declare const CONFIG_DIR: string;
|
|
17
17
|
declare const CONFIG_FILE: string;
|
|
18
18
|
/**
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,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,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,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,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,4BAA4B,CAAC;AACnD,QAAA,MAAM,UAAU,QAA4B,CAAC;AAC7C,QAAA,MAAM,WAAW,QAAkC,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiDxF;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAOtE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAYrD;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
|
package/dist/auth.js
CHANGED
|
@@ -3,7 +3,7 @@ import { join } from 'node:path';
|
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { parse as parseYaml } from 'yaml';
|
|
5
5
|
import { isTokenExpired, refreshAccessToken } from './oauth.js';
|
|
6
|
-
const DEFAULT_BASE_URL = 'https://
|
|
6
|
+
const DEFAULT_BASE_URL = 'https://api.gojinko.com';
|
|
7
7
|
const CONFIG_DIR = join(homedir(), '.jinko');
|
|
8
8
|
const CONFIG_FILE = join(CONFIG_DIR, 'config.yaml');
|
|
9
9
|
/**
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAoBlF,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAgD,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAI5F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;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,CA0HzF"}
|
package/dist/client.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
1
2
|
import createClient from 'openapi-fetch';
|
|
2
3
|
import { resolveAuth, resolveBaseUrl, writeConfigFile } from './auth.js';
|
|
3
4
|
import { isTokenExpired, refreshAccessToken } from './oauth.js';
|
|
4
5
|
import { ApiError, AuthError } from './errors.js';
|
|
6
|
+
import { loadOrCreateCliSession, extractUserIdFromJwt } from './session.js';
|
|
5
7
|
import { createTools } from './tools.js';
|
|
6
8
|
/**
|
|
7
9
|
* Create a configured openapi-fetch client for the Jinko BFF.
|
|
@@ -16,6 +18,19 @@ export async function createJinkoClient(options = {}) {
|
|
|
16
18
|
}
|
|
17
19
|
const baseUrl = resolveBaseUrl();
|
|
18
20
|
const client = createClient({ baseUrl });
|
|
21
|
+
// Persistent CLI session id — stable across invocations within the session TTL.
|
|
22
|
+
// Decoupled from per-request correlation (X-Request-ID, fresh each call).
|
|
23
|
+
// Wrapped in try/catch so session I/O failures never block client creation.
|
|
24
|
+
let sessionId;
|
|
25
|
+
try {
|
|
26
|
+
sessionId = await loadOrCreateCliSession();
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
sessionId = randomUUID(); // Ephemeral fallback — one id per process
|
|
30
|
+
}
|
|
31
|
+
// Derive a best-effort user id. API-key auth doesn't expose one; OAuth/JWT
|
|
32
|
+
// does via the `sub` claim. Either value is optional on the downstream side.
|
|
33
|
+
const userId = auth.method === 'oauth' ? extractUserIdFromJwt(auth.token) : undefined;
|
|
19
34
|
// Mutable token state for OAuth refresh — only used when method is oauth
|
|
20
35
|
let tokenState;
|
|
21
36
|
if (auth.method === 'oauth') {
|
|
@@ -30,6 +45,15 @@ export async function createJinkoClient(options = {}) {
|
|
|
30
45
|
headers.set('X-Tenant-ID', 'jinko');
|
|
31
46
|
headers.set('Content-Type', 'application/json');
|
|
32
47
|
headers.set('Accept', 'application/json');
|
|
48
|
+
// Observability headers — let downstream services group, filter, and trace
|
|
49
|
+
// a user's CLI flow in Datadog. `X-Session-ID` is stable per CLI session;
|
|
50
|
+
// `X-Request-ID` is unique per HTTP call; `X-User-ID` is set only when
|
|
51
|
+
// OAuth is in use (JWT sub claim).
|
|
52
|
+
headers.set('X-Session-ID', sessionId);
|
|
53
|
+
headers.set('X-Request-ID', randomUUID());
|
|
54
|
+
if (userId) {
|
|
55
|
+
headers.set('X-User-ID', userId);
|
|
56
|
+
}
|
|
33
57
|
if (auth.method === 'api_key') {
|
|
34
58
|
headers.set('X-API-Key', auth.token);
|
|
35
59
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { createJinkoClient, type ClientOptions, type JinkoClient, type JinkoRawClient } from './client.js';
|
|
2
2
|
export { type JinkoTools } from './tools.js';
|
|
3
3
|
export { resolveAuth, readConfigFile, writeConfigFile, clearAuthConfig, CONFIG_DIR, CONFIG_FILE, type AuthMethod, type ResolvedAuth, type OAuthConfig } from './auth.js';
|
|
4
|
+
export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessionFilePath, SESSION_TTL_MS } from './session.js';
|
|
4
5
|
export { ApiError, AuthError, ValidationError, type ApiErrorDetail } from './errors.js';
|
|
5
6
|
export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, type OAuthTokens, type DeviceAuthorization, } from './oauth.js';
|
|
6
7
|
export type { paths, components } from './types/generated.js';
|
|
7
|
-
export type { FlightPassengers, ShopPassengers, FlightSearchFilters, FlightPriceConstraints, DateRange, Money, FlightFindRequest, FlightDestinationSearchRequest, FlightSearchRequest, FlightSearchLiveRequest, FlightSearchPriceCheckRequest, Traveler, Contact, TripUpsertTravelers, TripRequest, CheckoutRequest, CheckoutResponse, AncillaryOffer, SelectedAncillary, TripQuotedItem, TripStatusResponse, TravelerSummary, ContactInfo, QuoteSummary, FulfillmentSummary, BookingRef, AncillarySelection, SelectAncillariesRequest, RefundCheckRequest, RefundCommitRequest, } from './types/devplatform.js';
|
|
8
|
+
export type { FlightPassengers, ShopPassengers, FlightSearchFilters, FlightPriceConstraints, DateRange, Money, FlightFindRequest, FlightDestinationSearchRequest, FlightSearchRequest, FlightSearchLiveRequest, FlightSearchPriceCheckRequest, HotelOccupancy, HotelSearchRequest, Traveler, Contact, TripUpsertTravelers, TripRequest, CheckoutRequest, CheckoutResponse, AncillaryOffer, SelectedAncillary, TripQuotedItem, TripStatusResponse, TravelerSummary, ContactInfo, QuoteSummary, FulfillmentSummary, BookingRef, AncillarySelection, SelectAncillariesRequest, BookingLookupRequest, BookingLookupResponse, BookingDetails, BookingContact, BookingTraveler, BookingConfirmation, BookingItem, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, RefundAmount, ExchangeShopRequest, ExchangeShopResponse, ExchangeShopOffer, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, } from './types/devplatform.js';
|
|
8
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,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACzK,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,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,
|
|
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,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACzK,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,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createJinkoClient } from './client.js';
|
|
2
2
|
export { resolveAuth, readConfigFile, writeConfigFile, clearAuthConfig, CONFIG_DIR, CONFIG_FILE } from './auth.js';
|
|
3
|
+
export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessionFilePath, SESSION_TTL_MS } from './session.js';
|
|
3
4
|
export { ApiError, AuthError, ValidationError } from './errors.js';
|
|
4
5
|
export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, } from './oauth.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6D,MAAM,aAAa,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAwD,MAAM,WAAW,CAAC;AACzK,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6D,MAAM,aAAa,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAwD,MAAM,WAAW,CAAC;AACzK,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI session identity — produces a stable `session_id` across CLI invocations
|
|
3
|
+
* so downstream Datadog logs can group a user's commands into one flow.
|
|
4
|
+
*
|
|
5
|
+
* The session is stored at ~/.jinko/session.json as plain JSON:
|
|
6
|
+
* { "session_id": "<uuid>", "created_at": <epoch-ms>, "last_used_at": <epoch-ms> }
|
|
7
|
+
*
|
|
8
|
+
* Lifecycle:
|
|
9
|
+
* - First command → generate UUID, write file.
|
|
10
|
+
* - Subsequent commands within TTL → reuse (TTL is absolute from `created_at`).
|
|
11
|
+
* - After TTL (1h from creation) or after `jinko logout` → next command generates a new id.
|
|
12
|
+
*
|
|
13
|
+
* The per-invocation `request_id` is generated fresh in `client.ts` for each HTTP call.
|
|
14
|
+
* `user_id` is decoded from the JWT `sub` claim when OAuth is in use.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SESSION_TTL_MS: number;
|
|
17
|
+
export declare function getSessionFilePath(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Load the current CLI session, creating or rotating it as needed.
|
|
20
|
+
* Returns a stable id for the duration of the TTL.
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadOrCreateCliSession(): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Clear the CLI session file. Call this from `jinko logout`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function clearCliSession(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Decode the `sub` claim from a JWT without verifying the signature.
|
|
29
|
+
* Used to surface `user_id` on outbound headers when OAuth is active.
|
|
30
|
+
* Returns undefined for non-JWT tokens (e.g. jnk_* API keys).
|
|
31
|
+
*/
|
|
32
|
+
export declare function extractUserIdFromJwt(token: string): string | undefined;
|
|
33
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,eAAO,MAAM,cAAc,QAAiB,CAAC;AAQ7C,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AA+BD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAuB9D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CActE"}
|
package/dist/session.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI session identity — produces a stable `session_id` across CLI invocations
|
|
3
|
+
* so downstream Datadog logs can group a user's commands into one flow.
|
|
4
|
+
*
|
|
5
|
+
* The session is stored at ~/.jinko/session.json as plain JSON:
|
|
6
|
+
* { "session_id": "<uuid>", "created_at": <epoch-ms>, "last_used_at": <epoch-ms> }
|
|
7
|
+
*
|
|
8
|
+
* Lifecycle:
|
|
9
|
+
* - First command → generate UUID, write file.
|
|
10
|
+
* - Subsequent commands within TTL → reuse (TTL is absolute from `created_at`).
|
|
11
|
+
* - After TTL (1h from creation) or after `jinko logout` → next command generates a new id.
|
|
12
|
+
*
|
|
13
|
+
* The per-invocation `request_id` is generated fresh in `client.ts` for each HTTP call.
|
|
14
|
+
* `user_id` is decoded from the JWT `sub` claim when OAuth is in use.
|
|
15
|
+
*/
|
|
16
|
+
import { readFile, writeFile, mkdir, unlink } from 'node:fs/promises';
|
|
17
|
+
import { join } from 'node:path';
|
|
18
|
+
import { homedir } from 'node:os';
|
|
19
|
+
import { randomUUID } from 'node:crypto';
|
|
20
|
+
export const SESSION_TTL_MS = 60 * 60 * 1000; // 1h
|
|
21
|
+
// Path resolution is lazy so tests can override $HOME per-case and every
|
|
22
|
+
// read/write re-resolves against the current environment.
|
|
23
|
+
function getConfigDir() {
|
|
24
|
+
return join(homedir(), '.jinko');
|
|
25
|
+
}
|
|
26
|
+
export function getSessionFilePath() {
|
|
27
|
+
return join(getConfigDir(), 'session.json');
|
|
28
|
+
}
|
|
29
|
+
async function readSessionFile() {
|
|
30
|
+
try {
|
|
31
|
+
const content = await readFile(getSessionFilePath(), 'utf-8');
|
|
32
|
+
if (!content.trim())
|
|
33
|
+
return undefined;
|
|
34
|
+
const parsed = JSON.parse(content);
|
|
35
|
+
if (typeof parsed.session_id === 'string' &&
|
|
36
|
+
typeof parsed.created_at === 'number' &&
|
|
37
|
+
typeof parsed.last_used_at === 'number') {
|
|
38
|
+
return parsed;
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function writeSessionFile(file) {
|
|
47
|
+
await mkdir(getConfigDir(), { recursive: true });
|
|
48
|
+
await writeFile(getSessionFilePath(), JSON.stringify(file, null, 2), 'utf-8');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Load the current CLI session, creating or rotating it as needed.
|
|
52
|
+
* Returns a stable id for the duration of the TTL.
|
|
53
|
+
*/
|
|
54
|
+
export async function loadOrCreateCliSession() {
|
|
55
|
+
const now = Date.now();
|
|
56
|
+
const existing = await readSessionFile();
|
|
57
|
+
if (existing && now - existing.created_at < SESSION_TTL_MS) {
|
|
58
|
+
// Refresh last_used_at without blocking the caller.
|
|
59
|
+
void writeSessionFile({ ...existing, last_used_at: now }).catch(() => {
|
|
60
|
+
// Best-effort — if the FS is read-only, we still return a valid id.
|
|
61
|
+
});
|
|
62
|
+
return existing.session_id;
|
|
63
|
+
}
|
|
64
|
+
const fresh = {
|
|
65
|
+
session_id: randomUUID(),
|
|
66
|
+
created_at: now,
|
|
67
|
+
last_used_at: now,
|
|
68
|
+
};
|
|
69
|
+
try {
|
|
70
|
+
await writeSessionFile(fresh);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Best-effort — if the FS is read-only, we still return a valid id.
|
|
74
|
+
}
|
|
75
|
+
return fresh.session_id;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Clear the CLI session file. Call this from `jinko logout`.
|
|
79
|
+
*/
|
|
80
|
+
export async function clearCliSession() {
|
|
81
|
+
try {
|
|
82
|
+
await unlink(getSessionFilePath());
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// No file to clear — ignore.
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Decode the `sub` claim from a JWT without verifying the signature.
|
|
90
|
+
* Used to surface `user_id` on outbound headers when OAuth is active.
|
|
91
|
+
* Returns undefined for non-JWT tokens (e.g. jnk_* API keys).
|
|
92
|
+
*/
|
|
93
|
+
export function extractUserIdFromJwt(token) {
|
|
94
|
+
// A JWT is three base64url segments separated by dots.
|
|
95
|
+
const parts = token.split('.');
|
|
96
|
+
if (parts.length !== 3)
|
|
97
|
+
return undefined;
|
|
98
|
+
try {
|
|
99
|
+
// Normalize base64url → base64 and pad.
|
|
100
|
+
const b64 = parts[1].replace(/-/g, '+').replace(/_/g, '/');
|
|
101
|
+
const padded = b64 + '==='.slice((b64.length + 3) % 4);
|
|
102
|
+
const json = Buffer.from(padded, 'base64').toString('utf-8');
|
|
103
|
+
const payload = JSON.parse(json);
|
|
104
|
+
return typeof payload.sub === 'string' ? payload.sub : undefined;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.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, TripRequest, CheckoutResponse, TripStatusResponse, SelectAncillariesRequest, RefundCheckRequest, RefundCommitRequest } from './types/devplatform.js';
|
|
2
|
+
import type { FlightFindRequest, FlightDestinationSearchRequest, FlightSearchRequest, HotelSearchRequest, TripRequest, CheckoutResponse, TripStatusResponse, SelectAncillariesRequest, BookingLookupRequest, BookingLookupResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse } from './types/devplatform.js';
|
|
3
3
|
/**
|
|
4
4
|
* Tool methods matching MCP/CLI tool names.
|
|
5
5
|
*
|
|
@@ -7,12 +7,18 @@ import type { FlightFindRequest, FlightDestinationSearchRequest, FlightSearchReq
|
|
|
7
7
|
* find_destination → findDestination()
|
|
8
8
|
* flight_search → flightSearch()
|
|
9
9
|
* flight_calendar → flightCalendar()
|
|
10
|
+
* hotel_search → hotelSearch()
|
|
10
11
|
* trip → trip()
|
|
11
12
|
* book → book()
|
|
12
13
|
* select_ancillaries → selectAncillaries()
|
|
13
14
|
* get_trip → getTrip()
|
|
14
15
|
* refund_check → refundCheck()
|
|
15
16
|
* refund_commit → refundCommit()
|
|
17
|
+
* refund_status → refundStatus()
|
|
18
|
+
* exchange_shop → exchangeShop()
|
|
19
|
+
* exchange_price → exchangePrice()
|
|
20
|
+
* exchange_commit → exchangeCommit()
|
|
21
|
+
* exchange_status → exchangeStatus()
|
|
16
22
|
*
|
|
17
23
|
* All cart-sync endpoints use the canonical /api/v1/shop/sync/* paths
|
|
18
24
|
* introduced in Track 2.1 (jinkoso/mcp-bff#371). The legacy
|
|
@@ -27,7 +33,9 @@ export interface JinkoTools {
|
|
|
27
33
|
readonly flightSearch: (request: FlightSearchRequest) => Promise<unknown>;
|
|
28
34
|
/** flight_calendar — cheapest prices across a date range (cached, uses /flights/search). */
|
|
29
35
|
readonly flightCalendar: (request: FlightFindRequest) => Promise<unknown>;
|
|
30
|
-
/**
|
|
36
|
+
/** hotel_search — live hotel search by destination, dates, occupancy. Returns htl_* offer_ids. */
|
|
37
|
+
readonly hotelSearch: (request: HotelSearchRequest) => Promise<unknown>;
|
|
38
|
+
/** trip — create trip, add/remove items, set travelers. Returns trip_id. */
|
|
31
39
|
readonly trip: (request: TripRequest) => Promise<unknown>;
|
|
32
40
|
/** book — schedule checkout: returns checkout_url, items, available ancillaries, total. */
|
|
33
41
|
readonly book: (tripId: string) => Promise<CheckoutResponse>;
|
|
@@ -35,10 +43,22 @@ export interface JinkoTools {
|
|
|
35
43
|
readonly selectAncillaries: (request: SelectAncillariesRequest) => Promise<unknown>;
|
|
36
44
|
/** getTrip — full lifecycle state: cart, quote, fulfillment, bookings. */
|
|
37
45
|
readonly getTrip: (tripId: string) => Promise<TripStatusResponse>;
|
|
46
|
+
/** lookup_booking — look up a booking by Jinko reference + last name (guest access). */
|
|
47
|
+
readonly lookupBooking: (request: BookingLookupRequest) => Promise<BookingLookupResponse>;
|
|
38
48
|
/** refund_check — check refund eligibility for a booked flight. */
|
|
39
|
-
readonly refundCheck: (request: RefundCheckRequest) => Promise<
|
|
49
|
+
readonly refundCheck: (request: RefundCheckRequest) => Promise<RefundCheckResponse>;
|
|
40
50
|
/** refund_commit — initiate a refund for a booked flight. */
|
|
41
|
-
readonly refundCommit: (request: RefundCommitRequest) => Promise<
|
|
51
|
+
readonly refundCommit: (request: RefundCommitRequest) => Promise<RefundCommitResponse>;
|
|
52
|
+
/** refund_status — poll the current status of a previously committed refund. */
|
|
53
|
+
readonly refundStatus: (request: RefundStatusRequest) => Promise<RefundStatusResponse>;
|
|
54
|
+
/** exchange_shop — shop for flight exchange alternatives. */
|
|
55
|
+
readonly exchangeShop: (request: ExchangeShopRequest) => Promise<ExchangeShopResponse>;
|
|
56
|
+
/** exchange_price — price a specific exchange offer. */
|
|
57
|
+
readonly exchangePrice: (request: ExchangePriceRequest) => Promise<ExchangePriceResponse>;
|
|
58
|
+
/** exchange_commit — execute a flight exchange. */
|
|
59
|
+
readonly exchangeCommit: (request: ExchangeCommitRequest) => Promise<ExchangeCommitResponse>;
|
|
60
|
+
/** exchange_status — poll the status of an in-flight exchange. */
|
|
61
|
+
readonly exchangeStatus: (request: ExchangeStatusRequest) => Promise<ExchangeStatusResponse>;
|
|
42
62
|
}
|
|
43
63
|
export declare function createTools(raw: JinkoRawClient): JinkoTools;
|
|
44
64
|
//# 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,WAAW,EAEX,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -8,6 +8,7 @@ export function createTools(raw) {
|
|
|
8
8
|
findDestination: (request) => post('/api/v1/flights/destination-search', request),
|
|
9
9
|
flightSearch: (request) => post('/api/v1/flights/shop', request),
|
|
10
10
|
flightCalendar: (request) => post('/api/v1/flights/search', request),
|
|
11
|
+
hotelSearch: (request) => post('/api/v1/hotels/shop', request),
|
|
11
12
|
trip: (request) => post('/api/v1/shop/sync', request),
|
|
12
13
|
book: async (tripId) => {
|
|
13
14
|
const body = { trip_id: tripId };
|
|
@@ -21,8 +22,17 @@ export function createTools(raw) {
|
|
|
21
22
|
});
|
|
22
23
|
return response.data;
|
|
23
24
|
},
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
lookupBooking: async (request) => {
|
|
26
|
+
const data = await post('/api/v1/bookings/lookup', request);
|
|
27
|
+
return data;
|
|
28
|
+
},
|
|
29
|
+
refundCheck: async (request) => (await post('/api/v1/flights/refund-check', request)),
|
|
30
|
+
refundCommit: async (request) => (await post('/api/v1/flights/refund-commit', request)),
|
|
31
|
+
refundStatus: async (request) => (await post('/api/v1/flights/refund-status', request)),
|
|
32
|
+
exchangeShop: async (request) => (await post('/api/v1/flights/exchange-shop', request)),
|
|
33
|
+
exchangePrice: async (request) => (await post('/api/v1/flights/exchange-price', request)),
|
|
34
|
+
exchangeCommit: async (request) => (await post('/api/v1/flights/exchange-commit', request)),
|
|
35
|
+
exchangeStatus: async (request) => (await post('/api/v1/flights/exchange-status', request)),
|
|
26
36
|
};
|
|
27
37
|
}
|
|
28
38
|
//# sourceMappingURL=tools.js.map
|
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":"AA0GA,MAAM,UAAU,WAAW,CAAC,GAAmB;IAC7C,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,IAAa;QAC7C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAa,EAAE,EAAE,IAAI,EAAW,CAAC,CAAC;QAClE,OAAQ,QAA+B,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;QAChE,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC;QACjF,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;QAChE,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;QACpE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;QAC9D,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC;QACrD,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO,IAAwB,CAAC;QAClC,CAAC;QACD,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC;QAC9E,OAAO,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,wBAAiC,EAAE;gBAChE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;aACxB,CAAC,CAAC;YACZ,OAAQ,QAA0C,CAAC,IAA0B,CAAC;QAChF,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,IAA6B,CAAC;QACvC,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC7B,CAAC,MAAM,IAAI,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAwB;QAC9E,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAyB;QAChF,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAyB;QAChF,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAyB;QAChF,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC/B,CAAC,MAAM,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAA0B;QAClF,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAChC,CAAC,MAAM,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAA2B;QACpF,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAChC,CAAC,MAAM,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAA2B;KACrF,CAAC;AACJ,CAAC"}
|