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 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
@@ -3,7 +3,7 @@ import {
3
3
  LetsFG,
4
4
  LetsFGError,
5
5
  offerSummary
6
- } from "./chunk-RLP7MSF6.mjs";
6
+ } from "./chunk-AUXPORRU.mjs";
7
7
 
8
8
  // src/cli.ts
9
9
  function getFlag(args, flag, alias) {
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
@@ -14,7 +14,7 @@ import {
14
14
  offerSummary,
15
15
  searchLocal,
16
16
  systemInfo
17
- } from "./chunk-RLP7MSF6.mjs";
17
+ } from "./chunk-AUXPORRU.mjs";
18
18
  export {
19
19
  AuthenticationError,
20
20
  BoostedTravel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "letsfg",
3
- "version": "2026.4.8",
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",