+1
-1
src/bot/agent.py
+1
-1
src/bot/agent.py
+20
-16
src/bot/config.py
+20
-16
src/bot/config.py
···
12
)
13
14
# Bluesky credentials
15
-
bluesky_handle: str = Field(..., description="The handle of the Bluesky account")
16
bluesky_password: str = Field(
17
-
..., description="The password of the Bluesky account"
18
)
19
bluesky_service: str = Field(
20
-
"https://bsky.social", description="The service URL of the Bluesky account"
21
)
22
23
# Bot configuration
24
-
bot_name: str = Field("Bot", description="The name of the bot")
25
personality_file: str = Field(
26
-
"personalities/phi.md", description="The file containing the bot's personality"
27
)
28
29
# LLM configuration (support multiple providers)
30
openai_api_key: str | None = Field(
31
-
None, description="The API key for the OpenAI API"
32
)
33
anthropic_api_key: str | None = Field(
34
-
None, description="The API key for the Anthropic API"
35
)
36
37
# Google Search configuration
38
google_api_key: str | None = Field(
39
-
None, description="The API key for the Google API"
40
)
41
google_search_engine_id: str | None = Field(
42
-
None, description="The search engine ID for the Google API"
43
)
44
45
# TurboPuffer configuration
46
turbopuffer_api_key: str | None = Field(
47
-
None, description="The API key for the TurboPuffer API"
48
)
49
turbopuffer_namespace: str = Field(
50
-
"bot-memories", description="The namespace for the TurboPuffer API"
51
)
52
turbopuffer_region: str = Field(
53
-
"gcp-us-central1", description="The region for the TurboPuffer API"
54
)
55
56
# Server configuration
57
-
host: str = Field("0.0.0.0", description="The host for the server")
58
-
port: int = Field(8000, description="The port for the server")
59
60
# Polling configuration
61
notification_poll_interval: int = Field(
62
-
10, description="The interval for polling for notifications"
63
)
64
65
# Debug mode
66
-
debug: bool = Field(True, description="Whether to run in debug mode")
67
68
@model_validator(mode="after")
69
def configure_logging(self) -> Self:
···
12
)
13
14
# Bluesky credentials
15
+
bluesky_handle: str = Field(
16
+
default=..., description="The handle of the Bluesky account"
17
+
)
18
bluesky_password: str = Field(
19
+
default=..., description="The password of the Bluesky account"
20
)
21
bluesky_service: str = Field(
22
+
default="https://bsky.social",
23
+
description="The service URL of the Bluesky account",
24
)
25
26
# Bot configuration
27
+
bot_name: str = Field(default="Bot", description="The name of the bot")
28
personality_file: str = Field(
29
+
default="personalities/phi.md",
30
+
description="The file containing the bot's personality",
31
)
32
33
# LLM configuration (support multiple providers)
34
openai_api_key: str | None = Field(
35
+
default=None, description="The API key for the OpenAI API"
36
)
37
anthropic_api_key: str | None = Field(
38
+
default=None, description="The API key for the Anthropic API"
39
)
40
41
# Google Search configuration
42
google_api_key: str | None = Field(
43
+
default=None, description="The API key for the Google API"
44
)
45
google_search_engine_id: str | None = Field(
46
+
default=None, description="The search engine ID for the Google API"
47
)
48
49
# TurboPuffer configuration
50
turbopuffer_api_key: str | None = Field(
51
+
default=None, description="The API key for the TurboPuffer API"
52
)
53
turbopuffer_namespace: str = Field(
54
+
default="bot-memories", description="The namespace for the TurboPuffer API"
55
)
56
turbopuffer_region: str = Field(
57
+
default="gcp-us-central1", description="The region for the TurboPuffer API"
58
)
59
60
# Server configuration
61
+
host: str = Field(default="0.0.0.0", description="The host for the server")
62
+
port: int = Field(default=8000, description="The port for the server")
63
64
# Polling configuration
65
notification_poll_interval: int = Field(
66
+
default=10, description="The interval for polling for notifications"
67
)
68
69
# Debug mode
70
+
debug: bool = Field(default=True, description="Whether to run in debug mode")
71
72
@model_validator(mode="after")
73
def configure_logging(self) -> Self: