Commit Graph

3850 Commits

Author SHA1 Message Date
Christof Marti
571a7d595d Resend all messages when WebSocket's previous response id does not match (#298236) 2026-04-09 21:26:39 +00:00
dileepyavan
f42a0019d1 Remove codex string from hidden Model B prompt (#308672)
* Update hidden Model B agent prompt for evals

* Refine hidden Model B prompt tag structure

* updating prompt to remove codex string
2026-04-09 21:10:35 +00:00
Eleanor Boyd
6282a77b7d Merge pull request #308821 from eleanorjboyd/alright-peafowl
remove duplicate discount text
2026-04-09 14:03:33 -07:00
Ladislau Szomoru
06f88e480a Background - add exception handling when computing changes (#308849) 2026-04-09 15:44:02 -04:00
Ulugbek Abdullaev
c5ac25e125 nes: xtab: refactor: extract _performFetch from _streamEditsImpl (#308778)
refactor(xtab): extract _performFetch from _streamEditsImpl

Separate the HTTP fetch lifecycle (FetchStreamSource setup, makeChatRequest2,
initial error handling, line stream construction with cursor-tag removal and
latency logging) into a dedicated _performFetch method.

This makes the fetch infrastructure self-contained and returns a clean
AsyncIterable<string> line stream + getFetchFailure callback for downstream
format handlers, matching the pattern already used by
XtabCustomDiffPatchResponseHandler.

_streamEditsImpl is now a coordinator: it calls _performFetch, then dispatches
to format handlers, then post-processes edit-window results.

Part of #308744
2026-04-09 10:50:41 -07:00
Justin Chen
35a23cd116 switch to copilot icon for cli (#308831) 2026-04-09 17:33:01 +00:00
Eleanor Boyd
ea1830921d Merge branch 'main' into alright-peafowl 2026-04-09 10:06:31 -07:00
eleanorjboyd
c6ba46b5d1 remove duplicate discount text 2026-04-09 09:52:22 -07:00
Ladislau Szomoru
087126b872 Agents - use "agents" in the worktree branch/folder name (#308811) 2026-04-09 09:29:23 -07:00
Christof Marti
16be18337a Move chat-lib workflow up 2026-04-09 16:27:21 +00:00
Vikram Nitin
f36cefe175 [Bug Fix] Make execution subagent model exp based instead of simple. (#308642)
Make execution subagent model exp based. Also change default tool call limit
2026-04-09 09:26:54 -07:00
dependabot[bot]
63c42301f2 Bump basic-ftp from 5.2.0 to 5.2.1 in /extensions/copilot (#308600)
Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)
- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.2.0...v5.2.1)

---
updated-dependencies:
- dependency-name: basic-ftp
  dependency-version: 5.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 08:43:57 -07:00
João Moreno
5bfbf02616 fix build (#308793) 2026-04-09 14:44:23 +00:00
Paul
27ff22ccb5 Add throttling for tool stream invocations (#308607) 2026-04-09 07:40:48 -07:00
Logan Ramos
558b5e56ab Don't redact ABExp Contact (#308789) 2026-04-09 16:34:28 +02:00
Logan Ramos
5a67f67236 Revert "Support timing out hung streams (#308517)" (#308779)
This reverts commit ba8d730bd0.
2026-04-09 13:58:25 +00:00
João Moreno
17bd6b57ec proper insider build increments (#308774)
* proper insider build increments

* Update extensions/copilot/.esbuild.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-09 13:55:47 +00:00
Tyler James Leonhardt
e0347a20a9 Add support for parsing bare model names in parseClaudeModelId (#308777) 2026-04-09 09:54:16 -04:00
Ladislau Szomoru
6f424b98fb Copilot - remove code that is not needed (#308772) 2026-04-09 09:53:32 -04:00
Ulugbek Abdullaev
9f03a14ab0 ghost: migrate to CompletionsFetchService (#308494)
* ghost: debt: migrate to CompletionsFetchService and remove dead code

* ghost: propagate copilotAnnotations in convertStreamToApiChoices

The v2 stream processor (convertStreamToApiChoices) was not setting
copilotAnnotations on the returned APIChoice objects, despite tracking
them in the CompletionAccumulator. This caused annotations (e.g., code
citations) to be lost.

Add accumulator.annotations.current to the createAPIChoice helper.

* ghost: fix tests to mock ICompletionsFetchService for v2

After migrating to CompletionsFetchService, LiveOpenAIFetcher no longer
calls ICompletionsFetcherService (via postRequest). Tests that mocked
the old low-level fetcher with StaticFetcher were silently bypassed.

Add StaticCompletionsFetchService adapter that bridges StaticFetcher
responses into ICompletionsFetchService by parsing SSE bodies through
jsonlStreamToCompletions. Wire it up in ghostText.test.ts and
inlineCompletion.test.ts setupCompletion helpers.
2026-04-09 13:15:05 +00:00
Tyler James Leonhardt
1a385de57d Fix initial option values not getting passed down (#308664)
Without this, `this._controller.items.get(uri)` returns undefined... but the metadata is stored on the item so that is needed to resolve.

FYI @mjbvz as an interesting quirk of the API.
2026-04-09 13:11:13 +00:00
Pierce Boggan
4c4b9906a5 Allow BYOK for business/enterprise users with client_byok policy (#308608)
- Add isClientBYOKEnabled() method to CopilotToken class
- Update isBYOKEnabled to allow users with client_byok=1 token flag
- Add github.copilot.clientByokEnabled context key for VS Code core model picker

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-09 09:07:19 -04:00
Ladislau Szomoru
7fe7589e7a Background - handle empty git repositories (#308767) 2026-04-09 09:02:41 -04:00
Ulugbek Abdullaev
08f44fb517 nes: xtab: cleanup: split response format parsing implementation out of XtabProvider (#308753)
* nes: fix: check chatResponseFailure consistently before yielding edits

* nes: xtab: cleanup: split response format parsing implementation out of XtabProvider
2026-04-09 14:04:28 +02:00
Martin Aeschlimann
c2c0f22daa update vscode.proposed.chatPromptFiles.d.ts (#308757) 2026-04-09 14:03:37 +02:00
Ulugbek Abdullaev
286d98a854 NES: refactor InlineEditRequestLogContext state management (#308749)
* nes: replace implicit _icon state with explicit outcome state machine (#308719)

Replace the implicit \`_icon\` field with an explicit \`_outcome: LogContextOutcome\`
discriminated union in InlineEditRequestLogContext.

- Define LogContextOutcome type with 8 states: pending, succeeded,
  noSuggestions, cached, cachedFromGhostText, skipped, cancelled, errored
- Derive icon from outcome via switch in _resolveIcon()
- Keep _isCompleted orthogonal (lifecycle flag, not an outcome)
- Add _setOutcome() with debug warning on invalid re-transitions
- Refactor setIsCachedResult to use direct field copy (avoids
  triggering outcome transitions during bulk data inheritance)
- Add double-completion warning in markCompleted()
- No caller changes required — public method signatures unchanged

* nes: unify live and static log entry paths (#308720, #308722)

Remove the static \`add()\` path from InlineEditLogger — all log entries
now use the live pattern with callbacks for icon/content resolution.

- Remove InlineEditLogger.add() and _liveRequestIds tracking
- Ghost text provider now uses addLive() + markCompleted() in finally
  block, ensuring lifecycle is always closed
- Remove redundant add() call in NES inlineCompletionProvider (the live
  entry was already registered via addLive())

This eliminates the static snapshot path that was the source of frozen
spinner bugs, and ensures ghost text entries have proper lifecycle
management matching the NES pattern.

* nes: fix stale icon caching in ChatPromptItem tree nodes (#308721)

Store the main entry reference in ChatPromptItem and always resolve
the icon unconditionally from it, preventing stale icon snapshots.

- Add _mainEntryRef field to ChatPromptItem
- setMainEntry() always sets iconPath (even to undefined when icon
  resolves to undefined), clearing any previous stale value
- withFilteredChildren() re-resolves from the entry ref via
  setMainEntry() instead of copying a potentially stale iconPath

This makes stale icons structurally impossible — the icon is always
derived from the live entry state on each tree refresh.

* nes: map cancelled outcome to skipped icon instead of loading

Cancelled requests should show a terminal icon, not a spinner.
Map 'cancelled' to Icon.skipped alongside 'skipped' to avoid
frozen-spinner appearance in the log tree.
2026-04-09 17:02:21 +05:00
Don Jayamanne
c7fd971659 refactor: remove getSessionIdForWorkspaceFolder method and update clearWorkspaceChanges to handle both session IDs and folder URIs (#308644)
* refactor: remove getSessionIdForWorkspaceFolder method and update clearWorkspaceChanges to handle both session IDs and folder URIs

* Address comments
2026-04-09 11:19:33 +00:00
Ladislau Szomoru
f6d4cad1c1 Sessions - do not use -A so that we can better handle git repositories using GVFS (#308740) 2026-04-09 12:53:40 +02:00
João Moreno
537b43cc54 Refactor applyPackageJsonPatch to remove isPreRelease parameter and derive it from VSCODE_QUALITY environment variable; add getDateBasedPatch function for versioning (#308737)
lock versions up
2026-04-09 10:29:36 +00:00
ulugbekna
a636704f03 nes: cleanup: extract finding merge conflict markers 2026-04-09 15:04:47 +05:00
ulugbekna
dd50b34372 nes: cleanup: extract edit intent parsing 2026-04-09 15:04:47 +05:00
Christof Marti
a2188f2bcc Add support for CLS to setConfigs mid-runtime (#308723)
Co-authored-by: Andrea Mah <andreamah@microsoft.com>
2026-04-09 12:04:17 +02:00
Christof Marti
8a8c656243 Sanitize network errors 2026-04-09 09:43:15 +00:00
Ulugbek Abdullaev
70888c4092 nes: fix: ensure request log tree entries always have icons (#308713) 2026-04-09 14:22:42 +05:00
João Moreno
0271b4d2fe Refactor applyPackageJsonPatch to remove isPreRelease parameter and d… (#308708)
Refactor applyPackageJsonPatch to remove isPreRelease parameter and derive it from VSCODE_QUALITY environment variable; add getDateBasedPatch function for versioning

Co-authored-by: Copilot <copilot@github.com>
2026-04-09 10:45:20 +02:00
João Moreno
591f06894d Remove husky pre-commit and pre-push hooks; integrate copilot pre-commit checks directly in hygiene function (#308698) 2026-04-09 07:48:18 +00:00
Paul
6afe18b48d Clean up perf API (#308354)
* wip

* chat ext

* PR
2026-04-08 22:51:48 -07:00
Don Jayamanne
e4f6e11485 chatSessions: optimize workspace changes handling for shared repositories (#308649)
* chatSessions: optimize workspace changes handling for shared repositories

* Updates

* updates
2026-04-08 20:24:58 -07:00
Don Jayamanne
edfbe283a9 feat(copilot): implement session forking using Copilot API with metadata storage and deprecate old forkSession method (#308652)
feat: implement session forking using Copilot API with metadata storage and deprecate old forkSession method
2026-04-08 20:24:20 -07:00
Tyler James Leonhardt
aadb61a877 Use the modelProvider instead looking for claude for Claude agent (#308657)
* Use the modelProvider instead looking for claude for Claude agent

A little cleaner.

* feedback
2026-04-09 03:09:18 +00:00
Don Jayamanne
99d79c60bf feat(copilot): update session option group handling (#308611)
* feat(copilot): update session option group handling

* Fix tests

* Fixes
2026-04-09 11:17:45 +10:00
dileepyavan
4db687e436 Prompt update for evals (#308641)
* Update hidden Model B agent prompt for evals

* Refine hidden Model B prompt tag structure
2026-04-08 17:16:07 -07:00
Matt Bierner
c61a9b5cef Merge pull request #308631 from mjbvz/dev/mjbvz/straight-barnacle
Add telemetry event for search timeouts
2026-04-08 16:44:55 -07:00
Matt Bierner
5a53dcc899 Merge pull request #308630 from mjbvz/dev/mjbvz/registered-flamingo
Fire chat input state commands with correct arguments
2026-04-08 16:27:45 -07:00
Osvaldo Ortega
8102919404 sessions: support worktree cleanup/recreation on archive state changes (#308621)
Adds worktree deletion on archive and recreation on unarchive for both
the legacy provider API and the new controller API.

- Expose onDidChangeChatSessionItemState on the return value of
  registerChatSessionItemProvider via Object.assign
- Wire up archive/unarchive handling at the V1 registration site in
  chatSessions.ts using the exposed event
- Refresh session items after worktree recreation so changes and stats
  are recomputed in the UI

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-08 16:27:12 -07:00
Ladislau Szomoru
6c60260c98 Sessions - detect GitHub remote (#308620)
* Add context key got GitHub remote

* Sdopt the new context key

* Fix issue with detecting the repository path
2026-04-08 16:26:28 -07:00
Matt Bierner
e21e30f19b Update extensions/copilot/src/platform/workspaceChunkSearch/node/codeSearch/externalIngestIndex.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-08 16:22:39 -07:00
Matt Bierner
e010ff4822 Add telemetry event for search timeouts 2026-04-08 15:49:21 -07:00
Matt Bierner
67410d5990 Fire chat input state commands with correct arguments 2026-04-08 15:41:37 -07:00
Tyler James Leonhardt
361cf36051 Use official APIs for listing subagent messages (#308619)
* Use official APIs for listing subagent messages

* feedback
2026-04-08 22:23:24 +00:00