How evanpanlabs-design/riddle_trip_planner works
Riddle is a travel-planning copilot: a user describes a trip, the agent generates plans and tool calls, Jev gates changes, and accepted plans are validated and stored as an editable event-tree itinerary. The README documents additional checklist, pending-question, audit/undo, map, and operations capabilities. Some wiring is based on the README because the sampled excerpts are partial; uncertain links are omitted.
Main entry points: agent.ts Agent loop · client.ts Jev client · server.ts Project server · scheduler.ts Pending queue
Components 21
Conversation and decisions
- Agent loop
APP/src/agent.ts - Jev client
APP/src/jev/client.ts - Judgment questions
APP/src/jev/questions.ts - LLM judge fallback
APP/src/jev/llm-judge.ts - Pending queue
APP/src/scheduler/scheduler.ts
Planning and trip state
- Trip event store
APP/src/memory/trip-store.ts - Event-tree model
APP/src/memory/event-v2.ts - Co-editing operations
APP/src/memory/edits.ts - Event wiki
APP/src/memory/event-docs.ts
Geography and validation
- Geographic checks
APP/src/memory/geo-checks.ts - AMap tools
APP/src/tools/amap.ts - Baidu transit
APP/src/tools/baidu.ts - OSM boundaries
APP/src/tools/osm-aoi.ts
Projects and settings
- Project server
APP/src/server.ts - Settings
APP/src/settings.ts
Other components
- Traveler
- Generation model
- Jev service
- Map services
- Baidu Maps
- OpenStreetMap
Connections 22
- Traveler → Project server: sends trip input
- Project server → Agent loop: prompts agent
- Agent loop → Generation model: generates drafts
- Agent loop → Jev client: requests judgments
- Jev client → Judgment questions: builds questions
- Jev client → Jev service: submits judgments
- Jev client → LLM judge fallback: can fall back
- Agent loop → Pending queue: queues blocked actions
- Pending queue → Jev client: checks pending replies
- Agent loop → Event-tree model: assembles and validates
- Agent loop → Trip event store: applies trip changes
- Agent loop → Co-editing operations: dispatches edits
- Agent loop → Event wiki: reads and writes notes
- Agent loop → Geographic checks: validates geography
- Agent loop → AMap tools: searches places
- Agent loop → Baidu transit: requests intercity routes
- AMap tools → Map services: queries places
- Baidu transit → Baidu Maps: queries transit
- Geographic checks → OSM boundaries: requests boundaries
- OSM boundaries → OpenStreetMap: fetches boundaries
- Project server → Settings: reads and saves
- Agent loop → Settings: resolves model config