-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathllms.txt
More file actions
92 lines (66 loc) · 3.49 KB
/
llms.txt
File metadata and controls
92 lines (66 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# rendezvous-kit
> TypeScript library for finding fair meeting points for N people — isochrone intersection, venue search, and fairness scoring.
One runtime dependency: geohash-kit. Zero third-party dependencies. ESM-only. Five subpath exports.
Repository: https://github.com/forgesworn/rendezvous-kit
## Install
npm install rendezvous-kit
## Subpath Exports
### rendezvous-kit (barrel)
Re-exports everything below.
### rendezvous-kit/rendezvous
The main pipeline function.
- findRendezvous(engine, options) → Promise<RendezvousSuggestion[]>
### rendezvous-kit/geo
Pure-TypeScript polygon geometry.
- intersectPolygons(polygons: GeoJSONPolygon[]) → GeoJSONPolygon | null — largest intersection component
- intersectPolygonsAll(polygons: GeoJSONPolygon[]) → GeoJSONPolygon[] — all intersection components
- boundingBox(polygon: GeoJSONPolygon) → BBox
- centroid(polygon: GeoJSONPolygon) → { lat, lon }
- polygonArea(polygon: GeoJSONPolygon) → number (square metres)
- circleToPolygon(centre: [lon, lat], radiusMetres, segments?) → GeoJSONPolygon
- getDestinationPoint(start: [lon, lat], distanceMetres, bearingDeg) → [lon, lat]
### rendezvous-kit/engines/valhalla
- new ValhallaEngine({ baseUrl: string })
### rendezvous-kit/engines/openrouteservice
- new OpenRouteServiceEngine({ apiKey: string, baseUrl?: string })
### rendezvous-kit/engines/graphhopper
- new GraphHopperEngine({ baseUrl: string, apiKey?: string })
### rendezvous-kit/engines/osrm
- new OsrmEngine({ baseUrl: string }) — matrix only, no isochrone
### rendezvous-kit/venues
- searchVenues(polygon: GeoJSONPolygon, venueTypes: VenueType[], overpassUrl?: string) → Promise<Venue[]>
## Key Types
- LatLon: { lat, lon, label? }
- GeoJSONPolygon: { type: 'Polygon', coordinates: number[][][] }
- TransportMode: 'drive' | 'cycle' | 'walk' | 'public_transit'
- FairnessStrategy: 'min_max' | 'min_total' | 'min_variance'
- VenueType: 'park' | 'cafe' | 'restaurant' | 'service_station' | 'library' | 'pub' | 'playground' | 'community_centre' | 'bar' | 'fast_food' | 'garden' | 'theatre' | 'arts_centre' | 'fitness_centre' | 'sports_centre' | 'escape_game' | 'swimming_pool' | string
- RendezvousOptions: { participants, mode, maxTimeMinutes, venueTypes, fairness?, limit?, strategy? }
- RendezvousSuggestion: { venue, travelTimes: Record<string, number>, fairnessScore, metadata? }
- RoutingEngine: interface { name, computeIsochrone, computeRouteMatrix, computeRoute }
- RouteGeometry: { origin, destination, mode, durationMinutes, distanceKm, geometry: GeoJSONLineString, legs?: RouteLeg[] }
- RouteLeg: { instruction, distanceKm, durationMinutes, type?, streetNames?, verbalInstruction?, ... }
- GeoJSONLineString: { type: 'LineString', coordinates: number[][] }
## Fairness Strategies
- min_max — minimise worst-case travel time (default)
- min_total — minimise total travel time across all participants
- min_variance — equalise travel times (minimise standard deviation)
## Quick Example
```typescript
import { findRendezvous } from 'rendezvous-kit'
import { ValhallaEngine } from 'rendezvous-kit/engines/valhalla'
const engine = new ValhallaEngine({ baseUrl: 'http://localhost:8002' })
const suggestions = await findRendezvous(engine, {
participants: [
{ lat: 51.5074, lon: -0.1278, label: 'Alice' },
{ lat: 51.4545, lon: -2.5879, label: 'Bob' },
],
mode: 'drive',
maxTimeMinutes: 60,
venueTypes: ['cafe'],
fairness: 'min_max',
limit: 3,
})
```
## Optional
- llms-full.txt: Full API reference with all type signatures and examples