4053 Commits

Author SHA1 Message Date
Bhavya U
b88bc8ee8b
Bake transcript pointer into conversation summaries at creation time (#311192)
Append a stable transcript-file hint (path + line-count snapshot) to
every conversation summary, so after compaction the model can read
the uncompacted transcript on disk.

The hint is appended exactly once at summary-creation time and stored
on round.summary / turn metadata. Subsequent renders replay that
string byte-identically, preserving Anthropic prompt cache hits even
as the transcript keeps growing.

Covers all three summarization paths:
- Full / Simple via ConversationHistorySummarizer.summarizeHistory()
- Inline background via agentIntent.ts _startBackgroundSummarization
  (flushes the transcript before snapshotting the line count so the
  baked count matches the on-disk file)

Shared via new exported helper appendTranscriptHintToSummary.
2026-04-18 18:13:27 -07:00
Vijay Upadya
eafba12c12
Add menu toggle for cloud sync in chat panel (#311130)
* Add menu toggle for cloud sync in chat panel

Co-authored-by: Copilot <copilot@github.com>

* update text

* feedback update

Co-authored-by: Copilot <copilot@github.com>

* fix ns

Co-authored-by: Copilot <copilot@github.com>

* update standup template

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-18 17:27:57 +02:00
Don Jayamanne
8183d66bd1
feat(copilotcli): plan review functionality with detailed markdown support (#311139)
* feat(copilotcli): add plan review functionality with detailed markdown support

* feat(chat): add plan review functionality with detailed markdown support

* updates

* updates

* feat(chat): enhance plan review with feedback functionality and autopilot confirmation

* Updates

* Updates

* Fix tests

* Fix tests: handle vscode_reviewPlan in FakeToolsService and update plan path expectation

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/7d5c785a-bdaa-4a29-9b7c-6a4e93195d47

Co-authored-by: DonJayamanne <1948812+DonJayamanne@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-18 17:27:34 +02:00
Pierce Boggan
50f36fc4ff
Fix enterprise BYOK issues: hidden models, disabled button, account carryover (#309889)
* Fix enterprise BYOK issues: hidden models, disabled button, account carryover

Fix three bugs in the BYOK (Bring Your Own Key) model feature:

1. #309499 - BYOK models hidden by default: Add isUserSelectable: true
   to byokKnownModelToAPIInfo() so models appear in the picker on
   registration instead of defaulting to hidden.

2. #309492 - Add Models button disabled when BYOK enabled: Call
   _updateClientByokEnabledContext() during ContextKeysContribution
   initialization so the clientByokEnabled context key is set before
   the Language Models view renders.

3. #309501 - BYOK model carries over from individual account: Use a
   separate DisposableStore for BYOK provider registrations and clear
   them when switching to an account with BYOK disabled, resetting
   the registration flag to allow re-registration on next auth change.

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

* Fix Language Models UI not refreshing on group add/remove (#309495)

The Language Models view did not auto-update when:
- Adding a BYOK model with an invalid configuration (error status)
- Removing a BYOK model group

Root cause: _resolveAllLanguageModels only checked model cache changes
to decide whether to fire onDidChangeLanguageModels. When groups were
added/removed but the model set didn't change (e.g., groups with errors
or empty groups), the event never fired and the UI stayed stale.

Fixes:
1. Add _hasGroupStructureChanged to detect group-level changes (count,
   names, statuses) independently of model cache changes
2. Add explicit viewModel.refresh() after delete action, matching the
   pattern already used by the managementCommand path
3. Await configureLanguageModelsProviderGroup in addModelsForVendor and
   refresh the view model after the add flow completes

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-17 21:54:19 -06:00
Zhichao Li
d4201f7e8f
Merge pull request #311115 from microsoft/zhichli/sqlite-ttft-cli-fallback
fix: denormalize CLI time_to_first_chunk into ttft_ms column
2026-04-17 16:38:16 -07:00
Zhichao Li
8d134899f3
fix: denormalize CLI time_to_first_chunk into ttft_ms column
The CLI runtime emits `github.copilot.time_to_first_chunk` (seconds) on
chat spans, while the foreground extension uses
`copilot_chat.time_to_first_token` (ms). The SQLite store only checked
the foreground attribute, leaving ttft_ms NULL for CLI background agent
spans.

Add a `_ttftMs()` helper that coalesces both attributes with unit
conversion (seconds → ms) so the denormalized column is always populated.
2026-04-17 16:16:35 -07:00
Raymond Zhao
8ba4c72aa2
chore: run npm audit fix (#311104) 2026-04-17 15:49:13 -07:00
dileepyavan
8e8deb2fbc
Updating labels (#311102)
* Update hidden Model B agent prompt for evals

* Refine hidden Model B prompt tag structure

* updating prompt to remove codex string

* main merge

* adding task execution tag

* adding task execution tag

* updating labels
2026-04-17 22:41:18 +00:00
Ulugbek Abdullaev
f83e7c277d
NES: use git-merge icon for reused in-flight requests (#311099)
Previously both cache hits and reused in-flight requests (async pending
or speculative) showed the database icon in the NES debug log. This
made it hard to tell whether a result was served from cache or joined
an existing stream.

Add a new \`reusedInFlight\` outcome with a git-merge icon ($(git-merge))
to visually distinguish 'joined an in-flight request' from 'loaded from
cache'. The database icon is preserved for true cache hits via
\`setIsCachedResult\`; reused in-flight requests now go through the new
\`setIsReusedInFlightResult\` method.
2026-04-17 15:23:41 -07:00
dependabot[bot]
0f937746f4
Bump dompurify from 3.3.2 to 3.4.0 in /extensions/copilot (#310375)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.2...3.4.0)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-04-17 21:06:21 +00:00
Tyler James Leonhardt
6a8889b460
Move to InputState instead of metadata on sessions (#311060)
* Move to InputState instead of metadata on sessions

Cleans up more old patterns with new patterns.

Co-authored-by: Copilot <copilot@github.com>

* feedback

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-17 20:29:55 +00:00
Bhavya U
c78e004e28
Warm-cache gate for inline background summarization (#311047)
Adds a pure helper shouldKickOffBackgroundSummarization that gates the
post-render background compaction trigger based on prompt-cache warmth:

- inline + warm cache (toolCallRounds.length > 0): jittered threshold in
  [0.78, 0.82) straddling the historical 0.80 edge.
- inline + cold cache: emergency kick-off at >= 0.90 to keep long-running
  sessions from hitting sync foreground compaction.
- non-inline: unchanged >= 0.80.

The rng is injected via a private field so tests are deterministic and
the warm-only jitter path is exercised without touching Math.random.
2026-04-17 14:14:51 -04:00
Ladislau Szomoru
20298ed3a8
Background - use merge-base commit for the left hand side of the diff editor (#311026)
* Background - use merge-base commit for the left hand side of the diff editor
2026-04-17 16:36:58 +00:00
Martin Aeschlimann
9677ab2714
Use 'sessionTypes' to filter chat customizations in UI, 'when' only in promptsService (#310999)
* Use 'sessionTypes' to filter chat customizations in UI, 'when' only in promptsService

Co-authored-by: Copilot <copilot@github.com>

* update

* correctly handle when from providers

Co-authored-by: Copilot <copilot@github.com>

* fix compile error

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-17 16:25:48 +00:00
dependabot[bot]
8a9f429548
Bump protobufjs from 7.5.4 to 7.5.5 in /extensions/copilot (#311017)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.4 to 7.5.5.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.4...protobufjs-v7.5.5)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-version: 7.5.5
  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-17 15:49:36 +00:00
dependabot[bot]
db40a9e19d
Bump protobufjs, @opentelemetry/exporter-logs-otlp-grpc, @opentelemetry/exporter-logs-otlp-http, @opentelemetry/exporter-metrics-otlp-grpc, @opentelemetry/exporter-metrics-otlp-http, @opentelemetry/exporter-trace-otlp-grpc and @opentelemetry/exporter-trace-otlp-http in /extensions/copilot (#310874)
Bump protobufjs, @opentelemetry/exporter-logs-otlp-grpc, @opentelemetry/exporter-logs-otlp-http, @opentelemetry/exporter-metrics-otlp-grpc, @opentelemetry/exporter-metrics-otlp-http, @opentelemetry/exporter-trace-otlp-grpc and @opentelemetry/exporter-trace-otlp-http

Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) to 7.5.5 and updates ancestor dependencies [protobufjs](https://github.com/protobufjs/protobuf.js), [@opentelemetry/exporter-logs-otlp-grpc](https://github.com/open-telemetry/opentelemetry-js), [@opentelemetry/exporter-logs-otlp-http](https://github.com/open-telemetry/opentelemetry-js), [@opentelemetry/exporter-metrics-otlp-grpc](https://github.com/open-telemetry/opentelemetry-js), [@opentelemetry/exporter-metrics-otlp-http](https://github.com/open-telemetry/opentelemetry-js), [@opentelemetry/exporter-trace-otlp-grpc](https://github.com/open-telemetry/opentelemetry-js) and [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js). These dependencies need to be updated together.


Updates `protobufjs` from 8.0.0 to 7.5.5
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v8.0.0...protobufjs-v7.5.5)

Updates `@opentelemetry/exporter-logs-otlp-grpc` from 0.212.0 to 0.214.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.212.0...experimental/v0.214.0)

Updates `@opentelemetry/exporter-logs-otlp-http` from 0.212.0 to 0.214.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.212.0...experimental/v0.214.0)

Updates `@opentelemetry/exporter-metrics-otlp-grpc` from 0.212.0 to 0.214.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.212.0...experimental/v0.214.0)

Updates `@opentelemetry/exporter-metrics-otlp-http` from 0.212.0 to 0.214.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.212.0...experimental/v0.214.0)

Updates `@opentelemetry/exporter-trace-otlp-grpc` from 0.212.0 to 0.214.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.212.0...experimental/v0.214.0)

Updates `@opentelemetry/exporter-trace-otlp-http` from 0.212.0 to 0.214.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.212.0...experimental/v0.214.0)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-version: 7.5.5
  dependency-type: indirect
- dependency-name: "@opentelemetry/exporter-logs-otlp-grpc"
  dependency-version: 0.214.0
  dependency-type: direct:production
- dependency-name: "@opentelemetry/exporter-logs-otlp-http"
  dependency-version: 0.214.0
  dependency-type: direct:production
- dependency-name: "@opentelemetry/exporter-metrics-otlp-grpc"
  dependency-version: 0.214.0
  dependency-type: direct:production
- dependency-name: "@opentelemetry/exporter-metrics-otlp-http"
  dependency-version: 0.214.0
  dependency-type: direct:production
- dependency-name: "@opentelemetry/exporter-trace-otlp-grpc"
  dependency-version: 0.214.0
  dependency-type: direct:production
- dependency-name: "@opentelemetry/exporter-trace-otlp-http"
  dependency-version: 0.214.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-17 08:14:41 -07:00
Alex Ross
6cda49d9db
Allow list commands for the run command tool (#310959)
Part of #302411

Co-authored-by: Copilot <copilot@github.com>
2026-04-17 10:33:52 +00:00
Vijay Upadya
8853744af1
Chronicle: Enrich session data capture for CLI sessions and improve standup quality (#310926)
* Chronicle: Enrich session data capture for CLI sessions and improve standup quality

Co-authored-by: Copilot <copilot@github.com>

* feedback updates

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-17 10:09:59 +02:00
Tyler James Leonhardt
8b28af1897
Adopt InputState in Claude (#310924)
* Adopt InputState in Claude

Gets rid of the old options API

Co-authored-by: Copilot <copilot@github.com>

* agents.md

* Address PR review comments

- Fix _rebuildInputState to branch on existing vs new sessions,
  preserving locked groups for existing sessions
- Fix permissionModes type from ReadonlySet<string> to ReadonlySet<PermissionMode>
- Fix disposable leak: track onDidChange subscriptions alongside WeakRefs,
  sweep on refresh, and dispose all on provider teardown
- Avoid strong state capture in onDidChange closure (use WeakRef deref)

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-17 06:51:52 +00:00
Don Jayamanne
d72f98075f
feat(copilotcli): Support CLI todo via worker support (#310913)
* feat(copilotcli): Support CLI todo via worker support

* Fix tests

Co-authored-by: Copilot <copilot@github.com>

* Address Copilot review comments

- Swap logService.error arguments (error first, context second)
- Update todo widget even when query returns empty list
- Use separator-agnostic regex in test assertion
- Change RpcProxy to import type

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

* fix: guard against missing DB file and set busy_timeout

- Add existsSync check before opening DatabaseSync to prevent
  creating phantom empty database files
- Set PRAGMA busy_timeout = 2000 to reduce SQLITE_BUSY errors
  during concurrent CLI writes

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

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-16 22:31:34 -07:00
Bhavya U
6cd94ddc6f
revert: remove anthropic-beta header merge in Claude streaming endpoint (#310908)
Callers can now opt into Anthropic features (context editing, tool
search, etc.) by setting modelCapabilities on the request itself,
as introduced in #308387. The base endpoint no longer needs to inject
beta headers — the Claude agent controls its own headers.

Reverts the merge logic from microsoft/vscode-copilot-chat#4945.
2026-04-17 03:55:32 +00:00
Bhavya U
37d6ea1740
Simplify compaction fallback: use Simple mode on budget exceeded (#310889)
Simplify compaction fallback: use Simple mode on budget exceeded, skip Full

When the main prompt render exceeds the token budget and falls back to
foreground summarization (renderWithSummarization), skip Full mode and
go straight to Simple mode via forceSimpleSummary. This saves a wasted
LLM request since Full would likely also fail under the same budget
pressure, and Simple is guaranteed to fit via hard tool-result truncation.

- Add forceSimpleSummary prop to AgentPromptProps and SummarizedAgentHistoryProps
- Honor forceSimpleSummary in getSummaryWithFallback (unless config forces Full)
- Remove summarizationSource prop and source telemetry field (no longer needed)
- Clean up stale GDPR annotations for removed source field
- /compact and background standard-mode paths keep existing Full → Simple chain
2026-04-16 19:18:02 -07:00
Vijay Upadya
88cd054ab2
Add agentName to chronicle telemetry (#310880)
* add agentName to telemetry

Co-authored-by: Copilot <copilot@github.com>

* comment update

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-17 01:32:19 +00:00
dependabot[bot]
5f42e17cf9
Bump hono from 4.12.12 to 4.12.14 in /extensions/copilot (#310373)
Bumps [hono](https://github.com/honojs/hono) from 4.12.12 to 4.12.14.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.12.12...v4.12.14)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.14
  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-16 23:21:15 +00:00
Logan Ramos
b0adc5d2b2
Handle showing weekly and session rate limit data (#310836)
* Handle showing weekly and session rate limit data

Co-authored-by: Copilot <copilot@github.com>

* Fix error

Co-authored-by: Copilot <copilot@github.com>

* Update extensions/copilot/src/extension/conversation/vscode-node/chatParticipants.ts

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

* Fix casing

* Update verbiage + clear stale

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-16 17:17:26 -04:00
Don Jayamanne
88fc27106a
Add GitHub Copilot upgrader skill and CLI integration documentation (#310830)
* feat: add GitHub Copilot upgrader skill and CLI integration documentation

* Updates

* Update extensions/copilot/src/extension/chatSessions/copilotcli/AGENTS.md

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-16 20:14:30 +00:00
Aashna Garg
e5cd52fcaa Merge remote-tracking branch 'origin/main' into aashnagarg/iterate-candidate-models-fallback
# Conflicts:
#	extensions/copilot/src/platform/endpoint/node/test/automodeService.spec.ts
2026-04-16 11:49:16 -07:00
Aashna Garg
f785e0158f
Merge pull request #310238 from microsoft/aashnagarg/actual-model-telemetry
Add automode.routerModelSelection telemetry with actualModel
2026-04-16 11:42:27 -07:00
Aashna Garg
98fff9f761 Address review: single partition pass, fix failing test
- Use single for-loop to partition available_models into routableModels and
  droppedModels (bhavyaus review)
- Fix test: when ALL available_models are unknown, _selectDefaultModel throws
  since none match knownEndpoints — test now expects throw instead of gpt-4o
2026-04-16 11:36:21 -07:00
Ulugbek Abdullaev
d60ffdc802
fix: set isNESForAnotherDoc correctly for cross-file NES (#310794)
Previously isNESForAnotherDoc was only set inside addNotebookTelemetry,
so non-notebook cross-file NES always reported false.

- Set the flag on the main edit path for all cases (notebook and non-notebook)
- Set the flag on the jump-to-position path when targetDocumentId differs
- Set the flag and status 'noEdit:crossFileTargetNotFound' when cross-file
  target document is not found in the workspace
- Remove redundant setIsNESForOtherEditor call from addNotebookTelemetry
2026-04-16 10:52:48 -07:00
Aashna Garg
1696c1957d Add automode.routerModelSelection telemetry with actualModel
Emits a new telemetry event after all client-side model overrides are applied.
Properties: candidateModel, actualModel, overrideReason (none/clientOverride),
conversationId. Tests cover: match, vision fallback override, router failure.
2026-04-16 10:33:49 -07:00
Aashna Garg
2d68d33f42 Fix router model selection: filter available_models, remove same-provider override, iterate candidates
Bug fixes only (no telemetry changes):
1. Filter available_models through knownEndpoints before sending to router
2. Remove same-provider override from router path - trust router ranking
3. Iterate all candidate_models via _findFirstAvailableModel
4. Warn-level logs for sync mismatches
2026-04-16 10:31:45 -07:00
Ulugbek Abdullaev
f563e5b84c
Add reverse-agreement rebase for NES cache behind experiment flag (#310793)
* nes: cache: add a test to show how rebasing fails

* feat: add reverse-agreement rebase for NES cache behind experiment flag

When the user types more text than the model predicted at the same
position (e.g., model: '{', user: '{\n\t'), the rebase engine now
recognizes that the model's edit is consumed by the user's typing and
offers the remaining unconsumed model edits as rebased suggestions.

The new behavior is gated behind the 'reverseAgreement' experiment
flag in NesRebaseConfigs (config key:
chat.advanced.inlineEdits.reverseAgreement, default: false).

Adds 10 unit tests covering positive, negative, and edge cases.
2026-04-16 17:20:02 +00:00
Martin Aeschlimann
3b7a361194
chat customizations: add ChatResourceEnablement (#310212)
* chat customizations: add ChatResourceEnablement

* update

* filter by sessionTypes

Co-authored-by: Copilot <copilot@github.com>

* inline ChatResourceEnablement

Co-authored-by: Copilot <copilot@github.com>

* update

Co-authored-by: Copilot <copilot@github.com>

* update

* revert version change

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-16 17:18:45 +00:00
Christof Marti
57c365ca77 Consolidate chat-lib pipelines 2026-04-16 18:44:24 +02:00
Christof Marti
1482ee8d60 Fix chat-lib pipeline 2026-04-16 18:44:24 +02:00
Don Jayamanne
8b883105ca
Enhance Copilot CLI session management and permissions handling (#310495)
* Enhance Copilot CLI session management and permissions handling

* Update src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts

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

* Update extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotcliSession.ts

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

* updates

* Fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-16 09:31:33 +00:00
Justin Chen
c47cdd79dd
better handling of too many images in chat (#310437)
* better handling of too many images in chat

* address review: handle no-user-message fallback, assert filter output, cover tool-role images

* factor filterHistoryImages into a pure helper with direct tests

* restore validateAndFilterImages delegate so existing tests are unchanged

* address comments, throw early
2026-04-16 10:32:09 +02:00
Vijay Upadya
602484ad5f
Chronicle - local and remote (#308602)
* chronicle

* local and cloud store

* upload vscode events to remote store

* few updates

* consent ui and settings

* few optimizations

* test fix

* feedback updates

* test fix

* check setting to enable cmd

* fix test

* Settings update and tool update

* command update

* Settings update

* merge main

* feedback updates

* setting and test update

* few updates

* updates

* test update

* blocks ci update

* feedback updates

* comment update
2026-04-16 10:31:39 +02:00
Bhavya U
f5b4ab4cdb
Consolidate reasoning effort override for evals into a single advanced setting (#310517)
Consolidate reasoning effort override into single advanced setting

Replaces chat.advanced.responsesApiReasoningEffort and chat.advanced.anthropicThinkingEffort with a single chat.advanced.reasoningEffortOverride setting used by both the Responses API and the Anthropic Messages API for evals.
2026-04-16 06:44:04 +00:00
Anisha Agarwal
866d1d88eb
Telemetry: add RequestId and ConversationId to toolCallDetails and response.success events (#310281)
add requestId and conversationId to relevant events
2026-04-16 06:05:38 +00:00
Bhavya U
ca3b9bfb2f
Remove dead serverToolCalls / IServerToolCall code (#310470)
Follow-up to #310343: remove dead code left behind after server-side
tool search removal.

- Remove IServerToolCall interface from fetch.ts
- Remove serverToolCalls field from IResponseDelta
- Remove logServerToolCall from IRequestLogger interface and all implementations
- Remove dead consumer in toolCallingLoop.ts
- Clean up unused imports
2026-04-15 22:21:47 -07:00
Don Jayamanne
4ab3ca5546
chore: update @github/copilot to version 1.0.28 (#310378)
* chore: update @github/copilot to version 1.0.28

* updates
2026-04-15 21:14:21 -07:00
Don Jayamanne
1f636954ac
copilotcli: Enhance permission handling in Copilot CLI (#310359)
* Enhance permission handling in Copilot CLI

* Updates

* updates

* Fixes

* Fix issues

* add tests
2026-04-15 19:37:04 -07:00
Bhavya U
d75a4078ce
Remove server-side tool search and consolidate on client-side tool_search (#310343)
- Remove all server-side tool_search_tool_regex types, handlers, and stream processing from messagesApi.ts
- Remove isAnthropicToolSearchEnabled/isAnthropicCustomToolSearchEnabled functions
- Remove AnthropicToolSearchEnabled and AnthropicToolSearchMode settings
- Remove TOOL_SEARCH_TOOL_NAME, TOOL_SEARCH_TOOL_TYPE, TOOL_SEARCH_SUPPORTED_MODELS constants
- Refactor modelSupportsToolSearch to use version parsing instead of prefix list
- Add models filter to ToolSearchTool registration for Claude Sonnet/Opus 4.5+
- Fix MockEndpoint to derive supportsToolSearch from model family
- Gate advanced-tool-use beta header directly on endpoint.supportsToolSearch
- Update prompts to use client-side tool_search name and semantic search instructions
- Update 24 snapshot files to reflect new tool name and instructions
2026-04-16 00:59:37 +00:00
Tyler James Leonhardt
070960a87d
feat: implement ClaudeCodeFolderMruService for managing recently used folders (#310349)
This will help us adopt SessionOptionGroupBuilder
2026-04-15 17:23:02 -07:00
Luciana Abud
c622ad5b09
Merge pull request #310291 from microsoft/witty-eel
Disable chat experiments if VS Code experiments are disabled via setting
2026-04-15 16:04:51 -07:00
luabud
c53b47c368 Disable chat experiments if VS Code experiments are disabled via setting 2026-04-15 15:29:26 -07:00
Zhichao Li
4594ce7dd6
Update extensions/copilot/src/extension/otel/vscode-node/otelContrib.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-15 15:08:03 -07:00
Zhichao Li
f8cc2d60e9
Prompt reload when OTel settings change 2026-04-15 15:03:18 -07:00