Skip to content

Commit be145a2

Browse files
authored
bridge: add GATEWAY_* aliases with SLACK_* fallback (phase 2) (#191)
1 parent 680b076 commit be145a2

20 files changed

Lines changed: 451 additions & 143 deletions

.env.schema

Lines changed: 106 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,38 @@ OPENCODE_ZEN_API_KEY=
3535
# @sensitive=false @type=string
3636
BAUDBOT_MODEL=
3737

38-
# ── Slack ────────────────────────────────────────────────────────────────────
38+
# ── Slack / Gateway bridge ───────────────────────────────────────────────────
3939

40-
# Slack bot OAuth token (required for direct Socket Mode, optional in broker mode)
40+
# Preferred naming: GATEWAY_*
41+
# Legacy naming: SLACK_* (still supported)
42+
# If both are set, GATEWAY_* takes precedence.
43+
44+
# Gateway bot OAuth token (preferred; required for direct Socket Mode, optional in broker mode)
4145
# @type=string(startsWith=xoxb-)
4246
# @docs("Create a Slack app", https://api.slack.com/apps)
47+
GATEWAY_BOT_TOKEN=
48+
49+
# Legacy alias for GATEWAY_BOT_TOKEN
50+
# @type=string(startsWith=xoxb-)
4351
SLACK_BOT_TOKEN=
4452

45-
# Slack app-level token (Socket Mode; optional in broker mode)
53+
# Gateway app-level token (preferred; Socket Mode; optional in broker mode)
54+
# @type=string(startsWith=xapp-)
55+
GATEWAY_APP_TOKEN=
56+
57+
# Legacy alias for GATEWAY_APP_TOKEN
4658
# @type=string(startsWith=xapp-)
4759
SLACK_APP_TOKEN=
4860

49-
# Comma-separated Slack user IDs allowed to interact with the agent
61+
# Comma-separated Slack user IDs allowed to interact with the agent (preferred)
5062
# Optional — if unset, all workspace members can interact.
5163
# @sensitive=false @type=string
5264
# @example="U01ABCDEF,U02GHIJKL"
65+
GATEWAY_ALLOWED_USERS=
66+
67+
# Legacy alias for GATEWAY_ALLOWED_USERS
68+
# @sensitive=false @type=string
69+
# @example="U01ABCDEF,U02GHIJKL"
5370
SLACK_ALLOWED_USERS=
5471

5572
# ── Experimental Feature Flag ───────────────────────────────────────────────
@@ -93,9 +110,13 @@ SENTRY_ORG=
93110
# @sensitive=false @type=string(startsWith=C)
94111
SENTRY_CHANNEL_ID=
95112

96-
# ── Slack Channels (optional) ───────────────────────────────────────────────
113+
# ── Gateway / Slack Channels (optional) ─────────────────────────────────────
97114

98-
# Additional monitored channel (responds to all messages, not just @mentions)
115+
# Additional monitored channel (preferred; responds to all messages, not just @mentions)
116+
# @sensitive=false @type=string(startsWith=C)
117+
GATEWAY_CHANNEL_ID=
118+
119+
# Legacy alias for GATEWAY_CHANNEL_ID
99120
# @sensitive=false @type=string(startsWith=C)
100121
SLACK_CHANNEL_ID=
101122

@@ -106,49 +127,93 @@ SLACK_CHANNEL_ID=
106127
# @docs(https://kernel.computer)
107128
KERNEL_API_KEY=
108129

109-
# ── Slack Broker Registration (optional) ─────────────────────────────────────
130+
# ── Gateway/Slack Broker Registration (optional) ────────────────────────────
110131

111-
# Slack broker base URL
132+
# Gateway broker base URL (preferred)
133+
# @sensitive=false @type=url
134+
GATEWAY_BROKER_URL=
135+
136+
# Legacy alias for GATEWAY_BROKER_URL
112137
# @sensitive=false @type=url
113138
SLACK_BROKER_URL=
114139

115-
# Slack workspace/team ID registered with broker
140+
# Gateway workspace/team ID registered with broker (preferred)
141+
# @sensitive=false @type=string(startsWith=T)
142+
GATEWAY_BROKER_WORKSPACE_ID=
143+
144+
# Legacy alias for GATEWAY_BROKER_WORKSPACE_ID
116145
# @sensitive=false @type=string(startsWith=T)
117146
SLACK_BROKER_WORKSPACE_ID=
118147

119-
# Server X25519 private key (base64)
148+
# Gateway server X25519 private key (base64, preferred)
149+
# @type=string
150+
GATEWAY_BROKER_SERVER_PRIVATE_KEY=
151+
152+
# Legacy alias for GATEWAY_BROKER_SERVER_PRIVATE_KEY
120153
# @type=string
121154
SLACK_BROKER_SERVER_PRIVATE_KEY=
122155

123-
# Server X25519 public key (base64)
156+
# Gateway server X25519 public key (base64, preferred)
157+
# @sensitive=false @type=string
158+
GATEWAY_BROKER_SERVER_PUBLIC_KEY=
159+
160+
# Legacy alias for GATEWAY_BROKER_SERVER_PUBLIC_KEY
124161
# @sensitive=false @type=string
125162
SLACK_BROKER_SERVER_PUBLIC_KEY=
126163

127-
# Server Ed25519 private signing key (base64)
164+
# Gateway server Ed25519 private signing key (base64, preferred)
165+
# @type=string
166+
GATEWAY_BROKER_SERVER_SIGNING_PRIVATE_KEY=
167+
168+
# Legacy alias for GATEWAY_BROKER_SERVER_SIGNING_PRIVATE_KEY
128169
# @type=string
129170
SLACK_BROKER_SERVER_SIGNING_PRIVATE_KEY=
130171

131-
# Server Ed25519 public signing key (base64)
172+
# Gateway server Ed25519 public signing key (base64, preferred)
173+
# @sensitive=false @type=string
174+
GATEWAY_BROKER_SERVER_SIGNING_PUBLIC_KEY=
175+
176+
# Legacy alias for GATEWAY_BROKER_SERVER_SIGNING_PUBLIC_KEY
132177
# @sensitive=false @type=string
133178
SLACK_BROKER_SERVER_SIGNING_PUBLIC_KEY=
134179

135-
# Broker X25519 public key (base64)
180+
# Gateway broker X25519 public key (base64, preferred)
181+
# @sensitive=false @type=string
182+
GATEWAY_BROKER_PUBLIC_KEY=
183+
184+
# Legacy alias for GATEWAY_BROKER_PUBLIC_KEY
136185
# @sensitive=false @type=string
137186
SLACK_BROKER_PUBLIC_KEY=
138187

139-
# Broker Ed25519 public signing key (base64)
188+
# Gateway broker Ed25519 public signing key (base64, preferred)
189+
# @sensitive=false @type=string
190+
GATEWAY_BROKER_SIGNING_PUBLIC_KEY=
191+
192+
# Legacy alias for GATEWAY_BROKER_SIGNING_PUBLIC_KEY
140193
# @sensitive=false @type=string
141194
SLACK_BROKER_SIGNING_PUBLIC_KEY=
142195

143-
# Broker-issued bearer token for broker API auth (required for broker pull mode)
196+
# Gateway broker-issued bearer token for broker API auth (preferred; required for broker pull mode)
197+
# @type=string
198+
GATEWAY_BROKER_ACCESS_TOKEN=
199+
200+
# Legacy alias for GATEWAY_BROKER_ACCESS_TOKEN
144201
# @type=string
145202
SLACK_BROKER_ACCESS_TOKEN=
146203

147-
# Optional broker token expiration timestamp (ISO-8601)
204+
# Optional gateway broker token expiration timestamp (ISO-8601, preferred)
205+
# @sensitive=false @type=string
206+
GATEWAY_BROKER_ACCESS_TOKEN_EXPIRES_AT=
207+
208+
# Legacy alias for GATEWAY_BROKER_ACCESS_TOKEN_EXPIRES_AT
148209
# @sensitive=false @type=string
149210
SLACK_BROKER_ACCESS_TOKEN_EXPIRES_AT=
150211

151-
# Optional broker token scopes (comma-separated)
212+
# Optional gateway broker token scopes (comma-separated, preferred)
213+
# @sensitive=false @type=string
214+
GATEWAY_BROKER_ACCESS_TOKEN_SCOPES=
215+
216+
# Legacy alias for GATEWAY_BROKER_ACCESS_TOKEN_SCOPES
152217
# @sensitive=false @type=string
153218
SLACK_BROKER_ACCESS_TOKEN_SCOPES=
154219

@@ -163,15 +228,35 @@ GITHUB_IGNORED_USERS=
163228
# @sensitive=false @type=string
164229
BAUDBOT_AGENT_VERSION=
165230

166-
# Broker pull cadence in milliseconds (default: 3000)
231+
# Gateway broker pull cadence in milliseconds (preferred; default: 3000)
232+
# @sensitive=false @type=number
233+
GATEWAY_BROKER_POLL_INTERVAL_MS=3000
234+
235+
# Legacy alias for GATEWAY_BROKER_POLL_INTERVAL_MS
167236
# @sensitive=false @type=number
168237
SLACK_BROKER_POLL_INTERVAL_MS=3000
169238

170-
# Max messages to lease per inbox pull request (default: 10)
239+
# Gateway max messages to lease per inbox pull request (preferred; default: 10)
240+
# @sensitive=false @type=number
241+
GATEWAY_BROKER_MAX_MESSAGES=10
242+
243+
# Legacy alias for GATEWAY_BROKER_MAX_MESSAGES
171244
# @sensitive=false @type=number
172245
SLACK_BROKER_MAX_MESSAGES=10
173246

174-
# Dedupe cache TTL in milliseconds (default: 20 minutes)
247+
# Gateway long-poll wait window in seconds (preferred; default: 20, max: 25)
248+
# @sensitive=false @type=number
249+
GATEWAY_BROKER_WAIT_SECONDS=20
250+
251+
# Legacy alias for GATEWAY_BROKER_WAIT_SECONDS
252+
# @sensitive=false @type=number
253+
SLACK_BROKER_WAIT_SECONDS=20
254+
255+
# Gateway dedupe cache TTL in milliseconds (preferred; default: 20 minutes)
256+
# @sensitive=false @type=number
257+
GATEWAY_BROKER_DEDUPE_TTL_MS=1200000
258+
259+
# Legacy alias for GATEWAY_BROKER_DEDUPE_TTL_MS
175260
# @sensitive=false @type=number
176261
SLACK_BROKER_DEDUPE_TTL_MS=1200000
177262

CONFIGURATION.md

Lines changed: 57 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,16 @@ The agent also uses an SSH key (`~/.ssh/id_ed25519`) for git push. Setup generat
3737

3838
| Variable | Description | How to get it |
3939
|----------|-------------|---------------|
40-
| `SLACK_BOT_TOKEN` | Slack bot OAuth token (required for direct Socket Mode; ignored by broker pull mode) | Create a Slack app at [api.slack.com/apps](https://api.slack.com/apps). Under **OAuth & Permissions**, add bot scopes: `app_mentions:read`, `chat:write`, `channels:history`, `channels:read`, `reactions:write`, `im:history`, `im:read`, `im:write`. Install the app to your workspace and copy the **Bot User OAuth Token**. |
41-
| `SLACK_APP_TOKEN` | Slack app-level token (required for Socket Mode; not used by broker pull mode) | In your Slack app settings → **Basic Information****App-Level Tokens**, create a token with `connections:write` scope. |
42-
| `SLACK_ALLOWED_USERS` | Comma-separated Slack user IDs | **Optional** — if not set, all workspace members can interact. Find your Slack user ID: click your profile → "..." → "Copy member ID". Example: `U01ABCDEF,U02GHIJKL` |
40+
| `GATEWAY_BOT_TOKEN` | **Preferred** bot OAuth token for Socket Mode (ignored by broker pull mode) | Create a Slack app at [api.slack.com/apps](https://api.slack.com/apps). Under **OAuth & Permissions**, add bot scopes: `app_mentions:read`, `chat:write`, `channels:history`, `channels:read`, `reactions:write`, `im:history`, `im:read`, `im:write`. Install the app to your workspace and copy the **Bot User OAuth Token**. |
41+
| `SLACK_BOT_TOKEN` | Legacy alias for `GATEWAY_BOT_TOKEN` (still supported) | Same token as above; migrate to `GATEWAY_BOT_TOKEN` over time. |
42+
| `GATEWAY_APP_TOKEN` | **Preferred** app-level token for Socket Mode | In your Slack app settings → **Basic Information****App-Level Tokens**, create a token with `connections:write` scope. |
43+
| `SLACK_APP_TOKEN` | Legacy alias for `GATEWAY_APP_TOKEN` (still supported) | Same token as above; migrate to `GATEWAY_APP_TOKEN` over time. |
44+
| `GATEWAY_ALLOWED_USERS` | **Preferred** comma-separated Slack user IDs allowlist | **Optional** — if not set, all workspace members can interact. Find your Slack user ID: click your profile → "..." → "Copy member ID". Example: `U01ABCDEF,U02GHIJKL` |
45+
| `SLACK_ALLOWED_USERS` | Legacy alias for `GATEWAY_ALLOWED_USERS` (still supported) | Same value as above; migrate to `GATEWAY_ALLOWED_USERS` over time. |
4346

44-
If you're using Slack broker mode (`SLACK_BROKER_*` vars), the runtime uses broker pull delivery and does not require Socket Mode callbacks.
47+
If both alias forms are present, `GATEWAY_*` takes precedence.
48+
49+
If you're using broker mode (`GATEWAY_BROKER_*` preferred, `SLACK_BROKER_*` legacy), the runtime uses broker pull delivery and does not require Socket Mode callbacks.
4550

4651
If you're using the Slack broker OAuth flow, register this server after install:
4752

@@ -105,32 +110,50 @@ The integration token only provides read access to pages/databases explicitly sh
105110

106111
| Variable | Description | How to get it |
107112
|----------|-------------|---------------|
108-
| `SLACK_CHANNEL_ID` | Additional monitored channel | If set, the bridge responds to all messages in this channel (not just @mentions). |
113+
| `GATEWAY_CHANNEL_ID` | **Preferred** additional monitored channel | If set, the bridge responds to all messages in this channel (not just @mentions). |
114+
| `SLACK_CHANNEL_ID` | Legacy alias for `GATEWAY_CHANNEL_ID` (still supported) | Same value as above; migrate to `GATEWAY_CHANNEL_ID` over time. |
109115

110116
### Slack Broker Registration (optional)
111117

112118
Set by `sudo baudbot broker register` when using brokered Slack OAuth flow.
113119

114120
| Variable | Description |
115121
|----------|-------------|
116-
| `SLACK_BROKER_URL` | Broker base URL |
117-
| `SLACK_BROKER_WORKSPACE_ID` | Slack workspace/team ID (`T...`) |
118-
| `SLACK_BROKER_SERVER_PRIVATE_KEY` | Server X25519 private key (base64) |
119-
| `SLACK_BROKER_SERVER_PUBLIC_KEY` | Server X25519 public key (base64) |
120-
| `SLACK_BROKER_SERVER_SIGNING_PRIVATE_KEY` | Server Ed25519 private signing key (base64) |
121-
| `SLACK_BROKER_SERVER_SIGNING_PUBLIC_KEY` | Server Ed25519 public signing key (base64) |
122-
| `SLACK_BROKER_PUBLIC_KEY` | Broker X25519 public key (base64) |
123-
| `SLACK_BROKER_SIGNING_PUBLIC_KEY` | Broker Ed25519 public signing key (base64) |
124-
| `SLACK_BROKER_ACCESS_TOKEN` | Broker-issued bearer token for broker API auth (required for broker pull mode runtime) |
125-
| `SLACK_BROKER_ACCESS_TOKEN_EXPIRES_AT` | ISO timestamp for broker token expiry (recommended; runtime exits if expired) |
126-
| `SLACK_BROKER_ACCESS_TOKEN_SCOPES` | Comma-separated broker token scopes |
122+
| `GATEWAY_BROKER_URL` | **Preferred** broker base URL |
123+
| `SLACK_BROKER_URL` | Legacy alias for `GATEWAY_BROKER_URL` (still supported) |
124+
| `GATEWAY_BROKER_WORKSPACE_ID` | **Preferred** Slack workspace/team ID (`T...`) |
125+
| `SLACK_BROKER_WORKSPACE_ID` | Legacy alias for `GATEWAY_BROKER_WORKSPACE_ID` |
126+
| `GATEWAY_BROKER_SERVER_PRIVATE_KEY` | **Preferred** server X25519 private key (base64) |
127+
| `SLACK_BROKER_SERVER_PRIVATE_KEY` | Legacy alias for `GATEWAY_BROKER_SERVER_PRIVATE_KEY` |
128+
| `GATEWAY_BROKER_SERVER_PUBLIC_KEY` | **Preferred** server X25519 public key (base64) |
129+
| `SLACK_BROKER_SERVER_PUBLIC_KEY` | Legacy alias for `GATEWAY_BROKER_SERVER_PUBLIC_KEY` |
130+
| `GATEWAY_BROKER_SERVER_SIGNING_PRIVATE_KEY` | **Preferred** server Ed25519 private signing key (base64) |
131+
| `SLACK_BROKER_SERVER_SIGNING_PRIVATE_KEY` | Legacy alias for `GATEWAY_BROKER_SERVER_SIGNING_PRIVATE_KEY` |
132+
| `GATEWAY_BROKER_SERVER_SIGNING_PUBLIC_KEY` | **Preferred** server Ed25519 public signing key (base64) |
133+
| `SLACK_BROKER_SERVER_SIGNING_PUBLIC_KEY` | Legacy alias for `GATEWAY_BROKER_SERVER_SIGNING_PUBLIC_KEY` |
134+
| `GATEWAY_BROKER_PUBLIC_KEY` | **Preferred** broker X25519 public key (base64) |
135+
| `SLACK_BROKER_PUBLIC_KEY` | Legacy alias for `GATEWAY_BROKER_PUBLIC_KEY` |
136+
| `GATEWAY_BROKER_SIGNING_PUBLIC_KEY` | **Preferred** broker Ed25519 public signing key (base64) |
137+
| `SLACK_BROKER_SIGNING_PUBLIC_KEY` | Legacy alias for `GATEWAY_BROKER_SIGNING_PUBLIC_KEY` |
138+
| `GATEWAY_BROKER_ACCESS_TOKEN` | **Preferred** broker-issued bearer token for broker API auth (required for broker pull mode runtime) |
139+
| `SLACK_BROKER_ACCESS_TOKEN` | Legacy alias for `GATEWAY_BROKER_ACCESS_TOKEN` |
140+
| `GATEWAY_BROKER_ACCESS_TOKEN_EXPIRES_AT` | **Preferred** ISO timestamp for broker token expiry (runtime exits if expired) |
141+
| `SLACK_BROKER_ACCESS_TOKEN_EXPIRES_AT` | Legacy alias for `GATEWAY_BROKER_ACCESS_TOKEN_EXPIRES_AT` |
142+
| `GATEWAY_BROKER_ACCESS_TOKEN_SCOPES` | **Preferred** comma-separated broker token scopes |
143+
| `SLACK_BROKER_ACCESS_TOKEN_SCOPES` | Legacy alias for `GATEWAY_BROKER_ACCESS_TOKEN_SCOPES` |
127144
| `GITHUB_IGNORED_USERS` | Optional comma-separated GitHub logins to ignore when forwarding broker GitHub events (`baudbot-agent` is always ignored) |
128-
| `SLACK_BROKER_POLL_INTERVAL_MS` | Inbox poll interval in milliseconds (default: `3000`) |
129-
| `SLACK_BROKER_MAX_MESSAGES` | Max leased messages per poll request (default: `10`) |
130-
| `SLACK_BROKER_WAIT_SECONDS` | Long-poll wait window for `/api/inbox/pull` (default: `20`, set `0` for immediate short-poll, max `25`) |
131-
| `SLACK_BROKER_DEDUPE_TTL_MS` | Dedupe cache TTL in milliseconds (default: `1200000`) |
145+
| `GATEWAY_BROKER_POLL_INTERVAL_MS` | **Preferred** inbox poll interval in milliseconds (default: `3000`) |
146+
| `SLACK_BROKER_POLL_INTERVAL_MS` | Legacy alias for `GATEWAY_BROKER_POLL_INTERVAL_MS` |
147+
| `GATEWAY_BROKER_MAX_MESSAGES` | **Preferred** max leased messages per poll request (default: `10`) |
148+
| `SLACK_BROKER_MAX_MESSAGES` | Legacy alias for `GATEWAY_BROKER_MAX_MESSAGES` |
149+
| `GATEWAY_BROKER_WAIT_SECONDS` | **Preferred** long-poll wait window for `/api/inbox/pull` (default: `20`, set `0` for immediate short-poll, max `25`) |
150+
| `SLACK_BROKER_WAIT_SECONDS` | Legacy alias for `GATEWAY_BROKER_WAIT_SECONDS` |
151+
| `GATEWAY_BROKER_DEDUPE_TTL_MS` | **Preferred** dedupe cache TTL in milliseconds (default: `1200000`) |
152+
| `SLACK_BROKER_DEDUPE_TTL_MS` | Legacy alias for `GATEWAY_BROKER_DEDUPE_TTL_MS` |
132153
| `BAUDBOT_AGENT_VERSION` | Optional override for broker observability `meta.agent_version` (otherwise read from `~/.pi/agent/baudbot-version.json` when available) |
133154

155+
If both alias forms are set, `GATEWAY_BROKER_*` takes precedence.
156+
134157
Broker mode also emits best-effort context usage telemetry in inbox pull `meta` by reading `~/.pi/agent/context-usage.json` (written by the `context` extension on session start/turn end/tool results).
135158

136159
### Kernel (Cloud Browsers)
@@ -223,25 +246,25 @@ ANTHROPIC_API_KEY=sk-ant-...
223246

224247
# GitHub: authenticate with `sudo -u baudbot_agent gh auth login`
225248

226-
# Slack
227-
SLACK_BOT_TOKEN=xoxb-...
228-
SLACK_APP_TOKEN=xapp-...
229-
SLACK_ALLOWED_USERS=U01ABCDEF,U02GHIJKL
249+
# Gateway bridge (legacy SLACK_* aliases are still supported)
250+
GATEWAY_BOT_TOKEN=xoxb-...
251+
GATEWAY_APP_TOKEN=xapp-...
252+
GATEWAY_ALLOWED_USERS=U01ABCDEF,U02GHIJKL
230253
SENTRY_CHANNEL_ID=C0987654321
231254

232-
# Slack broker registration (optional, set by: sudo baudbot broker register)
233-
SLACK_BROKER_URL=https://broker.example.com
234-
SLACK_BROKER_WORKSPACE_ID=T0123ABCD
255+
# Gateway broker registration (optional, set by: sudo baudbot broker register)
256+
GATEWAY_BROKER_URL=https://broker.example.com
257+
GATEWAY_BROKER_WORKSPACE_ID=T0123ABCD
235258
# Optional broker auth token fields (set by broker register when provided)
236-
# SLACK_BROKER_ACCESS_TOKEN=...
237-
# SLACK_BROKER_ACCESS_TOKEN_EXPIRES_AT=2026-02-22T22:15:00.000Z
238-
# SLACK_BROKER_ACCESS_TOKEN_SCOPES=slack.send,inbox.pull,inbox.ack
259+
# GATEWAY_BROKER_ACCESS_TOKEN=...
260+
# GATEWAY_BROKER_ACCESS_TOKEN_EXPIRES_AT=2026-02-22T22:15:00.000Z
261+
# GATEWAY_BROKER_ACCESS_TOKEN_SCOPES=slack.send,inbox.pull,inbox.ack
239262
# Optional GitHub bot/user filters for broker-delivered GitHub webhook events
240263
# GITHUB_IGNORED_USERS=dependabot[bot],renovate[bot]
241-
SLACK_BROKER_POLL_INTERVAL_MS=3000
242-
SLACK_BROKER_MAX_MESSAGES=10
243-
SLACK_BROKER_WAIT_SECONDS=20
244-
SLACK_BROKER_DEDUPE_TTL_MS=1200000
264+
GATEWAY_BROKER_POLL_INTERVAL_MS=3000
265+
GATEWAY_BROKER_MAX_MESSAGES=10
266+
GATEWAY_BROKER_WAIT_SECONDS=20
267+
GATEWAY_BROKER_DEDUPE_TTL_MS=1200000
245268

246269
# Experimental features (required for email)
247270
# BAUDBOT_EXPERIMENTAL=1

bin/config.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,8 +574,8 @@ fi
574574

575575
# ── Validation ───────────────────────────────────────────────────────────────
576576

577-
if [ -z "${ENV_VARS[SLACK_ALLOWED_USERS]:-}" ]; then
578-
warn "SLACK_ALLOWED_USERS not set — all workspace members will be allowed"
577+
if [ -z "${ENV_VARS[GATEWAY_ALLOWED_USERS]:-${ENV_VARS[SLACK_ALLOWED_USERS]:-}}" ]; then
578+
warn "GATEWAY_ALLOWED_USERS/SLACK_ALLOWED_USERS not set — all workspace members will be allowed"
579579
fi
580580

581581
# ── Write config ─────────────────────────────────────────────────────────────

0 commit comments

Comments
 (0)