Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
"""Which platform env vars the setup surfaces hide.
|
||||
|
||||
Every messaging platform ships the same handful of knobs that are either set
|
||||
for the user later or already correct by default. Listing them on a setup form
|
||||
turns "paste your bot token" into a five-field interrogation where none of the
|
||||
answers are discoverable — the Discord card asked for a home channel ID you
|
||||
need Developer Mode to copy, next to a reply-threading preference.
|
||||
|
||||
Hiding them is a *presentation* decision only. The env vars keep working
|
||||
through ``hermes config set``, ``.env``, and ``config.yaml``; the gateway reads
|
||||
them exactly as before. This module just says what a new user is asked during
|
||||
setup.
|
||||
|
||||
Lives here rather than in ``web_server`` so the CLI wizard can share it without
|
||||
importing the dashboard's FastAPI surface.
|
||||
"""
|
||||
|
||||
# Suffix match, so plugin adapters nobody enumerated (IRC, SimpleX, LINE, ntfy)
|
||||
# get the same treatment without a code change here.
|
||||
#
|
||||
# *_HOME_CHANNEL* the bot offers /sethome on the first chat
|
||||
# *_ALLOW_ALL_USERS defaults off; enabling it is a security decision
|
||||
# *_REPLY_TO_MODE cosmetic threading preference
|
||||
# *_REPLY_MODE same, Mattermost's spelling
|
||||
# *_REQUIRE_MENTION behavior toggle with a sane default
|
||||
# *_AUTO_THREAD same
|
||||
# *_FREE_RESPONSE_* per-channel tuning, done once the bot is in a server
|
||||
# *_ALLOWED_CHANNELS same
|
||||
# *_PROXY only for networks that block the platform
|
||||
#
|
||||
# Allowlists (*_ALLOWED_USERS) deliberately stay visible: that IS the decision
|
||||
# a new user has to make, and the gateway denies everyone until it's set.
|
||||
SETUP_HIDDEN_ENV_SUFFIXES = (
|
||||
"_HOME_CHANNEL",
|
||||
"_HOME_CHANNEL_NAME",
|
||||
"_HOME_CHANNEL_THREAD_ID",
|
||||
"_HOME_ADDRESS",
|
||||
"_ALLOW_ALL_USERS",
|
||||
"_REPLY_TO_MODE",
|
||||
"_REPLY_MODE",
|
||||
"_REQUIRE_MENTION",
|
||||
"_AUTO_THREAD",
|
||||
"_FREE_RESPONSE_CHANNELS",
|
||||
"_FREE_RESPONSE_ROOMS",
|
||||
"_ALLOWED_CHANNELS",
|
||||
"_PROXY",
|
||||
)
|
||||
|
||||
|
||||
def is_setup_hidden_env(name: str) -> bool:
|
||||
"""True when a var is self-configuring and shouldn't appear in setup forms.
|
||||
|
||||
Callers must still keep any var a platform lists as *required* — hiding a
|
||||
required credential would make that platform unconfigurable from the UI.
|
||||
"""
|
||||
return name.endswith(SETUP_HIDDEN_ENV_SUFFIXES)
|
||||
Reference in New Issue
Block a user