Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
a68ce9c
bump vscode engine (#1019)
sandy081 Sep 11, 2025
4131e37
Update CHANGELOG.md for 0.31 release (#1020)
ntrogh Sep 11, 2025
4ae3ee1
nes: fix: disable ChatMLFetcher retry on content filtering (#1021)
ulugbekna Sep 11, 2025
0876092
Force auto to be enabled and default for no auth (#1022)
lramos15 Sep 11, 2025
1fe3316
nes: mark trace with opporunity ID (#1008)
ulugbekna Sep 11, 2025
524d4cd
Remove isHiddenModelB (#1023)
lramos15 Sep 11, 2025
af72fcd
Fix gdpr typo (#1015)
roblourens Sep 11, 2025
f8c4ae3
Use config service for reading anon auth setting (#1024)
lramos15 Sep 11, 2025
1f2abd0
edits: fix allow editing of untitled files (#1025)
connor4312 Sep 11, 2025
c808320
Fix: Don't show task instructions when task tools are disabled (#1026)
Copilot Sep 11, 2025
ebadf42
Change the snippy retry feature to opt-in (#1027)
roblourens Sep 12, 2025
e32386f
Tweak custom instructions (#1028)
roblourens Sep 12, 2025
b7f145f
Implement TTFTe metric (#1030)
roblourens Sep 12, 2025
df23d02
Clean up parameters in fetch methods just a little bit (#1031)
roblourens Sep 12, 2025
7512c12
Reduce INTERNAL_RESTRICTED (#1029)
roblourens Sep 12, 2025
f379677
Work around auto model issue with responses API (#1033)
roblourens Sep 12, 2025
5d07485
Fix switching between oswe and gpt-5 (#1035)
roblourens Sep 12, 2025
e5d025e
Refactor reasoning/responses settings (#1034)
roblourens Sep 12, 2025
03c40eb
Refresh model list on auth change (#1036)
lramos15 Sep 12, 2025
f223093
Keep attachments after a "continue to iterate?" message (#1038)
roblourens Sep 13, 2025
e6cd264
Look further to find request with custom instruction attachments (#1039)
roblourens Sep 14, 2025
03a0165
Fix #new (#1042)
roblourens Sep 14, 2025
6621102
Ungroup tools based on embedding rankings (#678)
vritant24 Sep 15, 2025
23e633f
Git - handle merge conflict while applying a stash (#1050)
lszomoru Sep 15, 2025
6bf4b8e
nes: switch team to another NES model (#1052)
ulugbekna Sep 16, 2025
3019b76
tools: don't expand large numbers of resource_links (#1053)
connor4312 Sep 17, 2025
fae885a
fix: improve folder slug generation to handle drive letters (#1055)
joaomoreno Sep 17, 2025
5fd627b
tools: parallelize and telemetry for virtual embeddings (#1057)
connor4312 Sep 17, 2025
8379dbc
Remove check for "created" being set (#1058)
alexdima Sep 18, 2025
5326fe3
Sync up with completions core 1.372.0 and remove the 'log' telemetry …
alexdima Sep 18, 2025
ad3a52a
Prompt tweaks (#1064)
roblourens Sep 18, 2025
d7653df
Fixes for responses API with BYOK (#1065)
roblourens Sep 18, 2025
485552d
nes: implement script to convert alternative action to a recording (u…
ulugbekna Sep 18, 2025
a160286
Main (#1069)
kieferrm Sep 19, 2025
f1a9985
nes: remove XTAB_KEY secret pull (#1070)
ulugbekna Sep 20, 2025
5af6f38
errors - indicate rate limiting errors back to the client (#1075)
bpasero Sep 21, 2025
0fe5c7a
Add ToC for chat request log (#1076)
roblourens Sep 22, 2025
2d03dca
Reuse CC agent instance (#998)
roblourens Sep 22, 2025
c636552
Don't retry text search in regex mode if query isn't a valid regex (#…
roblourens Sep 22, 2025
04f985d
Git - add "Resolve with AI" action to the editor content (#1068)
lszomoru Sep 22, 2025
f01ff94
Add 'net::ERR_NETWORK_IO_SUSPENDED' to connection errors (#1080)
chrmarti Sep 22, 2025
94f2bff
nes: xtab: refactor: nicer references to tags (#1079)
ulugbekna Sep 22, 2025
3762fd4
command 'github.copilot.chat.attachFile' not found (fix #255491) (#1081)
bpasero Sep 22, 2025
ae994c2
nes: allow configuring selection for xtab provider request (#1082)
ulugbekna Sep 22, 2025
f462b8c
do not overwrite measurements if already set (#1083)
benibenj Sep 22, 2025
b9b4002
Adding accept/reject and survival to GH Telemetry (#1059)
24anisha Sep 22, 2025
9703eb2
Clean up some settings (#1040)
roblourens Sep 22, 2025
7973e1b
Git - polish merge resolution action (#1085)
lszomoru Sep 22, 2025
bccbff0
fix missing return statement (#1087)
isidorn Sep 22, 2025
dea063b
Merge pull request #1089 from microsoft/roblou/blushing-wasp (#1091)
roblourens Sep 22, 2025
e709a18
fix bad accessor use after await (#1094)
amunger Sep 22, 2025
3cc05b0
Enable responses API reasoning summaries by default (#1092)
roblourens Sep 22, 2025
06767cf
Limit gpt-5 alternate prompts (#1096)
roblourens Sep 22, 2025
01369ef
Add Codex-style prompt (#1099)
roblourens Sep 23, 2025
2c7f2b4
Bump claude code version (#1101)
roblourens Sep 23, 2025
f2d8f31
Allow execute prompt/task tools inside of execute prompt/task (#1102)
TylerLeonhardt Sep 23, 2025
3051da3
Cleanup (#1106)
chrmarti Sep 23, 2025
b131c5a
small fixes for no auth (#1097)
sbatten Sep 23, 2025
22da7f1
Mixin unknown anthrtopic models with standard defaults (#1107)
lramos15 Sep 23, 2025
82d1bb3
replace toolReferences in modeInstructions (#1109)
aeschli Sep 23, 2025
bb82569
Don't send empty assistant messages (#1108)
roblourens Sep 23, 2025
20670c1
Try removing call to `getAnyGitHubSession` (#1113)
TylerLeonhardt Sep 23, 2025
09f783b
Add GitHub Actions workflow for Copilot setup steps (#993)
Copilot Sep 23, 2025
4cd238d
Refine quality gates and validation instructions for clarity and conc…
bhavyaus Sep 24, 2025
f0846e9
Remove unused parallelism option (#1117)
mjbvz Sep 24, 2025
e6462c9
Don't use ForceGpt41 experiment unless it has a context window >= the…
roblourens Sep 24, 2025
74e0b18
Remove old instant indexing experiment (#1118)
mjbvz Sep 24, 2025
d43847d
Remove old enable WorkspaceEnableAdoCodeSearch experiment (#1119)
mjbvz Sep 24, 2025
78c5099
Add "showRawRequestBody" command (#1121)
roblourens Sep 24, 2025
dd5af4c
fix - do not automatically use AI when user is anonymous (#1123)
bpasero Sep 24, 2025
bf66d60
no auth - offer sign-in dialog when rate limited (#1124)
bpasero Sep 24, 2025
9e89034
fix: improve custom OpenAI model URL resolution to prevent duplicate …
DGideas Sep 24, 2025
027a33a
Cache agent (#1122)
chrmarti Sep 24, 2025
adb5f16
restore correct service creation for list-models (#1090)
shaunm-msft Sep 24, 2025
0d8ee6a
Provide property types for public and protected properties (#1126)
dbaeumer Sep 24, 2025
466c7d7
nes - disable for anonymous users for now (#1127)
bpasero Sep 24, 2025
b83b73d
Revert "nes: switch team to another NES model (#1052)" (#1128)
ulugbekna Sep 24, 2025
d3e2d18
adopt tool names in prompt files (#1129)
aeschli Sep 24, 2025
d55998a
Git - update context key for conflict resolution action (#1132)
lszomoru Sep 24, 2025
e15af59
edits: fix file corruption issue with replace_string tool (#1134)
connor4312 Sep 24, 2025
c4c1d34
set enablement context for command (#1135)
amunger Sep 24, 2025
f15a9c0
Add `toolMetadata` to exported logs in JSON from chat debug view (#1131)
zhichli Sep 24, 2025
30cb435
ci: move zeromq.js setup into postinstall (#1136)
deepak1556 Sep 24, 2025
d263ec3
chore: bump zeromq.js (#1138)
deepak1556 Sep 25, 2025
014f797
nes - disable for anonymous users for now (#1140)
bpasero Sep 25, 2025
506cce1
Add CAPI text-3-small endpoint support for embeddings (#1037)
bhavyaus Sep 25, 2025
49c0594
Clarify label description in ChatFollowup interface (#1144)
ntrogh Sep 25, 2025
213f767
Cache the base prompt token counts across extension activations (#1145)
alexdima Sep 25, 2025
83b4aa9
Modifications to allow direct-endpoint tests to use responses api (#1…
shaunm-msft Sep 25, 2025
9c7710d
Bump CAPI node module (#1149)
lramos15 Sep 25, 2025
a5c4ecf
Grouping of BYOK custom models in model picker (#1111)
johan-j Sep 25, 2025
c39b4be
Revert "Allow execute prompt/task tools inside of execute prompt/task…
TylerLeonhardt Sep 26, 2025
02fc030
implement vscode#268089 (#1147)
joshspicer Sep 26, 2025
1f9195c
chore: update capability checks (#1156)
bhavyaus Sep 26, 2025
0441240
altAction: feat: show model-proposed next edit (#1158)
ulugbekna Sep 26, 2025
4f0fe38
nes: fix: better handle enforcing max budget (#1146)
ulugbekna Sep 26, 2025
3c09fa5
Surface logging interface (#1159)
chrmarti Sep 26, 2025
9f18329
ensure workspace index is disabled for no auth, disable semantic sear…
sbatten Sep 26, 2025
5fa55a3
Consume new CAPI package (#1160)
lramos15 Sep 26, 2025
15a8ec7
edits: add edit tool 'learning' for byok (#1154)
connor4312 Sep 26, 2025
1671263
models - update description for `auto` when no auth (#1162)
bpasero Sep 26, 2025
8ddd43f
Fixes for auto-approve blocking msbench (#1151)
roblourens Sep 26, 2025
698d6c2
Wrap token check in catch (#1152)
mjbvz Sep 26, 2025
81c99e3
Renamed chat commands (#1150)
eli-w-king Sep 26, 2025
afc5b99
Use apply_patch exclusively in msbench (#1163)
roblourens Sep 26, 2025
e361b5e
edits: allow oai config and byok api config for edit tools (#1161)
connor4312 Sep 26, 2025
e9e774d
Remove TodoListToolInstructions references from agent prompts (#1166)
bhavyaus Sep 26, 2025
ba4e28c
mcp: rework how virtual tool embeddings get expanded (#1164)
connor4312 Sep 26, 2025
eba71b0
Add command to show output channel from debug tree view (#1168)
roblourens Sep 26, 2025
73bf3f3
use a relative path in edit traces for replays (#1169)
amunger Sep 26, 2025
88c285e
Only include todo instructions when todo tool enabled (#1170)
roblourens Sep 26, 2025
979d9b4
add dev device id as traffic filter for exp (#1167)
sbatten Sep 26, 2025
b94ca92
refactor: remove endpointType from computeEmbeddings calls for consis…
bhavyaus Sep 27, 2025
e0812d9
Adopt isSubAgent tool call hint (#1173)
roblourens Sep 27, 2025
733cb4b
Delete execute_prompt tool (#1174)
roblourens Sep 27, 2025
ab9e9a3
Update WSL setup note in CONTRIBUTING.md (#1165)
amunger Sep 27, 2025
17a4969
Add onExp tag for gpt5CodexAlternatePrompt (#1175)
roblourens Sep 27, 2025
4cd0113
Don't resolve tool references inside execute_prompt incorrectly (#1178)
roblourens Sep 28, 2025
f8efcd8
gpt-5-codex prompt improvements (#1177)
roblourens Sep 28, 2025
857a249
Normalize tools in execute_prompt loop (#1179)
roblourens Sep 28, 2025
34294b4
Minor claude code cleanups (#1180)
roblourens Sep 29, 2025
57a4b4e
Implement claude code slash commands (#1181)
roblourens Sep 29, 2025
fb5d23c
Update examples for output formatting (#1182)
bhavyaus Sep 29, 2025
582f523
Add Exp setting to control the amount of emitted context items (#1183)
dbaeumer Sep 29, 2025
45a473b
Support degraded model status (#1148)
lramos15 Sep 29, 2025
1778275
Propogate schema to anthropic BYOK (#1184)
lramos15 Sep 29, 2025
28ef807
allow instruction files from contributions (#1185)
aeschli Sep 29, 2025
6271f4e
Make including JS Doc optional (#1186)
dbaeumer Sep 29, 2025
9318e2a
Remove old embedding disk cache support (#1188)
mjbvz Sep 29, 2025
f85c62b
provideChatSummary() uses advanced summarizer (#1189)
joshspicer Sep 29, 2025
19f692f
Disable old automatic re-indexing flow (#1190)
mjbvz Sep 29, 2025
95b1bbf
Fix telemetry (#1191)
chrmarti Sep 29, 2025
48c3cbb
Remove unused ToolName import and simplify todo context rendering (#1…
bhavyaus Sep 29, 2025
eb7bc03
Add tests generated by LLM to improve coverage (#1195)
dbaeumer Sep 30, 2025
f3f7148
fix copilot-setup-steps (#1198)
rebornix Sep 30, 2025
51a07fb
Bump engine for exp targeting (#1199)
chrmarti Sep 30, 2025
6baed39
Re #269153. Ensure the file pill for notebook always renders (#1200)
rebornix Sep 30, 2025
68c22f6
Fix read_file tool in askagent (#1201)
roblourens Oct 1, 2025
6846d28
chat - further reduce `Copilot` wording (#1202)
bpasero Oct 1, 2025
67dba70
add missing lock change (#1203)
bpasero Oct 1, 2025
85b34de
review - trigger sign-in dialog when running code review (#1205)
bpasero Oct 1, 2025
dcd9ec7
set common_uikind and common_remotename correctly for github telemetr…
benibenj Oct 1, 2025
7e691fa
nes: unify prompt pieces into a single object (#1204)
ulugbekna Oct 1, 2025
bc246ae
nes: logContext: show correct proposed edits (#1045)
ulugbekna Oct 1, 2025
467b621
nes: allow overriding model configuration locally with a single setti…
ulugbekna Oct 1, 2025
efcd757
settings validator: feat: object validation can enforce required fiel…
ulugbekna Oct 1, 2025
c22da0a
remove --depth 1 from main branch too (#1209)
benibenj Oct 1, 2025
c2a5d49
update completions core version (#1210)
benibenj Oct 1, 2025
5fc1f45
Fix model list order (#1211)
lramos15 Oct 1, 2025
37baeb6
fix - further reduce `Copilot` label use (#1212)
bpasero Oct 1, 2025
fe9048f
nes: expand edit window lines below to capture whole merge conflict (…
ulugbekna Oct 1, 2025
6f47383
update completions core version (#1214)
benibenj Oct 1, 2025
989f19d
edits: handle eperm in file edit checks (#1217)
connor4312 Oct 1, 2025
f24cd1a
fix: update model hashes to use apply patch (#1216)
karthiknadig Oct 1, 2025
893cf4d
add Claude Sonnet 4.5 prompt and configuration support (#1218)
bhavyaus Oct 1, 2025
8afa0a3
chore: add entry in nls for `%github.copilot.config.claudeSonnet45Alt…
ulugbekna Oct 2, 2025
776dc6d
nes: feat: new setting to include only the merge conflict (#1220)
ulugbekna Oct 2, 2025
742c75e
chore: enforce package.json %key% are present in package.nls.json (#1…
ulugbekna Oct 2, 2025
f94e477
Reset auto cache on auth change (#1224)
lramos15 Oct 2, 2025
f1f2a07
Version bump (#1227)
mjbvz Oct 3, 2025
2963a78
Improve error handling in handleError function to provide detailed re…
DGideas Oct 3, 2025
f8fa1ee
Fix excessive content exclusion fetches (#1230)
lramos15 Oct 3, 2025
93e97f0
Retry net::ERR_NETWORK_CHANGED with Node (#1228) (#1229)
chrmarti Oct 6, 2025
eebb448
Remove auto mode enablement exp (#1236)
lramos15 Oct 6, 2025
dccb635
Hide editFile tool message (#1232)
bryanchen-d Oct 6, 2025
cd1487b
nes: refactor prompt construction for extensibility (#1241)
ulugbekna Oct 6, 2025
8f71557
Update sonnet-4.5 alt prompt (#1246)
bhavyaus Oct 6, 2025
5c1d517
Fix: Exp enable completions and NES fetcher (#1245)
chrmarti Oct 7, 2025
0b1a979
Git - switch commit message generation to gpt5-mini (#1249)
lszomoru Oct 7, 2025
44e806b
nes: feat: support next cursor line prediction (#1238)
ulugbekna Oct 7, 2025
6e6c667
Update CHANGELOG for v0.32 (#1252)
ntrogh Oct 7, 2025
46fc032
Exclude completions core tests (#1253)
dbaeumer Oct 7, 2025
0b98377
Cleaup old exp (#1254)
lramos15 Oct 7, 2025
2a9ea7d
Update repo URL in @vscode/chat-lib package (#1255)
devm33 Oct 7, 2025
b6e0c83
Update fetch tool to use metis (#1192)
mjbvz Oct 7, 2025
6b5f86b
Update telemetry in CreateFileTool to include model and file extensio…
bhavyaus Oct 7, 2025
4d3ad14
feat: add security-sensitive file extensions to exclusion list (#1157)
phawrylak Oct 7, 2025
25c9004
Migrate to @anthropic-ai/claude-agent-sdk (#1257)
roblourens Oct 7, 2025
1084547
feat: add timeout in searching text in files (#1233)
bryanchen-d Oct 7, 2025
3da1963
get errors for a notebook URI (#1247)
amunger Oct 7, 2025
bf9fe90
testing: static Copilot Token loading (#1250)
rwoll Oct 7, 2025
e665a8c
nes: next cursor line: fix: infinite no-edit loop & aligning better w…
ulugbekna Oct 8, 2025
0829597
Enable useResponsesAPI by default (#1260)
roblourens Oct 8, 2025
8eb797b
nes: next cursor line: add telemetry (#1264)
ulugbekna Oct 8, 2025
b93186d
Add associatedRequestId to track summarization chat request id (#1265)
roblourens Oct 8, 2025
6511d75
Don't block extension activation on auth (#1266)
roblourens Oct 8, 2025
05c2867
feat: add custom `requestHeaders` support for custom OAI and Azure mo…
zhichli Oct 8, 2025
c8916fb
Add launch-config that allows to attach to code-oss (started out of t…
jrieken Oct 9, 2025
e02c329
nes: change team default model (#1273)
ulugbekna Oct 9, 2025
48e3fbe
Merge commit 'e02c329' into merge/1.105.0
jmcphers Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .esbuild.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,10 @@ const sanityTestBundlePlugin: esbuild.Plugin = {
};

const importMetaPlugin: esbuild.Plugin = {
name: 'claudeCodeImportMetaPlugin',
name: 'claudeAgentSdkImportMetaPlugin',
setup(build) {
// Handle import.meta.url in @anthropic-ai/claude-code package
build.onLoad({ filter: /node_modules[\/\\]@anthropic-ai[\/\\]claude-code[\/\\].*\.mjs$/ }, async (args) => {
// Handle import.meta.url in @anthropic-ai/claude-agent-sdk package
build.onLoad({ filter: /node_modules[\/\\]@anthropic-ai[\/\\]claude-agent-sdk[\/\\].*\.mjs$/ }, async (args) => {
const contents = await fs.promises.readFile(args.path, 'utf8');
return {
contents: contents.replace(
Expand Down
2 changes: 2 additions & 0 deletions .eslint-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ test/scenarios/**
.simulation/**
.eslintplugin/**
chat-lib/**
test/aml/out/**
.vscode-test/**

# ignore vs
src/util/vs/**
Expand Down
5 changes: 5 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ x => x + x // ✓ Correct
### Code Structure
- Always surround loop and conditional bodies with curly braces
- Open curly braces always go on the same line as whatever necessitates them
- An open curly brace MUST be followed by a newline, with the body indented on the next line
- Parenthesized constructs should have no surrounding whitespace
- Single space follows commas, colons, and semicolons

Expand All @@ -254,6 +255,10 @@ function f(x: number, y: string): void { }
### Type Management
- Do not export `types` or `functions` unless you need to share it across multiple components
- Do not introduce new `types` or `values` to the global namespace
- Use proper types. Do not use `any` unless absolutely necessary.
- Use `readonly` whenever possible.
- Avoid casts in TypeScript unless absolutely necessary. If you get type errors after your changes, look up the types of the variables involved and set up a proper system of types and interfaces instead of adding type casts.
- Do not use `any` or `unknown` as the type for variables, parameters, or return values unless absolutely necessary. If they need type annotations, they should have proper types or interfaces defined.

## Key APIs and Integrations

Expand Down
34 changes: 28 additions & 6 deletions .github/instructions/vitest-unit-tests.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,34 @@ applyTo: '**/*.spec.ts'
description: Vitest unit testing guidelines
---

Guidelines for writing unit tests using Vitest. These tests are `*.spec.ts`
Please follow these guidelines when writing unit tests using Vitest. These tests are `*.spec.ts`

## Best Practices

- Use proper mocks when possible rather than ad-hoc objects injected as dependencies. For example, call `createExtensionUnitTestingServices` to get some mock services, and `IInstantiationService` to create instances with those mocks.
- If there is no preexisting implementation of a service that is appropriate to reuse in the test, then you can create a simple mock or stub implementation.
- Avoid casting to `any` whenever possible.
- When asked to write new tests, add tests for things that are interesting and nontrivial. Don't add a test that just verifies that a setter/getter work.
- Prefer the runTests tool to run tests over a terminal command.
- Prefer explicit Test/Mock classes over mutating real instances or creating adhoc one-off mocks.
- Never use `as any` to override private methods or assign properties on real objects.
- Mock versions of services are typically named `Mock*` or `Test*`, you can search to find whether one already exists.
- Some examples: `MockFileSystemService`, `MockChatResponseStream`, `TestTasksService`.

- If there is no preexisting implementation of a service that is appropriate to reuse in the test, then you can create a simple mock or stub implementation in a file under a `test/` folder near the interface definition.
- A mock class should be configurable so that it can be shared and set up for different test scenarios.

- The helper `createExtensionUnitTestingServices` returns a `TestingServiceCollection` preconfigured with some common mock services, use `IInstantiationService` to create instances with those mocks. Here's an example of using it properly

```ts
const serviceCollection = store.add(createExtensionUnitTestingServices());
instantiationService = serviceCollection.createTestingAccessor().get(IInstantiationService);
const mockFs = accessor.get(IFileSystemService) as MockFileSystemService;
const testService = instantiationService.createInstance(SomeServiceToTest);
```

- When asked to write new tests, add tests to cover the behavior of the code under test, especially things that are interesting, unexpected, or edge cases.
- Avoid adding tests that simply repeat existing tests or cover trivial code paths.

- If available, prefer the runTests tool to run tests over a terminal command.

- Keep tests deterministic and fast.
- Avoid starting real servers or performing network I/O.

- Avoid excessive repetition in tests, use `beforeEach` to set up common state.
- Use helper functions to encapsulate common test logic.
72 changes: 72 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Copilot Setup Steps

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
copilot-setup-steps:
name: Setup Development Environment
runs-on: vscode-large-runners
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
lfs: true

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.14.x'

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
architecture: 'x64'

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0'

- name: Install setuptools
run: pip install setuptools

- name: Restore build cache
uses: actions/cache/restore@v4
id: build-cache
with:
key: build_cache-${{ hashFiles('build/.cachesalt', 'package-lock.json') }}
path: .build/build_cache

- name: Extract build cache
if: steps.build-cache.outputs.cache-hit == 'true'
run: tar -xzf .build/build_cache/cache.tgz

- name: Install dependencies
if: steps.build-cache.outputs.cache-hit != 'true'
run: npm ci

- name: Create build cache archive
if: steps.build-cache.outputs.cache-hit != 'true'
run: |
set -e
mkdir -p .build
node build/listBuildCacheFiles.js .build/build_cache_list.txt
mkdir -p .build/build_cache
tar -czf .build/build_cache/cache.tgz --files-from .build/build_cache_list.txt

- name: Verify installation
run: |
node --version
npm --version
python --version
dotnet --version
22 changes: 20 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,25 @@
"presentation": {
"group": "2_launch"
}
}
},
{
"name": "Attach to Extension Host - Code OSS",
"type": "node",
"request": "attach",
"restart": true,
"timeout": 0,
"port": 5870,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/../vscode/out/**/*.js",
"${workspaceFolder}/../vscode/extensions/*/out/**/*.js",
"${workspaceFolder}/dist/**/*.js",
"!**/node_modules/**"
],
"presentation": {
"group": "2_launch"
}
},
],
"compounds": [
{
Expand All @@ -312,4 +330,4 @@
}
}
]
}
}
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
"search.exclude": {
"src/base/util/tokenizer_*.json": true,
"src/base/util/*.bpe": true,
"src/extension/chatSessions/vscode-node/test/fixtures/**": true,
"src/extension/prompts/node/test/fixtures/**/*": true,
"src/extension/test/node/fixtures/**/*": true,
"src/platform/parser/test/node/fixtures/**/*": true,
Expand Down
Loading
Loading