diff --git a/package-lock.json b/package-lock.json index 55b43c56a3..4af608d851 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,11 +11,13 @@ "license": "MIT", "dependencies": { "@c4312/evt": "^0.1.1", - "@deepnote/blocks": "^4.6.0", + "@deepnote/blocks": "^4.8.1", "@deepnote/cli": "0.8.0", - "@deepnote/convert": "^4.0.0", - "@deepnote/database-integrations": "^1.5.0", - "@deepnote/runtime-core": "^0.5.0", + "@deepnote/cloud": "0.2.1", + "@deepnote/cloud-sync": "0.1.0", + "@deepnote/convert": "^4.0.3", + "@deepnote/database-integrations": "^1.7.1", + "@deepnote/runtime-core": "^0.7.0", "@deepnote/sql-language-server": "^3.0.1", "@enonic/fnv-plus": "^1.3.0", "@jupyter-widgets/base": "^6.0.8", @@ -409,85 +411,129 @@ "dev": true, "license": "MIT" }, + "node_modules/@ai-sdk/anthropic": { + "version": "4.0.79", + "resolved": "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-4.0.79.tgz", + "integrity": "sha512-bBAmgc8IcwJDz7RkyIHaGNrN6k84oqZu6K2aYcdekYwab8PNcxvUgp/LG1S/tSU3SBoS+blFYuMjTQrIg8WHRQ==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "4.0.27", + "@ai-sdk/provider-utils": "5.0.59" + }, + "engines": { + "node": ">=22" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/@ai-sdk/gateway": { - "version": "3.0.139", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.139.tgz", - "integrity": "sha512-RFpxyh5j9g7ZMfKxhiwCcF7bGU872o3JvoiIqZbHOM4qkR4RCzeKJF+k+zHomcJYGeUabEbeMXTKNASzz4Toxw==", + "version": "4.0.111", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-4.0.111.tgz", + "integrity": "sha512-+Uq8GgAsEkq3rv1AoYyqpCeHSOXG5ZP7KnsquM8yyIXkn1oBeZbFZvTtNE6gC9Eg1VK34KwImv8NrtB6tfm2wA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.12", - "@ai-sdk/provider-utils": "4.0.33", + "@ai-sdk/provider": "4.0.27", + "@ai-sdk/provider-utils": "5.0.59", "@vercel/oidc": "3.2.0" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/@ai-sdk/mcp": { - "version": "1.0.55", - "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.55.tgz", - "integrity": "sha512-G2QSVjEP1Q9kclhdlfw5m/tV5YH0h+b45n2ANx5GGpCTeA1D0enp68773EWJMflGREhybsUXNmkaC+vLbLEzKg==", + "version": "2.0.74", + "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-2.0.74.tgz", + "integrity": "sha512-GrvM5rkNltQRsjDESieTFBSSNxTqk87gl4fbvU6eQ/osI4Mu7QhumCd6qLpVdqcgKleNlNs0u68HHVEe5hgnRg==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.12", - "@ai-sdk/provider-utils": "4.0.33", - "pkce-challenge": "^5.0.0" + "@ai-sdk/provider": "4.0.27", + "@ai-sdk/provider-utils": "5.0.59", + "cross-spawn": "^7.0.6", + "pkce-challenge": "^5.0.1" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/@ai-sdk/openai": { - "version": "3.0.77", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.77.tgz", - "integrity": "sha512-DK0sGy/9j6KhgSrdhSKplTo3qf5frzGjLNYo9DVloH37L6DT42AxR/26UVCCoTEjR+WdsA9svm+5cT3Aye9NTg==", + "version": "4.0.92", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-4.0.92.tgz", + "integrity": "sha512-py1DdK0t1bvUOkRCJDU5saql95Kyed13Bo41GYVBKkbff2Lh5pHGAeNZBkOsVSQXr+Ah1qJdR/ZYnisoxvoP6Q==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.12", - "@ai-sdk/provider-utils": "4.0.33" + "@ai-sdk/provider": "4.0.27", + "@ai-sdk/provider-utils": "5.0.59" }, "engines": { - "node": ">=18" + "node": ">=22" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@ai-sdk/openai-compatible": { + "version": "3.0.68", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-3.0.68.tgz", + "integrity": "sha512-xnBmn8wJvlRX4BtB2nJTzSoYHHD7OpZwUigwH0oKDzg5HfYx+rNFqOKUMQDUuOClhMyDRMn29q/rzp0M41vgQw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "4.0.27", + "@ai-sdk/provider-utils": "5.0.59" + }, + "engines": { + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "node_modules/@ai-sdk/provider": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.12.tgz", - "integrity": "sha512-sj9DWTJ2Ze0WR9qsiOPqoqzNx3OxL6iMxHImbhvoe9qOspekbzxNDMiJ4TIGfYHYh9w4OmBjz3prvqhzTi96+Q==", + "version": "4.0.27", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-4.0.27.tgz", + "integrity": "sha512-TtWwm6SxFiPomlMIbTQa+yhJte+w4/oCsW+wJrJzMC3MqHpAY9e5dJF1Y4HxyKt3W2Csac0KiI76Ckio11TFYw==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" }, "engines": { - "node": ">=18" + "node": ">=22" } }, "node_modules/@ai-sdk/provider-utils": { - "version": "4.0.33", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.33.tgz", - "integrity": "sha512-nJ0bAfegMAIJtrzMJtbzer1cS3nb7c7DsyU1S4nrPm7ZU0Mn6SBBZv5IGZZGTbpWTJwqKTSPeZJTXalbAxt1BA==", + "version": "5.0.59", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-5.0.59.tgz", + "integrity": "sha512-eaXBTkguxBFzS+KvxGRsbdkX9A7+R1g/C4jWx9mup0oSs3Cx5Mb427/byGpD2XL8SnMYT9O8LmXBmrgo+N3TJw==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.12", + "@ai-sdk/provider": "4.0.27", "@standard-schema/spec": "^1.1.0", - "eventsource-parser": "^3.0.8" + "@workflow/serde": "4.1.0", + "eventsource-parser": "^3.0.8", + "undici": "^7.29.0" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, + "node_modules/@ai-sdk/provider-utils/node_modules/undici": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.0.tgz", + "integrity": "sha512-dkrQXeHSaoamnItlYbmzG0wFYrM0ZwDxCIg0A7aKjTyyhh9svRzCNFEzV+Vm05/yehjCzjDZ31KXfGEjYSztDQ==", + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -2020,13 +2066,13 @@ } }, "node_modules/@deepnote/blocks": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@deepnote/blocks/-/blocks-4.7.0.tgz", - "integrity": "sha512-GW5jIpO2Sr7R2LaokuF8js60FHw4DLk1e4bq6BnMs2QkxGr2QF6JbRONl82V7zEV3iJQesXX+mFuTMWp9jCxPA==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@deepnote/blocks/-/blocks-4.8.1.tgz", + "integrity": "sha512-RWNTvZ4bar31IQ/tSqF2zUwJUCd+KJneZeyHrcixv559t6+WVQweziJUlw2etguTkOxhn7Zmj+MO+/OJkVYk/Q==", "license": "Apache-2.0", "dependencies": { - "ts-dedent": "^2.2.0", - "yaml": "^2.8.3", + "ts-dedent": "^2.3.0", + "yaml": "^2.9.0", "zod": "3.25.76" }, "engines": { @@ -2074,6 +2120,183 @@ "deepnote": "dist/bin.js" } }, + "node_modules/@deepnote/cli/node_modules/@ai-sdk/gateway": { + "version": "3.0.212", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.212.tgz", + "integrity": "sha512-iTJSim/6LuSxiG3RF0FWU7bEQ8dF6EplcWci5Km4Vc8SUcR8vxFuC7T/pfCutW00pI/3WYsHm8RCQ5141/Xykw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57", + "@vercel/oidc": "3.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/cli/node_modules/@ai-sdk/mcp": { + "version": "1.0.93", + "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.93.tgz", + "integrity": "sha512-d+PYwDtcpQ23lRu08LijaNN1KzuJ4nTloHjPl43xdqs10uUmLNxTmyOq7oLSBkdnUgSEzv8y2vuAyBUlNfZGpg==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57", + "cross-spawn": "^7.0.6", + "pkce-challenge": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/cli/node_modules/@ai-sdk/openai": { + "version": "3.0.126", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.126.tgz", + "integrity": "sha512-IHOe6MQgrC22WDUA+rQcfK/H3rUmtgHFRYh/BsnpHzXPyVQyvhymKh5r7fgxQsJ8vVyp+esPpQ7/4fr8hr6Iuw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/cli/node_modules/@ai-sdk/provider": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.18.tgz", + "integrity": "sha512-IpefF5ssZVOZCD4Wu7zxt6PwZoGT2HLVjxpJ10Bjx6EAmRfLYJPjyrfxb0RYDlwvXnDb9nkQ7Do/oJVDuRFzew==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@deepnote/cli/node_modules/@ai-sdk/provider-utils": { + "version": "4.0.57", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.57.tgz", + "integrity": "sha512-89a7sPvZqXsP3PigcAQLWntu/duIVEcN/RyChAB+j6p3C7NwW767sVttvL8r0+BetTg63uAXQoYHCZZueQKBSw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@standard-schema/spec": "^1.1.0", + "eventsource-parser": "^3.0.8", + "undici": "^6.28.0" + }, + "engines": { + "node": ">=18.17" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/cli/node_modules/@deepnote/blocks": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@deepnote/blocks/-/blocks-4.7.0.tgz", + "integrity": "sha512-GW5jIpO2Sr7R2LaokuF8js60FHw4DLk1e4bq6BnMs2QkxGr2QF6JbRONl82V7zEV3iJQesXX+mFuTMWp9jCxPA==", + "license": "Apache-2.0", + "dependencies": { + "ts-dedent": "^2.2.0", + "yaml": "^2.8.3", + "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/cli/node_modules/@deepnote/cloud": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@deepnote/cloud/-/cloud-0.1.0.tgz", + "integrity": "sha512-H71/mTymgYidKKPdEYKsyo4yW4UWWe1x+l7r7WIwxWwMAz9HbR5UZQE5xeKRb2GWDT5ohdAOdQ5a8LtJiMnruw==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/database-integrations": "1.6.0", + "fflate": "^0.8.2", + "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/cli/node_modules/@deepnote/convert": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@deepnote/convert/-/convert-4.0.1.tgz", + "integrity": "sha512-0Kb3SHZyU1rxWb0ynVkxzLEBd3BYkgShYTTFdqMm9rOXF2Bxn5yklxZBMb9SyA4yHqLx9sFv9c/+/X2SLJYDgA==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/blocks": "4.7.0", + "chalk": "^5.6.2", + "cleye": "^2.0.0", + "ora": "^9.0.0", + "yaml": "^2.8.3" + }, + "bin": { + "deepnote-convert": "dist/bin.js" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/cli/node_modules/@deepnote/database-integrations": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@deepnote/database-integrations/-/database-integrations-1.6.0.tgz", + "integrity": "sha512-Xy8Lbo10KNUL6PDW6qXMF0opyKgmbZfV3HKXVPZrBl7IsZnJmTiHPPNd5neGQ3coefsjcs5Kl17o9iPEX2kw2Q==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/blocks": "4.7.0", + "yaml": "^2.8.3", + "zod": "3.25.76" + } + }, + "node_modules/@deepnote/cli/node_modules/@deepnote/runtime-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@deepnote/runtime-core/-/runtime-core-0.5.0.tgz", + "integrity": "sha512-+0Dbs5IhSsRFLg5XZqmr1gKo0GPeMwKNxezhAP6MgYmVECvxb+kHRoI5i4aazRsni/hk8i5AqipyYKYu4TT3Og==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/mcp": "^1.0.25", + "@ai-sdk/openai": "^3.0.0", + "@deepnote/blocks": "4.7.0", + "@jupyterlab/nbformat": "^4.3.2", + "@jupyterlab/services": "^7.3.2", + "ai": "^6.0.0", + "tcp-port-used": "^1.0.2", + "ws": "^8.20.1", + "zod": "3.25.76" + } + }, + "node_modules/@deepnote/cli/node_modules/ai": { + "version": "6.0.304", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.304.tgz", + "integrity": "sha512-xhKVjs+pEGLVZ8mIbkv1UTThsNYnlr7lQRkroKFZDPYqhlPyUHGE+ICQsbAX4wyP0ELjej5/Bhd3a2owIf+UhQ==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/gateway": "3.0.212", + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57", + "@opentelemetry/api": "^1.9.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/@deepnote/cli/node_modules/ansi-regex": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", @@ -2171,6 +2394,27 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@deepnote/cli/node_modules/ws": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz", + "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/@deepnote/cli/node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", @@ -2181,13 +2425,29 @@ } }, "node_modules/@deepnote/cloud": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@deepnote/cloud/-/cloud-0.2.1.tgz", + "integrity": "sha512-o01TEAQ2LxA4/ulWK+9onsqLdd6d9EwLIlD3oMeSLAqH2b+eYSmnbsLWgnFQ5fUpYTpPtinlVlui5pu/LbF3lA==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/database-integrations": "1.7.1", + "fflate": "^0.8.3", + "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/cloud-sync": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@deepnote/cloud/-/cloud-0.1.0.tgz", - "integrity": "sha512-H71/mTymgYidKKPdEYKsyo4yW4UWWe1x+l7r7WIwxWwMAz9HbR5UZQE5xeKRb2GWDT5ohdAOdQ5a8LtJiMnruw==", + "resolved": "https://registry.npmjs.org/@deepnote/cloud-sync/-/cloud-sync-0.1.0.tgz", + "integrity": "sha512-GrN8a8xpnEeM2d8E7y5g4FVWhvZWMhw3JEEta8HW+rHjALrWAPmLp88CvQD1JgSvRn0sL4v6r36Yt8MVDP92AQ==", "license": "Apache-2.0", "dependencies": { - "@deepnote/database-integrations": "1.6.0", - "fflate": "^0.8.2", + "@deepnote/blocks": "4.8.1", + "@deepnote/cloud": "0.2.1", + "@deepnote/database-integrations": "1.7.1", "zod": "3.25.76" }, "engines": { @@ -2195,6 +2455,15 @@ "pnpm": ">=10.17.1" } }, + "node_modules/@deepnote/cloud-sync/node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/@deepnote/cloud/node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", @@ -2205,16 +2474,16 @@ } }, "node_modules/@deepnote/convert": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@deepnote/convert/-/convert-4.0.1.tgz", - "integrity": "sha512-0Kb3SHZyU1rxWb0ynVkxzLEBd3BYkgShYTTFdqMm9rOXF2Bxn5yklxZBMb9SyA4yHqLx9sFv9c/+/X2SLJYDgA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@deepnote/convert/-/convert-4.0.3.tgz", + "integrity": "sha512-uEZxxrUAL4vNrlHdwSV7hOUgdcTMFHJqv1xWmrb8e2QtTpxL1YTACvAkT0ptRxpQN0Km6vagzLMqkNuiJRo21A==", "license": "Apache-2.0", "dependencies": { - "@deepnote/blocks": "4.7.0", + "@deepnote/blocks": "4.8.1", "chalk": "^5.6.2", - "cleye": "^2.0.0", - "ora": "^9.0.0", - "yaml": "^2.8.3" + "cleye": "^2.6.0", + "ora": "^9.4.1", + "yaml": "^2.9.0" }, "bin": { "deepnote-convert": "dist/bin.js" @@ -2225,13 +2494,13 @@ } }, "node_modules/@deepnote/database-integrations": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@deepnote/database-integrations/-/database-integrations-1.6.0.tgz", - "integrity": "sha512-Xy8Lbo10KNUL6PDW6qXMF0opyKgmbZfV3HKXVPZrBl7IsZnJmTiHPPNd5neGQ3coefsjcs5Kl17o9iPEX2kw2Q==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@deepnote/database-integrations/-/database-integrations-1.7.1.tgz", + "integrity": "sha512-GbW+wibPjAd2/1fMOu4PlPdjfCu+aOoUWY6m6aHwCXmexutCoPN5H0U7RcxJB2qiafkEMUmtDwdSvxTqkbvFkA==", "license": "Apache-2.0", "dependencies": { - "@deepnote/blocks": "4.7.0", - "yaml": "^2.8.3", + "@deepnote/blocks": "4.8.1", + "yaml": "^2.9.0", "zod": "3.25.76" } }, @@ -2261,6 +2530,213 @@ "pnpm": ">=10.17.1" } }, + "node_modules/@deepnote/local-runner/node_modules/@ai-sdk/gateway": { + "version": "3.0.212", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.212.tgz", + "integrity": "sha512-iTJSim/6LuSxiG3RF0FWU7bEQ8dF6EplcWci5Km4Vc8SUcR8vxFuC7T/pfCutW00pI/3WYsHm8RCQ5141/Xykw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57", + "@vercel/oidc": "3.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@ai-sdk/mcp": { + "version": "1.0.93", + "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.93.tgz", + "integrity": "sha512-d+PYwDtcpQ23lRu08LijaNN1KzuJ4nTloHjPl43xdqs10uUmLNxTmyOq7oLSBkdnUgSEzv8y2vuAyBUlNfZGpg==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57", + "cross-spawn": "^7.0.6", + "pkce-challenge": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@ai-sdk/openai": { + "version": "3.0.126", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.126.tgz", + "integrity": "sha512-IHOe6MQgrC22WDUA+rQcfK/H3rUmtgHFRYh/BsnpHzXPyVQyvhymKh5r7fgxQsJ8vVyp+esPpQ7/4fr8hr6Iuw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@ai-sdk/provider": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.18.tgz", + "integrity": "sha512-IpefF5ssZVOZCD4Wu7zxt6PwZoGT2HLVjxpJ10Bjx6EAmRfLYJPjyrfxb0RYDlwvXnDb9nkQ7Do/oJVDuRFzew==", + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@ai-sdk/provider-utils": { + "version": "4.0.57", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.57.tgz", + "integrity": "sha512-89a7sPvZqXsP3PigcAQLWntu/duIVEcN/RyChAB+j6p3C7NwW767sVttvL8r0+BetTg63uAXQoYHCZZueQKBSw==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "3.0.18", + "@standard-schema/spec": "^1.1.0", + "eventsource-parser": "^3.0.8", + "undici": "^6.28.0" + }, + "engines": { + "node": ">=18.17" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@deepnote/blocks": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@deepnote/blocks/-/blocks-4.7.0.tgz", + "integrity": "sha512-GW5jIpO2Sr7R2LaokuF8js60FHw4DLk1e4bq6BnMs2QkxGr2QF6JbRONl82V7zEV3iJQesXX+mFuTMWp9jCxPA==", + "license": "Apache-2.0", + "dependencies": { + "ts-dedent": "^2.2.0", + "yaml": "^2.8.3", + "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@deepnote/cloud": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@deepnote/cloud/-/cloud-0.1.0.tgz", + "integrity": "sha512-H71/mTymgYidKKPdEYKsyo4yW4UWWe1x+l7r7WIwxWwMAz9HbR5UZQE5xeKRb2GWDT5ohdAOdQ5a8LtJiMnruw==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/database-integrations": "1.6.0", + "fflate": "^0.8.2", + "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@deepnote/convert": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@deepnote/convert/-/convert-4.0.1.tgz", + "integrity": "sha512-0Kb3SHZyU1rxWb0ynVkxzLEBd3BYkgShYTTFdqMm9rOXF2Bxn5yklxZBMb9SyA4yHqLx9sFv9c/+/X2SLJYDgA==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/blocks": "4.7.0", + "chalk": "^5.6.2", + "cleye": "^2.0.0", + "ora": "^9.0.0", + "yaml": "^2.8.3" + }, + "bin": { + "deepnote-convert": "dist/bin.js" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@deepnote/database-integrations": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@deepnote/database-integrations/-/database-integrations-1.6.0.tgz", + "integrity": "sha512-Xy8Lbo10KNUL6PDW6qXMF0opyKgmbZfV3HKXVPZrBl7IsZnJmTiHPPNd5neGQ3coefsjcs5Kl17o9iPEX2kw2Q==", + "license": "Apache-2.0", + "dependencies": { + "@deepnote/blocks": "4.7.0", + "yaml": "^2.8.3", + "zod": "3.25.76" + } + }, + "node_modules/@deepnote/local-runner/node_modules/@deepnote/runtime-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@deepnote/runtime-core/-/runtime-core-0.5.0.tgz", + "integrity": "sha512-+0Dbs5IhSsRFLg5XZqmr1gKo0GPeMwKNxezhAP6MgYmVECvxb+kHRoI5i4aazRsni/hk8i5AqipyYKYu4TT3Og==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/mcp": "^1.0.25", + "@ai-sdk/openai": "^3.0.0", + "@deepnote/blocks": "4.7.0", + "@jupyterlab/nbformat": "^4.3.2", + "@jupyterlab/services": "^7.3.2", + "ai": "^6.0.0", + "tcp-port-used": "^1.0.2", + "ws": "^8.20.1", + "zod": "3.25.76" + } + }, + "node_modules/@deepnote/local-runner/node_modules/ai": { + "version": "6.0.304", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.304.tgz", + "integrity": "sha512-xhKVjs+pEGLVZ8mIbkv1UTThsNYnlr7lQRkroKFZDPYqhlPyUHGE+ICQsbAX4wyP0ELjej5/Bhd3a2owIf+UhQ==", + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/gateway": "3.0.212", + "@ai-sdk/provider": "3.0.18", + "@ai-sdk/provider-utils": "4.0.57", + "@opentelemetry/api": "^1.9.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@deepnote/local-runner/node_modules/ws": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz", + "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@deepnote/local-runner/node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/@deepnote/reactivity": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@deepnote/reactivity/-/reactivity-1.2.2.tgz", @@ -2271,6 +2747,21 @@ "zod": "3.25.76" } }, + "node_modules/@deepnote/reactivity/node_modules/@deepnote/blocks": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@deepnote/blocks/-/blocks-4.7.0.tgz", + "integrity": "sha512-GW5jIpO2Sr7R2LaokuF8js60FHw4DLk1e4bq6BnMs2QkxGr2QF6JbRONl82V7zEV3iJQesXX+mFuTMWp9jCxPA==", + "license": "Apache-2.0", + "dependencies": { + "ts-dedent": "^2.2.0", + "yaml": "^2.8.3", + "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0", + "pnpm": ">=10.17.1" + } + }, "node_modules/@deepnote/reactivity/node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", @@ -2281,26 +2772,32 @@ } }, "node_modules/@deepnote/runtime-core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@deepnote/runtime-core/-/runtime-core-0.5.0.tgz", - "integrity": "sha512-+0Dbs5IhSsRFLg5XZqmr1gKo0GPeMwKNxezhAP6MgYmVECvxb+kHRoI5i4aazRsni/hk8i5AqipyYKYu4TT3Og==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@deepnote/runtime-core/-/runtime-core-0.7.0.tgz", + "integrity": "sha512-/3kPiDBNUaIsbuh3DWT0SI+8z7UPtaN9PRxEz21Qn8pQBIJD/UzMQDX+RSsXCGZTdSgi7EbrzzVFKr7Kv8/z2Q==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/mcp": "^1.0.25", - "@ai-sdk/openai": "^3.0.0", - "@deepnote/blocks": "4.7.0", - "@jupyterlab/nbformat": "^4.3.2", - "@jupyterlab/services": "^7.3.2", - "ai": "^6.0.0", - "tcp-port-used": "^1.0.2", - "ws": "^8.20.1", + "@ai-sdk/anthropic": "^4.0.76", + "@ai-sdk/mcp": "^2.0.71", + "@ai-sdk/openai": "^4.0.89", + "@ai-sdk/openai-compatible": "^3.0.66", + "@deepnote/blocks": "4.8.1", + "@jupyterlab/nbformat": "^4.6.3", + "@jupyterlab/services": "^7.6.3", + "@lumino/signaling": "^2.1.6", + "ai": "^7.0.133", + "tcp-port-used": "^1.0.3", + "ws": "^8.21.3", "zod": "3.25.76" + }, + "engines": { + "node": ">=22.14.0" } }, "node_modules/@deepnote/runtime-core/node_modules/ws": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", - "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz", + "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -4262,9 +4759,9 @@ } }, "node_modules/@jupyterlab/coreutils": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-6.5.1.tgz", - "integrity": "sha512-E95Zkvd9cTAnaT01iXkOAT2r7i6CYaFEs2e8NNlEnaQYgTB0xhUXRkYeK4tQ2Lc7uImyy3HKWfkkwH+iyc9x0w==", + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-6.6.4.tgz", + "integrity": "sha512-s787EqSgqtwTwhn/oQYOF/uveX4A/A1QlkXw/WD9iYNTfiIfwYtXkVo4uL2VopHWp+17Ikg4OqIbkqOfd/eeMQ==", "license": "BSD-3-Clause", "dependencies": { "@lumino/coreutils": "^2.2.2", @@ -5094,9 +5591,9 @@ "license": "MIT" }, "node_modules/@jupyterlab/nbformat": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@jupyterlab/nbformat/-/nbformat-4.5.1.tgz", - "integrity": "sha512-aVPqZ7ao/RIwfPHNtTWy38J99zSi1/NZWOEfcnsb3Ap6p6HiCPI2LCKHk4SvBLIDzaFD68DesCA+ofac0P0bWw==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@jupyterlab/nbformat/-/nbformat-4.6.4.tgz", + "integrity": "sha512-p0oIcD2Ok4nh6qAxehVNjNjzzlKgkCxF4cNId1mVd0xf/glh+xXLJLhBkel8hI5yqVY07AUuu1izZge2XF6Rcg==", "license": "BSD-3-Clause", "dependencies": { "@lumino/coreutils": "^2.2.2" @@ -5219,16 +5716,16 @@ } }, "node_modules/@jupyterlab/services": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-7.5.1.tgz", - "integrity": "sha512-AwDp5mJHWxhj5E7Nqb49zA+4gMfuEx2pySs7k0ASNpPOpWD7eb5UtzZTAtlhQcY0SBRPWUGhMMMT/J56IgsEFg==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-7.6.4.tgz", + "integrity": "sha512-4phhiMy1vVpSOOtHyWKiBWzIZQ5rEbImgtKnqhR3cWUbZ2TW0Pwow9VFvkwSO0PMdoTcUn+KMIimJimuJdMZiQ==", "license": "BSD-3-Clause", "dependencies": { - "@jupyter/ydoc": "^3.1.0", - "@jupyterlab/coreutils": "^6.5.1", - "@jupyterlab/nbformat": "^4.5.1", - "@jupyterlab/settingregistry": "^4.5.1", - "@jupyterlab/statedb": "^4.5.1", + "@jupyter/ydoc": "^4.0.0", + "@jupyterlab/coreutils": "^6.6.4", + "@jupyterlab/nbformat": "^4.6.4", + "@jupyterlab/settingregistry": "^4.6.4", + "@jupyterlab/statedb": "^4.6.4", "@lumino/coreutils": "^2.2.2", "@lumino/disposable": "^2.1.5", "@lumino/polling": "^2.1.5", @@ -5237,6 +5734,20 @@ "ws": "^8.11.0" } }, + "node_modules/@jupyterlab/services/node_modules/@jupyter/ydoc": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@jupyter/ydoc/-/ydoc-4.1.1.tgz", + "integrity": "sha512-fO6WMy2j+Hu+/SjfLycCQZq2OIPBPJtdgrY02mgaHUAsGJ+THQ9JmVgm/Lbai4x1+npXT663FJwVm7z0zJd3Pw==", + "license": "BSD-3-Clause", + "dependencies": { + "@jupyterlab/nbformat": "^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0", + "@lumino/coreutils": "^1.11.0 || ^2.0.0", + "@lumino/disposable": "^1.10.0 || ^2.0.0", + "@lumino/signaling": "^1.10.0 || ^2.0.0", + "y-protocols": "^1.0.5", + "yjs": "^13.5.40" + } + }, "node_modules/@jupyterlab/services/node_modules/ws": { "version": "7.5.11", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", @@ -5259,13 +5770,13 @@ } }, "node_modules/@jupyterlab/settingregistry": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@jupyterlab/settingregistry/-/settingregistry-4.5.1.tgz", - "integrity": "sha512-3yJ2LUFMI32xV+sRmLAO4ooXUZPbHFkmivTn7dlJqAKO1XCgJJ3OtcEsXefIszTrjA+yj0Th15NL6vSGFgSTAQ==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@jupyterlab/settingregistry/-/settingregistry-4.6.4.tgz", + "integrity": "sha512-g9p7GsRE41lakfRxPKy+jQCD4w4Vvnxk1IGo0YBevcQ4IHsQruknKUXrjX9SHMi87Ncj4JmsuujHWXrdBRknbg==", "license": "BSD-3-Clause", "dependencies": { - "@jupyterlab/nbformat": "^4.5.1", - "@jupyterlab/statedb": "^4.5.1", + "@jupyterlab/nbformat": "^4.6.4", + "@jupyterlab/statedb": "^4.6.4", "@lumino/commands": "^2.3.3", "@lumino/coreutils": "^2.2.2", "@lumino/disposable": "^2.1.5", @@ -5304,9 +5815,9 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/@jupyterlab/statedb": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@jupyterlab/statedb/-/statedb-4.5.1.tgz", - "integrity": "sha512-hyvts9YWOB5UeMWAJ8JJCtLs2mNLvverQUC1lSCENmmIP89lAql/HGE9IJJXb6z+GS8eP9hZVaeC3LheFU51rw==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@jupyterlab/statedb/-/statedb-4.6.4.tgz", + "integrity": "sha512-BBXdGR3ykM5YEbA4B+MW7e31xEUVd3RCKRRZcQZ93BDMEzeukPVcbhDnB3sSk3mRC/KW131jAbdQmqH9SnHweg==", "license": "BSD-3-Clause", "dependencies": { "@lumino/commands": "^2.3.3", @@ -6497,6 +7008,15 @@ "@octokit/openapi-types": "^27.0.0" } }, + "node_modules/@opentelemetry/api": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", + "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/@oxlint-tsgolint/darwin-arm64": { "version": "7.0.2001", "resolved": "https://registry.npmjs.org/@oxlint-tsgolint/darwin-arm64/-/darwin-arm64-7.0.2001.tgz", @@ -10237,6 +10757,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@workflow/serde": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@workflow/serde/-/serde-4.1.0.tgz", + "integrity": "sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==", + "license": "Apache-2.0" + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -10354,32 +10880,22 @@ } }, "node_modules/ai": { - "version": "6.0.214", - "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.214.tgz", - "integrity": "sha512-9MlePEXT5pXtQv4fXqmiR0RG3DZU4Dbv+kU9ktEJC2COi2RH2WvI2GiyG9MuCqgPII6f1w+5kB5fNIiArqPzaQ==", + "version": "7.0.138", + "resolved": "https://registry.npmjs.org/ai/-/ai-7.0.138.tgz", + "integrity": "sha512-rB2grfrM9se2GY/au4e5Eq0xadPM4+a+ip3EZ0ofedIPU8/GETWGjXO6gbzQDA+7nMaZnaUVaX2f+ByAj/LF8w==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "3.0.139", - "@ai-sdk/provider": "3.0.12", - "@ai-sdk/provider-utils": "4.0.33", - "@opentelemetry/api": "^1.9.0" + "@ai-sdk/gateway": "4.0.111", + "@ai-sdk/provider": "4.0.27", + "@ai-sdk/provider-utils": "5.0.59" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, - "node_modules/ai/node_modules/@opentelemetry/api": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", - "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", - "license": "Apache-2.0", - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/ajv": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", @@ -12813,18 +13329,28 @@ } }, "node_modules/cleye": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cleye/-/cleye-2.0.1.tgz", - "integrity": "sha512-c7dha4cG1fF3TZOkzhRyhEvFxHbdVL5AuQ2+xEBB7dR0Y/mhgmuzIdG60+wRUIPyRCPhF17CDbwP+LZ/83PnOg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cleye/-/cleye-2.7.0.tgz", + "integrity": "sha512-vSxO418kPRu+oNh6dit+ZMUQf0fQYifZs/2cP85RQqbMtnlJ0tshkxyiMZlKOhMntct4hgi1GC1DXUS5T/zoxA==", "license": "MIT", "dependencies": { + "ansis": "4.2.0", "terminal-columns": "^2.0.0", - "type-flag": "^4.0.1" + "type-flag": "^4.5.2" }, "funding": { "url": "https://github.com/privatenumber/cleye?sponsor=1" } }, + "node_modules/cleye/node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "license": "ISC", + "engines": { + "node": ">=14" + } + }, "node_modules/cli-cursor": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", @@ -16614,9 +17140,9 @@ } }, "node_modules/eventsource-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", - "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.1.tgz", + "integrity": "sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -19208,11 +19734,12 @@ } }, "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/ipaddr.js": { @@ -19874,7 +20401,8 @@ "node_modules/is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "license": "MIT" }, "node_modules/is-valid-glob": { "version": "1.0.0", @@ -19966,13 +20494,14 @@ } }, "node_modules/is2": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.7.tgz", - "integrity": "sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", + "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" + "ip-regex": "^2.1.0", + "is-url": "^1.2.2" }, "engines": { "node": ">=v0.10.0" @@ -24257,9 +24786,9 @@ } }, "node_modules/ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.4.1.tgz", + "integrity": "sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==", "license": "MIT", "dependencies": { "chalk": "^5.6.2", @@ -24268,9 +24797,8 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.2", + "string-width": "^8.1.0" }, "engines": { "node": ">=20" @@ -28407,9 +28935,9 @@ } }, "node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", "license": "MIT", "engines": { "node": ">=18" @@ -29175,12 +29703,13 @@ "integrity": "sha512-V+uqV66BOQnWxvI6HjDnE4VkInmYZUQ4dgB7gzaDyFyFSK1i1nF/j7DpS9UbQAgV9NaF1XpcyuavnM1qOeiEIg==" }, "node_modules/tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.3.tgz", + "integrity": "sha512-4CEQ3qRJYo+mtEbJ+OoQu3dF4TDkwaO3RDVC4UzP5cpAOIUWwuwPjD7sdxDFFqsMUjsXVVYBMlg/boAaloThMA==", + "license": "MIT", "dependencies": { "debug": "4.3.1", - "is2": "^2.0.6" + "is2": "2.0.1" } }, "node_modules/tcp-port-used/node_modules/debug": { @@ -29622,9 +30151,9 @@ } }, "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.3.0.tgz", + "integrity": "sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==", "license": "MIT", "engines": { "node": ">=6.10" @@ -29776,9 +30305,9 @@ } }, "node_modules/type-flag": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/type-flag/-/type-flag-4.0.2.tgz", - "integrity": "sha512-diALGSg9wBpvowixHbIeCJtXNxUKJHUNR8oE67K9zuPkpBe5FMmg+dpevDWmEwGQDmn/RJD3m7szs6Ssdz5A4w==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/type-flag/-/type-flag-4.5.2.tgz", + "integrity": "sha512-v8O8xoLq3W6eKKYZvlyvk8LI46ryYkfnKrjGVdJzO+1LsxUu1ztvVAKFzQpphKQgS0ucinnbAiEGUbvibQmt/A==", "license": "MIT", "funding": { "url": "https://github.com/privatenumber/type-flag?sponsor=1" @@ -30068,7 +30597,6 @@ "version": "6.29.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.29.0.tgz", "integrity": "sha512-R+RODBqp6i2pPflGdq+xIOUkl+RNfGgHwoinecKu/JCuf2uO06cOKoDbI2P7Dn6KcswdKwrczbU6IYJ6K8X+wg==", - "dev": true, "license": "MIT", "engines": { "node": ">=18.17" diff --git a/package.json b/package.json index 48c82191ad..158521f6c9 100644 --- a/package.json +++ b/package.json @@ -2723,11 +2723,13 @@ }, "dependencies": { "@c4312/evt": "^0.1.1", - "@deepnote/blocks": "^4.6.0", + "@deepnote/blocks": "^4.8.1", "@deepnote/cli": "0.8.0", - "@deepnote/convert": "^4.0.0", - "@deepnote/database-integrations": "^1.5.0", - "@deepnote/runtime-core": "^0.5.0", + "@deepnote/cloud": "0.2.1", + "@deepnote/cloud-sync": "0.1.0", + "@deepnote/convert": "^4.0.3", + "@deepnote/database-integrations": "^1.7.1", + "@deepnote/runtime-core": "^0.7.0", "@deepnote/sql-language-server": "^3.0.1", "@enonic/fnv-plus": "^1.3.0", "@jupyter-widgets/base": "^6.0.8", @@ -2986,9 +2988,6 @@ "@jupyterlab/services": { "ws": "7.5.11" }, - "@deepnote/runtime-core": { - "ws": "8.21.0" - }, "@jupyterlab/filebrowser": { "ws": "8.21.0" }, diff --git a/src/test/mocks/deepnoteRuntimeCore.ts b/src/test/mocks/deepnoteRuntimeCore.ts index 183c6ef6e9..1ed0920579 100644 --- a/src/test/mocks/deepnoteRuntimeCore.ts +++ b/src/test/mocks/deepnoteRuntimeCore.ts @@ -1,5 +1,5 @@ import type { AgentBlock } from '@deepnote/blocks'; -import type { AgentBlockContext, ServerInfo, ServerOptions } from '@deepnote/runtime-core'; +import type { AgentBlockContext, ServerExit, ServerInfo, ServerOptions } from '@deepnote/runtime-core'; import type { ChildProcess } from 'child_process'; /** @@ -60,7 +60,11 @@ export const startServer: RuntimeCore['startServer'] = async (options) => { url: `http://127.0.0.1:${50000 + id}`, jupyterPort: 50000 + id, lspPort: 51000 + id, - process: makeFakeProcess(id) + process: makeFakeProcess(id), + // Never settles: the fake server never exits. + exited: new Promise(() => undefined), + stderrTail: '', + childPids: [] }; };