Summary
Extend [line] beyond the trust fields (#1365) to cover ALL LINE settings, per the config-first invariant: [line] config → LINE_* env → default. Config always wins; env is fallback only.
Fields to add
| Field |
Env fallback |
Notes |
channel_secret |
LINE_CHANNEL_SECRET |
L1 webhook HMAC key — once config-supplied, the #1373 L1 warning must account for it (bridge to gateway AppState) |
channel_access_token |
LINE_CHANNEL_ACCESS_TOKEN |
Reply/Push API + media download |
webhook_path |
— (currently hardcoded /webhook/line) |
Bring in line with other platforms |
Tasks
Refs
Umbrella: #1375 · Reference pattern: TelegramConfig (#1297) · Trust slice: #1365 · L1 warning: #1373
Summary
Extend
[line]beyond the trust fields (#1365) to cover ALL LINE settings, per the config-first invariant:[line]config →LINE_*env → default. Config always wins; env is fallback only.Fields to add
channel_secretLINE_CHANNEL_SECRETAppState)channel_access_tokenLINE_CHANNEL_ACCESS_TOKENwebhook_path/webhook/line)Tasks
LineConfig+ResolvedLinewith per-fieldresolve()(empty-string${}expansion treated as unset — followTelegramConfig::resolve)AppState::apply_line_config()(mirrorGatewayTelegramConfig/apply_telegram_config; keeps openab-gateway free of openab-core dependency)warn_unenforceable_l1[line]as primary, env as fallbackRefs
Umbrella: #1375 · Reference pattern:
TelegramConfig(#1297) · Trust slice: #1365 · L1 warning: #1373