letsfg 2026.4.9 → 2026.4.36
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 +3 -0
- package/dist/{chunk-2JOODKE2.mjs → chunk-AUXPORRU.mjs} +1 -2
- package/dist/cli.js +1 -2
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +3 -5
- package/dist/index.d.ts +3 -5
- package/dist/index.js +1 -2
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -58,6 +58,9 @@ console.log(`PNR: ${booking.booking_reference}`);
|
|
|
58
58
|
export LETSFG_API_KEY=trav_...
|
|
59
59
|
|
|
60
60
|
letsfg search GDN BER 2026-03-03 --sort price
|
|
61
|
+
|
|
62
|
+
# Fast mode — OTAs + key airlines only (~25 connectors, 20-40s)
|
|
63
|
+
letsfg search GDN BER 2026-03-03 --mode fast
|
|
61
64
|
letsfg search LON BCN 2026-04-01 --json # Machine-readable
|
|
62
65
|
letsfg unlock off_xxx
|
|
63
66
|
letsfg book off_xxx -p '{"id":"pas_xxx","given_name":"John",...}' -e john@example.com
|
|
@@ -139,8 +139,7 @@ async function searchLocal(origin, destination, dateFrom, options = {}) {
|
|
|
139
139
|
return_date: options.returnDate,
|
|
140
140
|
cabin_class: options.cabinClass,
|
|
141
141
|
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers },
|
|
142
|
-
...options.
|
|
143
|
-
...options.departureTimeTo != null && { departure_time_to: options.departureTimeTo }
|
|
142
|
+
...options.mode != null && { mode: options.mode }
|
|
144
143
|
});
|
|
145
144
|
return new Promise((resolve, reject) => {
|
|
146
145
|
const pythonCmd = process.platform === "win32" ? "python" : "python3";
|
package/dist/cli.js
CHANGED
|
@@ -160,8 +160,7 @@ async function searchLocal(origin, destination, dateFrom, options = {}) {
|
|
|
160
160
|
return_date: options.returnDate,
|
|
161
161
|
cabin_class: options.cabinClass,
|
|
162
162
|
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers },
|
|
163
|
-
...options.
|
|
164
|
-
...options.departureTimeTo != null && { departure_time_to: options.departureTimeTo }
|
|
163
|
+
...options.mode != null && { mode: options.mode }
|
|
165
164
|
});
|
|
166
165
|
return new Promise((resolve, reject) => {
|
|
167
166
|
const pythonCmd = process.platform === "win32" ? "python" : "python3";
|
package/dist/cli.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -111,13 +111,11 @@ interface SearchOptions {
|
|
|
111
111
|
maxStopovers?: number;
|
|
112
112
|
currency?: string;
|
|
113
113
|
limit?: number;
|
|
114
|
-
sort?: 'price' | 'duration'
|
|
114
|
+
sort?: 'price' | 'duration';
|
|
115
115
|
/** Max concurrent browser instances (1-32). Omit for auto-detect based on system RAM. */
|
|
116
116
|
maxBrowsers?: number;
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
/** Latest departure time HH:MM (e.g. '14:00' for flights before 2pm). */
|
|
120
|
-
departureTimeTo?: string;
|
|
117
|
+
/** Search mode. Omit for full search (all 200+ connectors). 'fast' = OTAs + key direct airlines (~25 connectors, 20-40s). */
|
|
118
|
+
mode?: 'fast';
|
|
121
119
|
}
|
|
122
120
|
interface CheckoutProgress {
|
|
123
121
|
status: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -111,13 +111,11 @@ interface SearchOptions {
|
|
|
111
111
|
maxStopovers?: number;
|
|
112
112
|
currency?: string;
|
|
113
113
|
limit?: number;
|
|
114
|
-
sort?: 'price' | 'duration'
|
|
114
|
+
sort?: 'price' | 'duration';
|
|
115
115
|
/** Max concurrent browser instances (1-32). Omit for auto-detect based on system RAM. */
|
|
116
116
|
maxBrowsers?: number;
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
/** Latest departure time HH:MM (e.g. '14:00' for flights before 2pm). */
|
|
120
|
-
departureTimeTo?: string;
|
|
117
|
+
/** Search mode. Omit for full search (all 200+ connectors). 'fast' = OTAs + key direct airlines (~25 connectors, 20-40s). */
|
|
118
|
+
mode?: 'fast';
|
|
121
119
|
}
|
|
122
120
|
interface CheckoutProgress {
|
|
123
121
|
status: string;
|
package/dist/index.js
CHANGED
|
@@ -189,8 +189,7 @@ async function searchLocal(origin, destination, dateFrom, options = {}) {
|
|
|
189
189
|
return_date: options.returnDate,
|
|
190
190
|
cabin_class: options.cabinClass,
|
|
191
191
|
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers },
|
|
192
|
-
...options.
|
|
193
|
-
...options.departureTimeTo != null && { departure_time_to: options.departureTimeTo }
|
|
192
|
+
...options.mode != null && { mode: options.mode }
|
|
194
193
|
});
|
|
195
194
|
return new Promise((resolve, reject) => {
|
|
196
195
|
const pythonCmd = process.platform === "win32" ? "python" : "python3";
|
package/dist/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "letsfg",
|
|
3
|
-
"version": "2026.4.
|
|
3
|
+
"version": "2026.4.36",
|
|
4
4
|
"description": "Agent-native flight search & booking. 200 airline connectors run locally + enterprise GDS/NDC APIs. Built for autonomous AI agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|