From b2b228c520cdcf4aa105bccc5ae2f69c3c403795 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2026 01:39:49 +0000 Subject: [PATCH 1/7] Update @github/copilot to 1.0.81-5 - Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code --- java/pom.xml | 2 +- java/scripts/codegen/package-lock.json | 72 +++++++++++++------------- java/scripts/codegen/package.json | 2 +- nodejs/package-lock.json | 54 +++++++++---------- nodejs/package.json | 2 +- nodejs/samples/package-lock.json | 2 +- test/harness/package-lock.json | 54 +++++++++---------- test/harness/package.json | 2 +- 8 files changed, 95 insertions(+), 95 deletions(-) diff --git a/java/pom.xml b/java/pom.xml index df47ef1a4..579557709 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -63,7 +63,7 @@ DO NOT EDIT MANUALLY. Updated by the update-copilot-dependency workflow. --> - ^1.0.81-4 + ^1.0.81-5 true diff --git a/java/scripts/codegen/package-lock.json b/java/scripts/codegen/package-lock.json index ae260cb1c..508204bd1 100644 --- a/java/scripts/codegen/package-lock.json +++ b/java/scripts/codegen/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "copilot-sdk-java-codegen", "dependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "json-schema": "^0.4.0", "tsx": "^4.23.1" } @@ -428,9 +428,9 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.81-4.tgz", - "integrity": "sha512-XSHSlWqDhoajHMjRouZv0gqPfG3MVJvLFCoWToT8/fbQ7rmE9rB4w0sefzmh30CrQANCWd+uiIUOe9H3QL32WA==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.81-5.tgz", + "integrity": "sha512-CLZNjPx4lsseIlfXxmLCGbr4IbfjJmNFPiEzkuuPJBH/Nubw3ibKbJtqSMRiHaNTS4LVmVFkGzqZ7NeUE3MjgA==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "detect-libc": "^2.1.2" @@ -439,20 +439,20 @@ "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.81-4", - "@github/copilot-darwin-x64": "1.0.81-4", - "@github/copilot-linux-arm64": "1.0.81-4", - "@github/copilot-linux-x64": "1.0.81-4", - "@github/copilot-linuxmusl-arm64": "1.0.81-4", - "@github/copilot-linuxmusl-x64": "1.0.81-4", - "@github/copilot-win32-arm64": "1.0.81-4", - "@github/copilot-win32-x64": "1.0.81-4" + "@github/copilot-darwin-arm64": "1.0.81-5", + "@github/copilot-darwin-x64": "1.0.81-5", + "@github/copilot-linux-arm64": "1.0.81-5", + "@github/copilot-linux-x64": "1.0.81-5", + "@github/copilot-linuxmusl-arm64": "1.0.81-5", + "@github/copilot-linuxmusl-x64": "1.0.81-5", + "@github/copilot-win32-arm64": "1.0.81-5", + "@github/copilot-win32-x64": "1.0.81-5" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.81-4.tgz", - "integrity": "sha512-6XEOnrQdqdZ/tbhKU2D37tk0PGwKdNT5LGLvjjrWx+TDCFO/xZSu85+Rxl4AZP1SHKwWJRZdamDmETj4vn4VWQ==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.81-5.tgz", + "integrity": "sha512-yop7JdAK847INCkUXsFWfuqP72//+xO3b8uXo4T8InWVjdE5DK5G/m9kWzgZfFS7LGoiTGwz2bV54Rfh/gRHVQ==", "cpu": [ "arm64" ], @@ -466,9 +466,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.81-4.tgz", - "integrity": "sha512-o1ghvv7EUGO3CGbZyGyQJgu9mCFEyXq9FUUmvcxsBXxfjk7PR1CywK4cJVeZxac8LL//DQ/q42JzkaSfXU29Wg==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.81-5.tgz", + "integrity": "sha512-s//z4MWiWCGL8437rrODItnoL4FhhQ0bqDnFDRfUoKD7C304b2b2gSm5v4nCLsHjBWp0+jz64zQqNt573g0DYA==", "cpu": [ "x64" ], @@ -482,9 +482,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.81-4.tgz", - "integrity": "sha512-pHCwhBe+IVtliSxOEiwhS+GQXRvLuJxOQzdqAZYhbaEJKWeqWTw40LnhqaQFaGhOp1GAJF+6FodG/SfUZYAx5g==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.81-5.tgz", + "integrity": "sha512-Fe7yf5X644SsCGrfvEnW5u/MluA7karsHhprhoRzeyanaUg4A5t9USRSYVUg8xBByXpIILS/uHoFRlRWLUvLzA==", "cpu": [ "arm64" ], @@ -498,9 +498,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.81-4.tgz", - "integrity": "sha512-icy4c4jfQzXNShlGptRiUPKpHUhGX9qBxc+118WBv3H68o38Pi//6UP/ZRq9PvcVrPwxbA9HkFASNwBiEzshdA==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.81-5.tgz", + "integrity": "sha512-A0D+7zwbo5Zi9uA+5hkVUbM1lN799/AOK4bQbmo9dsyd4Msnm0LVypeMuqPocqFJ0hKQ0jmF50gRkQBXY19DwQ==", "cpu": [ "x64" ], @@ -514,9 +514,9 @@ } }, "node_modules/@github/copilot-linuxmusl-arm64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.81-4.tgz", - "integrity": "sha512-k54g1q9Umz7eFGTpOqG5H1l1m2eNSs8jqFLuEpvGGdu7SU5g6Cz0aWq2VM27l+HcChyjp2dGenhQe/s7KxLSMw==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.81-5.tgz", + "integrity": "sha512-cQqr4K8erxym2TBLZo5h3m81BKzS2rLmzfUZUAmcIqc/pmVqVk9L44csheoDPOxoJJRK2x7acs/OJIXolQEUEQ==", "cpu": [ "arm64" ], @@ -530,9 +530,9 @@ } }, "node_modules/@github/copilot-linuxmusl-x64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.81-4.tgz", - "integrity": "sha512-ETjiiuMGDdO6ZdytQ3w8u7wvtkDQCLc0zSnZXXYWxnG4y9qLut8VHFoTJ+P07lBrHKXo7tZsJ6W0d1gOQTBnvw==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.81-5.tgz", + "integrity": "sha512-Ip/kBYXveSzlXh/JKDLQ3UE0YiyT+hJ0Z7utxqqocTee30NSpyP8/1xET7mqqezLE2B7/gdgdoPJVxf5xB4idw==", "cpu": [ "x64" ], @@ -546,9 +546,9 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.81-4.tgz", - "integrity": "sha512-/Md1/LN56gORjyGwHXjZ6suY6om7NVL8+j9D/X/xb6Ar2acagyivL8Dm3tesgUMYLniLgn7dyEXPVYS/bqkpmQ==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.81-5.tgz", + "integrity": "sha512-ERTckb1saKW6xZVIFWE5+1aIQPGlAjFers2BSCXWxtwPiIb0Ev/xSMY/gF0R8oH2tWHr06iGC3FnFzXzvn50OQ==", "cpu": [ "arm64" ], @@ -562,9 +562,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.81-4", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.81-4.tgz", - "integrity": "sha512-CrHbH0fRl2tlreKbDbm6+NmK/3HwMZR7BE86WTmYHJMXt3PcEWRtklU/fQuH0qjURtW4wX6PWrdmjcyVOkRJcA==", + "version": "1.0.81-5", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.81-5.tgz", + "integrity": "sha512-rAns726TCJD9fxBRD+ZAdh1+ZwHJncZtSg6T5w3j/7+pMkQUw1RSFxNXx/aeVAwKe+R9gufQWCkSgzaOwDr7kg==", "cpu": [ "x64" ], diff --git a/java/scripts/codegen/package.json b/java/scripts/codegen/package.json index d726548d0..791c47898 100644 --- a/java/scripts/codegen/package.json +++ b/java/scripts/codegen/package.json @@ -7,7 +7,7 @@ "generate:java": "tsx java.ts" }, "dependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "json-schema": "^0.4.0", "tsx": "^4.23.1" } diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index 3d51d6d23..a317f651b 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0-dev", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "koffi": "^3.1.0", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" @@ -658,8 +658,8 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.81-4", - "integrity": "sha512-XSHSlWqDhoajHMjRouZv0gqPfG3MVJvLFCoWToT8/fbQ7rmE9rB4w0sefzmh30CrQANCWd+uiIUOe9H3QL32WA==", + "version": "1.0.81-5", + "integrity": "sha512-CLZNjPx4lsseIlfXxmLCGbr4IbfjJmNFPiEzkuuPJBH/Nubw3ibKbJtqSMRiHaNTS4LVmVFkGzqZ7NeUE3MjgA==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "detect-libc": "^2.1.2" @@ -668,19 +668,19 @@ "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.81-4", - "@github/copilot-darwin-x64": "1.0.81-4", - "@github/copilot-linux-arm64": "1.0.81-4", - "@github/copilot-linux-x64": "1.0.81-4", - "@github/copilot-linuxmusl-arm64": "1.0.81-4", - "@github/copilot-linuxmusl-x64": "1.0.81-4", - "@github/copilot-win32-arm64": "1.0.81-4", - "@github/copilot-win32-x64": "1.0.81-4" + "@github/copilot-darwin-arm64": "1.0.81-5", + "@github/copilot-darwin-x64": "1.0.81-5", + "@github/copilot-linux-arm64": "1.0.81-5", + "@github/copilot-linux-x64": "1.0.81-5", + "@github/copilot-linuxmusl-arm64": "1.0.81-5", + "@github/copilot-linuxmusl-x64": "1.0.81-5", + "@github/copilot-win32-arm64": "1.0.81-5", + "@github/copilot-win32-x64": "1.0.81-5" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-6XEOnrQdqdZ/tbhKU2D37tk0PGwKdNT5LGLvjjrWx+TDCFO/xZSu85+Rxl4AZP1SHKwWJRZdamDmETj4vn4VWQ==", + "version": "1.0.81-5", + "integrity": "sha512-yop7JdAK847INCkUXsFWfuqP72//+xO3b8uXo4T8InWVjdE5DK5G/m9kWzgZfFS7LGoiTGwz2bV54Rfh/gRHVQ==", "cpu": [ "arm64" ], @@ -694,8 +694,8 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.81-4", - "integrity": "sha512-o1ghvv7EUGO3CGbZyGyQJgu9mCFEyXq9FUUmvcxsBXxfjk7PR1CywK4cJVeZxac8LL//DQ/q42JzkaSfXU29Wg==", + "version": "1.0.81-5", + "integrity": "sha512-s//z4MWiWCGL8437rrODItnoL4FhhQ0bqDnFDRfUoKD7C304b2b2gSm5v4nCLsHjBWp0+jz64zQqNt573g0DYA==", "cpu": [ "x64" ], @@ -709,8 +709,8 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-pHCwhBe+IVtliSxOEiwhS+GQXRvLuJxOQzdqAZYhbaEJKWeqWTw40LnhqaQFaGhOp1GAJF+6FodG/SfUZYAx5g==", + "version": "1.0.81-5", + "integrity": "sha512-Fe7yf5X644SsCGrfvEnW5u/MluA7karsHhprhoRzeyanaUg4A5t9USRSYVUg8xBByXpIILS/uHoFRlRWLUvLzA==", "cpu": [ "arm64" ], @@ -724,8 +724,8 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.81-4", - "integrity": "sha512-icy4c4jfQzXNShlGptRiUPKpHUhGX9qBxc+118WBv3H68o38Pi//6UP/ZRq9PvcVrPwxbA9HkFASNwBiEzshdA==", + "version": "1.0.81-5", + "integrity": "sha512-A0D+7zwbo5Zi9uA+5hkVUbM1lN799/AOK4bQbmo9dsyd4Msnm0LVypeMuqPocqFJ0hKQ0jmF50gRkQBXY19DwQ==", "cpu": [ "x64" ], @@ -739,8 +739,8 @@ } }, "node_modules/@github/copilot-linuxmusl-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-k54g1q9Umz7eFGTpOqG5H1l1m2eNSs8jqFLuEpvGGdu7SU5g6Cz0aWq2VM27l+HcChyjp2dGenhQe/s7KxLSMw==", + "version": "1.0.81-5", + "integrity": "sha512-cQqr4K8erxym2TBLZo5h3m81BKzS2rLmzfUZUAmcIqc/pmVqVk9L44csheoDPOxoJJRK2x7acs/OJIXolQEUEQ==", "cpu": [ "arm64" ], @@ -754,8 +754,8 @@ } }, "node_modules/@github/copilot-linuxmusl-x64": { - "version": "1.0.81-4", - "integrity": "sha512-ETjiiuMGDdO6ZdytQ3w8u7wvtkDQCLc0zSnZXXYWxnG4y9qLut8VHFoTJ+P07lBrHKXo7tZsJ6W0d1gOQTBnvw==", + "version": "1.0.81-5", + "integrity": "sha512-Ip/kBYXveSzlXh/JKDLQ3UE0YiyT+hJ0Z7utxqqocTee30NSpyP8/1xET7mqqezLE2B7/gdgdoPJVxf5xB4idw==", "cpu": [ "x64" ], @@ -769,8 +769,8 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-/Md1/LN56gORjyGwHXjZ6suY6om7NVL8+j9D/X/xb6Ar2acagyivL8Dm3tesgUMYLniLgn7dyEXPVYS/bqkpmQ==", + "version": "1.0.81-5", + "integrity": "sha512-ERTckb1saKW6xZVIFWE5+1aIQPGlAjFers2BSCXWxtwPiIb0Ev/xSMY/gF0R8oH2tWHr06iGC3FnFzXzvn50OQ==", "cpu": [ "arm64" ], @@ -784,8 +784,8 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.81-4", - "integrity": "sha512-CrHbH0fRl2tlreKbDbm6+NmK/3HwMZR7BE86WTmYHJMXt3PcEWRtklU/fQuH0qjURtW4wX6PWrdmjcyVOkRJcA==", + "version": "1.0.81-5", + "integrity": "sha512-rAns726TCJD9fxBRD+ZAdh1+ZwHJncZtSg6T5w3j/7+pMkQUw1RSFxNXx/aeVAwKe+R9gufQWCkSgzaOwDr7kg==", "cpu": [ "x64" ], diff --git a/nodejs/package.json b/nodejs/package.json index 304b6857b..d9e908ccc 100644 --- a/nodejs/package.json +++ b/nodejs/package.json @@ -56,7 +56,7 @@ "author": "GitHub", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "koffi": "^3.1.0", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" diff --git a/nodejs/samples/package-lock.json b/nodejs/samples/package-lock.json index 2f64e44aa..b8e0b7f8e 100644 --- a/nodejs/samples/package-lock.json +++ b/nodejs/samples/package-lock.json @@ -18,7 +18,7 @@ "version": "0.0.0-dev", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "koffi": "^3.1.0", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" diff --git a/test/harness/package-lock.json b/test/harness/package-lock.json index 76ae782aa..bf1ebde84 100644 --- a/test/harness/package-lock.json +++ b/test/harness/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "devDependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "@modelcontextprotocol/sdk": "^1.26.0", "@types/node": "^25.3.3", "@types/node-forge": "^1.3.14", @@ -472,8 +472,8 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.81-4", - "integrity": "sha512-XSHSlWqDhoajHMjRouZv0gqPfG3MVJvLFCoWToT8/fbQ7rmE9rB4w0sefzmh30CrQANCWd+uiIUOe9H3QL32WA==", + "version": "1.0.81-5", + "integrity": "sha512-CLZNjPx4lsseIlfXxmLCGbr4IbfjJmNFPiEzkuuPJBH/Nubw3ibKbJtqSMRiHaNTS4LVmVFkGzqZ7NeUE3MjgA==", "dev": true, "license": "SEE LICENSE IN LICENSE.md", "dependencies": { @@ -483,19 +483,19 @@ "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.81-4", - "@github/copilot-darwin-x64": "1.0.81-4", - "@github/copilot-linux-arm64": "1.0.81-4", - "@github/copilot-linux-x64": "1.0.81-4", - "@github/copilot-linuxmusl-arm64": "1.0.81-4", - "@github/copilot-linuxmusl-x64": "1.0.81-4", - "@github/copilot-win32-arm64": "1.0.81-4", - "@github/copilot-win32-x64": "1.0.81-4" + "@github/copilot-darwin-arm64": "1.0.81-5", + "@github/copilot-darwin-x64": "1.0.81-5", + "@github/copilot-linux-arm64": "1.0.81-5", + "@github/copilot-linux-x64": "1.0.81-5", + "@github/copilot-linuxmusl-arm64": "1.0.81-5", + "@github/copilot-linuxmusl-x64": "1.0.81-5", + "@github/copilot-win32-arm64": "1.0.81-5", + "@github/copilot-win32-x64": "1.0.81-5" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-6XEOnrQdqdZ/tbhKU2D37tk0PGwKdNT5LGLvjjrWx+TDCFO/xZSu85+Rxl4AZP1SHKwWJRZdamDmETj4vn4VWQ==", + "version": "1.0.81-5", + "integrity": "sha512-yop7JdAK847INCkUXsFWfuqP72//+xO3b8uXo4T8InWVjdE5DK5G/m9kWzgZfFS7LGoiTGwz2bV54Rfh/gRHVQ==", "cpu": [ "arm64" ], @@ -510,8 +510,8 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.81-4", - "integrity": "sha512-o1ghvv7EUGO3CGbZyGyQJgu9mCFEyXq9FUUmvcxsBXxfjk7PR1CywK4cJVeZxac8LL//DQ/q42JzkaSfXU29Wg==", + "version": "1.0.81-5", + "integrity": "sha512-s//z4MWiWCGL8437rrODItnoL4FhhQ0bqDnFDRfUoKD7C304b2b2gSm5v4nCLsHjBWp0+jz64zQqNt573g0DYA==", "cpu": [ "x64" ], @@ -526,8 +526,8 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-pHCwhBe+IVtliSxOEiwhS+GQXRvLuJxOQzdqAZYhbaEJKWeqWTw40LnhqaQFaGhOp1GAJF+6FodG/SfUZYAx5g==", + "version": "1.0.81-5", + "integrity": "sha512-Fe7yf5X644SsCGrfvEnW5u/MluA7karsHhprhoRzeyanaUg4A5t9USRSYVUg8xBByXpIILS/uHoFRlRWLUvLzA==", "cpu": [ "arm64" ], @@ -542,8 +542,8 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.81-4", - "integrity": "sha512-icy4c4jfQzXNShlGptRiUPKpHUhGX9qBxc+118WBv3H68o38Pi//6UP/ZRq9PvcVrPwxbA9HkFASNwBiEzshdA==", + "version": "1.0.81-5", + "integrity": "sha512-A0D+7zwbo5Zi9uA+5hkVUbM1lN799/AOK4bQbmo9dsyd4Msnm0LVypeMuqPocqFJ0hKQ0jmF50gRkQBXY19DwQ==", "cpu": [ "x64" ], @@ -558,8 +558,8 @@ } }, "node_modules/@github/copilot-linuxmusl-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-k54g1q9Umz7eFGTpOqG5H1l1m2eNSs8jqFLuEpvGGdu7SU5g6Cz0aWq2VM27l+HcChyjp2dGenhQe/s7KxLSMw==", + "version": "1.0.81-5", + "integrity": "sha512-cQqr4K8erxym2TBLZo5h3m81BKzS2rLmzfUZUAmcIqc/pmVqVk9L44csheoDPOxoJJRK2x7acs/OJIXolQEUEQ==", "cpu": [ "arm64" ], @@ -574,8 +574,8 @@ } }, "node_modules/@github/copilot-linuxmusl-x64": { - "version": "1.0.81-4", - "integrity": "sha512-ETjiiuMGDdO6ZdytQ3w8u7wvtkDQCLc0zSnZXXYWxnG4y9qLut8VHFoTJ+P07lBrHKXo7tZsJ6W0d1gOQTBnvw==", + "version": "1.0.81-5", + "integrity": "sha512-Ip/kBYXveSzlXh/JKDLQ3UE0YiyT+hJ0Z7utxqqocTee30NSpyP8/1xET7mqqezLE2B7/gdgdoPJVxf5xB4idw==", "cpu": [ "x64" ], @@ -590,8 +590,8 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.81-4", - "integrity": "sha512-/Md1/LN56gORjyGwHXjZ6suY6om7NVL8+j9D/X/xb6Ar2acagyivL8Dm3tesgUMYLniLgn7dyEXPVYS/bqkpmQ==", + "version": "1.0.81-5", + "integrity": "sha512-ERTckb1saKW6xZVIFWE5+1aIQPGlAjFers2BSCXWxtwPiIb0Ev/xSMY/gF0R8oH2tWHr06iGC3FnFzXzvn50OQ==", "cpu": [ "arm64" ], @@ -606,8 +606,8 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.81-4", - "integrity": "sha512-CrHbH0fRl2tlreKbDbm6+NmK/3HwMZR7BE86WTmYHJMXt3PcEWRtklU/fQuH0qjURtW4wX6PWrdmjcyVOkRJcA==", + "version": "1.0.81-5", + "integrity": "sha512-rAns726TCJD9fxBRD+ZAdh1+ZwHJncZtSg6T5w3j/7+pMkQUw1RSFxNXx/aeVAwKe+R9gufQWCkSgzaOwDr7kg==", "cpu": [ "x64" ], diff --git a/test/harness/package.json b/test/harness/package.json index 0ece92de4..c4f89970c 100644 --- a/test/harness/package.json +++ b/test/harness/package.json @@ -14,7 +14,7 @@ "node": "^20.19.0 || >=22.12.0" }, "devDependencies": { - "@github/copilot": "^1.0.81-4", + "@github/copilot": "^1.0.81-5", "@modelcontextprotocol/sdk": "^1.26.0", "@types/node": "^25.3.3", "@types/node-forge": "^1.3.14", From 5e2e99b1508e70279f245de5e1e97c9ccd93b034 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Wed, 19 Aug 2026 22:03:47 -0400 Subject: [PATCH 2/7] Restore runtime-blocked test coverage Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/dotnet-sdk-tests.yml | 7 --- .../test/E2E/RpcUiEphemeralQueryE2ETests.cs | 5 +- .../e2e/rpc_ui_ephemeral_query_e2e_test.go | 5 -- java/sdk/pom.xml | 41 --------------- .../e2e/rpc_ui_ephemeral_query.e2e.test.ts | 5 +- nodejs/vitest.config.ts | 50 ------------------- python/e2e/test_rpc_ui_ephemeral_query_e2e.py | 4 -- rust/tests/e2e/rpc_ui_ephemeral_query.rs | 4 -- .../should_answer_ephemeral_query.yaml | 2 +- 9 files changed, 3 insertions(+), 120 deletions(-) diff --git a/.github/workflows/dotnet-sdk-tests.yml b/.github/workflows/dotnet-sdk-tests.yml index b70278cc5..9d0469133 100644 --- a/.github/workflows/dotnet-sdk-tests.yml +++ b/.github/workflows/dotnet-sdk-tests.yml @@ -32,13 +32,6 @@ jobs: - os: windows-latest transport: default shard: full - # TODO(cli-1.0.81-4): in-process CAPI model turns eventually stop - # completing and poison the shared runtime until the job times out. - # Stdio CAPI and in-process BYOK cells remain enabled. - - os: ubuntu-latest - transport: inprocess - - os: macos-latest - transport: inprocess # The macOS default/capi host runs the whole suite on the smallest # runner in the matrix (3 vCPU / 7 GB vs ubuntu's 4 / 16). Since the # 1.0.81-2 bump it stopped finishing: the job ran 50+ minutes until diff --git a/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs b/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs index 8fbf0d571..76043fd73 100644 --- a/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs +++ b/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs @@ -19,10 +19,7 @@ namespace GitHub.Copilot.Test.E2E; public class RpcUiEphemeralQueryE2ETests(E2ETestFixture fixture, ITestOutputHelper output) : E2ETestBase(fixture, "rpc_ui_ephemeral_query", output) { - // TODO(cli-1.0.81-2): CLI 1.0.81-4 still fails session.ui.ephemeralQuery against the - // recorded snapshot ("Failed to get response from the AI model"). Re-enable once the - // runtime fix ships. - [Fact(Skip = "Blocked on CLI 1.0.81-4 session.ui.ephemeralQuery regression")] + [Fact] public async Task Should_Answer_Ephemeral_Query() { await using var session = await CreateSessionAsync(); diff --git a/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go b/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go index 413187abd..2669faea9 100644 --- a/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go +++ b/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go @@ -14,11 +14,6 @@ func TestRpcUiEphemeralQuery(t *testing.T) { t.Cleanup(func() { client.ForceStop() }) t.Run("should_answer_ephemeral_query", func(t *testing.T) { - // TODO(cli-1.0.81-2): CLI 1.0.81-4 still fails session.ui.ephemeralQuery against the - // recorded snapshot ("Failed to get response from the AI model"). Re-enable once - // the runtime fix ships. - t.Skip("blocked on CLI 1.0.81-4 session.ui.ephemeralQuery regression") - ctx.ConfigureForTest(t) session := createPortedSession(t, client, nil) defer session.Disconnect() diff --git a/java/sdk/pom.xml b/java/sdk/pom.xml index f3bb51640..05314ba52 100644 --- a/java/sdk/pom.xml +++ b/java/sdk/pom.xml @@ -629,36 +629,6 @@ did not produce the multi-release output. Re-build on JDK 25+ and verify the false 1 none - - - **/AskUserTest.java - **/CompactionTest.java - **/CopilotSessionTest.java - **/ErrorHandlingTest.java - **/EventFidelityTest.java - **/ExecutorWiringTest.java - **/HooksTest.java - **/McpAndAgentsTest.java - **/McpOAuthResumeE2ETest.java - **/PermissionsTest.java - **/PreMcpToolCallHookTest.java - **/RpcServerE2ETest.java - **/RpcSessionStateExtrasE2ETest.java - **/SessionConfigE2ETest.java - **/SessionEventsE2ETest.java - **/SessionTodosChangedTest.java - **/SkillsTest.java - **/StreamingFidelityTest.java - **/SubagentHooksE2ETest.java - **/ToolResultsTest.java - **/ToolsTest.java - inprocess @@ -670,17 +640,6 @@ did not produce the multi-release output. Re-build on JDK 25+ and verify the 1 none - - - **/ErgonomicToolDefinitionIT.java - **/GitHubTelemetryForwardingIT.java - **/LowLevelToolDefinitionIT.java - **/RewindIT.java - **/SystemMessageSectionsIT.java - ${copilot.inprocess.cli.path} inprocess diff --git a/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts b/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts index 07bdc5419..662294d70 100644 --- a/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts +++ b/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts @@ -9,10 +9,7 @@ import { createSdkTestContext } from "./harness/sdkTestContext.js"; describe("UI ephemeral query RPC", async () => { const { copilotClient: client } = await createSdkTestContext(); - // TODO(cli-1.0.81-2): CLI 1.0.81-4 still fails session.ui.ephemeralQuery against the - // recorded snapshot ("Failed to get response from the AI model"). Re-enable once the - // runtime fix ships. - it.skip("should answer ephemeral query", { timeout: 120_000 }, async () => { + it("should answer ephemeral query", { timeout: 120_000 }, async () => { const session = await client.createSession({ onPermissionRequest: approveAll }); try { const result = await session.rpc.ui.ephemeralQuery({ diff --git a/nodejs/vitest.config.ts b/nodejs/vitest.config.ts index eec87f977..bb07cb017 100644 --- a/nodejs/vitest.config.ts +++ b/nodejs/vitest.config.ts @@ -2,55 +2,6 @@ import { defineConfig } from "vitest/config"; const integrationTestTimeout = process.platform === "win32" ? 60000 : 30000; -const isInProcessTransport = - (process.env.COPILOT_SDK_DEFAULT_CONNECTION ?? "").toLowerCase() === "inprocess"; - -// TODO(cli-1.0.81-4): model-driven turns eventually stop completing when the runtime is -// hosted in-process against CAPI. The shared runtime then poisons every later model-driven -// test until the job times out. These suites still run over stdio on all three OSes, while -// pure-RPC in-process coverage remains enabled. -const inProcessBlockedE2E = [ - "**/test/e2e/abort.e2e.test.ts", - "**/test/e2e/agent_and_compact_rpc.e2e.test.ts", - "**/test/e2e/ask_user.e2e.test.ts", - "**/test/e2e/builtin_tools.e2e.test.ts", - "**/test/e2e/client_api.e2e.test.ts", - "**/test/e2e/client_lifecycle.e2e.test.ts", - "**/test/e2e/compaction.e2e.test.ts", - "**/test/e2e/copilot_request_cancel_error.e2e.test.ts", - "**/test/e2e/copilot_request_handler.e2e.test.ts", - "**/test/e2e/copilot_request_session_id.e2e.test.ts", - "**/test/e2e/disabled_mcp_servers.e2e.test.ts", - "**/test/e2e/event_fidelity.e2e.test.ts", - "**/test/e2e/hooks.e2e.test.ts", - "**/test/e2e/hooks_extended.e2e.test.ts", - "**/test/e2e/mcp_and_agents.e2e.test.ts", - "**/test/e2e/mode_empty.e2e.test.ts", - "**/test/e2e/multi_turn.e2e.test.ts", - "**/test/e2e/permissions.e2e.test.ts", - "**/test/e2e/pre_mcp_tool_call_hook.e2e.test.ts", - "**/test/e2e/provider_endpoint.e2e.test.ts", - "**/test/e2e/rewind.e2e.test.ts", - "**/test/e2e/rpc_event_side_effects.e2e.test.ts", - "**/test/e2e/rpc_session_state.e2e.test.ts", - "**/test/e2e/rpc_session_state_extras.e2e.test.ts", - "**/test/e2e/rpc_shell_and_fleet.e2e.test.ts", - "**/test/e2e/session.e2e.test.ts", - "**/test/e2e/session_config.e2e.test.ts", - "**/test/e2e/session_fs.e2e.test.ts", - "**/test/e2e/session_fs_sqlite.e2e.test.ts", - "**/test/e2e/session_lifecycle.e2e.test.ts", - "**/test/e2e/session_todos_changed.e2e.test.ts", - "**/test/e2e/skills.e2e.test.ts", - "**/test/e2e/streaming_fidelity.e2e.test.ts", - "**/test/e2e/subagent_hooks.e2e.test.ts", - "**/test/e2e/suspend.e2e.test.ts", - "**/test/e2e/system_message_sections.e2e.test.ts", - "**/test/e2e/system_message_transform.e2e.test.ts", - "**/test/e2e/tool_results.e2e.test.ts", - "**/test/e2e/tools.e2e.test.ts", -]; - export default defineConfig({ test: { globals: true, @@ -66,7 +17,6 @@ export default defineConfig({ "**/dist/**", "**/*.d.ts", "**/basic-test.ts", // Old manual test - ...(isInProcessTransport ? inProcessBlockedE2E : []), ], }, }); diff --git a/python/e2e/test_rpc_ui_ephemeral_query_e2e.py b/python/e2e/test_rpc_ui_ephemeral_query_e2e.py index 34cce4262..117fe083d 100644 --- a/python/e2e/test_rpc_ui_ephemeral_query_e2e.py +++ b/python/e2e/test_rpc_ui_ephemeral_query_e2e.py @@ -18,10 +18,6 @@ class TestRpcUiEphemeralQuery: - # TODO(cli-1.0.81-2): CLI 1.0.81-4 still fails session.ui.ephemeralQuery against the - # recorded snapshot ("Failed to get response from the AI model"). Re-enable once the - # runtime fix ships. - @pytest.mark.skip(reason="blocked on CLI 1.0.81-4 session.ui.ephemeralQuery regression") async def test_should_answer_ephemeral_query(self, ctx: E2ETestContext): async with await ctx.client.create_session( on_permission_request=PermissionHandler.approve_all, diff --git a/rust/tests/e2e/rpc_ui_ephemeral_query.rs b/rust/tests/e2e/rpc_ui_ephemeral_query.rs index 90cffae36..2fa421cc6 100644 --- a/rust/tests/e2e/rpc_ui_ephemeral_query.rs +++ b/rust/tests/e2e/rpc_ui_ephemeral_query.rs @@ -1,9 +1,5 @@ use github_copilot_sdk::rpc::UIEphemeralQueryRequest; -// TODO(cli-1.0.81-2): CLI 1.0.81-4 still fails session.ui.ephemeralQuery against the -// recorded snapshot ("Failed to get response from the AI model"). Re-enable once the -// runtime fix ships. -#[ignore = "blocked on CLI 1.0.81-4 session.ui.ephemeralQuery regression"] #[tokio::test] async fn should_answer_ephemeral_query() { super::support::with_shared_e2e_context( diff --git a/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml b/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml index fec44be1f..3b2ce80b9 100644 --- a/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml +++ b/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml @@ -1,5 +1,5 @@ models: - - claude-sonnet-4.5 + - claude-sonnet-4 conversations: - messages: - role: system From 42fcfc47d8b870bba98510ab75f0a4474323aa66 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Wed, 19 Aug 2026 22:20:37 -0400 Subject: [PATCH 3/7] Keep ephemeral query coverage disabled Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs | 5 ++++- go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go | 5 +++++ nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts | 5 ++++- python/e2e/test_rpc_ui_ephemeral_query_e2e.py | 6 ++++++ rust/tests/e2e/rpc_ui_ephemeral_query.rs | 4 ++++ .../should_answer_ephemeral_query.yaml | 2 +- 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs b/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs index 76043fd73..a6b787786 100644 --- a/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs +++ b/dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs @@ -19,7 +19,10 @@ namespace GitHub.Copilot.Test.E2E; public class RpcUiEphemeralQueryE2ETests(E2ETestFixture fixture, ITestOutputHelper output) : E2ETestBase(fixture, "rpc_ui_ephemeral_query", output) { - [Fact] + // TODO(cli-1.0.81-2): CLI 1.0.81-5 still fails session.ui.ephemeralQuery against the + // recorded snapshot on macOS ("Failed to get response from the AI model"). Re-enable + // once the runtime fix ships. + [Fact(Skip = "Blocked on CLI 1.0.81-5 session.ui.ephemeralQuery regression on macOS")] public async Task Should_Answer_Ephemeral_Query() { await using var session = await CreateSessionAsync(); diff --git a/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go b/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go index 2669faea9..a431aaee0 100644 --- a/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go +++ b/go/internal/e2e/rpc_ui_ephemeral_query_e2e_test.go @@ -14,6 +14,11 @@ func TestRpcUiEphemeralQuery(t *testing.T) { t.Cleanup(func() { client.ForceStop() }) t.Run("should_answer_ephemeral_query", func(t *testing.T) { + // TODO(cli-1.0.81-2): CLI 1.0.81-5 still fails session.ui.ephemeralQuery against the + // recorded snapshot on macOS ("Failed to get response from the AI model"). Re-enable + // once the runtime fix ships. + t.Skip("blocked on CLI 1.0.81-5 session.ui.ephemeralQuery regression on macOS") + ctx.ConfigureForTest(t) session := createPortedSession(t, client, nil) defer session.Disconnect() diff --git a/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts b/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts index 662294d70..be1a25dc6 100644 --- a/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts +++ b/nodejs/test/e2e/rpc_ui_ephemeral_query.e2e.test.ts @@ -9,7 +9,10 @@ import { createSdkTestContext } from "./harness/sdkTestContext.js"; describe("UI ephemeral query RPC", async () => { const { copilotClient: client } = await createSdkTestContext(); - it("should answer ephemeral query", { timeout: 120_000 }, async () => { + // TODO(cli-1.0.81-2): CLI 1.0.81-5 still fails session.ui.ephemeralQuery against the + // recorded snapshot on macOS ("Failed to get response from the AI model"). Re-enable + // once the runtime fix ships. + it.skip("should answer ephemeral query", { timeout: 120_000 }, async () => { const session = await client.createSession({ onPermissionRequest: approveAll }); try { const result = await session.rpc.ui.ephemeralQuery({ diff --git a/python/e2e/test_rpc_ui_ephemeral_query_e2e.py b/python/e2e/test_rpc_ui_ephemeral_query_e2e.py index 117fe083d..b7f3b94d2 100644 --- a/python/e2e/test_rpc_ui_ephemeral_query_e2e.py +++ b/python/e2e/test_rpc_ui_ephemeral_query_e2e.py @@ -18,6 +18,12 @@ class TestRpcUiEphemeralQuery: + # TODO(cli-1.0.81-2): CLI 1.0.81-5 still fails session.ui.ephemeralQuery against the + # recorded snapshot on macOS ("Failed to get response from the AI model"). Re-enable + # once the runtime fix ships. + @pytest.mark.skip( + reason="blocked on CLI 1.0.81-5 session.ui.ephemeralQuery regression on macOS" + ) async def test_should_answer_ephemeral_query(self, ctx: E2ETestContext): async with await ctx.client.create_session( on_permission_request=PermissionHandler.approve_all, diff --git a/rust/tests/e2e/rpc_ui_ephemeral_query.rs b/rust/tests/e2e/rpc_ui_ephemeral_query.rs index 2fa421cc6..5bb09882b 100644 --- a/rust/tests/e2e/rpc_ui_ephemeral_query.rs +++ b/rust/tests/e2e/rpc_ui_ephemeral_query.rs @@ -1,5 +1,9 @@ use github_copilot_sdk::rpc::UIEphemeralQueryRequest; +// TODO(cli-1.0.81-2): CLI 1.0.81-5 still fails session.ui.ephemeralQuery against the +// recorded snapshot on macOS ("Failed to get response from the AI model"). Re-enable +// once the runtime fix ships. +#[ignore = "blocked on CLI 1.0.81-5 session.ui.ephemeralQuery regression on macOS"] #[tokio::test] async fn should_answer_ephemeral_query() { super::support::with_shared_e2e_context( diff --git a/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml b/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml index 3b2ce80b9..fec44be1f 100644 --- a/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml +++ b/test/snapshots/rpc_ui_ephemeral_query/should_answer_ephemeral_query.yaml @@ -1,5 +1,5 @@ models: - - claude-sonnet-4 + - claude-sonnet-4.5 conversations: - messages: - role: system From dc7e9d6ef274f0ef409eab1bba60f465b7d7e8d1 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Wed, 19 Aug 2026 22:54:59 -0400 Subject: [PATCH 4/7] Fix Python denied-tool E2E race Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4e94289c-90c8-4664-a878-056539754908 --- python/e2e/test_tool_results_e2e.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/python/e2e/test_tool_results_e2e.py b/python/e2e/test_tool_results_e2e.py index b7b05b7af..41d1967bc 100644 --- a/python/e2e/test_tool_results_e2e.py +++ b/python/e2e/test_tool_results_e2e.py @@ -184,10 +184,11 @@ def on_event(event): unsubscribe = session.on(on_event) try: - asyncio.ensure_future( - session.send( + send_task = asyncio.create_task( + session.send_and_wait( "Use access_secret to get the API key." - " If access is denied, tell me it was 'access denied'." + " If access is denied, tell me it was 'access denied'.", + timeout=60.0, ) ) tool_evt = await asyncio.wait_for(tool_complete_future, timeout=60.0) @@ -201,7 +202,7 @@ def on_event(event): error_msg = error if isinstance(error, str) else getattr(error, "message", None) assert "Access denied" in (error_msg or "") - answer = await get_final_assistant_message(session, timeout=60.0) + answer = await send_task assert answer is not None finally: unsubscribe() From 0330bc66f6e3f7684871a5e42bb31741c5365b95 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Wed, 19 Aug 2026 23:32:16 -0400 Subject: [PATCH 5/7] Keep .NET in-process CAPI legs disabled Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4e94289c-90c8-4664-a878-056539754908 --- .github/workflows/dotnet-sdk-tests.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/dotnet-sdk-tests.yml b/.github/workflows/dotnet-sdk-tests.yml index 9d0469133..1c81855ec 100644 --- a/.github/workflows/dotnet-sdk-tests.yml +++ b/.github/workflows/dotnet-sdk-tests.yml @@ -32,6 +32,13 @@ jobs: - os: windows-latest transport: default shard: full + # TODO(cli-1.0.81-2): CLI 1.0.81-5 still stops completing in-process + # CAPI model turns, causing repeated per-test timeouts until the + # 30-minute job limit. Stdio CAPI and in-process BYOK remain enabled. + - os: ubuntu-latest + transport: inprocess + - os: macos-latest + transport: inprocess # The macOS default/capi host runs the whole suite on the smallest # runner in the matrix (3 vCPU / 7 GB vs ubuntu's 4 / 16). Since the # 1.0.81-2 bump it stopped finishing: the job ran 50+ minutes until From e4dd4b6a2ceb52199fa3f21df1768482747e590f Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Thu, 20 Aug 2026 04:15:43 -0400 Subject: [PATCH 6/7] Keep blocked in-process model suites excluded Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4e94289c-90c8-4664-a878-056539754908 --- java/sdk/pom.xml | 41 +++++++++++++++++++++++++++++++++ nodejs/vitest.config.ts | 50 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) diff --git a/java/sdk/pom.xml b/java/sdk/pom.xml index 05314ba52..ba2ec540c 100644 --- a/java/sdk/pom.xml +++ b/java/sdk/pom.xml @@ -629,6 +629,36 @@ did not produce the multi-release output. Re-build on JDK 25+ and verify the false 1 none + + + **/AskUserTest.java + **/CompactionTest.java + **/CopilotSessionTest.java + **/ErrorHandlingTest.java + **/EventFidelityTest.java + **/ExecutorWiringTest.java + **/HooksTest.java + **/McpAndAgentsTest.java + **/McpOAuthResumeE2ETest.java + **/PermissionsTest.java + **/PreMcpToolCallHookTest.java + **/RpcServerE2ETest.java + **/RpcSessionStateExtrasE2ETest.java + **/SessionConfigE2ETest.java + **/SessionEventsE2ETest.java + **/SessionTodosChangedTest.java + **/SkillsTest.java + **/StreamingFidelityTest.java + **/SubagentHooksE2ETest.java + **/ToolResultsTest.java + **/ToolsTest.java + inprocess @@ -640,6 +670,17 @@ did not produce the multi-release output. Re-build on JDK 25+ and verify the 1 none + + + **/ErgonomicToolDefinitionIT.java + **/GitHubTelemetryForwardingIT.java + **/LowLevelToolDefinitionIT.java + **/RewindIT.java + **/SystemMessageSectionsIT.java + ${copilot.inprocess.cli.path} inprocess diff --git a/nodejs/vitest.config.ts b/nodejs/vitest.config.ts index bb07cb017..4ac56bb45 100644 --- a/nodejs/vitest.config.ts +++ b/nodejs/vitest.config.ts @@ -2,6 +2,55 @@ import { defineConfig } from "vitest/config"; const integrationTestTimeout = process.platform === "win32" ? 60000 : 30000; +const isInProcessTransport = + (process.env.COPILOT_SDK_DEFAULT_CONNECTION ?? "").toLowerCase() === "inprocess"; + +// TODO(cli-1.0.81-2): CLI 1.0.81-5 still stops completing model-driven turns when +// hosted in-process against CAPI. The shared runtime then poisons every later +// model-driven test. These suites still run over stdio on all three OSes, while +// pure-RPC in-process coverage remains enabled. +const inProcessBlockedE2E = [ + "**/test/e2e/abort.e2e.test.ts", + "**/test/e2e/agent_and_compact_rpc.e2e.test.ts", + "**/test/e2e/ask_user.e2e.test.ts", + "**/test/e2e/builtin_tools.e2e.test.ts", + "**/test/e2e/client_api.e2e.test.ts", + "**/test/e2e/client_lifecycle.e2e.test.ts", + "**/test/e2e/compaction.e2e.test.ts", + "**/test/e2e/copilot_request_cancel_error.e2e.test.ts", + "**/test/e2e/copilot_request_handler.e2e.test.ts", + "**/test/e2e/copilot_request_session_id.e2e.test.ts", + "**/test/e2e/disabled_mcp_servers.e2e.test.ts", + "**/test/e2e/event_fidelity.e2e.test.ts", + "**/test/e2e/hooks.e2e.test.ts", + "**/test/e2e/hooks_extended.e2e.test.ts", + "**/test/e2e/mcp_and_agents.e2e.test.ts", + "**/test/e2e/mode_empty.e2e.test.ts", + "**/test/e2e/multi_turn.e2e.test.ts", + "**/test/e2e/permissions.e2e.test.ts", + "**/test/e2e/pre_mcp_tool_call_hook.e2e.test.ts", + "**/test/e2e/provider_endpoint.e2e.test.ts", + "**/test/e2e/rewind.e2e.test.ts", + "**/test/e2e/rpc_event_side_effects.e2e.test.ts", + "**/test/e2e/rpc_session_state.e2e.test.ts", + "**/test/e2e/rpc_session_state_extras.e2e.test.ts", + "**/test/e2e/rpc_shell_and_fleet.e2e.test.ts", + "**/test/e2e/session.e2e.test.ts", + "**/test/e2e/session_config.e2e.test.ts", + "**/test/e2e/session_fs.e2e.test.ts", + "**/test/e2e/session_fs_sqlite.e2e.test.ts", + "**/test/e2e/session_lifecycle.e2e.test.ts", + "**/test/e2e/session_todos_changed.e2e.test.ts", + "**/test/e2e/skills.e2e.test.ts", + "**/test/e2e/streaming_fidelity.e2e.test.ts", + "**/test/e2e/subagent_hooks.e2e.test.ts", + "**/test/e2e/suspend.e2e.test.ts", + "**/test/e2e/system_message_sections.e2e.test.ts", + "**/test/e2e/system_message_transform.e2e.test.ts", + "**/test/e2e/tool_results.e2e.test.ts", + "**/test/e2e/tools.e2e.test.ts", +]; + export default defineConfig({ test: { globals: true, @@ -17,6 +66,7 @@ export default defineConfig({ "**/dist/**", "**/*.d.ts", "**/basic-test.ts", // Old manual test + ...(isInProcessTransport ? inProcessBlockedE2E : []), ], }, }); From c1fb47e050f59590a87654bba07db986c4e0fdab Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Thu, 20 Aug 2026 05:32:35 -0400 Subject: [PATCH 7/7] Split hanging macOS .NET test shard Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4e94289c-90c8-4664-a878-056539754908 --- .github/workflows/dotnet-sdk-tests.yml | 43 ++++++++++++++++++++------ 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/.github/workflows/dotnet-sdk-tests.yml b/.github/workflows/dotnet-sdk-tests.yml index 1c81855ec..4695cae7f 100644 --- a/.github/workflows/dotnet-sdk-tests.yml +++ b/.github/workflows/dotnet-sdk-tests.yml @@ -44,8 +44,8 @@ jobs: # 1.0.81-2 bump it stopped finishing: the job ran 50+ minutes until # the runner lost communication with the server, and a runner that # dies that way uploads no logs at all, so the failure could not be - # diagnosed from CI output. Split it across two hosts the same way - # the Windows default suite is split below. + # diagnosed from CI output. Split it across isolated hosts so one + # poisoned runtime cannot consume the entire job without diagnostics. - os: macos-latest transport: default shard: full @@ -69,7 +69,15 @@ jobs: - os: macos-latest transport: default backend: capi - shard: "2" + shard: "2a" + - os: macos-latest + transport: default + backend: capi + shard: "2b" + - os: macos-latest + transport: default + backend: capi + shard: "2c" - os: ubuntu-latest transport: inprocess backend: anthropic-messages @@ -149,13 +157,28 @@ jobs: filter="$DOTNET_TEST_FILTER" if [[ "$DOTNET_TEST_SHARD" != "full" ]]; then - if [[ "$DOTNET_TEST_SHARD" == "1" ]]; then - initials=(A C D H I J K L N Q S U W Y) - shard_filter="FullyQualifiedName~GitHub.Copilot.Test.ConnectionToken" - else - initials=(B E F G M O P R T V X Z) - shard_filter="" - fi + case "$DOTNET_TEST_SHARD" in + 1) + initials=(A C D H I J K L N Q S U W Y) + shard_filter="FullyQualifiedName~GitHub.Copilot.Test.ConnectionToken" + ;; + 2) + initials=(B E F G M O P R T V X Z) + shard_filter="" + ;; + 2a) + initials=(B E F G) + shard_filter="" + ;; + 2b) + initials=(M O P R) + shard_filter="" + ;; + 2c) + initials=(T V X Z) + shard_filter="" + ;; + esac for namespace in E2E Unit; do for initial in "${initials[@]}"; do