Drop @core-js/pure from the language server.

basedpyright imports four polyfills from core-js 4.0.0-alpha.1, whose
"experimental version license" allows non-commercial, experimental use
only and expires with core-js 4 stable. Every one of them is native in
the Node.js this package requires (>=22):

  at(arr, i)          -> arr.at(i)             (Node 16.6)
  toSpliced(arr, ...) -> arr.toSpliced(...)    (Node 20)
  core-js Set         -> the global Set, whose union() is native (Node 22)

The tsconfig "types" entry that pulled in @core-js/types becomes "node",
and "lib" gains the ES2022/ES2023 array and ES2025 collection
declarations for those methods. es2025.collection rather than
esnext.collection: the latter also declares Map.getOrInsert, which
UriMap does not implement.

--- a/packages/pyright-internal/src/languageServerBase.ts
+++ b/packages/pyright-internal/src/languageServerBase.ts
@@ -171,7 +171,6 @@
 import { findNodeByOffset } from './analyzer/parseTreeUtils';
 import { ParseNodeType } from './parser/parseNodes';
 import { StringTokenFlags } from './parser/tokenizerTypes';
-import toSpliced from '@core-js/pure/es/array/to-spliced';
 
 const UncomputedDiagnosticsVersion = -1;
 
@@ -1408,9 +1407,7 @@
         if (changeStructure) {
             const previousCells = [...openCells];
 
-            const newCells = toSpliced(
-                // @ts-expect-error https://github.com/zloirock/core-js/issues/1532
-                openCells,
+            const newCells = openCells.toSpliced(
                 changeStructure.array.start,
                 changeStructure.array.deleteCount,
                 ...(changeStructure.array.cells?.map((changedTextDocumentItem) => {
--- a/packages/pyright-internal/src/languageService/codeActionProvider.ts
+++ b/packages/pyright-internal/src/languageService/codeActionProvider.ts
@@ -33,7 +33,6 @@
 import { FunctionType, isOverloaded, OverloadedType } from '../analyzer/types';
 import { ParseFileResults } from '../parser/parser';
 import { FileSystem } from '../common/fileSystem';
-import at from '@core-js/pure/es/array/at';
 
 export class CodeActionProvider {
     static mightSupport(kinds: CodeActionKind[] | undefined): boolean {
@@ -177,7 +176,7 @@
             let positionCharacter: number;
             let insertText: string;
             if (existingIgnoreComment) {
-                const lastRuleTextRange = at(existingIgnoreComment.rulesList, -1)?.range;
+                const lastRuleTextRange = existingIgnoreComment.rulesList.at(-1)?.range;
                 if (!lastRuleTextRange) {
                     continue;
                 }
--- a/packages/pyright-internal/src/languageService/completionProvider.ts
+++ b/packages/pyright-internal/src/languageService/completionProvider.ts
@@ -145,7 +145,6 @@
 import { ImportGroup } from '../analyzer/importStatementUtils';
 import { TextEditAction } from '../common/editAction';
 import { isMethodExemptFromLsp } from '../analyzer/constructors';
-import Set from '@core-js/pure/full/set';
 
 namespace Keywords {
     const base: string[] = [
--- a/packages/pyright-internal/src/languageService/implementationProvider.ts
+++ b/packages/pyright-internal/src/languageService/implementationProvider.ts
@@ -27,7 +27,6 @@
 import { createDocRangeDefault, deduplicateLocations, prepareFinder } from './navigationUtils';
 import { LanguageServerInterface } from '../common/languageServerInterface';
 import { ParseTreeWalker } from '../analyzer/parseTreeWalker';
-import at from '@core-js/pure/es/array/at';
 
 export type ImplementationCallback = (locations: DocumentRange[]) => void;
 
@@ -130,7 +129,7 @@
         // there might be more than 1 nonImportDeclarations.
         // But I think it'll work ok even if there's more than 1,
         // because assignability to all of their classes should be the same.
-        const declaration = at(declarationResult.nonImportDeclarations, 0);
+        const declaration = declarationResult.nonImportDeclarations.at(0);
         if (!declaration) {
             return;
         }
--- a/packages/pyright-internal/tsconfig.json
+++ b/packages/pyright-internal/tsconfig.json
@@ -2,7 +2,7 @@
     "extends": "../../tsconfig.json",
     "compilerOptions": {
         "types": [
-            "@core-js/types/pure"
+            "node"
         ],
         "outDir": "./out",
         "rootDir": "../..",
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -4,10 +4,13 @@
         "module": "node16",
         "lib": [
             "es2020",
+            "es2022.array",
+            "es2023.array",
+            "es2025.collection",
             "esnext.disposable"
         ],
         "types": [
-            "@core-js/types/pure"
+            "node"
         ],
         "skipLibCheck": true,
         "esModuleInterop": true,
