Skip to content

Commit ff4e4ab

Browse files
committed
examples(travel-concierge): fail fast on missing Moss creds (agent + seed_index), add uuid suffix to session name (no same-second collision), Node 18.18+ in README
1 parent ac1102c commit ff4e4ab

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

moss-live-labs/examples/travel-concierge/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Browser (web/) ⟷ LiveKit room ⟷ agent.py (STT → LLM → TTS) ⟷ Mos
1414

1515
## What you need
1616
- A [Moss](https://moss.dev) account · [LiveKit](https://livekit.io) (local) · OpenAI (LLM),
17-
Deepgram (STT), Cartesia (TTS) keys · Python 3.14+ (`uv`) and Node 18+.
17+
Deepgram (STT), Cartesia (TTS) keys · Python 3.14+ (`uv`) and Node 18.18+.
1818

1919
## Setup
2020
```bash

moss-live-labs/examples/travel-concierge/agent.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
import os
55
import time
6+
import uuid
67
from datetime import datetime
78

89
from dotenv import load_dotenv
@@ -169,6 +170,10 @@ async def _remember_facts(self, text: str) -> None:
169170

170171

171172
async def entrypoint(ctx: JobContext):
173+
if not MOSS_PROJECT_ID or not MOSS_PROJECT_KEY:
174+
raise SystemExit(
175+
"Missing MOSS_PROJECT_ID / MOSS_PROJECT_KEY. Copy .env.example to .env and fill them in."
176+
)
172177
await ctx.connect()
173178

174179
client = MossClient(project_id=MOSS_PROJECT_ID, project_key=MOSS_PROJECT_KEY)
@@ -180,8 +185,9 @@ async def entrypoint(ctx: JobContext):
180185
except Exception as e:
181186
logger.warning(f"Catalog not found ({e}). Run seed_index.py first.")
182187

183-
# Short-term: a fresh, empty session just for this call.
184-
session_name = f"trip-session-{datetime.now():%Y%m%d-%H%M%S}"
188+
# Short-term: a fresh, empty session just for this call. The uuid suffix keeps
189+
# it unique even if two calls start in the same second.
190+
session_name = f"trip-session-{datetime.now():%Y%m%d-%H%M%S}-{uuid.uuid4().hex[:6]}"
185191
session_index = await client.session(session_name)
186192
logger.info(f"Opened live session: {session_name}")
187193

moss-live-labs/examples/travel-concierge/seed_index.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@
2727

2828

2929
async def main() -> None:
30+
if not MOSS_PROJECT_ID or not MOSS_PROJECT_KEY:
31+
raise SystemExit(
32+
"Missing MOSS_PROJECT_ID / MOSS_PROJECT_KEY. Copy .env.example to .env and fill them in."
33+
)
34+
3035
trips = json.loads(CATALOG_PATH.read_text())
3136
docs = [DocumentInfo(id=t["id"], text=t["text"]) for t in trips]
3237
client = MossClient(project_id=MOSS_PROJECT_ID, project_key=MOSS_PROJECT_KEY)

0 commit comments

Comments
 (0)