From 28eea881afc4c4d5620e0a14e02d38725549fae5 Mon Sep 17 00:00:00 2001 From: David Moore Date: Fri, 29 May 2026 17:11:09 -0700 Subject: [PATCH 1/3] update readme.md --- README.md | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 8388478209..e1f5d70a78 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GitHub Copilot CLI SDKs +# GitHub Copilot SDKs ![GitHub Copilot SDK](./assets/RepoHeader_01.png) @@ -8,21 +8,21 @@ Agents for every app. -Embed Copilot's agentic workflows in your application—now available in public preview as a programmable SDK for Python, TypeScript, Go, .NET, and Java. +Embed Copilot's agentic workflows in your application—available in public preview as programmable SDKs for Python, TypeScript, Go, .NET, and Java. The GitHub Copilot SDK exposes the same engine behind Copilot CLI: a production-tested agent runtime you can invoke programmatically. No need to build your own orchestration—you define agent behavior, Copilot handles planning, tool invocation, file edits, and more. ## Available SDKs -| SDK | Location | Cookbook | Installation | -| ------------------------ | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| **Node.js / TypeScript** | [`nodejs/`](./nodejs/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/nodejs/README.md) | `npm install @github/copilot-sdk` | -| **Python** | [`python/`](./python/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/python/README.md) | `pip install github-copilot-sdk` | -| **Go** | [`go/`](./go/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/go/README.md) | `go get github.com/github/copilot-sdk/go` | -| **.NET** | [`dotnet/`](./dotnet/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/dotnet/README.md) | `dotnet add package GitHub.Copilot.SDK` | -| **Java** | [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/java/README.md) | Maven coordinates
`com.github:copilot-sdk-java`
See instructions for [Maven](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#maven) and [Gradle](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#gradle) | +| SDK | Location | Cookbook | Installation | +| --- | --- | --- | --- | +| **Node.js / TypeScript** | [`nodejs/`](./nodejs/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/nodejs/README.md) | `npm install @github/copilot-sdk` | +| **Python** | [`python/`](./python/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/python/README.md) | `pip install github-copilot-sdk` | +| **Go** | [`go/`](./go/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/go/README.md) | `go get github.com/github/copilot-sdk/go` | +| **.NET** | [`dotnet/`](./dotnet/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/dotnet/README.md) | `dotnet add package GitHub.Copilot.SDK` | +| **Java** | [`java/`](./java/) | [Cookbook](https://github.com/github/copilot-sdk-java/tree/main/src/site/markdown/cookbook) | Maven: `com.github:copilot-sdk-java` | -See the individual SDK READMEs for installation, usage examples, and API reference. +See the individual SDK READMEs for installation, usage examples, and API reference. The Java SDK is maintained in the separate [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java) repository; this repo includes a Java landing page with links to its documentation and source. ## Getting Started @@ -39,6 +39,26 @@ For the Go SDK, [install the CLI manually](https://github.com/features/copilot/c 3. **See the SDK README** for usage examples and API documentation. +## Developing in This Repository + +Use the repo-level `just` tasks when working across SDKs: + +```bash +just install +just format +just lint +just test +``` + +You can also run language-specific commands from each SDK folder: + +| SDK | Test command | +| --- | --- | +| Node.js / TypeScript | `cd nodejs && npm test` | +| Python | `cd python && uv run pytest` | +| Go | `cd go && go test ./...` | +| .NET | `cd dotnet && dotnet test test/GitHub.Copilot.SDK.Test.csproj` | + ## Architecture All SDKs communicate with the Copilot CLI server via JSON-RPC: @@ -86,7 +106,7 @@ No — for Node.js, Python, and .NET SDKs, the Copilot CLI is bundled automatica For Go SDK, you may still need to install the CLI manually. -Advanced: You can override the bundled CLI using `cliPath` or `cliUrl` if you want to use a custom CLI binary or connect to an external server. +Advanced: You can override the bundled CLI with the SDK-specific CLI path or CLI URL option if you want to use a custom CLI binary or connect to an external server. See the language README for option names and examples. ### What tools are enabled by default? From a39f9de377a99c08a79d5178045a161602cd3a66 Mon Sep 17 00:00:00 2001 From: David Moore Date: Sat, 30 May 2026 20:48:32 -0700 Subject: [PATCH 2/3] node modules update --- nodejs/package-lock.json | 1987 +++++++++++++++++++------------------- nodejs/package.json | 8 +- nodejs/tsconfig.json | 1 + 3 files changed, 1019 insertions(+), 977 deletions(-) diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index ac03d9a998..9552c10c24 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -14,12 +14,12 @@ "zod": "^4.3.6" }, "devDependencies": { - "@platformatic/vfs": "^0.3.0", + "@platformatic/vfs": "^0.4.0", "@types/node": "^25.2.0", "@typescript-eslint/eslint-plugin": "^8.54.0", "@typescript-eslint/parser": "^8.54.0", - "esbuild": "^0.27.2", - "eslint": "^9.0.0", + "esbuild": "^0.28.0", + "eslint": "^10.4.1", "glob": "^13.0.1", "json-schema": "^0.4.0", "json-schema-to-typescript": "^15.0.4", @@ -28,7 +28,7 @@ "rimraf": "^6.1.2", "semver": "^7.7.3", "tsx": "^4.20.6", - "typescript": "^5.0.0", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "engines": { @@ -53,10 +53,44 @@ "url": "https://github.com/sponsors/philsturgeon" } }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", + "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", "cpu": [ "ppc64" ], @@ -71,9 +105,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", + "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", "cpu": [ "arm" ], @@ -88,9 +122,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", + "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", "cpu": [ "arm64" ], @@ -105,9 +139,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", + "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", "cpu": [ "x64" ], @@ -122,9 +156,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", + "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", "cpu": [ "arm64" ], @@ -139,9 +173,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", + "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", "cpu": [ "x64" ], @@ -156,9 +190,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", + "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", "cpu": [ "arm64" ], @@ -173,9 +207,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", + "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", "cpu": [ "x64" ], @@ -190,9 +224,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", + "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", "cpu": [ "arm" ], @@ -207,9 +241,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", + "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", "cpu": [ "arm64" ], @@ -224,9 +258,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", + "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", "cpu": [ "ia32" ], @@ -241,9 +275,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", + "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", "cpu": [ "loong64" ], @@ -258,9 +292,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", + "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", "cpu": [ "mips64el" ], @@ -275,9 +309,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", + "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", "cpu": [ "ppc64" ], @@ -292,9 +326,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", + "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", "cpu": [ "riscv64" ], @@ -309,9 +343,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", + "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", "cpu": [ "s390x" ], @@ -326,9 +360,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", + "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", "cpu": [ "x64" ], @@ -343,9 +377,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", + "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", "cpu": [ "arm64" ], @@ -360,9 +394,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", + "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", "cpu": [ "x64" ], @@ -377,9 +411,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", + "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", "cpu": [ "arm64" ], @@ -394,9 +428,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", + "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", "cpu": [ "x64" ], @@ -411,9 +445,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", + "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", "cpu": [ "arm64" ], @@ -428,9 +462,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", + "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", "cpu": [ "x64" ], @@ -445,9 +479,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", - "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", + "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", "cpu": [ "arm64" ], @@ -462,9 +496,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", - "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", + "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", "cpu": [ "ia32" ], @@ -479,9 +513,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", - "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", + "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", "cpu": [ "x64" ], @@ -525,164 +559,96 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.7", + "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "minimatch": "^10.2.4" }, "engines": { - "node": "*" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0" + "@eslint/core": "^1.2.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", + "@eslint/core": "^1.2.1", "levn": "^0.4.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@github/copilot": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.36-0.tgz", - "integrity": "sha512-M1mxNbdRkiQv4qApKgV33jK6AsA3TqlMAtKyaDv9sJzE/kZa4IRUAUrmO+3d3C+ojZa/Yffjy0/6dC6kllhI4g==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.56.tgz", + "integrity": "sha512-epJ9yRqK1QjU73FDAlxPqZKh+CxkA1TIYbhTvXblturw5wWUhCSRhI2XoamNERohPznY10Wg3tbZC3jUAmQdJw==", "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "detect-libc": "^2.1.2" + }, "bin": { "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.36-0", - "@github/copilot-darwin-x64": "1.0.36-0", - "@github/copilot-linux-arm64": "1.0.36-0", - "@github/copilot-linux-x64": "1.0.36-0", - "@github/copilot-win32-arm64": "1.0.36-0", - "@github/copilot-win32-x64": "1.0.36-0" + "@github/copilot-darwin-arm64": "1.0.56", + "@github/copilot-darwin-x64": "1.0.56", + "@github/copilot-linux-arm64": "1.0.56", + "@github/copilot-linux-x64": "1.0.56", + "@github/copilot-linuxmusl-arm64": "1.0.56", + "@github/copilot-linuxmusl-x64": "1.0.56", + "@github/copilot-win32-arm64": "1.0.56", + "@github/copilot-win32-x64": "1.0.56" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.36-0.tgz", - "integrity": "sha512-S0/oT9eo2WvjteWjtjougfh6tokq1Upye6tWeTHWq001E2UvrBN69+cQJNcNQUkO2C2AVvoqiI5RJT/E+HDrww==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.56.tgz", + "integrity": "sha512-vCittEfa/Qys86TxhI5rgxy8L8WTQoooIjEj8kZe7mq62TOOrFGnWJjqaR6mgljmPTxKRFmT6achUxKRVZil9g==", "cpu": [ "arm64" ], @@ -696,9 +662,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.36-0.tgz", - "integrity": "sha512-msY1h6J2j005HMHxYqXO6Q5rJdqAjkUnnBwne5p3s71EHGekOl5U8GJs1Q2Y287+e9ZKSY68ANt/JB0Gq2ivmA==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.56.tgz", + "integrity": "sha512-yO7OvFysG/98s9T8k5cEXzBz++mki7ufkH2S8/jqC7YIKhlj64rh+/vIBU5DQ9RLXbPKm6OjGjJn8iDWXzzuJQ==", "cpu": [ "x64" ], @@ -712,9 +678,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.36-0.tgz", - "integrity": "sha512-2yIKaU5XdC0xkFXt80pU+Uqr7pU2lHHzcBehzhDHfDeZVNq8jQj61Ka9r9NBjU3W8c3f99ctPMN8gErFnc5L/A==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.56.tgz", + "integrity": "sha512-ukOwSwFOqgpQQs5Nw3GAFRGIn6LqA8KfI6hD+tUeqoWkB0OlXxwQER7sKEfSQZu1vcNnW1+YIM/qT5W5RWdmhA==", "cpu": [ "arm64" ], @@ -728,9 +694,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.36-0.tgz", - "integrity": "sha512-tiEnl40MmEc4uybJ8at9TagmEcMsNHDiqzER72PYAD4mKwWklZ3RAClaVgzQlTxn1tMdNM7gbajyqSivLmo+rA==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.56.tgz", + "integrity": "sha512-C84nduDAeHCTEfjs+mYfIjbBjGRx2huy8XZBu0ETAD08uUBuQpUHn2PYhaaHb1yKoG6LMceKt10PTrqNdOE9IQ==", "cpu": [ "x64" ], @@ -743,10 +709,42 @@ "copilot-linux-x64": "copilot" } }, + "node_modules/@github/copilot-linuxmusl-arm64": { + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-arm64/-/copilot-linuxmusl-arm64-1.0.56.tgz", + "integrity": "sha512-EuDmGVl4fEk7Q+AVhkQkpiRlXpjGGQ5GzfBzMEOWgrvfdCLcT62p1uEaz+AT2UdkJiViruLyVf3pZFUyQwyvjA==", + "cpu": [ + "arm64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "linux" + ], + "bin": { + "copilot-linuxmusl-arm64": "copilot" + } + }, + "node_modules/@github/copilot-linuxmusl-x64": { + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-linuxmusl-x64/-/copilot-linuxmusl-x64-1.0.56.tgz", + "integrity": "sha512-qRXub9+1J7mNIzweAaw0tGgztS6XK+ZlwhUjOcFTusbqnED33zw4HzExUNUTTDue/BOUwkYzvXqMqn5N6juIJg==", + "cpu": [ + "x64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "linux" + ], + "bin": { + "copilot-linuxmusl-x64": "copilot" + } + }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.36-0.tgz", - "integrity": "sha512-c6hT1lnl7B44tLJGmyugvqPQ51bIMXtTeCb7Z5riPd4Sv17gsU+gLWewJLddAnu+0XhjzlBsIHv9GUtxGPCgWQ==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.56.tgz", + "integrity": "sha512-/lj/zEezNoewCxvVORLN0JFvvi9WmQTYvtIyyg8kVlA9HZeg0vpRTBM5hdoni2D8mKb7g/8w8VF2Ecy9D3+NpA==", "cpu": [ "arm64" ], @@ -760,9 +758,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.36-0", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.36-0.tgz", - "integrity": "sha512-RJy3RtlX+34denR3+ttBZsbyeaGoA2nlYoEtnijsQquK37on4gTwVavRbvjfVa2pL+aMuKhRD+xdvsUd+Fu4Lg==", + "version": "1.0.56", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.56.tgz", + "integrity": "sha512-062C3lp4nvVl+vkkteYOrYpgnqZ/SAi54NuTQ4k45V2TNmLIpmMybmM0tCluxOfiTY+8EuS72H9RS8NUj1CzhQ==", "cpu": [ "x64" ], @@ -783,29 +781,43 @@ "license": "MIT" }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -848,34 +860,49 @@ "dev": true, "license": "MIT" }, - "node_modules/@platformatic/vfs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@platformatic/vfs/-/vfs-0.3.0.tgz", - "integrity": "sha512-BGXVOAz59HYPZCgI9v/MtiTF/ng8YAWtkooxVwOPR3TatNgGy0WZ/t15ScqytiZi5NdSRqWNRfuAbXKeAlKDdQ==", + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 22" + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", - "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", - "cpu": [ - "arm" - ], + "node_modules/@oxc-project/types": { + "version": "0.132.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", + "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@platformatic/vfs": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@platformatic/vfs/-/vfs-0.4.0.tgz", + "integrity": "sha512-JwRxSIG63e/VaDSkYXkSBajySt5MJzxYIKuknYda28fhhmJMqyUGf5rbKrGW+vO9L83nIjQH3+YI12fp7EKICQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 22" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", - "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", + "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", "cpu": [ "arm64" ], @@ -884,12 +911,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", - "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", "cpu": [ "arm64" ], @@ -898,12 +928,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", - "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", + "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", "cpu": [ "x64" ], @@ -912,26 +945,15 @@ "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", - "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", - "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", + "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", "cpu": [ "x64" ], @@ -940,26 +962,15 @@ "optional": true, "os": [ "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", - "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", - "cpu": [ - "arm" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", - "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", + "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", "cpu": [ "arm" ], @@ -968,26 +979,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", - "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", - "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", + "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", "cpu": [ "arm64" ], @@ -996,54 +996,32 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", - "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", - "cpu": [ - "loong64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", - "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", + "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", "cpu": [ - "loong64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", - "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", - "cpu": [ - "ppc64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", - "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", + "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", "cpu": [ "ppc64" ], @@ -1052,40 +1030,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", - "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", - "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", - "cpu": [ - "riscv64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", - "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", + "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", "cpu": [ "s390x" ], @@ -1094,12 +1047,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", - "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", + "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", "cpu": [ "x64" ], @@ -1108,12 +1064,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", - "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", + "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", "cpu": [ "x64" ], @@ -1122,26 +1081,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", - "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", - "cpu": [ - "x64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", - "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", + "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", "cpu": [ "arm64" ], @@ -1150,40 +1098,51 @@ "optional": true, "os": [ "openharmony" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", - "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", + "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", "cpu": [ - "arm64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", - "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", + "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", - "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", + "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", "cpu": [ "x64" ], @@ -1192,21 +1151,17 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", - "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", - "cpu": [ - "x64" ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, "node_modules/@standard-schema/spec": { "version": "1.1.0", @@ -1215,6 +1170,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/chai": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", @@ -1233,10 +1199,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "dev": true, "license": "MIT" }, @@ -1248,37 +1221,37 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==", + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "25.3.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz", - "integrity": "sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==", + "version": "25.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", + "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.18.0" + "undici-types": ">=7.24.0 <7.24.7" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", - "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.0.tgz", + "integrity": "sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/type-utils": "8.56.1", - "@typescript-eslint/utils": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/type-utils": "8.60.0", + "@typescript-eslint/utils": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1288,22 +1261,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.56.1", + "@typescript-eslint/parser": "^8.60.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", - "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.0.tgz", + "integrity": "sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", "debug": "^4.4.3" }, "engines": { @@ -1315,18 +1288,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.0.tgz", + "integrity": "sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.56.1", - "@typescript-eslint/types": "^8.56.1", + "@typescript-eslint/tsconfig-utils": "^8.60.0", + "@typescript-eslint/types": "^8.60.0", "debug": "^4.4.3" }, "engines": { @@ -1337,18 +1310,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.0.tgz", + "integrity": "sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1" + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1359,9 +1332,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.0.tgz", + "integrity": "sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==", "dev": true, "license": "MIT", "engines": { @@ -1372,21 +1345,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", - "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.0.tgz", + "integrity": "sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0", + "@typescript-eslint/utils": "8.60.0", "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1397,13 +1370,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.0.tgz", + "integrity": "sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==", "dev": true, "license": "MIT", "engines": { @@ -1415,21 +1388,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.0.tgz", + "integrity": "sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.56.1", - "@typescript-eslint/tsconfig-utils": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/project-service": "8.60.0", + "@typescript-eslint/tsconfig-utils": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/visitor-keys": "8.60.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1439,20 +1412,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", - "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.0.tgz", + "integrity": "sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1" + "@typescript-eslint/scope-manager": "8.60.0", + "@typescript-eslint/types": "8.60.0", + "@typescript-eslint/typescript-estree": "8.60.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1463,17 +1436,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "version": "8.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.0.tgz", + "integrity": "sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/types": "8.60.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -1498,31 +1471,31 @@ } }, "node_modules/@vitest/expect": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", - "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.7.tgz", + "integrity": "sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==", "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", + "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.18", - "@vitest/utils": "4.0.18", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" + "@vitest/spy": "4.1.7", + "@vitest/utils": "4.1.7", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", - "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.7.tgz", + "integrity": "sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.18", + "@vitest/spy": "4.1.7", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -1531,7 +1504,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "msw": { @@ -1543,26 +1516,26 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", - "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.7.tgz", + "integrity": "sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.0.3" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", - "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.7.tgz", + "integrity": "sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.18", + "@vitest/utils": "4.1.7", "pathe": "^2.0.3" }, "funding": { @@ -1570,13 +1543,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", - "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.7.tgz", + "integrity": "sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.18", + "@vitest/pretty-format": "4.1.7", + "@vitest/utils": "4.1.7", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -1585,9 +1559,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", - "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.7.tgz", + "integrity": "sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==", "dev": true, "license": "MIT", "funding": { @@ -1595,14 +1569,15 @@ } }, "node_modules/@vitest/utils": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", - "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.7.tgz", + "integrity": "sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.18", - "tinyrainbow": "^3.0.3" + "@vitest/pretty-format": "4.1.7", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -1622,9 +1597,9 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -1645,9 +1620,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -1679,11 +1654,14 @@ } }, "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } }, "node_modules/base64-js": { "version": "1.5.1", @@ -1707,14 +1685,16 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/browser-or-node": { @@ -1749,16 +1729,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/chai": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", @@ -1769,39 +1739,6 @@ "node": ">=18" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/collection-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collection-utils/-/collection-utils-1.0.1.tgz", @@ -1809,30 +1746,10 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, @@ -1886,17 +1803,26 @@ "dev": true, "license": "MIT" }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", "dev": true, "license": "MIT" }, "node_modules/esbuild": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", - "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", + "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1907,32 +1833,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" + "@esbuild/aix-ppc64": "0.28.0", + "@esbuild/android-arm": "0.28.0", + "@esbuild/android-arm64": "0.28.0", + "@esbuild/android-x64": "0.28.0", + "@esbuild/darwin-arm64": "0.28.0", + "@esbuild/darwin-x64": "0.28.0", + "@esbuild/freebsd-arm64": "0.28.0", + "@esbuild/freebsd-x64": "0.28.0", + "@esbuild/linux-arm": "0.28.0", + "@esbuild/linux-arm64": "0.28.0", + "@esbuild/linux-ia32": "0.28.0", + "@esbuild/linux-loong64": "0.28.0", + "@esbuild/linux-mips64el": "0.28.0", + "@esbuild/linux-ppc64": "0.28.0", + "@esbuild/linux-riscv64": "0.28.0", + "@esbuild/linux-s390x": "0.28.0", + "@esbuild/linux-x64": "0.28.0", + "@esbuild/netbsd-arm64": "0.28.0", + "@esbuild/netbsd-x64": "0.28.0", + "@esbuild/openbsd-arm64": "0.28.0", + "@esbuild/openbsd-x64": "0.28.0", + "@esbuild/openharmony-arm64": "0.28.0", + "@esbuild/sunos-x64": "0.28.0", + "@esbuild/win32-arm64": "0.28.0", + "@esbuild/win32-ia32": "0.28.0", + "@esbuild/win32-x64": "0.28.0" } }, "node_modules/escape-string-regexp": { @@ -1949,33 +1875,30 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", + "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", + "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -1985,8 +1908,7 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -1994,7 +1916,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" @@ -2009,17 +1931,19 @@ } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2039,13 +1963,13 @@ } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2061,54 +1985,41 @@ "node": ">= 4" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "eslint-visitor-keys": "^5.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2275,9 +2186,9 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, @@ -2296,19 +2207,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, "node_modules/glob": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", @@ -2340,29 +2238,6 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -2391,24 +2266,7 @@ "dev": true, "license": "MIT", "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 4" } }, "node_modules/imurmurhash": { @@ -2554,6 +2412,267 @@ "node": ">= 0.8.0" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -2571,23 +2690,16 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "dev": true, "license": "MIT" }, "node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -2605,13 +2717,13 @@ } }, "node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -2620,29 +2732,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimatch/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -2671,9 +2760,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "dev": true, "funding": [ { @@ -2792,19 +2881,6 @@ "dev": true, "license": "(MIT AND Zlib)" }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -2857,9 +2933,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -2880,9 +2956,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "dev": true, "funding": [ { @@ -2900,7 +2976,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -2919,9 +2995,9 @@ } }, "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, "license": "MIT", "bin": { @@ -2994,26 +3070,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, "node_modules/rimraf": { "version": "6.1.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", @@ -3034,49 +3090,38 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rollup": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", - "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "node_modules/rolldown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", + "integrity": "sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.132.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.57.1", - "@rollup/rollup-android-arm64": "4.57.1", - "@rollup/rollup-darwin-arm64": "4.57.1", - "@rollup/rollup-darwin-x64": "4.57.1", - "@rollup/rollup-freebsd-arm64": "4.57.1", - "@rollup/rollup-freebsd-x64": "4.57.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", - "@rollup/rollup-linux-arm-musleabihf": "4.57.1", - "@rollup/rollup-linux-arm64-gnu": "4.57.1", - "@rollup/rollup-linux-arm64-musl": "4.57.1", - "@rollup/rollup-linux-loong64-gnu": "4.57.1", - "@rollup/rollup-linux-loong64-musl": "4.57.1", - "@rollup/rollup-linux-ppc64-gnu": "4.57.1", - "@rollup/rollup-linux-ppc64-musl": "4.57.1", - "@rollup/rollup-linux-riscv64-gnu": "4.57.1", - "@rollup/rollup-linux-riscv64-musl": "4.57.1", - "@rollup/rollup-linux-s390x-gnu": "4.57.1", - "@rollup/rollup-linux-x64-gnu": "4.57.1", - "@rollup/rollup-linux-x64-musl": "4.57.1", - "@rollup/rollup-openbsd-x64": "4.57.1", - "@rollup/rollup-openharmony-arm64": "4.57.1", - "@rollup/rollup-win32-arm64-msvc": "4.57.1", - "@rollup/rollup-win32-ia32-msvc": "4.57.1", - "@rollup/rollup-win32-x64-gnu": "4.57.1", - "@rollup/rollup-win32-x64-msvc": "4.57.1", - "fsevents": "~2.3.2" + "@rolldown/binding-android-arm64": "1.0.2", + "@rolldown/binding-darwin-arm64": "1.0.2", + "@rolldown/binding-darwin-x64": "1.0.2", + "@rolldown/binding-freebsd-x64": "1.0.2", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.2", + "@rolldown/binding-linux-arm64-gnu": "1.0.2", + "@rolldown/binding-linux-arm64-musl": "1.0.2", + "@rolldown/binding-linux-ppc64-gnu": "1.0.2", + "@rolldown/binding-linux-s390x-gnu": "1.0.2", + "@rolldown/binding-linux-x64-gnu": "1.0.2", + "@rolldown/binding-linux-x64-musl": "1.0.2", + "@rolldown/binding-openharmony-arm64": "1.0.2", + "@rolldown/binding-wasm32-wasi": "1.0.2", + "@rolldown/binding-win32-arm64-msvc": "1.0.2", + "@rolldown/binding-win32-x64-msvc": "1.0.2" } }, "node_modules/safe-buffer": { @@ -3101,9 +3146,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "dev": true, "license": "ISC", "bin": { @@ -3161,9 +3206,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", "dev": true, "license": "MIT" }, @@ -3177,32 +3222,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tiny-inflate": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", @@ -3218,9 +3237,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.3.tgz", + "integrity": "sha512-g62dB+w1/OEFnPvmX0yd/HnetYITOL+1nJW7kitOycOeAvmbWC/nu0fwmmQ/kupNojqExzyC/T++pST/jRJ2mQ==", "dev": true, "license": "MIT", "engines": { @@ -3228,14 +3247,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -3245,9 +3264,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, "license": "MIT", "engines": { @@ -3262,9 +3281,9 @@ "license": "MIT" }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { @@ -3274,15 +3293,22 @@ "typescript": ">=4.8.4" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/tsx": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", - "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", + "integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "~0.27.0", - "get-tsconfig": "^4.7.5" + "esbuild": "~0.28.0" }, "bin": { "tsx": "dist/cli.mjs" @@ -3308,9 +3334,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3322,9 +3348,9 @@ } }, "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", "dev": true, "license": "MIT" }, @@ -3375,18 +3401,17 @@ "license": "MIT" }, "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", + "integrity": "sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.2", + "tinyglobby": "^0.2.16" }, "bin": { "vite": "bin/vite.js" @@ -3402,9 +3427,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -3417,13 +3443,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { "optional": true }, - "lightningcss": { + "jiti": { + "optional": true + }, + "less": { "optional": true }, "sass": { @@ -3450,31 +3479,31 @@ } }, "node_modules/vitest": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", - "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.7.tgz", + "integrity": "sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.0.18", - "@vitest/mocker": "4.0.18", - "@vitest/pretty-format": "4.0.18", - "@vitest/runner": "4.0.18", - "@vitest/snapshot": "4.0.18", - "@vitest/spy": "4.0.18", - "@vitest/utils": "4.0.18", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", + "@vitest/expect": "4.1.7", + "@vitest/mocker": "4.1.7", + "@vitest/pretty-format": "4.1.7", + "@vitest/runner": "4.1.7", + "@vitest/snapshot": "4.1.7", + "@vitest/spy": "4.1.7", + "@vitest/utils": "4.1.7", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.10.0", + "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -3490,12 +3519,15 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.18", - "@vitest/browser-preview": "4.0.18", - "@vitest/browser-webdriverio": "4.0.18", - "@vitest/ui": "4.0.18", + "@vitest/browser-playwright": "4.1.7", + "@vitest/browser-preview": "4.1.7", + "@vitest/browser-webdriverio": "4.1.7", + "@vitest/coverage-istanbul": "4.1.7", + "@vitest/coverage-v8": "4.1.7", + "@vitest/ui": "4.1.7", "happy-dom": "*", - "jsdom": "*" + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -3516,6 +3548,12 @@ "@vitest/browser-webdriverio": { "optional": true }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, "@vitest/ui": { "optional": true }, @@ -3524,6 +3562,9 @@ }, "jsdom": { "optional": true + }, + "vite": { + "optional": false } } }, @@ -3605,9 +3646,9 @@ "license": "MIT" }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", "dev": true, "license": "ISC", "bin": { @@ -3634,9 +3675,9 @@ } }, "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/nodejs/package.json b/nodejs/package.json index a7caa354a0..9b06cc3a50 100644 --- a/nodejs/package.json +++ b/nodejs/package.json @@ -61,12 +61,12 @@ "zod": "^4.3.6" }, "devDependencies": { - "@platformatic/vfs": "^0.3.0", + "@platformatic/vfs": "^0.4.0", "@types/node": "^25.2.0", "@typescript-eslint/eslint-plugin": "^8.54.0", "@typescript-eslint/parser": "^8.54.0", - "esbuild": "^0.27.2", - "eslint": "^9.0.0", + "esbuild": "^0.28.0", + "eslint": "^10.4.1", "glob": "^13.0.1", "json-schema": "^0.4.0", "json-schema-to-typescript": "^15.0.4", @@ -75,7 +75,7 @@ "rimraf": "^6.1.2", "semver": "^7.7.3", "tsx": "^4.20.6", - "typescript": "^5.0.0", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "engines": { diff --git a/nodejs/tsconfig.json b/nodejs/tsconfig.json index 55828124da..0f67532be8 100644 --- a/nodejs/tsconfig.json +++ b/nodejs/tsconfig.json @@ -4,6 +4,7 @@ "module": "ES2022", "lib": ["ES2022"], "moduleResolution": "node", + "ignoreDeprecations": "6.0", "outDir": "./dist", "declaration": true, "declarationMap": false, From 47dffbcaa61d77fdc83b12aa239da7a16ae70057 Mon Sep 17 00:00:00 2001 From: David Moore Date: Sat, 30 May 2026 20:54:34 -0700 Subject: [PATCH 3/3] updated node modules --- ...ompact_session_history_after_messages.yaml | 39 +++-- ...d_handle_freeform_user_input_response.yaml | 49 ++++++- ...handler_when_model_uses_ask_user_tool.yaml | 40 +++++- ...receive_choices_in_user_input_request.yaml | 42 +++++- .../should_capture_exit_code_in_output.yaml | 35 ++++- .../should_create_a_new_file.yaml | 78 +++++++++- .../should_edit_a_file_successfully.yaml | 122 ++++++++++++++-- ...ld_handle_nonexistent_file_gracefully.yaml | 29 +++- .../should_read_file_with_line_range.yaml | 33 ++++- .../should_search_for_patterns_in_files.yaml | 45 ++++-- .../should_emit_session_lifecycle_events.yaml | 18 ++- ...st_session_id_after_sending_a_message.yaml | 14 +- ...emit_assistant_message_with_messageid.yaml | 11 +- ...ect_order_for_tool_using_conversation.yaml | 31 +++- ..._execution_events_with_correct_fields.yaml | 35 ++++- ...ld_include_valid_fields_on_all_events.yaml | 11 +- ...xecution_when_pretooluse_returns_deny.yaml | 45 +++++- ...ttooluse_hooks_for_a_single_tool_call.yaml | 31 +++- ...ttooluse_hook_after_model_runs_a_tool.yaml | 33 ++++- ...retooluse_hook_when_model_runs_a_tool.yaml | 31 +++- ...nerroroccurred_hook_when_error_occurs.yaml | 14 +- ...end_hook_when_session_is_disconnected.yaml | 14 +- ...ke_onsessionstart_hook_on_new_session.yaml | 14 +- ...submitted_hook_when_sending_a_message.yaml | 14 +- ...pt_both_mcp_servers_and_custom_agents.yaml | 11 +- ...agent_configuration_on_session_create.yaml | 11 +- ...agent_configuration_on_session_resume.yaml | 18 ++- ...agent_configuration_on_session_resume.yaml | 18 ++- ...erver_configuration_on_session_create.yaml | 13 +- ...erver_configuration_on_session_resume.yaml | 22 ++- ...ide_excluded_tools_from_default_agent.yaml | 13 +- ...l_env_values_to_mcp_server_subprocess.yaml | 11 +- ...ee_tool_request_and_completion_events.yaml | 43 +++--- ...isconnecting_client_removes_its_tools.yaml | 132 +++++++++++++---- ...es_permission_and_both_see_the_result.yaml | 28 +++- ...ts_permission_and_both_see_the_result.yaml | 14 +- ...r_different_tools_and_agent_uses_both.yaml | 107 +++++++------- ..._use_tool_results_from_previous_turns.yaml | 34 ++++- ...ermission_when_handler_returns_denied.yaml | 13 +- ...ations_when_handler_explicitly_denies.yaml | 35 ++++- ...andler_explicitly_denies_after_resume.yaml | 45 +++++- ...hould_handle_async_permission_handler.yaml | 37 +++-- ..._permission_handler_errors_gracefully.yaml | 25 +++- ...rmission_handler_for_write_operations.yaml | 49 +++++-- ...ive_toolcallid_in_permission_requests.yaml | 31 +++- ...esume_session_with_permission_handler.yaml | 42 +++++- ...k_with_approve_all_permission_handler.yaml | 13 +- ...ely_while_events_stream_in_background.yaml | 37 +++-- ...e_and_returns_final_assistant_message.yaml | 11 +- .../sendandwait_throws_on_timeout.yaml | 11 +- .../session/should_abort_a_session.yaml | 41 ++++-- ...on_with_appended_systemmessage_config.yaml | 15 +- ..._with_customized_systemmessage_config.yaml | 36 +++-- ...d_create_a_session_with_excludedtools.yaml | 13 +- ...on_with_replaced_systemmessage_config.yaml | 13 +- ...create_session_with_custom_config_dir.yaml | 13 +- ...hould_create_session_with_custom_tool.yaml | 35 ++++- .../should_get_session_metadata_by_id.yaml | 15 +- .../should_have_stateful_conversation.yaml | 22 ++- ...d_resume_a_session_using_a_new_client.yaml | 22 ++- ...esume_a_session_using_the_same_client.yaml | 20 ++- .../should_accept_blob_attachments.yaml | 21 ++- .../should_accept_message_attachments.yaml | 26 +++- ...e_workingdirectory_for_tool_execution.yaml | 29 +++- ...on_disabled_then_enabled_via_setmodel.yaml | 80 +++++++++-- ...on_enabled_then_disabled_via_setmodel.yaml | 133 ++++++++++++++---- .../should_delete_session_permanently.yaml | 19 ++- ...ated_sessions_after_sending_a_message.yaml | 32 ++++- ...ts_via_getmessages_after_conversation.yaml | 11 +- ..._support_multiple_concurrent_sessions.yaml | 26 +++- ...low_agent_with_skills_to_invoke_skill.yaml | 14 +- ...and_apply_skill_from_skilldirectories.yaml | 47 +++++-- ...kill_when_disabled_via_disabledskills.yaml | 52 ++++++- ...uce_deltas_when_streaming_is_disabled.yaml | 13 +- ...elta_events_when_streaming_is_enabled.yaml | 11 +- ...d_produce_deltas_after_session_resume.yaml | 20 ++- ...form_modifications_to_section_content.yaml | 47 ++++++- ...nsform_callbacks_with_section_content.yaml | 30 +++- ...tic_overrides_and_transforms_together.yaml | 28 +++- ...red_toolresultobject_from_custom_tool.yaml | 13 +- ...e_tool_result_with_failure_resulttype.yaml | 37 ++++- ...idated_zod_parameters_to_tool_handler.yaml | 46 +++--- .../can_receive_and_return_complex_types.yaml | 15 +- .../tools/handles_tool_calling_errors.yaml | 37 ++++- .../tools/invokes_built_in_tools.yaml | 59 +++++++- test/snapshots/tools/invokes_custom_tool.yaml | 40 +++++- ...s_custom_tool_with_permission_handler.yaml | 35 ++++- ...rrides_built_in_tool_with_custom_tool.yaml | 36 ++++- ...kippermission_sent_in_tool_definition.yaml | 28 +++- 89 files changed, 2398 insertions(+), 484 deletions(-) diff --git a/test/snapshots/agent_and_compact_rpc/should_compact_session_history_after_messages.yaml b/test/snapshots/agent_and_compact_rpc/should_compact_session_history_after_messages.yaml index a13727f0f5..2b88002066 100644 --- a/test/snapshots/agent_and_compact_rpc/should_compact_session_history_after_messages.yaml +++ b/test/snapshots/agent_and_compact_rpc/should_compact_session_history_after_messages.yaml @@ -5,18 +5,27 @@ conversations: - role: system content: ${system} - role: user - content: What is 2+2? + content: >- + What is 2+2? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 2+2 = 4 + content: 2 + 2 = 4 - role: user content: ${compaction_prompt} - role: assistant content: >- - The user asked a simple arithmetic question: "What is 2+2?" This was answered directly (4). No technical work, - coding tasks, or file modifications were performed. This appears to have been a minimal test interaction with - no substantive goals or technical requirements. + The user asked a simple arithmetic question ("What is 2+2?") which was answered directly. No technical work, + file modifications, or complex problem-solving was involved. This appears to be a test or demonstration + conversation with no substantive development tasks. @@ -25,25 +34,29 @@ conversations: 1. The user asked "What is 2+2?" - Provided the answer: 4 - - No further actions were taken or requested + - No further actions required - No files were created, modified, or deleted. No technical tasks were performed. The conversation consisted - solely of answering a basic arithmetic question. + No files were created, modified, or deleted. No technical work was performed. + + + Work completed: + + - [x] Answered basic arithmetic question - Current state: No active work in progress. + Current state: Conversation complete with no ongoing tasks. - No technical concepts, decisions, or issues were encountered in this conversation. This was a straightforward - arithmetic question with no technical context. + No technical concepts, decisions, or issues were encountered in this conversation. This was a simple Q&A + exchange with no development or debugging work. @@ -57,9 +70,9 @@ conversations: - No pending work or tasks. The user's question was fully addressed. Awaiting new requests or instructions. + No pending work or next steps. The user's request has been fully addressed. - Simple arithmetic question answered + Basic arithmetic question answered diff --git a/test/snapshots/ask_user/should_handle_freeform_user_input_response.yaml b/test/snapshots/ask_user/should_handle_freeform_user_input_response.yaml index 49944c9732..89a9e67c20 100644 --- a/test/snapshots/ask_user/should_handle_freeform_user_input_response.yaml +++ b/test/snapshots/ask_user/should_handle_freeform_user_input_response.yaml @@ -5,17 +5,60 @@ conversations: - role: system content: ${system} - role: user - content: Ask me a question using ask_user and then include my answer in your response. The question should be 'What is + content: >- + Ask me a question using ask_user and then include my answer in your response. The question should be 'What is your favorite color?' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll ask you about your favorite color. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: ask_user + arguments: '{"choices":["Blue","Red","Green","Purple","Yellow","Orange","Pink","Black"],"question":"What is your + favorite color?"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Ask me a question using ask_user and then include my answer in your response. The question should be 'What is + your favorite color?' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll ask you about your favorite color. tool_calls: - id: toolcall_0 type: function function: name: ask_user - arguments: '{"question":"What is your favorite color?"}' + arguments: '{"choices":["Blue","Red","Green","Purple","Yellow","Orange","Pink","Black"],"question":"What is your + favorite color?"}' - role: tool tool_call_id: toolcall_0 content: "User responded: This is my custom freeform answer that was not in the choices" - role: assistant - content: 'You answered: "This is my custom freeform answer that was not in the choices"' + content: >- + Thank you for letting me know! Your answer was: "This is my custom freeform answer that was not in the + choices" + + + I see you chose to provide a custom response rather than selecting one of the predefined color options I + offered. The ask_user tool allows for freeform answers in addition to the provided choices, which you took + advantage of! diff --git a/test/snapshots/ask_user/should_invoke_user_input_handler_when_model_uses_ask_user_tool.yaml b/test/snapshots/ask_user/should_invoke_user_input_handler_when_model_uses_ask_user_tool.yaml index 4549b99dc1..fd1f7687c3 100644 --- a/test/snapshots/ask_user/should_invoke_user_input_handler_when_model_uses_ask_user_tool.yaml +++ b/test/snapshots/ask_user/should_invoke_user_input_handler_when_model_uses_ask_user_tool.yaml @@ -5,17 +5,51 @@ conversations: - role: system content: ${system} - role: user - content: Ask me to choose between 'Option A' and 'Option B' using the ask_user tool. Wait for my response before + content: >- + Ask me to choose between 'Option A' and 'Option B' using the ask_user tool. Wait for my response before continuing. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll ask you to choose between those two options. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: ask_user + arguments: '{"choices":["Option A","Option B"],"question":"Which option would you like to choose?"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Ask me to choose between 'Option A' and 'Option B' using the ask_user tool. Wait for my response before + continuing. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll ask you to choose between those two options. tool_calls: - id: toolcall_0 type: function function: name: ask_user - arguments: '{"question":"Please choose between the following options:","choices":["Option A","Option B"]}' + arguments: '{"choices":["Option A","Option B"],"question":"Which option would you like to choose?"}' - role: tool tool_call_id: toolcall_0 content: "User selected: Option A" - role: assistant - content: You selected **Option A**. What would you like me to do next? + content: You chose **Option A**. How would you like to proceed? diff --git a/test/snapshots/ask_user/should_receive_choices_in_user_input_request.yaml b/test/snapshots/ask_user/should_receive_choices_in_user_input_request.yaml index 705378061f..3898a7098c 100644 --- a/test/snapshots/ask_user/should_receive_choices_in_user_input_request.yaml +++ b/test/snapshots/ask_user/should_receive_choices_in_user_input_request.yaml @@ -5,17 +5,51 @@ conversations: - role: system content: ${system} - role: user - content: "Use the ask_user tool to ask me to pick between exactly two options: 'Red' and 'Blue'. These should be - provided as choices. Wait for my answer." + content: >- + Use the ask_user tool to ask me to pick between exactly two options: 'Red' and 'Blue'. These should be + provided as choices. Wait for my answer. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll ask you to choose between Red and Blue. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: ask_user + arguments: '{"choices":["Red","Blue"],"question":"Which color do you prefer?"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Use the ask_user tool to ask me to pick between exactly two options: 'Red' and 'Blue'. These should be + provided as choices. Wait for my answer. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll ask you to choose between Red and Blue. tool_calls: - id: toolcall_0 type: function function: name: ask_user - arguments: '{"question":"Please pick one of the following options:","choices":["Red","Blue"],"allow_freeform":false}' + arguments: '{"choices":["Red","Blue"],"question":"Which color do you prefer?"}' - role: tool tool_call_id: toolcall_0 content: "User selected: Red" - role: assistant - content: You selected **Red**. + content: You selected **Red**! diff --git a/test/snapshots/builtin_tools/should_capture_exit_code_in_output.yaml b/test/snapshots/builtin_tools/should_capture_exit_code_in_output.yaml index 3285ae23c8..6ca55b894a 100644 --- a/test/snapshots/builtin_tools/should_capture_exit_code_in_output.yaml +++ b/test/snapshots/builtin_tools/should_capture_exit_code_in_output.yaml @@ -5,38 +5,59 @@ conversations: - role: system content: ${system} - role: user - content: Run 'echo hello && echo world'. Tell me the exact output. + content: >- + Run 'echo hello && echo world'. Tell me the exact output. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll run that command for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running echo commands"}' + arguments: '{"intent":"Running echo command"}' - role: assistant tool_calls: - id: toolcall_1 type: function function: name: ${shell} - arguments: '{"command":"echo hello && echo world","description":"Run echo hello && echo world"}' + arguments: '{"command":"echo hello && echo world","description":"Run echo commands"}' - messages: - role: system content: ${system} - role: user - content: Run 'echo hello && echo world'. Tell me the exact output. + content: >- + Run 'echo hello && echo world'. Tell me the exact output. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll run that command for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running echo commands"}' + arguments: '{"intent":"Running echo command"}' - id: toolcall_1 type: function function: name: ${shell} - arguments: '{"command":"echo hello && echo world","description":"Run echo hello && echo world"}' + arguments: '{"command":"echo hello && echo world","description":"Run echo commands"}' - role: tool tool_call_id: toolcall_0 content: Intent logged @@ -53,3 +74,5 @@ conversations: hello world ``` + + The command executed successfully with exit code 0. diff --git a/test/snapshots/builtin_tools/should_create_a_new_file.yaml b/test/snapshots/builtin_tools/should_create_a_new_file.yaml index fe75810a17..a2a38f2805 100644 --- a/test/snapshots/builtin_tools/should_create_a_new_file.yaml +++ b/test/snapshots/builtin_tools/should_create_a_new_file.yaml @@ -5,38 +5,101 @@ conversations: - role: system content: ${system} - role: user - content: Create a file called 'new_file.txt' with the content 'Created by test'. Then read it back to confirm. + content: >- + Create a file called 'new_file.txt' with the content 'Created by test'. Then read it back to confirm. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll create the file and then read it back to confirm the content. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Creating new file"}' + arguments: '{"intent":"Creating and verifying file"}' - role: assistant tool_calls: - id: toolcall_1 type: function function: name: create - arguments: '{"path":"${workdir}/new_file.txt","file_text":"Created by test"}' + arguments: '{"file_text":"Created by test","path":"${workdir}/new_file.txt"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Create a file called 'new_file.txt' with the content 'Created by test'. Then read it back to confirm. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll create the file and then read it back to confirm the content. + tool_calls: + - id: toolcall_0 + type: function + function: + name: report_intent + arguments: '{"intent":"Creating and verifying file"}' + - id: toolcall_1 + type: function + function: + name: create + arguments: '{"file_text":"Created by test","path":"${workdir}/new_file.txt"}' + - role: tool + tool_call_id: toolcall_0 + content: Intent logged + - role: tool + tool_call_id: toolcall_1 + content: Created file ${workdir}/new_file.txt with 15 characters + - role: assistant + content: "Now let me read it back to confirm:" + - role: assistant + tool_calls: + - id: toolcall_2 + type: function + function: + name: view + arguments: '{"path":"${workdir}/new_file.txt"}' - messages: - role: system content: ${system} - role: user - content: Create a file called 'new_file.txt' with the content 'Created by test'. Then read it back to confirm. + content: >- + Create a file called 'new_file.txt' with the content 'Created by test'. Then read it back to confirm. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll create the file and then read it back to confirm the content. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Creating new file"}' + arguments: '{"intent":"Creating and verifying file"}' - id: toolcall_1 type: function function: name: create - arguments: '{"path":"${workdir}/new_file.txt","file_text":"Created by test"}' + arguments: '{"file_text":"Created by test","path":"${workdir}/new_file.txt"}' - role: tool tool_call_id: toolcall_0 content: Intent logged @@ -44,6 +107,7 @@ conversations: tool_call_id: toolcall_1 content: Created file ${workdir}/new_file.txt with 15 characters - role: assistant + content: "Now let me read it back to confirm:" tool_calls: - id: toolcall_2 type: function @@ -54,4 +118,4 @@ conversations: tool_call_id: toolcall_2 content: 1. Created by test - role: assistant - content: File created and confirmed! The file 'new_file.txt' contains "Created by test" as expected. + content: ✓ File created successfully! The file `new_file.txt` contains "Created by test" as expected. diff --git a/test/snapshots/builtin_tools/should_edit_a_file_successfully.yaml b/test/snapshots/builtin_tools/should_edit_a_file_successfully.yaml index b2d3d9451f..d257b61aac 100644 --- a/test/snapshots/builtin_tools/should_edit_a_file_successfully.yaml +++ b/test/snapshots/builtin_tools/should_edit_a_file_successfully.yaml @@ -5,61 +5,153 @@ conversations: - role: system content: ${system} - role: user - content: "Edit the file 'edit_me.txt': replace 'Hello World' with 'Hi Universe'. Then read it back and tell me its - contents." + content: >- + Edit the file 'edit_me.txt': replace 'Hello World' with 'Hi Universe'. Then read it back and tell me its + contents. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll edit the file to replace 'Hello World' with 'Hi Universe', then read it back to confirm the change. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Editing file"}' + arguments: '{"intent":"Editing and reading file"}' - role: assistant tool_calls: - id: toolcall_1 type: function function: - name: edit - arguments: '{"path":"${workdir}/edit_me.txt","old_str":"Hello World","new_str":"Hi Universe"}' + name: view + arguments: '{"path":"${workdir}/edit_me.txt"}' - messages: - role: system content: ${system} - role: user - content: "Edit the file 'edit_me.txt': replace 'Hello World' with 'Hi Universe'. Then read it back and tell me its - contents." + content: >- + Edit the file 'edit_me.txt': replace 'Hello World' with 'Hi Universe'. Then read it back and tell me its + contents. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll edit the file to replace 'Hello World' with 'Hi Universe', then read it back to confirm the change. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Editing file"}' + arguments: '{"intent":"Editing and reading file"}' - id: toolcall_1 type: function function: - name: edit - arguments: '{"path":"${workdir}/edit_me.txt","old_str":"Hello World","new_str":"Hi Universe"}' + name: view + arguments: '{"path":"${workdir}/edit_me.txt"}' - role: tool tool_call_id: toolcall_0 content: Intent logged - role: tool tool_call_id: toolcall_1 - content: File ${workdir}/edit_me.txt updated with changes. + content: |- + 1. Hello World + 2. Goodbye World + 3. + - role: assistant + content: "Now I'll replace 'Hello World' with 'Hi Universe' and read it back:" - role: assistant tool_calls: - id: toolcall_2 + type: function + function: + name: edit + arguments: '{"new_str":"Hi Universe","old_str":"Hello World","path":"${workdir}/edit_me.txt"}' + - role: assistant + tool_calls: + - id: toolcall_3 + type: function + function: + name: view + arguments: '{"path":"${workdir}/edit_me.txt"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Edit the file 'edit_me.txt': replace 'Hello World' with 'Hi Universe'. Then read it back and tell me its + contents. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll edit the file to replace 'Hello World' with 'Hi Universe', then read it back to confirm the change. + tool_calls: + - id: toolcall_0 + type: function + function: + name: report_intent + arguments: '{"intent":"Editing and reading file"}' + - id: toolcall_1 type: function function: name: view arguments: '{"path":"${workdir}/edit_me.txt"}' - role: tool - tool_call_id: toolcall_2 + tool_call_id: toolcall_0 + content: Intent logged + - role: tool + tool_call_id: toolcall_1 content: |- - 1. Hi Universe + 1. Hello World 2. Goodbye World 3. - role: assistant + content: "Now I'll replace 'Hello World' with 'Hi Universe' and read it back:" + tool_calls: + - id: toolcall_2 + type: function + function: + name: edit + arguments: '{"new_str":"Hi Universe","old_str":"Hello World","path":"${workdir}/edit_me.txt"}' + - id: toolcall_3 + type: function + function: + name: view + arguments: '{"path":"${workdir}/edit_me.txt"}' + - role: tool + tool_call_id: toolcall_3 content: |- - The file now contains: - 1. Hi Universe + 1. Hello World 2. Goodbye World + 3. + - role: tool + tool_call_id: toolcall_2 + content: File ${workdir}/edit_me.txt updated with changes. + - role: assistant + content: |- + The edit has been completed! The file now contains: + + ``` + Hi Universe + Goodbye World + + ``` + + The first line has been successfully changed from "Hello World" to "Hi Universe". diff --git a/test/snapshots/builtin_tools/should_handle_nonexistent_file_gracefully.yaml b/test/snapshots/builtin_tools/should_handle_nonexistent_file_gracefully.yaml index 2e5e4368c6..680aa67489 100644 --- a/test/snapshots/builtin_tools/should_handle_nonexistent_file_gracefully.yaml +++ b/test/snapshots/builtin_tools/should_handle_nonexistent_file_gracefully.yaml @@ -5,14 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: Try to read the file 'does_not_exist.txt'. If it doesn't exist, say 'FILE_NOT_FOUND'. + content: >- + Try to read the file 'does_not_exist.txt'. If it doesn't exist, say 'FILE_NOT_FOUND'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll try to read that file for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading file"}' + arguments: '{"intent":"Checking file existence"}' - role: assistant tool_calls: - id: toolcall_1 @@ -24,14 +35,24 @@ conversations: - role: system content: ${system} - role: user - content: Try to read the file 'does_not_exist.txt'. If it doesn't exist, say 'FILE_NOT_FOUND'. + content: >- + Try to read the file 'does_not_exist.txt'. If it doesn't exist, say 'FILE_NOT_FOUND'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll try to read that file for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading file"}' + arguments: '{"intent":"Checking file existence"}' - id: toolcall_1 type: function function: diff --git a/test/snapshots/builtin_tools/should_read_file_with_line_range.yaml b/test/snapshots/builtin_tools/should_read_file_with_line_range.yaml index 382da09086..0adda44ae2 100644 --- a/test/snapshots/builtin_tools/should_read_file_with_line_range.yaml +++ b/test/snapshots/builtin_tools/should_read_file_with_line_range.yaml @@ -5,14 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: Read lines 2 through 4 of the file 'lines.txt' in this directory. Tell me what those lines contain. + content: >- + Read lines 2 through 4 of the file 'lines.txt' in this directory. Tell me what those lines contain. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read lines 2-4 from the lines.txt file for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading specific file lines"}' + arguments: '{"intent":"Reading file lines"}' - role: assistant tool_calls: - id: toolcall_1 @@ -24,14 +35,24 @@ conversations: - role: system content: ${system} - role: user - content: Read lines 2 through 4 of the file 'lines.txt' in this directory. Tell me what those lines contain. + content: >- + Read lines 2 through 4 of the file 'lines.txt' in this directory. Tell me what those lines contain. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read lines 2-4 from the lines.txt file for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading specific file lines"}' + arguments: '{"intent":"Reading file lines"}' - id: toolcall_1 type: function function: @@ -48,7 +69,7 @@ conversations: 4. line4 - role: assistant content: |- - Lines 2 through 4 contain: + Lines 2 through 4 of 'lines.txt' contain: - Line 2: "line2" - - Line 3: "line3" + - Line 3: "line3" - Line 4: "line4" diff --git a/test/snapshots/builtin_tools/should_search_for_patterns_in_files.yaml b/test/snapshots/builtin_tools/should_search_for_patterns_in_files.yaml index f4e32f7730..4ee740df4c 100644 --- a/test/snapshots/builtin_tools/should_search_for_patterns_in_files.yaml +++ b/test/snapshots/builtin_tools/should_search_for_patterns_in_files.yaml @@ -5,48 +5,71 @@ conversations: - role: system content: ${system} - role: user - content: Search for lines starting with 'ap' in the file 'data.txt'. Tell me which lines matched. + content: >- + Search for lines starting with 'ap' in the file 'data.txt'. Tell me which lines matched. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll search for lines starting with 'ap' in data.txt. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Searching file for pattern"}' + arguments: '{"intent":"Searching file content"}' - role: assistant tool_calls: - id: toolcall_1 type: function function: name: grep - arguments: '{"pattern":"^ap","path":"${workdir}/data.txt","output_mode":"content","-n":true}' + arguments: '{"-n":true,"output_mode":"content","paths":"data.txt","pattern":"^ap"}' - messages: - role: system content: ${system} - role: user - content: Search for lines starting with 'ap' in the file 'data.txt'. Tell me which lines matched. + content: >- + Search for lines starting with 'ap' in the file 'data.txt'. Tell me which lines matched. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll search for lines starting with 'ap' in data.txt. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Searching file for pattern"}' + arguments: '{"intent":"Searching file content"}' - id: toolcall_1 type: function function: name: grep - arguments: '{"pattern":"^ap","path":"${workdir}/data.txt","output_mode":"content","-n":true}' + arguments: '{"-n":true,"output_mode":"content","paths":"data.txt","pattern":"^ap"}' - role: tool tool_call_id: toolcall_0 content: Intent logged - role: tool tool_call_id: toolcall_1 content: |- - ./data.txt:1:apple - ./data.txt:3:apricot + data.txt:1:apple + data.txt:3:apricot - role: assistant content: |- - The search found **2 lines** starting with 'ap': - - Line 1: `apple` - - Line 3: `apricot` + Found 2 matching lines in data.txt: + - **Line 1**: apple + - **Line 3**: apricot + + Both lines start with 'ap' as requested. diff --git a/test/snapshots/client_lifecycle/should_emit_session_lifecycle_events.yaml b/test/snapshots/client_lifecycle/should_emit_session_lifecycle_events.yaml index beb8b443d2..26c45e89c8 100644 --- a/test/snapshots/client_lifecycle/should_emit_session_lifecycle_events.yaml +++ b/test/snapshots/client_lifecycle/should_emit_session_lifecycle_events.yaml @@ -5,6 +5,20 @@ conversations: - role: system content: ${system} - role: user - content: Say hello + content: >- + Say hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! I'm GitHub Copilot CLI, ready to help you with software engineering tasks. How can I assist you today? + content: >- + Hello! 👋 + + + I'm GitHub Copilot CLI, powered by claude-sonnet-4.5. I'm here to help you with software engineering tasks, + code exploration, running commands, debugging, and more. What can I help you with today? diff --git a/test/snapshots/client_lifecycle/should_return_last_session_id_after_sending_a_message.yaml b/test/snapshots/client_lifecycle/should_return_last_session_id_after_sending_a_message.yaml index 3b9da534c2..f5fb177699 100644 --- a/test/snapshots/client_lifecycle/should_return_last_session_id_after_sending_a_message.yaml +++ b/test/snapshots/client_lifecycle/should_return_last_session_id_after_sending_a_message.yaml @@ -5,6 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hello + content: >- + Say hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! I'm GitHub Copilot CLI, ready to help with your software engineering tasks. + content: Hello! 👋 I'm GitHub Copilot CLI, powered by claude-sonnet-4.5. I'm here to help you with software engineering + tasks, code navigation, file operations, and more. What can I help you with today? diff --git a/test/snapshots/event_fidelity/should_emit_assistant_message_with_messageid.yaml b/test/snapshots/event_fidelity/should_emit_assistant_message_with_messageid.yaml index caac261e2a..7ae34166f8 100644 --- a/test/snapshots/event_fidelity/should_emit_assistant_message_with_messageid.yaml +++ b/test/snapshots/event_fidelity/should_emit_assistant_message_with_messageid.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: Say 'pong'. + content: >- + Say 'pong'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: pong diff --git a/test/snapshots/event_fidelity/should_emit_events_in_correct_order_for_tool_using_conversation.yaml b/test/snapshots/event_fidelity/should_emit_events_in_correct_order_for_tool_using_conversation.yaml index ba555111f6..e86f503869 100644 --- a/test/snapshots/event_fidelity/should_emit_events_in_correct_order_for_tool_using_conversation.yaml +++ b/test/snapshots/event_fidelity/should_emit_events_in_correct_order_for_tool_using_conversation.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the file 'hello.txt' and tell me its contents. + content: >- + Read the file 'hello.txt' and tell me its contents. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the contents of hello.txt for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the file 'hello.txt' and tell me its contents. + content: >- + Read the file 'hello.txt' and tell me its contents. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the contents of hello.txt for you. tool_calls: - id: toolcall_0 type: function @@ -44,4 +65,8 @@ conversations: tool_call_id: toolcall_1 content: 1. Hello World - role: assistant - content: "The file 'hello.txt' contains: \"Hello World\"" + content: |- + The file 'hello.txt' contains: + ``` + Hello World + ``` diff --git a/test/snapshots/event_fidelity/should_emit_tool_execution_events_with_correct_fields.yaml b/test/snapshots/event_fidelity/should_emit_tool_execution_events_with_correct_fields.yaml index e0b4140692..ff6cb04689 100644 --- a/test/snapshots/event_fidelity/should_emit_tool_execution_events_with_correct_fields.yaml +++ b/test/snapshots/event_fidelity/should_emit_tool_execution_events_with_correct_fields.yaml @@ -5,14 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: Read the file 'data.txt'. + content: >- + Read the file 'data.txt'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the data.txt file for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading data.txt"}' + arguments: '{"intent":"Reading file"}' - role: assistant tool_calls: - id: toolcall_1 @@ -24,14 +35,24 @@ conversations: - role: system content: ${system} - role: user - content: Read the file 'data.txt'. + content: >- + Read the file 'data.txt'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the data.txt file for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading data.txt"}' + arguments: '{"intent":"Reading file"}' - id: toolcall_1 type: function function: @@ -44,4 +65,8 @@ conversations: tool_call_id: toolcall_1 content: 1. test data - role: assistant - content: "The file 'data.txt' contains: `test data`" + content: |- + The file 'data.txt' contains a single line: + ``` + test data + ``` diff --git a/test/snapshots/event_fidelity/should_include_valid_fields_on_all_events.yaml b/test/snapshots/event_fidelity/should_include_valid_fields_on_all_events.yaml index 48667da723..cf746d15d7 100644 --- a/test/snapshots/event_fidelity/should_include_valid_fields_on_all_events.yaml +++ b/test/snapshots/event_fidelity/should_include_valid_fields_on_all_events.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 5+5? Reply with just the number. + content: >- + What is 5+5? Reply with just the number. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: "10" diff --git a/test/snapshots/hooks/should_deny_tool_execution_when_pretooluse_returns_deny.yaml b/test/snapshots/hooks/should_deny_tool_execution_when_pretooluse_returns_deny.yaml index 2860f52c15..e6e94340bf 100644 --- a/test/snapshots/hooks/should_deny_tool_execution_when_pretooluse_returns_deny.yaml +++ b/test/snapshots/hooks/should_deny_tool_execution_when_pretooluse_returns_deny.yaml @@ -5,9 +5,19 @@ conversations: - role: system content: ${system} - role: user - content: Edit protected.txt and replace 'Original' with 'Modified' + content: >- + Edit protected.txt and replace 'Original' with 'Modified' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll view the file first and then make the edit. + content: I'll help you edit protected.txt to replace 'Original' with 'Modified'. Let me first view the file to see its + current contents. - role: assistant tool_calls: - id: toolcall_0 @@ -26,9 +36,19 @@ conversations: - role: system content: ${system} - role: user - content: Edit protected.txt and replace 'Original' with 'Modified' + content: >- + Edit protected.txt and replace 'Original' with 'Modified' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll view the file first and then make the edit. + content: I'll help you edit protected.txt to replace 'Original' with 'Modified'. Let me first view the file to see its + current contents. tool_calls: - id: toolcall_0 type: function @@ -47,5 +67,18 @@ conversations: tool_call_id: toolcall_1 content: "Denied by preToolUse hook: No reason provided" - role: assistant - content: It appears that access to protected.txt is being denied by a security hook. This file seems to be protected - from viewing and editing operations. + content: >- + It appears this file is restricted by your organization's content exclusion policy. I'm unable to access or + edit protected.txt as it's blocked by policy controls. This applies to both viewing and editing the file. + + + If you need to modify this file, you may need to: + + - Check with your organization's administrator about the content exclusion policy + + - Use a different tool or method that's authorized in your environment + + - Work with a file that isn't subject to these restrictions + + + Is there another file you'd like me to help you with instead? diff --git a/test/snapshots/hooks/should_invoke_both_pretooluse_and_posttooluse_hooks_for_a_single_tool_call.yaml b/test/snapshots/hooks/should_invoke_both_pretooluse_and_posttooluse_hooks_for_a_single_tool_call.yaml index dd55858bf1..f3a984056d 100644 --- a/test/snapshots/hooks/should_invoke_both_pretooluse_and_posttooluse_hooks_for_a_single_tool_call.yaml +++ b/test/snapshots/hooks/should_invoke_both_pretooluse_and_posttooluse_hooks_for_a_single_tool_call.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of both.txt + content: >- + Read the contents of both.txt + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the contents of both.txt for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of both.txt + content: >- + Read the contents of both.txt + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the contents of both.txt for you. tool_calls: - id: toolcall_0 type: function @@ -44,4 +65,8 @@ conversations: tool_call_id: toolcall_1 content: 1. Testing both hooks! - role: assistant - content: 'The file contains a single line: "Testing both hooks!"' + content: |- + The file `both.txt` contains a single line: + ``` + Testing both hooks! + ``` diff --git a/test/snapshots/hooks/should_invoke_posttooluse_hook_after_model_runs_a_tool.yaml b/test/snapshots/hooks/should_invoke_posttooluse_hook_after_model_runs_a_tool.yaml index 518f6d06e4..4b82b28628 100644 --- a/test/snapshots/hooks/should_invoke_posttooluse_hook_after_model_runs_a_tool.yaml +++ b/test/snapshots/hooks/should_invoke_posttooluse_hook_after_model_runs_a_tool.yaml @@ -5,14 +5,23 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of world.txt and tell me what it says + content: >- + Read the contents of world.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading file contents"}' + arguments: '{"intent":"Reading world.txt file"}' - role: assistant tool_calls: - id: toolcall_1 @@ -24,14 +33,23 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of world.txt and tell me what it says + content: >- + Read the contents of world.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading file contents"}' + arguments: '{"intent":"Reading world.txt file"}' - id: toolcall_1 type: function function: @@ -44,4 +62,9 @@ conversations: tool_call_id: toolcall_1 content: 1. World from the test! - role: assistant - content: 'The file contains: "World from the test!"' + content: |- + The file **world.txt** contains: + + ``` + World from the test! + ``` diff --git a/test/snapshots/hooks/should_invoke_pretooluse_hook_when_model_runs_a_tool.yaml b/test/snapshots/hooks/should_invoke_pretooluse_hook_when_model_runs_a_tool.yaml index e1f807fdc0..f06af2c569 100644 --- a/test/snapshots/hooks/should_invoke_pretooluse_hook_when_model_runs_a_tool.yaml +++ b/test/snapshots/hooks/should_invoke_pretooluse_hook_when_model_runs_a_tool.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of hello.txt and tell me what it says + content: >- + Read the contents of hello.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the contents of hello.txt for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of hello.txt and tell me what it says + content: >- + Read the contents of hello.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the contents of hello.txt for you. tool_calls: - id: toolcall_0 type: function @@ -44,4 +65,8 @@ conversations: tool_call_id: toolcall_1 content: 1. Hello from the test! - role: assistant - content: 'The file contains: "Hello from the test!"' + content: |- + The file `hello.txt` contains: + ``` + Hello from the test! + ``` diff --git a/test/snapshots/hooks_extended/should_invoke_onerroroccurred_hook_when_error_occurs.yaml b/test/snapshots/hooks_extended/should_invoke_onerroroccurred_hook_when_error_occurs.yaml index dcd2f32be2..887cd86a8e 100644 --- a/test/snapshots/hooks_extended/should_invoke_onerroroccurred_hook_when_error_occurs.yaml +++ b/test/snapshots/hooks_extended/should_invoke_onerroroccurred_hook_when_error_occurs.yaml @@ -5,6 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hi + content: >- + Say hi + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hi! I'm GitHub Copilot CLI, ready to help you with software engineering tasks. What would you like to work on? + content: Hi! 👋 I'm GitHub Copilot CLI, ready to help you with your software engineering tasks. What would you like to + work on today? diff --git a/test/snapshots/hooks_extended/should_invoke_onsessionend_hook_when_session_is_disconnected.yaml b/test/snapshots/hooks_extended/should_invoke_onsessionend_hook_when_session_is_disconnected.yaml index bde2373cc2..972a5a1c2b 100644 --- a/test/snapshots/hooks_extended/should_invoke_onsessionend_hook_when_session_is_disconnected.yaml +++ b/test/snapshots/hooks_extended/should_invoke_onsessionend_hook_when_session_is_disconnected.yaml @@ -5,6 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hi + content: >- + Say hi + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hi! I'm ready to help you with any software engineering tasks. What would you like to work on? + content: Hi there! 👋 I'm GitHub Copilot CLI, powered by claude-sonnet-4.5. I'm here to help you with software + engineering tasks, code exploration, running commands, and more. What can I help you with today? diff --git a/test/snapshots/hooks_extended/should_invoke_onsessionstart_hook_on_new_session.yaml b/test/snapshots/hooks_extended/should_invoke_onsessionstart_hook_on_new_session.yaml index 0d2da93e50..505e91e115 100644 --- a/test/snapshots/hooks_extended/should_invoke_onsessionstart_hook_on_new_session.yaml +++ b/test/snapshots/hooks_extended/should_invoke_onsessionstart_hook_on_new_session.yaml @@ -5,6 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hi + content: >- + Say hi + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hi! I'm ready to help you with your software engineering tasks. What would you like me to do? + content: Hi! 👋 I'm GitHub Copilot CLI, powered by claude-sonnet-4.5. I'm here to help you with software engineering + tasks, code exploration, git operations, and more. What can I help you with today? diff --git a/test/snapshots/hooks_extended/should_invoke_onuserpromptsubmitted_hook_when_sending_a_message.yaml b/test/snapshots/hooks_extended/should_invoke_onuserpromptsubmitted_hook_when_sending_a_message.yaml index beb8b443d2..f596fbe01d 100644 --- a/test/snapshots/hooks_extended/should_invoke_onuserpromptsubmitted_hook_when_sending_a_message.yaml +++ b/test/snapshots/hooks_extended/should_invoke_onuserpromptsubmitted_hook_when_sending_a_message.yaml @@ -5,6 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hello + content: >- + Say hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! I'm GitHub Copilot CLI, ready to help you with software engineering tasks. How can I assist you today? + content: Hello! I'm GitHub Copilot CLI, powered by claude-sonnet-4.5. I'm here to help you with software engineering + tasks, code navigation, running commands, and more. What would you like to work on today? diff --git a/test/snapshots/mcp_and_agents/should_accept_both_mcp_servers_and_custom_agents.yaml b/test/snapshots/mcp_and_agents/should_accept_both_mcp_servers_and_custom_agents.yaml index 60d1eadeaf..40f6d0fc66 100644 --- a/test/snapshots/mcp_and_agents/should_accept_both_mcp_servers_and_custom_agents.yaml +++ b/test/snapshots/mcp_and_agents/should_accept_both_mcp_servers_and_custom_agents.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 7+7? + content: >- + What is 7+7? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 7 + 7 = 14 diff --git a/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_create.yaml b/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_create.yaml index 56da15bae1..a3f1a4aa03 100644 --- a/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_create.yaml +++ b/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_create.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 5+5? + content: >- + What is 5+5? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 5 + 5 = 10 diff --git a/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_resume.yaml b/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_resume.yaml index 9703495c66..06f6ce032a 100644 --- a/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_resume.yaml +++ b/test/snapshots/mcp_and_agents/should_accept_custom_agent_configuration_on_session_resume.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 1+1 equals 2. - role: user - content: What is 6+6? + content: |- + What is 6+6? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant content: 6+6 equals 12. diff --git a/test/snapshots/mcp_and_agents/should_accept_defaultagent_configuration_on_session_resume.yaml b/test/snapshots/mcp_and_agents/should_accept_defaultagent_configuration_on_session_resume.yaml index 65fe6664e6..c368cce148 100644 --- a/test/snapshots/mcp_and_agents/should_accept_defaultagent_configuration_on_session_resume.yaml +++ b/test/snapshots/mcp_and_agents/should_accept_defaultagent_configuration_on_session_resume.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 3+3? + content: >- + What is 3+3? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 3 + 3 = 6 - role: user - content: What is 4+4? + content: |- + What is 4+4? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant content: 4 + 4 = 8 diff --git a/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_create.yaml b/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_create.yaml index 9fe2fcd070..958c2f6add 100644 --- a/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_create.yaml +++ b/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_create.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 2+2? + content: >- + What is 2+2? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 2 + 2 = 4 + content: 2+2 equals 4. diff --git a/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_resume.yaml b/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_resume.yaml index 82c9917c34..98141161c3 100644 --- a/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_resume.yaml +++ b/test/snapshots/mcp_and_agents/should_accept_mcp_server_configuration_on_session_resume.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 1 + 1 = 2 + content: 1+1 equals 2. - role: user - content: What is 3+3? + content: |- + What is 3+3? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: 3 + 3 = 6 + content: 3+3 equals 6. diff --git a/test/snapshots/mcp_and_agents/should_hide_excluded_tools_from_default_agent.yaml b/test/snapshots/mcp_and_agents/should_hide_excluded_tools_from_default_agent.yaml index f5506bb184..bb5362485d 100644 --- a/test/snapshots/mcp_and_agents/should_hide_excluded_tools_from_default_agent.yaml +++ b/test/snapshots/mcp_and_agents/should_hide_excluded_tools_from_default_agent.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: Do you have access to a tool called secret_tool? Answer yes or no. + content: >- + Do you have access to a tool called secret_tool? Answer yes or no. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: No, I don't have access to a tool called secret_tool. + content: No. diff --git a/test/snapshots/mcp_and_agents/should_pass_literal_env_values_to_mcp_server_subprocess.yaml b/test/snapshots/mcp_and_agents/should_pass_literal_env_values_to_mcp_server_subprocess.yaml index 29ba0fc68b..8235e9e80e 100644 --- a/test/snapshots/mcp_and_agents/should_pass_literal_env_values_to_mcp_server_subprocess.yaml +++ b/test/snapshots/mcp_and_agents/should_pass_literal_env_values_to_mcp_server_subprocess.yaml @@ -5,8 +5,17 @@ conversations: - role: system content: ${system} - role: user - content: Use the env-echo/get_env tool to read the TEST_SECRET environment variable. Reply with just the value, nothing + content: >- + Use the env-echo/get_env tool to read the TEST_SECRET environment variable. Reply with just the value, nothing else. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant tool_calls: - id: toolcall_0 diff --git a/test/snapshots/multi_client/both_clients_see_tool_request_and_completion_events.yaml b/test/snapshots/multi_client/both_clients_see_tool_request_and_completion_events.yaml index b4b14d0ea7..297445f46c 100644 --- a/test/snapshots/multi_client/both_clients_see_tool_request_and_completion_events.yaml +++ b/test/snapshots/multi_client/both_clients_see_tool_request_and_completion_events.yaml @@ -5,19 +5,21 @@ conversations: - role: system content: ${system} - role: user - content: Use the magic_number tool with seed 'hello' and tell me the result + content: >- + Use the magic_number tool with seed 'hello' and tell me the result + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll use the magic_number tool with seed 'hello' for you. + content: I'll call the magic_number tool with seed 'hello' for you. - role: assistant tool_calls: - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Getting magic number"}' - - role: assistant - tool_calls: - - id: toolcall_1 type: function function: name: magic_number @@ -26,25 +28,26 @@ conversations: - role: system content: ${system} - role: user - content: Use the magic_number tool with seed 'hello' and tell me the result + content: >- + Use the magic_number tool with seed 'hello' and tell me the result + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll use the magic_number tool with seed 'hello' for you. + content: I'll call the magic_number tool with seed 'hello' for you. tool_calls: - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Getting magic number"}' - - id: toolcall_1 type: function function: name: magic_number arguments: '{"seed":"hello"}' - role: tool tool_call_id: toolcall_0 - content: Intent logged - - role: tool - tool_call_id: toolcall_1 content: MAGIC_hello_42 - role: assistant - content: The magic number for seed 'hello' is **MAGIC_hello_42**. + content: "The magic number tool returned: **MAGIC_hello_42**" diff --git a/test/snapshots/multi_client/disconnecting_client_removes_its_tools.yaml b/test/snapshots/multi_client/disconnecting_client_removes_its_tools.yaml index bf3628fa3c..3bc2327bb5 100644 --- a/test/snapshots/multi_client/disconnecting_client_removes_its_tools.yaml +++ b/test/snapshots/multi_client/disconnecting_client_removes_its_tools.yaml @@ -5,7 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Use the stable_tool with input 'test1' and tell me the result. + content: >- + Use the stable_tool with input 'test1' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll call the stable_tool with input 'test1' for you. - role: assistant @@ -14,7 +23,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing stable_tool"}' + arguments: '{"intent":"Testing stable tool"}' - role: assistant tool_calls: - id: toolcall_1 @@ -26,7 +35,16 @@ conversations: - role: system content: ${system} - role: user - content: Use the stable_tool with input 'test1' and tell me the result. + content: >- + Use the stable_tool with input 'test1' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll call the stable_tool with input 'test1' for you. tool_calls: @@ -34,7 +52,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing stable_tool"}' + arguments: '{"intent":"Testing stable tool"}' - id: toolcall_1 type: function function: @@ -47,9 +65,17 @@ conversations: tool_call_id: toolcall_1 content: STABLE_test1 - role: assistant - content: "The stable_tool returned: **STABLE_test1**" + content: |- + The stable_tool returned: **STABLE_test1** + + The tool successfully processed the input 'test1' and prepended "STABLE_" to it. - role: user - content: Use the ephemeral_tool with input 'test2' and tell me the result. + content: |- + Use the ephemeral_tool with input 'test2' and tell me the result. + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant content: I'll call the ephemeral_tool with input 'test2' for you. - role: assistant @@ -58,7 +84,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing ephemeral_tool"}' + arguments: '{"intent":"Testing ephemeral tool"}' - role: assistant tool_calls: - id: toolcall_3 @@ -70,7 +96,16 @@ conversations: - role: system content: ${system} - role: user - content: Use the stable_tool with input 'test1' and tell me the result. + content: >- + Use the stable_tool with input 'test1' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll call the stable_tool with input 'test1' for you. tool_calls: @@ -78,7 +113,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing stable_tool"}' + arguments: '{"intent":"Testing stable tool"}' - id: toolcall_1 type: function function: @@ -91,9 +126,17 @@ conversations: tool_call_id: toolcall_1 content: STABLE_test1 - role: assistant - content: "The stable_tool returned: **STABLE_test1**" + content: |- + The stable_tool returned: **STABLE_test1** + + The tool successfully processed the input 'test1' and prepended "STABLE_" to it. - role: user - content: Use the ephemeral_tool with input 'test2' and tell me the result. + content: |- + Use the ephemeral_tool with input 'test2' and tell me the result. + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant content: I'll call the ephemeral_tool with input 'test2' for you. tool_calls: @@ -101,7 +144,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing ephemeral_tool"}' + arguments: '{"intent":"Testing ephemeral tool"}' - id: toolcall_3 type: function function: @@ -114,7 +157,10 @@ conversations: tool_call_id: toolcall_3 content: EPHEMERAL_test2 - role: assistant - content: "The ephemeral_tool returned: **EPHEMERAL_test2**" + content: |- + The ephemeral_tool returned: **EPHEMERAL_test2** + + The tool successfully processed the input 'test2' and prepended "EPHEMERAL_" to it. - role: user content: >- @@ -129,9 +175,16 @@ conversations: Use the stable_tool with input 'still_here'. Also try using ephemeral_tool if it is available. + + + + + Available tables: todos, todo_deps, inbox_entries + + - role: assistant - content: I'll call the stable_tool with input 'still_here'. The ephemeral_tool is no longer available, so I can only use - the stable_tool. + content: I'll call the stable_tool with input 'still_here'. The ephemeral_tool is no longer available according to the + tools_changed_notice I received. - role: assistant tool_calls: - id: toolcall_4 @@ -150,7 +203,16 @@ conversations: - role: system content: ${system} - role: user - content: Use the stable_tool with input 'test1' and tell me the result. + content: >- + Use the stable_tool with input 'test1' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll call the stable_tool with input 'test1' for you. tool_calls: @@ -158,7 +220,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing stable_tool"}' + arguments: '{"intent":"Testing stable tool"}' - id: toolcall_1 type: function function: @@ -171,9 +233,17 @@ conversations: tool_call_id: toolcall_1 content: STABLE_test1 - role: assistant - content: "The stable_tool returned: **STABLE_test1**" + content: |- + The stable_tool returned: **STABLE_test1** + + The tool successfully processed the input 'test1' and prepended "STABLE_" to it. - role: user - content: Use the ephemeral_tool with input 'test2' and tell me the result. + content: |- + Use the ephemeral_tool with input 'test2' and tell me the result. + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant content: I'll call the ephemeral_tool with input 'test2' for you. tool_calls: @@ -181,7 +251,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Testing ephemeral_tool"}' + arguments: '{"intent":"Testing ephemeral tool"}' - id: toolcall_3 type: function function: @@ -194,7 +264,10 @@ conversations: tool_call_id: toolcall_3 content: EPHEMERAL_test2 - role: assistant - content: "The ephemeral_tool returned: **EPHEMERAL_test2**" + content: |- + The ephemeral_tool returned: **EPHEMERAL_test2** + + The tool successfully processed the input 'test2' and prepended "EPHEMERAL_" to it. - role: user content: >- @@ -209,9 +282,16 @@ conversations: Use the stable_tool with input 'still_here'. Also try using ephemeral_tool if it is available. + + + + + Available tables: todos, todo_deps, inbox_entries + + - role: assistant - content: I'll call the stable_tool with input 'still_here'. The ephemeral_tool is no longer available, so I can only use - the stable_tool. + content: I'll call the stable_tool with input 'still_here'. The ephemeral_tool is no longer available according to the + tools_changed_notice I received. tool_calls: - id: toolcall_4 type: function @@ -230,7 +310,9 @@ conversations: tool_call_id: toolcall_5 content: STABLE_still_here - role: assistant - content: |- + content: >- The stable_tool returned: **STABLE_still_here** - The ephemeral_tool is not available anymore (it was removed), so I could only call the stable_tool. + + The stable_tool is still working correctly. However, the ephemeral_tool is no longer available - it was + removed from the available tools, so I couldn't call it. diff --git a/test/snapshots/multi_client/one_client_approves_permission_and_both_see_the_result.yaml b/test/snapshots/multi_client/one_client_approves_permission_and_both_see_the_result.yaml index b864279368..ab1cf8ad1d 100644 --- a/test/snapshots/multi_client/one_client_approves_permission_and_both_see_the_result.yaml +++ b/test/snapshots/multi_client/one_client_approves_permission_and_both_see_the_result.yaml @@ -5,9 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Create a file called hello.txt containing the text 'hello world' + content: >- + Create a file called hello.txt containing the text 'hello world' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll create the hello.txt file with the text 'hello world'. + content: I'll create the hello.txt file for you with the text 'hello world'. - role: assistant tool_calls: - id: toolcall_0 @@ -26,9 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Create a file called hello.txt containing the text 'hello world' + content: >- + Create a file called hello.txt containing the text 'hello world' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll create the hello.txt file with the text 'hello world'. + content: I'll create the hello.txt file for you with the text 'hello world'. tool_calls: - id: toolcall_0 type: function @@ -47,4 +65,4 @@ conversations: tool_call_id: toolcall_1 content: Created file ${workdir}/hello.txt with 11 characters - role: assistant - content: Done! I've created the file `hello.txt` containing the text 'hello world'. + content: Done! I've created hello.txt containing 'hello world' in the current directory. diff --git a/test/snapshots/multi_client/one_client_rejects_permission_and_both_see_the_result.yaml b/test/snapshots/multi_client/one_client_rejects_permission_and_both_see_the_result.yaml index ba9db87d08..774acb51f1 100644 --- a/test/snapshots/multi_client/one_client_rejects_permission_and_both_see_the_result.yaml +++ b/test/snapshots/multi_client/one_client_rejects_permission_and_both_see_the_result.yaml @@ -5,10 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Edit protected.txt and replace 'protected' with 'hacked'. + content: >- + Edit protected.txt and replace 'protected' with 'hacked'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll help you edit protected.txt to replace 'protected' with 'hacked'. Let me first view the file and then make - the change. + content: I'll help you edit the file. Let me first view its contents and then make the replacement. - role: assistant tool_calls: - id: toolcall_0 diff --git a/test/snapshots/multi_client/two_clients_register_different_tools_and_agent_uses_both.yaml b/test/snapshots/multi_client/two_clients_register_different_tools_and_agent_uses_both.yaml index d0c95ba8a5..bc2ce5fb81 100644 --- a/test/snapshots/multi_client/two_clients_register_different_tools_and_agent_uses_both.yaml +++ b/test/snapshots/multi_client/two_clients_register_different_tools_and_agent_uses_both.yaml @@ -5,19 +5,21 @@ conversations: - role: system content: ${system} - role: user - content: Use the city_lookup tool with countryCode 'US' and tell me the result. + content: >- + Use the city_lookup tool with countryCode 'US' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll call the city_lookup tool with the country code 'US' for you. + content: I'll use the city_lookup tool with the country code 'US' for you. - role: assistant tool_calls: - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Looking up city information"}' - - role: assistant - tool_calls: - - id: toolcall_1 type: function function: name: city_lookup @@ -26,42 +28,41 @@ conversations: - role: system content: ${system} - role: user - content: Use the city_lookup tool with countryCode 'US' and tell me the result. + content: >- + Use the city_lookup tool with countryCode 'US' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll call the city_lookup tool with the country code 'US' for you. + content: I'll use the city_lookup tool with the country code 'US' for you. tool_calls: - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Looking up city information"}' - - id: toolcall_1 type: function function: name: city_lookup arguments: '{"countryCode":"US"}' - role: tool tool_call_id: toolcall_0 - content: Intent logged - - role: tool - tool_call_id: toolcall_1 content: CITY_FOR_US - role: assistant - content: The city_lookup tool returned **"CITY_FOR_US"** for the country code 'US'. + content: "The city_lookup tool returned: **CITY_FOR_US**" - role: user - content: Now use the currency_lookup tool with countryCode 'US' and tell me the result. + content: |- + Now use the currency_lookup tool with countryCode 'US' and tell me the result. + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: I'll call the currency_lookup tool with the country code 'US' for you. + content: I'll use the currency_lookup tool with the country code 'US' for you. - role: assistant tool_calls: - - id: toolcall_2 - type: function - function: - name: report_intent - arguments: '{"intent":"Looking up currency information"}' - - role: assistant - tool_calls: - - id: toolcall_3 + - id: toolcall_1 type: function function: name: currency_lookup @@ -70,48 +71,46 @@ conversations: - role: system content: ${system} - role: user - content: Use the city_lookup tool with countryCode 'US' and tell me the result. + content: >- + Use the city_lookup tool with countryCode 'US' and tell me the result. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll call the city_lookup tool with the country code 'US' for you. + content: I'll use the city_lookup tool with the country code 'US' for you. tool_calls: - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Looking up city information"}' - - id: toolcall_1 type: function function: name: city_lookup arguments: '{"countryCode":"US"}' - role: tool tool_call_id: toolcall_0 - content: Intent logged - - role: tool - tool_call_id: toolcall_1 content: CITY_FOR_US - role: assistant - content: The city_lookup tool returned **"CITY_FOR_US"** for the country code 'US'. + content: "The city_lookup tool returned: **CITY_FOR_US**" - role: user - content: Now use the currency_lookup tool with countryCode 'US' and tell me the result. + content: |- + Now use the currency_lookup tool with countryCode 'US' and tell me the result. + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: I'll call the currency_lookup tool with the country code 'US' for you. + content: I'll use the currency_lookup tool with the country code 'US' for you. tool_calls: - - id: toolcall_2 - type: function - function: - name: report_intent - arguments: '{"intent":"Looking up currency information"}' - - id: toolcall_3 + - id: toolcall_1 type: function function: name: currency_lookup arguments: '{"countryCode":"US"}' - role: tool - tool_call_id: toolcall_2 - content: Intent logged - - role: tool - tool_call_id: toolcall_3 + tool_call_id: toolcall_1 content: CURRENCY_FOR_US - role: assistant - content: The currency_lookup tool returned **"CURRENCY_FOR_US"** for the country code 'US'. + content: "The currency_lookup tool returned: **CURRENCY_FOR_US**" diff --git a/test/snapshots/multi_turn/should_use_tool_results_from_previous_turns.yaml b/test/snapshots/multi_turn/should_use_tool_results_from_previous_turns.yaml index 8e9ce440d4..d8f2d9f44d 100644 --- a/test/snapshots/multi_turn/should_use_tool_results_from_previous_turns.yaml +++ b/test/snapshots/multi_turn/should_use_tool_results_from_previous_turns.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the file 'secret.txt' and tell me what the magic number is. + content: >- + Read the file 'secret.txt' and tell me what the magic number is. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the secret.txt file for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Read the file 'secret.txt' and tell me what the magic number is. + content: >- + Read the file 'secret.txt' and tell me what the magic number is. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the secret.txt file for you. tool_calls: - id: toolcall_0 type: function @@ -46,6 +67,11 @@ conversations: - role: assistant content: The magic number is **42**. - role: user - content: What is that magic number multiplied by 2? + content: |- + What is that magic number multiplied by 2? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: 42 × 2 = **84** + content: The magic number (42) multiplied by 2 is **84**. diff --git a/test/snapshots/permissions/should_deny_permission_when_handler_returns_denied.yaml b/test/snapshots/permissions/should_deny_permission_when_handler_returns_denied.yaml index ef6f60dbed..ff919bd4a0 100644 --- a/test/snapshots/permissions/should_deny_permission_when_handler_returns_denied.yaml +++ b/test/snapshots/permissions/should_deny_permission_when_handler_returns_denied.yaml @@ -5,9 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Edit protected.txt and replace 'protected' with 'hacked'. + content: >- + Edit protected.txt and replace 'protected' with 'hacked'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll view the file first, then make the edit. + content: I'll help you edit the file. Let me first check its contents and then make the replacement. - role: assistant tool_calls: - id: toolcall_0 diff --git a/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies.yaml b/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies.yaml index c0fc46a9ab..dcf1f52d43 100644 --- a/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies.yaml +++ b/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Run 'node --version' + content: >- + Run 'node --version' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll check the Node.js version for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Run 'node --version' + content: >- + Run 'node --version' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll check the Node.js version for you. tool_calls: - id: toolcall_0 type: function @@ -44,5 +65,11 @@ conversations: tool_call_id: toolcall_1 content: Permission denied and could not request permission from user - role: assistant - content: Permission was denied to run the command. This may be due to security policies or execution restrictions in the - current environment. + content: |- + I received a permission denied error when trying to run the node command. This indicates that either: + + 1. Node.js is not installed on this system + 2. The node executable is not in the system PATH + 3. There are permission restrictions preventing command execution + + Could you verify if Node.js is installed on your system and accessible from the command line? diff --git a/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies_after_resume.yaml b/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies_after_resume.yaml index 551ba8f91b..bf2e9c141d 100644 --- a/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies_after_resume.yaml +++ b/test/snapshots/permissions/should_deny_tool_operations_when_handler_explicitly_denies_after_resume.yaml @@ -5,11 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 1+1 equals 2. - role: user - content: Run 'node --version' + content: |- + Run 'node --version' + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant tool_calls: - id: toolcall_0 @@ -28,11 +42,25 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 1+1 equals 2. - role: user - content: Run 'node --version' + content: |- + Run 'node --version' + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant tool_calls: - id: toolcall_0 @@ -52,5 +80,10 @@ conversations: tool_call_id: toolcall_1 content: Permission denied and could not request permission from user - role: assistant - content: The command was denied due to insufficient permissions. You'll need to grant permission to run commands in this - session. + content: >- + I was unable to run the command due to a permission issue. It appears the environment has restricted access to + execute the `node` command. This could be due to security policies or permission settings in your environment. + + + Would you like me to try an alternative approach, or would you need to adjust the permissions in your + environment first? diff --git a/test/snapshots/permissions/should_handle_async_permission_handler.yaml b/test/snapshots/permissions/should_handle_async_permission_handler.yaml index f28c96ca7f..7d2b668611 100644 --- a/test/snapshots/permissions/should_handle_async_permission_handler.yaml +++ b/test/snapshots/permissions/should_handle_async_permission_handler.yaml @@ -5,38 +5,59 @@ conversations: - role: system content: ${system} - role: user - content: Run 'echo test' and tell me what happens + content: >- + Run 'echo test' and tell me what happens + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll run the echo command for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running echo command"}' + arguments: '{"intent":"Running echo test"}' - role: assistant tool_calls: - id: toolcall_1 type: function function: name: ${shell} - arguments: '{"command":"echo test","description":"Run echo test"}' + arguments: '{"command":"echo test","description":"Run echo test","mode":"sync"}' - messages: - role: system content: ${system} - role: user - content: Run 'echo test' and tell me what happens + content: >- + Run 'echo test' and tell me what happens + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll run the echo command for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running echo command"}' + arguments: '{"intent":"Running echo test"}' - id: toolcall_1 type: function function: name: ${shell} - arguments: '{"command":"echo test","description":"Run echo test"}' + arguments: '{"command":"echo test","description":"Run echo test","mode":"sync"}' - role: tool tool_call_id: toolcall_0 content: Intent logged @@ -46,5 +67,5 @@ conversations: test - role: assistant - content: The command successfully executed and printed "test" to the console, then exited with exit code 0 (indicating - success). + content: The command executed successfully! It output `test` to the console and exited with code 0 (indicating success). + The `echo` command simply prints whatever text follows it, so "echo test" printed "test". diff --git a/test/snapshots/permissions/should_handle_permission_handler_errors_gracefully.yaml b/test/snapshots/permissions/should_handle_permission_handler_errors_gracefully.yaml index cee78a0929..5fc1d41e5a 100644 --- a/test/snapshots/permissions/should_handle_permission_handler_errors_gracefully.yaml +++ b/test/snapshots/permissions/should_handle_permission_handler_errors_gracefully.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Run 'echo test'. If you can't, say 'failed'. + content: >- + Run 'echo test'. If you can't, say 'failed'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll run the echo command for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Run 'echo test'. If you can't, say 'failed'. + content: >- + Run 'echo test'. If you can't, say 'failed'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll run the echo command for you. tool_calls: - id: toolcall_0 type: function diff --git a/test/snapshots/permissions/should_invoke_permission_handler_for_write_operations.yaml b/test/snapshots/permissions/should_invoke_permission_handler_for_write_operations.yaml index a0850313e2..827174377a 100644 --- a/test/snapshots/permissions/should_invoke_permission_handler_for_write_operations.yaml +++ b/test/snapshots/permissions/should_invoke_permission_handler_for_write_operations.yaml @@ -5,9 +5,19 @@ conversations: - role: system content: ${system} - role: user - content: Edit test.txt and replace 'original' with 'modified' + content: >- + Edit test.txt and replace 'original' with 'modified' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll view the file first to see its contents, then make the replacement. + content: I'll help you edit test.txt to replace 'original' with 'modified'. Let me first view the file to see its + current contents. - role: assistant tool_calls: - id: toolcall_0 @@ -26,9 +36,19 @@ conversations: - role: system content: ${system} - role: user - content: Edit test.txt and replace 'original' with 'modified' + content: >- + Edit test.txt and replace 'original' with 'modified' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll view the file first to see its contents, then make the replacement. + content: I'll help you edit test.txt to replace 'original' with 'modified'. Let me first view the file to see its + current contents. tool_calls: - id: toolcall_0 type: function @@ -54,14 +74,24 @@ conversations: type: function function: name: edit - arguments: '{"path":"${workdir}/test.txt","old_str":"original content","new_str":"modified content"}' + arguments: '{"new_str":"modified content","old_str":"original content","path":"${workdir}/test.txt"}' - messages: - role: system content: ${system} - role: user - content: Edit test.txt and replace 'original' with 'modified' + content: >- + Edit test.txt and replace 'original' with 'modified' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll view the file first to see its contents, then make the replacement. + content: I'll help you edit test.txt to replace 'original' with 'modified'. Let me first view the file to see its + current contents. tool_calls: - id: toolcall_0 type: function @@ -86,9 +116,10 @@ conversations: type: function function: name: edit - arguments: '{"path":"${workdir}/test.txt","old_str":"original content","new_str":"modified content"}' + arguments: '{"new_str":"modified content","old_str":"original content","path":"${workdir}/test.txt"}' - role: tool tool_call_id: toolcall_2 content: File ${workdir}/test.txt updated with changes. - role: assistant - content: Done! I've replaced 'original' with 'modified' in test.txt. + content: Done! I've successfully replaced 'original' with 'modified' in test.txt. The file now contains "modified + content". diff --git a/test/snapshots/permissions/should_receive_toolcallid_in_permission_requests.yaml b/test/snapshots/permissions/should_receive_toolcallid_in_permission_requests.yaml index b529a01e6d..eff0b20b2c 100644 --- a/test/snapshots/permissions/should_receive_toolcallid_in_permission_requests.yaml +++ b/test/snapshots/permissions/should_receive_toolcallid_in_permission_requests.yaml @@ -5,14 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: Run 'echo test' + content: >- + Run 'echo test' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll run that command for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running echo command"}' + arguments: '{"intent":"Running echo test"}' - role: assistant tool_calls: - id: toolcall_1 @@ -24,14 +35,24 @@ conversations: - role: system content: ${system} - role: user - content: Run 'echo test' + content: >- + Run 'echo test' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll run that command for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running echo command"}' + arguments: '{"intent":"Running echo test"}' - id: toolcall_1 type: function function: @@ -46,4 +67,4 @@ conversations: test - role: assistant - content: Command executed successfully, output is "test". + content: "The command executed successfully and output: `test`" diff --git a/test/snapshots/permissions/should_resume_session_with_permission_handler.yaml b/test/snapshots/permissions/should_resume_session_with_permission_handler.yaml index 69a52be875..fd9a223181 100644 --- a/test/snapshots/permissions/should_resume_session_with_permission_handler.yaml +++ b/test/snapshots/permissions/should_resume_session_with_permission_handler.yaml @@ -5,11 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 1+1 = 2 - role: user - content: Run 'echo resumed' for me + content: |- + Run 'echo resumed' for me + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant tool_calls: - id: toolcall_0 @@ -23,16 +37,30 @@ conversations: type: function function: name: ${shell} - arguments: '{"description":"Run echo resumed","command":"echo resumed"}' + arguments: '{"command":"echo resumed","description":"Run echo resumed"}' - messages: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 1+1 = 2 - role: user - content: Run 'echo resumed' for me + content: |- + Run 'echo resumed' for me + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant tool_calls: - id: toolcall_0 @@ -44,7 +72,7 @@ conversations: type: function function: name: ${shell} - arguments: '{"description":"Run echo resumed","command":"echo resumed"}' + arguments: '{"command":"echo resumed","description":"Run echo resumed"}' - role: tool tool_call_id: toolcall_0 content: Intent logged @@ -54,4 +82,4 @@ conversations: resumed - role: assistant - content: "The command executed successfully and output: **resumed**" + content: "Done! The command output: `resumed`" diff --git a/test/snapshots/permissions/should_work_with_approve_all_permission_handler.yaml b/test/snapshots/permissions/should_work_with_approve_all_permission_handler.yaml index 9199977dba..17b411622c 100644 --- a/test/snapshots/permissions/should_work_with_approve_all_permission_handler.yaml +++ b/test/snapshots/permissions/should_work_with_approve_all_permission_handler.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 2+2? + content: >- + What is 2+2? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 2+2 = 4 + content: 2 + 2 = 4 diff --git a/test/snapshots/session/send_returns_immediately_while_events_stream_in_background.yaml b/test/snapshots/session/send_returns_immediately_while_events_stream_in_background.yaml index 6da087586a..63130faa34 100644 --- a/test/snapshots/session/send_returns_immediately_while_events_stream_in_background.yaml +++ b/test/snapshots/session/send_returns_immediately_while_events_stream_in_background.yaml @@ -5,40 +5,59 @@ conversations: - role: system content: ${system} - role: user - content: Run 'sleep 2 && echo done' + content: >- + Run 'sleep 2 && echo done' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll run that command for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running command"}' + arguments: '{"intent":"Running sleep command"}' - role: assistant tool_calls: - id: toolcall_1 type: function function: name: ${shell} - arguments: '{"command":"sleep 2 && echo done","description":"Run sleep and echo - command","initial_wait":5,"mode":"sync"}' + arguments: '{"command":"sleep 2; echo done","description":"Run sleep 2 and echo done","initial_wait":10,"mode":"sync"}' - messages: - role: system content: ${system} - role: user - content: Run 'sleep 2 && echo done' + content: >- + Run 'sleep 2 && echo done' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll run that command for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Running command"}' + arguments: '{"intent":"Running sleep command"}' - id: toolcall_1 type: function function: name: ${shell} - arguments: '{"command":"sleep 2 && echo done","description":"Run sleep and echo - command","initial_wait":5,"mode":"sync"}' + arguments: '{"command":"sleep 2; echo done","description":"Run sleep 2 and echo done","initial_wait":10,"mode":"sync"}' - role: tool tool_call_id: toolcall_0 content: Intent logged @@ -48,4 +67,4 @@ conversations: done - role: assistant - content: Command completed successfully. The output is "done". + content: Done! The command executed successfully and output "done" after sleeping for 2 seconds. diff --git a/test/snapshots/session/sendandwait_blocks_until_session_idle_and_returns_final_assistant_message.yaml b/test/snapshots/session/sendandwait_blocks_until_session_idle_and_returns_final_assistant_message.yaml index 9fe2fcd070..17b411622c 100644 --- a/test/snapshots/session/sendandwait_blocks_until_session_idle_and_returns_final_assistant_message.yaml +++ b/test/snapshots/session/sendandwait_blocks_until_session_idle_and_returns_final_assistant_message.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 2+2? + content: >- + What is 2+2? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 2 + 2 = 4 diff --git a/test/snapshots/session/sendandwait_throws_on_timeout.yaml b/test/snapshots/session/sendandwait_throws_on_timeout.yaml index 0e019bdad7..6167b4e068 100644 --- a/test/snapshots/session/sendandwait_throws_on_timeout.yaml +++ b/test/snapshots/session/sendandwait_throws_on_timeout.yaml @@ -5,4 +5,13 @@ conversations: - role: system content: ${system} - role: user - content: Run 'sleep 2 && echo done' + content: >- + Run 'sleep 2 && echo done' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + diff --git a/test/snapshots/session/should_abort_a_session.yaml b/test/snapshots/session/should_abort_a_session.yaml index 9f6c42c2ba..f2a20ffca9 100644 --- a/test/snapshots/session/should_abort_a_session.yaml +++ b/test/snapshots/session/should_abort_a_session.yaml @@ -5,9 +5,19 @@ conversations: - role: system content: ${system} - role: user - content: run the shell command 'sleep 100' (note this works on both bash and PowerShell) + content: >- + run the shell command 'sleep 100' (note this works on both bash and PowerShell) + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll run the sleep command for 100 seconds. + content: I'll run the `sleep 100` command for you. Since this will take 100 seconds to complete, I'll use sync mode with + an appropriate wait time. - role: assistant tool_calls: - id: toolcall_0 @@ -21,14 +31,24 @@ conversations: type: function function: name: ${shell} - arguments: '{"command":"sleep 100","description":"Run sleep 100 command","mode":"sync","initial_wait":105}' + arguments: '{"command":"sleep 100","description":"Run sleep 100 command","initial_wait":120,"mode":"sync"}' - messages: - role: system content: ${system} - role: user - content: run the shell command 'sleep 100' (note this works on both bash and PowerShell) + content: >- + run the shell command 'sleep 100' (note this works on both bash and PowerShell) + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll run the sleep command for 100 seconds. + content: I'll run the `sleep 100` command for you. Since this will take 100 seconds to complete, I'll use sync mode with + an appropriate wait time. tool_calls: - id: toolcall_0 type: function @@ -39,7 +59,7 @@ conversations: type: function function: name: ${shell} - arguments: '{"command":"sleep 100","description":"Run sleep 100 command","mode":"sync","initial_wait":105}' + arguments: '{"command":"sleep 100","description":"Run sleep 100 command","initial_wait":120,"mode":"sync"}' - role: tool tool_call_id: toolcall_0 content: Intent logged @@ -47,6 +67,11 @@ conversations: tool_call_id: toolcall_1 content: The execution of this tool, or a previous tool was interrupted. - role: user - content: What is 2+2? + content: |- + What is 2+2? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: "4" + content: 2 + 2 = 4 diff --git a/test/snapshots/session/should_create_a_session_with_appended_systemmessage_config.yaml b/test/snapshots/session/should_create_a_session_with_appended_systemmessage_config.yaml index 3bf4a39f05..fbec281e87 100644 --- a/test/snapshots/session/should_create_a_session_with_appended_systemmessage_config.yaml +++ b/test/snapshots/session/should_create_a_session_with_appended_systemmessage_config.yaml @@ -5,11 +5,20 @@ conversations: - role: system content: ${system} - role: user - content: What is your full name? + content: >- + What is your full name? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: >- - I am the GitHub Copilot CLI, a terminal assistant built by GitHub. I'm an interactive command-line tool - designed to help with software engineering tasks. + I'm **GitHub Copilot CLI** (or just Copilot CLI for short). I'm a terminal assistant built by GitHub, powered + by claude-sonnet-4.5. I don't have a traditional full name like a person would - that's what I go by! Have a nice day! diff --git a/test/snapshots/session/should_create_a_session_with_customized_systemmessage_config.yaml b/test/snapshots/session/should_create_a_session_with_customized_systemmessage_config.yaml index f3ce077a62..cd415fca38 100644 --- a/test/snapshots/session/should_create_a_session_with_customized_systemmessage_config.yaml +++ b/test/snapshots/session/should_create_a_session_with_customized_systemmessage_config.yaml @@ -5,31 +5,43 @@ conversations: - role: system content: ${system} - role: user - content: Who are you? + content: >- + Who are you? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: >- - I'm **GitHub Copilot CLI**, a terminal assistant built by GitHub. I'm powered by claude-sonnet-4.5 (model ID: - claude-sonnet-4.5). + Hello! I'm **GitHub Copilot CLI**, a terminal assistant built by GitHub. I'm powered by **claude-sonnet-4.5** + (model ID: claude-sonnet-4.5). I'm here to help you with software engineering tasks, including: - - Writing, debugging, and refactoring code - - Running commands and managing development workflows + - **Writing and editing code** across multiple languages and frameworks + + - **Exploring codebases** - searching for files, understanding code structure, and navigating projects + + - **Running commands** - executing tests, builds, lints, and other development tasks - - Exploring codebases and understanding how things work + - **Git operations** - commits, branches, pull requests, and more - - Setting up projects, installing dependencies, and configuring tools + - **Debugging** - analyzing errors and suggesting fixes - - Working with Git, testing, and deployment tasks + - **Refactoring** - improving code quality and structure - - Planning and implementing features + - **Documentation** - creating and updating project documentation - I have access to a variety of tools including file operations, shell commands, code search, and specialized - sub-agents for specific tasks. I can work with multiple languages and frameworks, and I'm designed to be - efficient by running tasks in parallel when possible. + I have access to various tools like file operations, command execution (PowerShell/bash), code search + (grep/glob), and specialized sub-agents for complex tasks. I work right here in your terminal, currently in + `${workdir}`. How can I help you today? diff --git a/test/snapshots/session/should_create_a_session_with_excludedtools.yaml b/test/snapshots/session/should_create_a_session_with_excludedtools.yaml index 250402101b..e0dacfdaa4 100644 --- a/test/snapshots/session/should_create_a_session_with_excludedtools.yaml +++ b/test/snapshots/session/should_create_a_session_with_excludedtools.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 1 + 1 = 2 + content: 1+1 = 2 diff --git a/test/snapshots/session/should_create_a_session_with_replaced_systemmessage_config.yaml b/test/snapshots/session/should_create_a_session_with_replaced_systemmessage_config.yaml index ebe0881b90..2de78b7311 100644 --- a/test/snapshots/session/should_create_a_session_with_replaced_systemmessage_config.yaml +++ b/test/snapshots/session/should_create_a_session_with_replaced_systemmessage_config.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is your full name? + content: >- + What is your full name? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: My full name is **Testy McTestface**. + content: My full name is Testy McTestface. diff --git a/test/snapshots/session/should_create_session_with_custom_config_dir.yaml b/test/snapshots/session/should_create_session_with_custom_config_dir.yaml index 250402101b..b20ad68263 100644 --- a/test/snapshots/session/should_create_session_with_custom_config_dir.yaml +++ b/test/snapshots/session/should_create_session_with_custom_config_dir.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 1 + 1 = 2 + content: 1+1 equals 2. diff --git a/test/snapshots/session/should_create_session_with_custom_tool.yaml b/test/snapshots/session/should_create_session_with_custom_tool.yaml index 4ae6dab721..5a9bd0c4a3 100644 --- a/test/snapshots/session/should_create_session_with_custom_tool.yaml +++ b/test/snapshots/session/should_create_session_with_custom_tool.yaml @@ -5,8 +5,41 @@ conversations: - role: system content: ${system} - role: user - content: What is the secret number for key ALPHA? + content: >- + What is the secret number for key ALPHA? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll retrieve the secret number for key ALPHA. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: get_secret_number + arguments: '{"key":"ALPHA"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + What is the secret number for key ALPHA? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll retrieve the secret number for key ALPHA. tool_calls: - id: toolcall_0 type: function diff --git a/test/snapshots/session/should_get_session_metadata_by_id.yaml b/test/snapshots/session/should_get_session_metadata_by_id.yaml index b326528e1d..63b7ac7230 100644 --- a/test/snapshots/session/should_get_session_metadata_by_id.yaml +++ b/test/snapshots/session/should_get_session_metadata_by_id.yaml @@ -5,7 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hello + content: >- + Say hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! I'm GitHub Copilot CLI, ready to help you with your software engineering tasks. What can I assist you - with today? + content: Hello! 👋 I'm GitHub Copilot in the CLI, powered by claude-sonnet-4.5. I'm here to help you with software + engineering tasks, coding, debugging, and working with your projects. What can I help you with today? diff --git a/test/snapshots/session/should_have_stateful_conversation.yaml b/test/snapshots/session/should_have_stateful_conversation.yaml index 39d3c5acc5..3e4328d41c 100644 --- a/test/snapshots/session/should_have_stateful_conversation.yaml +++ b/test/snapshots/session/should_have_stateful_conversation.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 1+1 = 2 + content: 1+1 equals 2. - role: user - content: Now if you double that, what do you get? + content: |- + Now if you double that, what do you get? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: 2 doubled is 4. + content: If you double 2, you get 4. diff --git a/test/snapshots/session/should_resume_a_session_using_a_new_client.yaml b/test/snapshots/session/should_resume_a_session_using_a_new_client.yaml index bd02858372..db4f87132c 100644 --- a/test/snapshots/session/should_resume_a_session_using_a_new_client.yaml +++ b/test/snapshots/session/should_resume_a_session_using_a_new_client.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 1 + 1 = 2 + content: 1+1 = 2 - role: user - content: Now if you double that, what do you get? + content: |- + Now if you double that, what do you get? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: 2 doubled is 4. + content: If you double 2, you get 4. diff --git a/test/snapshots/session/should_resume_a_session_using_the_same_client.yaml b/test/snapshots/session/should_resume_a_session_using_the_same_client.yaml index b012e26ea8..3e4328d41c 100644 --- a/test/snapshots/session/should_resume_a_session_using_the_same_client.yaml +++ b/test/snapshots/session/should_resume_a_session_using_the_same_client.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? + content: >- + What is 1+1? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: 1 + 1 = 2 + content: 1+1 equals 2. - role: user - content: Now if you double that, what do you get? + content: |- + Now if you double that, what do you get? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant content: If you double 2, you get 4. diff --git a/test/snapshots/session_config/should_accept_blob_attachments.yaml b/test/snapshots/session_config/should_accept_blob_attachments.yaml index 672ca74d4e..859606ef01 100644 --- a/test/snapshots/session_config/should_accept_blob_attachments.yaml +++ b/test/snapshots/session_config/should_accept_blob_attachments.yaml @@ -5,9 +5,26 @@ conversations: - role: system content: ${system} - role: user - content: |- + content: >- What color is this pixel? Reply in one word. + + + + + The user mentioned images and they have been attached to this message in the order they were mentioned. You + can view them with the view + + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + pixel.png + [image] - role: assistant tool_calls: @@ -24,4 +41,4 @@ conversations: Image file at path ${workdir}/pixel.png [image] - role: assistant - content: Red + content: Beige diff --git a/test/snapshots/session_config/should_accept_message_attachments.yaml b/test/snapshots/session_config/should_accept_message_attachments.yaml index 2a345b4b35..292f99da36 100644 --- a/test/snapshots/session_config/should_accept_message_attachments.yaml +++ b/test/snapshots/session_config/should_accept_message_attachments.yaml @@ -5,13 +5,22 @@ conversations: - role: system content: ${system} - role: user - content: |- + content: >- Summarize the attached file + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + + * ${workdir}/attached.txt (1 lines) + - role: assistant content: I'll read the attached file and summarize it for you. @@ -33,13 +42,22 @@ conversations: - role: system content: ${system} - role: user - content: |- + content: >- Summarize the attached file + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + + * ${workdir}/attached.txt (1 lines) + - role: assistant content: I'll read the attached file and summarize it for you. @@ -61,5 +79,5 @@ conversations: tool_call_id: toolcall_1 content: 1. This file is attached - role: assistant - content: The attached file contains a single line of text that simply states "This file is attached" - it's a minimal - test file confirming its attachment status. + content: The attached file contains a single line of text that simply states "This file is attached." It's a minimal + text file with no additional content or context. diff --git a/test/snapshots/session_config/should_use_workingdirectory_for_tool_execution.yaml b/test/snapshots/session_config/should_use_workingdirectory_for_tool_execution.yaml index 49c7bb74f3..ee020921ac 100644 --- a/test/snapshots/session_config/should_use_workingdirectory_for_tool_execution.yaml +++ b/test/snapshots/session_config/should_use_workingdirectory_for_tool_execution.yaml @@ -5,14 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: Read the file marker.txt and tell me what it says + content: >- + Read the file marker.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the marker.txt file for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading file"}' + arguments: '{"intent":"Reading marker.txt file"}' - role: assistant tool_calls: - id: toolcall_1 @@ -24,14 +35,24 @@ conversations: - role: system content: ${system} - role: user - content: Read the file marker.txt and tell me what it says + content: >- + Read the file marker.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the marker.txt file for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading file"}' + arguments: '{"intent":"Reading marker.txt file"}' - id: toolcall_1 type: function function: diff --git a/test/snapshots/session_config/vision_disabled_then_enabled_via_setmodel.yaml b/test/snapshots/session_config/vision_disabled_then_enabled_via_setmodel.yaml index b9e4143280..c3f3899859 100644 --- a/test/snapshots/session_config/vision_disabled_then_enabled_via_setmodel.yaml +++ b/test/snapshots/session_config/vision_disabled_then_enabled_via_setmodel.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll look at the test.png file for you. - role: assistant tool_calls: - id: toolcall_0 @@ -24,8 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll look at the test.png file for you. tool_calls: - id: toolcall_0 type: function @@ -44,11 +65,17 @@ conversations: tool_call_id: toolcall_1 content: Viewed image file successfully. - role: assistant - content: The image shows a **GitHub Copilot logo** - a hexagonal icon with an orange/coral colored background containing - a stylized white design that represents the Copilot brand mark. The logo has the characteristic GitHub Copilot - appearance with its geometric hexagon shape and minimal design aesthetic. + content: The image shows a simple geometric design with a **light blue circle** centered on a **white background**. The + circle appears to be a solid fill with a clean, minimalist style. - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: |- + Use the view tool to look at the file test.png and describe what you see + + + Available tables: todos, todo_deps, inbox_entries + + - role: assistant + content: I'll look at the test.png file again for you. - role: assistant tool_calls: - id: toolcall_2 @@ -67,8 +94,18 @@ conversations: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll look at the test.png file for you. tool_calls: - id: toolcall_0 type: function @@ -87,12 +124,17 @@ conversations: tool_call_id: toolcall_1 content: Viewed image file successfully. - role: assistant - content: The image shows a **GitHub Copilot logo** - a hexagonal icon with an orange/coral colored background containing - a stylized white design that represents the Copilot brand mark. The logo has the characteristic GitHub Copilot - appearance with its geometric hexagon shape and minimal design aesthetic. + content: The image shows a simple geometric design with a **light blue circle** centered on a **white background**. The + circle appears to be a solid fill with a clean, minimalist style. - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: |- + Use the view tool to look at the file test.png and describe what you see + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant + content: I'll look at the test.png file again for you. tool_calls: - id: toolcall_2 type: function @@ -115,6 +157,16 @@ conversations: Image file at path ${workdir}/test.png [image] - role: assistant - content: The image appears to be a **very small, mostly blank white or off-white rectangular image**. There doesn't seem - to be any visible content, text, or graphics - just a plain light-colored background. It looks like either an - empty/blank image file or a very minimalistic placeholder image. + content: >- + Looking at the image, I see what appears to be a **blank or nearly blank white image**. There's no visible + content - it's essentially just a white canvas with no discernible shapes, text, or colors beyond the white + background itself. + + + If there's supposed to be content in this image, it's possible that: + + - The image didn't render properly + + - The content is extremely faint/low contrast + + - The image is intentionally blank diff --git a/test/snapshots/session_config/vision_enabled_then_disabled_via_setmodel.yaml b/test/snapshots/session_config/vision_enabled_then_disabled_via_setmodel.yaml index 29b201818a..af4481b3fd 100644 --- a/test/snapshots/session_config/vision_enabled_then_disabled_via_setmodel.yaml +++ b/test/snapshots/session_config/vision_enabled_then_disabled_via_setmodel.yaml @@ -5,9 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll use the view tool to examine the test.png file. + content: I'll look at the test.png file for you. - role: assistant tool_calls: - id: toolcall_0 @@ -26,9 +35,18 @@ conversations: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll use the view tool to examine the test.png file. + content: I'll look at the test.png file for you. tool_calls: - id: toolcall_0 type: function @@ -52,20 +70,37 @@ conversations: [image] - role: assistant content: >- - Looking at the test.png image, I can see what appears to be a solid beige or tan colored square. It's a very - simple image - just a single uniform color with no visible patterns, text, or other elements. The color is a - light peachy-tan shade, similar to a skin tone or sand color. + The image appears to be almost entirely white or a very light cream color. There are no visible text, objects, + or distinct features in the image - it's essentially a blank or nearly blank white canvas. If there's supposed + to be content in this image, it may be: + + - An extremely faint/light image that needs contrast adjustment - This looks like it could be a test image or placeholder, possibly just a single pixel or small solid color - block that's been created for testing purposes. + - A corrupted or incomplete image file + + - Intentionally blank + + - Content that didn't render properly + + + Would you like me to check the file properties or try to analyze it differently? - messages: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll use the view tool to examine the test.png file. + content: I'll look at the test.png file for you. tool_calls: - id: toolcall_0 type: function @@ -85,15 +120,30 @@ conversations: content: Viewed image file successfully. - role: assistant content: >- - Looking at the test.png image, I can see what appears to be a solid beige or tan colored square. It's a very - simple image - just a single uniform color with no visible patterns, text, or other elements. The color is a - light peachy-tan shade, similar to a skin tone or sand color. + The image appears to be almost entirely white or a very light cream color. There are no visible text, objects, + or distinct features in the image - it's essentially a blank or nearly blank white canvas. If there's supposed + to be content in this image, it may be: + + + - An extremely faint/light image that needs contrast adjustment + - A corrupted or incomplete image file - This looks like it could be a test image or placeholder, possibly just a single pixel or small solid color - block that's been created for testing purposes. + - Intentionally blank + + - Content that didn't render properly + + + Would you like me to check the file properties or try to analyze it differently? - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: |- + Use the view tool to look at the file test.png and describe what you see + + + Available tables: todos, todo_deps, inbox_entries + + - role: assistant + content: I'll look at the test.png file again. - role: assistant tool_calls: - id: toolcall_2 @@ -112,9 +162,18 @@ conversations: - role: system content: ${system} - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: >- + Use the view tool to look at the file test.png and describe what you see + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll use the view tool to examine the test.png file. + content: I'll look at the test.png file for you. tool_calls: - id: toolcall_0 type: function @@ -134,16 +193,30 @@ conversations: content: Viewed image file successfully. - role: assistant content: >- - Looking at the test.png image, I can see what appears to be a solid beige or tan colored square. It's a very - simple image - just a single uniform color with no visible patterns, text, or other elements. The color is a - light peachy-tan shade, similar to a skin tone or sand color. + The image appears to be almost entirely white or a very light cream color. There are no visible text, objects, + or distinct features in the image - it's essentially a blank or nearly blank white canvas. If there's supposed + to be content in this image, it may be: - This looks like it could be a test image or placeholder, possibly just a single pixel or small solid color - block that's been created for testing purposes. + - An extremely faint/light image that needs contrast adjustment + + - A corrupted or incomplete image file + + - Intentionally blank + + - Content that didn't render properly + + + Would you like me to check the file properties or try to analyze it differently? - role: user - content: Use the view tool to look at the file test.png and describe what you see + content: |- + Use the view tool to look at the file test.png and describe what you see + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant + content: I'll look at the test.png file again. tool_calls: - id: toolcall_2 type: function @@ -162,6 +235,10 @@ conversations: tool_call_id: toolcall_3 content: Viewed image file successfully. - role: assistant - content: I can see the test.png image again. It shows a solid, uniform beige or tan colored square - a simple test image - with just one flat color throughout. The color is a light peachy-tan or sand-like shade. There's no text, - patterns, gradients, or other visual elements - just a single solid color filling the entire image. + content: >- + I see the same result as before - the image appears to be essentially a blank white or very light + cream-colored canvas with no visible text, objects, or distinct features. There's no discernible content in + the image. + + + Is this the expected result, or were you expecting to see something specific in this image file? diff --git a/test/snapshots/session_lifecycle/should_delete_session_permanently.yaml b/test/snapshots/session_lifecycle/should_delete_session_permanently.yaml index b302f117d4..807fbf82f7 100644 --- a/test/snapshots/session_lifecycle/should_delete_session_permanently.yaml +++ b/test/snapshots/session_lifecycle/should_delete_session_permanently.yaml @@ -5,6 +5,21 @@ conversations: - role: system content: ${system} - role: user - content: Say hi + content: >- + Say hi + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hi! I'm GitHub Copilot CLI, ready to help with your software engineering tasks. What would you like to work on? + content: >- + Hi there! 👋 + + + I'm GitHub Copilot CLI, powered by claude-sonnet-4.5. I'm here to help you with software engineering tasks, + whether that's exploring code, running commands, making changes, or anything else you need in your terminal. + What can I help you with today? diff --git a/test/snapshots/session_lifecycle/should_list_created_sessions_after_sending_a_message.yaml b/test/snapshots/session_lifecycle/should_list_created_sessions_after_sending_a_message.yaml index 274ab7d2fa..b148dc0e45 100644 --- a/test/snapshots/session_lifecycle/should_list_created_sessions_after_sending_a_message.yaml +++ b/test/snapshots/session_lifecycle/should_list_created_sessions_after_sending_a_message.yaml @@ -5,14 +5,36 @@ conversations: - role: system content: ${system} - role: user - content: Say hello + content: >- + Say hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! I'm GitHub Copilot CLI, ready to help you with software engineering tasks. What can I assist you with - today? + content: >- + Hello! 👋 I'm GitHub Copilot CLI, your terminal assistant. I'm here to help you with software engineering + tasks like navigating codebases, running commands, writing code, debugging issues, and more. + + + What can I help you with today? - messages: - role: system content: ${system} - role: user - content: Say world + content: >- + Say world + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: world + content: World diff --git a/test/snapshots/session_lifecycle/should_return_events_via_getmessages_after_conversation.yaml b/test/snapshots/session_lifecycle/should_return_events_via_getmessages_after_conversation.yaml index fd621f2b0b..da1c2f8a45 100644 --- a/test/snapshots/session_lifecycle/should_return_events_via_getmessages_after_conversation.yaml +++ b/test/snapshots/session_lifecycle/should_return_events_via_getmessages_after_conversation.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: What is 2+2? Reply with just the number. + content: >- + What is 2+2? Reply with just the number. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: "4" diff --git a/test/snapshots/session_lifecycle/should_support_multiple_concurrent_sessions.yaml b/test/snapshots/session_lifecycle/should_support_multiple_concurrent_sessions.yaml index fdb7ebca03..9b2d85fda1 100644 --- a/test/snapshots/session_lifecycle/should_support_multiple_concurrent_sessions.yaml +++ b/test/snapshots/session_lifecycle/should_support_multiple_concurrent_sessions.yaml @@ -5,13 +5,31 @@ conversations: - role: system content: ${system} - role: user - content: What is 1+1? Reply with just the number. + content: >- + What is 3+3? Reply with just the number. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: "2" + content: "6" - messages: - role: system content: ${system} - role: user - content: What is 3+3? Reply with just the number. + content: >- + What is 1+1? Reply with just the number. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: "6" + content: "2" diff --git a/test/snapshots/skills/should_allow_agent_with_skills_to_invoke_skill.yaml b/test/snapshots/skills/should_allow_agent_with_skills_to_invoke_skill.yaml index 007c5c1c53..862b542a8e 100644 --- a/test/snapshots/skills/should_allow_agent_with_skills_to_invoke_skill.yaml +++ b/test/snapshots/skills/should_allow_agent_with_skills_to_invoke_skill.yaml @@ -5,6 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Say hello briefly using the test skill. + content: >- + Say hello briefly using the test skill. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! PINEAPPLE_COCONUT_42 - I'm ready to help you with your tasks today. + content: Hello! I'm your test skill agent, ready to help you out. Just like a tropical combination of + PINEAPPLE_COCONUT_42, I'm here to assist with whatever you need! diff --git a/test/snapshots/skills/should_load_and_apply_skill_from_skilldirectories.yaml b/test/snapshots/skills/should_load_and_apply_skill_from_skilldirectories.yaml index 7d364fcbdd..d373e3834b 100644 --- a/test/snapshots/skills/should_load_and_apply_skill_from_skilldirectories.yaml +++ b/test/snapshots/skills/should_load_and_apply_skill_from_skilldirectories.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Say hello briefly using the test skill. + content: >- + Say hello briefly using the test skill. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll invoke the test skill to say hello! - role: assistant tool_calls: - id: toolcall_0 @@ -13,6 +24,28 @@ conversations: function: name: skill arguments: '{"skill":"test-skill"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Say hello briefly using the test skill. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll invoke the test skill to say hello! + tool_calls: + - id: toolcall_0 + type: function + function: + name: skill + arguments: '{"skill":"test-skill"}' - role: tool tool_call_id: toolcall_0 content: Skill "test-skill" loaded successfully. Follow the instructions in the skill context. @@ -23,15 +56,6 @@ conversations: Base directory for this skill: ${workdir}/.test_skills/test-skill - --- - - name: test-skill - - description: A test skill that adds a marker to responses - - --- - - # Test Skill Instructions @@ -41,4 +65,5 @@ conversations: - role: assistant - content: Hello! PINEAPPLE_COCONUT_42 - I'm ready to help you with your tasks today. + content: Hello! 👋 The test skill is now active and working. PINEAPPLE_COCONUT_42 - everything is set up and ready to + go! diff --git a/test/snapshots/skills/should_not_apply_skill_when_disabled_via_disabledskills.yaml b/test/snapshots/skills/should_not_apply_skill_when_disabled_via_disabledskills.yaml index 0c678deab8..351eb25a5d 100644 --- a/test/snapshots/skills/should_not_apply_skill_when_disabled_via_disabledskills.yaml +++ b/test/snapshots/skills/should_not_apply_skill_when_disabled_via_disabledskills.yaml @@ -5,6 +5,54 @@ conversations: - role: system content: ${system} - role: user - content: Say hello briefly using the test skill. + content: >- + Say hello briefly using the test skill. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello! I'm GitHub Copilot CLI, ready to help you with your software engineering tasks. + content: I'll invoke the test skill for you! + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: skill + arguments: '{"skill":"test"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Say hello briefly using the test skill. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll invoke the test skill for you! + tool_calls: + - id: toolcall_0 + type: function + function: + name: skill + arguments: '{"skill":"test"}' + - role: tool + tool_call_id: toolcall_0 + content: 'Skill "test" not found. Available skills: customize-cloud-agent' + - role: assistant + content: >- + It looks like the "test" skill isn't available. The only skill currently available is `customize-cloud-agent`, + which is for configuring the Copilot cloud agent environment. + + + Hello! 👋 Is there something specific you'd like me to help you with instead? diff --git a/test/snapshots/streaming_fidelity/should_not_produce_deltas_when_streaming_is_disabled.yaml b/test/snapshots/streaming_fidelity/should_not_produce_deltas_when_streaming_is_disabled.yaml index d210f22ea0..9095460aab 100644 --- a/test/snapshots/streaming_fidelity/should_not_produce_deltas_when_streaming_is_disabled.yaml +++ b/test/snapshots/streaming_fidelity/should_not_produce_deltas_when_streaming_is_disabled.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: Say 'hello world'. + content: >- + Say 'hello world'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: Hello world. + content: Hello world! diff --git a/test/snapshots/streaming_fidelity/should_produce_delta_events_when_streaming_is_enabled.yaml b/test/snapshots/streaming_fidelity/should_produce_delta_events_when_streaming_is_enabled.yaml index 3b18558220..b030903805 100644 --- a/test/snapshots/streaming_fidelity/should_produce_delta_events_when_streaming_is_enabled.yaml +++ b/test/snapshots/streaming_fidelity/should_produce_delta_events_when_streaming_is_enabled.yaml @@ -5,6 +5,15 @@ conversations: - role: system content: ${system} - role: user - content: Count from 1 to 5, separated by commas. + content: >- + Count from 1 to 5, separated by commas. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 1, 2, 3, 4, 5 diff --git a/test/snapshots/streaming_fidelity/should_produce_deltas_after_session_resume.yaml b/test/snapshots/streaming_fidelity/should_produce_deltas_after_session_resume.yaml index 25e10c4b12..b58e7ea037 100644 --- a/test/snapshots/streaming_fidelity/should_produce_deltas_after_session_resume.yaml +++ b/test/snapshots/streaming_fidelity/should_produce_deltas_after_session_resume.yaml @@ -5,10 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: What is 3 + 6? + content: >- + What is 3 + 6? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: 3 + 6 = 9 - role: user - content: Now if you double that, what do you get? + content: |- + Now if you double that, what do you get? + + + Available tables: todos, todo_deps, inbox_entries + - role: assistant - content: 9 × 2 = 18 + content: If you double 9, you get 18. diff --git a/test/snapshots/system_message_transform/should_apply_transform_modifications_to_section_content.yaml b/test/snapshots/system_message_transform/should_apply_transform_modifications_to_section_content.yaml index 98004f2b0e..77e9e37029 100644 --- a/test/snapshots/system_message_transform/should_apply_transform_modifications_to_section_content.yaml +++ b/test/snapshots/system_message_transform/should_apply_transform_modifications_to_section_content.yaml @@ -5,15 +5,54 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of hello.txt + content: >- + Read the contents of hello.txt + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll read the hello.txt file for you. + content: I'll read the contents of hello.txt for you. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: report_intent + arguments: '{"intent":"Reading file contents"}' + - role: assistant + tool_calls: + - id: toolcall_1 + type: function + function: + name: view + arguments: '{"path":"${workdir}/hello.txt"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Read the contents of hello.txt + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the contents of hello.txt for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading hello.txt file"}' + arguments: '{"intent":"Reading file contents"}' - id: toolcall_1 type: function function: @@ -27,7 +66,7 @@ conversations: content: 1. Hello! - role: assistant content: |- - The file hello.txt contains: + The file `hello.txt` contains a single line: ``` Hello! ``` diff --git a/test/snapshots/system_message_transform/should_invoke_transform_callbacks_with_section_content.yaml b/test/snapshots/system_message_transform/should_invoke_transform_callbacks_with_section_content.yaml index 631a8eef8b..cf46e219dd 100644 --- a/test/snapshots/system_message_transform/should_invoke_transform_callbacks_with_section_content.yaml +++ b/test/snapshots/system_message_transform/should_invoke_transform_callbacks_with_section_content.yaml @@ -5,16 +5,25 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of test.txt and tell me what it says + content: >- + Read the contents of test.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll read the test.txt file for you. + content: I'll read the contents of test.txt for you. - role: assistant tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading test.txt file"}' + arguments: '{"intent":"Reading test.txt"}' - role: assistant tool_calls: - id: toolcall_1 @@ -26,15 +35,24 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of test.txt and tell me what it says + content: >- + Read the contents of test.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll read the test.txt file for you. + content: I'll read the contents of test.txt for you. tool_calls: - id: toolcall_0 type: function function: name: report_intent - arguments: '{"intent":"Reading test.txt file"}' + arguments: '{"intent":"Reading test.txt"}' - id: toolcall_1 type: function function: diff --git a/test/snapshots/system_message_transform/should_work_with_static_overrides_and_transforms_together.yaml b/test/snapshots/system_message_transform/should_work_with_static_overrides_and_transforms_together.yaml index 9cb5156943..8dfcbfbdec 100644 --- a/test/snapshots/system_message_transform/should_work_with_static_overrides_and_transforms_together.yaml +++ b/test/snapshots/system_message_transform/should_work_with_static_overrides_and_transforms_together.yaml @@ -5,7 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of combo.txt and tell me what it says + content: >- + Read the contents of combo.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll read the contents of combo.txt for you. - role: assistant @@ -14,7 +23,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Reading file contents"}' + arguments: '{"intent":"Reading combo.txt file"}' - role: assistant tool_calls: - id: toolcall_1 @@ -26,7 +35,16 @@ conversations: - role: system content: ${system} - role: user - content: Read the contents of combo.txt and tell me what it says + content: >- + Read the contents of combo.txt and tell me what it says + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll read the contents of combo.txt for you. tool_calls: @@ -34,7 +52,7 @@ conversations: type: function function: name: report_intent - arguments: '{"intent":"Reading file contents"}' + arguments: '{"intent":"Reading combo.txt file"}' - id: toolcall_1 type: function function: @@ -47,4 +65,4 @@ conversations: tool_call_id: toolcall_1 content: 1. Combo test! - role: assistant - content: The file combo.txt contains a single line that says "Combo test!" + content: 'The file combo.txt contains: **"Combo test!"**' diff --git a/test/snapshots/tool_results/should_handle_structured_toolresultobject_from_custom_tool.yaml b/test/snapshots/tool_results/should_handle_structured_toolresultobject_from_custom_tool.yaml index 621dfc4e8d..9e514a6cb6 100644 --- a/test/snapshots/tool_results/should_handle_structured_toolresultobject_from_custom_tool.yaml +++ b/test/snapshots/tool_results/should_handle_structured_toolresultobject_from_custom_tool.yaml @@ -5,7 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: What's the weather in Paris? + content: >- + What's the weather in Paris? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant tool_calls: - id: toolcall_0 @@ -17,4 +26,4 @@ conversations: tool_call_id: toolcall_0 content: The weather in Paris is sunny and 72°F - role: assistant - content: The weather in Paris is currently sunny and 72°F. + content: The weather in Paris is currently sunny and 72°F (about 22°C) - a beautiful day! diff --git a/test/snapshots/tool_results/should_handle_tool_result_with_failure_resulttype.yaml b/test/snapshots/tool_results/should_handle_tool_result_with_failure_resulttype.yaml index 3fddb1600b..c41b97384d 100644 --- a/test/snapshots/tool_results/should_handle_tool_result_with_failure_resulttype.yaml +++ b/test/snapshots/tool_results/should_handle_tool_result_with_failure_resulttype.yaml @@ -5,8 +5,41 @@ conversations: - role: system content: ${system} - role: user - content: Check the status of the service using check_status. If it fails, say 'service is down'. + content: >- + Check the status of the service using check_status. If it fails, say 'service is down'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll check the service status for you. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: check_status + arguments: "{}" + - messages: + - role: system + content: ${system} + - role: user + content: >- + Check the status of the service using check_status. If it fails, say 'service is down'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll check the service status for you. tool_calls: - id: toolcall_0 type: function @@ -17,4 +50,4 @@ conversations: tool_call_id: toolcall_0 content: Service unavailable - role: assistant - content: service is down + content: Service is down. diff --git a/test/snapshots/tool_results/should_pass_validated_zod_parameters_to_tool_handler.yaml b/test/snapshots/tool_results/should_pass_validated_zod_parameters_to_tool_handler.yaml index cf3bc94af7..0a73f6eeb0 100644 --- a/test/snapshots/tool_results/should_pass_validated_zod_parameters_to_tool_handler.yaml +++ b/test/snapshots/tool_results/should_pass_validated_zod_parameters_to_tool_handler.yaml @@ -5,43 +5,49 @@ conversations: - role: system content: ${system} - role: user - content: Use calculate to add 17 and 25 + content: >- + Use calculate to add 17 and 25 + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - tool_calls: - - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Calculating sum"}' + content: I'll add 17 and 25 using the calculate tool. - role: assistant tool_calls: - - id: toolcall_1 + - id: toolcall_0 type: function function: name: calculate - arguments: '{"operation":"add","a":17,"b":25}' + arguments: '{"a":17,"b":25,"operation":"add"}' - messages: - role: system content: ${system} - role: user - content: Use calculate to add 17 and 25 + content: >- + Use calculate to add 17 and 25 + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll add 17 and 25 using the calculate tool. tool_calls: - id: toolcall_0 - type: function - function: - name: report_intent - arguments: '{"intent":"Calculating sum"}' - - id: toolcall_1 type: function function: name: calculate - arguments: '{"operation":"add","a":17,"b":25}' + arguments: '{"a":17,"b":25,"operation":"add"}' - role: tool tool_call_id: toolcall_0 - content: Intent logged - - role: tool - tool_call_id: toolcall_1 content: "42" - role: assistant - content: 17 + 25 = 42 + content: The result of 17 + 25 is **42**. diff --git a/test/snapshots/tools/can_receive_and_return_complex_types.yaml b/test/snapshots/tools/can_receive_and_return_complex_types.yaml index be869484ea..336580c70d 100644 --- a/test/snapshots/tools/can_receive_and_return_complex_types.yaml +++ b/test/snapshots/tools/can_receive_and_return_complex_types.yaml @@ -5,15 +5,24 @@ conversations: - role: system content: ${system} - role: user - content: "Perform a DB query for the 'cities' table using IDs 12 and 19, sorting ascending. Reply only with lines of the - form: [cityname] [population]" + content: >- + Perform a DB query for the 'cities' table using IDs 12 and 19, sorting ascending. Reply only with lines of the + form: [cityname] [population] + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant tool_calls: - id: toolcall_0 type: function function: name: db_query - arguments: '{"query":{"table":"cities","ids":[12,19],"sortAscending":true}}' + arguments: '{"query":{"ids":[12,19],"sortAscending":true,"table":"cities"}}' - role: tool tool_call_id: toolcall_0 content: '[{"cityName":"Passos","countryId":19,"population":135460},{"cityName":"San diff --git a/test/snapshots/tools/handles_tool_calling_errors.yaml b/test/snapshots/tools/handles_tool_calling_errors.yaml index 33226722dd..4474060818 100644 --- a/test/snapshots/tools/handles_tool_calling_errors.yaml +++ b/test/snapshots/tools/handles_tool_calling_errors.yaml @@ -5,8 +5,41 @@ conversations: - role: system content: ${system} - role: user - content: What is my location? If you can't find out, just say 'unknown'. + content: >- + What is my location? If you can't find out, just say 'unknown'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll check your location for you. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: get_user_location + arguments: "{}" + - messages: + - role: system + content: ${system} + - role: user + content: >- + What is my location? If you can't find out, just say 'unknown'. + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll check your location for you. tool_calls: - id: toolcall_0 type: function @@ -17,4 +50,4 @@ conversations: tool_call_id: toolcall_0 content: "Failed to execute `get_user_location` tool with arguments: {} due to error: Error: Tool execution failed" - role: assistant - content: Your location is unknown. + content: Unknown. diff --git a/test/snapshots/tools/invokes_built_in_tools.yaml b/test/snapshots/tools/invokes_built_in_tools.yaml index 068cc4accf..afc3d86c45 100644 --- a/test/snapshots/tools/invokes_built_in_tools.yaml +++ b/test/snapshots/tools/invokes_built_in_tools.yaml @@ -5,16 +5,69 @@ conversations: - role: system content: ${system} - role: user - content: What's the first line of README.md in this directory? + content: >- + What's the first line of README.md in this directory? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll read the README.md file to find the first line. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: report_intent + arguments: '{"intent":"Reading README file"}' + - role: assistant + tool_calls: + - id: toolcall_1 + type: function + function: + name: view + arguments: '{"path":"${workdir}/README.md","view_range":[1,5]}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + What's the first line of README.md in this directory? + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll read the README.md file to find the first line. tool_calls: - id: toolcall_0 + type: function + function: + name: report_intent + arguments: '{"intent":"Reading README file"}' + - id: toolcall_1 type: function function: name: view - arguments: '{"path":"${workdir}/README.md"}' + arguments: '{"path":"${workdir}/README.md","view_range":[1,5]}' - role: tool tool_call_id: toolcall_0 + content: Intent logged + - role: tool + tool_call_id: toolcall_1 content: "1. # ELIZA, the only chatbot you'll ever need" - role: assistant - content: "The first line of README.md is: `# ELIZA, the only chatbot you'll ever need`" + content: |- + The first line of README.md is: + + ``` + # ELIZA, the only chatbot you'll ever need + ``` diff --git a/test/snapshots/tools/invokes_custom_tool.yaml b/test/snapshots/tools/invokes_custom_tool.yaml index 6f212e4a79..118f262e69 100644 --- a/test/snapshots/tools/invokes_custom_tool.yaml +++ b/test/snapshots/tools/invokes_custom_tool.yaml @@ -5,7 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: "Use encrypt_string to encrypt this string: Hello" + content: >- + Use encrypt_string to encrypt this string: Hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll encrypt the string "Hello" for you. - role: assistant tool_calls: - id: toolcall_0 @@ -13,11 +24,30 @@ conversations: function: name: encrypt_string arguments: '{"input":"Hello"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Use encrypt_string to encrypt this string: Hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll encrypt the string "Hello" for you. + tool_calls: + - id: toolcall_0 + type: function + function: + name: encrypt_string + arguments: '{"input":"Hello"}' - role: tool tool_call_id: toolcall_0 content: HELLO - role: assistant - content: |- - The encrypted string is: **HELLO** - - (This is a simple cipher that converts the string to uppercase.) + content: "The encrypted result is: **HELLO**" diff --git a/test/snapshots/tools/invokes_custom_tool_with_permission_handler.yaml b/test/snapshots/tools/invokes_custom_tool_with_permission_handler.yaml index fcb6fa7266..d61a80176d 100644 --- a/test/snapshots/tools/invokes_custom_tool_with_permission_handler.yaml +++ b/test/snapshots/tools/invokes_custom_tool_with_permission_handler.yaml @@ -5,8 +5,41 @@ conversations: - role: system content: ${system} - role: user - content: "Use encrypt_string to encrypt this string: Hello" + content: >- + Use encrypt_string to encrypt this string: Hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant + content: I'll encrypt the string "Hello" for you. + - role: assistant + tool_calls: + - id: toolcall_0 + type: function + function: + name: encrypt_string + arguments: '{"input":"Hello"}' + - messages: + - role: system + content: ${system} + - role: user + content: >- + Use encrypt_string to encrypt this string: Hello + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + + - role: assistant + content: I'll encrypt the string "Hello" for you. tool_calls: - id: toolcall_0 type: function diff --git a/test/snapshots/tools/overrides_built_in_tool_with_custom_tool.yaml b/test/snapshots/tools/overrides_built_in_tool_with_custom_tool.yaml index ec8dc20ef3..4c9bbc1a2f 100644 --- a/test/snapshots/tools/overrides_built_in_tool_with_custom_tool.yaml +++ b/test/snapshots/tools/overrides_built_in_tool_with_custom_tool.yaml @@ -5,7 +5,16 @@ conversations: - role: system content: ${system} - role: user - content: Use grep to search for the word 'hello' + content: >- + Use grep to search for the word 'hello' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll search for the word 'hello' in the current directory. - role: assistant @@ -26,7 +35,16 @@ conversations: - role: system content: ${system} - role: user - content: Use grep to search for the word 'hello' + content: >- + Use grep to search for the word 'hello' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant content: I'll search for the word 'hello' in the current directory. tool_calls: @@ -47,5 +65,15 @@ conversations: tool_call_id: toolcall_1 content: "CUSTOM_GREP_RESULT: hello" - role: assistant - content: 'The grep search found a result for "hello" in the current directory. The output shows `CUSTOM_GREP_RESULT: - hello`, indicating the custom grep implementation found a match.' + content: >- + The grep search completed but didn't find any matches for the word 'hello' in the current directory. The + output shows just the search term itself, indicating no files containing "hello" were found. + + + Would you like me to: + + - Search in a different directory? + + - Create a test file with 'hello' to verify grep is working? + + - Search for a different term? diff --git a/test/snapshots/tools/skippermission_sent_in_tool_definition.yaml b/test/snapshots/tools/skippermission_sent_in_tool_definition.yaml index dfdfa63fa7..587fc9c314 100644 --- a/test/snapshots/tools/skippermission_sent_in_tool_definition.yaml +++ b/test/snapshots/tools/skippermission_sent_in_tool_definition.yaml @@ -5,9 +5,18 @@ conversations: - role: system content: ${system} - role: user - content: Use safe_lookup to look up 'test123' + content: >- + Use safe_lookup to look up 'test123' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll look up 'test123' for you. + content: I'll look up 'test123' using the safe_lookup tool. - role: assistant tool_calls: - id: toolcall_0 @@ -19,9 +28,18 @@ conversations: - role: system content: ${system} - role: user - content: Use safe_lookup to look up 'test123' + content: >- + Use safe_lookup to look up 'test123' + + + + + No tables currently exist. Default tables (todos, todo_deps) will be created automatically when + using the SQL tool for the first time. + + - role: assistant - content: I'll look up 'test123' for you. + content: I'll look up 'test123' using the safe_lookup tool. tool_calls: - id: toolcall_0 type: function @@ -32,4 +50,4 @@ conversations: tool_call_id: toolcall_0 content: "RESULT: test123" - role: assistant - content: 'The lookup for "test123" returned: RESULT: test123' + content: "The lookup returned: **test123**"