letsfg 2026.5.69 → 2026.5.70

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.
@@ -1641,10 +1641,17 @@ var LetsFG = class {
1641
1641
  }
1642
1642
  /**
1643
1643
  * Resolve a city/airport name to IATA codes.
1644
+ *
1645
+ * Developer API key only. There is no location endpoint on the PFS Bearer
1646
+ * lane — the same dead end `unlock()` documents below. This used to send
1647
+ * PFS callers to `/api/locations?q=`, a route that has never existed on
1648
+ * letsfg.co (verified 2026-08-16: 404, text/html), so they got a JSON parse
1649
+ * error off the 404 page instead of an answer. Pass an IATA code directly
1650
+ * on the PFS lane; a city code expands to every airport in that city.
1644
1651
  */
1645
1652
  async resolveLocation(query) {
1646
- this.requireAuth();
1647
- const path = this.usingPFS ? `/api/locations?q=${encodeURIComponent(query)}` : `/developers/api/v1/flights/locations/${encodeURIComponent(query)}`;
1653
+ this.requireApiKey();
1654
+ const path = `/developers/api/v1/flights/locations/${encodeURIComponent(query)}`;
1648
1655
  const data = await this.getWithAuth(path);
1649
1656
  return Array.isArray(data) ? data : data.locations || [];
1650
1657
  }
package/dist/cli.js CHANGED
@@ -537,10 +537,17 @@ var LetsFG = class {
537
537
  }
538
538
  /**
539
539
  * Resolve a city/airport name to IATA codes.
540
+ *
541
+ * Developer API key only. There is no location endpoint on the PFS Bearer
542
+ * lane — the same dead end `unlock()` documents below. This used to send
543
+ * PFS callers to `/api/locations?q=`, a route that has never existed on
544
+ * letsfg.co (verified 2026-08-16: 404, text/html), so they got a JSON parse
545
+ * error off the 404 page instead of an answer. Pass an IATA code directly
546
+ * on the PFS lane; a city code expands to every airport in that city.
540
547
  */
541
548
  async resolveLocation(query) {
542
- this.requireAuth();
543
- const path = this.usingPFS ? `/api/locations?q=${encodeURIComponent(query)}` : `/developers/api/v1/flights/locations/${encodeURIComponent(query)}`;
549
+ this.requireApiKey();
550
+ const path = `/developers/api/v1/flights/locations/${encodeURIComponent(query)}`;
544
551
  const data = await this.getWithAuth(path);
545
552
  return Array.isArray(data) ? data : data.locations || [];
546
553
  }
package/dist/cli.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  LetsFG,
4
4
  LetsFGError,
5
5
  offerSummary
6
- } from "./chunk-PW775XDB.mjs";
6
+ } from "./chunk-SYNHNDEL.mjs";
7
7
  import {
8
8
  BearerTokenError,
9
9
  getBearerToken,
package/dist/index.d.mts CHANGED
@@ -485,6 +485,13 @@ declare class LetsFG {
485
485
  private searchPFS;
486
486
  /**
487
487
  * Resolve a city/airport name to IATA codes.
488
+ *
489
+ * Developer API key only. There is no location endpoint on the PFS Bearer
490
+ * lane — the same dead end `unlock()` documents below. This used to send
491
+ * PFS callers to `/api/locations?q=`, a route that has never existed on
492
+ * letsfg.co (verified 2026-08-16: 404, text/html), so they got a JSON parse
493
+ * error off the 404 page instead of an answer. Pass an IATA code directly
494
+ * on the PFS lane; a city code expands to every airport in that city.
488
495
  */
489
496
  resolveLocation(query: string): Promise<Array<Record<string, unknown>>>;
490
497
  /**
package/dist/index.d.ts CHANGED
@@ -485,6 +485,13 @@ declare class LetsFG {
485
485
  private searchPFS;
486
486
  /**
487
487
  * Resolve a city/airport name to IATA codes.
488
+ *
489
+ * Developer API key only. There is no location endpoint on the PFS Bearer
490
+ * lane — the same dead end `unlock()` documents below. This used to send
491
+ * PFS callers to `/api/locations?q=`, a route that has never existed on
492
+ * letsfg.co (verified 2026-08-16: 404, text/html), so they got a JSON parse
493
+ * error off the 404 page instead of an answer. Pass an IATA code directly
494
+ * on the PFS lane; a city code expands to every airport in that city.
488
495
  */
489
496
  resolveLocation(query: string): Promise<Array<Record<string, unknown>>>;
490
497
  /**
package/dist/index.js CHANGED
@@ -1689,10 +1689,17 @@ var LetsFG = class {
1689
1689
  }
1690
1690
  /**
1691
1691
  * Resolve a city/airport name to IATA codes.
1692
+ *
1693
+ * Developer API key only. There is no location endpoint on the PFS Bearer
1694
+ * lane — the same dead end `unlock()` documents below. This used to send
1695
+ * PFS callers to `/api/locations?q=`, a route that has never existed on
1696
+ * letsfg.co (verified 2026-08-16: 404, text/html), so they got a JSON parse
1697
+ * error off the 404 page instead of an answer. Pass an IATA code directly
1698
+ * on the PFS lane; a city code expands to every airport in that city.
1692
1699
  */
1693
1700
  async resolveLocation(query) {
1694
- this.requireAuth();
1695
- const path = this.usingPFS ? `/api/locations?q=${encodeURIComponent(query)}` : `/developers/api/v1/flights/locations/${encodeURIComponent(query)}`;
1701
+ this.requireApiKey();
1702
+ const path = `/developers/api/v1/flights/locations/${encodeURIComponent(query)}`;
1696
1703
  const data = await this.getWithAuth(path);
1697
1704
  return Array.isArray(data) ? data : data.locations || [];
1698
1705
  }
package/dist/index.mjs CHANGED
@@ -22,7 +22,7 @@ import {
22
22
  offerSummary,
23
23
  rankOffers,
24
24
  selectDiverseTop
25
- } from "./chunk-PW775XDB.mjs";
25
+ } from "./chunk-SYNHNDEL.mjs";
26
26
  export {
27
27
  AuthenticationError,
28
28
  BoostedTravel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "letsfg",
3
- "version": "2026.5.69",
3
+ "version": "2026.5.70",
4
4
  "description": "Flights and hotels for AI agents. Server-side engine covers hundreds of airlines; hotels are real bookable inventory with free cancellation and pay-later terms. Includes open-source ranking engine.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",