diff --git a/package-lock.json b/package-lock.json index 69a7118..52493fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,9 +17,9 @@ "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "http-server": "^14.1.1", - "prettier": "^3.7.1", - "tsx": "^4.20.6", - "typedoc": "^0.28.14", + "prettier": "^3.7.3", + "tsx": "^4.21.0", + "typedoc": "^0.28.15", "typedoc-github-theme": "^0.3.1", "typescript": "^5.9.3", "vitest": "^4.0.14", @@ -30,9 +30,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.0.tgz", + "integrity": "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==", "cpu": [ "ppc64" ], @@ -47,9 +47,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.0.tgz", + "integrity": "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==", "cpu": [ "arm" ], @@ -64,9 +64,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.0.tgz", + "integrity": "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==", "cpu": [ "arm64" ], @@ -81,9 +81,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.0.tgz", + "integrity": "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==", "cpu": [ "x64" ], @@ -98,9 +98,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.0.tgz", + "integrity": "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==", "cpu": [ "arm64" ], @@ -115,9 +115,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.0.tgz", + "integrity": "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==", "cpu": [ "x64" ], @@ -132,9 +132,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.0.tgz", + "integrity": "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==", "cpu": [ "arm64" ], @@ -149,9 +149,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.0.tgz", + "integrity": "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==", "cpu": [ "x64" ], @@ -166,9 +166,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.0.tgz", + "integrity": "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==", "cpu": [ "arm" ], @@ -183,9 +183,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.0.tgz", + "integrity": "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==", "cpu": [ "arm64" ], @@ -200,9 +200,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.0.tgz", + "integrity": "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==", "cpu": [ "ia32" ], @@ -217,9 +217,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.0.tgz", + "integrity": "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==", "cpu": [ "loong64" ], @@ -234,9 +234,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.0.tgz", + "integrity": "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==", "cpu": [ "mips64el" ], @@ -251,9 +251,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.0.tgz", + "integrity": "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==", "cpu": [ "ppc64" ], @@ -268,9 +268,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.0.tgz", + "integrity": "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==", "cpu": [ "riscv64" ], @@ -285,9 +285,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.0.tgz", + "integrity": "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==", "cpu": [ "s390x" ], @@ -302,9 +302,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.0.tgz", + "integrity": "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==", "cpu": [ "x64" ], @@ -319,9 +319,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.0.tgz", + "integrity": "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==", "cpu": [ "arm64" ], @@ -336,9 +336,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.0.tgz", + "integrity": "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==", "cpu": [ "x64" ], @@ -353,9 +353,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.0.tgz", + "integrity": "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==", "cpu": [ "arm64" ], @@ -370,9 +370,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.0.tgz", + "integrity": "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==", "cpu": [ "x64" ], @@ -387,9 +387,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.0.tgz", + "integrity": "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==", "cpu": [ "arm64" ], @@ -404,9 +404,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.0.tgz", + "integrity": "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==", "cpu": [ "x64" ], @@ -421,9 +421,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.0.tgz", + "integrity": "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==", "cpu": [ "arm64" ], @@ -438,9 +438,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.0.tgz", + "integrity": "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==", "cpu": [ "ia32" ], @@ -455,9 +455,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.0.tgz", + "integrity": "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==", "cpu": [ "x64" ], @@ -566,9 +566,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "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": { @@ -578,7 +578,7 @@ "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", + "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, @@ -1113,40 +1113,40 @@ ] }, "node_modules/@shikijs/engine-oniguruma": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.17.0.tgz", - "integrity": "sha512-flSbHZAiOZDNTrEbULY8DLWavu/TyVu/E7RChpLB4WvKX4iHMfj80C6Hi3TjIWaQtHOW0KC6kzMcuB5TO1hZ8Q==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.17.1.tgz", + "integrity": "sha512-fsXPy4va/4iblEGS+22nP5V08IwwBcM+8xHUzSON0QmHm29/AJRghA95w9VDnxuwp9wOdJxEhfPkKp6vqcsN+w==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.17.0", + "@shikijs/types": "3.17.1", "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.17.0.tgz", - "integrity": "sha512-icmur2n5Ojb+HAiQu6NEcIIJ8oWDFGGEpiqSCe43539Sabpx7Y829WR3QuUW2zjTM4l6V8Sazgb3rrHO2orEAw==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.17.1.tgz", + "integrity": "sha512-YTBVN+L2j7zBuOVjNZ2XiSNQEkm/7wZ1TSc5UO77GJPcg7Rk25WSscWA7y8pW7Bo25JIU0EWchUkq/UQjOJlJA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.17.0" + "@shikijs/types": "3.17.1" } }, "node_modules/@shikijs/themes": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.17.0.tgz", - "integrity": "sha512-/xEizMHLBmMHwtx4JuOkRf3zwhWD2bmG5BRr0IPjpcWpaq4C3mYEuTk/USAEglN0qPrTwEHwKVpSu/y2jhferA==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.17.1.tgz", + "integrity": "sha512-aohwwqNUB5h2ATfgrqYRPl8vyazqCiQ2wIV4xq+UzaBRHpqLMGSemkasK+vIEpl0YaendoaKUsDfpwhCqyHIaQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.17.0" + "@shikijs/types": "3.17.1" } }, "node_modules/@shikijs/types": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.17.0.tgz", - "integrity": "sha512-wjLVfutYWVUnxAjsWEob98xgyaGv0dTEnMZDruU5mRjVN7szcGOfgO+997W2yR6odp+1PtSBNeSITRRTfUzK/g==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.17.1.tgz", + "integrity": "sha512-yUFLiCnZHHJ16KbVbt3B1EzBUadU3OVpq0PEyb301m5BbuFKApQYBzJGhrK48hH/tYWSjzwcj7BSmYbBc0zntQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2157,9 +2157,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.0.tgz", + "integrity": "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2170,32 +2170,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" + "@esbuild/aix-ppc64": "0.27.0", + "@esbuild/android-arm": "0.27.0", + "@esbuild/android-arm64": "0.27.0", + "@esbuild/android-x64": "0.27.0", + "@esbuild/darwin-arm64": "0.27.0", + "@esbuild/darwin-x64": "0.27.0", + "@esbuild/freebsd-arm64": "0.27.0", + "@esbuild/freebsd-x64": "0.27.0", + "@esbuild/linux-arm": "0.27.0", + "@esbuild/linux-arm64": "0.27.0", + "@esbuild/linux-ia32": "0.27.0", + "@esbuild/linux-loong64": "0.27.0", + "@esbuild/linux-mips64el": "0.27.0", + "@esbuild/linux-ppc64": "0.27.0", + "@esbuild/linux-riscv64": "0.27.0", + "@esbuild/linux-s390x": "0.27.0", + "@esbuild/linux-x64": "0.27.0", + "@esbuild/netbsd-arm64": "0.27.0", + "@esbuild/netbsd-x64": "0.27.0", + "@esbuild/openbsd-arm64": "0.27.0", + "@esbuild/openbsd-x64": "0.27.0", + "@esbuild/openharmony-arm64": "0.27.0", + "@esbuild/sunos-x64": "0.27.0", + "@esbuild/win32-arm64": "0.27.0", + "@esbuild/win32-ia32": "0.27.0", + "@esbuild/win32-x64": "0.27.0" } }, "node_modules/escalade": { @@ -3522,9 +3522,9 @@ } }, "node_modules/prettier": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.1.tgz", - "integrity": "sha512-RWKXE4qB3u5Z6yz7omJkjWwmTfLdcbv44jUVHC5NpfXwFGzvpQM798FGv/6WNK879tc+Cn0AAyherCl1KjbyZQ==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.3.tgz", + "integrity": "sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==", "dev": true, "license": "MIT", "bin": { @@ -4009,14 +4009,14 @@ "license": "0BSD" }, "node_modules/tsx": { - "version": "4.20.6", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz", - "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "esbuild": "~0.25.0", + "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "bin": { @@ -4043,14 +4043,14 @@ } }, "node_modules/typedoc": { - "version": "0.28.14", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.14.tgz", - "integrity": "sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA==", + "version": "0.28.15", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.15.tgz", + "integrity": "sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@gerrit0/mini-shiki": "^3.12.0", + "@gerrit0/mini-shiki": "^3.17.0", "lunr": "^2.3.9", "markdown-it": "^14.1.0", "minimatch": "^9.0.5", @@ -4139,12 +4139,11 @@ "license": "MIT" }, "node_modules/vite": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz", - "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", + "integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -4214,127 +4213,611 @@ } } }, - "node_modules/vitest": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.14.tgz", - "integrity": "sha512-d9B2J9Cm9dN9+6nxMnnNJKJCtcyKfnHj15N6YNJfaFHRLua/d3sRKU9RuKmO9mB0XdFtUizlxfz/VPbd3OxGhw==", + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@vitest/expect": "4.0.14", - "@vitest/mocker": "4.0.14", - "@vitest/pretty-format": "4.0.14", - "@vitest/runner": "4.0.14", - "@vitest/snapshot": "4.0.14", - "@vitest/spy": "4.0.14", - "@vitest/utils": "4.0.14", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^3.10.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.14", - "@vitest/browser-preview": "4.0.14", - "@vitest/browser-webdriverio": "4.0.14", - "@vitest/ui": "4.0.14", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@opentelemetry/api": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } + "node": ">=18" } }, - "node_modules/vitest/node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/vitest": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.14.tgz", + "integrity": "sha512-d9B2J9Cm9dN9+6nxMnnNJKJCtcyKfnHj15N6YNJfaFHRLua/d3sRKU9RuKmO9mB0XdFtUizlxfz/VPbd3OxGhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.0.14", + "@vitest/mocker": "4.0.14", + "@vitest/pretty-format": "4.0.14", + "@vitest/runner": "4.0.14", + "@vitest/snapshot": "4.0.14", + "@vitest/spy": "4.0.14", + "@vitest/utils": "4.0.14", + "es-module-lexer": "^1.7.0", + "expect-type": "^1.2.2", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3", + "vite": "^6.0.0 || ^7.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.0.14", + "@vitest/browser-preview": "4.0.14", + "@vitest/browser-webdriverio": "4.0.14", + "@vitest/ui": "4.0.14", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, @@ -4401,9 +4884,9 @@ } }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "dev": true, "license": "ISC", "bin": { @@ -4411,6 +4894,9 @@ }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { diff --git a/package.json b/package.json index b8caf7e..fac4fad 100644 --- a/package.json +++ b/package.json @@ -55,9 +55,9 @@ "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "http-server": "^14.1.1", - "prettier": "^3.7.1", - "tsx": "^4.20.6", - "typedoc": "^0.28.14", + "prettier": "^3.7.3", + "tsx": "^4.21.0", + "typedoc": "^0.28.15", "typedoc-github-theme": "^0.3.1", "typescript": "^5.9.3", "vitest": "^4.0.14", diff --git a/schema/schema.json b/schema/schema.json index e75bbb5..88d2e5c 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -4,7 +4,9 @@ "description": "Capabilities supported by the agent.\n\nAdvertised during initialization to inform the client about\navailable features and content types.\n\nSee protocol docs: [Agent Capabilities](https://agentclientprotocol.com/protocol/initialization#agent-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "loadSession": { "default": false, @@ -244,7 +246,9 @@ "description": "Optional annotations for the client. The client can use annotations to inform how objects are used or displayed", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "audience": { "items": { @@ -266,7 +270,9 @@ "description": "Audio provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -292,7 +298,9 @@ "description": "Describes an available authentication method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Optional description providing more details about this authentication method.", @@ -314,7 +322,9 @@ "description": "Request parameters for the authenticate method.\n\nSpecifies which authentication method to use.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "methodId": { "description": "The ID of the authentication method to use.\nMust be one of the methods advertised in the initialize response.", @@ -330,7 +340,9 @@ "description": "Response to the `authenticate` method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -341,7 +353,9 @@ "description": "Information about a command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Human-readable description of what the command does.", @@ -383,7 +397,9 @@ "description": "Available commands are ready or have changed", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableCommands": { "description": "Commands the agent can execute", @@ -400,7 +416,9 @@ "description": "Binary resource contents.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "blob": { "type": "string" @@ -419,7 +437,9 @@ "description": "Notification to cancel ongoing operations for a session.\n\nSee protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/prompt-turn#cancellation)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -439,7 +459,9 @@ "description": "Capabilities supported by the client.\n\nAdvertised during initialization to inform the agent about\navailable features and methods.\n\nSee protocol docs: [Client Capabilities](https://agentclientprotocol.com/protocol/initialization#client-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "fs": { "allOf": [ @@ -658,7 +680,9 @@ "description": "Standard content block (text, images, resources).", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "allOf": [ @@ -764,7 +788,9 @@ "description": "A streamed item of content", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "allOf": [ @@ -782,7 +808,9 @@ "description": "Request to create a new terminal and execute a command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "args": { "description": "Array of command arguments.", @@ -830,7 +858,9 @@ "description": "Response containing the ID of the created terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "terminalId": { "description": "The unique identifier for the created terminal.", @@ -846,7 +876,9 @@ "description": "The current mode of the session has changed\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "currentModeId": { "allOf": [ @@ -864,7 +896,9 @@ "description": "A diff representing file modifications.\n\nShows changes to files in a format suitable for display in the client UI.\n\nSee protocol docs: [Content](https://agentclientprotocol.com/protocol/tool-calls#content)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "newText": { "description": "The new content after modification.", @@ -886,7 +920,9 @@ "description": "The contents of a resource, embedded into a prompt or tool call result.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -920,7 +956,9 @@ "description": "An environment variable to set when launching an MCP server.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "The name of the environment variable.", @@ -966,7 +1004,9 @@ "description": "Filesystem capabilities supported by the client.\nFile system capabilities that a client may support.\n\nSee protocol docs: [FileSystem](https://agentclientprotocol.com/protocol/initialization#filesystem)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "readTextFile": { "default": false, @@ -985,7 +1025,9 @@ "description": "An HTTP header to set when making requests to the MCP server.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "The name of the HTTP header.", @@ -1003,7 +1045,9 @@ "description": "An image provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -1032,7 +1076,9 @@ "description": "Metadata about the implementation of the client or agent.\nDescribes the name and version of an MCP implementation, with an optional\ntitle for UI representation.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "Intended for programmatic or logical use, but can be used as a display\nname fallback if title isn’t present.", @@ -1054,7 +1100,9 @@ "description": "Request parameters for the initialize method.\n\nSent by the client to establish connection and negotiate capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "clientCapabilities": { "allOf": [ @@ -1100,7 +1148,9 @@ "description": "Response to the `initialize` method.\n\nContains the negotiated protocol version and agent capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "agentCapabilities": { "allOf": [ @@ -1160,7 +1210,9 @@ "description": "Request to kill a terminal command without releasing the terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -1184,7 +1236,9 @@ "description": "Response to terminal/kill command method", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -1195,7 +1249,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nRequest parameters for listing existing sessions.\n\nOnly available if the Agent supports the `listSessions` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cursor": { "description": "Opaque cursor token from a previous response's nextCursor field for cursor-based pagination", @@ -1214,7 +1270,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nResponse from listing sessions.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "nextCursor": { "description": "Opaque cursor token. If present, pass this in the next request's cursor parameter\nto fetch the next page. If absent, there are no more results.", @@ -1237,7 +1295,9 @@ "description": "Request parameters for loading an existing session.\n\nOnly available if the Agent supports the `loadSession` capability.\n\nSee protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/session-setup#loading-sessions)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session.", @@ -1268,7 +1328,9 @@ "description": "Response from loading an existing session.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "models": { "anyOf": [ @@ -1301,7 +1363,9 @@ "description": "MCP capabilities supported by the agent", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "http": { "default": false, @@ -1359,16 +1423,15 @@ "description": "Stdio transport configuration\n\nAll Agents MUST support this transport." } ], - "description": "Configuration for connecting to an MCP (Model Context Protocol) server.\n\nMCP servers provide tools and context that the agent can use when\nprocessing prompts.\n\nSee protocol docs: [MCP Servers](https://agentclientprotocol.com/protocol/session-setup#mcp-servers)", - "discriminator": { - "propertyName": "type" - } + "description": "Configuration for connecting to an MCP (Model Context Protocol) server.\n\nMCP servers provide tools and context that the agent can use when\nprocessing prompts.\n\nSee protocol docs: [MCP Servers](https://agentclientprotocol.com/protocol/session-setup#mcp-servers)" }, "McpServerHttp": { "description": "HTTP transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "headers": { "description": "HTTP headers to set when making requests to the MCP server.", @@ -1393,7 +1456,9 @@ "description": "SSE transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "headers": { "description": "HTTP headers to set when making requests to the MCP server.", @@ -1418,7 +1483,9 @@ "description": "Stdio transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "args": { "description": "Command-line arguments to pass to the MCP server.", @@ -1454,7 +1521,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nInformation about a selectable model.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Optional description of the model.", @@ -1480,7 +1549,9 @@ "description": "Request parameters for creating a new session.\n\nSee protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session. Must be an absolute path.", @@ -1503,7 +1574,9 @@ "description": "Response from creating a new session.\n\nSee protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "models": { "anyOf": [ @@ -1545,7 +1618,9 @@ "description": "An option presented to the user when requesting permission.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "kind": { "allOf": [ @@ -1604,7 +1679,9 @@ "description": "An execution plan for accomplishing complex tasks.\n\nPlans consist of multiple entries representing individual tasks or goals.\nAgents report plans to clients to provide visibility into their execution strategy.\nPlans can evolve during execution as the agent discovers new requirements or completes tasks.\n\nSee protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-plan)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "entries": { "description": "The list of tasks to be accomplished.\n\nWhen updating a plan, the agent must send a complete list of all entries\nwith their current status. The client replaces the entire plan with each update.", @@ -1621,7 +1698,9 @@ "description": "A single entry in the execution plan.\n\nRepresents a task or goal that the assistant intends to accomplish\nas part of fulfilling the user's request.\nSee protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent-plan#plan-entries)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Human-readable description of what this task aims to accomplish.", @@ -1691,7 +1770,9 @@ "description": "Prompt capabilities supported by the agent in `session/prompt` requests.\n\nBaseline agent functionality requires support for [`ContentBlock::Text`]\nand [`ContentBlock::ResourceLink`] in prompt requests.\n\nOther variants must be explicitly opted in to.\nCapabilities for different types of content in prompt requests.\n\nIndicates which content types beyond the baseline (text and resource links)\nthe agent can process.\n\nSee protocol docs: [Prompt Capabilities](https://agentclientprotocol.com/protocol/initialization#prompt-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "audio": { "default": false, @@ -1715,7 +1796,9 @@ "description": "Request parameters for sending a user prompt to the agent.\n\nContains the user's message and any additional context.\n\nSee protocol docs: [User Message](https://agentclientprotocol.com/protocol/prompt-turn#1-user-message)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "prompt": { "description": "The blocks of content that compose the user's message.\n\nAs a baseline, the Agent MUST support [`ContentBlock::Text`] and [`ContentBlock::ResourceLink`],\nwhile other variants are optionally enabled via [`PromptCapabilities`].\n\nThe Client MUST adapt its interface according to [`PromptCapabilities`].\n\nThe client MAY include referenced pieces of context as either\n[`ContentBlock::Resource`] or [`ContentBlock::ResourceLink`].\n\nWhen available, [`ContentBlock::Resource`] is preferred\nas it avoids extra round-trips and allows the message to include\npieces of context from sources the agent may not have access to.", @@ -1742,7 +1825,9 @@ "description": "Response from processing a user prompt.\n\nSee protocol docs: [Check for Completion](https://agentclientprotocol.com/protocol/prompt-turn#4-check-for-completion)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "stopReason": { "allOf": [ @@ -1769,7 +1854,9 @@ "description": "Request to read content from a text file.\n\nOnly available if the client supports the `fs.readTextFile` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "limit": { "description": "Maximum number of lines to read.", @@ -1805,7 +1892,9 @@ "description": "Response containing the contents of a text file.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "type": "string" @@ -1820,7 +1909,9 @@ "description": "Request to release a terminal and free its resources.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -1844,7 +1935,9 @@ "description": "Response to terminal/release method", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -1905,7 +1998,9 @@ "description": "Request for user permission to execute a tool call.\n\nSent when the agent needs authorization before performing a sensitive operation.\n\nSee protocol docs: [Requesting Permission](https://agentclientprotocol.com/protocol/tool-calls#requesting-permission)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "options": { "description": "Available permission options for the user to choose from.", @@ -1940,7 +2035,9 @@ "description": "Response to a permission request.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "outcome": { "allOf": [ @@ -1960,7 +2057,9 @@ "description": "A resource that the server is capable of reading, included in a prompt or tool call result.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -2004,7 +2103,9 @@ "description": "The user selected one of the provided options.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "optionId": { "allOf": [ @@ -2022,7 +2123,9 @@ "description": "Session capabilities supported by the agent.\n\nAs a baseline, all Agents **MUST** support `session/new`, `session/prompt`, `session/cancel`, and `session/update`.\n\nOptionally, they **MAY** support other session methods and notifications by specifying additional capabilities.\n\nNote: `session/load` is still handled by the top-level `load_session` capability. This will be unified in future versions of the protocol.\n\nSee protocol docs: [Session Capabilities](https://agentclientprotocol.com/protocol/initialization#session-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "list": { "anyOf": [ @@ -2046,7 +2149,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nInformation about a session returned by session/list", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session. Must be an absolute path.", @@ -2076,7 +2181,9 @@ "description": "Capabilities for the `session/list` method.\n\nBy supplying `{}` it means that the agent supports listing of sessions.\n\nFurther capabilities can be added in the future for other means of filtering or searching the list.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object" @@ -2085,7 +2192,9 @@ "description": "A mode the agent can operate in.\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "type": ["string", "null"] @@ -2108,7 +2217,9 @@ "description": "The set of modes and the one currently active.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableModes": { "description": "The set of modes that the Agent can operate in", @@ -2133,7 +2244,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nThe set of models and the one currently active.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableModels": { "description": "The set of models that the Agent can use", @@ -2158,7 +2271,9 @@ "description": "Notification containing a session update from the agent.\n\nUsed to stream real-time progress and results during prompt processing.\n\nSee protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protocol/prompt-turn#3-agent-reports-output)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2322,7 +2437,9 @@ "description": "Request parameters for setting a session mode.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modeId": { "allOf": [ @@ -2349,7 +2466,10 @@ "SetSessionModeResponse": { "description": "Response to `session/set_mode` method.", "properties": { - "_meta": {} + "_meta": { + "additionalProperties": true, + "type": ["object", "null"] + } }, "type": "object", "x-method": "session/set_mode", @@ -2359,7 +2479,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nRequest parameters for setting a session model.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modelId": { "allOf": [ @@ -2387,7 +2509,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nResponse to `session/set_model` method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -2428,7 +2552,9 @@ "description": "Embed a terminal created with `terminal/create` by its id.\n\nThe terminal must be added before calling `terminal/release`.\n\nSee protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "terminalId": { "type": "string" @@ -2441,7 +2567,9 @@ "description": "Exit status of a terminal command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitCode": { "description": "The process exit code (may be null if terminated by signal).", @@ -2460,7 +2588,9 @@ "description": "Request to get the current output and status of a terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2484,7 +2614,9 @@ "description": "Response containing the terminal output and exit status.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitStatus": { "anyOf": [ @@ -2515,7 +2647,9 @@ "description": "Text provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -2538,7 +2672,9 @@ "description": "Text-based resource contents.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "mimeType": { "type": ["string", "null"] @@ -2557,7 +2693,9 @@ "description": "Represents a tool call that the language model has requested.\n\nTool calls are actions that the agent executes on behalf of the language model,\nsuch as reading files, executing code, or fetching data from external sources.\n\nSee protocol docs: [Tool Calls](https://agentclientprotocol.com/protocol/tool-calls)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Content produced by the tool call.", @@ -2675,7 +2813,9 @@ "description": "A file location being accessed or modified by a tool.\n\nEnables clients to implement \"follow-along\" features that track\nwhich files the agent is working with in real-time.\n\nSee protocol docs: [Following the Agent](https://agentclientprotocol.com/protocol/tool-calls#following-the-agent)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "line": { "description": "Optional line number within the file.", @@ -2720,7 +2860,9 @@ "description": "An update to an existing tool call.\n\nUsed to report progress and results as tools execute. All fields except\nthe tool call ID are optional - only changed fields need to be included.\n\nSee protocol docs: [Updating](https://agentclientprotocol.com/protocol/tool-calls#updating)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Replace the content collection.", @@ -2839,7 +2981,9 @@ "description": "All text that was typed after the command name is provided as input.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "hint": { "description": "A hint to display when the input hasn't been provided yet", @@ -2853,7 +2997,9 @@ "description": "Request to wait for a terminal command to exit.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2877,7 +3023,9 @@ "description": "Response containing the exit status of a terminal command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitCode": { "description": "The process exit code (may be null if terminated by signal).", @@ -2898,7 +3046,9 @@ "description": "Request to write content to a text file.\n\nOnly available if the client supports the `fs.writeTextFile` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "The text content to write to the file.", @@ -2926,7 +3076,9 @@ "description": "Response to `fs/write_text_file`", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", diff --git a/scripts/generate.js b/scripts/generate.js index 003336d..937a897 100644 --- a/scripts/generate.js +++ b/scripts/generate.js @@ -5,7 +5,7 @@ import * as fs from "fs/promises"; import { dirname } from "path"; import * as prettier from "prettier"; -const CURRENT_SCHEMA_RELEASE = "v0.8.0"; +const CURRENT_SCHEMA_RELEASE = "v0.9.1"; await main(); @@ -46,10 +46,9 @@ async function main() { zodSrc .replace(`from "zod"`, `from "zod/v4"`) // Weird type issue - .replaceAll(`"McpServerStdio"`, `"stdio"`) .replaceAll( - "_meta: z.unknown().optional()", - "_meta: z.object().optional()", + "_meta: z.union([z.record(z.unknown()), z.null()]).optional()", + "_meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional()", ), ), ); @@ -59,14 +58,10 @@ async function main() { await fs.writeFile( tsPath, updateDocs( - tsSrc - .replace( - `export type ClientOptions`, - `// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype ClientOptions`, - ) - // Weird type issue - .replaceAll(`"McpServerStdio"`, `"stdio"`) - .replaceAll(`_meta?: unknown`, `_meta?: { [key: string]: unknown }`), + tsSrc.replace( + `export type ClientOptions`, + `// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype ClientOptions`, + ), ), ); diff --git a/src/schema/types.gen.ts b/src/schema/types.gen.ts index ea1bccd..7b3f56e 100644 --- a/src/schema/types.gen.ts +++ b/src/schema/types.gen.ts @@ -15,9 +15,15 @@ type ClientOptions = { */ export type AgentCapabilities = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Whether the agent supports `session/load`. */ @@ -86,9 +92,15 @@ export type AgentResponse = */ export type Annotations = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; audience?: Array | null; lastModified?: string | null; priority?: number | null; @@ -99,9 +111,15 @@ export type Annotations = { */ export type AudioContent = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; annotations?: Annotations | null; data: string; mimeType: string; @@ -112,9 +130,15 @@ export type AudioContent = { */ export type AuthMethod = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Optional description providing more details about this authentication method. */ @@ -136,9 +160,15 @@ export type AuthMethod = { */ export type AuthenticateRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the authentication method to use. * Must be one of the methods advertised in the initialize response. @@ -151,9 +181,15 @@ export type AuthenticateRequest = { */ export type AuthenticateResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; /** @@ -161,9 +197,15 @@ export type AuthenticateResponse = { */ export type AvailableCommand = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Human-readable description of what the command does. */ @@ -188,9 +230,15 @@ export type AvailableCommandInput = UnstructuredCommandInput; */ export type AvailableCommandsUpdate = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Commands the agent can execute */ @@ -202,9 +250,15 @@ export type AvailableCommandsUpdate = { */ export type BlobResourceContents = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; blob: string; mimeType?: string | null; uri: string; @@ -217,9 +271,15 @@ export type BlobResourceContents = { */ export type CancelNotification = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the session to cancel operations for. */ @@ -236,9 +296,15 @@ export type CancelNotification = { */ export type ClientCapabilities = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * File system capabilities supported by the client. * Determines which file operations the agent can request. @@ -303,9 +369,15 @@ export type ClientResponse = */ export type Content = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The actual content block. */ @@ -350,9 +422,15 @@ export type ContentBlock = */ export type ContentChunk = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * A single item of content */ @@ -364,9 +442,15 @@ export type ContentChunk = { */ export type CreateTerminalRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Array of command arguments. */ @@ -405,9 +489,15 @@ export type CreateTerminalRequest = { */ export type CreateTerminalResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The unique identifier for the created terminal. */ @@ -421,9 +511,15 @@ export type CreateTerminalResponse = { */ export type CurrentModeUpdate = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the current mode */ @@ -439,9 +535,15 @@ export type CurrentModeUpdate = { */ export type Diff = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The new content after modification. */ @@ -461,9 +563,15 @@ export type Diff = { */ export type EmbeddedResource = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; annotations?: Annotations | null; resource: EmbeddedResourceResource; }; @@ -480,9 +588,15 @@ export type EmbeddedResourceResource = */ export type EnvVariable = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The name of the environment variable. */ @@ -554,9 +668,15 @@ export type ExtResponse = unknown; */ export type FileSystemCapability = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Whether the Client supports `fs/read_text_file` requests. */ @@ -572,9 +692,15 @@ export type FileSystemCapability = { */ export type HttpHeader = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The name of the HTTP header. */ @@ -590,9 +716,15 @@ export type HttpHeader = { */ export type ImageContent = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; annotations?: Annotations | null; data: string; mimeType: string; @@ -606,9 +738,15 @@ export type ImageContent = { */ export type Implementation = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Intended for programmatic or logical use, but can be used as a display * name fallback if title isn’t present. @@ -637,9 +775,15 @@ export type Implementation = { */ export type InitializeRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Capabilities supported by the client. */ @@ -665,9 +809,15 @@ export type InitializeRequest = { */ export type InitializeResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Capabilities supported by the agent. */ @@ -696,9 +846,15 @@ export type InitializeResponse = { */ export type KillTerminalCommandRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The session ID for this request. */ @@ -714,9 +870,15 @@ export type KillTerminalCommandRequest = { */ export type KillTerminalCommandResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; /** @@ -732,9 +894,15 @@ export type KillTerminalCommandResponse = { */ export type ListSessionsRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Opaque cursor token from a previous response's nextCursor field for cursor-based pagination */ @@ -756,9 +924,15 @@ export type ListSessionsRequest = { */ export type ListSessionsResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Opaque cursor token. If present, pass this in the next request's cursor parameter * to fetch the next page. If absent, there are no more results. @@ -779,9 +953,15 @@ export type ListSessionsResponse = { */ export type LoadSessionRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The working directory for this session. */ @@ -801,9 +981,15 @@ export type LoadSessionRequest = { */ export type LoadSessionResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * **UNSTABLE** * @@ -827,9 +1013,15 @@ export type LoadSessionResponse = { */ export type McpCapabilities = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Agent supports [`McpServer::Http`]. */ @@ -855,18 +1047,22 @@ export type McpServer = | (McpServerSse & { type: "sse"; }) - | ({ - type?: "stdio"; - } & McpServerStdio); + | McpServerStdio; /** * HTTP transport configuration for MCP. */ export type McpServerHttp = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * HTTP headers to set when making requests to the MCP server. */ @@ -886,9 +1082,15 @@ export type McpServerHttp = { */ export type McpServerSse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * HTTP headers to set when making requests to the MCP server. */ @@ -908,9 +1110,15 @@ export type McpServerSse = { */ export type McpServerStdio = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Command-line arguments to pass to the MCP server. */ @@ -951,9 +1159,15 @@ export type ModelId = string; */ export type ModelInfo = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Optional description of the model. */ @@ -975,9 +1189,15 @@ export type ModelInfo = { */ export type NewSessionRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The working directory for this session. Must be an absolute path. */ @@ -995,9 +1215,15 @@ export type NewSessionRequest = { */ export type NewSessionResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * **UNSTABLE** * @@ -1027,9 +1253,15 @@ export type NewSessionResponse = { */ export type PermissionOption = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Hint about the nature of this permission option. */ @@ -1071,9 +1303,15 @@ export type PermissionOptionKind = */ export type Plan = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The list of tasks to be accomplished. * @@ -1092,9 +1330,15 @@ export type Plan = { */ export type PlanEntry = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Human-readable description of what this task aims to accomplish. */ @@ -1143,9 +1387,15 @@ export type PlanEntryStatus = "pending" | "in_progress" | "completed"; */ export type PromptCapabilities = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Agent supports [`ContentBlock::Audio`]. */ @@ -1172,9 +1422,15 @@ export type PromptCapabilities = { */ export type PromptRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The blocks of content that compose the user's message. * @@ -1204,9 +1460,15 @@ export type PromptRequest = { */ export type PromptResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Indicates why the agent stopped processing the turn. */ @@ -1228,9 +1490,15 @@ export type ProtocolVersion = number; */ export type ReadTextFileRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Maximum number of lines to read. */ @@ -1254,9 +1522,15 @@ export type ReadTextFileRequest = { */ export type ReadTextFileResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; content: string; }; @@ -1265,9 +1539,15 @@ export type ReadTextFileResponse = { */ export type ReleaseTerminalRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The session ID for this request. */ @@ -1283,9 +1563,15 @@ export type ReleaseTerminalRequest = { */ export type ReleaseTerminalResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; /** @@ -1321,9 +1607,15 @@ export type RequestPermissionOutcome = */ export type RequestPermissionRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Available permission options for the user to choose from. */ @@ -1343,9 +1635,15 @@ export type RequestPermissionRequest = { */ export type RequestPermissionResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The user's decision on the permission request. */ @@ -1357,9 +1655,15 @@ export type RequestPermissionResponse = { */ export type ResourceLink = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; annotations?: Annotations | null; description?: string | null; mimeType?: string | null; @@ -1379,9 +1683,15 @@ export type Role = "assistant" | "user"; */ export type SelectedPermissionOutcome = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the option the user selected. */ @@ -1401,9 +1711,15 @@ export type SelectedPermissionOutcome = { */ export type SessionCapabilities = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * **UNSTABLE** * @@ -1437,9 +1753,15 @@ export type SessionId = string; */ export type SessionInfo = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The working directory for this session. Must be an absolute path. */ @@ -1467,9 +1789,15 @@ export type SessionInfo = { */ export type SessionListCapabilities = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; /** @@ -1479,9 +1807,15 @@ export type SessionListCapabilities = { */ export type SessionMode = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; description?: string | null; id: SessionModeId; name: string; @@ -1497,9 +1831,15 @@ export type SessionModeId = string; */ export type SessionModeState = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The set of modes that the Agent can operate in */ @@ -1521,9 +1861,15 @@ export type SessionModeState = { */ export type SessionModelState = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The set of models that the Agent can use */ @@ -1543,9 +1889,15 @@ export type SessionModelState = { */ export type SessionNotification = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the session this update pertains to. */ @@ -1594,9 +1946,15 @@ export type SessionUpdate = */ export type SetSessionModeRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the mode to set. */ @@ -1611,7 +1969,9 @@ export type SetSessionModeRequest = { * Response to `session/set_mode` method. */ export type SetSessionModeResponse = { - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; /** @@ -1625,9 +1985,15 @@ export type SetSessionModeResponse = { */ export type SetSessionModelRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The ID of the model to set. */ @@ -1649,9 +2015,15 @@ export type SetSessionModelRequest = { */ export type SetSessionModelResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; /** @@ -1675,9 +2047,15 @@ export type StopReason = */ export type Terminal = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; terminalId: string; }; @@ -1686,9 +2064,15 @@ export type Terminal = { */ export type TerminalExitStatus = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The process exit code (may be null if terminated by signal). */ @@ -1704,9 +2088,15 @@ export type TerminalExitStatus = { */ export type TerminalOutputRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The session ID for this request. */ @@ -1722,9 +2112,15 @@ export type TerminalOutputRequest = { */ export type TerminalOutputResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Exit status if the command has completed. */ @@ -1744,9 +2140,15 @@ export type TerminalOutputResponse = { */ export type TextContent = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; annotations?: Annotations | null; text: string; }; @@ -1756,9 +2158,15 @@ export type TextContent = { */ export type TextResourceContents = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; mimeType?: string | null; text: string; uri: string; @@ -1774,9 +2182,15 @@ export type TextResourceContents = { */ export type ToolCall = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Content produced by the tool call. */ @@ -1847,9 +2261,15 @@ export type ToolCallId = string; */ export type ToolCallLocation = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Optional line number within the file. */ @@ -1879,9 +2299,15 @@ export type ToolCallStatus = "pending" | "in_progress" | "completed" | "failed"; */ export type ToolCallUpdate = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * Replace the content collection. */ @@ -1941,9 +2367,15 @@ export type ToolKind = */ export type UnstructuredCommandInput = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * A hint to display when the input hasn't been provided yet */ @@ -1955,9 +2387,15 @@ export type UnstructuredCommandInput = { */ export type WaitForTerminalExitRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The session ID for this request. */ @@ -1973,9 +2411,15 @@ export type WaitForTerminalExitRequest = { */ export type WaitForTerminalExitResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The process exit code (may be null if terminated by signal). */ @@ -1993,9 +2437,15 @@ export type WaitForTerminalExitResponse = { */ export type WriteTextFileRequest = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; /** * The text content to write to the file. */ @@ -2015,7 +2465,13 @@ export type WriteTextFileRequest = { */ export type WriteTextFileResponse = { /** - * Extension point for implementations + * The _meta property is reserved by ACP to allow clients and agents to attach additional + * metadata to their interactions. Implementations MUST NOT make assumptions about values at + * these keys. + * + * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) */ - _meta?: { [key: string]: unknown }; + _meta?: { + [key: string]: unknown; + } | null; }; diff --git a/src/schema/zod.gen.ts b/src/schema/zod.gen.ts index 43f2533..0d05c8b 100644 --- a/src/schema/zod.gen.ts +++ b/src/schema/zod.gen.ts @@ -6,7 +6,7 @@ import { z } from "zod/v4"; * Describes an available authentication method. */ export const zAuthMethod = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), description: z.union([z.string(), z.null()]).optional(), id: z.string(), name: z.string(), @@ -18,7 +18,7 @@ export const zAuthMethod = z.object({ * Specifies which authentication method to use. */ export const zAuthenticateRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), methodId: z.string(), }); @@ -26,14 +26,14 @@ export const zAuthenticateRequest = z.object({ * Response to the `authenticate` method. */ export const zAuthenticateResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); /** * Binary resource contents. */ export const zBlobResourceContents = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), blob: z.string(), mimeType: z.union([z.string(), z.null()]).optional(), uri: z.string(), @@ -43,7 +43,7 @@ export const zBlobResourceContents = z.object({ * Response containing the ID of the created terminal. */ export const zCreateTerminalResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), terminalId: z.string(), }); @@ -55,7 +55,7 @@ export const zCreateTerminalResponse = z.object({ * See protocol docs: [Content](https://agentclientprotocol.com/protocol/tool-calls#content) */ export const zDiff = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), newText: z.string(), oldText: z.union([z.string(), z.null()]).optional(), path: z.string(), @@ -65,7 +65,7 @@ export const zDiff = z.object({ * An environment variable to set when launching an MCP server. */ export const zEnvVariable = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), name: z.string(), value: z.string(), }); @@ -118,7 +118,7 @@ export const zExtResponse = z.unknown(); * See protocol docs: [FileSystem](https://agentclientprotocol.com/protocol/initialization#filesystem) */ export const zFileSystemCapability = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), readTextFile: z.boolean().optional().default(false), writeTextFile: z.boolean().optional().default(false), }); @@ -132,7 +132,7 @@ export const zFileSystemCapability = z.object({ * See protocol docs: [Client Capabilities](https://agentclientprotocol.com/protocol/initialization#client-capabilities) */ export const zClientCapabilities = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), fs: zFileSystemCapability .optional() .default({ readTextFile: false, writeTextFile: false }), @@ -143,7 +143,7 @@ export const zClientCapabilities = z.object({ * An HTTP header to set when making requests to the MCP server. */ export const zHttpHeader = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), name: z.string(), value: z.string(), }); @@ -154,7 +154,7 @@ export const zHttpHeader = z.object({ * title for UI representation. */ export const zImplementation = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), name: z.string(), title: z.union([z.string(), z.null()]).optional(), version: z.string(), @@ -164,7 +164,7 @@ export const zImplementation = z.object({ * Response to terminal/kill command method */ export const zKillTerminalCommandResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); /** @@ -179,7 +179,7 @@ export const zKillTerminalCommandResponse = z.object({ * @experimental */ export const zListSessionsRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), cursor: z.union([z.string(), z.null()]).optional(), cwd: z.union([z.string(), z.null()]).optional(), }); @@ -188,7 +188,7 @@ export const zListSessionsRequest = z.object({ * MCP capabilities supported by the agent */ export const zMcpCapabilities = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), http: z.boolean().optional().default(false), sse: z.boolean().optional().default(false), }); @@ -197,7 +197,7 @@ export const zMcpCapabilities = z.object({ * HTTP transport configuration for MCP. */ export const zMcpServerHttp = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), headers: z.array(zHttpHeader), name: z.string(), url: z.string(), @@ -207,7 +207,7 @@ export const zMcpServerHttp = z.object({ * SSE transport configuration for MCP. */ export const zMcpServerSse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), headers: z.array(zHttpHeader), name: z.string(), url: z.string(), @@ -217,7 +217,7 @@ export const zMcpServerSse = z.object({ * Stdio transport configuration for MCP. */ export const zMcpServerStdio = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), args: z.array(z.string()), command: z.string(), env: z.array(zEnvVariable), @@ -243,11 +243,7 @@ export const zMcpServer = z.union([ type: z.literal("sse"), }), ), - z - .object({ - type: z.literal("stdio").optional(), - }) - .and(zMcpServerStdio), + zMcpServerStdio, ]); /** @@ -271,7 +267,7 @@ export const zModelId = z.string(); * @experimental */ export const zModelInfo = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), description: z.union([z.string(), z.null()]).optional(), modelId: zModelId, name: z.string(), @@ -283,7 +279,7 @@ export const zModelInfo = z.object({ * See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session) */ export const zNewSessionRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), cwd: z.string(), mcpServers: z.array(zMcpServer), }); @@ -309,7 +305,7 @@ export const zPermissionOptionKind = z.union([ * An option presented to the user when requesting permission. */ export const zPermissionOption = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), kind: zPermissionOptionKind, name: z.string(), optionId: zPermissionOptionId, @@ -348,7 +344,7 @@ export const zPlanEntryStatus = z.union([ * See protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent-plan#plan-entries) */ export const zPlanEntry = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: z.string(), priority: zPlanEntryPriority, status: zPlanEntryStatus, @@ -364,7 +360,7 @@ export const zPlanEntry = z.object({ * See protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-plan) */ export const zPlan = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), entries: z.array(zPlanEntry), }); @@ -383,7 +379,7 @@ export const zPlan = z.object({ * See protocol docs: [Prompt Capabilities](https://agentclientprotocol.com/protocol/initialization#prompt-capabilities) */ export const zPromptCapabilities = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), audio: z.boolean().optional().default(false), embeddedContext: z.boolean().optional().default(false), image: z.boolean().optional().default(false), @@ -405,7 +401,7 @@ export const zProtocolVersion = z.number().int().gte(0).lte(65535); * See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization) */ export const zInitializeRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), clientCapabilities: zClientCapabilities.optional().default({ fs: { readTextFile: false, writeTextFile: false }, terminal: false, @@ -418,7 +414,7 @@ export const zInitializeRequest = z.object({ * Response containing the contents of a text file. */ export const zReadTextFileResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: z.string(), }); @@ -426,7 +422,7 @@ export const zReadTextFileResponse = z.object({ * Response to terminal/release method */ export const zReleaseTerminalResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); /** @@ -451,7 +447,7 @@ export const zRole = z.enum(["assistant", "user"]); * Optional annotations for the client. The client can use annotations to inform how objects are used or displayed */ export const zAnnotations = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), audience: z.union([z.array(zRole), z.null()]).optional(), lastModified: z.union([z.string(), z.null()]).optional(), priority: z.union([z.number(), z.null()]).optional(), @@ -461,7 +457,7 @@ export const zAnnotations = z.object({ * Audio provided to or from an LLM. */ export const zAudioContent = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), annotations: z.union([zAnnotations, z.null()]).optional(), data: z.string(), mimeType: z.string(), @@ -471,7 +467,7 @@ export const zAudioContent = z.object({ * An image provided to or from an LLM. */ export const zImageContent = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), annotations: z.union([zAnnotations, z.null()]).optional(), data: z.string(), mimeType: z.string(), @@ -482,7 +478,7 @@ export const zImageContent = z.object({ * A resource that the server is capable of reading, included in a prompt or tool call result. */ export const zResourceLink = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), annotations: z.union([zAnnotations, z.null()]).optional(), description: z.union([z.string(), z.null()]).optional(), mimeType: z.union([z.string(), z.null()]).optional(), @@ -496,7 +492,7 @@ export const zResourceLink = z.object({ * The user selected one of the provided options. */ export const zSelectedPermissionOutcome = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), optionId: zPermissionOptionId, }); @@ -518,7 +514,7 @@ export const zRequestPermissionOutcome = z.union([ * Response to a permission request. */ export const zRequestPermissionResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), outcome: zRequestPermissionOutcome, }); @@ -538,7 +534,7 @@ export const zSessionId = z.string(); * See protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/prompt-turn#cancellation) */ export const zCancelNotification = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), sessionId: zSessionId, }); @@ -553,7 +549,7 @@ export const zClientNotification = z.object({ * Request to create a new terminal and execute a command. */ export const zCreateTerminalRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), args: z.array(z.string()).optional(), command: z.string(), cwd: z.union([z.string(), z.null()]).optional(), @@ -566,7 +562,7 @@ export const zCreateTerminalRequest = z.object({ * Request to kill a terminal command without releasing the terminal. */ export const zKillTerminalCommandRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), sessionId: zSessionId, terminalId: z.string(), }); @@ -579,7 +575,7 @@ export const zKillTerminalCommandRequest = z.object({ * See protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/session-setup#loading-sessions) */ export const zLoadSessionRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), cwd: z.string(), mcpServers: z.array(zMcpServer), sessionId: zSessionId, @@ -591,7 +587,7 @@ export const zLoadSessionRequest = z.object({ * Only available if the client supports the `fs.readTextFile` capability. */ export const zReadTextFileRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), limit: z.union([z.number().int().gte(0), z.null()]).optional(), line: z.union([z.number().int().gte(0), z.null()]).optional(), path: z.string(), @@ -602,7 +598,7 @@ export const zReadTextFileRequest = z.object({ * Request to release a terminal and free its resources. */ export const zReleaseTerminalRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), sessionId: zSessionId, terminalId: z.string(), }); @@ -617,7 +613,7 @@ export const zReleaseTerminalRequest = z.object({ * @experimental */ export const zSessionInfo = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), cwd: z.string(), sessionId: zSessionId, title: z.union([z.string(), z.null()]).optional(), @@ -634,7 +630,7 @@ export const zSessionInfo = z.object({ * @experimental */ export const zListSessionsResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), nextCursor: z.union([z.string(), z.null()]).optional(), sessions: z.array(zSessionInfo), }); @@ -647,7 +643,7 @@ export const zListSessionsResponse = z.object({ * Further capabilities can be added in the future for other means of filtering or searching the list. */ export const zSessionListCapabilities = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); /** @@ -662,7 +658,7 @@ export const zSessionListCapabilities = z.object({ * See protocol docs: [Session Capabilities](https://agentclientprotocol.com/protocol/initialization#session-capabilities) */ export const zSessionCapabilities = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), list: z.union([zSessionListCapabilities, z.null()]).optional(), }); @@ -675,7 +671,7 @@ export const zSessionCapabilities = z.object({ * See protocol docs: [Agent Capabilities](https://agentclientprotocol.com/protocol/initialization#agent-capabilities) */ export const zAgentCapabilities = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), loadSession: z.boolean().optional().default(false), mcpCapabilities: zMcpCapabilities .optional() @@ -696,7 +692,7 @@ export const zAgentCapabilities = z.object({ * See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization) */ export const zInitializeResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), agentCapabilities: zAgentCapabilities.optional().default({ loadSession: false, mcpCapabilities: { http: false, sse: false }, @@ -723,7 +719,7 @@ export const zSessionModeId = z.string(); * See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes) */ export const zCurrentModeUpdate = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), currentModeId: zSessionModeId, }); @@ -733,7 +729,7 @@ export const zCurrentModeUpdate = z.object({ * See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes) */ export const zSessionMode = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), description: z.union([z.string(), z.null()]).optional(), id: zSessionModeId, name: z.string(), @@ -743,7 +739,7 @@ export const zSessionMode = z.object({ * The set of modes and the one currently active. */ export const zSessionModeState = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), availableModes: z.array(zSessionMode), currentModeId: zSessionModeId, }); @@ -758,7 +754,7 @@ export const zSessionModeState = z.object({ * @experimental */ export const zSessionModelState = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), availableModels: z.array(zModelInfo), currentModelId: zModelId, }); @@ -767,7 +763,7 @@ export const zSessionModelState = z.object({ * Response from loading an existing session. */ export const zLoadSessionResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), models: z.union([zSessionModelState, z.null()]).optional(), modes: z.union([zSessionModeState, z.null()]).optional(), }); @@ -778,7 +774,7 @@ export const zLoadSessionResponse = z.object({ * See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session) */ export const zNewSessionResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), models: z.union([zSessionModelState, z.null()]).optional(), modes: z.union([zSessionModeState, z.null()]).optional(), sessionId: zSessionId, @@ -788,7 +784,7 @@ export const zNewSessionResponse = z.object({ * Request parameters for setting a session mode. */ export const zSetSessionModeRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), modeId: zSessionModeId, sessionId: zSessionId, }); @@ -797,7 +793,7 @@ export const zSetSessionModeRequest = z.object({ * Response to `session/set_mode` method. */ export const zSetSessionModeResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); /** @@ -810,7 +806,7 @@ export const zSetSessionModeResponse = z.object({ * @experimental */ export const zSetSessionModelRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), modelId: zModelId, sessionId: zSessionId, }); @@ -825,7 +821,7 @@ export const zSetSessionModelRequest = z.object({ * @experimental */ export const zSetSessionModelResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); /** @@ -847,7 +843,7 @@ export const zStopReason = z.union([ * See protocol docs: [Check for Completion](https://agentclientprotocol.com/protocol/prompt-turn#4-check-for-completion) */ export const zPromptResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), stopReason: zStopReason, }); @@ -880,7 +876,7 @@ export const zAgentResponse = z.union([ * See protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals) */ export const zTerminal = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), terminalId: z.string(), }); @@ -888,7 +884,7 @@ export const zTerminal = z.object({ * Exit status of a terminal command. */ export const zTerminalExitStatus = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), exitCode: z.union([z.number().int().gte(0), z.null()]).optional(), signal: z.union([z.string(), z.null()]).optional(), }); @@ -897,7 +893,7 @@ export const zTerminalExitStatus = z.object({ * Request to get the current output and status of a terminal. */ export const zTerminalOutputRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), sessionId: zSessionId, terminalId: z.string(), }); @@ -906,7 +902,7 @@ export const zTerminalOutputRequest = z.object({ * Response containing the terminal output and exit status. */ export const zTerminalOutputResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), exitStatus: z.union([zTerminalExitStatus, z.null()]).optional(), output: z.string(), truncated: z.boolean(), @@ -916,7 +912,7 @@ export const zTerminalOutputResponse = z.object({ * Text provided to or from an LLM. */ export const zTextContent = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), annotations: z.union([zAnnotations, z.null()]).optional(), text: z.string(), }); @@ -925,7 +921,7 @@ export const zTextContent = z.object({ * Text-based resource contents. */ export const zTextResourceContents = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), mimeType: z.union([z.string(), z.null()]).optional(), text: z.string(), uri: z.string(), @@ -943,7 +939,7 @@ export const zEmbeddedResourceResource = z.union([ * The contents of a resource, embedded into a prompt or tool call result. */ export const zEmbeddedResource = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), annotations: z.union([zAnnotations, z.null()]).optional(), resource: zEmbeddedResourceResource, }); @@ -996,7 +992,7 @@ export const zContentBlock = z.union([ * Standard content block (text, images, resources). */ export const zContent = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: zContentBlock, }); @@ -1004,7 +1000,7 @@ export const zContent = z.object({ * A streamed item of content */ export const zContentChunk = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: zContentBlock, }); @@ -1016,7 +1012,7 @@ export const zContentChunk = z.object({ * See protocol docs: [User Message](https://agentclientprotocol.com/protocol/prompt-turn#1-user-message) */ export const zPromptRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), prompt: z.array(zContentBlock), sessionId: zSessionId, }); @@ -1082,7 +1078,7 @@ export const zToolCallId = z.string(); * See protocol docs: [Following the Agent](https://agentclientprotocol.com/protocol/tool-calls#following-the-agent) */ export const zToolCallLocation = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), line: z.union([z.number().int().gte(0), z.null()]).optional(), path: z.string(), }); @@ -1131,7 +1127,7 @@ export const zToolKind = z.union([ * See protocol docs: [Tool Calls](https://agentclientprotocol.com/protocol/tool-calls) */ export const zToolCall = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: z.array(zToolCallContent).optional(), kind: zToolKind.optional(), locations: z.array(zToolCallLocation).optional(), @@ -1151,7 +1147,7 @@ export const zToolCall = z.object({ * See protocol docs: [Updating](https://agentclientprotocol.com/protocol/tool-calls#updating) */ export const zToolCallUpdate = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: z.union([z.array(zToolCallContent), z.null()]).optional(), kind: z.union([zToolKind, z.null()]).optional(), locations: z.union([z.array(zToolCallLocation), z.null()]).optional(), @@ -1170,7 +1166,7 @@ export const zToolCallUpdate = z.object({ * See protocol docs: [Requesting Permission](https://agentclientprotocol.com/protocol/tool-calls#requesting-permission) */ export const zRequestPermissionRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), options: z.array(zPermissionOption), sessionId: zSessionId, toolCall: zToolCallUpdate, @@ -1180,7 +1176,7 @@ export const zRequestPermissionRequest = z.object({ * All text that was typed after the command name is provided as input. */ export const zUnstructuredCommandInput = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), hint: z.string(), }); @@ -1193,7 +1189,7 @@ export const zAvailableCommandInput = zUnstructuredCommandInput; * Information about a command. */ export const zAvailableCommand = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), description: z.string(), input: z.union([zAvailableCommandInput, z.null()]).optional(), name: z.string(), @@ -1203,7 +1199,7 @@ export const zAvailableCommand = z.object({ * Available commands are ready or have changed */ export const zAvailableCommandsUpdate = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), availableCommands: z.array(zAvailableCommand), }); @@ -1265,7 +1261,7 @@ export const zSessionUpdate = z.union([ * See protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protocol/prompt-turn#3-agent-reports-output) */ export const zSessionNotification = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), sessionId: zSessionId, update: zSessionUpdate, }); @@ -1281,7 +1277,7 @@ export const zAgentNotification = z.object({ * Request to wait for a terminal command to exit. */ export const zWaitForTerminalExitRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), sessionId: zSessionId, terminalId: z.string(), }); @@ -1290,7 +1286,7 @@ export const zWaitForTerminalExitRequest = z.object({ * Response containing the exit status of a terminal command. */ export const zWaitForTerminalExitResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), exitCode: z.union([z.number().int().gte(0), z.null()]).optional(), signal: z.union([z.string(), z.null()]).optional(), }); @@ -1301,7 +1297,7 @@ export const zWaitForTerminalExitResponse = z.object({ * Only available if the client supports the `fs.writeTextFile` capability. */ export const zWriteTextFileRequest = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), content: z.string(), path: z.string(), sessionId: zSessionId, @@ -1332,7 +1328,7 @@ export const zAgentRequest = z.object({ * Response to `fs/write_text_file` */ export const zWriteTextFileResponse = z.object({ - _meta: z.object().optional(), + _meta: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(), }); export const zClientResponse = z.union([