Commit Graph
39538 Commits
Author SHA1 Message Date
Andrew BranchandCopilot 194bdb3b5d Add one-shot platform comparison script and macOS instructions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 19:33:40 +00:00
Andrew BranchandCopilot 3b559013c5 Document autonomous API client performance follow-up
Adds OPUS-REPORT.md with every experiment's results, the recommended patch
series (opus-patches/, also a git bundle), timing and profile evidence under
evidence/opus/, latency microbenchmarks, and harness support for comparing
saved client/server builds (snapshot-build.mjs, compare-builds.mjs,
API_CLIENT_ROOT, server CPU accounting).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:38:14 +00:00
Andrew BranchandCopilot eb124fe8cc Poll for sync API messages briefly before blocking
Most synchronous API round trips are dominated by the scheduler wakeup latency
of blocking pipe reads rather than by the work done on either side. The sync
client now polls its non-blocking stdout pipe for up to
responsePollMicroseconds (default 100) before switching back to a blocking
read. The server can likewise poll for the next request when the client sets
serverRequestPollMicroseconds (--requestPollMicroseconds, default 0), at a
larger CPU cost since it polls while the client works between requests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:09:24 +00:00
Andrew BranchandCopilot c5f5be5e4b Materialize declaration node handles on first access
Symbols and signatures parsed every declaration handle into a NodeHandle as
soon as they were received, although most are never read. Keep the wire
strings and create the NodeHandles when declarations, valueDeclaration, or
declaration is first accessed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:09:24 +00:00
Andrew BranchandCopilot 5f2eab464d Identify source files by node ID in request node handles
Location handles sent by the client repeated the file's full path
("index.kind.path"). Nodes decoded from a server-encoded source file now send
"index.kind.#nodeID", using the source-file node ID already carried in the
encoded file, and the server resolves it through a lazily built per-program
index. IDs of files encoded for a client but absent from the requested program
fall back to path lookup, preserving resolution of nodes from compatible
standalone files. getNodeId and compiler-produced handles keep the path form.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:09:24 +00:00
Andrew BranchandCopilot 89c722c9a0 Accept compact project handles in API requests
Every checker request repeated the project's full ID (its config file path).
Project responses now include a short handle ("#N"), assigned from a
process-wide table, that the client sends instead; request decoding maps
handles back to project IDs. Full project IDs are still accepted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:09:24 +00:00
Andrew BranchandCopilot 4551280766 Omit zero-valued fields from type, symbol, and signature responses
encoding/json/v2 only omits empty JSON values for omitempty, so every
TypeResponse carried "objectFlags":0, "isTupleType":false, "value":null and
"isThisType":false, every SymbolResponse "checkFlags":0, and every
SignatureResponse "flags":0. Use omitzero and default the fields on the
client.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 17:51:29 +00:00
Andrew BranchandCopilot acac55ed1e Reuse scanners across astnav child and token materialization
createChildren allocated a fresh scanner for every node whose children were
materialized, and the token lookups (getTokenAtPosition, findNextToken,
findPrecedingToken) allocated one per query. Keep a per-source-file pool of
idle scanners (WeakMap<SourceFile, Scanner[]>): check out by popping or
creating, reset text/language variant on checkout, and in a finally block
clear comment directives and token state before returning the scanner.
Scanners are removed from the pool while in use, so nested or reentrant
traversals always get distinct scanners.

Add tests covering reuse across cached/repeated calls and token lookups,
nested child creation, exceptions during child creation, trivia/comment
directives/JSDoc state, exact token boundaries, and independent source files
with different language variants.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 17:51:10 +00:00
Andrew Branch 93c7fcbcd3 Clarify instructions 2026-10-12 22:44:26 +00:00
Andrew BranchandCopilot ced3277e6c Add temporary API client performance investigation handoff
Package frozen recommended-rules workload, profiling evidence, portable experiments, and a prioritized Codespace agent plan.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1f788673-154d-4aa8-9fcc-04d0d197442f
2026-10-09 12:25:10 -04:00
6ad8c56f9b Shared data symbols (#64691)
Co-authored-by: ahejlsberg <4226954+ahejlsberg@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-08 19:50:36 +00:00
Andrew Branch c0ca4744c9 [api] Prepare for beta release (#64681) 2026-10-08 15:21:24 +00:00
patrick kettner fed0bf2414 Move the getDocumentationForSymbol docstring onto the function (#64686) 2026-10-08 05:40:08 +00:00
Wesley Wigham ec47d33c23 Make computed property names always checked, regardless of parent grammar errors (#64674) 2026-10-07 23:11:24 +00:00
Gadzhi Gadzhiev a501b11f64 Index re-exporting modules for declaration emit (#64469) 2026-10-07 22:33:21 +00:00
Mateusz Burzyński 9055b58852 Fix workspace/symbol crash on an inferred project without a program (#64642) 2026-10-07 22:00:26 +00:00
CopilotandRyanCavanaugh 0bd74f77b2 Fix CommonJS export assignments for shadowed names in function-local loops (#64676)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
2026-10-07 21:07:33 +00:00
Oleksandr Tarasiuk 0ba5d992db fix(64665): fix emit crash for duplicate private names in decorated classes (#64670) 2026-10-07 20:48:41 +00:00
Oleksandr Tarasiuk bea2e849e9 fix(64627): reject deferred imports without namespace bindings (#64640) 2026-10-07 20:09:37 +00:00
Andrew Branch 4529d07ab5 [api] Expose API client modules from VS Code extension (#64647) 2026-10-07 19:28:28 +00:00
Wesley Wigham 91521cf229 Try to filter go compiler test files before reading them and building compiler tests (#64675) 2026-10-07 18:41:18 +00:00
Mateusz Burzyński 54f05ae22a Fix crashes on malformed destructuring assignments during emit (#64651) 2026-10-07 17:25:01 +00:00
Christopher Plieger d61a7d2359 [api] Skip disk-layout import diagnostics for customized module resolutions (#64638) 2026-10-06 23:09:58 +00:00
Christopher Plieger 09d4966578 [api] Report project reference diagnostics on programs without a config file (#64637) 2026-10-06 23:08:37 +00:00
Mateusz Burzyński c3f14c2fe8 Fix crash in decorator metadata emit for decorated object literal members (#64633) 2026-10-06 22:55:16 +00:00
Copilotandjakebailey 21b260b4e7 Exclude top-level imports from document symbols (#64160)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jakebailey <5341706+jakebailey@users.noreply.github.com>
2026-10-06 22:51:12 +00:00
Mateusz Burzyński 1a78786ca7 Fix flaky diagnostic added by emit for typeof import() type qualifiers (#64636) 2026-10-06 22:38:50 +00:00
auvred afd02f1486 Handle JSDocParameterTag in ast.GetTypeAnnotationNode (#64617) 2026-10-06 22:36:57 +00:00
Wesley Wigham 253bcd8623 Cache one nodebuilder per emit resolver, make emit resolver emit context scoped (#64649) 2026-10-06 22:22:19 +00:00
Jake Bailey de61e69621 Update DOM types (#64604) 2026-10-06 16:38:13 +00:00
Andrew BranchandCopilot fc636a691f [api] Stop dropping dispose Promises in the async API (#64584)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-06 16:27:32 +00:00
Wesley Wigham a1ef42b9ea Fix flaky diagnostic on JS constructor-defined properties (#64646) 2026-10-06 00:07:12 +00:00
Christopher Plieger ca197b7b85 Restart a file's imports when a later arrival lowers its node_modules depth (#64632) 2026-10-05 17:54:49 +00:00
Jake Bailey bcd7c42255 Fix idle cache clean timer never being stored on Session (#64624) 2026-10-05 17:10:43 +00:00
Jake Bailey 6b3da828d7 Remove legacy localization handbacks (#64620) 2026-10-05 16:59:52 +00:00
Anders Hejlsberg 50d70a3f5f Ensure stable ordering in getInferTypeParameters result (#64621) 2026-10-03 17:37:01 +00:00
Mateusz Burzyński f9f8d01292 Fixup misported TokensAreOnSameLine (#64597) 2026-10-03 04:11:13 +00:00
typescript-automation[bot]andJake Bailey cb72b2e17b Update localization files (#64608)
Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com>
Co-authored-by: typescript-automation[bot] <290192711+typescript-automation[bot]@users.noreply.github.com>
2026-10-03 03:35:18 +00:00
Jake Bailey ed4807212c Strongly type file paths (#64159) 2026-10-02 23:43:35 +00:00
Andrew BranchandCopilot Autofix powered by AI 7e5d1c1c1d Wrap all fsevents event-delivery tests in runWithRetry (#64607)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-02 21:28:58 +00:00
Andrew Branch d2f9dd68cf [api] Add various merged symbol checker methods (#64598) 2026-10-02 21:28:37 +00:00
Andrew Branch 0ad3777160 Allow other VS Code extensions to install LSP middleware on language feature responses (#64583) 2026-10-02 20:44:44 +00:00
dependabot[bot] dca8e236a2 Bump brace-expansion from 5.0.9 to 5.0.12 (#64562)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-02 18:36:39 +00:00
CopilotandRyanCavanaugh efbf3b5067 Enable JSX auto-insert in content-mapped files (#64572)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
2026-10-02 16:49:59 +00:00
iamawanishmauryaandiamawanishmaurya a4b1410230 Fix Array.at documentation: change 'code unit' to 'item' (#64536)
Co-authored-by: iamawanishmaurya <iamawanishmaurya@users.noreply.github.com>
2026-10-02 16:07:56 +00:00
Oleksandr Tarasiuk 2f9fd09a10 Support source phase imports (#63915) 2026-10-02 16:07:06 +00:00
Maksim RomanovandRyan Cavanaugh 09b1db0617 Elide empty named imports next to a default import under verbatimModuleSyntax (#64578)
Co-authored-by: Ryan Cavanaugh <RyanCavanaugh@users.noreply.github.com>
2026-10-01 23:56:38 +00:00
Jake Bailey 59f5b0233f Typed path prep bugfixes (#64544) 2026-10-01 23:32:08 +00:00
Ryan Cavanaugh 82f0546163 Update Security Information (#64577) 2026-10-01 20:41:56 +00:00
Oleksandr Tarasiuk bf00f213ff feat: add Promise.allKeyed and Promise.allSettledKeyed to esnext (#64093) 2026-10-01 20:24:04 +00:00