diff --git a/build/.moduleignore b/build/.moduleignore index fec2fbe2ba65ad..5eacde89bd21ef 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -246,6 +246,21 @@ zone.js/dist/** @github/copilot-win32-arm64/** @github/copilot-win32-x64/** +# @github/copilot-sdk platform packages - not needed. These carry the SDK's +# in-process FFI runtime (koffi transport: prebuilds/*/runtime.node). VS Code +# connects to the CLI over stdio (RuntimeConnection.forStdio) and never loads +# the SDK's in-process runtime, so these platform packages are unused. Leaving +# them in ships wrong-architecture native binaries (failing the Mach-O arch +# verification and changing the Linux package dependency list). +@github/copilot-sdk-darwin-arm64/** +@github/copilot-sdk-darwin-x64/** +@github/copilot-sdk-linux-arm64/** +@github/copilot-sdk-linux-x64/** +@github/copilot-sdk-linuxmusl-arm64/** +@github/copilot-sdk-linuxmusl-x64/** +@github/copilot-sdk-win32-arm64/** +@github/copilot-sdk-win32-x64/** + # @vscode/os-proxy-resolver platform binaries - selected target is re-added during packaging @vscode/os-proxy-resolver-darwin-arm64/** @vscode/os-proxy-resolver-darwin-x64/** diff --git a/package-lock.json b/package-lock.json index d622b46bd0dcdf..81465b98e603f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,8 @@ "dependencies": { "@anthropic-ai/sdk": "^0.82.0", "@devcontainers/cli": "0.88.0", - "@github/copilot": "1.0.83-2", - "@github/copilot-sdk": "1.0.13-preview.4", + "@github/copilot": "1.0.84-1", + "@github/copilot-sdk": "1.0.13", "@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13", "@microsoft/dev-tunnels-connections": "^1.3.41", @@ -1155,9 +1155,9 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.83-2.tgz", - "integrity": "sha512-ntRvwGdZbZJjOvdV3LVBQ7z69W19DO4MWe/dh6pP8kYeumbzC4udVj7mCtoSwBOs0hwXirhXY+BZwqSJUp5FLQ==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.84-1.tgz", + "integrity": "sha512-4OczQcFB/O6EAlfIhC5pxWIa4slOiV494fVZZLQ767EGPHFA34pDvDE485TZ5BlVLGcIgEcnkkNfQ4TXW0WL/w==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "detect-libc": "^2.1.2" @@ -1166,20 +1166,20 @@ "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.83-2", - "@github/copilot-darwin-x64": "1.0.83-2", - "@github/copilot-linux-arm64": "1.0.83-2", - "@github/copilot-linux-x64": "1.0.83-2", - "@github/copilot-linuxmusl-arm64": "1.0.83-2", - "@github/copilot-linuxmusl-x64": "1.0.83-2", - "@github/copilot-win32-arm64": "1.0.83-2", - "@github/copilot-win32-x64": "1.0.83-2" + "@github/copilot-darwin-arm64": "1.0.84-1", + "@github/copilot-darwin-x64": "1.0.84-1", + "@github/copilot-linux-arm64": "1.0.84-1", + "@github/copilot-linux-x64": "1.0.84-1", + "@github/copilot-linuxmusl-arm64": "1.0.84-1", + "@github/copilot-linuxmusl-x64": "1.0.84-1", + "@github/copilot-win32-arm64": "1.0.84-1", + "@github/copilot-win32-x64": "1.0.84-1" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.83-2.tgz", - "integrity": "sha512-RBjF/zTJe+gp9PsthYtIHF36+y3A3Zv3w/2FAa9nHF6ople1+lYoQ0OC1z6tWQSpBx3n/fSkNt0ebMmfhWlQyw==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.84-1.tgz", + "integrity": "sha512-3+/4rV6bpBHFJtTNVBFr+iAZfb3X1g02m9fwvh0IqXsC+7P+e/AIlYorEuVdjsOsRZx12cvciuqJ6er4BixIpA==", "cpu": [ "arm64" ], @@ -1193,9 +1193,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.83-2.tgz", - "integrity": "sha512-GzaarluCiHUA4yrYxWIFEklwPLTYjxGvLyYjI0wW5IPseT7GLFjN7AkDGRU4Ny/mxTj1MbUEsJAWVtiNy5EUHg==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.84-1.tgz", + "integrity": "sha512-u4X5pcM6act6BwbN0ayWif3e1kmvcV8GJQ7OoTsX6+c4bqNlDlnk8dVjvme+urtXxxYbWIELCYL30c8AGCxPgg==", "cpu": [ "x64" ], @@ -1209,9 +1209,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.83-2.tgz", - "integrity": "sha512-iGD5Pc7vnzrAjqTK/BrI8MDtMqXyxUe7P6u8TiGt+4DzKe3v2myT6eFQ+z/JJOHNpiu6LUpTDzwS8WttZqqJpA==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.84-1.tgz", + "integrity": "sha512-+0/iymVgaongpNMrip1I9zS9j/L/gsWUrxdkrMxx31mlmeFfiS8Zt1Y5HAyhCpbdwxKVcuLNzW1uhPw3jBj3kg==", "cpu": [ "arm64" ], @@ -1228,9 +1228,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.83-2.tgz", - "integrity": "sha512-jOQwz075vRWat+RJiMNtD+7vm4DQ83Dvw4iakpNkLfqWMPXlliVr/tqL+SffeSo87LnhOKobZOJOjELS27drdg==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.84-1.tgz", + "integrity": "sha512-GRFM0JuoBImAOAyFA9R6WoAHMAUhxTmnAa+xHZiFB2Ff9BNCRDQIbHOJNLIUTIGVUhopX2MRNOaAOGlmFIxdAg==", "cpu": [ "x64" ], @@ -1247,9 +1247,9 @@ } }, "node_modules/@github/copilot-linuxmusl-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.83-2.tgz", - "integrity": "sha512-6/+ByEBEV/vDofrCymaKrEZ5/p+TVHQfgWu8ywvWEPALfxj/iHpAF3grM2bj7uED4C19LTSarHNCkCqdrAUzIQ==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.84-1.tgz", + "integrity": "sha512-jDbCpcQ5Dr8rNXfJElajOAZduuv9hNS1mJUecfIUZIo4Frw3slURn/AMNSxIDA1BV+PageCcmNeWIsJoi1LvLg==", "cpu": [ "arm64" ], @@ -1266,9 +1266,9 @@ } }, "node_modules/@github/copilot-linuxmusl-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.83-2.tgz", - "integrity": "sha512-8dbiPUHaDemDibLfKXDe5xublJxt6fOht4yYDk/ikmOGAVezBUwRVO27PchXQBwGjP2PVNAASkv2WB4Ubw72lA==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.84-1.tgz", + "integrity": "sha512-+/QvyspEr4DcSNrcYc423GGlnmO/ACaqjQRlDrGFiao6GuWf6Dgz379coJ5dMF9EpelrEGO9oU5ybiCOP0S49g==", "cpu": [ "x64" ], @@ -1285,24 +1285,149 @@ } }, "node_modules/@github/copilot-sdk": { - "version": "1.0.13-preview.4", - "resolved": "https://registry.npmjs.org/@github/copilot-sdk/-/copilot-sdk-1.0.13-preview.4.tgz", - "integrity": "sha512-v8UDdtcEC/T8SfF3S0PTQi+1LtNS+7aPba+iYKDtvCXpUaoZHh66r+DZhIJxI7R+J9NESSxvF+kr8lWQoad5+Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk/-/copilot-sdk-1.0.13.tgz", + "integrity": "sha512-/j6/tGc9HOtcupuYFloOKk0fpScdpy65EVF1LKg2Z2VQOojCGPgBGkhgVGVDaqW7UB6TV2qbQZa9rKJimJ0wWQ==", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.83-0", "koffi": "^3.1.0", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" }, "engines": { "node": "^20.19.0 || >=22.12.0" - } + }, + "optionalDependencies": { + "@github/copilot-sdk-darwin-arm64": "1.0.13", + "@github/copilot-sdk-darwin-x64": "1.0.13", + "@github/copilot-sdk-linux-arm64": "1.0.13", + "@github/copilot-sdk-linux-x64": "1.0.13", + "@github/copilot-sdk-linuxmusl-arm64": "1.0.13", + "@github/copilot-sdk-linuxmusl-x64": "1.0.13", + "@github/copilot-sdk-win32-arm64": "1.0.13", + "@github/copilot-sdk-win32-x64": "1.0.13" + } + }, + "node_modules/@github/copilot-sdk-darwin-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-darwin-arm64/-/copilot-sdk-darwin-arm64-1.0.13.tgz", + "integrity": "sha512-AvBV5dzjNWpGwgoCnttrETnt7rLI4pTFQsRSM7GU5TK+YqShauffdMU06Bn/d+IDX2fj1Z4ThH7yl/gHCDvoNQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@github/copilot-sdk-darwin-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-darwin-x64/-/copilot-sdk-darwin-x64-1.0.13.tgz", + "integrity": "sha512-ZNQmTnHwk8bO/E514k0sFBsuCVNpFj8jMH4jeLncASQM4RRdOqYhXlYLW7H/ts7ANjdfMJjJY29NUqzEWaADOA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@github/copilot-sdk-linux-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linux-arm64/-/copilot-sdk-linux-arm64-1.0.13.tgz", + "integrity": "sha512-km1jvveDwlJbht8luFyBurz0wUxPHSzdkZRMJEJgVHYfMn03gi0gdnZ6fC6JWgkiffNZpukSxRPJmPfRobw6Aw==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-linux-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linux-x64/-/copilot-sdk-linux-x64-1.0.13.tgz", + "integrity": "sha512-4AbzC8Nb1dWYQ1uxbHGAh0ZAoOJeL3Ms1oe3byZLn8ENP1PfoyD8DJZUSsyXGYHxL7oLJyUqd3wyt18ifIg8iw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-linuxmusl-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linuxmusl-arm64/-/copilot-sdk-linuxmusl-arm64-1.0.13.tgz", + "integrity": "sha512-pCUjly1nXcNpYDZNnKrglFIFejbb+QDkloilldu+0tTbSzb8gEmVsbGwpfwyZXfNQf5Je5FFjsOfQR9PXH1NDQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-linuxmusl-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linuxmusl-x64/-/copilot-sdk-linuxmusl-x64-1.0.13.tgz", + "integrity": "sha512-y5RmqAbKSYHt+OwQdILIiiMSibXdd7/0kO7kFoTZCN2gn2eGRA8wJbXlf6KZh+yYgWSJGUL8677LDJd3WnIHbA==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-win32-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-win32-arm64/-/copilot-sdk-win32-arm64-1.0.13.tgz", + "integrity": "sha512-azISXh4pEVfX0hPzu58wZTYg3tdWG4L1nNpiRa/wdBxhcovbxw+eZVkI4C6FZMx0tiNYFkqWzVTV7oKskNybcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@github/copilot-sdk-win32-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-win32-x64/-/copilot-sdk-win32-x64-1.0.13.tgz", + "integrity": "sha512-lvS7kMbuuxydBQxPDHCkuUwbC858Rvcz3Q3vv0mxnLKuWJ75lAcqERefqA2p4beaPdez+ifZOA5heUT0rx3GnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.83-2.tgz", - "integrity": "sha512-ZE1iUXlJSnNIH+VoRG96emy2e7jMJm85/pcKCrgLvqhDAcQSqiqLVv3OJp2VX2IcDxToOpiaGccU8Ab9zHQqkQ==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.84-1.tgz", + "integrity": "sha512-UXw1rWxvU32QurRrgWsujW2ibRUQIgpvIONcYL+csJwgpcRjciP2A4vmoS7vgsu/ezWLK2HhlAqO6ryid3SNsg==", "cpu": [ "arm64" ], @@ -1316,9 +1441,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.83-2.tgz", - "integrity": "sha512-qfturLon+1oaWqSaXCISL6BEf5K+ijJFl0m/OZwstWYSlIlaE2+iOz5LcRukoxm25OG1JZDHQFp1k2PY2A+LbA==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.84-1.tgz", + "integrity": "sha512-qSAyBGujdHZ/fRiTpdKcGYv0c/RG2j1fF3CUCzKv3PoqLj2k0pXk+8IXtEl82K9y7K62UEXT4rOxQ6INxKMh0A==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 25e69b231c9516..fc6ce5ee059807 100644 --- a/package.json +++ b/package.json @@ -102,8 +102,8 @@ "dependencies": { "@anthropic-ai/sdk": "^0.82.0", "@devcontainers/cli": "0.88.0", - "@github/copilot": "1.0.83-2", - "@github/copilot-sdk": "1.0.13-preview.4", + "@github/copilot": "1.0.84-1", + "@github/copilot-sdk": "1.0.13", "@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13", "@microsoft/dev-tunnels-connections": "^1.3.41", diff --git a/remote/package-lock.json b/remote/package-lock.json index 0a122e910e063c..e216650d3bd5ea 100644 --- a/remote/package-lock.json +++ b/remote/package-lock.json @@ -8,8 +8,8 @@ "name": "vscode-reh", "version": "0.0.0", "dependencies": { - "@github/copilot": "1.0.83-2", - "@github/copilot-sdk": "1.0.13-preview.4", + "@github/copilot": "1.0.84-1", + "@github/copilot-sdk": "1.0.13", "@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13", "@microsoft/mxc-sdk": "0.8.0", @@ -61,9 +61,9 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.83-2.tgz", - "integrity": "sha512-ntRvwGdZbZJjOvdV3LVBQ7z69W19DO4MWe/dh6pP8kYeumbzC4udVj7mCtoSwBOs0hwXirhXY+BZwqSJUp5FLQ==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.84-1.tgz", + "integrity": "sha512-4OczQcFB/O6EAlfIhC5pxWIa4slOiV494fVZZLQ767EGPHFA34pDvDE485TZ5BlVLGcIgEcnkkNfQ4TXW0WL/w==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "detect-libc": "^2.1.2" @@ -72,20 +72,20 @@ "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.83-2", - "@github/copilot-darwin-x64": "1.0.83-2", - "@github/copilot-linux-arm64": "1.0.83-2", - "@github/copilot-linux-x64": "1.0.83-2", - "@github/copilot-linuxmusl-arm64": "1.0.83-2", - "@github/copilot-linuxmusl-x64": "1.0.83-2", - "@github/copilot-win32-arm64": "1.0.83-2", - "@github/copilot-win32-x64": "1.0.83-2" + "@github/copilot-darwin-arm64": "1.0.84-1", + "@github/copilot-darwin-x64": "1.0.84-1", + "@github/copilot-linux-arm64": "1.0.84-1", + "@github/copilot-linux-x64": "1.0.84-1", + "@github/copilot-linuxmusl-arm64": "1.0.84-1", + "@github/copilot-linuxmusl-x64": "1.0.84-1", + "@github/copilot-win32-arm64": "1.0.84-1", + "@github/copilot-win32-x64": "1.0.84-1" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.83-2.tgz", - "integrity": "sha512-RBjF/zTJe+gp9PsthYtIHF36+y3A3Zv3w/2FAa9nHF6ople1+lYoQ0OC1z6tWQSpBx3n/fSkNt0ebMmfhWlQyw==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.84-1.tgz", + "integrity": "sha512-3+/4rV6bpBHFJtTNVBFr+iAZfb3X1g02m9fwvh0IqXsC+7P+e/AIlYorEuVdjsOsRZx12cvciuqJ6er4BixIpA==", "cpu": [ "arm64" ], @@ -99,9 +99,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.83-2.tgz", - "integrity": "sha512-GzaarluCiHUA4yrYxWIFEklwPLTYjxGvLyYjI0wW5IPseT7GLFjN7AkDGRU4Ny/mxTj1MbUEsJAWVtiNy5EUHg==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.84-1.tgz", + "integrity": "sha512-u4X5pcM6act6BwbN0ayWif3e1kmvcV8GJQ7OoTsX6+c4bqNlDlnk8dVjvme+urtXxxYbWIELCYL30c8AGCxPgg==", "cpu": [ "x64" ], @@ -115,9 +115,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.83-2.tgz", - "integrity": "sha512-iGD5Pc7vnzrAjqTK/BrI8MDtMqXyxUe7P6u8TiGt+4DzKe3v2myT6eFQ+z/JJOHNpiu6LUpTDzwS8WttZqqJpA==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.84-1.tgz", + "integrity": "sha512-+0/iymVgaongpNMrip1I9zS9j/L/gsWUrxdkrMxx31mlmeFfiS8Zt1Y5HAyhCpbdwxKVcuLNzW1uhPw3jBj3kg==", "cpu": [ "arm64" ], @@ -134,9 +134,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.83-2.tgz", - "integrity": "sha512-jOQwz075vRWat+RJiMNtD+7vm4DQ83Dvw4iakpNkLfqWMPXlliVr/tqL+SffeSo87LnhOKobZOJOjELS27drdg==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.84-1.tgz", + "integrity": "sha512-GRFM0JuoBImAOAyFA9R6WoAHMAUhxTmnAa+xHZiFB2Ff9BNCRDQIbHOJNLIUTIGVUhopX2MRNOaAOGlmFIxdAg==", "cpu": [ "x64" ], @@ -153,9 +153,9 @@ } }, "node_modules/@github/copilot-linuxmusl-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.83-2.tgz", - "integrity": "sha512-6/+ByEBEV/vDofrCymaKrEZ5/p+TVHQfgWu8ywvWEPALfxj/iHpAF3grM2bj7uED4C19LTSarHNCkCqdrAUzIQ==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.84-1.tgz", + "integrity": "sha512-jDbCpcQ5Dr8rNXfJElajOAZduuv9hNS1mJUecfIUZIo4Frw3slURn/AMNSxIDA1BV+PageCcmNeWIsJoi1LvLg==", "cpu": [ "arm64" ], @@ -172,9 +172,9 @@ } }, "node_modules/@github/copilot-linuxmusl-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.83-2.tgz", - "integrity": "sha512-8dbiPUHaDemDibLfKXDe5xublJxt6fOht4yYDk/ikmOGAVezBUwRVO27PchXQBwGjP2PVNAASkv2WB4Ubw72lA==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.84-1.tgz", + "integrity": "sha512-+/QvyspEr4DcSNrcYc423GGlnmO/ACaqjQRlDrGFiao6GuWf6Dgz379coJ5dMF9EpelrEGO9oU5ybiCOP0S49g==", "cpu": [ "x64" ], @@ -191,24 +191,149 @@ } }, "node_modules/@github/copilot-sdk": { - "version": "1.0.13-preview.4", - "resolved": "https://registry.npmjs.org/@github/copilot-sdk/-/copilot-sdk-1.0.13-preview.4.tgz", - "integrity": "sha512-v8UDdtcEC/T8SfF3S0PTQi+1LtNS+7aPba+iYKDtvCXpUaoZHh66r+DZhIJxI7R+J9NESSxvF+kr8lWQoad5+Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk/-/copilot-sdk-1.0.13.tgz", + "integrity": "sha512-/j6/tGc9HOtcupuYFloOKk0fpScdpy65EVF1LKg2Z2VQOojCGPgBGkhgVGVDaqW7UB6TV2qbQZa9rKJimJ0wWQ==", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.83-0", "koffi": "^3.1.0", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" }, "engines": { "node": "^20.19.0 || >=22.12.0" - } + }, + "optionalDependencies": { + "@github/copilot-sdk-darwin-arm64": "1.0.13", + "@github/copilot-sdk-darwin-x64": "1.0.13", + "@github/copilot-sdk-linux-arm64": "1.0.13", + "@github/copilot-sdk-linux-x64": "1.0.13", + "@github/copilot-sdk-linuxmusl-arm64": "1.0.13", + "@github/copilot-sdk-linuxmusl-x64": "1.0.13", + "@github/copilot-sdk-win32-arm64": "1.0.13", + "@github/copilot-sdk-win32-x64": "1.0.13" + } + }, + "node_modules/@github/copilot-sdk-darwin-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-darwin-arm64/-/copilot-sdk-darwin-arm64-1.0.13.tgz", + "integrity": "sha512-AvBV5dzjNWpGwgoCnttrETnt7rLI4pTFQsRSM7GU5TK+YqShauffdMU06Bn/d+IDX2fj1Z4ThH7yl/gHCDvoNQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@github/copilot-sdk-darwin-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-darwin-x64/-/copilot-sdk-darwin-x64-1.0.13.tgz", + "integrity": "sha512-ZNQmTnHwk8bO/E514k0sFBsuCVNpFj8jMH4jeLncASQM4RRdOqYhXlYLW7H/ts7ANjdfMJjJY29NUqzEWaADOA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@github/copilot-sdk-linux-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linux-arm64/-/copilot-sdk-linux-arm64-1.0.13.tgz", + "integrity": "sha512-km1jvveDwlJbht8luFyBurz0wUxPHSzdkZRMJEJgVHYfMn03gi0gdnZ6fC6JWgkiffNZpukSxRPJmPfRobw6Aw==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-linux-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linux-x64/-/copilot-sdk-linux-x64-1.0.13.tgz", + "integrity": "sha512-4AbzC8Nb1dWYQ1uxbHGAh0ZAoOJeL3Ms1oe3byZLn8ENP1PfoyD8DJZUSsyXGYHxL7oLJyUqd3wyt18ifIg8iw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-linuxmusl-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linuxmusl-arm64/-/copilot-sdk-linuxmusl-arm64-1.0.13.tgz", + "integrity": "sha512-pCUjly1nXcNpYDZNnKrglFIFejbb+QDkloilldu+0tTbSzb8gEmVsbGwpfwyZXfNQf5Je5FFjsOfQR9PXH1NDQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-linuxmusl-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-linuxmusl-x64/-/copilot-sdk-linuxmusl-x64-1.0.13.tgz", + "integrity": "sha512-y5RmqAbKSYHt+OwQdILIiiMSibXdd7/0kO7kFoTZCN2gn2eGRA8wJbXlf6KZh+yYgWSJGUL8677LDJd3WnIHbA==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@github/copilot-sdk-win32-arm64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-win32-arm64/-/copilot-sdk-win32-arm64-1.0.13.tgz", + "integrity": "sha512-azISXh4pEVfX0hPzu58wZTYg3tdWG4L1nNpiRa/wdBxhcovbxw+eZVkI4C6FZMx0tiNYFkqWzVTV7oKskNybcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@github/copilot-sdk-win32-x64": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@github/copilot-sdk-win32-x64/-/copilot-sdk-win32-x64-1.0.13.tgz", + "integrity": "sha512-lvS7kMbuuxydBQxPDHCkuUwbC858Rvcz3Q3vv0mxnLKuWJ75lAcqERefqA2p4beaPdez+ifZOA5heUT0rx3GnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.83-2.tgz", - "integrity": "sha512-ZE1iUXlJSnNIH+VoRG96emy2e7jMJm85/pcKCrgLvqhDAcQSqiqLVv3OJp2VX2IcDxToOpiaGccU8Ab9zHQqkQ==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.84-1.tgz", + "integrity": "sha512-UXw1rWxvU32QurRrgWsujW2ibRUQIgpvIONcYL+csJwgpcRjciP2A4vmoS7vgsu/ezWLK2HhlAqO6ryid3SNsg==", "cpu": [ "arm64" ], @@ -222,9 +347,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.83-2", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.83-2.tgz", - "integrity": "sha512-qfturLon+1oaWqSaXCISL6BEf5K+ijJFl0m/OZwstWYSlIlaE2+iOz5LcRukoxm25OG1JZDHQFp1k2PY2A+LbA==", + "version": "1.0.84-1", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.84-1.tgz", + "integrity": "sha512-qSAyBGujdHZ/fRiTpdKcGYv0c/RG2j1fF3CUCzKv3PoqLj2k0pXk+8IXtEl82K9y7K62UEXT4rOxQ6INxKMh0A==", "cpu": [ "x64" ], diff --git a/remote/package.json b/remote/package.json index 02ef9b706ade40..0fcf2a4ece34f9 100644 --- a/remote/package.json +++ b/remote/package.json @@ -3,8 +3,8 @@ "version": "0.0.0", "private": true, "dependencies": { - "@github/copilot": "1.0.83-2", - "@github/copilot-sdk": "1.0.13-preview.4", + "@github/copilot": "1.0.84-1", + "@github/copilot-sdk": "1.0.13", "@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13", "@microsoft/mxc-sdk": "0.8.0", diff --git a/scripts/chat-simulation/common/mock-llm-server.ts b/scripts/chat-simulation/common/mock-llm-server.ts index 9d942b7d39dd31..7afb591428a6bd 100644 --- a/scripts/chat-simulation/common/mock-llm-server.ts +++ b/scripts/chat-simulation/common/mock-llm-server.ts @@ -1103,8 +1103,21 @@ async function handleResponsesApi(body: string, res: import('http').ServerRespon let isScenarioRequest = false; let requestToolNames: string[] = []; let input: any[] = []; + // The Responses API request carries a `stream` flag whose wire default is + // false. Real CAPI answers a non-streaming request with a single completed + // `Response` JSON object rather than an SSE `text/event-stream`. The runtime + // uses the non-streaming transport for resumed turns (a resumed session + // restores `enableStreaming` as false and omits `stream` from the request), + // so the mock must honor the flag or the runtime rejects the SSE body + // ("non-streaming Responses body was not valid JSON"). + let streaming = true; try { const parsed = JSON.parse(body); + // The OpenAI Responses wire contract defaults `stream` to false, so an + // absent flag means a non-streaming request. Resumed turns omit `stream` + // (the runtime restores `enableStreaming` as false on resume) and expect a + // single JSON `Response`; only an explicit `stream: true` selects SSE. + streaming = parsed.stream === true; // Responses API uses `input` array and `tools` array input = parsed.input || []; const tools = parsed.tools || []; @@ -1133,6 +1146,11 @@ async function handleResponsesApi(body: string, res: import('http').ServerRespon const scenario = SCENARIOS[scenarioId] || SCENARIOS[DEFAULT_SCENARIO]; + if (!streaming) { + await sendResponsesNonStreaming(res, scenario, input, requestToolNames, scenarioId, isScenarioRequest); + return; + } + res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', @@ -1180,6 +1198,106 @@ async function handleResponsesApi(body: string, res: import('http').ServerRespon await streamResponsesContent(res, chunks, isScenarioRequest); } +/** + * Resolve the assistant output for a `/responses` request and emit it as a + * single non-streaming `Response` JSON object (no SSE). Mirrors the turn + * resolution in {@link handleResponsesApi} so `stream: false` requests — used + * by the runtime for resumed turns — get the same content or tool calls the + * streaming path would have produced. + */ +async function sendResponsesNonStreaming( + res: import('http').ServerResponse, + scenario: StreamChunk[] | MultiTurnScenario, + input: any[], + requestToolNames: string[], + scenarioId: string, + isScenarioRequest: boolean +): Promise { + const responseId = `resp_mock_${Date.now()}`; + const model = 'gpt-5.3-codex'; + let output: any[]; + let outputTokens: number; + + if (isMultiTurnScenario(scenario) && requestToolNames.length > 0) { + const { turn } = resolveCurrentResponsesApiTurn(scenario.turns, input); + + if (turn.kind === 'tool-calls') { + output = turn.toolCalls.map((call, i) => { + let toolName = requestToolNames.find(name => call.toolNamePattern.test(name)); + if (!toolName) { + toolName = call.toolNamePattern.source.replace(/[\\.|?*+^${}()\[\]]/g, ''); + } + const callId = `call_${scenarioId}_${i}_${Date.now()}`; + const argsJson = JSON.stringify(resolveScenarioToolCallArguments(call.arguments, input)); + return { + id: `fc_${callId}`, + type: 'function_call', + status: 'completed', + call_id: callId, + name: toolName, + arguments: argsJson, + }; + }); + outputTokens = 1; + } else { + let text: string; + if (turn.kind === 'echo-last-message') { + const lastItem = input[input.length - 1]; + text = '```json\n' + JSON.stringify(lastItem ?? null, null, 2) + '\n```'; + } else if (turn.kind === 'echo-last-tool-result') { + text = '```json\n' + JSON.stringify(findLastToolResult(input) ?? null, null, 2) + '\n```'; + } else { + text = turn.chunks.map(chunk => chunk.content).join(''); + } + output = [{ + id: `msg_mock_${Date.now()}`, + type: 'message', + role: 'assistant', + status: 'completed', + content: [{ type: 'output_text', text }], + }]; + outputTokens = Math.max(1, Math.ceil(text.length / 4)); + } + } else { + const chunks = isMultiTurnScenario(scenario) + ? getFirstContentTurn(scenario) + : scenario as StreamChunk[]; + const text = chunks.map(chunk => chunk.content).join(''); + output = [{ + id: `msg_mock_${Date.now()}`, + type: 'message', + role: 'assistant', + status: 'completed', + content: [{ type: 'output_text', text }], + }]; + outputTokens = Math.max(1, Math.ceil(text.length / 4)); + } + + res.writeHead(200, { + 'Content-Type': 'application/json', + 'X-Request-Id': 'perf-benchmark-' + Date.now(), + }); + res.end(JSON.stringify({ + id: responseId, + object: 'response', + created_at: Math.floor(Date.now() / 1000), + model, + status: 'completed', + output, + usage: { + input_tokens: 100, + output_tokens: outputTokens, + total_tokens: 100 + outputTokens, + input_tokens_details: { cached_tokens: 0 }, + output_tokens_details: { reasoning_tokens: 0 }, + }, + })); + + if (isScenarioRequest) { + serverEvents.emit('scenarioCompletion'); + } +} + /** * Count completed assistant turns in a Responses API `input` array, after the * last user message carrying a `[scenario:X]` tag. Consecutive assistant