{"record":{"id":"36f9d7c4ccd74413","repo":"SillyTavern/SillyTavern","slug":"account-id-missing","errorCode":"account_id_missing","errorMessage":"Vectors: Workers AI account ID missing","messagePattern":"Vectors: Workers AI account ID missing","errorType":"error_code","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"public/scripts/extensions/vectors/index.js","lineNumber":1117,"sourceCode":"            settings.source === 'llamacpp' && !textgenerationwebui_settings.server_urls[textgen_types.LLAMACPP]) {\n            throw new Error('Vectors: API URL missing', { cause: 'api_url_missing' });\n        }\n    }\n\n    if (settings.source === 'ollama' && !settings.ollama_model || settings.source === 'vllm' && !settings.vllm_model) {\n        throw new Error('Vectors: API model missing', { cause: 'api_model_missing' });\n    }\n\n    if (settings.source === 'extras' && !modules.includes('embeddings')) {\n        throw new Error('Vectors: Embeddings module missing', { cause: 'extras_module_missing' });\n    }\n\n    if (settings.source === 'webllm' && (!isWebLlmSupported() || !settings.webllm_model)) {\n        throw new Error('Vectors: WebLLM is not supported', { cause: 'webllm_not_supported' });\n    }\n\n    if (settings.source === 'workers_ai' && !oai_settings.workers_ai_account_id) {\n        throw new Error('Vectors: Workers AI account ID missing', { cause: 'account_id_missing' });\n    }\n}\n\n/**\n * Deletes vector items from a collection\n * @param {string} collectionId - The collection to delete from\n * @param {number[]} hashes - The hashes of the items to delete\n * @returns {Promise<void>}\n */\nasync function deleteVectorItems(collectionId, hashes) {\n    const args = await getAdditionalArgs([]);\n    const response = await fetch('/api/vector/delete', {\n        method: 'POST',\n        headers: getRequestHeaders(),\n        body: JSON.stringify({\n            ...getVectorsRequestBody(args),\n            collectionId: collectionId,\n            hashes: hashes,","sourceCodeStart":1099,"sourceCodeEnd":1135,"githubUrl":"https://github.com/SillyTavern/SillyTavern/blob/8172dcd0ee672d3cd9a5e5f7af134f91a45cd2b8/public/scripts/extensions/vectors/index.js#L1099-L1135","documentation":"Thrown when source is 'workers_ai' but oai_settings.workers_ai_account_id is empty. Cloudflare Workers AI routes are namespaced under an account ID, so without it the embed request cannot be formed.","triggerScenarios":"User picks Cloudflare Workers AI as the vector source but has not entered the Workers AI account ID in the OpenAI/connection settings.","commonSituations":"Workers AI API token set (satisfies the key check) but the separate account-ID field left blank; account ID field cleared on a settings import/reset.","solutions":["Enter your Cloudflare Workers AI account ID in the connection settings.","Find the account ID in the Cloudflare dashboard (right sidebar on the overview page).","Save and reload so oai_settings.workers_ai_account_id is populated."],"exampleFix":"null","handlingStrategy":"validation","validationCode":"if (settings.source === 'workers_ai' && !oai_settings.workers_ai_account_id) {\n  // block and prompt for the Cloudflare account ID\n}","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Require both the Workers AI token and the account ID before allowing that source.","Validate the account ID field is non-empty after settings import."],"tags":["configuration","cloudflare","embeddings","validation"],"backgroundTag":null,"analyzedSha":"8172dcd0ee672d3cd9a5e5f7af134f91a45cd2b8","analyzedAt":"2026-08-13T07:48:40.832Z","schemaVersion":2},"datasetVersion":"2026-08-13T09:17:06.757Z"}