feat(extensions): improve auth UX and add load-time validation (#536)

* feat(extensions): add load-time validation for auth capabilities

Catch common misconfigurations (missing auth section, missing setup_url,
short prompts) at startup via tracing::warn instead of silently failing
at auth time.

* feat(extensions): improve auth prompts, setup_url, and showAuthCard

Add setup_url and descriptive prompts to channel and tool capabilities
files. Fix showAuthCard in web gateway and improve extension manager
auth flow messaging.

* refactor(extensions): extract MIN_PROMPT_LENGTH constant in validate()

Address review feedback: replace magic number 30 with a named constant
for readability and maintainability.

[skip-regression-check]

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
This commit is contained in:
Pierre LE GUEN
2026-03-04 13:57:10 -08:00
committed by GitHub
co-authored by Claude Opus 4.6
parent cbcd5adcc0
commit 13697976db
11 changed files with 228 additions and 13 deletions
+2 -2
View File
@@ -2110,7 +2110,7 @@ impl ExtensionManager {
auth_url: None,
callback_type: None,
instructions: Some(next.prompt.clone()),
setup_url: cap_file.setup.validation_endpoint.clone(),
setup_url: cap_file.setup.setup_url.clone(),
awaiting_token: true,
status: "awaiting_token".to_string(),
});
@@ -2124,7 +2124,7 @@ impl ExtensionManager {
auth_url: None,
callback_type: None,
instructions: Some(secret.prompt.clone()),
setup_url: cap_file.setup.validation_endpoint.clone(),
setup_url: cap_file.setup.setup_url.clone(),
awaiting_token: true,
status: "awaiting_token".to_string(),
})