{"record":{"id":"8a56eacca2afaee2","repo":"microsoft/typescript-go","slug":"invalid-json-rpc-version","errorCode":null,"errorMessage":"invalid JSON-RPC version","messagePattern":"invalid JSON-RPC version","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/jsonrpc/jsonrpc.go","lineNumber":22,"sourceCode":"\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"strconv\"\n\n\t\"github.com/microsoft/typescript-go/internal/json\"\n)\n\n// JSONRPCVersion represents the JSON-RPC version field, always \"2.0\".\ntype JSONRPCVersion struct{}\n\nconst jsonRPCVersion = `\"2.0\"`\n\nfunc (JSONRPCVersion) MarshalJSON() ([]byte, error) {\n\treturn []byte(jsonRPCVersion), nil\n}\n\nvar ErrInvalidJSONRPCVersion = errors.New(\"invalid JSON-RPC version\")\n\nfunc (*JSONRPCVersion) UnmarshalJSON(data []byte) error {\n\tif string(data) != jsonRPCVersion {\n\t\treturn ErrInvalidJSONRPCVersion\n\t}\n\treturn nil\n}\n\n// ID represents a JSON-RPC message ID, which can be either a string or integer.\ntype ID struct {\n\tstr string\n\tint int32\n}\n\n// NewID creates an ID from an IntegerOrString value.\nfunc NewID(rawValue IntegerOrString) *ID {\n\tif rawValue.String != nil {\n\t\treturn &ID{str: *rawValue.String}","sourceCodeStart":4,"sourceCodeEnd":40,"githubUrl":"https://github.com/microsoft/typescript-go/blob/1bcfa18d79a3be41772223d5c05dfe4480e614ff/internal/jsonrpc/jsonrpc.go#L4-L40","documentation":"Error \"invalid JSON-RPC version\" thrown in microsoft/typescript-go.","triggerScenarios":"Thrown at internal/jsonrpc/jsonrpc.go:22 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1bcfa18d79a3be41772223d5c05dfe4480e614ff","analyzedAt":"2026-08-16T02:12:00.115Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}