From a1fc1cf8a97ff20498356df689e78dba75508905 Mon Sep 17 00:00:00 2001
From: Ramon Snir <r@mon.dev>
Date: Tue, 10 Sep 2024 11:30:36 -0400
Subject: [PATCH] updated SDK version

---
 extension.yaml    |   5 -
 package-lock.json | 696 ++++++++++++++++++++++++++++++++++++++++++----
 package.json      |   2 +-
 src/index.ts      |   3 +
 4 files changed, 650 insertions(+), 56 deletions(-)

diff --git a/extension.yaml b/extension.yaml
index fbedaa8c9..f63eec417 100644
--- a/extension.yaml
+++ b/extension.yaml
@@ -2,11 +2,6 @@
 config:
   slug: leqfnf6m-showcase
   name: showcase
-  description: Showcases the Netlify SDK
-  scopes:
-    site: ["read", "write"]
-    user: ["read", "write"]
-    env: ["read", "write"]
 
   # set this to true to add a global require shim to esbuild. Workaround for https://github.com/evanw/esbuild/issues/1921
   use_cjs_shims: false
diff --git a/package-lock.json b/package-lock.json
index b9af96754..073c25d59 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
       "version": "0.0.1",
       "dependencies": {
         "@netlify/functions": "^2.8.1",
-        "@netlify/sdk": "^2.0.1",
+        "@netlify/sdk": "^2.1.0",
         "@tanstack/react-query": "^5.54.1",
         "@trpc/client": "^11.0.0-rc.477",
         "@trpc/react-query": "^11.0.0-rc.477",
@@ -934,6 +934,148 @@
       "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz",
       "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA=="
     },
+    "node_modules/@google-cloud/paginator": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.7.tgz",
+      "integrity": "sha512-jJNutk0arIQhmpUUQJPJErsojqo834KcyB6X7a1mxuic8i1tKXxde8E69IZxNZawRIlZdIK2QY4WALvlK5MzYQ==",
+      "peer": true,
+      "dependencies": {
+        "arrify": "^2.0.0",
+        "extend": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@google-cloud/paginator/node_modules/arrify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@google-cloud/projectify": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.1.tgz",
+      "integrity": "sha512-+rssMZHnlh0twl122gXY4/aCrk0G1acBqkHFfYddtsqpYXGxA29nj9V5V9SfC+GyOG00l650f6lG9KL+EpFEWQ==",
+      "peer": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@google-cloud/promisify": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.4.tgz",
+      "integrity": "sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==",
+      "peer": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@google-cloud/storage": {
+      "version": "5.20.5",
+      "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.20.5.tgz",
+      "integrity": "sha512-lOs/dCyveVF8TkVFnFSF7IGd0CJrTm91qiK6JLu+Z8qiT+7Ag0RyVhxZIWkhiACqwABo7kSHDm8FdH8p2wxSSw==",
+      "peer": true,
+      "dependencies": {
+        "@google-cloud/paginator": "^3.0.7",
+        "@google-cloud/projectify": "^2.0.0",
+        "@google-cloud/promisify": "^2.0.0",
+        "abort-controller": "^3.0.0",
+        "arrify": "^2.0.0",
+        "async-retry": "^1.3.3",
+        "compressible": "^2.0.12",
+        "configstore": "^5.0.0",
+        "duplexify": "^4.0.0",
+        "ent": "^2.2.0",
+        "extend": "^3.0.2",
+        "gaxios": "^4.0.0",
+        "google-auth-library": "^7.14.1",
+        "hash-stream-validation": "^0.2.2",
+        "mime": "^3.0.0",
+        "mime-types": "^2.0.8",
+        "p-limit": "^3.0.1",
+        "pumpify": "^2.0.0",
+        "retry-request": "^4.2.2",
+        "stream-events": "^1.0.4",
+        "teeny-request": "^7.1.3",
+        "uuid": "^8.0.0",
+        "xdg-basedir": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@google-cloud/storage/node_modules/arrify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@google-cloud/storage/node_modules/configstore": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+      "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
+      "peer": true,
+      "dependencies": {
+        "dot-prop": "^5.2.0",
+        "graceful-fs": "^4.1.2",
+        "make-dir": "^3.0.0",
+        "unique-string": "^2.0.0",
+        "write-file-atomic": "^3.0.0",
+        "xdg-basedir": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@google-cloud/storage/node_modules/crypto-random-string": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@google-cloud/storage/node_modules/dot-prop": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+      "peer": true,
+      "dependencies": {
+        "is-obj": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@google-cloud/storage/node_modules/unique-string": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+      "peer": true,
+      "dependencies": {
+        "crypto-random-string": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@google-cloud/storage/node_modules/xdg-basedir": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+      "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/@graphql-tools/batch-delegate": {
       "version": "9.0.3",
       "resolved": "https://registry.npmjs.org/@graphql-tools/batch-delegate/-/batch-delegate-9.0.3.tgz",
@@ -1406,22 +1548,17 @@
         "win32"
       ]
     },
-    "node_modules/@netlify/bitballoon-openapi": {
-      "version": "1.0.101",
-      "resolved": "https://registry.npmjs.org/@netlify/bitballoon-openapi/-/bitballoon-openapi-1.0.101.tgz",
-      "integrity": "sha512-9EjiaNReQwu+zSNg9gZ6R4e2u6SqhKO3clWYrpmGi2TekKbxVfNA31VsVCMIBj7utXPDjonC1ziXoMT0nmtlPQ==",
-      "optional": true
-    },
     "node_modules/@netlify/content-engine": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@netlify/content-engine/-/content-engine-1.0.0.tgz",
-      "integrity": "sha512-RcreMAU/gGnVnDR/eoYf/og4D90P7Nv0WUymfdHQrDE9DZt+SgG7zFKg6Pj1GwwafrUu2Hu/vrnqL3LdGWiDsg==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@netlify/content-engine/-/content-engine-1.1.0.tgz",
+      "integrity": "sha512-fqztFyFUorK6Q5PSm5tCJpwagkszVrxisg3wtp7hjvJVQqx7gVF0/UNsq1MudSIuXm1DhwFB/KAbqE+AbtVTiw==",
       "hasInstallScript": true,
       "dependencies": {
         "@babel/code-frame": "^7.18.6",
         "@babel/types": "^7.20.7",
         "@jridgewell/trace-mapping": "^0.3.17",
-        "@netlify/content-engine-graphiql-explorer": "1.0.0",
+        "@netlify/content-engine-graphiql-explorer": "1.1.0",
+        "@pnpm/exec": "^2.0.0",
         "address": "1.2.2",
         "axios": "^0.21.1",
         "better-opn": "^2.1.1",
@@ -1485,6 +1622,7 @@
         "memoizee": "^0.4.15",
         "micromatch": "^4.0.5",
         "mime": "^3.0.0",
+        "minizlib": "^3.0.1",
         "moment": "^2.29.4",
         "node-html-parser": "^5.4.2",
         "node-object-hash": "~2.3.10",
@@ -1509,14 +1647,17 @@
       },
       "engines": {
         "node": ">=16.0.0"
+      },
+      "peerDependencies": {
+        "@google-cloud/storage": "^5.8.4"
       }
     },
     "node_modules/@netlify/content-engine-graphiql-explorer": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@netlify/content-engine-graphiql-explorer/-/content-engine-graphiql-explorer-1.0.0.tgz",
-      "integrity": "sha512-mp0jzm4aObvf/VQIsFB71EgbDViYticPfA55OiGku/CGLydtde+ihDD7+U2lXrdxLqhXVnz68tX80zexTFHAUQ==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@netlify/content-engine-graphiql-explorer/-/content-engine-graphiql-explorer-1.1.0.tgz",
+      "integrity": "sha512-DYmIHQe23uZXDCXbfZybWd+PGissjMfWxzIpJ0D/EfBb1I52A5Ic9cK3Rx7ZMmi64i1GTwoZY5lwQV5w2HmHKg==",
       "engines": {
-        "node": ">=20.9.0"
+        "node": ">=18.19.0"
       }
     },
     "node_modules/@netlify/content-engine/node_modules/chalk": {
@@ -1702,22 +1843,21 @@
       }
     },
     "node_modules/@netlify/sdk": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@netlify/sdk/-/sdk-2.0.1.tgz",
-      "integrity": "sha512-4K8K5nhR/tEUk4gSjT6vstSATJvM1wCl6pTVFHv5M0AXSTMviM4q9tYb5YAcCeWLe1K6/ZtAR7PFuhWTV48+eQ==",
-      "license": "ISC",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/@netlify/sdk/-/sdk-2.2.0.tgz",
+      "integrity": "sha512-9uYbgCFLBxI6r5+WSPyZl0UdPXC0Dt047OQTrS3rJ2xaNqFv3vvuNWXN9o7MG9JWtYbKykXVS+SVWNXmyISmcg==",
       "dependencies": {
         "@commander-js/extra-typings": "^12.1.0",
         "@graphql-tools/stitch": "^9.0.3",
         "@graphql-tools/utils": "^10.1.2",
         "@graphql-tools/wrap": "^10.0.1",
-        "@netlify/content-engine": "1.0.0",
+        "@netlify/content-engine": "1.1.0",
         "@netlify/functions": "^2.8.1",
         "@netlify/integrations": "^0.6.0",
-        "@netlify/sdk--extension-api-client": "2.0.0",
-        "@netlify/sdk--ui-core": "1.0.0",
-        "@netlify/sdk--ui-functions": "1.0.1",
-        "@netlify/sdk--ui-react": "1.0.0",
+        "@netlify/sdk--extension-api-client": "2.1.0",
+        "@netlify/sdk--ui-core": "1.1.0",
+        "@netlify/sdk--ui-functions": "1.0.2",
+        "@netlify/sdk--ui-react": "1.2.0",
         "@sindresorhus/slugify": "^2.2.1",
         "@stackbit/dev": "^1.0.27",
         "@types/configstore": "^6.0.2",
@@ -1756,23 +1896,22 @@
         "ntli": "bin.js"
       },
       "engines": {
-        "node": ">= 20.9.0"
+        "node": ">= 18.19.0"
       }
     },
     "node_modules/@netlify/sdk--extension-api-client": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@netlify/sdk--extension-api-client/-/sdk--extension-api-client-2.0.0.tgz",
-      "integrity": "sha512-hYA9dwbTvWBjYj8BIe+Ydlhgz+JON7c23+LuFI4MBr2tLDIzaNyv3OUAfZo5nGHFIPDyYd01lTKmDqMEGewFbw==",
-      "license": "ISC",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@netlify/sdk--extension-api-client/-/sdk--extension-api-client-2.1.0.tgz",
+      "integrity": "sha512-8bgMzSVTp7q1C/FyV9riRKGr2er2Vj+0dZ5qEWvQzoG0RGKPB6iU+BZlFnddcy0AV8MhUg0wwslbyqmG+b1ulQ==",
       "dependencies": {
         "wretch": "^2.7.0",
         "zod": "^3.22.4"
       }
     },
     "node_modules/@netlify/sdk--ui-core": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@netlify/sdk--ui-core/-/sdk--ui-core-1.0.0.tgz",
-      "integrity": "sha512-DQ4Ypp0RRqSpl/4vjNI6yZdKx2DrspvF+NMTqdejk0KENRHIewD4wj9wEn5D2KBHgv1D7WjbdOqOS3iykEFpWw==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@netlify/sdk--ui-core/-/sdk--ui-core-1.1.0.tgz",
+      "integrity": "sha512-qR/bprdLc8nJFtbtg3286tf2/r0HLHhcHln1jj3M1X6ieuy7VHFEwpzWJsEQ973tMM1i+UNxCqHhQADt1A8Gpw==",
       "dependencies": {
         "event-iterator": "^2.0.0",
         "iter-tools-es": "^7.5.3",
@@ -1780,28 +1919,27 @@
       }
     },
     "node_modules/@netlify/sdk--ui-functions": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@netlify/sdk--ui-functions/-/sdk--ui-functions-1.0.1.tgz",
-      "integrity": "sha512-xiNpd1bjrHsRKwNHAsM2KVR/YQ/Dke4EPC2OOopdPFF5j8Upx1k/RXqceXU7dYVFrSOiJJ21LgauG1pawpfYzA==",
-      "license": "ISC",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@netlify/sdk--ui-functions/-/sdk--ui-functions-1.0.2.tgz",
+      "integrity": "sha512-rO/O9fwobcI3dLqo4KUFhbe5VwMWQ54haIDiLj7DcKPHlm1s5LVFrU2UarKQet69ooAS9iTQQQGRbRmbQ7dpNg==",
       "dependencies": {
         "@netlify/functions": "^2.8.1",
-        "@netlify/sdk--extension-api-client": "2.0.0"
+        "@netlify/sdk--extension-api-client": "2.1.0"
       },
       "peerDependencies": {
         "@trpc/server": ">= 11 || >= 11.0.0-rc.0"
       }
     },
     "node_modules/@netlify/sdk--ui-react": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@netlify/sdk--ui-react/-/sdk--ui-react-1.0.0.tgz",
-      "integrity": "sha512-IhWbXq3spoexgcTCYr5eX7I9ExawMYXf1X+dv6A5dzbkVlwXKqI/rgJMWtiEE+rh9YeSP0NimiSQ4cjb/ftTbg==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@netlify/sdk--ui-react/-/sdk--ui-react-1.2.0.tgz",
+      "integrity": "sha512-2nvirdJqMYsGyoNbCwNFc1cLzkXKwrjgAm3h2PemdK75co/UqJqmInZgM5odYGYJmx1QbxBLkQoGmb6uEJtrYg==",
       "dependencies": {
         "@hookform/resolvers": "^3.6.0",
         "@netlify/netlify-design-tokens": "^6.0.0",
-        "@netlify/sdk--ui-core": "1.0.0",
+        "@netlify/sdk--ui-core": "1.1.0",
         "@netlify/tailwind-config": "^2.0.0",
-        "@netlify/ui": "0.0.19",
+        "@netlify/ui": "0.0.20",
         "@react-hook/resize-observer": "^2.0.1",
         "react-hook-form": "^7.52.0",
         "react-select": "^5.8.0",
@@ -1838,9 +1976,9 @@
       }
     },
     "node_modules/@netlify/ui": {
-      "version": "0.0.19",
-      "resolved": "https://registry.npmjs.org/@netlify/ui/-/ui-0.0.19.tgz",
-      "integrity": "sha512-M/iLahAnB3SAm8oAcJhmSIxVFZZPwNtg+RlGCCzILUjmQHP22FGjsy99MQ9IggKZ4mIFqVtEsLRJeLeNTZNtrA==",
+      "version": "0.0.20",
+      "resolved": "https://registry.npmjs.org/@netlify/ui/-/ui-0.0.20.tgz",
+      "integrity": "sha512-Z66gmuwEY+JkpEI4ICbzrqnDETYi8A+uKk0pkswlmzbFgVmmZ2GaST13oMzNcrLx5+nTyCqf52o7YaJhRchneg==",
       "dependencies": {
         "@netlify/netlify-design-tokens": "^6.0.0",
         "@netlify/tailwind-config": "^2.0.0",
@@ -1852,9 +1990,6 @@
         "react-to-text": "2.0.1",
         "tippy.js": "6.3.7"
       },
-      "optionalDependencies": {
-        "@netlify/bitballoon-openapi": "^1.0.98"
-      },
       "peerDependencies": {
         "react": "^17.0.0 || ^18.0.0"
       }
@@ -2020,6 +2155,30 @@
         "node": ">=14"
       }
     },
+    "node_modules/@pnpm/exec": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/exec/-/exec-2.0.0.tgz",
+      "integrity": "sha512-b5ALfWEOFQprWKntN7MF8XWCyslBk2c8u20GEDcDDQOs6c0HyHlWxX5lig8riQKdS000U6YyS4L4b32NOleXAQ==",
+      "dependencies": {
+        "@pnpm/self-installer": "^2.0.0",
+        "command-exists": "^1.2.2",
+        "cross-spawn": "^7.0.3"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@pnpm/self-installer": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@pnpm/self-installer/-/self-installer-2.2.1.tgz",
+      "integrity": "sha512-aefLe96wAWghkx6q1PwbVS1Iz1iGE+HKwkTmtzWLFXeGhbknaIdG2voMwaBGIYGCSxm8sDKR1uLO4aRRAYuc+Q==",
+      "bin": {
+        "self-installer": "bin.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/@popperjs/core": {
       "version": "2.11.8",
       "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
@@ -4323,6 +4482,18 @@
       "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
       "deprecated": "Use your platform's native atob() and btoa() methods instead"
     },
+    "node_modules/abort-controller": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+      "peer": true,
+      "dependencies": {
+        "event-target-shim": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6.5"
+      }
+    },
     "node_modules/accepts": {
       "version": "1.3.8",
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -4490,6 +4661,15 @@
       "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
       "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w=="
     },
+    "node_modules/async-retry": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
+      "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
+      "peer": true,
+      "dependencies": {
+        "retry": "0.13.1"
+      }
+    },
     "node_modules/asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -4631,8 +4811,7 @@
           "type": "consulting",
           "url": "https://feross.org/support"
         }
-      ],
-      "optional": true
+      ]
     },
     "node_modules/base64id": {
       "version": "2.0.0",
@@ -4695,6 +4874,15 @@
         "node": ">=0.6"
       }
     },
+    "node_modules/bignumber.js": {
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz",
+      "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==",
+      "peer": true,
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/binary-extensions": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
@@ -6333,6 +6521,32 @@
         "node": ">=4"
       }
     },
+    "node_modules/duplexify": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
+      "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
+      "peer": true,
+      "dependencies": {
+        "end-of-stream": "^1.4.1",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1",
+        "stream-shift": "^1.0.2"
+      }
+    },
+    "node_modules/duplexify/node_modules/readable-stream": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+      "peer": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
     "node_modules/eastasianwidth": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -6450,6 +6664,24 @@
         "node": ">=10.13.0"
       }
     },
+    "node_modules/ent": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.1.tgz",
+      "integrity": "sha512-QHuXVeZx9d+tIQAz/XztU0ZwZf2Agg9CcXcgE1rurqvdBeDBrpSwjl8/6XUqMg7tw2Y7uAdKb2sRv+bSEFqQ5A==",
+      "peer": true,
+      "dependencies": {
+        "punycode": "^1.4.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/ent/node_modules/punycode": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+      "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+      "peer": true
+    },
     "node_modules/entities": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
@@ -6768,6 +7000,15 @@
       "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.31.tgz",
       "integrity": "sha512-4IJSItgS/41IxN5UVAVuAyczwZF7ZIEsM1XAoUzIHA6A+xzusEZUutdXz2Nr+MQPLxfTiCvqE79/C8HT8fKFvA=="
     },
+    "node_modules/event-target-shim": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+      "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+      "peer": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/eventemitter3": {
       "version": "4.0.7",
       "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -6921,6 +7162,12 @@
         "type": "^2.7.2"
       }
     },
+    "node_modules/extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "peer": true
+    },
     "node_modules/external-editor": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -6966,6 +7213,12 @@
         "node": ">=8.6.0"
       }
     },
+    "node_modules/fast-text-encoding": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz",
+      "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==",
+      "peer": true
+    },
     "node_modules/fastest-levenshtein": {
       "version": "1.0.16",
       "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
@@ -7245,6 +7498,47 @@
         "node": ">=18.0.0"
       }
     },
+    "node_modules/gaxios": {
+      "version": "4.3.3",
+      "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz",
+      "integrity": "sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==",
+      "peer": true,
+      "dependencies": {
+        "abort-controller": "^3.0.0",
+        "extend": "^3.0.2",
+        "https-proxy-agent": "^5.0.0",
+        "is-stream": "^2.0.0",
+        "node-fetch": "^2.6.7"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/gaxios/node_modules/is-stream": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/gcp-metadata": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz",
+      "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==",
+      "peer": true,
+      "dependencies": {
+        "gaxios": "^4.0.0",
+        "json-bigint": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/gensync": {
       "version": "1.0.0-beta.2",
       "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -7463,6 +7757,90 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/google-auth-library": {
+      "version": "7.14.1",
+      "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz",
+      "integrity": "sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==",
+      "peer": true,
+      "dependencies": {
+        "arrify": "^2.0.0",
+        "base64-js": "^1.3.0",
+        "ecdsa-sig-formatter": "^1.0.11",
+        "fast-text-encoding": "^1.0.0",
+        "gaxios": "^4.0.0",
+        "gcp-metadata": "^4.2.0",
+        "gtoken": "^5.0.4",
+        "jws": "^4.0.0",
+        "lru-cache": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/google-auth-library/node_modules/arrify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/google-auth-library/node_modules/jwa": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
+      "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
+      "peer": true,
+      "dependencies": {
+        "buffer-equal-constant-time": "1.0.1",
+        "ecdsa-sig-formatter": "1.0.11",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "node_modules/google-auth-library/node_modules/jws": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
+      "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
+      "peer": true,
+      "dependencies": {
+        "jwa": "^2.0.0",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "node_modules/google-auth-library/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "peer": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/google-auth-library/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "peer": true
+    },
+    "node_modules/google-p12-pem": {
+      "version": "3.1.4",
+      "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.4.tgz",
+      "integrity": "sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==",
+      "deprecated": "Package is no longer maintained",
+      "peer": true,
+      "dependencies": {
+        "node-forge": "^1.3.1"
+      },
+      "bin": {
+        "gp12-pem": "build/src/bin/gp12-pem.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/gopd": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -7555,6 +7933,41 @@
         "graphql": ">=0.8.0"
       }
     },
+    "node_modules/gtoken": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz",
+      "integrity": "sha512-gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==",
+      "peer": true,
+      "dependencies": {
+        "gaxios": "^4.0.0",
+        "google-p12-pem": "^3.1.3",
+        "jws": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/gtoken/node_modules/jwa": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
+      "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
+      "peer": true,
+      "dependencies": {
+        "buffer-equal-constant-time": "1.0.1",
+        "ecdsa-sig-formatter": "1.0.11",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "node_modules/gtoken/node_modules/jws": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
+      "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
+      "peer": true,
+      "dependencies": {
+        "jwa": "^2.0.0",
+        "safe-buffer": "^5.0.1"
+      }
+    },
     "node_modules/has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -7596,6 +8009,12 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/hash-stream-validation": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz",
+      "integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==",
+      "peer": true
+    },
     "node_modules/hash-wasm": {
       "version": "4.9.0",
       "resolved": "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.9.0.tgz",
@@ -8436,6 +8855,15 @@
         "node": ">=4"
       }
     },
+    "node_modules/json-bigint": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
+      "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
+      "peer": true,
+      "dependencies": {
+        "bignumber.js": "^9.0.0"
+      }
+    },
     "node_modules/json-buffer": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
@@ -9026,6 +9454,95 @@
         "node": ">=16 || 14 >=14.17"
       }
     },
+    "node_modules/minizlib": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz",
+      "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==",
+      "dependencies": {
+        "minipass": "^7.0.4",
+        "rimraf": "^5.0.5"
+      },
+      "engines": {
+        "node": ">= 18"
+      }
+    },
+    "node_modules/minizlib/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/minizlib/node_modules/glob": {
+      "version": "10.4.5",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+      "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+      "dependencies": {
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^3.1.2",
+        "minimatch": "^9.0.4",
+        "minipass": "^7.1.2",
+        "package-json-from-dist": "^1.0.0",
+        "path-scurry": "^1.11.1"
+      },
+      "bin": {
+        "glob": "dist/esm/bin.mjs"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/minizlib/node_modules/jackspeak": {
+      "version": "3.4.3",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+      "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+      "dependencies": {
+        "@isaacs/cliui": "^8.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      },
+      "optionalDependencies": {
+        "@pkgjs/parseargs": "^0.11.0"
+      }
+    },
+    "node_modules/minizlib/node_modules/minimatch": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/minizlib/node_modules/minipass": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      }
+    },
+    "node_modules/minizlib/node_modules/rimraf": {
+      "version": "5.0.10",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
+      "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
+      "dependencies": {
+        "glob": "^10.3.7"
+      },
+      "bin": {
+        "rimraf": "dist/esm/bin.mjs"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
     "node_modules/mkdirp": {
       "version": "0.5.6",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
@@ -25130,6 +25647,15 @@
         "webidl-conversions": "^3.0.0"
       }
     },
+    "node_modules/node-forge": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+      "peer": true,
+      "engines": {
+        "node": ">= 6.13.0"
+      }
+    },
     "node_modules/node-gyp-build-optional-packages": {
       "version": "5.0.3",
       "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz",
@@ -25963,6 +26489,17 @@
         "once": "^1.3.1"
       }
     },
+    "node_modules/pumpify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz",
+      "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==",
+      "peer": true,
+      "dependencies": {
+        "duplexify": "^4.1.1",
+        "inherits": "^2.0.3",
+        "pump": "^3.0.0"
+      }
+    },
     "node_modules/punycode": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -26361,6 +26898,28 @@
         "node": ">=8"
       }
     },
+    "node_modules/retry": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+      "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+      "peer": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/retry-request": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz",
+      "integrity": "sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg==",
+      "peer": true,
+      "dependencies": {
+        "debug": "^4.1.1",
+        "extend": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8.10.0"
+      }
+    },
     "node_modules/reusify": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -26953,6 +27512,15 @@
       "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz",
       "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA=="
     },
+    "node_modules/stream-events": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
+      "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
+      "peer": true,
+      "dependencies": {
+        "stubs": "^3.0.0"
+      }
+    },
     "node_modules/stream-json": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.8.0.tgz",
@@ -26961,6 +27529,12 @@
         "stream-chain": "^2.2.5"
       }
     },
+    "node_modules/stream-shift": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
+      "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
+      "peer": true
+    },
     "node_modules/streamx": {
       "version": "2.20.0",
       "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.0.tgz",
@@ -27090,6 +27664,12 @@
         "url": "https://github.com/sponsors/Borewit"
       }
     },
+    "node_modules/stubs": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
+      "integrity": "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==",
+      "peer": true
+    },
     "node_modules/stylis": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
@@ -27299,6 +27879,22 @@
         "streamx": "^2.15.0"
       }
     },
+    "node_modules/teeny-request": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.2.0.tgz",
+      "integrity": "sha512-SyY0pek1zWsi0LRVAALem+avzMLc33MKW/JLLakdP4s9+D7+jHcy5x6P+h94g2QNZsAqQNfX5lsbd3WSeJXrrw==",
+      "peer": true,
+      "dependencies": {
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "node-fetch": "^2.6.1",
+        "stream-events": "^1.0.5",
+        "uuid": "^8.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/text-decoder": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz",
diff --git a/package.json b/package.json
index 1434618c0..631bec4c8 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
   },
   "dependencies": {
     "@netlify/functions": "^2.8.1",
-    "@netlify/sdk": "^2.0.2",
+    "@netlify/sdk": "^2.1.0",
     "@tanstack/react-query": "^5.54.1",
     "@trpc/client": "^11.0.0-rc.477",
     "@trpc/react-query": "^11.0.0-rc.477",
diff --git a/src/index.ts b/src/index.ts
index eed699282..1d009950f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -140,6 +140,9 @@ extension.addBuildEventHandler("onPreBuild", () => {
 
 extension.addEdgeFunctions("./src/edge-functions", {
   prefix: "ef_prefix",
+  shouldInjectFunction() {
+    return process.env.SHOWCASE_ENABLED === "1";
+  },
 });
 
 export { extension };