{"record":{"id":"24ddd6ec8532caac","repo":"jackwener/OpenCLI","slug":"no-indexeddb-databases","errorCode":null,"errorMessage":"No IndexedDB databases.","messagePattern":"No IndexedDB databases\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"info","filePath":"clis/kimi/storage.js","lineNumber":165,"sourceCode":"    site: 'kimi',\n    name: 'idb-list',\n    access: 'read',\n    description: 'List IndexedDB databases on kimi.com.',\n    domain: KIMI_DOMAIN,\n    strategy: Strategy.COOKIE,\n    browser: true,\n    siteSession: 'persistent',\n    navigateBefore: false,\n    args: [],\n    columns: STORAGE_COLUMNS,\n    func: async (page) => {\n        await ensureOnKimi(page);\n        const dbs = await page.evaluate(`(async () => {\n      if (!indexedDB.databases) return [];\n      return await indexedDB.databases();\n    })()`);\n        if (!Array.isArray(dbs) || !dbs.length) {\n            throw new EmptyResultError('kimi idb-list', 'No IndexedDB databases.');\n        }\n        return dbs.map((d, i) => ({ Index: i + 1, Database: d.name || '(unnamed)', Version: String(d.version || '') }));\n    },\n});\n","sourceCodeStart":147,"sourceCodeEnd":170,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/kimi/storage.js#L147-L170","documentation":"EmptyResultError thrown by kimi idb-list when indexedDB.databases() returns an empty array, a non-array, or is unavailable (the script returns [] when indexedDB.databases is missing). It means no IndexedDB databases exist on the Kimi origin.","triggerScenarios":"Running `kimi storage idb-list` on a fresh Kimi origin where no IndexedDB has been created, in a browser/context lacking indexedDB.databases() (older browsers), or in a private/incognito context that blocks storage.","commonSituations":"Assuming Kimi uses IndexedDB when it stores everything in localStorage, running against a brand-new browser profile, or older WebView/browser versions without the databases() API.","solutions":["Confirm in DevTools (Application > IndexedDB) that databases exist on this origin","Check localStorage instead (kimi storage keys) if the app may not use IndexedDB","Upgrade the browser/automation context if indexedDB.databases is unavailable","Trigger the app feature that creates the database, then re-run the command"],"exampleFix":"// before\nawait kimi(['storage', 'idb-list']); // throws if no IDB\n// after\nconst keys = await kimi(['storage', 'keys']);\nif (keys.length) {\n  // data lives in web storage, not IndexedDB\n} else {\n  await kimi(['storage', 'idb-list']);\n}","handlingStrategy":"fallback","validationCode":"const keys = await kimi(['storage', 'keys']);\nif (keys.length) console.warn('data is in web storage, IndexedDB likely empty');","typeGuard":"const hasDatabases = (dbs) => Array.isArray(dbs) && dbs.length > 0;","tryCatchPattern":"try {\n  return await kimi(['storage', 'idb-list']);\n} catch (e) {\n  if (/No IndexedDB databases/.test(e.message)) {\n    // fall back to web storage inspection\n    return await kimi(['storage', 'keys']);\n  }\n  throw e;\n}","preventionTips":["Check DevTools Application > IndexedDB before automating","Inspect localStorage/sessionStorage first for Kimi data","Use a current browser version supporting indexedDB.databases()","Avoid incognito contexts that restrict storage"],"tags":["indexeddb","empty-result","kimi"],"backgroundTag":"empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}