···32323333Before continuing, you must:
34343535-1. Create a project on [Letta Cloud](https://app.letta.com) (or your own Letta instance)
3535+1. Create a project on [Letta Cloud](https://cloud.letta.com) (or your own Letta instance)
36362. Have a Bluesky account
37373. Have Python 3.8+ installed
3838···40404141#### 1. Letta Setup
42424343-- Sign up for [Letta Cloud](https://app.letta.com)
4343+- Sign up for [Letta Cloud](https://cloud.letta.com)
4444- Create a new project
4545- Note your Project ID and create an API key
4646
+1-1
bsky.py
···371371 logger.info(f"Mention from @{author_handle}: {mention_text}")
372372373373 # Log prompt details to separate logger
374374- logger.debug(f"Full prompt being sent:\n{prompt}")
374374+ prompt_logger.debug(f"Full prompt being sent:\n{prompt}")
375375376376 # Log concise prompt info to main logger
377377 thread_handles_count = len(unique_handles)
-18
tools/dummy_reply.py
···11-"""Dummy reply tool for Bluesky responses."""
22-from typing import Optional
33-from pydantic import BaseModel, Field
44-55-66-class BlueskyReplyArgs(BaseModel):
77- message: str = Field(
88- ...,
99- description="The message to reply with (max 300 characters)"
1010- )
1111-1212-1313-def bluesky_reply(message: str) -> str:
1414- """
1515- Dummy function that just returns success. The actual reply is handled in the bsky.py process_mention function.
1616- This exists only to make the agent think it has a bluesky_reply tool available.
1717- """
1818- return "Reply will be sent"