mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-08-25 14:53:34 +00:00
Add setup.required_secrets to tool capabilities.json files so users can configure OAuth client credentials (Google, Slack, Okta, Telegram) through the Extensions UI Setup modal instead of environment variables. - Add ToolSetupSchema/ToolSecretSetupSchema types to capabilities_schema.rs - Extend get_setup_schema(), save_setup_secrets(), list() to handle WasmTool - Extract load_tool_capabilities() helper to reduce duplication - Auto-activate tools after saving setup secrets - Show display_name labels (Channel/Tool/MCP) in extension cards - Update button labels: "Setup" when unconfigured, "Reconfigure" when set - Replace "Set" badge with checkmark in configure modal - Fix innerHTML XSS pattern in slash autocomplete (use textContent) - Add tests for ToolSetupSchema parsing and resolve_nested promotion - Update registry display names (e.g. "Telegram Channel" vs "Telegram Tool") Co-authored-by: Claude Sonnet 4.6 <[email protected]>
58 lines
1.4 KiB
JSON
58 lines
1.4 KiB
JSON
{
|
|
"http": {
|
|
"allowlist": [
|
|
{
|
|
"host": "slides.googleapis.com",
|
|
"path_prefix": "/v1/presentations",
|
|
"methods": ["GET", "POST"]
|
|
}
|
|
],
|
|
"credentials": {
|
|
"google_oauth_token": {
|
|
"secret_name": "google_oauth_token",
|
|
"location": { "type": "bearer" },
|
|
"host_patterns": ["slides.googleapis.com"]
|
|
}
|
|
},
|
|
"rate_limit": {
|
|
"requests_per_minute": 60,
|
|
"requests_per_hour": 500
|
|
},
|
|
"timeout_secs": 30
|
|
},
|
|
"secrets": {
|
|
"allowed_names": ["google_oauth_token"]
|
|
},
|
|
"auth": {
|
|
"secret_name": "google_oauth_token",
|
|
"display_name": "Google",
|
|
"oauth": {
|
|
"authorization_url": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
"token_url": "https://oauth2.googleapis.com/token",
|
|
"client_id_env": "GOOGLE_OAUTH_CLIENT_ID",
|
|
"client_secret_env": "GOOGLE_OAUTH_CLIENT_SECRET",
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/presentations"
|
|
],
|
|
"use_pkce": false,
|
|
"extra_params": {
|
|
"access_type": "offline",
|
|
"prompt": "consent"
|
|
}
|
|
},
|
|
"env_var": "GOOGLE_OAUTH_TOKEN"
|
|
},
|
|
"setup": {
|
|
"required_secrets": [
|
|
{
|
|
"name": "google_oauth_client_id",
|
|
"prompt": "Google OAuth Client ID (from console.cloud.google.com/apis/credentials)"
|
|
},
|
|
{
|
|
"name": "google_oauth_client_secret",
|
|
"prompt": "Google OAuth Client Secret"
|
|
}
|
|
]
|
|
}
|
|
}
|