{"record":{"id":"5c4feecc0bb45d1a","repo":"github/copilot-sdk","slug":"sessionfsconfig-declares-capabilities-sqlite-but-t","errorCode":null,"errorMessage":"SessionFsConfig declares capabilities.sqlite but the provider does not implement sqlite.","messagePattern":"SessionFsConfig declares capabilities\\.sqlite but the provider does not implement sqlite\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"nodejs/src/client.ts","lineNumber":826,"sourceCode":"            throw new Error(\"sessionFs.conventions must be either 'windows' or 'posix'\");\n        }\n    }\n\n    private setupSessionFs(\n        session: CopilotSession,\n        config: { createSessionFsProvider?: (session: CopilotSession) => SessionFsProvider }\n    ): void {\n        if (!this.sessionFsConfig) {\n            return;\n        }\n        if (!config.createSessionFsProvider) {\n            throw new Error(\n                \"createSessionFsProvider is required in session config when sessionFs is enabled in client options.\"\n            );\n        }\n        const provider = config.createSessionFsProvider(session);\n        if (this.sessionFsConfig.capabilities?.sqlite && !provider.sqlite) {\n            throw new Error(\n                \"SessionFsConfig declares capabilities.sqlite but the provider does not implement sqlite.\"\n            );\n        }\n        session.clientSessionApis.sessionFs = createSessionFsAdapter(provider);\n    }\n\n    private setupClientGlobalHandlers(): void {\n        const handlers: import(\"./generated/rpc.js\").ClientGlobalApiHandlers = {};\n        if (this.requestHandler) {\n            handlers.llmInference = createCopilotRequestAdapter(this.requestHandler, () => {\n                if (!this.connection) {\n                    return undefined;\n                }\n                this._rpc ??= createServerRpc(this.connection);\n                return this._rpc;\n            });\n        }\n        if (this.onGitHubTelemetry) {","sourceCodeStart":808,"sourceCodeEnd":844,"githubUrl":"https://github.com/github/copilot-sdk/blob/cd8cf15dc3f9e762615790aaed0a771a0f392755/nodejs/src/client.ts#L808-L844","documentation":"Capability negotiation failure during setupSessionFs: the SessionFsConfig declares sqlite: true, but the SessionFsProvider instance returned by createSessionFsProvider does not implement the sqlite methods the runtime would need. The client validates advertised capabilities against the provider before wiring it into the session.","triggerScenarios":"Thrown at nodejs/src/client.ts:826 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Implement the sqlite members on your SessionFsProvider so it satisfies the declared capability","Or remove 'sqlite' from the sessionFs capabilities if your provider only handles plain file storage","If you use a base/abstract provider class, make sure the sqlite method stubs are overridden, not left as unsupported"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cd8cf15dc3f9e762615790aaed0a771a0f392755","analyzedAt":"2026-09-09T18:32:31.973Z","contentChangedAt":"2026-09-09T18:32:31.973Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}