SYMBOL INDEX (110 symbols across 11 files) FILE: lib/public/js/components/channels.js constant ALL_CHANNELS (line 35) | const ALL_CHANNELS = ["telegram", "discord", "slack", "whatsapp"]; FILE: lib/public/js/components/pairings.js constant ALL_CHANNELS (line 66) | const ALL_CHANNELS = ['telegram', 'discord', 'slack', 'whatsapp']; function Pairings (line 77) | function Pairings({ FILE: lib/public/js/components/scope-picker.js constant SERVICES (line 6) | const SERVICES = [ constant API_ENABLE_URLS (line 17) | const API_ENABLE_URLS = { function getApiEnableUrl (line 28) | function getApiEnableUrl(svc) { function ScopePicker (line 32) | function ScopePicker({ scopes, onToggle, apiStatus, loading }) { function toggleScopeLogic (line 80) | function toggleScopeLogic(scopes, scope) { function getDefaultScopes (line 99) | function getDefaultScopes() { FILE: lib/public/js/components/toast.js function showToast (line 35) | function showToast(text, type = "info") { function ToastContainer (line 39) | function ToastContainer({ FILE: lib/public/js/lib/api.js function fetchStatus (line 63) | async function fetchStatus() { function fetchPairings (line 68) | async function fetchPairings() { function approvePairing (line 73) | async function approvePairing(id, channel, accountId = "") { function rejectPairing (line 82) | async function rejectPairing(id, channel, accountId = "") { function fetchGoogleAccounts (line 91) | async function fetchGoogleAccounts() { function fetchGoogleStatus (line 96) | async function fetchGoogleStatus(accountId = "") { function fetchGoogleCredentials (line 104) | async function fetchGoogleCredentials({ function checkGoogleApis (line 116) | async function checkGoogleApis(accountId = "") { function saveGoogleCredentials (line 124) | async function saveGoogleCredentials({ function saveGoogleAccount (line 149) | async function saveGoogleAccount({ function disconnectGoogle (line 164) | async function disconnectGoogle(accountId = "") { function restartGateway (line 339) | async function restartGateway() { function fetchRestartStatus (line 344) | async function fetchRestartStatus() { function dismissRestartStatus (line 349) | async function dismissRestartStatus() { function fetchWatchdogStatus (line 356) | async function fetchWatchdogStatus() { function fetchUsageSummary (line 361) | async function fetchUsageSummary(days = 30) { function fetchUsageSessions (line 367) | async function fetchUsageSessions(limit = 50) { function fetchUsageSessionDetail (line 373) | async function fetchUsageSessionDetail(sessionId) { function fetchUsageSessionTimeSeries (line 380) | async function fetchUsageSessionTimeSeries(sessionId, maxPoints = 100) { function fetchWatchdogEvents (line 389) | async function fetchWatchdogEvents(limit = 20) { function fetchWatchdogLogs (line 396) | async function fetchWatchdogLogs(tail = 65536) { function createWatchdogTerminalSession (line 404) | async function createWatchdogTerminalSession() { function fetchWatchdogTerminalOutput (line 411) | async function fetchWatchdogTerminalOutput(sessionId, cursor = 0) { function sendWatchdogTerminalInput (line 420) | async function sendWatchdogTerminalInput(sessionId, input = "") { function closeWatchdogTerminalSession (line 432) | async function closeWatchdogTerminalSession(sessionId) { function triggerWatchdogRepair (line 443) | async function triggerWatchdogRepair() { function fetchWatchdogResources (line 448) | async function fetchWatchdogResources() { function fetchWatchdogSettings (line 453) | async function fetchWatchdogSettings() { function updateWatchdogSettings (line 458) | async function updateWatchdogSettings(settings) { function fetchDashboardUrl (line 467) | async function fetchDashboardUrl() { function fetchAlphaclawVersion (line 472) | async function fetchAlphaclawVersion(refresh = false) { function fetchAlphaclawReleaseNotes (line 478) | async function fetchAlphaclawReleaseNotes(tag = "") { function updateAlphaclaw (line 514) | async function updateAlphaclaw() { function fetchSyncCron (line 519) | async function fetchSyncCron() { function updateSyncCron (line 534) | async function updateSyncCron(payload) { function fetchCronJobs (line 553) | async function fetchCronJobs({ sortBy = "nextRunAtMs", sortDir = "asc" }... function fetchCronStatus (line 562) | async function fetchCronStatus() { function fetchCronJobRuns (line 567) | async function fetchCronJobRuns( function fetchCronJobUsage (line 591) | async function fetchCronJobUsage(id, { days = 30 } = {}) { function fetchCronJobTrends (line 598) | async function fetchCronJobTrends(id, { range = "7d" } = {}) { function fetchCronBulkUsage (line 605) | async function fetchCronBulkUsage({ days = 30 } = {}) { function fetchCronBulkRuns (line 611) | async function fetchCronBulkRuns({ function triggerCronJobRun (line 629) | async function triggerCronJobRun(id) { function setCronJobEnabled (line 635) | async function setCronJobEnabled(id, enabled) { function updateCronJobPrompt (line 644) | async function updateCronJobPrompt(id, message) { function updateCronJobRouting (line 654) | async function updateCronJobRouting( function fetchDevicePairings (line 679) | async function fetchDevicePairings() { function approveDevice (line 684) | async function approveDevice(id) { function rejectDevice (line 690) | async function rejectDevice(id) { function fetchOnboardStatus (line 797) | async function fetchOnboardStatus() { function runOnboard (line 802) | async function runOnboard(vars, modelKey, { importMode = false } = {}) { function verifyGithubOnboardingRepo (line 811) | async function verifyGithubOnboardingRepo(repo, token, mode = "new") { function scanImportRepo (line 820) | async function scanImportRepo(tempDir) { function applyImport (line 829) | async function applyImport({ function fetchEnvVars (line 1109) | async function fetchEnvVars() { function saveEnvVars (line 1114) | async function saveEnvVars(vars) { function fetchWebhooks (line 1147) | async function fetchWebhooks() { function fetchWebhookDetail (line 1152) | async function fetchWebhookDetail(name) { function createWebhook (line 1157) | async function createWebhook( function deleteWebhook (line 1173) | async function deleteWebhook(name, { deleteTransformDir = false } = {}) { function updateWebhookDestination (line 1182) | async function updateWebhookDestination(name, { destination = null } = {... function createWebhookOauthCallback (line 1196) | async function createWebhookOauthCallback(name) { function rotateWebhookOauthCallback (line 1206) | async function rotateWebhookOauthCallback(name) { function deleteWebhookOauthCallback (line 1216) | async function deleteWebhookOauthCallback(name) { function fetchWebhookRequests (line 1226) | async function fetchWebhookRequests( function fetchWebhookRequest (line 1241) | async function fetchWebhookRequest(name, id) { FILE: lib/server/constants.js constant ALPHACLAW_DIR (line 10) | const ALPHACLAW_DIR = kRootDir; constant PORT (line 15) | const PORT = parseInt(process.env.PORT || "3000", 10); constant GATEWAY_HOST (line 17) | const GATEWAY_HOST = "127.0.0.1"; constant OPENCLAW_DIR (line 19) | const OPENCLAW_DIR = path.join(kRootDir, ".openclaw"); constant GATEWAY_TOKEN (line 20) | const GATEWAY_TOKEN = process.env.OPENCLAW_GATEWAY_TOKEN || ""; constant ENV_FILE_PATH (line 21) | const ENV_FILE_PATH = path.join(kRootDir, ".env"); constant WORKSPACE_DIR (line 22) | const WORKSPACE_DIR = path.join(OPENCLAW_DIR, "workspace"); constant AUTH_PROFILES_PATH (line 24) | const AUTH_PROFILES_PATH = path.join( constant CODEX_PROFILE_ID (line 31) | const CODEX_PROFILE_ID = "openai-codex:codex-cli"; constant CODEX_OAUTH_CLIENT_ID (line 32) | const CODEX_OAUTH_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann"; constant CODEX_OAUTH_AUTHORIZE_URL (line 33) | const CODEX_OAUTH_AUTHORIZE_URL = "https://auth.openai.com/oauth/authori... constant CODEX_OAUTH_TOKEN_URL (line 34) | const CODEX_OAUTH_TOKEN_URL = "https://auth.openai.com/oauth/token"; constant CODEX_OAUTH_REDIRECT_URI (line 35) | const CODEX_OAUTH_REDIRECT_URI = "http://localhost:1455/auth/callback"; constant CODEX_OAUTH_SCOPE (line 36) | const CODEX_OAUTH_SCOPE = "openid profile email offline_access"; constant CODEX_JWT_CLAIM_PATH (line 37) | const CODEX_JWT_CLAIM_PATH = "https://api.openai.com/auth"; constant SCOPE_MAP (line 313) | const SCOPE_MAP = { constant REVERSE_SCOPE_MAP (line 331) | const REVERSE_SCOPE_MAP = Object.fromEntries( constant BASE_SCOPES (line 334) | const BASE_SCOPES = [ constant GOG_CONFIG_DIR (line 339) | const GOG_CONFIG_DIR = path.join(OPENCLAW_DIR, "gogcli"); constant GOG_CREDENTIALS_PATH (line 340) | const GOG_CREDENTIALS_PATH = path.join(GOG_CONFIG_DIR, "credentials.json"); constant GOG_STATE_PATH (line 341) | const GOG_STATE_PATH = path.join(GOG_CONFIG_DIR, "state.json"); constant GOG_KEYRING_PASSWORD (line 342) | const GOG_KEYRING_PASSWORD = process.env.GOG_KEYRING_PASSWORD || "alphac... constant API_TEST_COMMANDS (line 363) | const API_TEST_COMMANDS = { constant SETUP_API_PREFIXES (line 391) | const SETUP_API_PREFIXES = [ FILE: lib/server/model-catalog-cache.js method getCatalogResponse (line 275) | async getCatalogResponse() { method markStale (line 323) | markStale() { FILE: tests/frontend/browse-draft-state.test.js method length (line 6) | get length() { FILE: tests/server/gateway.test.js method on (line 30) | on(event, handler) { FILE: tests/server/git-runtime.test.js method accessSync (line 13) | accessSync(targetPath) { method accessSync (line 31) | accessSync(targetPath) { FILE: tests/server/gmail-push.test.js method status (line 27) | status(code) { method json (line 31) | json(payload) { method send (line 35) | send(payload) {