letsfg 2026.4.8 → 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-RLP7MSF6.mjs → chunk-AUXPORRU.mjs} +2 -1
- package/dist/cli.js +2 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -1
- 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
|
|
@@ -138,7 +138,8 @@ async function searchLocal(origin, destination, dateFrom, options = {}) {
|
|
|
138
138
|
limit: options.limit ?? 50,
|
|
139
139
|
return_date: options.returnDate,
|
|
140
140
|
cabin_class: options.cabinClass,
|
|
141
|
-
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers }
|
|
141
|
+
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers },
|
|
142
|
+
...options.mode != null && { mode: options.mode }
|
|
142
143
|
});
|
|
143
144
|
return new Promise((resolve, reject) => {
|
|
144
145
|
const pythonCmd = process.platform === "win32" ? "python" : "python3";
|
package/dist/cli.js
CHANGED
|
@@ -159,7 +159,8 @@ async function searchLocal(origin, destination, dateFrom, options = {}) {
|
|
|
159
159
|
limit: options.limit ?? 50,
|
|
160
160
|
return_date: options.returnDate,
|
|
161
161
|
cabin_class: options.cabinClass,
|
|
162
|
-
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers }
|
|
162
|
+
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers },
|
|
163
|
+
...options.mode != null && { mode: options.mode }
|
|
163
164
|
});
|
|
164
165
|
return new Promise((resolve, reject) => {
|
|
165
166
|
const pythonCmd = process.platform === "win32" ? "python" : "python3";
|
package/dist/cli.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -114,6 +114,8 @@ interface SearchOptions {
|
|
|
114
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
|
+
/** Search mode. Omit for full search (all 200+ connectors). 'fast' = OTAs + key direct airlines (~25 connectors, 20-40s). */
|
|
118
|
+
mode?: 'fast';
|
|
117
119
|
}
|
|
118
120
|
interface CheckoutProgress {
|
|
119
121
|
status: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -114,6 +114,8 @@ interface SearchOptions {
|
|
|
114
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
|
+
/** Search mode. Omit for full search (all 200+ connectors). 'fast' = OTAs + key direct airlines (~25 connectors, 20-40s). */
|
|
118
|
+
mode?: 'fast';
|
|
117
119
|
}
|
|
118
120
|
interface CheckoutProgress {
|
|
119
121
|
status: string;
|
package/dist/index.js
CHANGED
|
@@ -188,7 +188,8 @@ async function searchLocal(origin, destination, dateFrom, options = {}) {
|
|
|
188
188
|
limit: options.limit ?? 50,
|
|
189
189
|
return_date: options.returnDate,
|
|
190
190
|
cabin_class: options.cabinClass,
|
|
191
|
-
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers }
|
|
191
|
+
...options.maxBrowsers != null && { max_browsers: options.maxBrowsers },
|
|
192
|
+
...options.mode != null && { mode: options.mode }
|
|
192
193
|
});
|
|
193
194
|
return new Promise((resolve, reject) => {
|
|
194
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",
|