@@ -37,12 +37,110 @@ METACULUS_TOKEN=
3737
3838# Discord Bot
3939DISCORD_BOT_TOKEN =
40+ DISCORD_APP_ID =
41+ WEBCHAT_TOKEN =
42+ POSITIONS_PRICE_UPDATE_INTERVAL_MS = 300000
43+ POSITIONS_PRICE_UPDATE_ENABLED = true
44+ POSITIONS_PNL_SNAPSHOTS_ENABLED = true
45+ POSITIONS_PNL_HISTORY_DAYS = 90
46+ SESSION_CLEANUP_ENABLED = true
47+ SESSION_CLEANUP_MAX_AGE_DAYS = 30
48+ SESSION_CLEANUP_IDLE_DAYS = 14
49+ MARKET_CACHE_ENABLED = true
50+ MARKET_CACHE_TTL_MS = 1800000
51+ MARKET_CACHE_CLEANUP_INTERVAL_MS = 900000
52+ MARKET_INDEX_ENABLED = true
53+ MARKET_INDEX_SYNC_INTERVAL_MS = 21600000
54+ MARKET_INDEX_STALE_AFTER_MS = 604800000
55+ MARKET_INDEX_LIMIT_PER_PLATFORM = 300
56+ MARKET_INDEX_STATUS = open
57+ MARKET_INDEX_EXCLUDE_SPORTS = true
58+ MARKET_INDEX_PLATFORMS = polymarket,kalshi,manifold,metaculus
59+ MARKET_INDEX_MIN_VOLUME_24H = 0
60+ MARKET_INDEX_MIN_LIQUIDITY = 0
61+ MARKET_INDEX_MIN_OPEN_INTEREST = 0
62+ MARKET_INDEX_MIN_PREDICTIONS = 0
63+ MARKET_INDEX_EXCLUDE_RESOLVED = false
64+ MARKET_INDEX_PLATFORM_WEIGHTS = {"polymarket":1,"kalshi":1,"manifold":1,"metaculus":1}
65+
66+ # Memory auto-capture/recall
67+ MEMORY_AUTO_ENABLED = true
68+ MEMORY_AUTO_SCOPE = user
69+ MEMORY_AUTO_MIN_INTERVAL_MS = 120000
70+ MEMORY_AUTO_MAX_ITEMS_PER_TYPE = 5
71+ MEMORY_AUTO_PROFILE_UPDATE_EVERY = 6
72+ MEMORY_AUTO_SEMANTIC_TOPK = 5
73+ MEMORY_AUTO_INCLUDE_CONTEXT = true
74+ MEMORY_AUTO_EXCLUDE_SENSITIVE = true
75+
76+ # Matrix
77+ MATRIX_HOMESERVER_URL = https://matrix.org
78+ MATRIX_ACCESS_TOKEN =
79+ MATRIX_USER_ID = @bot:matrix.org
80+
81+ # Signal (requires signal-cli linked to phone)
82+ SIGNAL_PHONE_NUMBER = +15551234567
83+ SIGNAL_CLI_PATH = signal-cli
84+ SIGNAL_CONFIG_DIR =
85+
86+ # iMessage (macOS only)
87+ IMESSAGE_ENABLED = 0
88+ IMESSAGE_POLL_INTERVAL = 2000
89+
90+ # LINE
91+ LINE_CHANNEL_ACCESS_TOKEN =
92+ LINE_CHANNEL_SECRET =
93+ LINE_WEBHOOK_PORT = 0
94+ LINE_WEBHOOK_PATH =
95+
96+ # Google Chat
97+ GOOGLECHAT_CREDENTIALS_PATH =
98+ GOOGLECHAT_CLIENT_EMAIL =
99+ GOOGLECHAT_PRIVATE_KEY =
100+ GOOGLECHAT_PROJECT_ID =
40101
41102# Twitter (for news)
42103TWITTER_BEARER_TOKEN =
43104
44105# Gateway auth
45106CLODDS_TOKEN =
46107
108+ # MCP
109+ CLODDS_MCP_RESOURCE_CHUNK_BYTES = 65536
110+
111+ # Streaming responses (edit-in-place where supported)
112+ CLODDS_STREAM_RESPONSES = true
113+ CLODDS_STREAM_RESPONSE_INTERVAL_MS = 500
114+
115+ # Public webhook base (for Teams/Google Chat/etc.)
116+ CLODDS_PUBLIC_HOST = localhost
117+ CLODDS_PUBLIC_SCHEME = http
118+
119+ # Group policies (JSON string, optional)
120+ # Example:
121+ # CLODDS_GROUP_POLICIES='{"slack":{"C01234567":{"requireMention":true}},"telegram":{"-1001234567890":{"requireMention":true}}}'
122+ CLODDS_GROUP_POLICIES =
123+
47124# Logging
48125LOG_LEVEL = info
126+
127+ # SMTP (optional, for email alerts)
128+ SMTP_HOST =
129+ SMTP_PORT = 587
130+ SMTP_USER =
131+ SMTP_PASS =
132+ SMTP_SECURE = false
133+
134+ # Database backups
135+ # Backup interval in minutes (0 disables)
136+ CLODDS_DB_BACKUP_INTERVAL_MINUTES = 60
137+ # Max backup files to retain
138+ CLODDS_DB_BACKUP_MAX = 10
139+
140+ # Hook tracing (debugging)
141+ # Set to 1 to enable hook trace logging
142+ CLODDS_HOOK_TRACE = 0
143+ # Max in-memory trace entries
144+ CLODDS_HOOK_TRACE_LIMIT = 200
145+ # Optional trace file path
146+ # CLODDS_HOOK_TRACE_FILE=~/.clodds/hooks/trace.log
0 commit comments