SYMBOL INDEX (36 symbols across 4 files) FILE: scripts/cdp-proxy.mjs constant PORT (line 13) | const PORT = parseInt(process.env.CDP_PROXY_PORT || '3456'); function discoverChromePort (line 36) | async function discoverChromePort() { function checkPort (line 95) | function checkPort(port) { function getWebSocketUrl (line 104) | function getWebSocketUrl(port, wsPath) { function connect (line 114) | async function connect() { function sendCDP (line 202) | function sendCDP(method, params = {}, sessionId = null) { function ensureSession (line 222) | async function ensureSession(targetId) { function enablePortGuard (line 237) | async function enablePortGuard(sessionId) { function waitForLoad (line 251) | async function waitForLoad(sessionId, timeoutMs = 15000) { function readBody (line 281) | async function readBody(req) { function checkPortAvailable (line 555) | function checkPortAvailable(port) { function main (line 564) | async function main() { FILE: scripts/check-deps.mjs constant ROOT (line 11) | const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ... constant PROXY_SCRIPT (line 12) | const PROXY_SCRIPT = path.join(ROOT, 'scripts', 'cdp-proxy.mjs'); constant PROXY_PORT (line 13) | const PROXY_PORT = Number(process.env.CDP_PROXY_PORT || 3456); function checkNode (line 17) | function checkNode() { function checkPort (line 29) | function checkPort(port, host = '127.0.0.1', timeoutMs = 2000) { function activePortFiles (line 40) | function activePortFiles() { function detectChromePort (line 65) | async function detectChromePort() { function httpGetJson (line 87) | function httpGetJson(url, timeoutMs = 3000) { function startProxyDetached (line 95) | function startProxyDetached() { function ensureProxy (line 107) | async function ensureProxy() { function main (line 143) | async function main() { FILE: scripts/find-url.mjs function parseArgs (line 27) | function parseArgs(argv) { function parseSince (line 45) | function parseSince(s) { function die (line 58) | function die(msg) { console.error(msg); process.exit(1); } function printUsage (line 59) | function printUsage() { console.error(fs.readFileSync(new URL(import.met... function getChromeDataDir (line 62) | function getChromeDataDir() { function listProfiles (line 73) | function listProfiles(dataDir) { function searchBookmarks (line 84) | function searchBookmarks(profileDir, profileName, keywords) { constant WEBKIT_EPOCH_DIFF_US (line 111) | const WEBKIT_EPOCH_DIFF_US = 11644473600000000n; function searchHistory (line 113) | function searchHistory(profileDir, profileName, keywords, since, limit, ... function printBookmarks (line 155) | function printBookmarks(items, multiProfile) { function printHistory (line 165) | function printHistory(items, multiProfile, sortLabel) { FILE: scripts/match-site.mjs constant ROOT (line 10) | const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ... constant PATTERNS_DIR (line 11) | const PATTERNS_DIR = path.join(ROOT, 'references', 'site-patterns');